usr/bin/command000075500000000037147207316110007473 0ustar00#!/bin/sh builtin command "$@" install_lib.py000064400000020315147210141470007414 0ustar00"""distutils.command.install_lib Implements the Distutils 'install_lib' command (install all Python modules).""" import os import importlib.util import sys from distutils.core import Command from distutils.errors import DistutilsOptionError # Extension for Python source files. PYTHON_SOURCE_EXTENSION = ".py" class install_lib(Command): description = "install all Python modules (extensions and pure Python)" # The byte-compilation options are a tad confusing. Here are the # possible scenarios: # 1) no compilation at all (--no-compile --no-optimize) # 2) compile .pyc only (--compile --no-optimize; default) # 3) compile .pyc and "opt-1" .pyc (--compile --optimize) # 4) compile "opt-1" .pyc only (--no-compile --optimize) # 5) compile .pyc and "opt-2" .pyc (--compile --optimize-more) # 6) compile "opt-2" .pyc only (--no-compile --optimize-more) # # The UI for this is two options, 'compile' and 'optimize'. # 'compile' is strictly boolean, and only decides whether to # generate .pyc files. 'optimize' is three-way (0, 1, or 2), and # decides both whether to generate .pyc files and what level of # optimization to use. user_options = [ ('install-dir=', 'd', "directory to install to"), ('build-dir=','b', "build directory (where to install from)"), ('force', 'f', "force installation (overwrite existing files)"), ('compile', 'c', "compile .py to .pyc [default]"), ('no-compile', None, "don't compile .py files"), ('optimize=', 'O', "also compile with optimization: -O1 for \"python -O\", " "-O2 for \"python -OO\", and -O0 to disable [default: -O0]"), ('skip-build', None, "skip the build steps"), ] boolean_options = ['force', 'compile', 'skip-build'] negative_opt = {'no-compile' : 'compile'} def initialize_options(self): # let the 'install' command dictate our installation directory self.install_dir = None self.build_dir = None self.force = 0 self.compile = None self.optimize = None self.skip_build = None def finalize_options(self): # Get all the information we need to install pure Python modules # from the umbrella 'install' command -- build (source) directory, # install (target) directory, and whether to compile .py files. self.set_undefined_options('install', ('build_lib', 'build_dir'), ('install_lib', 'install_dir'), ('force', 'force'), ('compile', 'compile'), ('optimize', 'optimize'), ('skip_build', 'skip_build'), ) if self.compile is None: self.compile = True if self.optimize is None: self.optimize = False if not isinstance(self.optimize, int): try: self.optimize = int(self.optimize) if self.optimize not in (0, 1, 2): raise AssertionError except (ValueError, AssertionError): raise DistutilsOptionError("optimize must be 0, 1, or 2") def run(self): # Make sure we have built everything we need first self.build() # Install everything: simply dump the entire contents of the build # directory to the installation directory (that's the beauty of # having a build directory!) outfiles = self.install() # (Optionally) compile .py to .pyc if outfiles is not None and self.distribution.has_pure_modules(): self.byte_compile(outfiles) # -- Top-level worker functions ------------------------------------ # (called from 'run()') def build(self): if not self.skip_build: if self.distribution.has_pure_modules(): self.run_command('build_py') if self.distribution.has_ext_modules(): self.run_command('build_ext') def install(self): if os.path.isdir(self.build_dir): outfiles = self.copy_tree(self.build_dir, self.install_dir) else: self.warn("'%s' does not exist -- no Python modules to install" % self.build_dir) return return outfiles def byte_compile(self, files): if sys.dont_write_bytecode: self.warn('byte-compiling is disabled, skipping.') return from distutils.util import byte_compile # Get the "--root" directory supplied to the "install" command, # and use it as a prefix to strip off the purported filename # encoded in bytecode files. This is far from complete, but it # should at least generate usable bytecode in RPM distributions. install_root = self.get_finalized_command('install').root if self.compile: byte_compile(files, optimize=0, force=self.force, prefix=install_root, dry_run=self.dry_run) if self.optimize > 0: byte_compile(files, optimize=self.optimize, force=self.force, prefix=install_root, verbose=self.verbose, dry_run=self.dry_run) # -- Utility methods ----------------------------------------------- def _mutate_outputs(self, has_any, build_cmd, cmd_option, output_dir): if not has_any: return [] build_cmd = self.get_finalized_command(build_cmd) build_files = build_cmd.get_outputs() build_dir = getattr(build_cmd, cmd_option) prefix_len = len(build_dir) + len(os.sep) outputs = [] for file in build_files: outputs.append(os.path.join(output_dir, file[prefix_len:])) return outputs def _bytecode_filenames(self, py_filenames): bytecode_files = [] for py_file in py_filenames: # Since build_py handles package data installation, the # list of outputs can contain more than just .py files. # Make sure we only report bytecode for the .py files. ext = os.path.splitext(os.path.normcase(py_file))[1] if ext != PYTHON_SOURCE_EXTENSION: continue if self.compile: bytecode_files.append(importlib.util.cache_from_source( py_file, optimization='')) if self.optimize > 0: bytecode_files.append(importlib.util.cache_from_source( py_file, optimization=self.optimize)) return bytecode_files # -- External interface -------------------------------------------- # (called by outsiders) def get_outputs(self): """Return the list of files that would be installed if this command were actually run. Not affected by the "dry-run" flag or whether modules have actually been built yet. """ pure_outputs = \ self._mutate_outputs(self.distribution.has_pure_modules(), 'build_py', 'build_lib', self.install_dir) if self.compile: bytecode_outputs = self._bytecode_filenames(pure_outputs) else: bytecode_outputs = [] ext_outputs = \ self._mutate_outputs(self.distribution.has_ext_modules(), 'build_ext', 'build_lib', self.install_dir) return pure_outputs + bytecode_outputs + ext_outputs def get_inputs(self): """Get the list of files that are input to this command, ie. the files that get installed as they are named in the build tree. The files in this list correspond one-to-one to the output filenames returned by 'get_outputs()'. """ inputs = [] if self.distribution.has_pure_modules(): build_py = self.get_finalized_command('build_py') inputs.extend(build_py.get_outputs()) if self.distribution.has_ext_modules(): build_ext = self.get_finalized_command('build_ext') inputs.extend(build_ext.get_outputs()) return inputs __init__.py000064400000001437147210141470006663 0ustar00"""distutils.command Package containing implementation of all the standard Distutils commands.""" __all__ = ['build', 'build_py', 'build_ext', 'build_clib', 'build_scripts', 'clean', 'install', 'install_lib', 'install_headers', 'install_scripts', 'install_data', 'sdist', 'register', 'bdist', 'bdist_dumb', 'bdist_rpm', 'bdist_wininst', 'check', 'upload', # These two are reserved for future use: #'bdist_sdux', #'bdist_pkgtool', # Note: # bdist_packager is not included because it only provides # an abstract base class ] setopt.py000064400000011714147210141470006441 0ustar00import distutils, os from setuptools import Command from distutils.util import convert_path from distutils import log from distutils.errors import * __all__ = ['config_file', 'edit_config', 'option_base', 'setopt'] def config_file(kind="local"): """Get the filename of the distutils, local, global, or per-user config `kind` must be one of "local", "global", or "user" """ if kind=='local': return 'setup.cfg' if kind=='global': return os.path.join( os.path.dirname(distutils.__file__),'distutils.cfg' ) if kind=='user': dot = os.name=='posix' and '.' or '' return os.path.expanduser(convert_path("~/%spydistutils.cfg" % dot)) raise ValueError( "config_file() type must be 'local', 'global', or 'user'", kind ) def edit_config(filename, settings, dry_run=False): """Edit a configuration file to include `settings` `settings` is a dictionary of dictionaries or ``None`` values, keyed by command/section name. A ``None`` value means to delete the entire section, while a dictionary lists settings to be changed or deleted in that section. A setting of ``None`` means to delete that setting. """ from setuptools.compat import ConfigParser log.debug("Reading configuration from %s", filename) opts = ConfigParser.RawConfigParser() opts.read([filename]) for section, options in settings.items(): if options is None: log.info("Deleting section [%s] from %s", section, filename) opts.remove_section(section) else: if not opts.has_section(section): log.debug("Adding new section [%s] to %s", section, filename) opts.add_section(section) for option,value in options.items(): if value is None: log.debug("Deleting %s.%s from %s", section, option, filename ) opts.remove_option(section,option) if not opts.options(section): log.info("Deleting empty [%s] section from %s", section, filename) opts.remove_section(section) else: log.debug( "Setting %s.%s to %r in %s", section, option, value, filename ) opts.set(section,option,value) log.info("Writing %s", filename) if not dry_run: f = open(filename,'w'); opts.write(f); f.close() class option_base(Command): """Abstract base class for commands that mess with config files""" user_options = [ ('global-config', 'g', "save options to the site-wide distutils.cfg file"), ('user-config', 'u', "save options to the current user's pydistutils.cfg file"), ('filename=', 'f', "configuration file to use (default=setup.cfg)"), ] boolean_options = [ 'global-config', 'user-config', ] def initialize_options(self): self.global_config = None self.user_config = None self.filename = None def finalize_options(self): filenames = [] if self.global_config: filenames.append(config_file('global')) if self.user_config: filenames.append(config_file('user')) if self.filename is not None: filenames.append(self.filename) if not filenames: filenames.append(config_file('local')) if len(filenames)>1: raise DistutilsOptionError( "Must specify only one configuration file option", filenames ) self.filename, = filenames class setopt(option_base): """Save command-line options to a file""" description = "set an option in setup.cfg or another config file" user_options = [ ('command=', 'c', 'command to set an option for'), ('option=', 'o', 'option to set'), ('set-value=', 's', 'value of the option'), ('remove', 'r', 'remove (unset) the value'), ] + option_base.user_options boolean_options = option_base.boolean_options + ['remove'] def initialize_options(self): option_base.initialize_options(self) self.command = None self.option = None self.set_value = None self.remove = None def finalize_options(self): option_base.finalize_options(self) if self.command is None or self.option is None: raise DistutilsOptionError("Must specify --command *and* --option") if self.set_value is None and not self.remove: raise DistutilsOptionError("Must specify --set-value or --remove") def run(self): edit_config( self.filename, { self.command: {self.option.replace('-','_'):self.set_value} }, self.dry_run ) test.py000064400000013454147210141470006105 0ustar00from setuptools import Command from distutils.errors import DistutilsOptionError import sys from pkg_resources import * from pkg_resources import _namespace_packages from unittest import TestLoader, main class ScanningLoader(TestLoader): def loadTestsFromModule(self, module): """Return a suite of all tests cases contained in the given module If the module is a package, load tests from all the modules in it. If the module has an ``additional_tests`` function, call it and add the return value to the tests. """ tests = [] if module.__name__!='setuptools.tests.doctest': # ugh tests.append(TestLoader.loadTestsFromModule(self,module)) if hasattr(module, "additional_tests"): tests.append(module.additional_tests()) if hasattr(module, '__path__'): for file in resource_listdir(module.__name__, ''): if file.endswith('.py') and file!='__init__.py': submodule = module.__name__+'.'+file[:-3] else: if resource_exists( module.__name__, file+'/__init__.py' ): submodule = module.__name__+'.'+file else: continue tests.append(self.loadTestsFromName(submodule)) if len(tests)!=1: return self.suiteClass(tests) else: return tests[0] # don't create a nested suite for only one return class test(Command): """Command to run unit tests after in-place build""" description = "run unit tests after in-place build" user_options = [ ('test-module=','m', "Run 'test_suite' in specified module"), ('test-suite=','s', "Test suite to run (e.g. 'some_module.test_suite')"), ] def initialize_options(self): self.test_suite = None self.test_module = None self.test_loader = None def finalize_options(self): if self.test_suite is None: if self.test_module is None: self.test_suite = self.distribution.test_suite else: self.test_suite = self.test_module+".test_suite" elif self.test_module: raise DistutilsOptionError( "You may specify a module or a suite, but not both" ) self.test_args = [self.test_suite] if self.verbose: self.test_args.insert(0,'--verbose') if self.test_loader is None: self.test_loader = getattr(self.distribution,'test_loader',None) if self.test_loader is None: self.test_loader = "setuptools.command.test:ScanningLoader" def with_project_on_sys_path(self, func): if sys.version_info >= (3,) and getattr(self.distribution, 'use_2to3', False): # If we run 2to3 we can not do this inplace: # Ensure metadata is up-to-date self.reinitialize_command('build_py', inplace=0) self.run_command('build_py') bpy_cmd = self.get_finalized_command("build_py") build_path = normalize_path(bpy_cmd.build_lib) # Build extensions self.reinitialize_command('egg_info', egg_base=build_path) self.run_command('egg_info') self.reinitialize_command('build_ext', inplace=0) self.run_command('build_ext') else: # Without 2to3 inplace works fine: self.run_command('egg_info') # Build extensions in-place self.reinitialize_command('build_ext', inplace=1) self.run_command('build_ext') ei_cmd = self.get_finalized_command("egg_info") old_path = sys.path[:] old_modules = sys.modules.copy() try: sys.path.insert(0, normalize_path(ei_cmd.egg_base)) working_set.__init__() add_activation_listener(lambda dist: dist.activate()) require('%s==%s' % (ei_cmd.egg_name, ei_cmd.egg_version)) func() finally: sys.path[:] = old_path sys.modules.clear() sys.modules.update(old_modules) working_set.__init__() def run(self): if self.distribution.install_requires: self.distribution.fetch_build_eggs(self.distribution.install_requires) if self.distribution.tests_require: self.distribution.fetch_build_eggs(self.distribution.tests_require) if self.test_suite: cmd = ' '.join(self.test_args) if self.dry_run: self.announce('skipping "unittest %s" (dry run)' % cmd) else: self.announce('running "unittest %s"' % cmd) self.with_project_on_sys_path(self.run_tests) def run_tests(self): import unittest # Purge modules under test from sys.modules. The test loader will # re-import them from the build location. Required when 2to3 is used # with namespace packages. if sys.version_info >= (3,) and getattr(self.distribution, 'use_2to3', False): module = self.test_args[-1].split('.')[0] if module in _namespace_packages: del_modules = [] if module in sys.modules: del_modules.append(module) module += '.' for name in sys.modules: if name.startswith(module): del_modules.append(name) list(map(sys.modules.__delitem__, del_modules)) loader_ep = EntryPoint.parse("x="+self.test_loader) loader_class = loader_ep.load(require=False) cks = loader_class() unittest.main( None, None, [unittest.__file__]+self.test_args, testLoader = cks ) install_egg_info.py000064400000005053147210141470010425 0ustar00"""distutils.command.install_egg_info Implements the Distutils 'install_egg_info' command, for installing a package's PKG-INFO metadata.""" from distutils.cmd import Command from distutils import log, dir_util import os, sys, re class install_egg_info(Command): """Install an .egg-info file for the package""" description = "Install package's PKG-INFO metadata as an .egg-info file" user_options = [ ('install-dir=', 'd', "directory to install to"), ] def initialize_options(self): self.install_dir = None def finalize_options(self): self.set_undefined_options('install_lib',('install_dir','install_dir')) basename = "%s-%s-py%d.%d.egg-info" % ( to_filename(safe_name(self.distribution.get_name())), to_filename(safe_version(self.distribution.get_version())), *sys.version_info[:2] ) self.target = os.path.join(self.install_dir, basename) self.outputs = [self.target] def run(self): target = self.target if os.path.isdir(target) and not os.path.islink(target): dir_util.remove_tree(target, dry_run=self.dry_run) elif os.path.exists(target): self.execute(os.unlink,(self.target,),"Removing "+target) elif not os.path.isdir(self.install_dir): self.execute(os.makedirs, (self.install_dir,), "Creating "+self.install_dir) log.info("Writing %s", target) if not self.dry_run: with open(target, 'w', encoding='UTF-8') as f: self.distribution.metadata.write_pkg_file(f) def get_outputs(self): return self.outputs # The following routines are taken from setuptools' pkg_resources module and # can be replaced by importing them from pkg_resources once it is included # in the stdlib. def safe_name(name): """Convert an arbitrary string to a standard distribution name Any runs of non-alphanumeric/. characters are replaced with a single '-'. """ return re.sub('[^A-Za-z0-9.]+', '-', name) def safe_version(version): """Convert an arbitrary string to a standard version string Spaces become dots, and all other non-alphanumeric characters become dashes, with runs of multiple dashes condensed to a single dash. """ version = version.replace(' ','.') return re.sub('[^A-Za-z0-9.]+', '-', version) def to_filename(name): """Convert a project or version name to its filename-escaped form Any '-' characters are currently replaced with '_'. """ return name.replace('-','_') upload.py000064400000015531147210141470006410 0ustar00""" distutils.command.upload Implements the Distutils 'upload' subcommand (upload package to a package index). """ import os import io import platform import hashlib from base64 import standard_b64encode from urllib.request import urlopen, Request, HTTPError from urllib.parse import urlparse from distutils.errors import DistutilsError, DistutilsOptionError from distutils.core import PyPIRCCommand from distutils.spawn import spawn from distutils import log class upload(PyPIRCCommand): description = "upload binary package to PyPI" user_options = PyPIRCCommand.user_options + [ ('sign', 's', 'sign files to upload using gpg'), ('identity=', 'i', 'GPG identity used to sign files'), ] boolean_options = PyPIRCCommand.boolean_options + ['sign'] def initialize_options(self): PyPIRCCommand.initialize_options(self) self.username = '' self.password = '' self.show_response = 0 self.sign = False self.identity = None def finalize_options(self): PyPIRCCommand.finalize_options(self) if self.identity and not self.sign: raise DistutilsOptionError( "Must use --sign for --identity to have meaning" ) config = self._read_pypirc() if config != {}: self.username = config['username'] self.password = config['password'] self.repository = config['repository'] self.realm = config['realm'] # getting the password from the distribution # if previously set by the register command if not self.password and self.distribution.password: self.password = self.distribution.password def run(self): if not self.distribution.dist_files: msg = ("Must create and upload files in one command " "(e.g. setup.py sdist upload)") raise DistutilsOptionError(msg) for command, pyversion, filename in self.distribution.dist_files: self.upload_file(command, pyversion, filename) def upload_file(self, command, pyversion, filename): # Makes sure the repository URL is compliant schema, netloc, url, params, query, fragments = \ urlparse(self.repository) if params or query or fragments: raise AssertionError("Incompatible url %s" % self.repository) if schema not in ('http', 'https'): raise AssertionError("unsupported schema " + schema) # Sign if requested if self.sign: gpg_args = ["gpg", "--detach-sign", "-a", filename] if self.identity: gpg_args[2:2] = ["--local-user", self.identity] spawn(gpg_args, dry_run=self.dry_run) # Fill in the data - send all the meta-data in case we need to # register a new release f = open(filename,'rb') try: content = f.read() finally: f.close() meta = self.distribution.metadata data = { # action ':action': 'file_upload', 'protocol_version': '1', # identify release 'name': meta.get_name(), 'version': meta.get_version(), # file content 'content': (os.path.basename(filename),content), 'filetype': command, 'pyversion': pyversion, 'md5_digest': hashlib.md5(content).hexdigest(), # additional meta-data 'metadata_version': '1.0', 'summary': meta.get_description(), 'home_page': meta.get_url(), 'author': meta.get_contact(), 'author_email': meta.get_contact_email(), 'license': meta.get_licence(), 'description': meta.get_long_description(), 'keywords': meta.get_keywords(), 'platform': meta.get_platforms(), 'classifiers': meta.get_classifiers(), 'download_url': meta.get_download_url(), # PEP 314 'provides': meta.get_provides(), 'requires': meta.get_requires(), 'obsoletes': meta.get_obsoletes(), } data['comment'] = '' if self.sign: with open(filename + ".asc", "rb") as f: data['gpg_signature'] = (os.path.basename(filename) + ".asc", f.read()) # set up the authentication user_pass = (self.username + ":" + self.password).encode('ascii') # The exact encoding of the authentication string is debated. # Anyway PyPI only accepts ascii for both username or password. auth = "Basic " + standard_b64encode(user_pass).decode('ascii') # Build up the MIME payload for the POST data boundary = '--------------GHSKFJDLGDS7543FJKLFHRE75642756743254' sep_boundary = b'\r\n--' + boundary.encode('ascii') end_boundary = sep_boundary + b'--\r\n' body = io.BytesIO() for key, value in data.items(): title = '\r\nContent-Disposition: form-data; name="%s"' % key # handle multiple entries for the same name if not isinstance(value, list): value = [value] for value in value: if type(value) is tuple: title += '; filename="%s"' % value[0] value = value[1] else: value = str(value).encode('utf-8') body.write(sep_boundary) body.write(title.encode('utf-8')) body.write(b"\r\n\r\n") body.write(value) body.write(end_boundary) body = body.getvalue() msg = "Submitting %s to %s" % (filename, self.repository) self.announce(msg, log.INFO) # build the Request headers = { 'Content-type': 'multipart/form-data; boundary=%s' % boundary, 'Content-length': str(len(body)), 'Authorization': auth, } request = Request(self.repository, data=body, headers=headers) # send the data try: result = urlopen(request) status = result.getcode() reason = result.msg except HTTPError as e: status = e.code reason = e.msg except OSError as e: self.announce(str(e), log.ERROR) raise if status == 200: self.announce('Server response (%s): %s' % (status, reason), log.INFO) if self.show_response: text = self._read_pypi_response(result) msg = '\n'.join(('-' * 75, text, '-' * 75)) self.announce(msg, log.INFO) else: msg = 'Upload failed (%s): %s' % (status, reason) self.announce(msg, log.ERROR) raise DistutilsError(msg) build_ext.py000064400000075520147210141470007107 0ustar00"""distutils.command.build_ext Implements the Distutils 'build_ext' command, for building extension modules (currently limited to C extensions, should accommodate C++ extensions ASAP).""" import contextlib import os import re import sys from distutils.core import Command from distutils.errors import * from distutils.sysconfig import customize_compiler, get_python_version from distutils.sysconfig import get_config_h_filename from distutils.dep_util import newer_group from distutils.extension import Extension from distutils.util import get_platform from distutils import log from site import USER_BASE # An extension name is just a dot-separated list of Python NAMEs (ie. # the same as a fully-qualified module name). extension_name_re = re.compile \ (r'^[a-zA-Z_][a-zA-Z_0-9]*(\.[a-zA-Z_][a-zA-Z_0-9]*)*$') def show_compilers (): from distutils.ccompiler import show_compilers show_compilers() class build_ext(Command): description = "build C/C++ extensions (compile/link to build directory)" # XXX thoughts on how to deal with complex command-line options like # these, i.e. how to make it so fancy_getopt can suck them off the # command line and make it look like setup.py defined the appropriate # lists of tuples of what-have-you. # - each command needs a callback to process its command-line options # - Command.__init__() needs access to its share of the whole # command line (must ultimately come from # Distribution.parse_command_line()) # - it then calls the current command class' option-parsing # callback to deal with weird options like -D, which have to # parse the option text and churn out some custom data # structure # - that data structure (in this case, a list of 2-tuples) # will then be present in the command object by the time # we get to finalize_options() (i.e. the constructor # takes care of both command-line and client options # in between initialize_options() and finalize_options()) sep_by = " (separated by '%s')" % os.pathsep user_options = [ ('build-lib=', 'b', "directory for compiled extension modules"), ('build-temp=', 't', "directory for temporary files (build by-products)"), ('plat-name=', 'p', "platform name to cross-compile for, if supported " "(default: %s)" % get_platform()), ('inplace', 'i', "ignore build-lib and put compiled extensions into the source " + "directory alongside your pure Python modules"), ('include-dirs=', 'I', "list of directories to search for header files" + sep_by), ('define=', 'D', "C preprocessor macros to define"), ('undef=', 'U', "C preprocessor macros to undefine"), ('libraries=', 'l', "external C libraries to link with"), ('library-dirs=', 'L', "directories to search for external C libraries" + sep_by), ('rpath=', 'R', "directories to search for shared C libraries at runtime"), ('link-objects=', 'O', "extra explicit link objects to include in the link"), ('debug', 'g', "compile/link with debugging information"), ('force', 'f', "forcibly build everything (ignore file timestamps)"), ('compiler=', 'c', "specify the compiler type"), ('parallel=', 'j', "number of parallel build jobs"), ('swig-cpp', None, "make SWIG create C++ files (default is C)"), ('swig-opts=', None, "list of SWIG command line options"), ('swig=', None, "path to the SWIG executable"), ('user', None, "add user include, library and rpath") ] boolean_options = ['inplace', 'debug', 'force', 'swig-cpp', 'user'] help_options = [ ('help-compiler', None, "list available compilers", show_compilers), ] def initialize_options(self): self.extensions = None self.build_lib = None self.plat_name = None self.build_temp = None self.inplace = 0 self.package = None self.include_dirs = None self.define = None self.undef = None self.libraries = None self.library_dirs = None self.rpath = None self.link_objects = None self.debug = None self.force = None self.compiler = None self.swig = None self.swig_cpp = None self.swig_opts = None self.user = None self.parallel = None def finalize_options(self): from distutils import sysconfig self.set_undefined_options('build', ('build_lib', 'build_lib'), ('build_temp', 'build_temp'), ('compiler', 'compiler'), ('debug', 'debug'), ('force', 'force'), ('parallel', 'parallel'), ('plat_name', 'plat_name'), ) if self.package is None: self.package = self.distribution.ext_package self.extensions = self.distribution.ext_modules # Make sure Python's include directories (for Python.h, pyconfig.h, # etc.) are in the include search path. py_include = sysconfig.get_python_inc() plat_py_include = sysconfig.get_python_inc(plat_specific=1) if self.include_dirs is None: self.include_dirs = self.distribution.include_dirs or [] if isinstance(self.include_dirs, str): self.include_dirs = self.include_dirs.split(os.pathsep) # If in a virtualenv, add its include directory # Issue 16116 if sys.exec_prefix != sys.base_exec_prefix: self.include_dirs.append(os.path.join(sys.exec_prefix, 'include')) # Put the Python "system" include dir at the end, so that # any local include dirs take precedence. self.include_dirs.extend(py_include.split(os.path.pathsep)) if plat_py_include != py_include: self.include_dirs.extend( plat_py_include.split(os.path.pathsep)) self.ensure_string_list('libraries') self.ensure_string_list('link_objects') # Life is easier if we're not forever checking for None, so # simplify these options to empty lists if unset if self.libraries is None: self.libraries = [] if self.library_dirs is None: self.library_dirs = [] elif isinstance(self.library_dirs, str): self.library_dirs = self.library_dirs.split(os.pathsep) if self.rpath is None: self.rpath = [] elif isinstance(self.rpath, str): self.rpath = self.rpath.split(os.pathsep) # for extensions under windows use different directories # for Release and Debug builds. # also Python's library directory must be appended to library_dirs if os.name == 'nt': # the 'libs' directory is for binary installs - we assume that # must be the *native* platform. But we don't really support # cross-compiling via a binary install anyway, so we let it go. self.library_dirs.append(os.path.join(sys.exec_prefix, 'libs')) if sys.base_exec_prefix != sys.prefix: # Issue 16116 self.library_dirs.append(os.path.join(sys.base_exec_prefix, 'libs')) if self.debug: self.build_temp = os.path.join(self.build_temp, "Debug") else: self.build_temp = os.path.join(self.build_temp, "Release") # Append the source distribution include and library directories, # this allows distutils on windows to work in the source tree self.include_dirs.append(os.path.dirname(get_config_h_filename())) _sys_home = getattr(sys, '_home', None) if _sys_home: self.library_dirs.append(_sys_home) # Use the .lib files for the correct architecture if self.plat_name == 'win32': suffix = 'win32' else: # win-amd64 suffix = self.plat_name[4:] new_lib = os.path.join(sys.exec_prefix, 'PCbuild') if suffix: new_lib = os.path.join(new_lib, suffix) self.library_dirs.append(new_lib) # For extensions under Cygwin, Python's library directory must be # appended to library_dirs if sys.platform[:6] == 'cygwin': if sys.executable.startswith(os.path.join(sys.exec_prefix, "bin")): # building third party extensions self.library_dirs.append(os.path.join(sys.prefix, "lib", "python" + get_python_version(), "config")) else: # building python standard extensions self.library_dirs.append('.') # For building extensions with a shared Python library, # Python's library directory must be appended to library_dirs # See Issues: #1600860, #4366 if (sysconfig.get_config_var('Py_ENABLE_SHARED')): if not sysconfig.python_build: # building third party extensions self.library_dirs.append(sysconfig.get_config_var('LIBDIR')) else: # building python standard extensions self.library_dirs.append('.') # The argument parsing will result in self.define being a string, but # it has to be a list of 2-tuples. All the preprocessor symbols # specified by the 'define' option will be set to '1'. Multiple # symbols can be separated with commas. if self.define: defines = self.define.split(',') self.define = [(symbol, '1') for symbol in defines] # The option for macros to undefine is also a string from the # option parsing, but has to be a list. Multiple symbols can also # be separated with commas here. if self.undef: self.undef = self.undef.split(',') if self.swig_opts is None: self.swig_opts = [] else: self.swig_opts = self.swig_opts.split(' ') # Finally add the user include and library directories if requested if self.user: user_include = os.path.join(USER_BASE, "include") user_lib = os.path.join(USER_BASE, "lib") if os.path.isdir(user_include): self.include_dirs.append(user_include) if os.path.isdir(user_lib): self.library_dirs.append(user_lib) self.rpath.append(user_lib) if isinstance(self.parallel, str): try: self.parallel = int(self.parallel) except ValueError: raise DistutilsOptionError("parallel should be an integer") def run(self): from distutils.ccompiler import new_compiler # 'self.extensions', as supplied by setup.py, is a list of # Extension instances. See the documentation for Extension (in # distutils.extension) for details. # # For backwards compatibility with Distutils 0.8.2 and earlier, we # also allow the 'extensions' list to be a list of tuples: # (ext_name, build_info) # where build_info is a dictionary containing everything that # Extension instances do except the name, with a few things being # differently named. We convert these 2-tuples to Extension # instances as needed. if not self.extensions: return # If we were asked to build any C/C++ libraries, make sure that the # directory where we put them is in the library search path for # linking extensions. if self.distribution.has_c_libraries(): build_clib = self.get_finalized_command('build_clib') self.libraries.extend(build_clib.get_library_names() or []) self.library_dirs.append(build_clib.build_clib) # Setup the CCompiler object that we'll use to do all the # compiling and linking self.compiler = new_compiler(compiler=self.compiler, verbose=self.verbose, dry_run=self.dry_run, force=self.force) customize_compiler(self.compiler) # If we are cross-compiling, init the compiler now (if we are not # cross-compiling, init would not hurt, but people may rely on # late initialization of compiler even if they shouldn't...) if os.name == 'nt' and self.plat_name != get_platform(): self.compiler.initialize(self.plat_name) # And make sure that any compile/link-related options (which might # come from the command-line or from the setup script) are set in # that CCompiler object -- that way, they automatically apply to # all compiling and linking done here. if self.include_dirs is not None: self.compiler.set_include_dirs(self.include_dirs) if self.define is not None: # 'define' option is a list of (name,value) tuples for (name, value) in self.define: self.compiler.define_macro(name, value) if self.undef is not None: for macro in self.undef: self.compiler.undefine_macro(macro) if self.libraries is not None: self.compiler.set_libraries(self.libraries) if self.library_dirs is not None: self.compiler.set_library_dirs(self.library_dirs) if self.rpath is not None: self.compiler.set_runtime_library_dirs(self.rpath) if self.link_objects is not None: self.compiler.set_link_objects(self.link_objects) # Now actually compile and link everything. self.build_extensions() def check_extensions_list(self, extensions): """Ensure that the list of extensions (presumably provided as a command option 'extensions') is valid, i.e. it is a list of Extension objects. We also support the old-style list of 2-tuples, where the tuples are (ext_name, build_info), which are converted to Extension instances here. Raise DistutilsSetupError if the structure is invalid anywhere; just returns otherwise. """ if not isinstance(extensions, list): raise DistutilsSetupError( "'ext_modules' option must be a list of Extension instances") for i, ext in enumerate(extensions): if isinstance(ext, Extension): continue # OK! (assume type-checking done # by Extension constructor) if not isinstance(ext, tuple) or len(ext) != 2: raise DistutilsSetupError( "each element of 'ext_modules' option must be an " "Extension instance or 2-tuple") ext_name, build_info = ext log.warn("old-style (ext_name, build_info) tuple found in " "ext_modules for extension '%s' " "-- please convert to Extension instance", ext_name) if not (isinstance(ext_name, str) and extension_name_re.match(ext_name)): raise DistutilsSetupError( "first element of each tuple in 'ext_modules' " "must be the extension name (a string)") if not isinstance(build_info, dict): raise DistutilsSetupError( "second element of each tuple in 'ext_modules' " "must be a dictionary (build info)") # OK, the (ext_name, build_info) dict is type-safe: convert it # to an Extension instance. ext = Extension(ext_name, build_info['sources']) # Easy stuff: one-to-one mapping from dict elements to # instance attributes. for key in ('include_dirs', 'library_dirs', 'libraries', 'extra_objects', 'extra_compile_args', 'extra_link_args'): val = build_info.get(key) if val is not None: setattr(ext, key, val) # Medium-easy stuff: same syntax/semantics, different names. ext.runtime_library_dirs = build_info.get('rpath') if 'def_file' in build_info: log.warn("'def_file' element of build info dict " "no longer supported") # Non-trivial stuff: 'macros' split into 'define_macros' # and 'undef_macros'. macros = build_info.get('macros') if macros: ext.define_macros = [] ext.undef_macros = [] for macro in macros: if not (isinstance(macro, tuple) and len(macro) in (1, 2)): raise DistutilsSetupError( "'macros' element of build info dict " "must be 1- or 2-tuple") if len(macro) == 1: ext.undef_macros.append(macro[0]) elif len(macro) == 2: ext.define_macros.append(macro) extensions[i] = ext def get_source_files(self): self.check_extensions_list(self.extensions) filenames = [] # Wouldn't it be neat if we knew the names of header files too... for ext in self.extensions: filenames.extend(ext.sources) return filenames def get_outputs(self): # Sanity check the 'extensions' list -- can't assume this is being # done in the same run as a 'build_extensions()' call (in fact, we # can probably assume that it *isn't*!). self.check_extensions_list(self.extensions) # And build the list of output (built) filenames. Note that this # ignores the 'inplace' flag, and assumes everything goes in the # "build" tree. outputs = [] for ext in self.extensions: outputs.append(self.get_ext_fullpath(ext.name)) return outputs def build_extensions(self): # First, sanity-check the 'extensions' list self.check_extensions_list(self.extensions) if self.parallel: self._build_extensions_parallel() else: self._build_extensions_serial() def _build_extensions_parallel(self): workers = self.parallel if self.parallel is True: workers = os.cpu_count() # may return None try: from concurrent.futures import ThreadPoolExecutor except ImportError: workers = None if workers is None: self._build_extensions_serial() return with ThreadPoolExecutor(max_workers=workers) as executor: futures = [executor.submit(self.build_extension, ext) for ext in self.extensions] for ext, fut in zip(self.extensions, futures): with self._filter_build_errors(ext): fut.result() def _build_extensions_serial(self): for ext in self.extensions: with self._filter_build_errors(ext): self.build_extension(ext) @contextlib.contextmanager def _filter_build_errors(self, ext): try: yield except (CCompilerError, DistutilsError, CompileError) as e: if not ext.optional: raise self.warn('building extension "%s" failed: %s' % (ext.name, e)) def build_extension(self, ext): sources = ext.sources if sources is None or not isinstance(sources, (list, tuple)): raise DistutilsSetupError( "in 'ext_modules' option (extension '%s'), " "'sources' must be present and must be " "a list of source filenames" % ext.name) sources = list(sources) ext_path = self.get_ext_fullpath(ext.name) depends = sources + ext.depends if not (self.force or newer_group(depends, ext_path, 'newer')): log.debug("skipping '%s' extension (up-to-date)", ext.name) return else: log.info("building '%s' extension", ext.name) # First, scan the sources for SWIG definition files (.i), run # SWIG on 'em to create .c files, and modify the sources list # accordingly. sources = self.swig_sources(sources, ext) # Next, compile the source code to object files. # XXX not honouring 'define_macros' or 'undef_macros' -- the # CCompiler API needs to change to accommodate this, and I # want to do one thing at a time! # Two possible sources for extra compiler arguments: # - 'extra_compile_args' in Extension object # - CFLAGS environment variable (not particularly # elegant, but people seem to expect it and I # guess it's useful) # The environment variable should take precedence, and # any sensible compiler will give precedence to later # command line args. Hence we combine them in order: extra_args = ext.extra_compile_args or [] macros = ext.define_macros[:] for undef in ext.undef_macros: macros.append((undef,)) objects = self.compiler.compile(sources, output_dir=self.build_temp, macros=macros, include_dirs=ext.include_dirs, debug=self.debug, extra_postargs=extra_args, depends=ext.depends) # XXX outdated variable, kept here in case third-part code # needs it. self._built_objects = objects[:] # Now link the object files together into a "shared object" -- # of course, first we have to figure out all the other things # that go into the mix. if ext.extra_objects: objects.extend(ext.extra_objects) extra_args = ext.extra_link_args or [] # Detect target language, if not provided language = ext.language or self.compiler.detect_language(sources) self.compiler.link_shared_object( objects, ext_path, libraries=self.get_libraries(ext), library_dirs=ext.library_dirs, runtime_library_dirs=ext.runtime_library_dirs, extra_postargs=extra_args, export_symbols=self.get_export_symbols(ext), debug=self.debug, build_temp=self.build_temp, target_lang=language) def swig_sources(self, sources, extension): """Walk the list of source files in 'sources', looking for SWIG interface (.i) files. Run SWIG on all that are found, and return a modified 'sources' list with SWIG source files replaced by the generated C (or C++) files. """ new_sources = [] swig_sources = [] swig_targets = {} # XXX this drops generated C/C++ files into the source tree, which # is fine for developers who want to distribute the generated # source -- but there should be an option to put SWIG output in # the temp dir. if self.swig_cpp: log.warn("--swig-cpp is deprecated - use --swig-opts=-c++") if self.swig_cpp or ('-c++' in self.swig_opts) or \ ('-c++' in extension.swig_opts): target_ext = '.cpp' else: target_ext = '.c' for source in sources: (base, ext) = os.path.splitext(source) if ext == ".i": # SWIG interface file new_sources.append(base + '_wrap' + target_ext) swig_sources.append(source) swig_targets[source] = new_sources[-1] else: new_sources.append(source) if not swig_sources: return new_sources swig = self.swig or self.find_swig() swig_cmd = [swig, "-python"] swig_cmd.extend(self.swig_opts) if self.swig_cpp: swig_cmd.append("-c++") # Do not override commandline arguments if not self.swig_opts: for o in extension.swig_opts: swig_cmd.append(o) for source in swig_sources: target = swig_targets[source] log.info("swigging %s to %s", source, target) self.spawn(swig_cmd + ["-o", target, source]) return new_sources def find_swig(self): """Return the name of the SWIG executable. On Unix, this is just "swig" -- it should be in the PATH. Tries a bit harder on Windows. """ if os.name == "posix": return "swig" elif os.name == "nt": # Look for SWIG in its standard installation directory on # Windows (or so I presume!). If we find it there, great; # if not, act like Unix and assume it's in the PATH. for vers in ("1.3", "1.2", "1.1"): fn = os.path.join("c:\\swig%s" % vers, "swig.exe") if os.path.isfile(fn): return fn else: return "swig.exe" else: raise DistutilsPlatformError( "I don't know how to find (much less run) SWIG " "on platform '%s'" % os.name) # -- Name generators ----------------------------------------------- # (extension names, filenames, whatever) def get_ext_fullpath(self, ext_name): """Returns the path of the filename for a given extension. The file is located in `build_lib` or directly in the package (inplace option). """ fullname = self.get_ext_fullname(ext_name) modpath = fullname.split('.') filename = self.get_ext_filename(modpath[-1]) if not self.inplace: # no further work needed # returning : # build_dir/package/path/filename filename = os.path.join(*modpath[:-1]+[filename]) return os.path.join(self.build_lib, filename) # the inplace option requires to find the package directory # using the build_py command for that package = '.'.join(modpath[0:-1]) build_py = self.get_finalized_command('build_py') package_dir = os.path.abspath(build_py.get_package_dir(package)) # returning # package_dir/filename return os.path.join(package_dir, filename) def get_ext_fullname(self, ext_name): """Returns the fullname of a given extension name. Adds the `package.` prefix""" if self.package is None: return ext_name else: return self.package + '.' + ext_name def get_ext_filename(self, ext_name): r"""Convert the name of an extension (eg. "foo.bar") into the name of the file from which it will be loaded (eg. "foo/bar.so", or "foo\bar.pyd"). """ from distutils.sysconfig import get_config_var ext_path = ext_name.split('.') ext_suffix = get_config_var('EXT_SUFFIX') return os.path.join(*ext_path) + ext_suffix def get_export_symbols(self, ext): """Return the list of symbols that a shared extension has to export. This either uses 'ext.export_symbols' or, if it's not provided, "PyInit_" + module_name. Only relevant on Windows, where the .pyd file (DLL) must export the module "PyInit_" function. """ suffix = '_' + ext.name.split('.')[-1] try: # Unicode module name support as defined in PEP-489 # https://www.python.org/dev/peps/pep-0489/#export-hook-name suffix.encode('ascii') except UnicodeEncodeError: suffix = 'U' + suffix.encode('punycode').replace(b'-', b'_').decode('ascii') initfunc_name = "PyInit" + suffix if initfunc_name not in ext.export_symbols: ext.export_symbols.append(initfunc_name) return ext.export_symbols def get_libraries(self, ext): """Return the list of libraries to link against when building a shared extension. On most platforms, this is just 'ext.libraries'; on Windows, we add the Python library (eg. python20.dll). """ # The python library is always needed on Windows. For MSVC, this # is redundant, since the library is mentioned in a pragma in # pyconfig.h that MSVC groks. The other Windows compilers all seem # to need it mentioned explicitly, though, so that's what we do. # Append '_d' to the python import library on debug builds. if sys.platform == "win32": from distutils._msvccompiler import MSVCCompiler if not isinstance(self.compiler, MSVCCompiler): template = "python%d%d" if self.debug: template = template + '_d' pythonlib = (template % (sys.hexversion >> 24, (sys.hexversion >> 16) & 0xff)) # don't extend ext.libraries, it may be shared with other # extensions, it is a reference to the original list return ext.libraries + [pythonlib] else: # On Android only the main executable and LD_PRELOADs are considered # to be RTLD_GLOBAL, all the dependencies of the main executable # remain RTLD_LOCAL and so the shared libraries must be linked with # libpython when python is built with a shared python library (issue # bpo-21536). # On Cygwin (and if required, other POSIX-like platforms based on # Windows like MinGW) it is simply necessary that all symbols in # shared libraries are resolved at link time. from distutils.sysconfig import get_config_var link_libpython = False if get_config_var('Py_ENABLE_SHARED'): # A native build on an Android device or on Cygwin if hasattr(sys, 'getandroidapilevel'): link_libpython = True elif sys.platform == 'cygwin': link_libpython = True elif '_PYTHON_HOST_PLATFORM' in os.environ: # We are cross-compiling for one of the relevant platforms if get_config_var('ANDROID_API_LEVEL') != 0: link_libpython = True elif get_config_var('MACHDEP') == 'cygwin': link_libpython = True if link_libpython: ldversion = get_config_var('LDVERSION') return ext.libraries + ['python' + ldversion] return ext.libraries egg_info.py000064400000036660147210141470006707 0ustar00"""setuptools.command.egg_info Create a distribution's .egg-info directory and contents""" # This module should be kept compatible with Python 2.3 import os, re, sys from setuptools import Command from distutils.errors import * from distutils import log from setuptools.command.sdist import sdist from setuptools.compat import basestring from distutils.util import convert_path from distutils.filelist import FileList as _FileList from pkg_resources import parse_requirements, safe_name, parse_version, \ safe_version, yield_lines, EntryPoint, iter_entry_points, to_filename from setuptools.command.sdist import walk_revctrl class egg_info(Command): description = "create a distribution's .egg-info directory" user_options = [ ('egg-base=', 'e', "directory containing .egg-info directories" " (default: top of the source tree)"), ('tag-svn-revision', 'r', "Add subversion revision ID to version number"), ('tag-date', 'd', "Add date stamp (e.g. 20050528) to version number"), ('tag-build=', 'b', "Specify explicit tag to add to version number"), ('no-svn-revision', 'R', "Don't add subversion revision ID [default]"), ('no-date', 'D', "Don't include date stamp [default]"), ] boolean_options = ['tag-date', 'tag-svn-revision'] negative_opt = {'no-svn-revision': 'tag-svn-revision', 'no-date': 'tag-date'} def initialize_options(self): self.egg_name = None self.egg_version = None self.egg_base = None self.egg_info = None self.tag_build = None self.tag_svn_revision = 0 self.tag_date = 0 self.broken_egg_info = False self.vtags = None def save_version_info(self, filename): from setuptools.command.setopt import edit_config edit_config( filename, {'egg_info': {'tag_svn_revision':0, 'tag_date': 0, 'tag_build': self.tags()} } ) def finalize_options (self): self.egg_name = safe_name(self.distribution.get_name()) self.vtags = self.tags() self.egg_version = self.tagged_version() try: list( parse_requirements('%s==%s' % (self.egg_name,self.egg_version)) ) except ValueError: raise DistutilsOptionError( "Invalid distribution name or version syntax: %s-%s" % (self.egg_name,self.egg_version) ) if self.egg_base is None: dirs = self.distribution.package_dir self.egg_base = (dirs or {}).get('',os.curdir) self.ensure_dirname('egg_base') self.egg_info = to_filename(self.egg_name)+'.egg-info' if self.egg_base != os.curdir: self.egg_info = os.path.join(self.egg_base, self.egg_info) if '-' in self.egg_name: self.check_broken_egg_info() # Set package version for the benefit of dumber commands # (e.g. sdist, bdist_wininst, etc.) # self.distribution.metadata.version = self.egg_version # If we bootstrapped around the lack of a PKG-INFO, as might be the # case in a fresh checkout, make sure that any special tags get added # to the version info # pd = self.distribution._patched_dist if pd is not None and pd.key==self.egg_name.lower(): pd._version = self.egg_version pd._parsed_version = parse_version(self.egg_version) self.distribution._patched_dist = None def write_or_delete_file(self, what, filename, data, force=False): """Write `data` to `filename` or delete if empty If `data` is non-empty, this routine is the same as ``write_file()``. If `data` is empty but not ``None``, this is the same as calling ``delete_file(filename)`. If `data` is ``None``, then this is a no-op unless `filename` exists, in which case a warning is issued about the orphaned file (if `force` is false), or deleted (if `force` is true). """ if data: self.write_file(what, filename, data) elif os.path.exists(filename): if data is None and not force: log.warn( "%s not set in setup(), but %s exists", what, filename ) return else: self.delete_file(filename) def write_file(self, what, filename, data): """Write `data` to `filename` (if not a dry run) after announcing it `what` is used in a log message to identify what is being written to the file. """ log.info("writing %s to %s", what, filename) if sys.version_info >= (3,): data = data.encode("utf-8") if not self.dry_run: f = open(filename, 'wb') f.write(data) f.close() def delete_file(self, filename): """Delete `filename` (if not a dry run) after announcing it""" log.info("deleting %s", filename) if not self.dry_run: os.unlink(filename) def tagged_version(self): version = self.distribution.get_version() # egg_info may be called more than once for a distribution, # in which case the version string already contains all tags. if self.vtags and version.endswith(self.vtags): return safe_version(version) return safe_version(version + self.vtags) def run(self): self.mkpath(self.egg_info) installer = self.distribution.fetch_build_egg for ep in iter_entry_points('egg_info.writers'): writer = ep.load(installer=installer) writer(self, ep.name, os.path.join(self.egg_info,ep.name)) # Get rid of native_libs.txt if it was put there by older bdist_egg nl = os.path.join(self.egg_info, "native_libs.txt") if os.path.exists(nl): self.delete_file(nl) self.find_sources() def tags(self): version = '' if self.tag_build: version+=self.tag_build if self.tag_svn_revision and ( os.path.exists('.svn') or os.path.exists('PKG-INFO') ): version += '-r%s' % self.get_svn_revision() if self.tag_date: import time; version += time.strftime("-%Y%m%d") return version @staticmethod def get_svn_revision(): revision = 0 urlre = re.compile('url="([^"]+)"') revre = re.compile('committed-rev="(\d+)"') for base,dirs,files in os.walk(os.curdir): if '.svn' not in dirs: dirs[:] = [] continue # no sense walking uncontrolled subdirs dirs.remove('.svn') f = open(os.path.join(base,'.svn','entries')) data = f.read() f.close() if data.startswith('9 and d[9]]+[0]) if base==os.curdir: base_url = dirurl+'/' # save the root url elif not dirurl.startswith(base_url): dirs[:] = [] continue # not part of the same svn tree, skip it revision = max(revision, localrev) return str(revision or get_pkg_info_revision()) def find_sources(self): """Generate SOURCES.txt manifest file""" manifest_filename = os.path.join(self.egg_info,"SOURCES.txt") mm = manifest_maker(self.distribution) mm.manifest = manifest_filename mm.run() self.filelist = mm.filelist def check_broken_egg_info(self): bei = self.egg_name+'.egg-info' if self.egg_base != os.curdir: bei = os.path.join(self.egg_base, bei) if os.path.exists(bei): log.warn( "-"*78+'\n' "Note: Your current .egg-info directory has a '-' in its name;" '\nthis will not work correctly with "setup.py develop".\n\n' 'Please rename %s to %s to correct this problem.\n'+'-'*78, bei, self.egg_info ) self.broken_egg_info = self.egg_info self.egg_info = bei # make it work for now class FileList(_FileList): """File list that accepts only existing, platform-independent paths""" def append(self, item): if item.endswith('\r'): # Fix older sdists built on Windows item = item[:-1] path = convert_path(item) if sys.version_info >= (3,): try: if os.path.exists(path) or os.path.exists(path.encode('utf-8')): self.files.append(path) except UnicodeEncodeError: # Accept UTF-8 filenames even if LANG=C if os.path.exists(path.encode('utf-8')): self.files.append(path) else: log.warn("'%s' not %s encodable -- skipping", path, sys.getfilesystemencoding()) else: if os.path.exists(path): self.files.append(path) class manifest_maker(sdist): template = "MANIFEST.in" def initialize_options (self): self.use_defaults = 1 self.prune = 1 self.manifest_only = 1 self.force_manifest = 1 def finalize_options(self): pass def run(self): self.filelist = FileList() if not os.path.exists(self.manifest): self.write_manifest() # it must exist so it'll get in the list self.filelist.findall() self.add_defaults() if os.path.exists(self.template): self.read_template() self.prune_file_list() self.filelist.sort() self.filelist.remove_duplicates() self.write_manifest() def write_manifest (self): """Write the file list in 'self.filelist' (presumably as filled in by 'add_defaults()' and 'read_template()') to the manifest file named by 'self.manifest'. """ # The manifest must be UTF-8 encodable. See #303. if sys.version_info >= (3,): files = [] for file in self.filelist.files: try: file.encode("utf-8") except UnicodeEncodeError: log.warn("'%s' not UTF-8 encodable -- skipping" % file) else: files.append(file) self.filelist.files = files files = self.filelist.files if os.sep!='/': files = [f.replace(os.sep,'/') for f in files] self.execute(write_file, (self.manifest, files), "writing manifest file '%s'" % self.manifest) def warn(self, msg): # suppress missing-file warnings from sdist if not msg.startswith("standard file not found:"): sdist.warn(self, msg) def add_defaults(self): sdist.add_defaults(self) self.filelist.append(self.template) self.filelist.append(self.manifest) rcfiles = list(walk_revctrl()) if rcfiles: self.filelist.extend(rcfiles) elif os.path.exists(self.manifest): self.read_manifest() ei_cmd = self.get_finalized_command('egg_info') self.filelist.include_pattern("*", prefix=ei_cmd.egg_info) def prune_file_list (self): build = self.get_finalized_command('build') base_dir = self.distribution.get_fullname() self.filelist.exclude_pattern(None, prefix=build.build_base) self.filelist.exclude_pattern(None, prefix=base_dir) sep = re.escape(os.sep) self.filelist.exclude_pattern(sep+r'(RCS|CVS|\.svn)'+sep, is_regex=1) def write_file (filename, contents): """Create a file with the specified name and write 'contents' (a sequence of strings without line terminators) to it. """ contents = "\n".join(contents) if sys.version_info >= (3,): contents = contents.encode("utf-8") f = open(filename, "wb") # always write POSIX-style manifest f.write(contents) f.close() def write_pkg_info(cmd, basename, filename): log.info("writing %s", filename) if not cmd.dry_run: metadata = cmd.distribution.metadata metadata.version, oldver = cmd.egg_version, metadata.version metadata.name, oldname = cmd.egg_name, metadata.name try: # write unescaped data to PKG-INFO, so older pkg_resources # can still parse it metadata.write_pkg_info(cmd.egg_info) finally: metadata.name, metadata.version = oldname, oldver safe = getattr(cmd.distribution,'zip_safe',None) from setuptools.command import bdist_egg bdist_egg.write_safety_flag(cmd.egg_info, safe) def warn_depends_obsolete(cmd, basename, filename): if os.path.exists(filename): log.warn( "WARNING: 'depends.txt' is not used by setuptools 0.6!\n" "Use the install_requires/extras_require setup() args instead." ) def write_requirements(cmd, basename, filename): dist = cmd.distribution data = ['\n'.join(yield_lines(dist.install_requires or ()))] for extra,reqs in (dist.extras_require or {}).items(): data.append('\n\n[%s]\n%s' % (extra, '\n'.join(yield_lines(reqs)))) cmd.write_or_delete_file("requirements", filename, ''.join(data)) def write_toplevel_names(cmd, basename, filename): pkgs = dict.fromkeys( [k.split('.',1)[0] for k in cmd.distribution.iter_distribution_names() ] ) cmd.write_file("top-level names", filename, '\n'.join(pkgs)+'\n') def overwrite_arg(cmd, basename, filename): write_arg(cmd, basename, filename, True) def write_arg(cmd, basename, filename, force=False): argname = os.path.splitext(basename)[0] value = getattr(cmd.distribution, argname, None) if value is not None: value = '\n'.join(value)+'\n' cmd.write_or_delete_file(argname, filename, value, force) def write_entries(cmd, basename, filename): ep = cmd.distribution.entry_points if isinstance(ep,basestring) or ep is None: data = ep elif ep is not None: data = [] for section, contents in ep.items(): if not isinstance(contents,basestring): contents = EntryPoint.parse_group(section, contents) contents = '\n'.join(map(str,contents.values())) data.append('[%s]\n%s\n\n' % (section,contents)) data = ''.join(data) cmd.write_or_delete_file('entry points', filename, data, True) def get_pkg_info_revision(): # See if we can get a -r### off of PKG-INFO, in case this is an sdist of # a subversion revision # if os.path.exists('PKG-INFO'): f = open('PKG-INFO','rU') for line in f: match = re.match(r"Version:.*-r(\d+)\s*$", line) if match: return int(match.group(1)) f.close() return 0 # __pycache__/bdist_wininst.cpython-36.opt-1.pyc000064400000020111147210141470015215 0ustar003 /f<@spdZddlZddlZddlmZddlmZddlmZm Z ddl Tddl m Z ddl mZGd d d eZdS) zzdistutils.command.bdist_wininst Implements the Distutils 'bdist_wininst' command: create a windows installer exe-program.N)Command) get_platform) create_tree remove_tree)*)get_python_version)logc@seZdZdZdZd5dddefd7d9d:d;dd?d@dAdBg Zd dddgZd'd(Zd)d*Z d+d,Z d-d.Z dCd/d0Z d1d2Z d3d4ZdS)D bdist_wininstTz-create an executable installer for MS Windows bdist-dir=N1temporary directory for creating the distributionz plat-name=pz;platform name to embed in generated filenames (default: %s) keep-tempkz/keep the pseudo-installation tree around after z!creating the distribution archivetarget-version=z!require a specific python versionz on the target systemno-target-compilec/do not compile .py to .pyc on the target systemno-target-optimizeo;do not compile .py to .pyo (optimized) on the target system dist-dir=d-directory to put final built distributions inbitmap=b>bitmap to use for the installer instead of python-powered logotitle=t?title to display on the installer background instead of default skip-build2skip rebuilding everything (for testing/debugging)install-script=Ubasename of installation script to be run after installation or before deinstallationpre-install-script={Fully qualified filename of a script to be run before any files are installed. This script need not be in the distributionuser-access-control=specify Vista's UAC handling - 'none'/default=no handling, 'auto'=use UAC if target Python installed for all users, 'force'=always use UACcCsRd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ d|_ dS)Nr) bdist_dir plat_name keep_tempno_target_compileno_target_optimizetarget_versiondist_dirbitmaptitle skip_buildinstall_scriptpre_install_scriptuser_access_control)selfr5%/usr/lib64/python3.6/bdist_wininst.pyinitialize_options<sz bdist_wininst.initialize_optionscCs|jdd |jdkrR|jr6|jr6|jjd}|j|_|jdj}tj j |d|_|j s^d|_ |j r|jj rt }|j r|j |krtd|f||_ |jdd d |jrx2|jjD]}|jtj j|krPqWtd|jdS) Nbdistr0ZwininstzMtarget version can only be %s, or the '--skip-build' option must be specifiedr-r(z(install_script '%s' not found in scripts)r0r0)r-r-)r(r()Zset_undefined_optionsr'r0r( distributionZget_command_objget_finalized_command bdist_baseospathjoinr,has_ext_modulesrZDistutilsOptionErrorr1scriptsbasename)r4r8r<Z short_versionscriptr5r5r6finalize_optionsLs4      zbdist_wininst.finalize_optionsc Cstjdkr&|jjs|jjr&td|js6|jd|jddd}|j |_ |j|_d|_ |j |_ |jd}d|_ d|_|jjr|j}|sd tjdd }d |j |f}|jd}tjj|jd ||_x4dD],}|j}|dkr|d}t|d||qWtjd|j |jtjjdtjj|j d|jtjd=ddlm}|} |jj } |j!| d|j d} |j"| | |j#|jjrt$} nd} |jj%j&d| |j'| ftj(d| tj)| |j*st+|j |j,ddS)Nwin32z^distribution contains extensions and/or C libraries; must be compiled on a Windows 32 platformbuildinstall)Zreinit_subcommandsr install_libz%d.%dz.%s-%slibpurelibplatlibheadersrAdataz/Include/$dist_nameZinstall_zinstalling to %sZPURELIB)mktempzip)Zroot_diranyr zremoving temporary file '%s')dry_run)rLrMrNrArO)-sysplatformr:r@Zhas_c_librariesZDistutilsPlatformErrorr0Z run_commandZreinitialize_commandr'rootZwarn_dirr(compileoptimizer, version_infor;r=r>r?Z build_baseZ build_libuppersetattrrinfoZensure_finalizedinsertrunZtempfilerP get_fullnameZ make_archive create_exer.rZ dist_filesappendget_installer_filenamedebugremover)rrS) r4rGrIr,Zplat_specifierrFkeyvaluerPZarchive_basenamefullnamearcnameZ pyversionr5r5r6r^rsd                  zbdist_wininst.runc Cs`g}|jj}|jd|jpdd}dd}xJdD]B}t||d}|r2|d|j||f}|jd|||fq2W|jd|jr|jd|j|jd|||jd|j |jd|j |j r|jd|j |j r|jd|j |j p |jj }|jd||ddl }ddl} d|j|j | jf} |jd| dj|S)Nz [metadata]r9 cSs |jddS)Nriz\n)replace)sr5r5r6escapesz)bdist_wininst.get_inidata..escapeauthor author_email description maintainermaintainer_emailnameurlversionz %s: %sz%s=%sz [Setup]zinstall_script=%szinfo=%sztarget_compile=%dztarget_optimize=%dztarget_version=%szuser_access_control=%sztitle=%srzBuilt %s with distutils-%sz build_info=%s)rmrnrorprqrrrsrt)r:metadataraZlong_descriptiongetattr capitalizer1r*r+r,r3r/r_time distutilsZctime __version__r?) r4linesrur\rlrrrOr/rxryZ build_infor5r5r6 get_inidatas<   zbdist_wininst.get_inidatac Csddl}|j|j|j}|j|}|jd||rPt|dj}t|}nd}t|d} | j |j |rz| j |t |t r|j d}|d}|jrt|jddd } | jj d} WdQRX|| d }n|d}| j ||jd d t||} | j | | j t|djdS) Nrz creating %srbwbmbcsrzlatin-1)encodings zr?r-r()r4rgrr5r5r6rb&s  z$bdist_wininst.get_installer_filenamec Cs t}|jrl|j|krl|jdkr&d}q|jdkr6d}q|jdkrFd}q|jdkrVd}q|jdkrfd }qd }n@yd d lm}Wntk rd }YnX|jd d }|d}tjjt }|j dkr|j dddkr|j dd}nd}tjj |d||f}t |d}z|j S|jXdS)Nz2.4z6.0z7.1z2.5z8.0z3.2z9.0z3.4z10.0z14.0r)CRT_ASSEMBLY_VERSION.z.0rEwinr9zwininst-%s%s.exer})rr,Zmsvcrtr ImportError partitionr=r>dirname__file__r(r?rrclose) r4Z cur_versionZbvrmajorZ directoryZsfixfilenamefr5r5r6r3s8         zbdist_wininst.get_exe_bytes)r Nr Pkeep the pseudo-installation tree around after creating the distribution archive)r rr6require a specific python version on the target system)rNr)rrr)rrr)rrr)rrr)rrr)rNr )r!Nr")r#Nr$)r%Nr&)N)__name__ __module__ __qualname__Z _unsupportedrorZ user_optionsZboolean_optionsr7rDr^r|r`rbrr5r5r5r6r sP&Q. 5 r )__doc__rTr=Zdistutils.corerZdistutils.utilrZdistutils.dir_utilrrZdistutils.errorsZdistutils.sysconfigrryrr r5r5r5r6s    __pycache__/install_egg_info.cpython-36.opt-1.pyc000064400000005627147210141470015657 0ustar003 \+ @sddZddlmZddlmZmZddlZddlZddlZGdddeZ ddZ d d Z d d Z dS) zdistutils.command.install_egg_info Implements the Distutils 'install_egg_info' command, for installing a package's PKG-INFO metadata.)Command)logdir_utilNc@s:eZdZdZdZdgZddZdd Zd d Zd d Z dS)install_egg_infoz)Install an .egg-info file for the packagez8Install package's PKG-INFO metadata as an .egg-info file install-dir=ddirectory to install tocCs d|_dS)N) install_dir)selfr (/usr/lib64/python3.6/install_egg_info.pyinitialize_optionssz#install_egg_info.initialize_optionscCsb|jdddtt|jjtt|jjftjdd}t j j |j ||_ |j g|_dS)NZ install_libr z%s-%s-py%d.%d.egg-info)r r )Zset_undefined_options to_filename safe_name distributionZget_name safe_versionZ get_versionsys version_infoospathjoinr targetoutputs)r basenamer r r finalize_optionss z!install_egg_info.finalize_optionsc Cs|j}tjj|r2tjj| r2tj||jdnNtjj|rX|j tj |jfd|n(tjj|j s|j tj |j fd|j t jd||jst|ddd}|jjj|WdQRXdS)N)dry_runz Removing z Creating z Writing %swzUTF-8)encoding)rrrisdirislinkrZ remove_treerexistsZexecuteunlinkr makedirsrinfoopenrZmetadataZwrite_pkg_file)r rfr r r run s   zinstall_egg_info.runcCs|jS)N)r)r r r r get_outputs.szinstall_egg_info.get_outputsN)rrr) __name__ __module__ __qualname____doc__ descriptionZ user_optionsr rr'r(r r r r r s rcCstjdd|S)zConvert an arbitrary string to a standard distribution name Any runs of non-alphanumeric/. characters are replaced with a single '-'. z[^A-Za-z0-9.]+-)resub)namer r r r6srcCs|jdd}tjdd|S)zConvert an arbitrary string to a standard version string Spaces become dots, and all other non-alphanumeric characters become dashes, with runs of multiple dashes condensed to a single dash.  .z[^A-Za-z0-9.]+r.)replacer/r0)versionr r r r>s rcCs |jddS)z|Convert a project or version name to its filename-escaped form Any '-' characters are currently replaced with '_'. r._)r4)r1r r r rHsr) r,Z distutils.cmdrZ distutilsrrrrr/rrrrr r r r s + __pycache__/alias.cpython-36.opt-1.pyc000064400000004465147210141470013444 0ustar003 K]z @sPddlmZddlmZddlmZmZmZddZGdddeZ dd Z d S) )DistutilsOptionError)map) edit_config option_base config_filecCs8xdD]}||krt|SqW|j|gkr4t|S|S)z4Quote an argument for later parsing by shlex.split()"'\#)rrr r )reprsplit)argcr/usr/lib/python3.6/alias.pyshquotes   rc@sHeZdZdZdZdZdgejZejdgZddZ d d Z d d Z d S)aliasz3Define a shortcut that invokes one or more commandsz0define a shortcut to invoke one or more commandsTremoverremove (unset) the aliascCstj|d|_d|_dS)N)rinitialize_optionsargsr)selfrrrrs zalias.initialize_optionscCs*tj||jr&t|jdkr&tddS)NzFMust specify exactly one argument (the alias name) when using --remove)rfinalize_optionsrlenrr)rrrrr#s zalias.finalize_optionscCs|jjd}|jsDtdtdx|D]}tdt||q(WdSt|jdkr|j\}|jrfd}q||krtdt||dStd|dSn$|jd}djtt |jdd}t |j d||ii|j dS) NaliaseszCommand Aliasesz---------------zsetup.py aliasrz No alias definition found for %rr ) Z distributionZget_option_dictrprint format_aliasrrjoinrrrfilenameZdry_run)rrrcommandrrrrun+s&    z alias.runN)rrr) __name__ __module__ __qualname____doc__ descriptionZcommand_consumes_argumentsrZ user_optionsZboolean_optionsrrr#rrrrrs rcCsZ||\}}|tdkrd}n,|tdkr0d}n|tdkrBd}nd|}||d|S) Nglobalz--global-config userz--user-config Zlocalz --filename=%rr)r)namersourcer"rrrrFs    rN) Zdistutils.errorsrZsetuptools.extern.six.movesrZsetuptools.command.setoptrrrrrrrrrrs   4__pycache__/alias.cpython-36.pyc000064400000004465147210141470012505 0ustar003 K]z @sPddlmZddlmZddlmZmZmZddZGdddeZ dd Z d S) )DistutilsOptionError)map) edit_config option_base config_filecCs8xdD]}||krt|SqW|j|gkr4t|S|S)z4Quote an argument for later parsing by shlex.split()"'\#)rrr r )reprsplit)argcr/usr/lib/python3.6/alias.pyshquotes   rc@sHeZdZdZdZdZdgejZejdgZddZ d d Z d d Z d S)aliasz3Define a shortcut that invokes one or more commandsz0define a shortcut to invoke one or more commandsTremoverremove (unset) the aliascCstj|d|_d|_dS)N)rinitialize_optionsargsr)selfrrrrs zalias.initialize_optionscCs*tj||jr&t|jdkr&tddS)NzFMust specify exactly one argument (the alias name) when using --remove)rfinalize_optionsrlenrr)rrrrr#s zalias.finalize_optionscCs|jjd}|jsDtdtdx|D]}tdt||q(WdSt|jdkr|j\}|jrfd}q||krtdt||dStd|dSn$|jd}djtt |jdd}t |j d||ii|j dS) NaliaseszCommand Aliasesz---------------zsetup.py aliasrz No alias definition found for %rr ) Z distributionZget_option_dictrprint format_aliasrrjoinrrrfilenameZdry_run)rrrcommandrrrrun+s&    z alias.runN)rrr) __name__ __module__ __qualname____doc__ descriptionZcommand_consumes_argumentsrZ user_optionsZboolean_optionsrrr#rrrrrs rcCsZ||\}}|tdkrd}n,|tdkr0d}n|tdkrBd}nd|}||d|S) Nglobalz--global-config userz--user-config Zlocalz --filename=%rr)r)namersourcer"rrrrFs    rN) Zdistutils.errorsrZsetuptools.extern.six.movesrZsetuptools.command.setoptrrrrrrrrrrs   4__pycache__/py36compat.cpython-36.pyc000064400000010703147210141470013411 0ustar003 K]z@sdddlZddlmZddlmZddlmZddlmZGdddZe ejdr`Gd ddZdS) N)glob) convert_path)sdist)filterc@s\eZdZdZddZeddZddZdd Zd d Z d d Z ddZ ddZ ddZ dS)sdist_add_defaultsz Mix-in providing forward-compatibility for functionality as found in distutils on Python 3.7. Do not edit the code in this class except to update functionality as implemented in distutils. Instead, override in the subclass. cCs<|j|j|j|j|j|j|jdS)a9Add all the default files to self.filelist: - README or README.txt - setup.py - test/test*.py - all pure Python modules mentioned in setup script - all files pointed by package_data (build_py) - all files defined in data_files. - all files defined as scripts. - all C sources listed as part of extensions or C libraries in the setup script (doesn't catch C headers!) Warns if (README or README.txt) or setup.py are missing; everything else is optional. N)_add_defaults_standards_add_defaults_optional_add_defaults_python_add_defaults_data_files_add_defaults_ext_add_defaults_c_libs_add_defaults_scripts)selfr /usr/lib/python3.6/py36compat.py add_defaultsszsdist_add_defaults.add_defaultscCs:tjj|sdStjj|}tjj|\}}|tj|kS)z Case-sensitive path existence check >>> sdist_add_defaults._cs_path_exists(__file__) True >>> sdist_add_defaults._cs_path_exists(__file__.upper()) False F)ospathexistsabspathsplitlistdir)fspathrZ directoryfilenamerrr_cs_path_exists(s  z"sdist_add_defaults._cs_path_existscCs|j|jjg}x|D]}t|trn|}d}x(|D] }|j|r0d}|jj|Pq0W|s|jddj |q|j|r|jj|q|jd|qWdS)NFTz,standard file not found: should have one of z, zstandard file '%s' not found) ZREADMES distributionZ script_name isinstancetuplerfilelistappendwarnjoin)rZ standardsfnZaltsZgot_itrrrr9s       z*sdist_add_defaults._add_defaults_standardscCs8ddg}x*|D]"}ttjjt|}|jj|qWdS)Nz test/test*.pyz setup.cfg)rrrisfilerrextend)rZoptionalpatternfilesrrrrNs z)sdist_add_defaults._add_defaults_optionalcCsd|jd}|jjr$|jj|jx:|jD]0\}}}}x"|D]}|jjtj j ||q>Wq,WdS)Nbuild_py) get_finalized_commandrZhas_pure_modulesrr$get_source_files data_filesrrrr!)rr'ZpkgZsrc_dirZ build_dir filenamesrrrrr Ts    z'sdist_add_defaults._add_defaults_pythoncCs|jjr~xr|jjD]f}t|trDt|}tjj|rz|j j |q|\}}x,|D]$}t|}tjj|rR|j j |qRWqWdS)N) rZhas_data_filesr*rstrrrrr#rr)ritemdirnamer+frrrr ds     z+sdist_add_defaults._add_defaults_data_filescCs(|jjr$|jd}|jj|jdS)N build_ext)rZhas_ext_modulesr(rr$r))rr0rrrr us  z$sdist_add_defaults._add_defaults_extcCs(|jjr$|jd}|jj|jdS)N build_clib)rZhas_c_librariesr(rr$r))rr1rrrr zs  z'sdist_add_defaults._add_defaults_c_libscCs(|jjr$|jd}|jj|jdS)N build_scripts)rZ has_scriptsr(rr$r))rr2rrrr s  z(sdist_add_defaults._add_defaults_scriptsN)__name__ __module__ __qualname____doc__r staticmethodrrrr r r r r rrrrr s rrc@s eZdZdS)rN)r3r4r5rrrrrs) rrZdistutils.utilrZdistutils.commandrZsetuptools.extern.six.movesrrhasattrrrrrs    | __pycache__/upload_docs.cpython-36.opt-1.pyc000064400000013560147210141470014643 0ustar003 K]@sdZddlmZddlmZddlmZddlZddlZddl Z ddl Z ddl Z ddl Z ddl Z ddlmZddlmZmZddlmZd d lmZd d ZGd ddeZdS)zpupload_docs Implements a Distutils 'upload_docs' subcommand (upload documentation to PyPI's pythonhosted.org). )standard_b64encode)log)DistutilsOptionErrorN)six) http_clienturllib)iter_entry_points)uploadcCstjr dnd}|jd|S)Nsurrogateescapestrictzutf-8)rPY3encode)serrorsr!/usr/lib/python3.6/upload_docs.py_encodesrc@seZdZdZdZdddejfddgZejZd d Zd efgZ ddZ ddZ ddZ ddZ eddZeddZddZdS) upload_docszhttps://pypi.python.org/pypi/zUpload documentation to PyPIz repository=rzurl of repository [default: %s] show-responseN&display full response text from server upload-dir=directory to uploadcCs$|jdkr xtddD]}dSWdS)Nzdistutils.commands build_sphinxT) upload_dirr)selfZeprrr has_sphinx/s zupload_docs.has_sphinxrcCstj|d|_d|_dS)N)r initialize_optionsr target_dir)rrrrr6s zupload_docs.initialize_optionscCstj||jdkrN|jr0|jd}|j|_q`|jd}tjj |j d|_n|j d|j|_d|j krtt jd|jd|jdS)NrbuildZdocsrzpypi.python.orgz3Upload_docs command is deprecated. Use RTD instead.zUsing upload directory %s)r finalize_optionsrrZget_finalized_commandZbuilder_target_dirrospathjoinZ build_baseZensure_dirname repositoryrwarnannounce)rrr rrrr!;s        zupload_docs.finalize_optionsc Cstj|d}z|j|jxtj|jD]~\}}}||jkrT| rTd}t||jxP|D]H}tjj||}|t |jdj tjj } tjj| |} |j || qZWq(WWd|j XdS)Nwz'no files found in upload directory '%s')zipfileZZipFileZmkpathrr"walkrr#r$lenlstripsepwriteclose) rfilenamezip_filerootdirsfilesZtmplnameZfullZrelativedestrrrcreate_zipfileKs   zupload_docs.create_zipfilec Cslx|jD]}|j|q Wtj}|jjj}tjj |d|}z|j ||j |Wdt j |XdS)Nz%s.zip)Zget_sub_commandsZ run_commandtempfileZmkdtemp distributionmetadataget_namer"r#r$r7 upload_fileshutilZrmtree)rZcmd_nameZtmp_dirr5r1rrrrun[s  zupload_docs.runccs|\}}d|}t|ts |g}xn|D]f}t|trN|d|d7}|d}nt|}|Vt|VdV|V|r&|dddkr&dVq&WdS) Nz* Content-Disposition: form-data; name="%s"z; filename="%s"rr s   ) isinstancelisttupler)item sep_boundarykeyvaluestitlevaluerrr _build_partis     zupload_docs._build_partc Csnd}d|}|d}|df}tj|j|d}t||j}tjj|}tj||} d|jd} dj | | fS) z= Build up the MIME payload for the POST data s3--------------GHSKFJDLGDS7543FJKLFHRE75642756743254s --s--r@)rFz multipart/form-data; boundary=%sascii) functoolspartialrKmapitems itertoolschain from_iterabledecoder$) clsdataboundaryrFZ end_boundaryZ end_itemsZbuilderZ part_groupspartsZ body_items content_typerrr_build_multipart}s  zupload_docs._build_multipartcCs:t|d}|j}WdQRX|jj}d|jtjj||fd}t|j d|j }t |}t j rn|jd}d|}|j|\}} d|j} |j| tjtjj|j\} } } }}}| dkrtj| }n | d krtj| }n td | d }yZ|j|jd | | }|jd ||jdtt||jd||j |j!|Wn6t"j#k r~}z|jt|tj$dSd}~XnX|j%}|j&dkrd|j&|j'f} |j| tjnb|j&dkr|j(d}|dkrd|j}d|} |j| tjnd|j&|j'f} |j| tj$|j)r6t*dd|jdddS)NrbZ doc_upload)z:actionr5content:rLzBasic zSubmitting documentation to %sZhttpZhttpszunsupported schema ZPOSTz Content-typezContent-lengthZ AuthorizationzServer response (%s): %si-ZLocationzhttps://pythonhosted.org/%s/zUpload successful. Visit %szUpload failed (%s): %s-K)+openreadr9r:r;r"r#basenamerZusernameZpasswordrrr rUr[r%r'rINFOrparseZurlparserZHTTPConnectionZHTTPSConnectionAssertionErrorZconnectZ putrequestZ putheaderstrr+Z endheaderssendsocketerrorZERRORZ getresponseZstatusreasonZ getheaderZ show_responseprint)rr0fr]metarWZ credentialsZauthZbodyZctmsgZschemaZnetlocZurlZparamsZqueryZ fragmentsZconnrZerlocationrrrr<s^              zupload_docs.upload_file)rNr)rNr)__name__ __module__ __qualname__ZDEFAULT_REPOSITORY descriptionr Z user_optionsZboolean_optionsrZ sub_commandsrr!r7r> staticmethodrK classmethodr[r<rrrrrs"    r)__doc__base64rZ distutilsrZdistutils.errorsrr"rkr)r8r=rRrNZsetuptools.externrZsetuptools.extern.six.movesrrZ pkg_resourcesrr rrrrrrs       __pycache__/build_clib.cpython-36.pyc000064400000011531147210141470013474 0ustar003 \V@sTdZddlZddlmZddlTddlmZddlmZddZ Gd d d eZ dS) zdistutils.command.build_clib Implements the Distutils 'build_clib' command, to build a C/C++ library that is included in the module distribution and needed by an extension module.N)Command)*)customize_compiler)logcCsddlm}|dS)Nr)show_compilers)distutils.ccompilerr)rr"/usr/lib64/python3.6/build_clib.pyrs rc@sleZdZdZd"d#d$d%d&gZdd gZdddefgZddZddZ ddZ ddZ ddZ ddZ d d!ZdS)' build_clibz/build C/C++ libraries used by Python extensions build-clib=b%directory to build C/C++ libraries to build-temp=t,directory to put temporary build by-productsdebugg"compile with debugging informationforcef2forcibly build everything (ignore file timestamps) compiler=cspecify the compiler typez help-compilerNzlist available compilerscCs:d|_d|_d|_d|_d|_d|_d|_d|_d|_dS)Nr) r build_temp libraries include_dirsdefineundefrrcompiler)selfrrr initialize_options4szbuild_clib.initialize_optionscCsh|jdddd d d |jj|_|jr0|j|j|jdkrH|jjpDg|_t|jtrd|jjtj |_dS) NZbuildrr rrr)rr )rr)rr)rr)rr) Zset_undefined_optionsZ distributionrcheck_library_listr isinstancestrsplitospathsep)r rrr finalize_optionsDs    zbuild_clib.finalize_optionscCs|js dSddlm}||j|j|jd|_t|j|jdk rN|jj|j|j dk rzx |j D]\}}|jj ||q`W|j dk rx|j D]}|jj |qW|j |jdS)Nr) new_compiler)rdry_runr)rrr)rr*rrrZset_include_dirsrZ define_macrorZundefine_macrobuild_libraries)r r)namevalueZmacrorrr run^s        zbuild_clib.runcCst|tstdx|D]|}t|t rs    __pycache__/egg_info.cpython-36.pyc000064400000050633147210141470013167 0ustar003 K]`@sdZddlmZddlmZddlmZddlm Z ddlZddlZddl Z ddl Z ddl Z ddl Z ddlZddlZddlZddlmZddlmZdd lmZdd lmZdd lmZdd lmZdd lmZddlmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&ddl'j(Z(ddl)m*Z*ddlm+Z+ddZ,GdddeZ-GdddeZGdddeZ.ddZ/ddZ0ddZ1dd Z2d!d"Z3d#d$Z4d%d&Z5d'd(Z6d0d*d+Z7d,d-Z8d.d/Z9dS)1zUsetuptools.command.egg_info Create a distribution's .egg-info directory and contents)FileList)DistutilsInternalError) convert_path)logN)six)map)Command)sdist) walk_revctrl) edit_config) bdist_egg)parse_requirements safe_name parse_version safe_version yield_lines EntryPointiter_entry_points to_filename)glob) packagingcCsd}|jtjj}tjtj}d|f}xt|D]\}}|t|dk}|dkrv|rd|d7}q4|d||f7}q4d}t|} x:|| kr||} | dkr||d7}n| d kr||7}n| d kr|d} | | kr|| d kr| d} | | kr|| d kr| d} x&| | kr6|| d kr6| d} qW| | krR|tj| 7}nR||d| } d} | dd krd } | dd} | tj| 7} |d| f7}| }n|tj| 7}|d7}qW|s4||7}q4W|d7}tj|tj tj BdS)z Translate a file path glob like '*.txt' in to a regular expression. This differs from fnmatch.translate which allows wildcards to match directory separators. It also knows about '**/' which matches any number of directories. z[^%s]z**z.*z (?:%s+%s)*r*?[!]^Nz[%s]z\Z)flags) splitospathsepreescape enumeratelencompile MULTILINEDOTALL)rZpatZchunksr#Z valid_charcchunkZ last_chunkiZ chunk_lencharZinner_iinnerZ char_classr0/usr/lib/python3.6/egg_info.pytranslate_pattern$sV         r2c@seZdZdZd)d*d+d,gZdgZd diZddZeddZ e j ddZ ddZ ddZ d-ddZ ddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(S).egg_infoz+create a distribution's .egg-info directory egg-base=eLdirectory containing .egg-info directories (default: top of the source tree)tag-dated0Add date stamp (e.g. 20050528) to version number tag-build=b-Specify explicit tag to add to version numberno-dateD"Don't include date stamp [default]cCs4d|_d|_d|_d|_d|_d|_d|_d|_dS)NrF)egg_name egg_versionegg_baser3 tag_buildtag_datebroken_egg_infovtags)selfr0r0r1initialize_optionsszegg_info.initialize_optionscCsdS)Nr0)rGr0r0r1tag_svn_revisionszegg_info.tag_svn_revisioncCsdS)Nr0)rGvaluer0r0r1rIscCs0tj}|j|d<d|d<t|t|ddS)z Materialize the value of date into the build tag. Install build keys in a deterministic order to avoid arbitrary reordering on subsequent builds. rCrrD)r3N) collections OrderedDicttagsr dict)rGfilenamer3r0r0r1save_version_infos zegg_info.save_version_infoc CsVt|jj|_|j|_|j|_t|j}y6t |t j j }|rFdnd}t t||j|jfWn,tk rtjjd|j|jfYnX|jdkr|jj}|pijdtj|_|jdt|jd|_|jtjkrtjj|j|j|_d|jkr|j|j|jj_ |jj}|dk rR|j |jj!krR|j|_"t|j|_#d|j_dS)Nz%s==%sz%s===%sz2Invalid distribution name or version syntax: %s-%srrBz .egg-info-)$r distributionZget_namer@rMrFtagged_versionrAr isinstancerversionZVersionlistr ValueError distutilserrorsZDistutilsOptionErrorrBZ package_dirgetr!curdirZensure_dirnamerr3r"joincheck_broken_egg_infometadataZ _patched_distkeylowerZ_versionZ_parsed_version)rGZparsed_versionZ is_versionspecdirsZpdr0r0r1finalize_optionss8          zegg_info.finalize_optionsFcCsN|r|j|||n6tjj|rJ|dkr@| r@tjd||dS|j|dS)aWrite `data` to `filename` or delete if empty If `data` is non-empty, this routine is the same as ``write_file()``. If `data` is empty but not ``None``, this is the same as calling ``delete_file(filename)`. If `data` is ``None``, then this is a no-op unless `filename` exists, in which case a warning is issued about the orphaned file (if `force` is false), or deleted (if `force` is true). Nz$%s not set in setup(), but %s exists) write_filer!r"existsrwarn delete_file)rGwhatrOdataforcer0r0r1write_or_delete_files   zegg_info.write_or_delete_filecCsDtjd||tjr|jd}|js@t|d}|j||jdS)zWrite `data` to `filename` (if not a dry run) after announcing it `what` is used in a log message to identify what is being written to the file. zwriting %s to %szutf-8wbN) rinforZPY3encodedry_runopenwriteclose)rGrhrOrifr0r0r1rds   zegg_info.write_filecCs tjd||jstj|dS)z8Delete `filename` (if not a dry run) after announcing itz deleting %sN)rrmror!unlink)rGrOr0r0r1rgs zegg_info.delete_filecCs2|jj}|jr$|j|jr$t|St||jS)N)rRZ get_versionrFendswithr)rGrUr0r0r1rSs zegg_info.tagged_versioncCs|j|j|jj}x@tdD]4}|j|d|j}|||jtj j |j|jqWtj j |jd}tj j |r||j ||j dS)Nzegg_info.writers) installerznative_libs.txt)Zmkpathr3rRZfetch_build_eggrZrequireZresolvenamer!r"r\rerg find_sources)rGrvepwriternlr0r0r1run s     z egg_info.runcCs,d}|jr||j7}|jr(|tjd7}|S)Nrz-%Y%m%d)rCrDtimeZstrftime)rGrUr0r0r1rMs  z egg_info.tagscCs4tjj|jd}t|j}||_|j|j|_dS)z"Generate SOURCES.txt manifest filez SOURCES.txtN) r!r"r\r3manifest_makerrRmanifestr|filelist)rGZmanifest_filenameZmmr0r0r1rx s  zegg_info.find_sourcescCsd|jd}|jtjkr&tjj|j|}tjj|r`tjddddd||j |j |_ ||_ dS)Nz .egg-inforQNz Note: Your current .egg-info directory has a '-' in its name; this will not work correctly with "setup.py develop". Please rename %s to %s to correct this problem. ) r@rBr!r[r"r\rerrfr3rE)rGZbeir0r0r1r](s    zegg_info.check_broken_egg_infoN)r4r5r6)r7r8r9)r:r;r<)r=r>r?)F)__name__ __module__ __qualname__ descriptionZ user_optionsZboolean_optionsZ negative_optrHpropertyrIsetterrPrcrkrdrgrSr|rMrxr]r0r0r0r1r3ws(  / r3c@s|eZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZdS)rcCs<|j|\}}}}|dkrV|jddj|x"|D]}|j|s4tjd|q4Wn|dkr|jddj|x"|D]}|j|sxtjd|qxWn|dkr|jd dj|x"|D]}|j|stjd |qWnZ|d kr(|jd dj|x&|D]}|j|stjd |qWn|dkrx|jd|dj|fx|D]"}|j ||sPtjd||qPWn|dkr|jd|dj|fx|D]"}|j ||stjd||qWnp|dkr|jd||j |s8tjd|n>|dkr,|jd||j |s8tjd|n t d|dS)Nincludezinclude  z%warning: no files found matching '%s'excludezexclude z9warning: no previously-included files found matching '%s'zglobal-includezglobal-include z>warning: no files found matching '%s' anywhere in distributionzglobal-excludezglobal-exclude zRwarning: no previously-included files matching '%s' found anywhere in distributionzrecursive-includezrecursive-include %s %sz:warning: no files found matching '%s' under directory '%s'zrecursive-excludezrecursive-exclude %s %szNwarning: no previously-included files matching '%s' found under directory '%s'graftzgraft z+warning: no directories found matching '%s'prunezprune z6no previously-included directories found matching '%s'z'this cannot happen: invalid action '%s')Z_parse_template_line debug_printr\rrrfrglobal_includeglobal_excluderecursive_includerecursive_excluderrr)rGlineactionZpatternsdirZ dir_patternpatternr0r0r1process_template_line;sd                 zFileList.process_template_linecCsVd}xLtt|jdddD]2}||j|r|jd|j||j|=d}qW|S)z Remove all files from the file list that match the predicate. Return True if any matching files were removed Frz removing Tr)ranger'filesr)rGZ predicatefoundr-r0r0r1 _remove_filesszFileList._remove_filescCs$ddt|D}|j|t|S)z#Include files that match 'pattern'.cSsg|]}tjj|s|qSr0)r!r"isdir).0rsr0r0r1 sz$FileList.include..)rextendbool)rGrrr0r0r1rs zFileList.includecCst|}|j|jS)z#Exclude files that match 'pattern'.)r2rmatch)rGrrr0r0r1rszFileList.excludecCs8tjj|d|}ddt|ddD}|j|t|S)zN Include all files anywhere in 'dir/' that match the pattern. z**cSsg|]}tjj|s|qSr0)r!r"r)rrsr0r0r1rsz.FileList.recursive_include..T) recursive)r!r"r\rrr)rGrrZ full_patternrr0r0r1rs zFileList.recursive_includecCs ttjj|d|}|j|jS)zM Exclude any file anywhere in 'dir/' that match the pattern. z**)r2r!r"r\rr)rGrrrr0r0r1rszFileList.recursive_excludecCs$ddt|D}|j|t|S)zInclude all files from 'dir/'.cSs"g|]}tjj|D]}|qqSr0)rXrfindall)rZ match_diritemr0r0r1rsz"FileList.graft..)rrr)rGrrr0r0r1rs  zFileList.graftcCsttjj|d}|j|jS)zFilter out files from 'dir/'.z**)r2r!r"r\rr)rGrrr0r0r1rszFileList.prunecsJ|jdkr|jttjjd|fdd|jD}|j|t|S)z Include all files anywhere in the current directory that match the pattern. This is very inefficient on large file trees. Nz**csg|]}j|r|qSr0)r)rrs)rr0r1rsz+FileList.global_include..)Zallfilesrr2r!r"r\rr)rGrrr0)rr1rs   zFileList.global_includecCsttjjd|}|j|jS)zD Exclude all files anywhere that match the pattern. z**)r2r!r"r\rr)rGrrr0r0r1rszFileList.global_excludecCs8|jdr|dd}t|}|j|r4|jj|dS)N rr)rur _safe_pathrappend)rGrr"r0r0r1rs    zFileList.appendcCs|jjt|j|dS)N)rrfilterr)rGpathsr0r0r1rszFileList.extendcCstt|j|j|_dS)z Replace self.files with only safe paths Because some owners of FileList manipulate the underlying ``files`` attribute directly, this method must be called to repair those paths. N)rVrrr)rGr0r0r1_repairszFileList._repairc Csd}tj|}|dkr(tjd|dStj|d}|dkrNtj||ddSy tjj|shtjj|rldSWn&tk rtj||t j YnXdS)Nz!'%s' not %s encodable -- skippingz''%s' in unexpected encoding -- skippingFzutf-8T) unicode_utilsfilesys_decoderrfZ try_encoder!r"reUnicodeEncodeErrorsysgetfilesystemencoding)rGr"Zenc_warnZu_pathZ utf8_pathr0r0r1rs  zFileList._safe_pathN)rrrrrrrrrrrrrrrrrr0r0r0r1r8sI     rc@s\eZdZdZddZddZddZdd Zd d Zd d Z e ddZ ddZ ddZ dS)r~z MANIFEST.incCsd|_d|_d|_d|_dS)Nr)Z use_defaultsrZ manifest_onlyZforce_manifest)rGr0r0r1rHsz!manifest_maker.initialize_optionscCsdS)Nr0)rGr0r0r1rcszmanifest_maker.finalize_optionscCsdt|_tjj|js|j|jtjj|jr<|j |j |jj |jj |jdS)N) rrr!r"rerwrite_manifest add_defaultstemplateZ read_templateprune_file_listsortZremove_duplicates)rGr0r0r1r|s  zmanifest_maker.runcCstj|}|jtjdS)N/)rrreplacer!r#)rGr"r0r0r1_manifest_normalizes z"manifest_maker._manifest_normalizecsBjjfddjjD}dj}jtj|f|dS)zo Write the file list in 'self.filelist' to the manifest file named by 'self.manifest'. csg|]}j|qSr0)r)rrs)rGr0r1r sz1manifest_maker.write_manifest..zwriting manifest file '%s'N)rrrrZexecuterd)rGrmsgr0)rGr1rs  zmanifest_maker.write_manifestcCs|j|stj||dS)N)_should_suppress_warningr rf)rGrr0r0r1rf$s zmanifest_maker.warncCs tjd|S)z; suppress missing-file warnings from sdist zstandard file .*not found)r$r)rr0r0r1r(sz'manifest_maker._should_suppress_warningcCsttj||jj|j|jj|jtt}|rB|jj|nt j j |jrX|j |j d}|jj|jdS)Nr3)r rrrrrrVr rr!r"reZ read_manifestget_finalized_commandrr3)rGZrcfilesZei_cmdr0r0r1r/s   zmanifest_maker.add_defaultscCsZ|jd}|jj}|jj|j|jj|tjtj }|jj d|d|dddS)Nbuildz(^|z)(RCS|CVS|\.svn)r)Zis_regex) rrRZ get_fullnamerrZ build_baser$r%r!r#Zexclude_pattern)rGrZbase_dirr#r0r0r1r;s    zmanifest_maker.prune_file_listN)rrrrrHrcr|rrrf staticmethodrrrr0r0r0r1r~s    r~c Cs8dj|}|jd}t|d}|j|WdQRXdS)z{Create a file with the specified name and write 'contents' (a sequence of strings without line terminators) to it.  zutf-8rlN)r\rnrprq)rOcontentsrsr0r0r1rdEs   rdc Cs|tjd||jsx|jj}|j|j|_}|j|j|_}z|j |j Wd|||_|_Xt |jdd}t j |j |dS)Nz writing %sZzip_safe)rrmrorRr^rArUr@rwwrite_pkg_infor3getattrr Zwrite_safety_flag)cmdbasenamerOr^ZoldverZoldnameZsafer0r0r1rRs rcCstjj|rtjddS)NzsWARNING: 'depends.txt' is not used by setuptools 0.6! Use the install_requires/extras_require setup() args instead.)r!r"rerrf)rrrOr0r0r1warn_depends_obsoletees rcCs,t|pf}dd}t||}|j|dS)NcSs|dS)Nrr0)rr0r0r1osz%_write_requirements..)rr writelines)streamZreqslinesZ append_crr0r0r1_write_requirementsms  rcCsn|j}tj}t||j|jp"i}x2t|D]&}|jdjft t|||q.W|j d||j dS)Nz [{extra}] Z requirements) rRrStringIOrZinstall_requiresextras_requiresortedrqformatvarsrkgetvalue)rrrOZdistrirZextrar0r0r1write_requirementsts  rcCs,tj}t||jj|jd||jdS)Nzsetup-requirements)iorrrRZsetup_requiresrkr)rrrOrir0r0r1write_setup_requirementssrcCs:tjdd|jjD}|jd|djt|ddS)NcSsg|]}|jdddqS).rr)r )rkr0r0r1rsz(write_toplevel_names..ztop-level namesr)rNfromkeysrRZiter_distribution_namesrdr\r)rrrOZpkgsr0r0r1write_toplevel_namessrcCst|||ddS)NT) write_arg)rrrOr0r0r1 overwrite_argsrFcCsHtjj|d}t|j|d}|dk r4dj|d}|j||||dS)Nrr)r!r"splitextrrRr\rk)rrrOrjZargnamerJr0r0r1rs rcCs|jj}t|tjs|dkr"|}nr|dk rg}xZt|jD]J\}}t|tjsttj||}dj tt t |j }|j d||fqsR           (   SBEI    __pycache__/develop.cpython-36.pyc000064400000014316147210141470013046 0ustar003 K]n@sddlmZddlmZddlmZmZddlZddlZddl Z ddl m Z ddl m Z mZmZddlmZddlmZddlZGd d d ejeZGd d d eZdS) ) convert_path)log)DistutilsErrorDistutilsOptionErrorN)six) Distribution PathMetadatanormalize_path) easy_install) namespacesc@sveZdZdZdZejddgZejdgZd Zd d Z d d Z ddZ e ddZ ddZddZddZddZdS)developzSet up package for developmentz%install package in 'development mode' uninstalluUninstall this source package egg-path=N-Set the path to be used in the .egg-link fileFcCs2|jrd|_|j|jn|j|jdS)NT)r Z multi_versionuninstall_linkZuninstall_namespacesinstall_for_developmentZwarn_deprecated_options)selfr/usr/lib/python3.6/develop.pyruns  z develop.runcCs&d|_d|_tj|d|_d|_dS)N.)r egg_pathr initialize_options setup_pathZalways_copy_from)rrrrr's  zdevelop.initialize_optionscCs|jd}|jr,d}|j|jf}t|||jg|_tj||j|j |j j t j d|jd}t jj|j||_|j|_|jdkrt jj|j|_t|j}tt jj|j|j}||krtd|t|t|t jj|j|jd|_|j|j|j|j|_dS)Negg_infoz-Please rename %r to %r before using 'develop'z*.eggz .egg-linkzA--egg-path must be a relative path from the install directory to ) project_name)get_finalized_commandZbroken_egg_inforrZegg_nameargsr finalize_optionsZexpand_basedirsZ expand_dirsZ package_indexscanglobospathjoin install_diregg_linkegg_baserabspathr rrrdist_resolve_setup_pathr)rZeitemplaterZ egg_link_fntargetrrrrr .s<           zdevelop.finalize_optionscCsh|jtjdjd}|tjkr0d|jdd}ttjj|||}|ttjkrdt d|ttj|S)z Generate a path from egg_base back to '.' where the setup script resides and ensure that path points to the setup path from $install_dir/$egg_path. /z../zGCan't get a consistent path to setup script from installation directory) replacer#seprstripcurdircountr r$r%r)r(r&rZ path_to_setupZresolvedrrrr+Xs zdevelop._resolve_setup_pathc CsDtjrt|jddr|jddd|jd|jd}t|j}|jd|d|jd|jddd|jd|jd}||_ ||j _ t ||j |j _n"|jd|jdd d|jd|jtjr|jtjdt_|jtjd |j|j|js,t|jd }|j|j d |jWdQRX|jd|j |j dS) NZuse_2to3FZbuild_pyr)Zinplacer)r(Z build_extr/zCreating %s (link to %s)w )rZPY3getattr distributionZreinitialize_commandZ run_commandrr Z build_librr*locationrrZ _providerZinstall_site_py setuptoolsZbootstrap_install_fromr Zinstall_namespacesrinfor'r(dry_runopenwriterZprocess_distributionZno_deps)rZbpy_cmdZ build_pathZei_cmdfrrrrks4          zdevelop.install_for_developmentcCstjj|jrztjd|j|jt|j}dd|D}|j||j g|j |j gfkrhtj d|dS|j sztj |j|j s|j|j|jjrtj ddS)NzRemoving %s (link to %s)cSsg|] }|jqSr)r2).0linerrr sz*develop.uninstall_link..z$Link points to %s: uninstall abortedz5Note: you must uninstall or replace scripts manually!)r#r$existsr'rr;r(r=closerrwarnr<unlinkZ update_pthr*r8scripts)rZ egg_link_filecontentsrrrrs    zdevelop.uninstall_linkc Cs||jk rtj||S|j|x^|jjp,gD]N}tjjt |}tjj |}t j |}|j }WdQRX|j||||q.WdS)N)r*r install_egg_scriptsinstall_wrapper_scriptsr8rGr#r$r)rbasenameior=readZinstall_script)rr*Z script_nameZ script_pathZstrmZ script_textrrrrIs     zdevelop.install_egg_scriptscCst|}tj||S)N)VersionlessRequirementr rJ)rr*rrrrJszdevelop.install_wrapper_scripts)r rr)rNr)__name__ __module__ __qualname____doc__ descriptionr Z user_optionsZboolean_optionsZcommand_consumes_argumentsrrr staticmethodr+rrrIrJrrrrr s  * /r c@s(eZdZdZddZddZddZdS) rNaz Adapt a pkg_resources.Distribution to simply return the project name as the 'requirement' so that scripts will work across multiple versions. >>> dist = Distribution(project_name='foo', version='1.0') >>> str(dist.as_requirement()) 'foo==1.0' >>> adapted_dist = VersionlessRequirement(dist) >>> str(adapted_dist.as_requirement()) 'foo' cCs ||_dS)N)_VersionlessRequirement__dist)rr*rrr__init__szVersionlessRequirement.__init__cCs t|j|S)N)r7rU)rnamerrr __getattr__sz"VersionlessRequirement.__getattr__cCs|jS)N)r)rrrras_requirementsz%VersionlessRequirement.as_requirementN)rOrPrQrRrVrXrYrrrrrNs rN)Zdistutils.utilrZ distutilsrZdistutils.errorsrrr#r"rLZsetuptools.externrZ pkg_resourcesrrr Zsetuptools.command.easy_installr r:r ZDevelopInstallerr objectrNrrrrs     4__pycache__/build_py.cpython-36.pyc000064400000024404147210141470013216 0ustar003 \ C@s~dZddlZddlZddlZddlmZddlmZddlTddl m Z m Z ddl m Z Gdd d eZGd d d ee ZdS) zHdistutils.command.build_py Implements the Distutils 'build_py' command.N)glob)Command)*) convert_path Mixin2to3)logc@seZdZdZd8d9d:d;dbuild_pyz5"build" pure Python modules (copy to build directory) build-lib=ddirectory to "build" (copy) tocompileccompile .py to .pyc no-compileN!don't compile .py files [default] optimize=Olalso compile with optimization: -O1 for "python -O", -O2 for "python -OO", and -O0 to disable [default: -O0]forcef2forcibly build everything (ignore file timestamps)cCs4d|_d|_d|_d|_d|_d|_d|_d|_dS)Nr) build_lib py_modulespackage package_data package_dirr optimizer)selfr /usr/lib64/python3.6/build_py.pyinitialize_options szbuild_py.initialize_optionsc Cs|jddd|jj|_|jj|_|jj|_i|_|jjrbx&|jjjD]\}}t||j|<qHW|j|_ t |j t sy.t |j |_ d|j kodknst Wn tt fk rtdYnXdS) NZbuildrrrzoptimize must be 0, 1, or 2)rr)rr)Zset_undefined_options distributionpackagesrrritemsrget_data_files data_files isinstancerintAssertionError ValueErrorZDistutilsOptionError)rnamepathrrrfinalize_options*s"      "zbuild_py.finalize_optionscCs:|jr|j|jr$|j|j|j|jdddS)Nr)include_bytecode)r build_modulesr#build_packagesbuild_package_data byte_compile get_outputs)rrrrrunCs z build_py.runcsg}|js|Sxr|jD]h}|j|}tjj|jg|jd}d|rRt|dfdd|j||D}|j ||||fqW|S)z?Generate list of '(package,src_dir,build_dir,filenames)' tuples.rcsg|]}|dqS)Nr).0file)plenrr tsz+build_py.get_data_files..) r#get_package_dirosr,joinrsplitlenfind_data_filesappend)rdatarsrc_dir build_dir filenamesr)r9rr%as   zbuild_py.get_data_filescs`|jjdg|jj|g}gx:|D]2}ttjj|t|}jfdd|Dq&WS)z6Return filenames for package's data files in 'src_dir'cs$g|]}|krtjj|r|qSr)r<r,isfile)r7fn)filesrrr:s z,build_py.find_data_files..)rgetrr<r,r=rextend)rrrCZglobspatternZfilelistr)rIrr@ys  zbuild_py.find_data_filescCshd}x^|jD]T\}}}}xF|D]>}tjj||}|jtjj||jtjj|||ddqWq WdS)z$Copy data files into build directoryNF) preserve_mode)r&r<r,r=mkpathdirname copy_file)rZlastdirrrCrDrEfilenametargetrrrr1s zbuild_py.build_package_datac Cs|jd}|js&|r tjj|SdSng}x|ry|jdj|}Wn*tk rn|jd|d|d=Yq,X|jd|tjj|Sq,W|jjd}|dk r|jd||rtjj|SdSdS)zReturn the directory, relative to the top of the source distribution, where package 'package' should be found (at least according to the 'package_dir' option, if any).r5rFrr6NrS)r>rr<r,r=KeyErrorinsertrJ)rrr,tailZpdirrrrr;s(       zbuild_py.get_package_dircCsj|dkr8tjj|s td|tjj|s8td||rftjj|d}tjj|rZ|Stjd|dS)NrFz%package directory '%s' does not existz>supposed package directory '%s' exists, but is not a directoryz __init__.pyz!package init file '%s' not found z(or not a regular file)z8package init file '%s' not found (or not a regular file)) r<r,existsZDistutilsFileErrorisdirr=rGrwarn)rrrinit_pyrrr check_packages    zbuild_py.check_packagecCs&tjj|stjd||dSdSdS)Nz!file %s (for module %s) not foundFT)r<r,rGrrY)rmodule module_filerrr check_modules zbuild_py.check_modulec Cs|j||ttjj|d}g}tjj|jj}xX|D]P}tjj|}||krztjjtjj |d}|j |||fq8|j d|q8W|S)Nz*.pyrz excluding %s) r[rr<r,r=abspathr"Z script_namesplitextbasenamerAZ debug_print) rrrZ module_filesmodulesZ setup_scriptrZabs_fr\rrrfind_package_moduless   zbuild_py.find_package_modulesc Csi}g}x|jD]}|jd}dj|dd}|d}y||\}}Wn"tk rj|j|}d}YnX|s|j||} |df||<| r|j|d| ftjj||d} |j || sq|j||| fqW|S)aFinds individually-specified Python modules, ie. those listed by module name in 'self.py_modules'. Returns a list of tuples (package, module_base, filename): 'package' is a tuple of the path through package-space to the module; 'module_base' is the bare (no packages, no dots) module name, and 'filename' is the path to the ".py" file (relative to the distribution root) that implements the module. r5rr6__init__z.pyrSrS) rr>r=rTr;r[rAr<r,r^) rr#rbr\r,rZ module_baserZcheckedrZr]rrr find_moduless*       zbuild_py.find_modulescCsRg}|jr|j|j|jrNx.|jD]$}|j|}|j||}|j|q&W|S)a4Compute the list of all modules that will be built, whether they are specified one-module-at-a-time ('self.py_modules') or by whole packages ('self.packages'). Return a list of tuples (package, module, module_file), just like 'find_modules()' and 'find_package_modules()' do.)rrKrer#r;rc)rrbrrmrrrfind_all_moduless   zbuild_py.find_all_modulescCsdd|jDS)NcSsg|] }|dqS)r6rSr)r7r\rrrr:-sz-build_py.get_source_files..)rg)rrrrget_source_files,szbuild_py.get_source_filescCs$|gt||dg}tjj|S)Nz.py)listr<r,r=)rrDrr\Z outfile_pathrrrget_module_outfile/szbuild_py.get_module_outfiler6cCs|j}g}xx|D]p\}}}|jd}|j|j||}|j||r|jr`|jtjj|dd|j dkr|jtjj||j dqW|dd|j D7}|S)Nr5rF) optimizationrcSs,g|]$\}}}}|D]}tjj||qqSr)r<r,r=)r7rrCrDrErQrrrr:Cs z(build_py.get_outputs..) rgr>rjrrAr importlibutilcache_from_sourcerr&)rr.rbZoutputsrr\r]rQrrrr33s"       zbuild_py.get_outputscCsbt|tr|jd}nt|ttfs,td|j|j||}tj j |}|j ||j ||ddS)Nr5z:'package' must be a string (dot-separated), list, or tupler)rM) r'strr>rituple TypeErrorrjrr<r,rOrNrP)rr\r]rZoutfiledirrrr build_moduleJs    zbuild_py.build_modulecCs.|j}x |D]\}}}|j|||qWdS)N)rers)rrbrr\r]rrrr/Yszbuild_py.build_modulescCsXxR|jD]H}|j|}|j||}x,|D]$\}}}||ks>t|j|||q(WqWdS)N)r#r;rcr)rs)rrrrbZpackage_r\r]rrrr0bs    zbuild_py.build_packagescCstjr|jddSddlm}|j}|dtjkr>|tj}|jrZ||d|j ||j d|j dkr||||j |j ||j ddS)Nz%byte-compiling is disabled, skipping.r)r2r6)rrprefixdry_runrS) sysdont_write_bytecoderYdistutils.utilr2rr<sepr rrur)rrIr2rtrrrr2vs    zbuild_py.byte_compile)r r r )r r r)rNr)rrr)rrr)r6)__name__ __module__ __qualname__ descriptionZ user_optionsZboolean_optionsZ negative_optr r-r4r%r@r1r;r[r^rcrergrhrjr3rsr/r0r2rrrrrs8   '4  rc@seZdZddZddZdS) build_py_2to3cCsLg|_|jr|j|jr*|j|j|j|j|j|jdddS)Nr)r.) updated_filesrr/r#r0r1Zrun_2to3r2r3)rrrrr4s zbuild_py_2to3.runcCs,tj||||}|dr(|jj|d|S)Nr6r)rrsrrA)rr\r]rresrrrrsszbuild_py_2to3.build_moduleN)rzr{r|r4rsrrrrr~sr~)__doc__r<importlib.utilrlrvrZdistutils.corerZdistutils.errorsrxrrZ distutilsrrr~rrrrs   }__pycache__/install_lib.cpython-36.pyc000064400000012046147210141470013702 0ustar003 \ @sLdZddlZddlZddlZddlmZddlmZdZ GdddeZ dS)zkdistutils.command.install_lib Implements the Distutils 'install_lib' command (install all Python modules).N)Command)DistutilsOptionErrorz.pyc @seZdZdZd*d+d,d-d.d/d0gZdd dgZdd iZddZddZddZ ddZ ddZ d d!Z d"d#Z d$d%Zd&d'Zd(d)ZdS)1 install_libz7install all Python modules (extensions and pure Python) install-dir=ddirectory to install to build-dir=b'build directory (where to install from)forcef-force installation (overwrite existing files)compileccompile .py to .pyc [default] no-compileNdon't compile .py files optimize=Olalso compile with optimization: -O1 for "python -O", -O2 for "python -OO", and -O0 to disable [default: -O0] skip-buildskip the build stepscCs(d|_d|_d|_d|_d|_d|_dS)Nr) install_dir build_dirr roptimize skip_build)selfr#/usr/lib64/python3.6/install_lib.pyinitialize_options3s zinstall_lib.initialize_optionsc Cs|jddddddd|jdkr&d |_|jdkr6d |_t|jtsyt|j|_|jdkr^tWn ttfk rtdYnXdS)Ninstall build_librrrr rrrTFrzoptimize must be 0, 1, or 2)r!r)rr)r r )rr)rr)rr)rr"r#)Zset_undefined_optionsrr isinstanceintAssertionError ValueErrorr)rrrrfinalize_options<s$     zinstall_lib.finalize_optionscCs0|j|j}|dk r,|jjr,|j|dS)N)buildr distributionhas_pure_modules byte_compile)routfilesrrrrunVszinstall_lib.runcCs2|js.|jjr|jd|jjr.|jddS)Nbuild_py build_ext)rr*r+Z run_commandhas_ext_modules)rrrrr)fs    zinstall_lib.buildcCs8tjj|jr |j|j|j}n|jd|jdS|S)Nz3'%s' does not exist -- no Python modules to install)ospathisdirrZ copy_treerwarn)rr-rrrr ms  zinstall_lib.installcCsrtjr|jddSddlm}|jdj}|jrH||d|j||j d|j dkrn|||j |j||j |j ddS)Nz%byte-compiling is disabled, skipping.r)r,r )rr prefixdry_run)rr r6verboser7) sysdont_write_bytecoder5Zdistutils.utilr,get_finalized_commandrootrr r7rr8)rfilesr,Z install_rootrrrr,vs     zinstall_lib.byte_compilec Csh|sgS|j|}|j}t||}t|ttj}g}x(|D] } |jtjj|| |dq@W|S)N) r; get_outputsgetattrlenr2sepappendr3join) rZhas_anyZ build_cmdZ cmd_optionZ output_dirZ build_filesrZ prefix_lenZoutputsfilerrr_mutate_outputss    zinstall_lib._mutate_outputscCsvg}xl|D]d}tjjtjj|d}|tkr0q |jrL|jtjj |dd|j dkr |jtjj ||j dq W|S)Nr") optimizationr) r2r3splitextnormcasePYTHON_SOURCE_EXTENSIONrrB importlibutilcache_from_sourcer)rZ py_filenamesZbytecode_filesZpy_fileZextrrr_bytecode_filenamess     zinstall_lib._bytecode_filenamescCsR|j|jjdd|j}|jr*|j|}ng}|j|jjdd|j}|||S)zReturn the list of files that would be installed if this command were actually run. Not affected by the "dry-run" flag or whether modules have actually been built yet. r/r!r0)rEr*r+rrrNr1)rZ pure_outputsZbytecode_outputsZ ext_outputsrrrr>s   zinstall_lib.get_outputscCsLg}|jjr&|jd}|j|j|jjrH|jd}|j|j|S)zGet the list of files that are input to this command, ie. the files that get installed as they are named in the build tree. The files in this list correspond one-to-one to the output filenames returned by 'get_outputs()'. r/r0)r*r+r;extendr>r1)rZinputsr/r0rrr get_inputss    zinstall_lib.get_inputs)rrr)rr r )r r r )rrr)rNr)rrr)rNr)__name__ __module__ __qualname__ descriptionZ user_optionsZboolean_optionsZ negative_optrr(r.r)r r,rErNr>rPrrrrrs*   r) __doc__r2importlib.utilrKr9Zdistutils.corerZdistutils.errorsrrJrrrrrs  __pycache__/upload_docs.cpython-36.pyc000064400000013610147210141470013700 0ustar003 K]@sdZddlmZddlmZddlmZddlZddlZddl Z ddl Z ddl Z ddl Z ddl Z ddlmZddlmZmZddlmZd d lmZd d ZGd ddeZdS)zpupload_docs Implements a Distutils 'upload_docs' subcommand (upload documentation to PyPI's pythonhosted.org). )standard_b64encode)log)DistutilsOptionErrorN)six) http_clienturllib)iter_entry_points)uploadcCstjr dnd}|jd|S)Nsurrogateescapestrictzutf-8)rPY3encode)serrorsr!/usr/lib/python3.6/upload_docs.py_encodesrc@seZdZdZdZdddejfddgZejZd d Zd efgZ ddZ ddZ ddZ ddZ eddZeddZddZdS) upload_docszhttps://pypi.python.org/pypi/zUpload documentation to PyPIz repository=rzurl of repository [default: %s] show-responseN&display full response text from server upload-dir=directory to uploadcCs$|jdkr xtddD]}dSWdS)Nzdistutils.commands build_sphinxT) upload_dirr)selfZeprrr has_sphinx/s zupload_docs.has_sphinxrcCstj|d|_d|_dS)N)r initialize_optionsr target_dir)rrrrr6s zupload_docs.initialize_optionscCstj||jdkrN|jr0|jd}|j|_q`|jd}tjj |j d|_n|j d|j|_d|j krtt jd|jd|jdS)NrbuildZdocsrzpypi.python.orgz3Upload_docs command is deprecated. Use RTD instead.zUsing upload directory %s)r finalize_optionsrrZget_finalized_commandZbuilder_target_dirrospathjoinZ build_baseZensure_dirname repositoryrwarnannounce)rrr rrrr!;s        zupload_docs.finalize_optionsc Cstj|d}z|j|jxtj|jD]~\}}}||jkrT| rTd}t||jxP|D]H}tjj||}|t |jdj tjj } tjj| |} |j || qZWq(WWd|j XdS)Nwz'no files found in upload directory '%s')zipfileZZipFileZmkpathrr"walkrr#r$lenlstripsepwriteclose) rfilenamezip_filerootdirsfilesZtmplnameZfullZrelativedestrrrcreate_zipfileKs   zupload_docs.create_zipfilec Cslx|jD]}|j|q Wtj}|jjj}tjj |d|}z|j ||j |Wdt j |XdS)Nz%s.zip)Zget_sub_commandsZ run_commandtempfileZmkdtemp distributionmetadataget_namer"r#r$r7 upload_fileshutilZrmtree)rZcmd_nameZtmp_dirr5r1rrrrun[s  zupload_docs.runccs|\}}d|}t|ts |g}xn|D]f}t|trN|d|d7}|d}nt|}|Vt|VdV|V|r&|dddkr&dVq&WdS) Nz* Content-Disposition: form-data; name="%s"z; filename="%s"rr s   ) isinstancelisttupler)item sep_boundarykeyvaluestitlevaluerrr _build_partis     zupload_docs._build_partc Csnd}d|}|d}|df}tj|j|d}t||j}tjj|}tj||} d|jd} dj | | fS) z= Build up the MIME payload for the POST data s3--------------GHSKFJDLGDS7543FJKLFHRE75642756743254s --s--r@)rFz multipart/form-data; boundary=%sascii) functoolspartialrKmapitems itertoolschain from_iterabledecoder$) clsdataboundaryrFZ end_boundaryZ end_itemsZbuilderZ part_groupspartsZ body_items content_typerrr_build_multipart}s  zupload_docs._build_multipartcCsPt|d}|j}WdQRX|jj}d|jtjj||fd}t|j d|j }t |}t j rn|jd}d|}|j|\}} d|j} |j| tjtjj|j\} } } }}}| r| r| st| dkrtj| }n | d krtj| }n td | d }yZ|j|jd | | }|jd ||jdtt||jd||j |j!|Wn6t"j#k r}z|jt|tj$dSd}~XnX|j%}|j&dkrd|j&|j'f} |j| tjnb|j&dkr|j(d}|dkrd|j}d|} |j| tjnd|j&|j'f} |j| tj$|j)rLt*dd|jdddS)NrbZ doc_upload)z:actionr5content:rLzBasic zSubmitting documentation to %sZhttpZhttpszunsupported schema ZPOSTz Content-typezContent-lengthZ AuthorizationzServer response (%s): %si-ZLocationzhttps://pythonhosted.org/%s/zUpload successful. Visit %szUpload failed (%s): %s-K)+openreadr9r:r;r"r#basenamerZusernameZpasswordrrr rUr[r%r'rINFOrparseZurlparseAssertionErrorrZHTTPConnectionZHTTPSConnectionZconnectZ putrequestZ putheaderstrr+Z endheaderssendsocketerrorZERRORZ getresponseZstatusreasonZ getheaderZ show_responseprint)rr0fr]metarWZ credentialsZauthZbodyZctmsgZschemaZnetlocZurlZparamsZqueryZ fragmentsZconnrZerlocationrrrr<s`              zupload_docs.upload_file)rNr)rNr)__name__ __module__ __qualname__ZDEFAULT_REPOSITORY descriptionr Z user_optionsZboolean_optionsrZ sub_commandsrr!r7r> staticmethodrK classmethodr[r<rrrrrs"    r)__doc__base64rZ distutilsrZdistutils.errorsrr"rkr)r8r=rRrNZsetuptools.externrZsetuptools.extern.six.movesrrZ pkg_resourcesrr rrrrrrs       __pycache__/install.cpython-36.pyc000064400000033613147210141470013057 0ustar003 /fj@sdZddlZddlZddlmZddlmZddlmZddl m Z ddl m Z ddl mZdd lmZmZmZdd lmZdd l mZdd lmZdd lmZdZddddddZddddddddddddedZerdddddded <ddd!d"dded#<d+ZGd)d*d*eZdS),zFdistutils.command.install Implements the Distutils 'install' command.N)log)Command)DEBUG)get_config_vars)DistutilsPlatformError) write_file) convert_path subst_vars change_root) get_platform)DistutilsOptionError) USER_BASE) USER_SITETz$base/Lib/site-packagesz$base/Include/$dist_namez $base/Scriptsz$base)purelibplatlibheadersscriptsdataz/$base/lib/python$py_version_short/site-packagesz5$platbase/lib64/python$py_version_short/site-packagesz9$base/include/python$py_version_short$abiflags/$dist_namez $base/binz$base/lib/pythonz$base/lib64/pythonz$base/include/python/$dist_name) unix_prefix unix_homentz $usersitez4$userbase/Python$py_version_nodot/Include/$dist_namez)$userbase/Python$py_version_nodot/Scriptsz $userbasent_userz=$userbase/include/python$py_version_short$abiflags/$dist_namez $userbase/bin unix_userrrrrrc@s:eZdZdZd_d`dadbdddedfdgdidjdkdldmdndodpdqdrgZdd%d(gZer`ejd,dd-efejd,d diZ d.d/Z d0d1Z d2d3Z d4d5Z d6d7Zd8d9Zd:d;Zdd?Zd@dAZdBdCZdDdEZdFdGZdHdIZdJdKZdLdMZdNdOZdPdQZdRdSZdTdUZdVdWZdXefdYefdZefd[efd\d]d^fgZdS)sinstallz'install everything from build directoryprefix=Ninstallation prefix exec-prefix=.(Unix only) prefix for platform-specific fileshome=+(Unix only) home directory to install under install-base=;base installation directory (instead of --prefix or --home)install-platbase=z8base installation directory for platform-specific files z$(instead of --exec-prefix or --home)root=|jD]2}|j|}x"|jD]}||kr&|j|q&WqW|jrl|jrl|jtjj|j |jd|S)z.Assembles the outputs of all the sub-commands.z.pth) rget_finalized_commandrappendrrQrhr}r~r|)rWrrcmdrrXrXrYrbs  zinstall.get_outputscCs2g}x(|jD]}|j|}|j|jqW|S)z*Returns the inputs of all the sub-commands)rrextend get_inputs)rWZinputsrrrXrXrYrss  zinstall.get_inputscCs|jjp|jjS)zSReturns true if the current distribution has any Python modules to install.)rrZhas_pure_modulesZhas_ext_modules)rWrXrXrYhas_libs zinstall.has_libcCs |jjS)zLReturns true if the current distribution has any headers to install.)rr has_headers)rWrXrXrYrszinstall.has_headerscCs |jjS)zMReturns true if the current distribution has any scripts to. install.)rr has_scripts)rWrXrXrYrszinstall.has_scriptscCs |jjS)zJReturns true if the current distribution has any data to. install.)rrZhas_data_files)rWrXrXrYhas_dataszinstall.has_datarJrIrKrLZinstall_egg_infocCsdS)NTrX)rWrXrXrYszinstall.)rNr)rNr)rNr)r Nr!\base installation directory for platform-specific files (instead of --exec-prefix or --home))r"Nr)r#Nr$)r%Nr&)r'Nr(ginstallation directory for all module distributions (overrides --install-purelib and --install-platlib))r)Nr)r*Nr+)r,Nr-)r.Nr/)r0r1r2)r3Nr4)r5r6r7)r8r9r:)r;Nr<)r=Nr>) __name__ __module__ __qualname__ descriptionrZboolean_optionsrurrrrZrrkrlrmrrrvrxrzr{rryrrrrrrrrZ sub_commandsrXrXrXrYrIs   N3  " , r)rrrrr)__doc__rnrhZ distutilsrZdistutils.corerZdistutils.debugrZdistutils.sysconfigrZdistutils.errorsrZdistutils.file_utilrZdistutils.utilrr r r r Zsiter rruZWINDOWS_SCHEMErrrrXrXrXrYsV            __pycache__/saveopts.cpython-36.opt-1.pyc000064400000001520147210141470014204 0ustar003 K]@s$ddlmZmZGdddeZdS)) edit_config option_basec@seZdZdZdZddZdS)saveoptsz#Save command-line options to a filez7save supplied options to setup.cfg or other config filecCsp|j}i}xP|jD]F}|dkr qx6|j|jD]$\}\}}|dkr0||j|i|<q0WqWt|j||jdS)Nrz command line)Z distributionZcommand_optionsZget_option_dictitems setdefaultrfilenameZdry_run)selfZdistZsettingscmdoptsrcvalr /usr/lib/python3.6/saveopts.pyrun s z saveopts.runN)__name__ __module__ __qualname____doc__ descriptionrr r r rrsrN)Zsetuptools.command.setoptrrrr r r rs__pycache__/upload.cpython-36.pyc000064400000012233147210141470012670 0ustar003 /f@sdZddlZddlZddlZddlZddlmZddlmZm Z m Z ddl m Z ddl mZmZddlmZddlmZdd lmZGd d d eZdS) zm distutils.command.upload Implements the Distutils 'upload' subcommand (upload package to a package index). N)standard_b64encode)urlopenRequest HTTPError)urlparse)DistutilsErrorDistutilsOptionError) PyPIRCCommand)spawn)logc@sJeZdZdZejddgZejdgZdd Zd d Zd d Z ddZ dS)uploadzupload binary package to PyPIsignssign files to upload using gpg identity=iGPG identity used to sign filescCs,tj|d|_d|_d|_d|_d|_dS)NrF)r initialize_optionsusernamepassword show_responser identity)selfr/usr/lib64/python3.6/upload.pyr s  zupload.initialize_optionscCsvtj||jr |j r td|j}|ikrX|d|_|d|_|d|_|d|_ |j rr|j jrr|j j|_dS)Nz.Must use --sign for --identity to have meaningrr repositoryrealm) r finalize_optionsrr rZ _read_pypircrrrr distribution)rconfigrrrr(s     zupload.finalize_optionscCs>|jjsd}t|x$|jjD]\}}}|j|||qWdS)NzHMust create and upload files in one command (e.g. setup.py sdist upload))rZ dist_filesr upload_file)rmsgcommand pyversionfilenamerrrrun:s z upload.runc&)Cs^t|j\}}}}}} |s"|s"| r0td|j|d2krDtd||jr|ddd|g} |jrnd|jg| d d <t| |jd t|d } z | j} Wd| j X|j j } d d | j | j tjj|| f||tj| jd| j| j| j| j| j| j| j| j| j| j| j| j| j d}ytj!| j}WnPt"k r}z2d|}|j#|t$j%ddl&m'}|s|WYdd}~Xn X||d<d}|dkrt(j)\}}}|rd||f}n|dkrdt(j(dd}||d<|jrtjj|dt|dd jf|d<|j*d|j+j,d}d t-|j.d}d!}d"|j,d}|d#}t/j0}x|j1D]\}}d$|}t2|t3s|g}xr|D]j}t4|t5kr|d%|d7}|d}nt6|j,d&}|j7||j7|j,d&|j7d'|j7|qWqjW|j7||j8}d(||jf}|j#|t$j%d)|t6t9||d*} t:|j|| d+}!yt;|!}"|"j<}#|"j=}$Wnft>k r}z|j?}#|j=}$WYdd}~Xn8t@k r}z|j#t6|t$jAWYdd}~XnX|#d,kr8|j#d-|#|$ft$j%|jBrZ|jC|"}%d.jDd/d0|%d/d0f}|j#|t$j%n"d1|#|$f}|j#|t$jAtE|dS)3NzIncompatible url %shttphttpszunsupported schema Zgpgz --detach-signz-az --local-user)dry_runrbZ file_upload1z1.0)z:actionZprotocol_versionnameversioncontentZfiletyper$Z sha256_digestZmetadata_versionZsummaryZ home_pageZauthorZ author_emaillicense descriptionkeywordsplatformZ classifiersZ download_urlZprovidesZrequiresZ obsoletesz#calculating md5 checksum failed: %sr) get_fips_modeZ md5_digestrZ bdist_rpmzbuilt for %s %sZ bdist_dumbz built for %s)Ztersecommentz.ascZ gpg_signature:asciizBasic z3--------------GHSKFJDLGDS7543FJKLFHRE75642756743254s --s-- z+ Content-Disposition: form-data; name="%s"z; filename="%s"zutf-8s zSubmitting %s to %sz multipart/form-data; boundary=%s)z Content-typezContent-lengthZ Authorization)dataheaderszServer response (%s): %s -KzUpload failed (%s): %s)r'r()FrrAssertionErrorr rr r*openreadcloserZmetadataZget_nameZ get_versionospathbasenamehashlibZsha256Z hexdigestZget_descriptionZget_urlZ get_contactZget_contact_emailZ get_licenceZget_long_descriptionZ get_keywordsZ get_platformsZget_classifiersZget_download_urlZ get_providesZ get_requiresZ get_obsoletesZmd5 ValueErrorZannouncer INFOZ_hashlibr4r3distrrencoderdecodeioBytesIOitems isinstancelisttypetuplestrwritegetvaluelenrrZgetcoder"rcodeOSErrorZERRORrZ_read_pypi_responsejoinr)&rr#r$r%ZschemaZnetlocZurlZparamsZqueryZ fragmentsZgpg_argsfr/metar9Zdigester"r4r6rIr.idZ user_passZauthboundaryZ sep_boundaryZ end_boundaryZbodykeyvaluetitler:ZrequestresultZstatusreasontextrrrr!Bs                       zupload.upload_fileN)r rr)rrr) __name__ __module__ __qualname__r1r Z user_optionsZboolean_optionsrrr&r!rrrrr s r )__doc__rCrLr3rFbase64rZurllib.requestrrrZ urllib.parserZdistutils.errorsrrZdistutils.corer Zdistutils.spawnr Z distutilsr r rrrrs     __pycache__/bdist_wininst.cpython-36.pyc000064400000020215147210141470014263 0ustar003 /f<@spdZddlZddlZddlmZddlmZddlmZm Z ddl Tddl m Z ddl mZGd d d eZdS) zzdistutils.command.bdist_wininst Implements the Distutils 'bdist_wininst' command: create a windows installer exe-program.N)Command) get_platform) create_tree remove_tree)*)get_python_version)logc@seZdZdZdZd5dddefd7d9d:d;dd?d@dAdBg Zd dddgZd'd(Zd)d*Z d+d,Z d-d.Z dCd/d0Z d1d2Z d3d4ZdS)D bdist_wininstTz-create an executable installer for MS Windows bdist-dir=N1temporary directory for creating the distributionz plat-name=pz;platform name to embed in generated filenames (default: %s) keep-tempkz/keep the pseudo-installation tree around after z!creating the distribution archivetarget-version=z!require a specific python versionz on the target systemno-target-compilec/do not compile .py to .pyc on the target systemno-target-optimizeo;do not compile .py to .pyo (optimized) on the target system dist-dir=d-directory to put final built distributions inbitmap=b>bitmap to use for the installer instead of python-powered logotitle=t?title to display on the installer background instead of default skip-build2skip rebuilding everything (for testing/debugging)install-script=Ubasename of installation script to be run after installation or before deinstallationpre-install-script={Fully qualified filename of a script to be run before any files are installed. This script need not be in the distributionuser-access-control=specify Vista's UAC handling - 'none'/default=no handling, 'auto'=use UAC if target Python installed for all users, 'force'=always use UACcCsRd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ d|_ dS)Nr) bdist_dir plat_name keep_tempno_target_compileno_target_optimizetarget_versiondist_dirbitmaptitle skip_buildinstall_scriptpre_install_scriptuser_access_control)selfr5%/usr/lib64/python3.6/bdist_wininst.pyinitialize_options<sz bdist_wininst.initialize_optionscCs|jdd |jdkrR|jr6|jr6|jjd}|j|_|jdj}tj j |d|_|j s^d|_ |j r|jj rt }|j r|j |krtd|f||_ |jdd d |jrx2|jjD]}|jtj j|krPqWtd|jdS) Nbdistr0ZwininstzMtarget version can only be %s, or the '--skip-build' option must be specifiedr-r(z(install_script '%s' not found in scripts)r0r0)r-r-)r(r()Zset_undefined_optionsr'r0r( distributionZget_command_objget_finalized_command bdist_baseospathjoinr,has_ext_modulesrZDistutilsOptionErrorr1scriptsbasename)r4r8r<Z short_versionscriptr5r5r6finalize_optionsLs4      zbdist_wininst.finalize_optionsc Cstjdkr&|jjs|jjr&td|js6|jd|jddd}|j |_ |j|_d|_ |j |_ |jd}d|_ d|_|jjr|j}|s|jstd d tjdd }d |j |f}|jd}tjj|jd ||_x6dD].}|j}|dkr|d}t|d||qWtjd|j |jtjjdtjj|j d|jtjd=ddlm }|} |jj!} |j"| d|j d} |j#| | |j$|jjrt%} nd} |jj&j'd| |j(| ftj)d| tj*| |j+st,|j |j-ddS)Nwin32z^distribution contains extensions and/or C libraries; must be compiled on a Windows 32 platformbuildinstall)Zreinit_subcommandsr install_libz Should have already checked thisz%d.%dz.%s-%slibpurelibplatlibheadersrAdataz/Include/$dist_nameZinstall_zinstalling to %sZPURELIB)mktempzip)Zroot_diranyr zremoving temporary file '%s')dry_run)rLrMrNrArO).sysplatformr:r@Zhas_c_librariesZDistutilsPlatformErrorr0Z run_commandZreinitialize_commandr'rootZwarn_dirr(compileoptimizer,AssertionError version_infor;r=r>r?Z build_baseZ build_libuppersetattrrinfoZensure_finalizedinsertrunZtempfilerP get_fullnameZ make_archive create_exer.rZ dist_filesappendget_installer_filenamedebugremover)rrS) r4rGrIr,Zplat_specifierrFkeyvaluerPZarchive_basenamefullnamearcnameZ pyversionr5r5r6r_rsf                   zbdist_wininst.runc Cs`g}|jj}|jd|jpdd}dd}xJdD]B}t||d}|r2|d|j||f}|jd|||fq2W|jd|jr|jd|j|jd|||jd|j |jd|j |j r|jd|j |j r|jd|j |j p |jj }|jd||ddl }ddl} d|j|j | jf} |jd| dj|S)Nz [metadata]r9 cSs |jddS)Nrjz\n)replace)sr5r5r6escapesz)bdist_wininst.get_inidata..escapeauthor author_email description maintainermaintainer_emailnameurlversionz %s: %sz%s=%sz [Setup]zinstall_script=%szinfo=%sztarget_compile=%dztarget_optimize=%dztarget_version=%szuser_access_control=%sztitle=%srzBuilt %s with distutils-%sz build_info=%s)rnrorprqrrrsrtru)r:metadatarbZlong_descriptiongetattr capitalizer1r*r+r,r3r/r`time distutilsZctime __version__r?) r4linesrvr]rmrsrOr/ryrzZ build_infor5r5r6 get_inidatas<   zbdist_wininst.get_inidatac Csddl}|j|j|j}|j|}|jd||rPt|dj}t|}nd}t|d} | j |j |rz| j |t |t r|j d}|d}|jrt|jddd } | jj d} WdQRX|| d }n|d}| j ||jd d t||} | j | | j t|djdS) Nrz creating %srbwbmbcsrzlatin-1)encodings zr?r-r()r4rhrr5r5r6rc&s  z$bdist_wininst.get_installer_filenamec Cs t}|jrl|j|krl|jdkr&d}q|jdkr6d}q|jdkrFd}q|jdkrVd}q|jdkrfd }qd }n@yd d lm}Wntk rd }YnX|jd d }|d}tjjt }|j dkr|j dddkr|j dd}nd}tjj |d||f}t |d}z|j S|jXdS)Nz2.4z6.0z7.1z2.5z8.0z3.2z9.0z3.4z10.0z14.0r)CRT_ASSEMBLY_VERSION.z.0rEwinr9zwininst-%s%s.exer~)rr,Zmsvcrtr ImportError partitionr=r>dirname__file__r(r?rrclose) r4Z cur_versionZbvrmajorZ directoryZsfixfilenamefr5r5r6r3s8         zbdist_wininst.get_exe_bytes)r Nr Pkeep the pseudo-installation tree around after creating the distribution archive)r rr6require a specific python version on the target system)rNr)rrr)rrr)rrr)rrr)rrr)rNr )r!Nr")r#Nr$)r%Nr&)N)__name__ __module__ __qualname__Z _unsupportedrprZ user_optionsZboolean_optionsr7rDr_r}rarcrr5r5r5r6r sP&Q. 5 r )__doc__rTr=Zdistutils.corerZdistutils.utilrZdistutils.dir_utilrrZdistutils.errorsZdistutils.sysconfigrrzrr r5r5r5r6s    __pycache__/rotate.cpython-36.opt-1.pyc000064400000004707147210141470013650 0ustar003 K]t@s`ddlmZddlmZddlmZddlZddlZddlm Z ddl m Z Gddde Z dS) ) convert_path)log)DistutilsOptionErrorN)six)Commandc@s:eZdZdZdZdddgZgZd d ZddZddZ dS)rotatezDelete older distributionsz2delete older distributions, keeping N newest filesmatch=mpatterns to match (required) dist-dir=d%directory where the distributions arekeep=k(number of matching distributions to keepcCsd|_d|_d|_dS)N)matchdist_dirkeep)selfr/usr/lib/python3.6/rotate.pyinitialize_optionsszrotate.initialize_optionsc Cs|jdkrtd|jdkr$tdyt|j|_Wntk rPtdYnXt|jtjrxdd|jjdD|_|j dd dS) NzQMust specify one or more (comma-separated) match patterns (e.g. '.zip' or '.egg')z$Must specify number of files to keepz--keep must be an integercSsg|]}t|jqSr)rstrip).0prrr +sz+rotate.finalize_options..,Zbdistr)rr) rrrint ValueError isinstancerZ string_typessplitZset_undefined_options)rrrrfinalize_optionss  zrotate.finalize_optionscCs|jdddlm}x|jD]}|jjd|}|tjj|j|}dd|D}|j |j t j dt ||||jd}xD|D]<\}}t j d||jstjj|rtj|qtj|qWqWdS) NZegg_infor)glob*cSsg|]}tjj||fqSr)ospathgetmtime)rfrrrr6szrotate.run..z%d file(s) matching %sz Deleting %s)Z run_commandr"rZ distributionZget_namer$r%joinrsortreverserinfolenrZdry_runisdirshutilZrmtreeunlink)rr"patternfilestr'rrrrun/s       z rotate.runN)rr r )r r r )rrr) __name__ __module__ __qualname____doc__ descriptionZ user_optionsZboolean_optionsrr!r3rrrrr sr) Zdistutils.utilrZ distutilsrZdistutils.errorsrr$r.Zsetuptools.externrZ setuptoolsrrrrrrs     __pycache__/test.cpython-36.opt-1.pyc000064400000017625147210141470013334 0ustar003 K]#@sddlZddlZddlZddlZddlZddlZddlmZmZddl m Z ddlm Z ddl m Z ddlmZmZddlmZmZmZmZmZmZmZmZmZddlmZGd d d e ZGd d d eZGd ddeZ dS)N)DistutilsErrorDistutilsOptionError)log) TestLoader)six)mapfilter) resource_listdirresource_existsnormalize_path working_set_namespace_packagesevaluate_markeradd_activation_listenerrequire EntryPoint)Commandc@seZdZddZdddZdS)ScanningLoadercCstj|t|_dS)N)r__init__set_visited)selfr/usr/lib/python3.6/test.pyrs zScanningLoader.__init__NcCs||jkrdS|jj|g}|jtj||t|drH|j|jt|drxpt|jdD]`}|j dr|dkr|jd|dd }n"t |j|d r`|jd|}nq`|j|j |q`Wt |d kr|j |S|d SdS) aReturn a suite of all tests cases contained in the given module If the module is a package, load tests from all the modules in it. If the module has an ``additional_tests`` function, call it and add the return value to the tests. Nadditional_tests__path__z.pyz __init__.py.z /__init__.pyr)raddappendrloadTestsFromModulehasattrrr __name__endswithr ZloadTestsFromNamelenZ suiteClass)rmodulepatternZtestsfileZ submodulerrrr#s$      z"ScanningLoader.loadTestsFromModule)N)r% __module__ __qualname__rr#rrrrrsrc@seZdZddZdddZdS)NonDataPropertycCs ||_dS)N)fget)rr.rrrr>szNonDataProperty.__init__NcCs|dkr |S|j|S)N)r.)robjZobjtyperrr__get__AszNonDataProperty.__get__)N)r%r+r,rr0rrrrr-=sr-c@seZdZdZdZd%d&d'gZd d ZddZeddZ ddZ ddZ e j gfddZee j ddZeddZddZddZed d!Zed"d#Zd$S)(testz.Command to run unit tests after in-place buildz#run unit tests after in-place build test-module=m$Run 'test_suite' in specified module test-suite=s9Run single test, case or suite (e.g. 'module.test_suite') test-runner=rTest runner to usecCsd|_d|_d|_d|_dS)N) test_suite test_module test_loader test_runner)rrrrinitialize_optionsSsztest.initialize_optionscCs|jr|jrd}t||jdkrD|jdkr8|jj|_n |jd|_|jdkr^t|jdd|_|jdkrnd|_|jdkrt|jdd|_dS)Nz1You may specify a module or a suite, but not bothz .test_suiter=z&setuptools.command.test:ScanningLoaderr>)r;r<r distributionr=getattrr>)rmsgrrrfinalize_optionsYs        ztest.finalize_optionscCs t|jS)N)list _test_args)rrrr test_argslsztest.test_argsccs6|j rtjdkrdV|jr$dV|jr2|jVdS)NZdiscoverz --verbose)rGrH)r;sys version_infoverbose)rrrrrEps ztest._test_argsc Cs|j |WdQRXdS)zI Backward compatibility for project_on_sys_path context. N)project_on_sys_path)rfuncrrrwith_project_on_sys_pathxs ztest.with_project_on_sys_pathc csPtjot|jdd}|rv|jddd|jd|jd}t|j}|jd|d|jd|jddd|jdn"|jd|jdd d|jd|jd}t j dd}t j j }zbt|j }t j jd|tjtd d td |j|jf|j|g dVWdQRXWd|t j dd<t j jt j j|tjXdS) Nuse_2to3FZbuild_pyr)ZinplaceZegg_info)egg_baseZ build_extrcSs|jS)N)Zactivate)distrrrsz*test.project_on_sys_path..z%s==%s)rPY3rAr@Zreinitialize_commandZ run_commandZget_finalized_commandr Z build_librIpathmodulescopyrPinsertr rrrZegg_nameZ egg_versionpaths_on_pythonpathclearupdate) rZ include_distsZ with_2to3Zbpy_cmdZ build_pathZei_cmdZold_pathZ old_modulesZ project_pathrrrrLs8             ztest.project_on_sys_pathc cst}tjjd|}tjjdd}z>tjj|}td||g}tjj|}|rX|tjd<dVWd||krztjjddn |tjd<XdS)z Add the indicated paths to the head of the PYTHONPATH environment variable so that subprocesses will also see the packages at these paths. Do this in a context that restores the value on exit. PYTHONPATHrN)objectosenvirongetpathsepjoinrpop)pathsZnothingZorig_pythonpathZcurrent_pythonpathprefixZto_joinnew_pathrrrrXs     ztest.paths_on_pythonpathcCsD|j|j}|j|jpg}|jdd|jjD}tj|||S)z Install the requirements indicated by self.distribution and return an iterable of the dists that were built. css0|](\}}|jdrt|ddr|VqdS):rN) startswithr).0kvrrr sz%test.install_dists..)Zfetch_build_eggsZinstall_requiresZ tests_requireZextras_requireitems itertoolschain)rQZir_dZtr_dZer_drrr install_distss  ztest.install_distscCs|j|j}dj|j}|jr0|jd|dS|jd|ttjd|}|j |"|j |j WdQRXWdQRXdS)N zskipping "%s" (dry run)z running "%s"location) ror@ra_argvZdry_runannounceroperator attrgetterrXrL run_tests)rZinstalled_distscmdrcrrrruns    ztest.runcCstjrt|jddr|jjdd}|tkrg}|tjkrD|j ||d7}x"tjD]}|j |rT|j |qTWt t tjj |tjdd|j|j|j|j|jdd}|jjsd|j}|j|tjt|dS)NrOFrr)Z testLoaderZ testRunnerexitzTest failed: %s)rrSrAr@r;splitr rIrUr"rgrDr __delitem__unittestmainrr_resolve_as_epr=r>resultZ wasSuccessfulrsrZERRORr)rr(Z del_modulesnamer1rBrrrrvs(        ztest.run_testscCs dg|jS)Nr|)rF)rrrrrrsz test._argvcCs$|dkr dStjd|}|jS)zu Load the indicated attribute value, called, as a as if it were specified as an entry point. Nzx=)rparseZresolve)valZparsedrrrr~sztest._resolve_as_epN)r2r3r4)r5r6r7)r8r9r:)r%r+r,__doc__ descriptionZ user_optionsr?rCr-rFrErN contextlibcontextmanagerrL staticmethodrXrorxrvpropertyrrr~rrrrr1Gs( -  r1)!r]rtrIrrmr|Zdistutils.errorsrrZ distutilsrrZsetuptools.externrZsetuptools.extern.six.movesrrZ pkg_resourcesr r r r r rrrrZ setuptoolsrrr\r-r1rrrrs   , ) __pycache__/register.cpython-36.opt-1.pyc000064400000020312147210141470014164 0ustar003 \-@sddZddlZddlZddlZddlZddlmZddlm Z ddl Tddl m Z Gddde Z dS) zhdistutils.command.register Implements the Distutils 'register' command (register with the repository). N)warn) PyPIRCCommand)*)logc@seZdZdZejdd gZejdddgZdd d fgZd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZd!ddZdS)"registerz7register the distribution with the Python package indexlist-classifiersN list the valid Trove classifiersstrictBWill stop the registering if the meta-data are not fully compliantverifycheckcCsdS)NT)selfr r /usr/lib64/python3.6/register.pyszregister.cCstj|d|_d|_dS)Nr)rinitialize_optionslist_classifiersr )rr r rrs zregister.initialize_optionscCs*tj|d|jfdd}||jjd<dS)Nr)r restructuredtextr )rr)rfinalize_optionsr distributionZcommand_options)rZ check_optionsr r rr$s zregister.finalize_optionscCsX|j|jx|jD]}|j|qW|jr<|jn|jrL|jn|jdS)N) r _set_configZget_sub_commandsZ run_commandZdry_runverify_metadatar classifiers send_metadata)rZcmd_namer r rrun+s  z register.runcCs8tdt|jjd}|j|j|_d|_|jdS)zDeprecated API.zddistutils.command.register.check_metadata is deprecated, use the check command insteadr rN)rPendingDeprecationWarningrZget_command_objZensure_finalizedr rr)rr r r rcheck_metadata:s zregister.check_metadatacCsz|j}|ikr@|d|_|d|_|d|_|d|_d|_n6|jd|jfkr^td|j|jdkrp|j|_d|_d S) z: Reads the configuration file and set attributes. usernamepassword repositoryrealmTZpypiz%s not found in .pypircFN)Z _read_pypircrrr r! has_configZDEFAULT_REPOSITORY ValueError)rconfigr r rrDs     zregister._set_configcCs*|jd}tjj|}tj|j|dS)z8 Fetch the list of classifiers from the server. z?:action=list_classifiersN)r urllibrequestZurlopenrinfo_read_pypi_response)rZurlZresponser r rrUs  zregister.classifierscCs&|j|jd\}}tjd||dS)zF Send the metadata to the package index server to be checked. r zServer response (%s): %sN)post_to_serverbuild_post_datarr')rcoderesultr r rr\szregister.verify_metadatac Cs|jrd}|j}|j}n d}d}}dj}x:||krf|jdtjt}|sTd}q.||kr.tdq.W|dkr|x|std}qtWx|st j d}qWt j j }t j j|jd }|j|j||||j|jd |\}}|jd ||ftj|d kr|jr||j_nj|jd tj|jd|jtjd}x&|jdkr\td}|s8d}q8W|jdkr|j||n|dkrddi} d| d<| d<| d<d| d<x| dstd| d<qWx| d| dkrNx| dst j d| d<qWx| dst j d| d<qW| d| dkrd| d<d| d<tdqWx| dsltd| d<qRW|j| \}}|d krtjd ||ntjdtjd nT|d!krdd"i} d| d<x| dstd#| d<qW|j| \}}tjd ||dS)$a_ Send the metadata to the package index server. Well, do the following: 1. figure who the user is, and then 2. send the data as a Basic auth'ed POST. First we try to read the username/password from $HOME/.pypirc, which is a ConfigParser-formatted file with a section [distutils] containing username and password entries (both in clear text). Eg: [distutils] index-servers = pypi [pypi] username: fred password: sekrit Otherwise, to figure who the user is, we offer the user three choices: 1. use existing login, 2. register as a new user, or 3. set the password to a random string and email the user. 1xz1 2 3 4zWe need to know who you are, so please choose either: 1. use your existing login, 2. register as a new user, 3. have the server generate a new password for you (and email it to you), or 4. quit Your selection [default 1]: z&Please choose one of the four options!z Username: z Password: rZsubmitzServer response (%s): %szAI can store your PyPI login so future submissions will be faster.z (the login will be stored in %s)XZynzSave your login (y/N)?ny2z:actionusernamerZemailNZconfirmz Confirm: z!Password and confirm don't match!z EMail: z"You will receive an email shortly.z7Follow the instructions in it to complete registration.3Zpassword_resetzYour email address: )r"rrsplitannouncerINFOinputprintgetpassr%r&ZHTTPPasswordMgrparseZurlparser Z add_passwordr!r)r*rZ _get_rc_filelowerZ _store_pypircr') rZchoicerrchoicesauthhostr+r,datar r rrcs                     zregister.send_metadatacCs|jj}|d|j|j|j|j|j|j|j|j |j |j |j |j |j|j|jd}|ds|ds|drd|d<|S)Nz1.0)z:actionmetadata_versionr6versionZsummaryZ home_pageZauthorZ author_emaillicense descriptionkeywordsplatformrZ download_urlprovidesrequires obsoletesrJrKrLz1.1rD)rZmetadataZget_nameZ get_versionZget_descriptionZget_urlZ get_contactZget_contact_emailZ get_licenceZget_long_descriptionZ get_keywordsZ get_platformsZget_classifiersZget_download_urlZ get_providesZ get_requiresZ get_obsoletes)ractionmetarCr r rr*s* zregister.build_post_datacCsd|kr$|jd|d|jftjd}d|}|d}tj}x|jD]\}}t|tgtffkrp|g}xZ|D]R}t|}|j ||j d||j d|j ||rv|dd krv|j d qvWqJW|j ||j d |j j d }d |tt |d } t jj|j|| } t jjt jj|d} d}y| j| } Wnxt jjk r} z$|jrl| jj}| j| jf} WYdd} ~ XnJt jjk r} zdt| f} WYdd} ~ XnX|jr|j| }d} |jrd jdd|ddf}|j|tj| S)zC Post a query to the server, and return a string response. r6zRegistering %s to %sz3--------------GHSKFJDLGDS7543FJKLFHRE75642756743254z --z--z* Content-Disposition: form-data; name="%s"z r  zutf-8z/multipart/form-data; boundary=%s; charset=utf-8)z Content-typezContent-length)Z password_mgrr/Nir0OK-K)r0rQ)r9r rr:ioStringIOitemstypestrwritegetvalueencodelenr%r&ZRequestZ build_openerZHTTPBasicAuthHandleropenerrorZ HTTPErrorZ show_responsefpreadr+msgZURLErrorr(join)rrCrAboundaryZ sep_boundaryZ end_boundaryZbodykeyvalueZheadersZreqopenerr,erbr r rr)sV         zregister.post_to_server)rNr)r Nr )N)__name__ __module__ __qualname__rGrZ user_optionsZboolean_optionsZ sub_commandsrrrrrrrrr*r)r r r rrs&  zr)__doc__r=rUZ urllib.parser%Zurllib.requestwarningsrZdistutils.corerZdistutils.errorsZ distutilsrrr r r rs   __pycache__/bdist_rpm.cpython-36.opt-1.pyc000064400000031272147210141470014332 0ustar003 \T@sdZddlZddlZddlZddlmZddlmZddlm Z ddl m Z ddl Tddl mZdd lmZGd d d eZdS) zwdistutils.command.bdist_rpm Implements the Distutils 'bdist_rpm' command (create RPM source and binary distributions).N)Command)DEBUG) get_platform) write_file)*)get_python_version)logc+@seZdZdZdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dddddddddddddddddg)Zd4d9d=d2dUgZd4d9d=dXZdYdZZd[d\Zd]d^Z d_d`Z dadbZ dcddZ dedfZ dS) bdist_rpmzcreate an RPM distribution bdist-base=N/base directory for creating built distributions rpm-base=dbase directory for creating RPMs (defaults to "rpm" under --bdist-base; must be specified for RPM 2) dist-dir=dDdirectory to put final RPM files in (and .spec files if --spec-only)python=Mpath to Python interpreter to hard-code in the .spec file (default: "python") fix-pythonLhard-code the exact path to the current Python interpreter in the .spec file spec-onlyonly regenerate spec file source-onlyonly generate source RPM binary-onlyonly generate binary RPM use-bzip27use bzip2 instead of gzip to create source distributiondistribution-name=gname of the (Linux) distribution to which this RPM applies (*not* the name of the module distribution!)group=9package classification [default: "Development/Libraries"]release=RPM release numberserial=RPM serial numbervendor=aRPM "vendor" (eg. "Joe Blow ") [default: maintainer or author from setup script] packager=BRPM packager (eg. "Jane Doe ") [default: vendor] doc-files=6list of documentation files (space or comma-separated) changelog= RPM changelogicon=name of icon file provides=%capabilities provided by this package requires=%capabilities required by this package conflicts=-capabilities which conflict with this packagebuild-requires=+capabilities required to build this package obsoletes=*capabilities made obsolete by this package no-autoreq+do not automatically calculate dependencies keep-tempk"don't clean up RPM build directory no-keep-temp&clean up RPM build directory [default]use-rpm-opt-flags8compile with RPM_OPT_FLAGS when building from source RPMno-rpm-opt-flags&do not pass any RPM CFLAGS to compiler rpm3-mode"RPM 3 compatibility mode (default) rpm2-modeRPM 2 compatibility mode prep-script=3Specify a script for the PREP phase of RPM building build-script=4Specify a script for the BUILD phase of RPM building pre-install=:Specify a script for the pre-INSTALL phase of RPM buildinginstall-script=6Specify a script for the INSTALL phase of RPM building post-install=;Specify a script for the post-INSTALL phase of RPM buildingpre-uninstall=rnroREADME README.txtrk1rlrirprqrrrsrtrurvrwrxryrzr|r}r~rrr)rr)Z ensure_stringrZ get_contactZget_contact_emailZensure_string_list isinstancerolistrrexistsappend_format_changelogrpZensure_filename)rZreadmerrrrs>                         zbdist_rpm.finalize_package_datac Cstrsz-bdist_rpm._make_spec_file..zbrp-python-bytecompile \ z%brp-python-bytecompile %{__python} \ z2# Workaround for http://bugs.python.org/issue14443z%define __os_install_post z Name: %{name}zVersion: %{version}zRelease: %{release}z-Source0: %{name}-%{unmangled_version}.tar.bz2z,Source0: %{name}-%{unmangled_version}.tar.gzz License: zGroup: z>BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildrootzPrefix: %{_prefix}zBuildArch: noarchz BuildArch: %sVendorPackagerProvidesRequires Conflicts Obsoletesz%s: %s NZUNKNOWNzUrl: zDistribution: zBuildRequires: zIcon: z AutoReq: 0z %descriptionz%s %srz%s buildzenv CFLAGS="$RPM_OPT_FLAGS" z>%s install -O1 --root=$RPM_BUILD_ROOT --record=INSTALLED_FILESr{rr&%setup -n %{name}-%{unmangled_version}ZbuildrsZinstallrtcleanrurm -rf $RPM_BUILD_ROOT verifyscriptrvprerwpostrxpreunrypostunrz%rz%files -f INSTALLED_FILESz%defattr(-,root,root)z%doc z %changelog)rrrrrr)r{rrr)rrur)rrvN)rrwN)rrxN)rryN)rrzN)'rrZ get_versionreplacerkZget_description subprocessZ getoutputr splitlinesrrrhZ get_licenserjrrgetattrlowerrrZget_urlrirrqrrrrZget_long_descriptionrcrargvropenreadrrorp)rZ spec_fileZ vendor_hookZproblemZfixedZ fixed_hookZfieldvalZdef_setup_callZ def_buildZ install_cmdZscript_optionsZrpm_optattrdefaultrrrrs                   zbdist_rpm._make_spec_filecCs|s|Sg}x`|jjdD]N}|j}|ddkrD|jd|gq|ddkr\|j|q|jd|qW|ds||d=|S)zKFormat the changelog correctly and convert it to a list of strings rrrrrz )rrrr)rrpZ new_changelogrrrrr3s   zbdist_rpm._format_changelog)r Nr )r Nr )rrr)rNr)rNr)rNr)rNr)rNr)rNr)rNr)rNr )r!Nr")r#Nr$)r%Nr&)r'Nr()r)Nr*)r+Nr,)r-Nr.)r/Nr0)r1Nr2)r3Nr4)r5Nr6)r7Nr8)r9Nr:)r;r<r=)r>Nr?)r@NrA)rBNrC)rDNrE)rFNrG)rHNrI)rJNrK)rLNrM)rNNrO)rPNrQ)rRNrS)rTNrU)rVNrW)rXNrY)rZNr[)r\r]r^)__name__ __module__ __qualname__ descriptionZ user_optionsZboolean_optionsZ negative_optrrrrrrrrrrrr s--)r )__doc__rrrZdistutils.corerZdistutils.debugrZdistutils.utilrZdistutils.file_utilrZdistutils.errorsZdistutils.sysconfigrZ distutilsrr rrrrs      __pycache__/build_ext.cpython-36.pyc000064400000040234147210141470013365 0ustar003 \z@sdZddlZddlZddlZddlZddlmZddlTddlm Z m Z ddlm Z ddl m Z ddlmZdd lmZdd lmZdd lmZejd Zd dZGdddeZdS)zdistutils.command.build_ext Implements the Distutils 'build_ext' command, for building extension modules (currently limited to C extensions, should accommodate C++ extensions ASAP).N)Command)*)customize_compilerget_python_version)get_config_h_filename) newer_group) Extension) get_platform)log) USER_BASEz3^[a-zA-Z_][a-zA-Z_0-9]*(\.[a-zA-Z_][a-zA-Z_0-9]*)*$cCsddlm}|dS)Nr)show_compilers)distutils.ccompilerr )r r!/usr/lib64/python3.6/build_ext.pyr s r c@seZdZdZdejZd`dad d d efdcdddefdddedfdddefdgdhdidjdkdldmdndodpgZd d%d(d1d8gZ d:d2d;e fgZ dd?Z d@dAZdBdCZdDdEZdFdGZdHdIZdJdKZdLdMZejdNdOZdPdQZdRdSZdTdUZdVdWZdXdYZdZd[Zd\d]Zd^d_Zd2S)q build_extz8build C/C++ extensions (compile/link to build directory)z (separated by '%s') build-lib=b(directory for compiled extension modules build-temp=t1directory for temporary files (build by-products)z plat-name=pz>platform name to cross-compile for, if supported (default: %s)inplaceiz=ignore build-lib and put compiled extensions into the source z,directory alongside your pure Python modulesz include-dirs=Iz.list of directories to search for header filesdefine=DC preprocessor macros to defineundef=U!C preprocessor macros to undefine libraries=l!external C libraries to link withz library-dirs=Lz.directories to search for external C librariesrpath=R7directories to search for shared C libraries at runtime link-objects=O2extra explicit link objects to include in the linkdebugg'compile/link with debugging informationforcef2forcibly build everything (ignore file timestamps) compiler=cspecify the compiler type parallel=jnumber of parallel build jobsswig-cppN)make SWIG create C++ files (default is C) swig-opts=!list of SWIG command line optionsswig=path to the SWIG executableuser#add user include, library and rpathz help-compilerzlist available compilerscCsd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ d|_ d|_ d|_d|_d|_d|_d|_d|_d|_dS)Nr) extensions build_lib plat_name build_temprpackage include_dirsdefineundef libraries library_dirsrpath link_objectsr+r.compilerswigswig_cpp swig_optsr=parallel)selfrrrinitialize_optionsjs*zbuild_ext.initialize_optionsc Csddlm}|jdd'd(d)d*d+d,d-|jdkr8|jj|_|jj|_|j}|jd d }|j dkrn|jj pjg|_ t |j t r|j j t j|_ tjtjkr|j jt jjtjd |j j|||kr|j j||jd|jd|jdkrg|_|jdkrg|_nt |jt r&|jj t j|_|jdkr:g|_nt |jt rX|jj t j|_t jdkrT|jjt jjtjdtjtjkr|jjt jjtjd|jrt jj|jd|_nt jj|jd|_|j jt jjtttdd}|r|jj||j dkrd}n|j dd}t jjtjd}|rHt jj||}|jj|tj!dddks|tj!dddkrtj"j#t jjtjdr|jjt jjtjddt$dn |jjd|j%d r|j&s|jj|j%d!n |jjd|j'r|j'j d"}d#d$|D|_'|j(r4|j(j d"|_(|j)dkrHg|_)n|j)j d%|_)|j*rt jjt+d }t jjt+d} t jj,|r|j j|t jj,| r|jj| |jj| t |j-t ryt.|j-|_-Wnt/k rt0d&YnXdS).Nr) sysconfigZbuildr@rBrKr+r.rOrA)Z plat_specificincluderGrJntZlibsZDebugZRelease_homewin32ZPCbuildcygwinatheosbinlibpythonconfig.Py_ENABLE_SHAREDLIBDIR,cSsg|] }|dfqS)1r).0Zsymbolrrr sz.build_ext.finalize_options.. zparallel should be an integer)r@r@)rBrB)rKrK)r+r+)r.r.)rOrO)rArA)1 distutilsrRZset_undefined_optionsrC distributionZ ext_packageZ ext_modulesr?Zget_python_incrD isinstancestrsplitospathsepsys exec_prefixbase_exec_prefixappendpathjoinZensure_string_listrGrHrInameprefixr+rBdirnamergetattrrAplatform executable startswithrget_config_varZ python_buildrErFrNr=r isdirrOint ValueErrorZDistutilsOptionError) rPrRZ py_includeZplat_py_include _sys_homesuffixZnew_libZdefinesZ user_includeZuser_librrrfinalize_optionss                    (         zbuild_ext.finalize_optionscCstddlm}|jsdS|jjrL|jd}|jj|jp:g|j j |j ||j |j |j|jd|_ t|j tjdkr|jtkr|j j|j|jdk r|j j|j|jdk rx |jD]\}}|j j||qW|jdk rx|jD]}|j j|qW|jdk r|j j|j|j dk r4|j j|j |jdk rN|j j|j|j dk rh|j j!|j |j"dS)Nr) new_compiler build_clib)rKverbosedry_runr.rU)#r rr?riZhas_c_librariesget_finalized_commandrGextendZget_library_namesrHrrrrKrrr.rrmrurAr Z initializerDZset_include_dirsrEZ define_macrorFZundefine_macroZ set_librariesZset_library_dirsrIZset_runtime_library_dirsrJZset_link_objectsbuild_extensions)rPrrruvaluemacrorrrruns>             z build_ext.runc Cst|tstdxnt|D]`\}}t|tr4qt|t sLt|dkrTtd|\}}tjd|t|t ozt j |stdt|t stdt||d}x*dD]"}|j |}|dk rt|||qW|j d|_d|krtjd|j d}|rxg|_g|_xj|D]b} t| to,t| dks8tdt| dkrX|jj| dnt| dkr|jj| qW|||<qWdS)aEnsure that the list of extensions (presumably provided as a command option 'extensions') is valid, i.e. it is a list of Extension objects. We also support the old-style list of 2-tuples, where the tuples are (ext_name, build_info), which are converted to Extension instances here. Raise DistutilsSetupError if the structure is invalid anywhere; just returns otherwise. z:'ext_modules' option must be a list of Extension instanceszMeach element of 'ext_modules' option must be an Extension instance or 2-tuplezvold-style (ext_name, build_info) tuple found in ext_modules for extension '%s' -- please convert to Extension instancezRfirst element of each tuple in 'ext_modules' must be the extension name (a string)zOsecond element of each tuple in 'ext_modules' must be a dictionary (build info)sourcesrDrHrG extra_objectsextra_compile_argsextra_link_argsNrIZdef_filez9'def_file' element of build info dict no longer supportedmacrosrSz9'macros' element of build info dict must be 1- or 2-tupler)rDrHrGrrr)rSr)rjlistDistutilsSetupError enumeratertuplelenr warnrkextension_name_rematchdictgetsetattrruntime_library_dirs define_macros undef_macrosrr) rPr?rextext_nameZ build_infokeyvalrrrrrcheck_extensions_listUsT           zbuild_ext.check_extensions_listcCs0|j|jg}x|jD]}|j|jqW|S)N)rr?rr)rP filenamesrrrrget_source_filess   zbuild_ext.get_source_filescCs6|j|jg}x |jD]}|j|j|jqW|S)N)rr?rrget_ext_fullpathru)rPZoutputsrrrr get_outputss   zbuild_ext.get_outputscCs(|j|j|jr|jn|jdS)N)rr?rO_build_extensions_parallel_build_extensions_serial)rPrrrrs  zbuild_ext.build_extensionscsj}jdkrtj}yddlm}Wntk r@d}YnX|dkrVjdS||dTfddjD}x6tj|D]&\}}j ||j WdQRXqWWdQRXdS)NTr)ThreadPoolExecutor) max_workerscsg|]}jj|qSr)Zsubmitbuild_extension)rer)executorrPrrrfsz8build_ext._build_extensions_parallel..) rOrm cpu_countconcurrent.futuresr ImportErrorrr?zip_filter_build_errorsresult)rPworkersrZfuturesrZfutr)rrPrrs       z$build_ext._build_extensions_parallelc Cs4x.|jD]$}|j||j|WdQRXqWdS)N)r?rr)rPrrrrrs  z"build_ext._build_extensions_serialccsTy dVWnDtttfk rN}z"|js*|jd|j|fWYdd}~XnXdS)Nz"building extension "%s" failed: %s)ZCCompilerErrorZDistutilsErrorZ CompileErrorZoptionalrru)rPrerrrrs zbuild_ext._filter_build_errorsc CsX|j}|dkst|ttf r,td|jt|}|j|j}||j}|jpZt ||dsnt j d|jdSt j d|j|j ||}|jpg}|jdd}x|jD]}|j|fqW|jj||j||j|j ||jd}|dd|_|jr|j|j|jp g}|jp|jj|} |jj|||j||j|j||j ||j |j| d dS)Nzjin 'ext_modules' option (extension '%s'), 'sources' must be present and must be a list of source filenamesZnewerz$skipping '%s' extension (up-to-date)zbuilding '%s' extension)Z output_dirrrDr+extra_postargsdepends)rGrHrrexport_symbolsr+rBZ target_lang)!rrjrrrrurrr.rr r+info swig_sourcesrrrrrrKcompilerBrDZ_built_objectsrrrlanguageZdetect_languageZlink_shared_object get_librariesrHrget_export_symbols) rPrrext_pathrZ extra_argsrrFZobjectsrrrrrsN         zbuild_ext.build_extensioncCs2g}g}i}|jrtjd|js6d|jks6d|jkr        zbuild_ext.swig_sourcescCs`tjdkrdStjdkrNxBd D]&}tjjd|d}tjj|r|SqWdSntd tjd S) zReturn the name of the SWIG executable. On Unix, this is just "swig" -- it should be in the PATH. Tries a bit harder on Windows. posixrLrU1.31.21.1z c:\swig%szswig.exez>I don't know how to find (much less run) SWIG on platform '%s'N)rrr)rmrursrtisfileZDistutilsPlatformError)rPZversfnrrrrfs    zbuild_ext.find_swigcCs|j|}|jd}|j|d}|jsRtjj|dd|g}tjj|j|Sdj|dd}|jd}tjj |j |}tjj||S) zReturns the path of the filename for a given extension. The file is located in `build_lib` or directly in the package (inplace option). r`rSNrbuild_pyrrr) get_ext_fullnamerlget_ext_filenamerrmrsrtr@rabspathZget_package_dir)rPrfullnameZmodpathfilenamerCrZ package_dirrrrr~s   zbuild_ext.get_ext_fullpathcCs |jdkr|S|jd|SdS)zSReturns the fullname of a given extension name. Adds the `package.` prefixNr`)rC)rPrrrrrs zbuild_ext.get_ext_fullnamecCs.ddlm}|jd}|d}tjj||S)zConvert the name of an extension (eg. "foo.bar") into the name of the file from which it will be loaded (eg. "foo/bar.so", or "foo\bar.pyd"). r)r|r` EXT_SUFFIX)distutils.sysconfigr|rlrmrsrt)rPrr|rZ ext_suffixrrrrs  zbuild_ext.get_ext_filenamecCs0d|jjdd}||jkr*|jj||jS)aReturn the list of symbols that a shared extension has to export. This either uses 'ext.export_symbols' or, if it's not provided, "PyInit_" + module_name. Only relevant on Windows, where the .pyd file (DLL) must export the module "PyInit_" function. ZPyInit_r`rSr)rurlrrr)rPrZ initfunc_namerrrrs  zbuild_ext.get_export_symbolscCstjdkrfddlm}t|j|s\d}|jr4|d}|tjd?tjd?d@f}|j|gS|jSnRtjd d d krd }|tjd?tjd?d@f}|j|gStjd d d kr>ddl m }d }|tjd?tjd?d@f}g}xB|j dj D]0}|j dr|j|dd n |j|qW|j|dg|StjdkrP|jStjd ddkrj|jSddl m }|j drdjtjd?tjd?d@|j d}|j|gS|jSd S)zReturn the list of libraries to link against when building a shared extension. On most platforms, this is just 'ext.libraries'; on Windows, we add the Python library (eg. python20.dll). rWr) MSVCCompilerz python%d%dZ_dNrYrZz python%d.%dr[)rRSHLIBSz-lrmdarwinaixraz python{}.{}{}ABIFLAGS)roryZdistutils._msvccompilerrrjrKr+ hexversionrGrhrRr|rlr{rrformat)rPrrtemplateZ pythonlibrRZextrar]rrrrsJ             zbuild_ext.get_libraries)rrr)rrriignore build-lib and put compiled extensions into the source directory alongside your pure Python modules)rrr)rrr)rrr )r!r"r#)r%r&r')r(r)r*)r+r,r-)r.r/r0)r1r2r3)r4r5r6)r7Nr8)r9Nr:)r;Nr<)r=Nr>) __name__ __module__ __qualname__ descriptionrmrnZsep_byr Z user_optionsZboolean_optionsr Z help_optionsrQrrrrrrrr contextlibcontextmanagerrrrrrrrrrrrrrr!s  @N  K6   r)__doc__rrmreroZdistutils.corerZdistutils.errorsrrrrZdistutils.dep_utilrZdistutils.extensionrZdistutils.utilr rhr Zsiter rrr rrrrrs"       __pycache__/sdist.cpython-36.pyc000064400000031443147210141470012536 0ustar003 \E@sdZddlZddlZddlTddlmZddlmZddlmZddl m Z m Z m Z m Z ddlmZddlTdd lmZdd l mZdd lmZd d ZGdddeZdS)zadistutils.command.sdist Implements the Distutils 'sdist' command (create a source distribution).N)*)glob)warn)Command)dir_utildep_util file_util archive_util)TextFile)FileList)log) convert_pathcCsdddlm}ddlm}g}x,|jD] }|jd|d||dfq&W|j||jddS)zoPrint all possible values for the 'formats' option (used by the "--help-formats" command-line option). r) FancyGetopt)ARCHIVE_FORMATSzformats=Nz.List of available source distribution formats:)Zdistutils.fancy_getoptrZdistutils.archive_utilrkeysappendsortZ print_help)rrformatsformatr/usr/lib64/python3.6/sdist.py show_formatss   rc@seZdZdZddZdJdKdLdMdNdOdPdQdRdTdUdVdWdXgZd ddddd"gZd*d d+efgZd dd,Z d-efgZ d.d/Z d0d1Z d2d3Z d4d5Zd6d7Zd8d9Zd:d;Zdd?Zd@dAZdBdCZdDdEZdFdGZdHdIZd S)Ysdistz6create a source distribution (tarball, zip file, etc.)cCs|jS)zYCallable used for the check sub-command. Placed here so user_options can view it)metadata_check)selfrrrchecking_metadata%szsdist.checking_metadata template=t5name of manifest template file [default: MANIFEST.in] manifest=m)name of manifest file [default: MANIFEST] use-defaultsNRinclude the default file set in the manifest [default; disable with --no-defaults] no-defaults"don't include the default file setprunespecifically exclude files/directories that should not be distributed (build tree, RCS/CVS dirs, etc.) [default; disable with --no-prune]no-prune$don't automatically exclude anything manifest-onlyoEjust regenerate the manifest and then stop (implies --force-manifest)force-manifestfkforcibly regenerate the manifest and carry on as usual. Deprecated: now the manifest is always regenerated.formats=6formats for source distribution (comma-separated list) keep-tempkz1keep the distribution tree around after creating zarchive file(s) dist-dir=dFdirectory to put the source distribution archive(s) in [default: dist]metadata-check[Ensure that all required elements of meta-data are supplied. Warn if any missing. [default]owner=u@Owner name used when creating a tar file [default: current user]group=gAGroup name used when creating a tar file [default: current group]z help-formatsz#list available distribution formats)z no-defaultszno-prunecheckcCsTd|_d|_d|_d|_d|_d|_dg|_d|_d|_d|_ d|_ d|_ d|_ dS)NrZgztar) templatemanifest use_defaultsr' manifest_onlyZforce_manifestr keep_tempdist_dir archive_filesrownergroup)rrrrinitialize_options`szsdist.initialize_optionscCsZ|jdkrd|_|jdkr d|_|jdtj|j}|rFtd||jdkrVd|_dS)NZMANIFESTz MANIFEST.inrzunknown archive format '%s'Zdist)rCrBZensure_string_listr Zcheck_archive_formatsrZDistutilsOptionErrorrG)rZ bad_formatrrrfinalize_optionsws      zsdist.finalize_optionscCsBt|_x|jD]}|j|qW|j|jr6dS|jdS)N)r filelistZget_sub_commandsZ run_command get_file_listrEmake_distribution)rZcmd_namerrrrunsz sdist.runcCs*tdt|jjd}|j|jdS)zDeprecated API.zadistutils.command.sdist.check_metadata is deprecated, use the check command insteadr@N)rPendingDeprecationWarning distributionZget_command_objZensure_finalizedrP)rr@rrrcheck_metadatas  zsdist.check_metadatacCstjj|j}| r<|jr<|j|jj|jjdS|sP|j d|j|jj |j rh|j |rt|j |jr|j|jj|jj|jdS)aCFigure out the list of files to include in the source distribution, and put it in 'self.filelist'. This might involve reading the manifest template (and writing the manifest), or just reading the manifest, or just using the default file set -- it all depends on the user's options. Nz&manifest template '%s' does not exist z(using default file list)z?manifest template '%s' does not exist (using default file list))ospathisfilerB_manifest_is_not_generated read_manifestrMrZremove_duplicatesrfindallrD add_defaults read_templater'prune_file_listwrite_manifest)rZtemplate_existsrrrrNs(      zsdist.get_file_listcCs2d|jjg}x|D]}t|trn|}d}x*|D]"}tjj|r.d}|jj|Pq.W|s|j ddj |qtjj|r|jj|q|j d|qWdd g}x*|D]"}t tjj t |}|jj|qW|jd }|jjr|jj|jx>|jD]4\} } } } x$| D]} |jjtjj | | q WqW|jjrx||jjD]p}t|tr|t|}tjj |r|jj|n:|\}} x0| D](}t|}tjj |r|jj|qWqHW|jjr|jd }|jj|j|jjr|jd }|jj|j|jjr.|jd }|jj|jdS)a9Add all the default files to self.filelist: - README or README.txt - setup.py - test/test*.py - all pure Python modules mentioned in setup script - all files pointed by package_data (build_py) - all files defined in data_files. - all files defined as scripts. - all C sources listed as part of extensions or C libraries in the setup script (doesn't catch C headers!) Warns if (README or README.txt) or setup.py are missing; everything else is optional. README README.txtFTz,standard file not found: should have one of z, zstandard file '%s' not foundz test/test*.pyz setup.cfgbuild_py build_ext build_clib build_scriptsN)r^r_)rRZ script_name isinstancetuplerTrUexistsrMrrjoinfilterrVrextendget_finalized_commandZhas_pure_modulesZget_source_filesZ data_filesZhas_data_filesstrr Zhas_ext_modulesZhas_c_librariesZ has_scripts)rZ standardsfnZaltsZgot_itZoptionalpatternfilesr`ZpkgZsrc_dirZ build_dir filenamesfilenameitemdirnamer/rarbrcrrrrZs\           "         zsdist.add_defaultscCstjd|jt|jddddddd}zlxf|j}|dkrr?)__name__ __module__ __qualname__ descriptionrZ user_optionsZboolean_optionsrZ help_optionsZ negative_optZ sub_commandsrKrLrPrSrNrZr[r\r]rWrXrrOrrrrrr!sj  (P *r)__doc__rTr~typesrwarningsrZdistutils.corerZ distutilsrrrr Zdistutils.text_filer Zdistutils.errorsZdistutils.filelistr r Zdistutils.utilr rrrrrrs       __pycache__/sdist.cpython-36.opt-1.pyc000064400000031443147210141470013475 0ustar003 \E@sdZddlZddlZddlTddlmZddlmZddlmZddl m Z m Z m Z m Z ddlmZddlTdd lmZdd l mZdd lmZd d ZGdddeZdS)zadistutils.command.sdist Implements the Distutils 'sdist' command (create a source distribution).N)*)glob)warn)Command)dir_utildep_util file_util archive_util)TextFile)FileList)log) convert_pathcCsdddlm}ddlm}g}x,|jD] }|jd|d||dfq&W|j||jddS)zoPrint all possible values for the 'formats' option (used by the "--help-formats" command-line option). r) FancyGetopt)ARCHIVE_FORMATSzformats=Nz.List of available source distribution formats:)Zdistutils.fancy_getoptrZdistutils.archive_utilrkeysappendsortZ print_help)rrformatsformatr/usr/lib64/python3.6/sdist.py show_formatss   rc@seZdZdZddZdJdKdLdMdNdOdPdQdRdTdUdVdWdXgZd ddddd"gZd*d d+efgZd dd,Z d-efgZ d.d/Z d0d1Z d2d3Z d4d5Zd6d7Zd8d9Zd:d;Zdd?Zd@dAZdBdCZdDdEZdFdGZdHdIZd S)Ysdistz6create a source distribution (tarball, zip file, etc.)cCs|jS)zYCallable used for the check sub-command. Placed here so user_options can view it)metadata_check)selfrrrchecking_metadata%szsdist.checking_metadata template=t5name of manifest template file [default: MANIFEST.in] manifest=m)name of manifest file [default: MANIFEST] use-defaultsNRinclude the default file set in the manifest [default; disable with --no-defaults] no-defaults"don't include the default file setprunespecifically exclude files/directories that should not be distributed (build tree, RCS/CVS dirs, etc.) [default; disable with --no-prune]no-prune$don't automatically exclude anything manifest-onlyoEjust regenerate the manifest and then stop (implies --force-manifest)force-manifestfkforcibly regenerate the manifest and carry on as usual. Deprecated: now the manifest is always regenerated.formats=6formats for source distribution (comma-separated list) keep-tempkz1keep the distribution tree around after creating zarchive file(s) dist-dir=dFdirectory to put the source distribution archive(s) in [default: dist]metadata-check[Ensure that all required elements of meta-data are supplied. Warn if any missing. [default]owner=u@Owner name used when creating a tar file [default: current user]group=gAGroup name used when creating a tar file [default: current group]z help-formatsz#list available distribution formats)z no-defaultszno-prunecheckcCsTd|_d|_d|_d|_d|_d|_dg|_d|_d|_d|_ d|_ d|_ d|_ dS)NrZgztar) templatemanifest use_defaultsr' manifest_onlyZforce_manifestr keep_tempdist_dir archive_filesrownergroup)rrrrinitialize_options`szsdist.initialize_optionscCsZ|jdkrd|_|jdkr d|_|jdtj|j}|rFtd||jdkrVd|_dS)NZMANIFESTz MANIFEST.inrzunknown archive format '%s'Zdist)rCrBZensure_string_listr Zcheck_archive_formatsrZDistutilsOptionErrorrG)rZ bad_formatrrrfinalize_optionsws      zsdist.finalize_optionscCsBt|_x|jD]}|j|qW|j|jr6dS|jdS)N)r filelistZget_sub_commandsZ run_command get_file_listrEmake_distribution)rZcmd_namerrrrunsz sdist.runcCs*tdt|jjd}|j|jdS)zDeprecated API.zadistutils.command.sdist.check_metadata is deprecated, use the check command insteadr@N)rPendingDeprecationWarning distributionZget_command_objZensure_finalizedrP)rr@rrrcheck_metadatas  zsdist.check_metadatacCstjj|j}| r<|jr<|j|jj|jjdS|sP|j d|j|jj |j rh|j |rt|j |jr|j|jj|jj|jdS)aCFigure out the list of files to include in the source distribution, and put it in 'self.filelist'. This might involve reading the manifest template (and writing the manifest), or just reading the manifest, or just using the default file set -- it all depends on the user's options. Nz&manifest template '%s' does not exist z(using default file list)z?manifest template '%s' does not exist (using default file list))ospathisfilerB_manifest_is_not_generated read_manifestrMrZremove_duplicatesrfindallrD add_defaults read_templater'prune_file_listwrite_manifest)rZtemplate_existsrrrrNs(      zsdist.get_file_listcCs2d|jjg}x|D]}t|trn|}d}x*|D]"}tjj|r.d}|jj|Pq.W|s|j ddj |qtjj|r|jj|q|j d|qWdd g}x*|D]"}t tjj t |}|jj|qW|jd }|jjr|jj|jx>|jD]4\} } } } x$| D]} |jjtjj | | q WqW|jjrx||jjD]p}t|tr|t|}tjj |r|jj|n:|\}} x0| D](}t|}tjj |r|jj|qWqHW|jjr|jd }|jj|j|jjr|jd }|jj|j|jjr.|jd }|jj|jdS)a9Add all the default files to self.filelist: - README or README.txt - setup.py - test/test*.py - all pure Python modules mentioned in setup script - all files pointed by package_data (build_py) - all files defined in data_files. - all files defined as scripts. - all C sources listed as part of extensions or C libraries in the setup script (doesn't catch C headers!) Warns if (README or README.txt) or setup.py are missing; everything else is optional. README README.txtFTz,standard file not found: should have one of z, zstandard file '%s' not foundz test/test*.pyz setup.cfgbuild_py build_ext build_clib build_scriptsN)r^r_)rRZ script_name isinstancetuplerTrUexistsrMrrjoinfilterrVrextendget_finalized_commandZhas_pure_modulesZget_source_filesZ data_filesZhas_data_filesstrr Zhas_ext_modulesZhas_c_librariesZ has_scripts)rZ standardsfnZaltsZgot_itZoptionalpatternfilesr`ZpkgZsrc_dirZ build_dir filenamesfilenameitemdirnamer/rarbrcrrrrZs\           "         zsdist.add_defaultscCstjd|jt|jddddddd}zlxf|j}|dkrr?)__name__ __module__ __qualname__ descriptionrZ user_optionsZboolean_optionsrZ help_optionsZ negative_optZ sub_commandsrKrLrPrSrNrZr[r\r]rWrXrrOrrrrrr!sj  (P *r)__doc__rTr~typesrwarningsrZdistutils.corerZ distutilsrrrr Zdistutils.text_filer Zdistutils.errorsZdistutils.filelistr r Zdistutils.utilr rrrrrrs       __pycache__/test.cpython-36.pyc000064400000017625147210141470012375 0ustar003 K]#@sddlZddlZddlZddlZddlZddlZddlmZmZddl m Z ddlm Z ddl m Z ddlmZmZddlmZmZmZmZmZmZmZmZmZddlmZGd d d e ZGd d d eZGd ddeZ dS)N)DistutilsErrorDistutilsOptionError)log) TestLoader)six)mapfilter) resource_listdirresource_existsnormalize_path working_set_namespace_packagesevaluate_markeradd_activation_listenerrequire EntryPoint)Commandc@seZdZddZdddZdS)ScanningLoadercCstj|t|_dS)N)r__init__set_visited)selfr/usr/lib/python3.6/test.pyrs zScanningLoader.__init__NcCs||jkrdS|jj|g}|jtj||t|drH|j|jt|drxpt|jdD]`}|j dr|dkr|jd|dd }n"t |j|d r`|jd|}nq`|j|j |q`Wt |d kr|j |S|d SdS) aReturn a suite of all tests cases contained in the given module If the module is a package, load tests from all the modules in it. If the module has an ``additional_tests`` function, call it and add the return value to the tests. Nadditional_tests__path__z.pyz __init__.py.z /__init__.pyr)raddappendrloadTestsFromModulehasattrrr __name__endswithr ZloadTestsFromNamelenZ suiteClass)rmodulepatternZtestsfileZ submodulerrrr#s$      z"ScanningLoader.loadTestsFromModule)N)r% __module__ __qualname__rr#rrrrrsrc@seZdZddZdddZdS)NonDataPropertycCs ||_dS)N)fget)rr.rrrr>szNonDataProperty.__init__NcCs|dkr |S|j|S)N)r.)robjZobjtyperrr__get__AszNonDataProperty.__get__)N)r%r+r,rr0rrrrr-=sr-c@seZdZdZdZd%d&d'gZd d ZddZeddZ ddZ ddZ e j gfddZee j ddZeddZddZddZed d!Zed"d#Zd$S)(testz.Command to run unit tests after in-place buildz#run unit tests after in-place build test-module=m$Run 'test_suite' in specified module test-suite=s9Run single test, case or suite (e.g. 'module.test_suite') test-runner=rTest runner to usecCsd|_d|_d|_d|_dS)N) test_suite test_module test_loader test_runner)rrrrinitialize_optionsSsztest.initialize_optionscCs|jr|jrd}t||jdkrD|jdkr8|jj|_n |jd|_|jdkr^t|jdd|_|jdkrnd|_|jdkrt|jdd|_dS)Nz1You may specify a module or a suite, but not bothz .test_suiter=z&setuptools.command.test:ScanningLoaderr>)r;r<r distributionr=getattrr>)rmsgrrrfinalize_optionsYs        ztest.finalize_optionscCs t|jS)N)list _test_args)rrrr test_argslsztest.test_argsccs6|j rtjdkrdV|jr$dV|jr2|jVdS)NZdiscoverz --verbose)rGrH)r;sys version_infoverbose)rrrrrEps ztest._test_argsc Cs|j |WdQRXdS)zI Backward compatibility for project_on_sys_path context. N)project_on_sys_path)rfuncrrrwith_project_on_sys_pathxs ztest.with_project_on_sys_pathc csPtjot|jdd}|rv|jddd|jd|jd}t|j}|jd|d|jd|jddd|jdn"|jd|jdd d|jd|jd}t j dd}t j j }zbt|j }t j jd|tjtd d td |j|jf|j|g dVWdQRXWd|t j dd<t j jt j j|tjXdS) Nuse_2to3FZbuild_pyr)ZinplaceZegg_info)egg_baseZ build_extrcSs|jS)N)Zactivate)distrrrsz*test.project_on_sys_path..z%s==%s)rPY3rAr@Zreinitialize_commandZ run_commandZget_finalized_commandr Z build_librIpathmodulescopyrPinsertr rrrZegg_nameZ egg_versionpaths_on_pythonpathclearupdate) rZ include_distsZ with_2to3Zbpy_cmdZ build_pathZei_cmdZold_pathZ old_modulesZ project_pathrrrrLs8             ztest.project_on_sys_pathc cst}tjjd|}tjjdd}z>tjj|}td||g}tjj|}|rX|tjd<dVWd||krztjjddn |tjd<XdS)z Add the indicated paths to the head of the PYTHONPATH environment variable so that subprocesses will also see the packages at these paths. Do this in a context that restores the value on exit. PYTHONPATHrN)objectosenvirongetpathsepjoinrpop)pathsZnothingZorig_pythonpathZcurrent_pythonpathprefixZto_joinnew_pathrrrrXs     ztest.paths_on_pythonpathcCsD|j|j}|j|jpg}|jdd|jjD}tj|||S)z Install the requirements indicated by self.distribution and return an iterable of the dists that were built. css0|](\}}|jdrt|ddr|VqdS):rN) startswithr).0kvrrr sz%test.install_dists..)Zfetch_build_eggsZinstall_requiresZ tests_requireZextras_requireitems itertoolschain)rQZir_dZtr_dZer_drrr install_distss  ztest.install_distscCs|j|j}dj|j}|jr0|jd|dS|jd|ttjd|}|j |"|j |j WdQRXWdQRXdS)N zskipping "%s" (dry run)z running "%s"location) ror@ra_argvZdry_runannounceroperator attrgetterrXrL run_tests)rZinstalled_distscmdrcrrrruns    ztest.runcCstjrt|jddr|jjdd}|tkrg}|tjkrD|j ||d7}x"tjD]}|j |rT|j |qTWt t tjj |tjdd|j|j|j|j|jdd}|jjsd|j}|j|tjt|dS)NrOFrr)Z testLoaderZ testRunnerexitzTest failed: %s)rrSrAr@r;splitr rIrUr"rgrDr __delitem__unittestmainrr_resolve_as_epr=r>resultZ wasSuccessfulrsrZERRORr)rr(Z del_modulesnamer1rBrrrrvs(        ztest.run_testscCs dg|jS)Nr|)rF)rrrrrrsz test._argvcCs$|dkr dStjd|}|jS)zu Load the indicated attribute value, called, as a as if it were specified as an entry point. Nzx=)rparseZresolve)valZparsedrrrr~sztest._resolve_as_epN)r2r3r4)r5r6r7)r8r9r:)r%r+r,__doc__ descriptionZ user_optionsr?rCr-rFrErN contextlibcontextmanagerrL staticmethodrXrorxrvpropertyrrr~rrrrr1Gs( -  r1)!r]rtrIrrmr|Zdistutils.errorsrrZ distutilsrrZsetuptools.externrZsetuptools.extern.six.movesrrZ pkg_resourcesr r r r r rrrrZ setuptoolsrrr\r-r1rrrrs   , ) __pycache__/install_egg_info.cpython-36.pyc000064400000005627147210141470014720 0ustar003 \+ @sddZddlmZddlmZmZddlZddlZddlZGdddeZ ddZ d d Z d d Z dS) zdistutils.command.install_egg_info Implements the Distutils 'install_egg_info' command, for installing a package's PKG-INFO metadata.)Command)logdir_utilNc@s:eZdZdZdZdgZddZdd Zd d Zd d Z dS)install_egg_infoz)Install an .egg-info file for the packagez8Install package's PKG-INFO metadata as an .egg-info file install-dir=ddirectory to install tocCs d|_dS)N) install_dir)selfr (/usr/lib64/python3.6/install_egg_info.pyinitialize_optionssz#install_egg_info.initialize_optionscCsb|jdddtt|jjtt|jjftjdd}t j j |j ||_ |j g|_dS)NZ install_libr z%s-%s-py%d.%d.egg-info)r r )Zset_undefined_options to_filename safe_name distributionZget_name safe_versionZ get_versionsys version_infoospathjoinr targetoutputs)r basenamer r r finalize_optionss z!install_egg_info.finalize_optionsc Cs|j}tjj|r2tjj| r2tj||jdnNtjj|rX|j tj |jfd|n(tjj|j s|j tj |j fd|j t jd||jst|ddd}|jjj|WdQRXdS)N)dry_runz Removing z Creating z Writing %swzUTF-8)encoding)rrrisdirislinkrZ remove_treerexistsZexecuteunlinkr makedirsrinfoopenrZmetadataZwrite_pkg_file)r rfr r r run s   zinstall_egg_info.runcCs|jS)N)r)r r r r get_outputs.szinstall_egg_info.get_outputsN)rrr) __name__ __module__ __qualname____doc__ descriptionZ user_optionsr rr'r(r r r r r s rcCstjdd|S)zConvert an arbitrary string to a standard distribution name Any runs of non-alphanumeric/. characters are replaced with a single '-'. z[^A-Za-z0-9.]+-)resub)namer r r r6srcCs|jdd}tjdd|S)zConvert an arbitrary string to a standard version string Spaces become dots, and all other non-alphanumeric characters become dashes, with runs of multiple dashes condensed to a single dash.  .z[^A-Za-z0-9.]+r.)replacer/r0)versionr r r r>s rcCs |jddS)z|Convert a project or version name to its filename-escaped form Any '-' characters are currently replaced with '_'. r._)r4)r1r r r rHsr) r,Z distutils.cmdrZ distutilsrrrrr/rrrrr r r r s + __pycache__/easy_install.cpython-36.opt-1.pyc000064400000176606147210141470015051 0ustar003 K]T @sdZddlmZddlmZddlmZmZddlmZmZm Z m Z ddl m Z m Z ddlmZmZddlmZdd lmZdd lZdd lZdd lZdd lZdd lZdd lZdd lZdd lZdd lZdd lZdd lZdd l Z dd l!Z!dd l"Z"dd l#Z#dd l$Z$dd l%Z%dd l&m'Z'dd l(m)Z)m*Z*dd l+m,Z,ddl-m.Z.ddl/m0Z0m1Z1ddl2m3Z3ddl4m5Z5ddl6m7Z7ddl8m9Z9m:Z:m;Z;ddl4mm?Z?ddl@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZOdd lPZ@ejQde@jRdddddddgZSdd ZTd!dZUe'jVr2d"d#ZWd$d%ZXnd&d#ZWd'd%ZXd(d)ZYGd*dde,ZZd+d,Z[d-d.Z\d/d0Z]d1dZ^d2dZ_Gd3ddeGZ`Gd4d5d5e`Zaejbjcd6d7d8kreaZ`d9d:Zdd;d<Zed=d>Zfd?d@ZgdpdAdBZhdCdDZidEdFZjdGejkkrejZlndHdIZldqdKdLZmdMdNZndOdPZodQdRZpyddSlmqZrWnesk r^dTdUZrYnXdVdWZqGdXdYdYetZueujvZwGdZd[d[euZxGd\d]d]eyZzGd^d_d_ezZ{Gd`dadae{Z|ezj}Z}ezj~Z~dbdcZdddeZdfeefdgdhZdidjZdkdlZdrdmdZe"jdndoZd S)sa% Easy Install ------------ A tool for doing automatic download/extract/build of distutils-based Python packages. For detailed documentation, see the accompanying EasyInstall.txt file, or visit the `EasyInstall home page`__. __ https://setuptools.readthedocs.io/en/latest/easy_install.html )glob) get_platform) convert_path subst_vars)DistutilsArgErrorDistutilsOptionErrorDistutilsErrorDistutilsPlatformError)INSTALL_SCHEMES SCHEME_KEYS)logdir_util) first_line_re)find_executableN)six) configparsermap)Command) run_setup)get_pathget_config_vars) rmtree_safe)setopt)unpack_archive) PackageIndexparse_requirement_arg URL_SCHEME) bdist_eggegg_info)Wheel) yield_linesnormalize_pathresource_stringensure_directoryget_distributionfind_distributions Environment Requirement Distribution PathMetadata EggMetadata WorkingSetDistributionNotFoundVersionConflict DEVELOP_DISTdefault)categorysamefile easy_installPthDistributionsextract_wininst_cfgmainget_exe_prefixescCstjddkS)NP)structcalcsizer;r;"/usr/lib/python3.6/easy_install.pyis_64bitIsr=cCsjtjj|otjj|}ttjdo&|}|r:tjj||Stjjtjj|}tjjtjj|}||kS)z Determine if two paths reference the same file. Augments os.path.samefile to work on Windows and suppresses errors if the path doesn't exist. r1)ospathexistshasattrr1normpathnormcase)Zp1Zp2Z both_existZ use_samefileZnorm_p1Znorm_p2r;r;r<r1MscCs|S)Nr;)sr;r;r< _to_ascii_srEc Cs*ytj|ddStk r$dSXdS)NasciiTF)rZ text_type UnicodeError)rDr;r;r<isasciibs  rHcCs |jdS)NrF)encode)rDr;r;r<rEjsc Cs(y|jddStk r"dSXdS)NrFTF)rIrG)rDr;r;r<rHms  cCstj|jjddS)N z; )textwrapdedentstripreplace)textr;r;r<usrPc@seZdZdZdZdZdddddddddddddddddddddgZdd dd dd0d3d9ddddZ?ejdj Z@ddZAddZBddZCddZDddZEddZFddZGddZHejdj ZIddZJddZKddZLeMeMddddZNeMdddZOddZPdS)r2z'Manage a download/build/install processz Find/get/install Python packagesTprefix=Ninstallation prefixzip-okzinstall package as a zipfile multi-versionm%make apps have to require() a versionupgradeU1force upgrade (searches PyPI for latest versions) install-dir=dinstall package to DIR script-dir=rDinstall scripts to DIRexclude-scriptsxDon't install scripts always-copya'Copy all needed packages to install dir index-url=i base URL of Python Package Index find-links=f(additional URL(s) to search for packagesbuild-directory=b/download/extract/build in DIR; keep the results optimize=Olalso compile with optimization: -O1 for "python -O", -O2 for "python -OO", and -O0 to disable [default: -O0]record=3filename in which to record list of installed files always-unzipZ*don't install as a zipfile, no matter what site-dirs=S)list of directories where .pth files workeditablee+Install specified packages in editable formno-depsNdon't install dependencies allow-hosts=H$pattern(s) that hostnames must matchlocal-snapshots-okl(allow building eggs from local checkoutsversion"print version information and exit no-find-links9Don't load find-links defined in packages being installedz!install in user site-package '%s'usercCs,d|_d|_|_d|_|_|_d|_d|_d|_d|_ d|_ |_ d|_ |_ |_d|_|_|_d|_|_|_d|_d|_d|_d|_d|_d|_d|_d|_d|_tjrtj |_!tj"|_#n d|_!d|_#d|_$d|_%d|_&|_'d|_(i|_)d|_*d|_+|j,j-|_-|j,j.||j,j/ddS)NrFr2)0rzip_oklocal_snapshots_ok install_dir script_direxclude_scripts index_url find_linksbuild_directoryargsoptimizerecordrY always_copy multi_versionr{no_deps allow_hostsrootprefix no_reportrinstall_purelibinstall_platlibinstall_headers install_libinstall_scripts install_data install_baseinstall_platbasesiteENABLE_USER_SITE USER_BASEinstall_userbase USER_SITEinstall_usersite no_find_links package_indexpth_filealways_copy_from site_dirsinstalled_projectssitepy_installedZ_dry_run distributionverboseZ_set_command_optionsget_option_dict)selfr;r;r<initialize_optionssF     zeasy_install.initialize_optionscCs"dd|D}tt|j|dS)Ncss*|]"}tjj|stjj|r|VqdS)N)r>r?r@islink).0filenamer;r;r< sz/easy_install.delete_blockers..)listr _delete_path)rblockersZextant_blockersr;r;r<delete_blockersszeasy_install.delete_blockerscCsJtjd||jrdStjj|o.tjj| }|r8tntj}||dS)Nz Deleting %s) r infodry_runr>r?isdirrrmtreeunlink)rr?Zis_treeZremoverr;r;r<rs  zeasy_install._delete_pathcCs6tjdd}td}d}t|jfttdS)zT Render the Setuptools version and installation details, then exit. N setuptoolsz=setuptools {dist.version} from {dist.location} (Python {ver}))sysrr$printformatlocals SystemExit)Zverdisttmplr;r;r<_render_versions zeasy_install._render_versionc Cst|jo |jtjjd}tdd\}}|jj|jj|jj||dd|d|d||||t tddd |_ t j r|j |j d <|j|j d <|j|j|j|jd d d d|jdkr|j|_|jdkrd|_|jdd!|jdd"|jr|jr|j|_|j|_|jdd#tttj}t|_|jdk rdd|jjdD}xV|D]N}t jj!|s~t"j#d|n,t||krt$|dn|jj%t|q^W|j&s|j'|j(pd|_(|jdd|_)x4|jt|jfD] }||j)kr|j)j*d|qW|j+dk r8dd|j+jdD}ndg}|j,dkr`|j-|j(|j)|d|_,t.|j)tj|_/|j0dk rt1|j0t2j3r|j0j|_0ng|_0|j4r|j,j5|j)tj|js|j,j6|j0|jdd$t1|j7t8s@y2t8|j7|_7d|j7kodknst9Wnt9k r>t$dYnX|j&rZ|j: rZt;d|j<sjt;d g|_=dS)%Nrr exec_prefixrabiflags) Z dist_nameZ dist_versionZ dist_fullname py_versionpy_version_shortpy_version_nodotZ sys_prefixrZsys_exec_prefixrruserbaseZusersiterrrrFrrinstallrcSsg|]}tjj|jqSr;)r>r? expanduserrM)rrDr;r;r< 3sz1easy_install.finalize_options..,z"%s (in --site-dirs) does not existz$ (in --site-dirs) is not on sys.pathzhttps://pypi.org/simple/cSsg|] }|jqSr;)rM)rrDr;r;r<rHs*)Z search_pathhostsrz--optimize must be 0, 1, or 2z9Must specify a build directory (-b) when using --editablez:No urls, filenames, or requirements specified (see --help))rr)rr)rr)rr)>rrrsplitrrZget_nameZ get_versionZ get_fullnamegetattr config_varsrrrr_fix_install_dir_for_user_siteexpand_basedirs expand_dirs_expandrrrZset_undefined_optionsrrrrr!r? get_site_dirs all_site_dirsrr>rr warnrappendr{check_site_dirr shadow_pathinsertrr create_indexr& local_indexr isinstancerZ string_typesrZscan_egg_linksadd_find_linksrint ValueErrorrrroutputs) rrrrrBrr]Z path_itemrr;r;r<finalize_optionss                zeasy_install.finalize_optionscCs`|j stj rdS|j|jdkr2d}t||j|_|_tj j ddd}|j |dS)z; Fix the install_dir if "--user" was used. Nz$User base directory is not specifiedposixZunixZ_user) rrrcreate_home_pathrr rrr>namerN select_scheme)rmsgZ scheme_namer;r;r<rms z+easy_install._fix_install_dir_for_user_sitecCs\xV|D]N}t||}|dk rtjdks0tjdkrrr?rrrsetattr)rattrsattrvalr;r;r< _expand_attrs|s    zeasy_install._expand_attrscCs|jdddgdS)zNCalls `os.path.expanduser` on install_base, install_platbase and root.rrrN)r)rr;r;r<rszeasy_install.expand_basedirscCsddddddg}|j|dS)z+Calls `os.path.expanduser` on install dirs.rrrrrrN)r)rdirsr;r;r<rszeasy_install.expand_dirsc Cs|j|jjkrtj|jzx|jD]}|j||j q$W|jr|j}|j rt |j }x(t t |D]}|||d||<qfWddl m }|j|j|j|fd|j|jWdtj|jjXdS)Nr) file_utilz'writing list of installed files to '%s')rrr set_verbosityrr2rrrrlenrange distutilsrexecuteZ write_filewarn_deprecated_options)rspecrZroot_lenZcounterrr;r;r<runs$       zeasy_install.runc CsDy tj}Wn"tk r.tjdtj}YnXtjj|j d|S)zReturn a pseudo-tempname base in the install directory. This code is intentionally naive; if a malicious party can write to the target directory you're already in deep doodoo. rztest-easy-install-%s) r>getpid ExceptionrandomZrandintrmaxsizer?joinr)rpidr;r;r<pseudo_tempnames  zeasy_install.pseudo_tempnamecCsdS)Nr;)rr;r;r<rsz$easy_install.warn_deprecated_optionscCsdt|j}tjj|d}tjj|sTytj|Wn ttfk rR|j YnX||j k}| rv|j rv|j }nd|j d}tjj|}y*|rtj|t|djtj|Wn ttfk r|j YnX| r|j rt|j|r|jdkrt||j |_nd|_|tttkr6d|_n$|j rZtjj| rZd|_d|_||_dS)z;Verify that self.install_dir is .pth-capable dir, if neededzeasy-install.pthz .write-testwNT)r!rr>r?r r@makedirsOSErrorIOErrorcant_write_to_targetrrcheck_pth_processingrropencloserno_default_version_msgrr3r _pythonpathr)rinstdirrZ is_site_dirZtestfileZ test_existsr;r;r<rs>         zeasy_install.check_site_diraS can't create or remove files in install directory The following error occurred while trying to add or remove files in the installation directory: %s The installation directory you specified (via --install-dir, --prefix, or the distutils default setting) was: %s z This directory does not currently exist. Please create it and try again, or choose a different installation directory (using the -d or --install-dir option). a Perhaps your account does not have write access to this directory? If the installation directory is a system-owned directory, you may need to sign in as the administrator or "root" account. If you do not have administrative access to this machine, you may wish to choose a different installation directory, preferably one that is listed in your PYTHONPATH environment variable. For information on other options, you may wish to consult the documentation at: https://setuptools.readthedocs.io/en/latest/easy_install.html Please make the appropriate changes for your system and try again. cCsP|jtjd|jf}tjj|js6|d|j7}n|d|j7}t |dS)NrJ) _easy_install__cant_write_msgrexc_inforr>r?r@_easy_install__not_exists_id_easy_install__access_msgr)rrr;r;r<rs z!easy_install.cant_write_to_targetc Cs|j}tjd||jd}|d}tjj|}tdd}y8|rNtj|tjj |}t j j |ddt |d}Wn ttfk r|jYnXz|j|jft|jd }tj}tjd krtjj|\}} tjj|d } | jd kotjj| } | r| }d dlm} | |dddgd tjj|rJtjd|dSWd |r\|jtjj|rttj|tjj|rtj|X|jstjd|dS)z@Empirically verify whether .pth files are supported in inst. dirz Checking .pth file support in %sz.pthz.okzz import os f = open({ok_file!r}, 'w') f.write('OK') f.close() rJT)exist_okrNrz pythonw.exez python.exer)spawnz-Ez-cpassz-TEST PASSED: %s appears to support .pth filesz+TEST FAILED: %s does NOT support .pth filesF)rr rrr>r?r@ _one_linerrdirname pkg_resourcesZ py31compatrrrrrwriterrrr executablerrr lowerdistutils.spawnr rr) rrrZok_fileZ ok_existsrr#rkr&basenameZaltZuse_altr r;r;r<rsV            z!easy_install.check_pth_processingcCs\|j rN|jdrNx:|jdD],}|jd|r2q|j|||jd|qW|j|dS)z=Write all the scripts for `dist`, unless scripts are excludedscriptszscripts/N)rZmetadata_isdirZmetadata_listdirinstall_scriptZ get_metadatainstall_wrapper_scripts)rr script_namer;r;r<install_egg_scriptsSsz easy_install.install_egg_scriptscCs\tjj|rLxJtj|D].\}}}x"|D]}|jjtjj||q(WqWn |jj|dS)N)r>r?rwalkrrr )rr?baserfilesrr;r;r< add_outputas    zeasy_install.add_outputcCs|jrtd|fdS)NzjInvalid argument %r: you can't use filenames or URLs with --editable (except via the --find-links option).)r{r)rrr;r;r< not_editableiszeasy_install.not_editablecCs<|js dStjjtjj|j|jr8td|j|jfdS)Nz2%r already exists in %s; can't do a checkout there)r{r>r?r@r rkeyr)rrr;r;r<check_editableqs zeasy_install.check_editablec cs@tjtjdd}zt|VWdtjj|o8tt |XdS)Nz easy_install-)r) tempfilemkdtemprustrr>r?r@rr)rtmpdirr;r;r<_tmpdir{szeasy_install._tmpdirFcCs|js|j|j}t|tst|rT|j||jj||}|j d|||dSt j j |r||j||j d|||dSt |}|j||jj|||j|j|j |j}|dkrd|}|jr|d7}t|n0|jtkr|j|||d|S|j ||j||SWdQRXdS)NTz+Could not find suitable distribution for %rz2 (--always-copy skips system and development eggs)Using)r{install_site_pyr;rr'rr3rdownload install_itemr>r?r@rr5Zfetch_distributionrYrrrZ precedencer.process_distributionlocation)rrdepsr:dlrrr;r;r<r2s2         zeasy_install.easy_installcCs|p|j}|ptjj||k}|p,|jd }|pT|jdk oTtjjt|t|jk}|r| rx$|j|jD]}|j |krnPqnWd}t j dtjj ||r|j |||}x<|D]}|j|||qWn |j|g}|j||d|d|dk rx|D]}||kr|SqWdS)Nz.eggTz Processing %srr<)rr>r?r#endswithrr!r project_namerAr rr) install_eggsr@egg_distribution)rrr>r:rBZinstall_neededrZdistsr;r;r<r?s.         zeasy_install.install_itemcCs@t|}x2tD]*}d|}t||dkrt||||qWdS)z=Sets the install directories by applying the install schemes.Zinstall_N)r r rr)rrschemer4Zattrnamer;r;r<rs  zeasy_install.select_schemecGs|j||jj|||j|jkr2|jj||jj||j|||j|j<tj |j ||f||j dr|j r|jj |jd| r|j rdS|dk r|j|jkrtjd|dS|dks||kr|j}tt|}tj d|ytgj|g|j|j}Wn^tk rB}ztt|WYdd}~Xn0tk rp}zt|jWYdd}~XnX|js|jrx*|D]"}|j|jkr|j|jqWtj d|dS)Nzdependency_links.txtzSkipping dependencies for %szProcessing dependencies for %sz'Finished processing dependencies for %s) update_pthraddrr4remover.rr rinstallation_report has_metadatarrZget_metadata_linesrras_requirementr'r9r+Zresolver2r,rr-Zreportr)rZ requirementrrBrZdistreqZdistrosr|r;r;r<r@sB            z!easy_install.process_distributioncCs2|jdk r|j S|jdr dS|jds.dSdS)Nz not-zip-safeTzzip-safeF)rrM)rrr;r;r< should_unzips   zeasy_install.should_unzipcCstjj|j|j}tjj|r:d}tj||j|j||Stjj|rL|}nRtjj ||krftj |tj |}t |dkrtjj||d}tjj|r|}t |tj|||S)Nz<%r already exists in %s; build directory %s will not be keptrr)r>r?r rr4r@r rrr#rlistdirrr#shutilmove)rr dist_filename setup_basedstrcontentsr;r;r< maybe_moves"       zeasy_install.maybe_movecCs0|jr dSx tjj|D]}|j|qWdS)N)r ScriptWriterbestget_args write_script)rrrr;r;r<r,sz$easy_install.install_wrapper_scriptscCsNt|j}t||}|r8|j|t}tj||}|j|t|ddS)z/Generate a legacy script wrapper and install itrnN) r9rNis_python_script_load_templaterrX get_headerr[rE)rrr- script_textdev_pathrZ is_scriptZbodyr;r;r<r+"s   zeasy_install.install_scriptcCs(d}|r|jdd}td|}|jdS)z There are a couple of template scripts in the package. This function loads one of them and prepares it for use. z script.tmplz.tmplz (dev).tmplrzutf-8)rNr"decode)r`rZ raw_bytesr;r;r<r],s   zeasy_install._load_templatetc sjfdd|Dtjd|jtjjj|}j|jrLdSt }t |tjj |rptj |t |d|}|j|WdQRXt|d|dS)z1Write an executable file to the scripts directorycsg|]}tjjj|qSr;)r>r?r r)rrb)rr;r<r>sz-easy_install.write_script..zInstalling %s script to %sNri)rr rrr>r?r r2r current_umaskr#r@rrr%chmod)rr-rVmodertargetmaskrkr;)rr<r[;s   zeasy_install.write_scriptcCs`|jjdr|j||gS|jjdr8|j||gS|jjdrT|j||gS|}tjj|r|jd rt|||j ntjj |rtjj |}|j |r|j r|dk r|j|||}tjj|d}tjj|s2ttjj|dd}|stdtjj |t|dkr*td tjj ||d }|jrPtj|j||gS|j||SdS) Nz.eggz.exez.whlz.pyzsetup.pyrz"Couldn't find a setup script in %srzMultiple setup scripts in %sr)r'rD install_egg install_exe install_wheelr>r?isfilerunpack_progressrabspath startswithrrWr r@rrrr{r rreport_editablebuild_and_install)rrrSr:rT setup_scriptZsetupsr;r;r<rFOs<   zeasy_install.install_eggscCs>tjj|r"t|tjj|d}nttj|}tj ||dS)NzEGG-INFO)metadata) r>r?rr)r r* zipimport zipimporterr(Z from_filename)regg_pathrrr;r;r<rG{s    zeasy_install.egg_distributionc Cstjj|jtjj|}tjj|}|js2t||j|}t ||s|tjj |rttjj | rtt j ||jdn"tjj|r|jtj|fd|yd}tjj |r|j|rtjd}}n tjd}}nL|j|r|j||jd}}n*d}|j|rtjd}}n tjd}}|j|||f|dtjj|tjj|ft||d Wn$tk rzt|dd YnX|j||j|S) N)rz Removing FZMovingZCopyingZ ExtractingTz %s to %s)fix_zipimporter_caches)r>r?r rr)rmrr#rGr1rrr remove_treer@rrrnrQrRZcopytreerOZmkpathunpack_and_compileZcopy2r#update_dist_cachesr r2)rrur: destinationrZnew_dist_is_zippedrkrWr;r;r<rhsT               zeasy_install.install_eggc sTt|}|dkrtd|td|jdd|jddtd}tjj||jd}||_ |d}tjj|d}tjj|d }t |t |||_ |j ||tjj|st|d } | jd x<|jdD].\} } | d kr| jd | jddj| fqW| jtjj|d|jfddtj|Dtj|||j|jd|j||S)Nz(%s is not a valid distutils Windows .exerrrr)rErplatformz.eggz.tmpzEGG-INFOzPKG-INFOrzMetadata-Version: 1.0 target_versionz%s: %s _-r*csg|]}tjj|dqS)r)r>r?r )rr)rr;r<rsz,easy_install.install_exe..)rr)r4rr(getrr>r?r egg_namerAr#r)Z _provider exe_to_eggr@rr%itemsrNtitlerrrXrZrZ make_zipfilerrrh) rrSr:cfgrruegg_tmpZ _egg_infoZpkg_infrkkvr;)rr<ris<      " zeasy_install.install_exec s>t|ggifdd}t||g}xtD]l}|jjdr>|jd}|d}tj|dd|d<tjj f|}j ||j |tj ||q>W|j tj tjj dtj|xbdD]Z} t| rtjj d| d } tjj| st| d } | jd j t| d | jqWd S)z;Extract a bdist_wininst to the directories an egg would usecs|j}xԈD]\}}|j|r||t|d}|jd}tjjf|}|j}|jdsl|jdrtj |d |d <dtjj |dd<j |n4|jdr|dkrdtjj |dd<j ||SqW|jdst j d |dS) N/z.pydz.dllrrz.pyzSCRIPTS/z.pthzWARNING: can't process %sr)r'rnrrr>r?r rDr strip_modulesplitextrr r)srcrUrDoldnewpartsrC)r native_libsprefixes to_compile top_levelr;r<processs$      z(easy_install.exe_to_egg..processz.pydrrz.pyzEGG-INFOrrz.txtrrJNrrr)rr)r6rr'rDrrrr>r?r rZ write_stub byte_compileZwrite_safety_flagZ analyze_eggrr@rr%r) rrSrrZstubsresrZresourceZpyfilerZtxtrkr;)rrrrrr<rs6           zeasy_install.exe_to_eggc Cst|}tjj|j|j}tjj|}|js6t|tjj |rbtjj | rbt j ||jdn"tjj |r|jtj|fd|z.|j|j|fdtjj|tjj|fWdt|ddX|j||j|S)N)rz Removing zInstalling %s to %sF)rv)rr>r?r rrrmrr#rrr rwr@rrZinstall_as_eggr)r#ryr2rG)rZ wheel_pathr:Zwheelrzr;r;r<rjs,     zeasy_install.install_wheela( Because this distribution was installed --multi-version, before you can import modules from this package in an application, you will need to 'import pkg_resources' and then use a 'require()' call similar to one of these examples, in order to select the desired version: pkg_resources.require("%(name)s") # latest installed version pkg_resources.require("%(name)s==%(version)s") # this exact version pkg_resources.require("%(name)s>=%(version)s") # this version or higher z Note also that the installation directory must be on sys.path at runtime for this to work. (e.g. by being the application's script directory, by being on PYTHONPATH, or by being added to sys.path by your code.) Installedc Cs`d}|jr@|j r@|d|j7}|jtttjkr@|d|j7}|j }|j }|j }d}|t S)z9Helpful installation message for display to package usersz %(what)s %(eggloc)s%(extras)srJr) rr_easy_install__mv_warningrrr!rr?_easy_install__id_warningrArErr) rZreqrZwhatrZegglocrrZextrasr;r;r<rLIsz easy_install.installation_reportaR Extracted editable version of %(spec)s to %(dirname)s If it uses setuptools in its setup script, you can activate it in "development" mode by going to that directory and running:: %(python)s setup.py develop See the setuptools documentation for the "develop" command for more info. cCs"tjj|}tj}d|jtS)NrJ)r>r?r#rr&_easy_install__editable_msgr)rrrqr#pythonr;r;r<robs zeasy_install.report_editablecCstjjdttjjdtt|}|jdkrNd|jd}|jdd|n|jdkrd|jdd|jrv|jdd t j d |t |ddd j |yt ||Wn6tk r}ztd |jdfWYdd}~XnXdS) Nzdistutils.command.bdist_eggzdistutils.command.egg_inforrrrr~z-qz-nz Running %s %s zSetup script exited with %s)rmodules setdefaultrrrrrrr rrr rrrr)rrqrTrrr;r;r<rgs      zeasy_install.run_setupc Csddg}tjdtjj|d}z|jtjj||j||j|||t|g}g}x2|D]*}x$||D]}|j|j |j |qlWq^W| r|j rt j d||St|t j|jXdS)Nrz --dist-dirz egg-dist-tmp-)rdirz+No eggs found in %s (setup script problem?))r6r7r>r?r#_set_fetcher_optionsrrr&rhrArr rrrr) rrqrTrZdist_dirZall_eggsZeggsr4rr;r;r<rp{s$   zeasy_install.build_and_installc Cst|jjdj}d }i}x2|jD]&\}}||kr4q"|d||jdd <q"Wt|d }tjj|d }t j ||d S)a When easy_install is about to run bdist_egg on a source dist, that source dist might have 'setup_requires' directives, requiring additional fetching. Ensure the fetcher options given to easy_install are available to that command as well. r2rrrrrrr}r~)r2z setup.cfgN)rrrrrr) rrcopyrrNdictr>r?r rZ edit_config) rr0Zei_optsZfetch_directivesZ fetch_optionsr4rZsettingsZ cfg_filenamer;r;r<rs  z!easy_install._set_fetcher_optionscCs0|jdkrdSxX|j|jD]H}|js2|j|jkrtjd||jj||j|jkr|jj|jqW|js|j|jjkrtjd|n2tjd||jj ||j|jkr|jj |j|j s,|jj |jdkr,t jj|jd}t jj|rt j|t|d}|j|jj|jd|jdS)Nz&Removing %s from easy-install.pth filez4%s is already the active version in easy-install.pthz"Adding %s to easy-install.pth filerzsetuptools.pthwtrJ)rr4rrAr rrKrpathsrJrrsaver>r?r rrrrr% make_relativer)rrr]rrkr;r;r<rIs4           zeasy_install.update_pthcCstjd|||S)NzUnpacking %s to %s)r debug)rrrUr;r;r<rlszeasy_install.unpack_progresscshggfdd}t|||jjsdx.D]&}tj|tjdBd@}t||q:WdS)Ncs\|jdr"|jd r"j|n|jds6|jdr@j|j||j rX|pZdS)Nz.pyz EGG-INFO/z.dllz.so)rDrnrrlr)rrU)rto_chmodrr;r<pfs    z+easy_install.unpack_and_compile..pfimi)rrrr>statST_MODErd)rrurzrrkrer;)rrrr<rxs   zeasy_install.unpack_and_compilec Csjtjr dSddlm}z@tj|jd||dd|jd|jrT|||jd|jdWdtj|jXdS)Nr)rr)rforcer) rdont_write_bytecodedistutils.utilrr rrrr)rrrr;r;r<rs zeasy_install.byte_compilea bad install directory or PYTHONPATH You are attempting to install a package to a directory that is not on PYTHONPATH and which Python does not read ".pth" files from. The installation directory you specified (via --install-dir, --prefix, or the distutils default setting) was: %s and your PYTHONPATH environment variable currently contains: %r Here are some of your options for correcting the problem: * You can choose a different installation directory, i.e., one that is on PYTHONPATH or supports .pth files * You can add the installation directory to the PYTHONPATH environment variable. (It must then also be on PYTHONPATH whenever you run Python and want to use the package(s) you are installing.) * You can set up the installation directory to support ".pth" files by using one of the approaches described here: https://setuptools.readthedocs.io/en/latest/easy_install.html#custom-installation-locations Please make the appropriate changes for your system and try again.cCs|j}||jtjjddfS)N PYTHONPATHr)_easy_install__no_default_msgrr>environr)rtemplater;r;r<rsz#easy_install.no_default_version_msgcCs|jr dStjj|jd}tdd}|jd}d}tjj|rtj d|jt j |}|j }WdQRX|j dstd |||krtjd ||jst|t j |d dd }|j|WdQRX|j|gd |_dS)z8Make sure there's a site.py in the target dir, if neededNzsite.pyrz site-patch.pyzutf-8rzChecking existing site.py in %sz def __boot():z;%s is not a setuptools-generated site.py; please remove it.z Creating %sr)encodingT)rr>r?r rr"rar@r riorreadrnrrrr#r%r)rZsitepysourceZcurrentZstrmr;r;r<r=s,       zeasy_install.install_site_pycCsj|js dSttjjd}xJtj|jD]:\}}|j|r(tjj | r(|j d|tj |dq(WdS)zCreate directories under ~.N~zos.makedirs('%s', 0o700)i) rrr>r?rrZ iteritemsrrnrZ debug_printr)rhomerr?r;r;r<r>szeasy_install.create_home_pathz/$base/lib/python$py_version_short/site-packagesz $base/bin)rr)rz$base/Lib/site-packagesz $base/ScriptscGs|jdj}|jrh|j}|j|d<|jjtj|j}x0|j D]$\}}t ||ddkr@t |||q@Wddl m }xJ|D]B}t ||}|dk rz|||}tjdkrtjj|}t |||qzWdS)Nrr0r)rr)Zget_finalized_commandrrrr rr>rDEFAULT_SCHEMErrrrrr?r)rrrrHrrrr;r;r<rTs         zeasy_install._expand)rQNrR)rSrTrU)rVrWrX)rYrZr[)r\r]r^)r_rDr`)rarbrc)rdrerf)rgrhri)rjrkrl)rmrnro)rprqrr)rsNrt)rurvrw)rxryrz)r{r|r})r~rr)rrr)rrr)rNr)rNr)F)F)T)N)r)Q__name__ __module__ __qualname____doc__ descriptionZcommand_consumes_argumentsZ user_optionsZboolean_optionsrrrZhelp_msgrZ negative_optrrrrr staticmethodrrrrrrrrrrrKrLlstriprrrrrr.r2r3r5 contextlibcontextmanagerr;r2r?rr@rOrWr,r+r]r[rFrGrhrirrjrrrLrrorrprrIrlrxrrrr=rrr rrr;r;r;r<r2xs    0 z   0    ;  $ $ '  ,6-5   %    cCs tjjddjtj}td|S)Nrr)r>rrrpathsepfilter)rr;r;r<rksrc Csg}|jttjg}tjtjkr0|jtjx|D]}|r6tjdkr`|jtjj |ddn\tj dkr|jtjj |ddtj dd dtjj |dd gn|j|tjj |ddgtjd kr6d |kr6tj j d }|r6tjj |ddtj dd d}|j|q6Wtdtdf}x"|D]}||kr |j|q WtjrR|jtjy|jtjWntk rzYnXttt|}|S)z& Return a list of 'site' dirs os2emxriscosZLibz site-packagesrlibrNrz site-pythondarwinzPython.frameworkHOMELibraryPythonpurelibplatlib)rr)extendrrrrrr{r>r?r seprrrrrrrgetsitepackagesAttributeErrorrrr!)sitedirsrrrZhome_spZ lib_pathsZsite_libr;r;r<rpsV            rccsi}x|D]}t|}||kr q d||<tjj|s6q tj|}||fVx|D]}|jds`qP|dkrjqPttjj||}tt |}|j xP|D]H}|j dst|j }||krd||<tjj|sq|tj|fVqWqPWq WdS)zBYield sys.path directories that might contain "old-style" packagesrz.ptheasy-install.pthsetuptools.pthimportN)rr) r!r>r?rrPrDrr rr rrnrstrip)Zinputsseenr#r1rrklinesliner;r;r< expand_pathss4           rc Cs&t|d}z tj|}|dkr$dS|d|d|d}|dkrHdS|j|dtjd|jd\}}}|dkrzdS|j|d|d d d }tj|}y<|j|} | j d d d} | j t j } |j tj| Wntjk rdSX|jd s|jd rdS|S|jXdS)znExtract configuration data from a bdist_wininst .exe Returns a configparser.RawConfigParser, or None rbN  zegg path translations for a given .exe filePURELIB/rPLATLIB/pywin32_system32PLATLIB/SCRIPTS/EGG-INFO/scripts/DATA/lib/site-packagesrrrzPKG-INFOrz .egg-inforNz EGG-INFO/z.pthz -nspkg.pthPURELIBPLATLIB\rz%s/%s/cSsg|]\}}|j|fqSr;)r')rrbyr;r;r<r$sz$get_exe_prefixes..)rr)rr)rr)rr)rr)rr)rZZipFileZinfolistrrrrDrr upperrrZPY3rar rMrNrnrrsortreverse)Z exe_filenamerrTrrrrVZpthr;r;r<r6s>     & c@sTeZdZdZdZffddZddZddZed d Z d d Z d dZ ddZ dS)r3z)A .pth file with Distribution paths in itFcCsp||_ttt||_ttjj|j|_|j t j |gddx(t |j D]}tt|jt|dqNWdS)NT)rrrr!rr>r?r#basedir_loadr&__init__r rrJr%)rrrr?r;r;r<r/szPthDistributions.__init__cCsg|_d}tj|j}tjj|jrt|jd}x|D]}|j drJd}q6|j }|jj ||j s6|j j drxq6t tjj|j|}|jd<tjj| s||kr|jjd|_q6d||<q6W|j|jr| rd|_x&|jo|jdj r |jjqWdS) NFZrtrT#rrr)rrfromkeysrr>r?rkrrrnrrrMr!r rr@popdirtyr)rZ saw_importrrkrr?r;r;r<r8s2        zPthDistributions._loadc Cs|js dStt|j|j}|rtjd|j|j|}dj |d}t j j |jr`t j |jt|jd}|j|WdQRXn(t j j|jrtjd|jt j |jd|_dS)z$Write changed .pth file back to diskNz Saving %srJrzDeleting empty %sF)rrrrrr rr _wrap_linesr r>r?rrrr%r@)rZ rel_pathsrdatarkr;r;r<rWs   zPthDistributions.savecCs|S)Nr;)rr;r;r<rmszPthDistributions._wrap_linescCsN|j|jko$|j|jkp$|jtjk}|r>|jj|jd|_tj||dS)z"Add `dist` to the distribution mapTN) rArrr>getcwdrrr&rJ)rrnew_pathr;r;r<rJqs  zPthDistributions.addcCs6x$|j|jkr$|jj|jd|_qWtj||dS)z'Remove `dist` from the distribution mapTN)rArrKrr&)rrr;r;r<rKs zPthDistributions.removecCstjjt|\}}t|j}|g}tjdkr2dp6tj}xVt||kr||jkrn|jtj |j |j |Stjj|\}}|j|q:W|SdS)Nr) r>r?rr!rraltseprrcurdirrr )rr?ZnpathZlastZbaselenrrr;r;r<rs    zPthDistributions.make_relativeN) rrrrrrrrrrrJrKrr;r;r;r<r3*s  c@s(eZdZeddZedZedZdS)RewritePthDistributionsccs(|jVx|D] }|VqW|jVdS)N)preludepostlude)clsrrr;r;r<rs  z#RewritePthDistributions._wrap_linesz? import sys sys.__plen = len(sys.path) z import sys new = sys.path[sys.__plen:] del sys.path[sys.__plen:] p = getattr(sys, '__egginsert', 0) sys.path[p:p] = new sys.__egginsert = p + len(new) N)rrr classmethodrr"rrr;r;r;r<rs  rZSETUPTOOLS_SYS_PATH_TECHNIQUErawZrewritecCs ttjtrtStjtjjS)z_ Return a regular expression based on first_line_re suitable for matching strings. )rrpatternr9recompilerar;r;r;r<_first_line_res rcCsd|tjtjgkr.tjdkr.t|tj||Stj\}}}t j ||d|dd||ffdS)Nrrrz %s %s) r>rrKrrdrS_IWRITErrrZreraise)funcargexcZetZevr}r;r;r< auto_chmods  rcCs.t|}t|tj|r"t|nt|dS)aa Fix any globally cached `dist_path` related data `dist_path` should be a path of a newly installed egg distribution (zipped or unzipped). sys.path_importer_cache contains finder objects that have been cached when importing data from the original distribution. Any such finders need to be cleared since the replacement distribution might be packaged differently, e.g. a zipped egg distribution might get replaced with an unzipped egg folder or vice versa. Having the old finders cached may then cause Python to attempt loading modules from the replacement distribution using an incorrect loader. zipimport.zipimporter objects are Python loaders charged with importing data packaged inside zip archives. If stale loaders referencing the original distribution, are left behind, they can fail to load modules from the replacement distribution. E.g. if an old zipimport.zipimporter instance is used to load data from a new zipped egg archive, it may cause the operation to attempt to locate the requested data in the wrong location - one indicated by the original distribution's zip archive directory information. Such an operation may then fail outright, e.g. report having read a 'bad local file header', or even worse, it may fail silently & return invalid data. zipimport._zip_directory_cache contains cached zip archive directory information for all existing zipimport.zipimporter instances and all such instances connected to the same archive share the same cached directory information. If asked, and the underlying Python implementation allows it, we can fix all existing zipimport.zipimporter instances instead of having to track them down and remove them one by one, by updating their shared cached zip archive directory information. This, of course, assumes that the replacement distribution is packaged as a zipped egg. If not asked to fix existing zipimport.zipimporter instances, we still do our best to clear any remaining zipimport.zipimporter related cached data that might somehow later get used when attempting to load data from the new distribution and thus cause such load operations to fail. Note that when tracking down such remaining stale data, we can not catch every conceivable usage from here, and we clear only those that we know of and have found to cause problems if left alive. Any remaining caches should be updated by whomever is in charge of maintaining them, i.e. they should be ready to handle us replacing their zip archives with new distributions at runtime. N)r!_uncacherpath_importer_cache!_replace_zip_directory_cache_data*_remove_and_clear_zip_directory_cache_data)Z dist_pathrvnormalized_pathr;r;r<rys <  rycCsTg}t|}xB|D]:}t|}|j|r|||dtjdfkr|j|qW|S)ap Return zipimporter cache entry keys related to a given normalized path. Alternative path spellings (e.g. those using different character case or those using alternative path separators) related to the same path are included. Any sub-path entries are included as well, i.e. those corresponding to zip archives embedded in other zip archives. rr)rr!rnr>rr)rcacheresultZ prefix_lenpZnpr;r;r<"_collect_zipimporter_cache_entriess   rcCsDx>t||D]0}||}||=|o*|||}|dk r |||<q WdS)a Update zipimporter cache data for a given normalized path. Any sub-path entries are processed as well, i.e. those corresponding to zip archives embedded in other zip archives. Given updater is a callable taking a cache entry key and the original entry (after already removing the entry from the cache), and expected to update the entry and possibly return a new one to be inserted in its place. Returning None indicates that the entry should not be replaced with a new one. If no updater is given, the cache entries are simply removed without any additional processing, the same as if the updater simply returned None. N)r)rrupdaterr old_entryZ new_entryr;r;r<_update_zipimporter_cache*s  r cCst||dS)N)r )rrr;r;r<rJsrcCsdd}t|tj|ddS)NcSs |jdS)N)clear)r?rr;r;r<2clear_and_remove_cached_zip_archive_directory_dataOszf_remove_and_clear_zip_directory_cache_data..clear_and_remove_cached_zip_archive_directory_data)r)r rs_zip_directory_cache)rr"r;r;r<rNsrZ__pypy__cCsdd}t|tj|ddS)NcSs&|jtj||jtj||S)N)r!rsrtupdater#)r?rr;r;r<)replace_cached_zip_archive_directory_dataes zT_replace_zip_directory_cache_data..replace_cached_zip_archive_directory_data)r)r rsr#)rr%r;r;r<rds rc Cs2yt||dWnttfk r(dSXdSdS)z%Is this string a valid Python script?execFTN)r SyntaxError TypeError)rOrr;r;r< is_pythonws r*cCsJy(tj|dd}|jd}WdQRXWnttfk r@|SX|dkS)zCDetermine if the specified executable is a .sh (contains a #! line)zlatin-1)rrNz#!)rrrrr)r&fpmagicr;r;r<is_shs r-cCs tj|gS)z@Quote a command line argument according to Windows parsing rules) subprocess list2cmdline)rr;r;r< nt_quote_argsr0cCsH|jds|jdrdSt||r&dS|jdrDd|jdjkSdS)zMIs this text, as a whole, a Python script? (as opposed to shell/bat/etc. z.pyz.pywTz#!rrF)rDr*rn splitlinesr')r_rr;r;r<r\s  r\)rdcGsdS)Nr;)rr;r;r<_chmodsr2cCsRtjd||yt||Wn0tjk rL}ztjd|WYdd}~XnXdS)Nzchanging mode of %s to %ozchmod failed: %s)r rr2r>error)r?rer|r;r;r<rds rdc@seZdZdZgZeZeddZeddZ eddZ edd Z ed d Z d d Z eddZddZeddZeddZdS) CommandSpeczm A command spec for a #! header, specified as a list of arguments akin to those passed to Popen. cCs|S)zV Choose the best CommandSpec class based on environmental conditions. r;)r r;r;r<rYszCommandSpec.bestcCstjjtj}tjjd|S)N__PYVENV_LAUNCHER__)r>r?rBrr&rr)r Z_defaultr;r;r<_sys_executableszCommandSpec._sys_executablecCs:t||r|St|tr ||S|dkr0|jS|j|S)zg Construct a CommandSpec from a parameter to build_scripts, which may be None. N)rrfrom_environment from_string)r Zparamr;r;r< from_params  zCommandSpec.from_paramcCs||jgS)N)r6)r r;r;r<r7szCommandSpec.from_environmentcCstj|f|j}||S)z} Construct a command spec from a simple string representing a command line parseable by shlex.split. )shlexr split_args)r stringrr;r;r<r8szCommandSpec.from_stringcCs8tj|j||_tj|}t|s4dg|jdd<dS)Nz-xr)r:r_extract_optionsoptionsr.r/rH)rr_cmdliner;r;r<install_optionss zCommandSpec.install_optionscCs:|djd}tj|}|r.|jdp0dnd}|jS)zH Extract any options from the first line of the script. rJrrr)r1rmatchgrouprM)Z orig_scriptfirstrAr>r;r;r<r=s zCommandSpec._extract_optionscCs|j|t|jS)N)_renderrr>)rr;r;r< as_headerszCommandSpec.as_headercCs6d}x,|D]$}|j|r |j|r |ddSq W|S)Nz"'rr)rnrD)itemZ_QUOTESqr;r;r< _strip_quotess  zCommandSpec._strip_quotescCs tjdd|D}d|dS)Ncss|]}tj|jVqdS)N)r4rHrM)rrFr;r;r<rsz&CommandSpec._render..z#!rJ)r.r/)rr?r;r;r<rDszCommandSpec._renderN)rrrrr>rr;r rYr6r9r7r8r@rr=rErHrDr;r;r;r<r4s       r4c@seZdZeddZdS)WindowsCommandSpecF)rN)rrrrr;r;r;r;r<rIsrIc@seZdZdZejdjZeZ e dddZ e dddZ e dd d Z ed d Ze d dZe ddZe ddZe dddZdS)rXz` Encapsulates behavior around writing entry point scripts for console and gui apps. a # EASY-INSTALL-ENTRY-SCRIPT: %(spec)r,%(group)r,%(name)r __requires__ = %(spec)r import re import sys from pkg_resources import load_entry_point if __name__ == '__main__': sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) sys.exit( load_entry_point(%(spec)r, %(group)r, %(name)r)() ) NFcCs6tjdt|rtntj}|jd||}|j||S)Nz Use get_argsr)warningsrDeprecationWarningWindowsScriptWriterrXrYget_script_headerrZ)r rr&wininstwriterheaderr;r;r<get_script_argss zScriptWriter.get_script_argscCs6tjdt|rd}|jjj|}|j||jS)NzUse get_headerz python.exe)rJrrKcommand_spec_classrYr9r@rE)r r_r&rNcmdr;r;r<rM's   zScriptWriter.get_script_headerc cs|dkr|j}t|j}xjdD]b}|d}xT|j|jD]B\}}|j||jt}|j||||} x| D] } | VqrWq>Wq"WdS)z Yield write_script() argument tuples for a distribution's console_scripts and gui_scripts entry points. NconsoleguiZ_scripts)rTrU) r^r9rNZ get_entry_mapr_ensure_safe_namerr_get_script_args) r rrPrtype_rBrZepr_rrr;r;r<rZ1s     zScriptWriter.get_argscCstjd|}|rtddS)z? Prevent paths in *_scripts entry point names. z[\\/]z+Path separators not allowed in script namesN)r searchr)rZ has_path_sepr;r;r<rVCs zScriptWriter._ensure_safe_namecCs tjdt|rtjS|jS)NzUse best)rJrrKrLrY)r Z force_windowsr;r;r< get_writerLs zScriptWriter.get_writercCs.tjdkstjdkr&tjdkr&tjS|SdS)zD Select the best ScriptWriter for this environment. win32javarN)rr{r>r_namerLrY)r r;r;r<rYRszScriptWriter.bestccs|||fVdS)Nr;)r rXrrPr_r;r;r<rW\szScriptWriter._get_script_argsrcCs"|jjj|}|j||jS)z;Create a #! line, getting options (if any) from script_text)rRrYr9r@rE)r r_r&rSr;r;r<r^as zScriptWriter.get_header)NF)NF)N)rN)rrrrrKrLrrr4rRr rQrMrZrrVrZrYrWr^r;r;r;r<rX s       rXc@sLeZdZeZeddZeddZeddZeddZ e d d Z d S) rLcCstjdt|jS)NzUse best)rJrrKrY)r r;r;r<rZls zWindowsScriptWriter.get_writercCs"tt|d}tjjdd}||S)zC Select the best ScriptWriter suitable for Windows )r&ZnaturalZSETUPTOOLS_LAUNCHERr&)rWindowsExecutableLauncherWriterr>rr)r Z writer_lookupZlauncherr;r;r<rYrs zWindowsScriptWriter.bestc #stddd|}|tjdjjdkrBdjft}tj|t dddd d dd g}|j ||j ||}fd d |D}|||d|fVdS)z For Windows, add a .py extensionz.pyaz.pyw)rTrUZPATHEXT;zK{ext} not listed in PATHEXT; scripts will not be recognized as executables.z.pyz -script.pyz.pycz.pyoz.execsg|] }|qSr;r;)rrb)rr;r<rsz8WindowsScriptWriter._get_script_args..rbN) rr>rr'rrrrJr UserWarningrK_adjust_header) r rXrrPr_extrrrr;)rr<rWs   z$WindowsScriptWriter._get_script_argscCsNd}d}|dkr||}}tjtj|tj}|j||d}|j|rJ|S|S)z Make sure 'pythonw' is used for gui and and 'python' is used for console (regardless of what sys.executable is). z pythonw.exez python.exerU)r<repl)r rescape IGNORECASEsub _use_header)r rXZ orig_headerr rcZ pattern_ob new_headerr;r;r<ras z"WindowsScriptWriter._adjust_headercCs$|ddjd}tjdkp"t|S)z Should _adjust_header use the replaced header? On non-windows systems, always use. On Windows systems, only use the replaced header if it resolves to an executable on the system. rr"r[r)rMrr{r)rhZ clean_headerr;r;r<rgs zWindowsScriptWriter._use_headerN) rrrrIrRr rZrYrWrarrgr;r;r;r<rLis    rLc@seZdZeddZdS)r^c #s|dkrd}d}dg}nd}d}dddg}|j||}fd d |D} |||d | fVd t|d fVtsd} | td fVdS)zG For Windows, add a .py extension and an .exe launcher rUz -script.pywz.pywZcliz -script.pyz.pyz.pycz.pyocsg|] }|qSr;r;)rrb)rr;r<rszDWindowsExecutableLauncherWriter._get_script_args..rbz.exernz .exe.manifestN)raget_win_launcherr=load_launcher_manifest) r rXrrPr_Z launcher_typerbrZhdrrZm_namer;)rr<rWs   z0WindowsExecutableLauncherWriter._get_script_argsN)rrrr rWr;r;r;r<r^sr^cCs2d|}tr|jdd}n |jdd}td|S)z Load the Windows launcher (executable) suitable for launching a script. `type` should be either 'cli' or 'gui' Returns the executable as a byte string. z%s.exe.z-64.z-32.r)r=rNr")typeZ launcher_fnr;r;r<rjs  rjcCs0tjtd}tjr|tS|jdtSdS)Nzlauncher manifest.xmlzutf-8)r$r"rrPY2varsra)rZmanifestr;r;r<rks  rkFcCstj|||S)N)rQr)r? ignore_errorsonerrorr;r;r<rsrcCstjd}tj||S)N)r>umask)Ztmpr;r;r<rcs  rccCs:ddl}tjj|jd}|tjd<tjj|tdS)Nr) rr>r?r#__path__rargvrr5)rZargv0r;r;r< bootstraps   rvc sddlm}ddlmGfddd}|dkrBtjdd}t0|fddd g|tjdpfd|d |WdQRXdS) Nr)setup)r(cseZdZdZfddZdS)z-main..DistributionWithoutHelpCommandsrc s(tj|f||WdQRXdS)N) _patch_usage _show_help)rrkw)r(r;r<ry sz8main..DistributionWithoutHelpCommands._show_helpN)rrrZ common_usageryr;)r(r;r<DistributionWithoutHelpCommandssr{rz-qr2z-v)Z script_argsr-Z distclass)rrwZsetuptools.distr(rrurx)rurzrwr{r;)r(r<r5s    c #sLddl}tjdjfdd}|jj}||j_z dVWd||j_XdS)Nrze usage: %(script)s [options] requirement_or_url ... or: %(script)s --help csttjj|dS)N)Zscript)rr>r?r))r-)USAGEr;r< gen_usage sz_patch_usage..gen_usage)Zdistutils.corerKrLrZcorer})rr}Zsavedr;)r|r<rx s   rx)N)r&)N)rrrrrrZdistutils.errorsrrrr Zdistutils.command.installr r rr r Zdistutils.command.build_scriptsrr(rrr>rsrQr6rr rr rKrJrr9rr.r:rZsetuptools.externrZsetuptools.extern.six.movesrrrrZsetuptools.sandboxrZsetuptools.py31compatrrZsetuptools.py27compatrZsetuptools.commandrZsetuptools.archive_utilrZsetuptools.package_indexrrrrrZsetuptools.wheelrr$r r!r"r#r$r%r&r'r(r)r*r+r,r-r.Zpkg_resources.py31compatfilterwarningsZ PEP440Warning__all__r=r1rnrErHr"r2rrrr4r6r3rrrrrryrr rrbuiltin_module_namesrr*r-r0r\rdr2 ImportErrorrr4r6Zsys_executablerIobjectrXrLr^rQrMrjrkrrcrvr5rrxr;r;r;r< s           D |A))'l R    T`A  __pycache__/py36compat.cpython-36.opt-1.pyc000064400000010703147210141470014350 0ustar003 K]z@sdddlZddlmZddlmZddlmZddlmZGdddZe ejdr`Gd ddZdS) N)glob) convert_path)sdist)filterc@s\eZdZdZddZeddZddZdd Zd d Z d d Z ddZ ddZ ddZ dS)sdist_add_defaultsz Mix-in providing forward-compatibility for functionality as found in distutils on Python 3.7. Do not edit the code in this class except to update functionality as implemented in distutils. Instead, override in the subclass. cCs<|j|j|j|j|j|j|jdS)a9Add all the default files to self.filelist: - README or README.txt - setup.py - test/test*.py - all pure Python modules mentioned in setup script - all files pointed by package_data (build_py) - all files defined in data_files. - all files defined as scripts. - all C sources listed as part of extensions or C libraries in the setup script (doesn't catch C headers!) Warns if (README or README.txt) or setup.py are missing; everything else is optional. N)_add_defaults_standards_add_defaults_optional_add_defaults_python_add_defaults_data_files_add_defaults_ext_add_defaults_c_libs_add_defaults_scripts)selfr /usr/lib/python3.6/py36compat.py add_defaultsszsdist_add_defaults.add_defaultscCs:tjj|sdStjj|}tjj|\}}|tj|kS)z Case-sensitive path existence check >>> sdist_add_defaults._cs_path_exists(__file__) True >>> sdist_add_defaults._cs_path_exists(__file__.upper()) False F)ospathexistsabspathsplitlistdir)fspathrZ directoryfilenamerrr_cs_path_exists(s  z"sdist_add_defaults._cs_path_existscCs|j|jjg}x|D]}t|trn|}d}x(|D] }|j|r0d}|jj|Pq0W|s|jddj |q|j|r|jj|q|jd|qWdS)NFTz,standard file not found: should have one of z, zstandard file '%s' not found) ZREADMES distributionZ script_name isinstancetuplerfilelistappendwarnjoin)rZ standardsfnZaltsZgot_itrrrr9s       z*sdist_add_defaults._add_defaults_standardscCs8ddg}x*|D]"}ttjjt|}|jj|qWdS)Nz test/test*.pyz setup.cfg)rrrisfilerrextend)rZoptionalpatternfilesrrrrNs z)sdist_add_defaults._add_defaults_optionalcCsd|jd}|jjr$|jj|jx:|jD]0\}}}}x"|D]}|jjtj j ||q>Wq,WdS)Nbuild_py) get_finalized_commandrZhas_pure_modulesrr$get_source_files data_filesrrrr!)rr'ZpkgZsrc_dirZ build_dir filenamesrrrrr Ts    z'sdist_add_defaults._add_defaults_pythoncCs|jjr~xr|jjD]f}t|trDt|}tjj|rz|j j |q|\}}x,|D]$}t|}tjj|rR|j j |qRWqWdS)N) rZhas_data_filesr*rstrrrrr#rr)ritemdirnamer+frrrr ds     z+sdist_add_defaults._add_defaults_data_filescCs(|jjr$|jd}|jj|jdS)N build_ext)rZhas_ext_modulesr(rr$r))rr0rrrr us  z$sdist_add_defaults._add_defaults_extcCs(|jjr$|jd}|jj|jdS)N build_clib)rZhas_c_librariesr(rr$r))rr1rrrr zs  z'sdist_add_defaults._add_defaults_c_libscCs(|jjr$|jd}|jj|jdS)N build_scripts)rZ has_scriptsr(rr$r))rr2rrrr s  z(sdist_add_defaults._add_defaults_scriptsN)__name__ __module__ __qualname____doc__r staticmethodrrrr r r r r rrrrr s rrc@s eZdZdS)rN)r3r4r5rrrrrs) rrZdistutils.utilrZdistutils.commandrZsetuptools.extern.six.movesrrhasattrrrrrs    | __pycache__/rotate.cpython-36.pyc000064400000004707147210141470012711 0ustar003 K]t@s`ddlmZddlmZddlmZddlZddlZddlm Z ddl m Z Gddde Z dS) ) convert_path)log)DistutilsOptionErrorN)six)Commandc@s:eZdZdZdZdddgZgZd d ZddZddZ dS)rotatezDelete older distributionsz2delete older distributions, keeping N newest filesmatch=mpatterns to match (required) dist-dir=d%directory where the distributions arekeep=k(number of matching distributions to keepcCsd|_d|_d|_dS)N)matchdist_dirkeep)selfr/usr/lib/python3.6/rotate.pyinitialize_optionsszrotate.initialize_optionsc Cs|jdkrtd|jdkr$tdyt|j|_Wntk rPtdYnXt|jtjrxdd|jjdD|_|j dd dS) NzQMust specify one or more (comma-separated) match patterns (e.g. '.zip' or '.egg')z$Must specify number of files to keepz--keep must be an integercSsg|]}t|jqSr)rstrip).0prrr +sz+rotate.finalize_options..,Zbdistr)rr) rrrint ValueError isinstancerZ string_typessplitZset_undefined_options)rrrrfinalize_optionss  zrotate.finalize_optionscCs|jdddlm}x|jD]}|jjd|}|tjj|j|}dd|D}|j |j t j dt ||||jd}xD|D]<\}}t j d||jstjj|rtj|qtj|qWqWdS) NZegg_infor)glob*cSsg|]}tjj||fqSr)ospathgetmtime)rfrrrr6szrotate.run..z%d file(s) matching %sz Deleting %s)Z run_commandr"rZ distributionZget_namer$r%joinrsortreverserinfolenrZdry_runisdirshutilZrmtreeunlink)rr"patternfilestr'rrrrun/s       z rotate.runN)rr r )r r r )rrr) __name__ __module__ __qualname____doc__ descriptionZ user_optionsZboolean_optionsrr!r3rrrrr sr) Zdistutils.utilrZ distutilsrZdistutils.errorsrr$r.Zsetuptools.externrZ setuptoolsrrrrrrs     __pycache__/install_scripts.cpython-36.pyc000064400000004174147210141470014626 0ustar003 \@sDdZddlZddlmZddlmZddlmZGdddeZdS)zudistutils.command.install_scripts Implements the Distutils 'install_scripts' command, for installing Python scripts.N)Command)log)ST_MODEc@sLeZdZdZddddgZdd gZddZddZddZddZ ddZ d S)install_scriptsz%install scripts (Python or otherwise) install-dir=ddirectory to install scripts to build-dir=b'build directory (where to install from)forcef-force installation (overwrite existing files) skip-buildNskip the build stepscCsd|_d|_d|_d|_dS)Nr) install_dirr build_dir skip_build)selfr'/usr/lib64/python3.6/install_scripts.pyinitialize_optionssz"install_scripts.initialize_optionscCs |jdd |jdd d d dS) NZbuild build_scriptsrZinstallrrr r)rr)rr)r r )rr)Zset_undefined_options)rrrrfinalize_options!s  z install_scripts.finalize_optionscCs|js|jd|j|j|j|_tjdkrxT|jD]H}|j rNt j d|q6tj |t dBd@}t j d||tj||q6WdS)Nrposixzchanging mode of %simizchanging mode of %s to %o)rZ run_commandZ copy_treerroutfilesosname get_outputsZdry_runrinfostatrchmod)rfilemoderrrrun)s  zinstall_scripts.runcCs |jjp gS)N)Z distributionscripts)rrrr get_inputs8szinstall_scripts.get_inputscCs |jpgS)N)r)rrrrr;szinstall_scripts.get_outputs)rrr)r r r )r r r)rNr) __name__ __module__ __qualname__ descriptionZ user_optionsZboolean_optionsrrr$r&rrrrrrsr) __doc__rZdistutils.corerZ distutilsrr rrrrrrs    __pycache__/__init__.cpython-36.opt-1.pyc000064400000001005147210141470014075 0ustar003 \@s2dZddddddddd d d d d ddddddgZdS)z\distutils.command Package containing implementation of all the standard Distutils commands.ZbuildZbuild_pyZ build_extZ build_clibZ build_scriptsZcleanZinstallZ install_libZinstall_headersZinstall_scriptsZ install_dataZsdistregisterZbdistZ bdist_dumbZ bdist_rpmZ bdist_wininstZcheckZuploadN)__doc____all__rr /usr/lib64/python3.6/__init__.pys&__pycache__/bdist_egg.cpython-36.pyc000064400000034002147210141470013331 0ustar003 K] G @sxdZddlmZddlmZmZddlmZddlm Z ddl Z ddl Z ddl Z ddl Z ddlZddlmZddlmZmZmZdd lmZdd lmZdd lmZydd lmZmZd dZWn,ek rddlm Z mZddZYnXddZ!ddZ"ddZ#GdddeZ$e%j&dj'Z(ddZ)ddZ*ddZ+d d!d"Z,d#d$Z-d%d&Z.d'd(Z/d)d*d+d,gZ0d1d/d0Z1dS)2z6setuptools.command.bdist_egg Build .egg distributions)DistutilsSetupError) remove_treemkpath)log)CodeTypeN)six)get_build_platform Distributionensure_directory) EntryPoint)Library)Command)get_pathget_python_versioncCstdS)Npurelib)rrr/usr/lib/python3.6/bdist_egg.py _get_purelibsr)get_python_librcCstdS)NF)rrrrrrscCs2d|krtjj|d}|jdr.|dd}|S)N.rmodulei)ospathsplitextendswith)filenamerrr strip_module#s   rccs:x4tj|D]&\}}}|j|j|||fVq WdS)zbDo os.walk in a reproducible way, independent of indeterministic filesystem readdir order N)rwalksort)dirbasedirsfilesrrr sorted_walk+sr$c Cs6tjdj}t|d}|j||WdQRXdS)NaR def __bootstrap__(): global __bootstrap__, __loader__, __file__ import sys, pkg_resources, imp __file__ = pkg_resources.resource_filename(__name__, %r) __loader__ = None; del __bootstrap__, __loader__ imp.load_dynamic(__name__,__file__) __bootstrap__() w)textwrapdedentlstripopenwrite)ZresourcepyfileZ_stub_templatefrrr write_stub5s  r-c@seZdZdZd*dddefd+d-d.d/gZd ddgZddZddZddZ ddZ ddZ ddZ d d!Z d"d#Zd$d%Zd&d'Zd(d)Zd S)0 bdist_eggzcreate an "egg" distribution bdist-dir=b1temporary directory for creating the distributionz plat-name=pz;platform name to embed in generated filenames (default: %s)exclude-source-filesN+remove all .py files from the generated egg keep-tempkz/keep the pseudo-installation tree around after z!creating the distribution archive dist-dir=d-directory to put final built distributions in skip-build2skip rebuilding everything (for testing/debugging)cCs.d|_d|_d|_d|_d|_d|_d|_dS)Nr) bdist_dir plat_name keep_tempdist_dir skip_build egg_outputexclude_source_files)selfrrrinitialize_optionsZszbdist_egg.initialize_optionscCs|jd}|_|j|_|jdkr>|jdj}tjj|d|_|jdkrPt |_|j dd|j dkrt dd|j |jt|jjo|jj }tjj|j|d|_ dS)Negg_infoZbdistZeggr?z.egg)r?r?)get_finalized_commandei_cmdrEr< bdist_baserrjoinr=rZset_undefined_optionsrAr Zegg_nameZ egg_versionr distributionhas_ext_modulesr?)rCrGrHbasenamerrrfinalize_optionscs      zbdist_egg.finalize_optionsc Cs|j|jd_tjjtjjt}|jj g}|j_ x|D]}t |t rt |dkrtjj |drtjj|d}tjj|}||ks|j|tjr|t |dd|df}|jj j|qrgetattrr)rCZinstcmdZold_rootrk all_outputs ext_outputsZ to_compiler2Zext_namerextr+Z archive_rootrEZ script_dirZ native_libsZ libs_filerrrrunsz                    z bdist_egg.runc Cstjdxt|jD]\}}}x|D]}tjj||}|jdrXtjd|tj ||jdr&|}d}t j ||}tjj|tj |j dd} tjd|| fytj| Wntk rYnXtj|| q&WqWdS) Nz+Removing .py files from temporary directoryz.pyz Deleting %s __pycache__z#(?P.+)\.(?P[^.]+)\.pycnamez.pyczRenaming file from [%s] to [%s])rr_walk_eggr<rrrIrdebugrzrematchpardirgroupremoveOSErrorrename) rCr!r"r#rrZpath_oldpatternmZpath_newrrrrs*        zbdist_egg.zap_pyfilescCs2t|jdd}|dk r|Stjdt|j|jS)Nr|z4zip_safe flag not set; analyzing archive contents...)rrJrr~ analyze_eggr<rt)rCsaferrrr| s  zbdist_egg.zip_safec Cstj|jjpd}|jdijd}|dkr0dS|j s>|jrLtd|ftj dd}|j }dj |j}|jd}t j j|j}d t}|jstt j j|j|jd t|jd} | j|| jd S) Nzsetuptools.installationZ eggsecutabler%zGeggsecutable entry point (%r) cannot have 'extras' or refer to a modulerraH#!/bin/sh if [ `basename $0` = "%(basename)s" ] then exec python%(pyver)s -c "import sys, os; sys.path.insert(0, os.path.abspath('$0')); from %(pkg)s import %(base)s; sys.exit(%(full)s())" "$@" else echo $0 is not the correct name for this egg file. echo Please rename it back to %(basename)s and try again. exec false fi )rea)r Z parse_maprJZ entry_pointsgetZattrsZextrasrsysversionZ module_namerIrrrLrAlocalsrerrjr)r*rx) rCZepmZepZpyverpkgZfullr!rLheaderr,rrrrs*      zbdist_egg.gen_headercCsltjj|j}tjj|d}xJ|jjjD]<}|j|r(tjj||t |d}t ||j ||q(WdS)z*Copy metadata (egg info) to the target_dirrN) rrnormpathrErIrGZfilelistr#r\rZr Z copy_file)rCZ target_dirZ norm_egg_infoprefixrtargetrrrrw:s zbdist_egg.copy_metadata_toc Csg}g}|jdi}x|t|jD]n\}}}x6|D].}tjj|djtkr.|j|||q.Wx*|D]"}|||d|tjj||<qfWqW|j j r |j d}xd|j D]Z} t | trq|j| j} |j| }tjj|jdstjjtjj|j|r|j|qW||fS)zAGet a list of relative paths to C extensions in the output distrorrPrlZ build_extzdl-)r<r$rrrlowerNATIVE_EXTENSIONSr^rIrJrKrF extensionsrXr Zget_ext_fullnamerZget_ext_filenamerLr\r}) rCrrpathsr!r"r#rZ build_cmdrfullnamerrrrsFs(   &      zbdist_egg.get_ext_outputs)r/r0r1)r3Nr4Pkeep the pseudo-installation tree around after creating the distribution archive)r5r6r)r7r8r9)r:Nr;)__name__ __module__ __qualname__ descriptionrZ user_optionsZboolean_optionsrDrMrcrdr`rrr|rrwrsrrrrr.Cs4   Q' r.z.dll .so .dylib .pydccsLt|}t|\}}}d|kr(|jd|||fVx|D] }|Vq:WdS)z@Walk an unpacked egg's contents, skipping the metadata directoryzEGG-INFON)r$nextr)egg_dirZwalkerr!r"r#Zbdfrrrrfs   rc Csx0tjD]$\}}tjjtjj|d|r |Sq Wts.visit) compression) zipfilerrrrjrr_Z ZIP_DEFLATEDZ ZIP_STOREDZZipFiler$rx) Z zip_filenamerrqrecompressrrrrrrrjr"r#r)rrerrs  r)rrTr%)2__doc__Zdistutils.errorsrZdistutils.dir_utilrrZ distutilsrtypesrrrrr&rZsetuptools.externrZ pkg_resourcesrr r r Zsetuptools.extensionr Z setuptoolsr sysconfigrrr ImportErrorZdistutils.sysconfigrrr$r-r.rrsplitrrrr{rrrrrfrrrrrsL         " $  __pycache__/install_lib.cpython-36.opt-1.pyc000064400000012046147210141470014641 0ustar003 \ @sLdZddlZddlZddlZddlmZddlmZdZ GdddeZ dS)zkdistutils.command.install_lib Implements the Distutils 'install_lib' command (install all Python modules).N)Command)DistutilsOptionErrorz.pyc @seZdZdZd*d+d,d-d.d/d0gZdd dgZdd iZddZddZddZ ddZ ddZ d d!Z d"d#Z d$d%Zd&d'Zd(d)ZdS)1 install_libz7install all Python modules (extensions and pure Python) install-dir=ddirectory to install to build-dir=b'build directory (where to install from)forcef-force installation (overwrite existing files)compileccompile .py to .pyc [default] no-compileNdon't compile .py files optimize=Olalso compile with optimization: -O1 for "python -O", -O2 for "python -OO", and -O0 to disable [default: -O0] skip-buildskip the build stepscCs(d|_d|_d|_d|_d|_d|_dS)Nr) install_dir build_dirr roptimize skip_build)selfr#/usr/lib64/python3.6/install_lib.pyinitialize_options3s zinstall_lib.initialize_optionsc Cs|jddddddd|jdkr&d |_|jdkr6d |_t|jtsyt|j|_|jdkr^tWn ttfk rtdYnXdS)Ninstall build_librrrr rrrTFrzoptimize must be 0, 1, or 2)r!r)rr)r r )rr)rr)rr)rr"r#)Zset_undefined_optionsrr isinstanceintAssertionError ValueErrorr)rrrrfinalize_options<s$     zinstall_lib.finalize_optionscCs0|j|j}|dk r,|jjr,|j|dS)N)buildr distributionhas_pure_modules byte_compile)routfilesrrrrunVszinstall_lib.runcCs2|js.|jjr|jd|jjr.|jddS)Nbuild_py build_ext)rr*r+Z run_commandhas_ext_modules)rrrrr)fs    zinstall_lib.buildcCs8tjj|jr |j|j|j}n|jd|jdS|S)Nz3'%s' does not exist -- no Python modules to install)ospathisdirrZ copy_treerwarn)rr-rrrr ms  zinstall_lib.installcCsrtjr|jddSddlm}|jdj}|jrH||d|j||j d|j dkrn|||j |j||j |j ddS)Nz%byte-compiling is disabled, skipping.r)r,r )rr prefixdry_run)rr r6verboser7) sysdont_write_bytecoder5Zdistutils.utilr,get_finalized_commandrootrr r7rr8)rfilesr,Z install_rootrrrr,vs     zinstall_lib.byte_compilec Csh|sgS|j|}|j}t||}t|ttj}g}x(|D] } |jtjj|| |dq@W|S)N) r; get_outputsgetattrlenr2sepappendr3join) rZhas_anyZ build_cmdZ cmd_optionZ output_dirZ build_filesrZ prefix_lenZoutputsfilerrr_mutate_outputss    zinstall_lib._mutate_outputscCsvg}xl|D]d}tjjtjj|d}|tkr0q |jrL|jtjj |dd|j dkr |jtjj ||j dq W|S)Nr") optimizationr) r2r3splitextnormcasePYTHON_SOURCE_EXTENSIONrrB importlibutilcache_from_sourcer)rZ py_filenamesZbytecode_filesZpy_fileZextrrr_bytecode_filenamess     zinstall_lib._bytecode_filenamescCsR|j|jjdd|j}|jr*|j|}ng}|j|jjdd|j}|||S)zReturn the list of files that would be installed if this command were actually run. Not affected by the "dry-run" flag or whether modules have actually been built yet. r/r!r0)rEr*r+rrrNr1)rZ pure_outputsZbytecode_outputsZ ext_outputsrrrr>s   zinstall_lib.get_outputscCsLg}|jjr&|jd}|j|j|jjrH|jd}|j|j|S)zGet the list of files that are input to this command, ie. the files that get installed as they are named in the build tree. The files in this list correspond one-to-one to the output filenames returned by 'get_outputs()'. r/r0)r*r+r;extendr>r1)rZinputsr/r0rrr get_inputss    zinstall_lib.get_inputs)rrr)rr r )r r r )rrr)rNr)rrr)rNr)__name__ __module__ __qualname__ descriptionZ user_optionsZboolean_optionsZ negative_optrr(r.r)r r,rErNr>rPrrrrrs*   r) __doc__r2importlib.utilrKr9Zdistutils.corerZdistutils.errorsrrJrrrrrs  __pycache__/setopt.cpython-36.pyc000064400000010656147210141470012731 0ustar003 K]@sddlmZddlmZddlmZddlZddlZddlmZddl m Z ddd d gZ dd dZ dddZ Gdd d e ZGdd d eZdS)) convert_path)log)DistutilsOptionErrorN) configparser)Command config_file edit_config option_basesetoptlocalcCsh|dkr dS|dkr,tjjtjjtjdS|dkrZtjdkrBdpDd}tjjtd |St d |d S) zGet the filename of the distutils, local, global, or per-user config `kind` must be one of "local", "global", or "user" r z setup.cfgglobalz distutils.cfguserposix.z~/%spydistutils.cfgz7config_file() type must be 'local', 'global', or 'user'N) ospathjoindirname distutils__file__name expanduserr ValueError)Zkinddotr/usr/lib/python3.6/setopt.pyrsFc Cs.tjd|tj}|j|gx|jD]\}}|dkrTtjd|||j|q*|j|svtjd|||j |x||jD]p\}}|dkrtjd||||j |||j |stjd|||j|qtjd|||||j |||qWq*Wtjd||s*t |d }|j|WdQRXdS) aYEdit a configuration file to include `settings` `settings` is a dictionary of dictionaries or ``None`` values, keyed by command/section name. A ``None`` value means to delete the entire section, while a dictionary lists settings to be changed or deleted in that section. A setting of ``None`` means to delete that setting. zReading configuration from %sNzDeleting section [%s] from %szAdding new section [%s] to %szDeleting %s.%s from %sz#Deleting empty [%s] section from %szSetting %s.%s to %r in %sz Writing %sw)rdebugrZRawConfigParserreaditemsinfoZremove_sectionZ has_sectionZ add_sectionZ remove_optionoptionssetopenwrite) filenameZsettingsdry_runZoptsZsectionr"optionvaluefrrrr!s8            c@s2eZdZdZdddgZddgZd d Zd dZdS)r zr? descriptionr r@rAr6r;rSrrrrr ss )r )F)Zdistutils.utilrrrZdistutils.errorsrrZsetuptools.extern.six.movesrZ setuptoolsr__all__rrr r rrrrs        +'__pycache__/__init__.cpython-36.pyc000064400000001005147210141470013136 0ustar003 \@s2dZddddddddd d d d d ddddddgZdS)z\distutils.command Package containing implementation of all the standard Distutils commands.ZbuildZbuild_pyZ build_extZ build_clibZ build_scriptsZcleanZinstallZ install_libZinstall_headersZinstall_scriptsZ install_dataZsdistregisterZbdistZ bdist_dumbZ bdist_rpmZ bdist_wininstZcheckZuploadN)__doc____all__rr /usr/lib64/python3.6/__init__.pys&__pycache__/dist_info.cpython-36.pyc000064400000002445147210141470013366 0ustar003 K]@s8dZddlZddlmZddlmZGdddeZdS)zD Create a dist_info directory As defined in the wheel specification N)Command)logc@s.eZdZdZd gZddZddZd d Zd S) dist_infozcreate a .dist-info directory egg-base=eLdirectory containing .egg-info directories (default: top of the source tree)cCs d|_dS)N)egg_base)selfr /usr/lib/python3.6/dist_info.pyinitialize_optionsszdist_info.initialize_optionscCsdS)Nr )r r r r finalize_optionsszdist_info.finalize_optionscCsn|jd}|j|_|j|j|jdtd d}tjdjt j j ||jd}|j |j|dS)Negg_infoz .egg-infoz .dist-infoz creating '{}' bdist_wheel) Zget_finalized_commandrr runrlenrinfoformatospathabspathZegg2dist)r rZ dist_info_dirrr r r rs  z dist_info.runN)rrr)__name__ __module__ __qualname__ descriptionZ user_optionsr r rr r r r r s r)__doc__rZdistutils.corerZ distutilsrrr r r r s  __pycache__/bdist_egg.cpython-36.opt-1.pyc000064400000034002147210141470014270 0ustar003 K] G @sxdZddlmZddlmZmZddlmZddlm Z ddl Z ddl Z ddl Z ddl Z ddlZddlmZddlmZmZmZdd lmZdd lmZdd lmZydd lmZmZd dZWn,ek rddlm Z mZddZYnXddZ!ddZ"ddZ#GdddeZ$e%j&dj'Z(ddZ)ddZ*ddZ+d d!d"Z,d#d$Z-d%d&Z.d'd(Z/d)d*d+d,gZ0d1d/d0Z1dS)2z6setuptools.command.bdist_egg Build .egg distributions)DistutilsSetupError) remove_treemkpath)log)CodeTypeN)six)get_build_platform Distributionensure_directory) EntryPoint)Library)Command)get_pathget_python_versioncCstdS)Npurelib)rrr/usr/lib/python3.6/bdist_egg.py _get_purelibsr)get_python_librcCstdS)NF)rrrrrrscCs2d|krtjj|d}|jdr.|dd}|S)N.rmodulei)ospathsplitextendswith)filenamerrr strip_module#s   rccs:x4tj|D]&\}}}|j|j|||fVq WdS)zbDo os.walk in a reproducible way, independent of indeterministic filesystem readdir order N)rwalksort)dirbasedirsfilesrrr sorted_walk+sr$c Cs6tjdj}t|d}|j||WdQRXdS)NaR def __bootstrap__(): global __bootstrap__, __loader__, __file__ import sys, pkg_resources, imp __file__ = pkg_resources.resource_filename(__name__, %r) __loader__ = None; del __bootstrap__, __loader__ imp.load_dynamic(__name__,__file__) __bootstrap__() w)textwrapdedentlstripopenwrite)ZresourcepyfileZ_stub_templatefrrr write_stub5s  r-c@seZdZdZd*dddefd+d-d.d/gZd ddgZddZddZddZ ddZ ddZ ddZ d d!Z d"d#Zd$d%Zd&d'Zd(d)Zd S)0 bdist_eggzcreate an "egg" distribution bdist-dir=b1temporary directory for creating the distributionz plat-name=pz;platform name to embed in generated filenames (default: %s)exclude-source-filesN+remove all .py files from the generated egg keep-tempkz/keep the pseudo-installation tree around after z!creating the distribution archive dist-dir=d-directory to put final built distributions in skip-build2skip rebuilding everything (for testing/debugging)cCs.d|_d|_d|_d|_d|_d|_d|_dS)Nr) bdist_dir plat_name keep_tempdist_dir skip_build egg_outputexclude_source_files)selfrrrinitialize_optionsZszbdist_egg.initialize_optionscCs|jd}|_|j|_|jdkr>|jdj}tjj|d|_|jdkrPt |_|j dd|j dkrt dd|j |jt|jjo|jj }tjj|j|d|_ dS)Negg_infoZbdistZeggr?z.egg)r?r?)get_finalized_commandei_cmdrEr< bdist_baserrjoinr=rZset_undefined_optionsrAr Zegg_nameZ egg_versionr distributionhas_ext_modulesr?)rCrGrHbasenamerrrfinalize_optionscs      zbdist_egg.finalize_optionsc Cs|j|jd_tjjtjjt}|jj g}|j_ x|D]}t |t rt |dkrtjj |drtjj|d}tjj|}||ks|j|tjr|t |dd|df}|jj j|qrgetattrr)rCZinstcmdZold_rootrk all_outputs ext_outputsZ to_compiler2Zext_namerextr+Z archive_rootrEZ script_dirZ native_libsZ libs_filerrrrunsz                    z bdist_egg.runc Cstjdxt|jD]\}}}x|D]}tjj||}|jdrXtjd|tj ||jdr&|}d}t j ||}tjj|tj |j dd} tjd|| fytj| Wntk rYnXtj|| q&WqWdS) Nz+Removing .py files from temporary directoryz.pyz Deleting %s __pycache__z#(?P.+)\.(?P[^.]+)\.pycnamez.pyczRenaming file from [%s] to [%s])rr_walk_eggr<rrrIrdebugrzrematchpardirgroupremoveOSErrorrename) rCr!r"r#rrZpath_oldpatternmZpath_newrrrrs*        zbdist_egg.zap_pyfilescCs2t|jdd}|dk r|Stjdt|j|jS)Nr|z4zip_safe flag not set; analyzing archive contents...)rrJrr~ analyze_eggr<rt)rCsaferrrr| s  zbdist_egg.zip_safec Cstj|jjpd}|jdijd}|dkr0dS|j s>|jrLtd|ftj dd}|j }dj |j}|jd}t j j|j}d t}|jstt j j|j|jd t|jd} | j|| jd S) Nzsetuptools.installationZ eggsecutabler%zGeggsecutable entry point (%r) cannot have 'extras' or refer to a modulerraH#!/bin/sh if [ `basename $0` = "%(basename)s" ] then exec python%(pyver)s -c "import sys, os; sys.path.insert(0, os.path.abspath('$0')); from %(pkg)s import %(base)s; sys.exit(%(full)s())" "$@" else echo $0 is not the correct name for this egg file. echo Please rename it back to %(basename)s and try again. exec false fi )rea)r Z parse_maprJZ entry_pointsgetZattrsZextrasrsysversionZ module_namerIrrrLrAlocalsrerrjr)r*rx) rCZepmZepZpyverpkgZfullr!rLheaderr,rrrrs*      zbdist_egg.gen_headercCsltjj|j}tjj|d}xJ|jjjD]<}|j|r(tjj||t |d}t ||j ||q(WdS)z*Copy metadata (egg info) to the target_dirrN) rrnormpathrErIrGZfilelistr#r\rZr Z copy_file)rCZ target_dirZ norm_egg_infoprefixrtargetrrrrw:s zbdist_egg.copy_metadata_toc Csg}g}|jdi}x|t|jD]n\}}}x6|D].}tjj|djtkr.|j|||q.Wx*|D]"}|||d|tjj||<qfWqW|j j r |j d}xd|j D]Z} t | trq|j| j} |j| }tjj|jdstjjtjj|j|r|j|qW||fS)zAGet a list of relative paths to C extensions in the output distrorrPrlZ build_extzdl-)r<r$rrrlowerNATIVE_EXTENSIONSr^rIrJrKrF extensionsrXr Zget_ext_fullnamerZget_ext_filenamerLr\r}) rCrrpathsr!r"r#rZ build_cmdrfullnamerrrrsFs(   &      zbdist_egg.get_ext_outputs)r/r0r1)r3Nr4Pkeep the pseudo-installation tree around after creating the distribution archive)r5r6r)r7r8r9)r:Nr;)__name__ __module__ __qualname__ descriptionrZ user_optionsZboolean_optionsrDrMrcrdr`rrr|rrwrsrrrrr.Cs4   Q' r.z.dll .so .dylib .pydccsLt|}t|\}}}d|kr(|jd|||fVx|D] }|Vq:WdS)z@Walk an unpacked egg's contents, skipping the metadata directoryzEGG-INFON)r$nextr)egg_dirZwalkerr!r"r#Zbdfrrrrfs   rc Csx0tjD]$\}}tjjtjj|d|r |Sq Wts.visit) compression) zipfilerrrrjrr_Z ZIP_DEFLATEDZ ZIP_STOREDZZipFiler$rx) Z zip_filenamerrqrecompressrrrrrrrjr"r#r)rrerrs  r)rrTr%)2__doc__Zdistutils.errorsrZdistutils.dir_utilrrZ distutilsrtypesrrrrr&rZsetuptools.externrZ pkg_resourcesrr r r Zsetuptools.extensionr Z setuptoolsr sysconfigrrr ImportErrorZdistutils.sysconfigrrr$r-r.rrsplitrrrr{rrrrrfrrrrrsL         " $  __pycache__/saveopts.cpython-36.pyc000064400000001520147210141470013245 0ustar003 K]@s$ddlmZmZGdddeZdS)) edit_config option_basec@seZdZdZdZddZdS)saveoptsz#Save command-line options to a filez7save supplied options to setup.cfg or other config filecCsp|j}i}xP|jD]F}|dkr qx6|j|jD]$\}\}}|dkr0||j|i|<q0WqWt|j||jdS)Nrz command line)Z distributionZcommand_optionsZget_option_dictitems setdefaultrfilenameZdry_run)selfZdistZsettingscmdoptsrcvalr /usr/lib/python3.6/saveopts.pyrun s z saveopts.runN)__name__ __module__ __qualname____doc__ descriptionrr r r rrsrN)Zsetuptools.command.setoptrrrr r r rs__pycache__/install_scripts.cpython-36.opt-1.pyc000064400000004174147210141470015565 0ustar003 \@sDdZddlZddlmZddlmZddlmZGdddeZdS)zudistutils.command.install_scripts Implements the Distutils 'install_scripts' command, for installing Python scripts.N)Command)log)ST_MODEc@sLeZdZdZddddgZdd gZddZddZddZddZ ddZ d S)install_scriptsz%install scripts (Python or otherwise) install-dir=ddirectory to install scripts to build-dir=b'build directory (where to install from)forcef-force installation (overwrite existing files) skip-buildNskip the build stepscCsd|_d|_d|_d|_dS)Nr) install_dirr build_dir skip_build)selfr'/usr/lib64/python3.6/install_scripts.pyinitialize_optionssz"install_scripts.initialize_optionscCs |jdd |jdd d d dS) NZbuild build_scriptsrZinstallrrr r)rr)rr)r r )rr)Zset_undefined_options)rrrrfinalize_options!s  z install_scripts.finalize_optionscCs|js|jd|j|j|j|_tjdkrxT|jD]H}|j rNt j d|q6tj |t dBd@}t j d||tj||q6WdS)Nrposixzchanging mode of %simizchanging mode of %s to %o)rZ run_commandZ copy_treerroutfilesosname get_outputsZdry_runrinfostatrchmod)rfilemoderrrrun)s  zinstall_scripts.runcCs |jjp gS)N)Z distributionscripts)rrrr get_inputs8szinstall_scripts.get_inputscCs |jpgS)N)r)rrrrr;szinstall_scripts.get_outputs)rrr)r r r )r r r)rNr) __name__ __module__ __qualname__ descriptionZ user_optionsZboolean_optionsrrr$r&rrrrrrsr) __doc__rZdistutils.corerZ distutilsrr rrrrrrs    __pycache__/easy_install.cpython-36.pyc000064400000176663147210141470014115 0ustar003 K]T @sdZddlmZddlmZddlmZmZddlmZmZm Z m Z ddl m Z m Z ddlmZmZddlmZdd lmZdd lZdd lZdd lZdd lZdd lZdd lZdd lZdd lZdd lZdd lZdd lZdd l Z dd l!Z!dd l"Z"dd l#Z#dd l$Z$dd l%Z%dd l&m'Z'dd l(m)Z)m*Z*dd l+m,Z,ddl-m.Z.ddl/m0Z0m1Z1ddl2m3Z3ddl4m5Z5ddl6m7Z7ddl8m9Z9m:Z:m;Z;ddl4mm?Z?ddl@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZOdd lPZ@ejQde@jRdddddddgZSdd ZTd!dZUe'jVr2d"d#ZWd$d%ZXnd&d#ZWd'd%ZXd(d)ZYGd*dde,ZZd+d,Z[d-d.Z\d/d0Z]d1dZ^d2dZ_Gd3ddeGZ`Gd4d5d5e`Zaejbjcd6d7d8kreaZ`d9d:Zdd;d<Zed=d>Zfd?d@ZgdpdAdBZhdCdDZidEdFZjdGejkkrejZlndHdIZldqdKdLZmdMdNZndOdPZodQdRZpyddSlmqZrWnesk r^dTdUZrYnXdVdWZqGdXdYdYetZueujvZwGdZd[d[euZxGd\d]d]eyZzGd^d_d_ezZ{Gd`dadae{Z|ezj}Z}ezj~Z~dbdcZdddeZdfeefdgdhZdidjZdkdlZdrdmdZe"jdndoZd S)sa% Easy Install ------------ A tool for doing automatic download/extract/build of distutils-based Python packages. For detailed documentation, see the accompanying EasyInstall.txt file, or visit the `EasyInstall home page`__. __ https://setuptools.readthedocs.io/en/latest/easy_install.html )glob) get_platform) convert_path subst_vars)DistutilsArgErrorDistutilsOptionErrorDistutilsErrorDistutilsPlatformError)INSTALL_SCHEMES SCHEME_KEYS)logdir_util) first_line_re)find_executableN)six) configparsermap)Command) run_setup)get_pathget_config_vars) rmtree_safe)setopt)unpack_archive) PackageIndexparse_requirement_arg URL_SCHEME) bdist_eggegg_info)Wheel) yield_linesnormalize_pathresource_stringensure_directoryget_distributionfind_distributions Environment Requirement Distribution PathMetadata EggMetadata WorkingSetDistributionNotFoundVersionConflict DEVELOP_DISTdefault)categorysamefile easy_installPthDistributionsextract_wininst_cfgmainget_exe_prefixescCstjddkS)NP)structcalcsizer;r;"/usr/lib/python3.6/easy_install.pyis_64bitIsr=cCsjtjj|otjj|}ttjdo&|}|r:tjj||Stjjtjj|}tjjtjj|}||kS)z Determine if two paths reference the same file. Augments os.path.samefile to work on Windows and suppresses errors if the path doesn't exist. r1)ospathexistshasattrr1normpathnormcase)Zp1Zp2Z both_existZ use_samefileZnorm_p1Znorm_p2r;r;r<r1MscCs|S)Nr;)sr;r;r< _to_ascii_srEc Cs*ytj|ddStk r$dSXdS)NasciiTF)rZ text_type UnicodeError)rDr;r;r<isasciibs  rHcCs |jdS)NrF)encode)rDr;r;r<rEjsc Cs(y|jddStk r"dSXdS)NrFTF)rIrG)rDr;r;r<rHms  cCstj|jjddS)N z; )textwrapdedentstripreplace)textr;r;r<usrPc@seZdZdZdZdZdddddddddddddddddddddgZdd dd dd0d3d9ddddZ?ejdj Z@ddZAddZBddZCddZDddZEddZFddZGddZHejdj ZIddZJddZKddZLeMeMddddZNeMdddZOddZPdS)r2z'Manage a download/build/install processz Find/get/install Python packagesTprefix=Ninstallation prefixzip-okzinstall package as a zipfile multi-versionm%make apps have to require() a versionupgradeU1force upgrade (searches PyPI for latest versions) install-dir=dinstall package to DIR script-dir=rDinstall scripts to DIRexclude-scriptsxDon't install scripts always-copya'Copy all needed packages to install dir index-url=i base URL of Python Package Index find-links=f(additional URL(s) to search for packagesbuild-directory=b/download/extract/build in DIR; keep the results optimize=Olalso compile with optimization: -O1 for "python -O", -O2 for "python -OO", and -O0 to disable [default: -O0]record=3filename in which to record list of installed files always-unzipZ*don't install as a zipfile, no matter what site-dirs=S)list of directories where .pth files workeditablee+Install specified packages in editable formno-depsNdon't install dependencies allow-hosts=H$pattern(s) that hostnames must matchlocal-snapshots-okl(allow building eggs from local checkoutsversion"print version information and exit no-find-links9Don't load find-links defined in packages being installedz!install in user site-package '%s'usercCs,d|_d|_|_d|_|_|_d|_d|_d|_d|_ d|_ |_ d|_ |_ |_d|_|_|_d|_|_|_d|_d|_d|_d|_d|_d|_d|_d|_d|_tjrtj |_!tj"|_#n d|_!d|_#d|_$d|_%d|_&|_'d|_(i|_)d|_*d|_+|j,j-|_-|j,j.||j,j/ddS)NrFr2)0rzip_oklocal_snapshots_ok install_dir script_direxclude_scripts index_url find_linksbuild_directoryargsoptimizerecordrY always_copy multi_versionr{no_deps allow_hostsrootprefix no_reportrinstall_purelibinstall_platlibinstall_headers install_libinstall_scripts install_data install_baseinstall_platbasesiteENABLE_USER_SITE USER_BASEinstall_userbase USER_SITEinstall_usersite no_find_links package_indexpth_filealways_copy_from site_dirsinstalled_projectssitepy_installedZ_dry_run distributionverboseZ_set_command_optionsget_option_dict)selfr;r;r<initialize_optionssF     zeasy_install.initialize_optionscCs"dd|D}tt|j|dS)Ncss*|]"}tjj|stjj|r|VqdS)N)r>r?r@islink).0filenamer;r;r< sz/easy_install.delete_blockers..)listr _delete_path)rblockersZextant_blockersr;r;r<delete_blockersszeasy_install.delete_blockerscCsJtjd||jrdStjj|o.tjj| }|r8tntj}||dS)Nz Deleting %s) r infodry_runr>r?isdirrrmtreeunlink)rr?Zis_treeZremoverr;r;r<rs  zeasy_install._delete_pathcCs6tjdd}td}d}t|jfttdS)zT Render the Setuptools version and installation details, then exit. N setuptoolsz=setuptools {dist.version} from {dist.location} (Python {ver}))sysrr$printformatlocals SystemExit)Zverdisttmplr;r;r<_render_versions zeasy_install._render_versionc Cst|jo |jtjjd}tdd\}}|jj|jj|jj||dd|d|d||||t tddd |_ t j r|j |j d <|j|j d <|j|j|j|jd d d d|jdkr|j|_|jdkrd|_|jdd!|jdd"|jr|jr|j|_|j|_|jdd#tttj}t|_|jdk rdd|jjdD}xV|D]N}t jj!|s~t"j#d|n,t||krt$|dn|jj%t|q^W|j&s|j'|j(pd|_(|jdd|_)x4|jt|jfD] }||j)kr|j)j*d|qW|j+dk r8dd|j+jdD}ndg}|j,dkr`|j-|j(|j)|d|_,t.|j)tj|_/|j0dk rt1|j0t2j3r|j0j|_0ng|_0|j4r|j,j5|j)tj|js|j,j6|j0|jdd$t1|j7t8s@y2t8|j7|_7d|j7kodknst9Wnt9k r>t$dYnX|j&rZ|j: rZt;d|j<sjt;d g|_=dS)%Nrr exec_prefixrabiflags) Z dist_nameZ dist_versionZ dist_fullname py_versionpy_version_shortpy_version_nodotZ sys_prefixrZsys_exec_prefixrruserbaseZusersiterrrrFrrinstallrcSsg|]}tjj|jqSr;)r>r? expanduserrM)rrDr;r;r< 3sz1easy_install.finalize_options..,z"%s (in --site-dirs) does not existz$ (in --site-dirs) is not on sys.pathzhttps://pypi.org/simple/cSsg|] }|jqSr;)rM)rrDr;r;r<rHs*)Z search_pathhostsrz--optimize must be 0, 1, or 2z9Must specify a build directory (-b) when using --editablez:No urls, filenames, or requirements specified (see --help))rr)rr)rr)rr)>rrrsplitrrZget_nameZ get_versionZ get_fullnamegetattr config_varsrrrr_fix_install_dir_for_user_siteexpand_basedirs expand_dirs_expandrrrZset_undefined_optionsrrrrr!r? get_site_dirs all_site_dirsrr>rr warnrappendr{check_site_dirr shadow_pathinsertrr create_indexr& local_indexr isinstancerZ string_typesrZscan_egg_linksadd_find_linksrint ValueErrorrrroutputs) rrrrrBrr]Z path_itemrr;r;r<finalize_optionss                zeasy_install.finalize_optionscCs`|j stj rdS|j|jdkr2d}t||j|_|_tj j ddd}|j |dS)z; Fix the install_dir if "--user" was used. Nz$User base directory is not specifiedposixZunixZ_user) rrrcreate_home_pathrr rrr>namerN select_scheme)rmsgZ scheme_namer;r;r<rms z+easy_install._fix_install_dir_for_user_sitecCs\xV|D]N}t||}|dk rtjdks0tjdkrrr?rrrsetattr)rattrsattrvalr;r;r< _expand_attrs|s    zeasy_install._expand_attrscCs|jdddgdS)zNCalls `os.path.expanduser` on install_base, install_platbase and root.rrrN)r)rr;r;r<rszeasy_install.expand_basedirscCsddddddg}|j|dS)z+Calls `os.path.expanduser` on install dirs.rrrrrrN)r)rdirsr;r;r<rszeasy_install.expand_dirsc Cs|j|jjkrtj|jzx|jD]}|j||j q$W|jr|j}|j rt |j }x(t t |D]}|||d||<qfWddl m }|j|j|j|fd|j|jWdtj|jjXdS)Nr) file_utilz'writing list of installed files to '%s')rrr set_verbosityrr2rrrrlenrange distutilsrexecuteZ write_filewarn_deprecated_options)rspecrZroot_lenZcounterrr;r;r<runs$       zeasy_install.runc CsDy tj}Wn"tk r.tjdtj}YnXtjj|j d|S)zReturn a pseudo-tempname base in the install directory. This code is intentionally naive; if a malicious party can write to the target directory you're already in deep doodoo. rztest-easy-install-%s) r>getpid ExceptionrandomZrandintrmaxsizer?joinr)rpidr;r;r<pseudo_tempnames  zeasy_install.pseudo_tempnamecCsdS)Nr;)rr;r;r<rsz$easy_install.warn_deprecated_optionscCsdt|j}tjj|d}tjj|sTytj|Wn ttfk rR|j YnX||j k}| rv|j rv|j }nd|j d}tjj|}y*|rtj|t|djtj|Wn ttfk r|j YnX| r|j rt|j|r|jdkrt||j |_nd|_|tttkr6d|_n$|j rZtjj| rZd|_d|_||_dS)z;Verify that self.install_dir is .pth-capable dir, if neededzeasy-install.pthz .write-testwNT)r!rr>r?r r@makedirsOSErrorIOErrorcant_write_to_targetrrcheck_pth_processingrropencloserno_default_version_msgrr3r _pythonpathr)rinstdirrZ is_site_dirZtestfileZ test_existsr;r;r<rs>         zeasy_install.check_site_diraS can't create or remove files in install directory The following error occurred while trying to add or remove files in the installation directory: %s The installation directory you specified (via --install-dir, --prefix, or the distutils default setting) was: %s z This directory does not currently exist. Please create it and try again, or choose a different installation directory (using the -d or --install-dir option). a Perhaps your account does not have write access to this directory? If the installation directory is a system-owned directory, you may need to sign in as the administrator or "root" account. If you do not have administrative access to this machine, you may wish to choose a different installation directory, preferably one that is listed in your PYTHONPATH environment variable. For information on other options, you may wish to consult the documentation at: https://setuptools.readthedocs.io/en/latest/easy_install.html Please make the appropriate changes for your system and try again. cCsP|jtjd|jf}tjj|js6|d|j7}n|d|j7}t |dS)NrJ) _easy_install__cant_write_msgrexc_inforr>r?r@_easy_install__not_exists_id_easy_install__access_msgr)rrr;r;r<rs z!easy_install.cant_write_to_targetc Cs|j}tjd||jd}|d}tjj|}tdd}y8|rNtj|tjj |}t j j |ddt |d}Wn ttfk r|jYnXz|j|jft|jd }tj}tjd krtjj|\}} tjj|d } | jd kotjj| } | r| }d dlm} | |dddgd tjj|rJtjd|dSWd |r\|jtjj|rttj|tjj|rtj|X|jstjd|dS)z@Empirically verify whether .pth files are supported in inst. dirz Checking .pth file support in %sz.pthz.okzz import os f = open({ok_file!r}, 'w') f.write('OK') f.close() rJT)exist_okrNrz pythonw.exez python.exer)spawnz-Ez-cpassz-TEST PASSED: %s appears to support .pth filesz+TEST FAILED: %s does NOT support .pth filesF)rr rrr>r?r@ _one_linerrdirname pkg_resourcesZ py31compatrrrrrwriterrrr executablerrr lowerdistutils.spawnr rr) rrrZok_fileZ ok_existsrr#rkr&basenameZaltZuse_altr r;r;r<rsV            z!easy_install.check_pth_processingcCs\|j rN|jdrNx:|jdD],}|jd|r2q|j|||jd|qW|j|dS)z=Write all the scripts for `dist`, unless scripts are excludedscriptszscripts/N)rZmetadata_isdirZmetadata_listdirinstall_scriptZ get_metadatainstall_wrapper_scripts)rr script_namer;r;r<install_egg_scriptsSsz easy_install.install_egg_scriptscCs\tjj|rLxJtj|D].\}}}x"|D]}|jjtjj||q(WqWn |jj|dS)N)r>r?rwalkrrr )rr?baserfilesrr;r;r< add_outputas    zeasy_install.add_outputcCs|jrtd|fdS)NzjInvalid argument %r: you can't use filenames or URLs with --editable (except via the --find-links option).)r{r)rrr;r;r< not_editableiszeasy_install.not_editablecCs<|js dStjjtjj|j|jr8td|j|jfdS)Nz2%r already exists in %s; can't do a checkout there)r{r>r?r@r rkeyr)rrr;r;r<check_editableqs zeasy_install.check_editablec cs@tjtjdd}zt|VWdtjj|o8tt |XdS)Nz easy_install-)r) tempfilemkdtemprustrr>r?r@rr)rtmpdirr;r;r<_tmpdir{szeasy_install._tmpdirFcCs|js|j|j}t|tst|rT|j||jj||}|j d|||dSt j j |r||j||j d|||dSt |}|j||jj|||j|j|j |j}|dkrd|}|jr|d7}t|n0|jtkr|j|||d|S|j ||j||SWdQRXdS)NTz+Could not find suitable distribution for %rz2 (--always-copy skips system and development eggs)Using)r{install_site_pyr;rr'rr3rdownload install_itemr>r?r@rr5Zfetch_distributionrYrrrZ precedencer.process_distributionlocation)rrdepsr:dlrrr;r;r<r2s2         zeasy_install.easy_installcCs|p|j}|ptjj||k}|p,|jd }|pT|jdk oTtjjt|t|jk}|r| rx$|j|jD]}|j |krnPqnWd}t j dtjj ||r|j |||}x<|D]}|j|||qWn |j|g}|j||d|d|dk rx|D]}||kr|SqWdS)Nz.eggTz Processing %srr<)rr>r?r#endswithrr!r project_namerAr rr) install_eggsr@egg_distribution)rrr>r:rBZinstall_neededrZdistsr;r;r<r?s.         zeasy_install.install_itemcCs@t|}x2tD]*}d|}t||dkrt||||qWdS)z=Sets the install directories by applying the install schemes.Zinstall_N)r r rr)rrschemer4Zattrnamer;r;r<rs  zeasy_install.select_schemecGs|j||jj|||j|jkr2|jj||jj||j|||j|j<tj |j ||f||j dr|j r|jj |jd| r|j rdS|dk r|j|jkrtjd|dS|dks||kr|j}tt|}tj d|ytgj|g|j|j}Wn^tk rB}ztt|WYdd}~Xn0tk rp}zt|jWYdd}~XnX|js|jrx*|D]"}|j|jkr|j|jqWtj d|dS)Nzdependency_links.txtzSkipping dependencies for %szProcessing dependencies for %sz'Finished processing dependencies for %s) update_pthraddrr4remover.rr rinstallation_report has_metadatarrZget_metadata_linesrras_requirementr'r9r+Zresolver2r,rr-Zreportr)rZ requirementrrBrZdistreqZdistrosr|r;r;r<r@sB            z!easy_install.process_distributioncCs2|jdk r|j S|jdr dS|jds.dSdS)Nz not-zip-safeTzzip-safeF)rrM)rrr;r;r< should_unzips   zeasy_install.should_unzipcCstjj|j|j}tjj|r:d}tj||j|j||Stjj|rL|}nRtjj ||krftj |tj |}t |dkrtjj||d}tjj|r|}t |tj|||S)Nz<%r already exists in %s; build directory %s will not be keptrr)r>r?r rr4r@r rrr#rlistdirrr#shutilmove)rr dist_filename setup_basedstrcontentsr;r;r< maybe_moves"       zeasy_install.maybe_movecCs0|jr dSx tjj|D]}|j|qWdS)N)r ScriptWriterbestget_args write_script)rrrr;r;r<r,sz$easy_install.install_wrapper_scriptscCsNt|j}t||}|r8|j|t}tj||}|j|t|ddS)z/Generate a legacy script wrapper and install itrnN) r9rNis_python_script_load_templaterrX get_headerr[rE)rrr- script_textdev_pathrZ is_scriptZbodyr;r;r<r+"s   zeasy_install.install_scriptcCs(d}|r|jdd}td|}|jdS)z There are a couple of template scripts in the package. This function loads one of them and prepares it for use. z script.tmplz.tmplz (dev).tmplrzutf-8)rNr"decode)r`rZ raw_bytesr;r;r<r],s   zeasy_install._load_templatetc sjfdd|Dtjd|jtjjj|}j|jrLdSt }t |tjj |rptj |t |d|}|j|WdQRXt|d|dS)z1Write an executable file to the scripts directorycsg|]}tjjj|qSr;)r>r?r r)rrb)rr;r<r>sz-easy_install.write_script..zInstalling %s script to %sNri)rr rrr>r?r r2r current_umaskr#r@rrr%chmod)rr-rVmodertargetmaskrkr;)rr<r[;s   zeasy_install.write_scriptcCs`|jjdr|j||gS|jjdr8|j||gS|jjdrT|j||gS|}tjj|r|jd rt|||j ntjj |rtjj |}|j |r|j r|dk r|j|||}tjj|d}tjj|s2ttjj|dd}|stdtjj |t|dkr*td tjj ||d }|jrPtj|j||gS|j||SdS) Nz.eggz.exez.whlz.pyzsetup.pyrz"Couldn't find a setup script in %srzMultiple setup scripts in %sr)r'rD install_egg install_exe install_wheelr>r?isfilerunpack_progressrabspath startswithrrWr r@rrrr{r rreport_editablebuild_and_install)rrrSr:rT setup_scriptZsetupsr;r;r<rFOs<   zeasy_install.install_eggscCs>tjj|r"t|tjj|d}nttj|}tj ||dS)NzEGG-INFO)metadata) r>r?rr)r r* zipimport zipimporterr(Z from_filename)regg_pathrrr;r;r<rG{s    zeasy_install.egg_distributionc Cstjj|jtjj|}tjj|}|js2t||j|}t ||s|tjj |rttjj | rtt j ||jdn"tjj|r|jtj|fd|yd}tjj |r|j|rtjd}}n tjd}}nL|j|r|j||jd}}n*d}|j|rtjd}}n tjd}}|j|||f|dtjj|tjj|ft||d Wn$tk rzt|dd YnX|j||j|S) N)rz Removing FZMovingZCopyingZ ExtractingTz %s to %s)fix_zipimporter_caches)r>r?r rr)rmrr#rGr1rrr remove_treer@rrrnrQrRZcopytreerOZmkpathunpack_and_compileZcopy2r#update_dist_cachesr r2)rrur: destinationrZnew_dist_is_zippedrkrWr;r;r<rhsT               zeasy_install.install_eggc sTt|}|dkrtd|td|jdd|jddtd}tjj||jd}||_ |d}tjj|d}tjj|d }t |t |||_ |j ||tjj|st|d } | jd x<|jdD].\} } | d kr| jd | jddj| fqW| jtjj|d|jfddtj|Dtj|||j|jd|j||S)Nz(%s is not a valid distutils Windows .exerrrr)rErplatformz.eggz.tmpzEGG-INFOzPKG-INFOrzMetadata-Version: 1.0 target_versionz%s: %s _-r*csg|]}tjj|dqS)r)r>r?r )rr)rr;r<rsz,easy_install.install_exe..)rr)r4rr(getrr>r?r egg_namerAr#r)Z _provider exe_to_eggr@rr%itemsrNtitlerrrXrZrZ make_zipfilerrrh) rrSr:cfgrruegg_tmpZ _egg_infoZpkg_infrkkvr;)rr<ris<      " zeasy_install.install_exec s>t|ggifdd}t||g}xtD]l}|jjdr>|jd}|d}tj|dd|d<tjj f|}j ||j |tj ||q>W|j tj tjj dtj|xbdD]Z} t| rtjj d| d } tjj| st| d } | jd j t| d | jqWd S)z;Extract a bdist_wininst to the directories an egg would usecs|j}xԈD]\}}|j|r||t|d}|jd}tjjf|}|j}|jdsl|jdrtj |d |d <dtjj |dd<j |n4|jdr|dkrdtjj |dd<j ||SqW|jdst j d |dS) N/z.pydz.dllrrz.pyzSCRIPTS/z.pthzWARNING: can't process %sr)r'rnrrr>r?r rDr strip_modulesplitextrr r)srcrUrDoldnewpartsrC)r native_libsprefixes to_compile top_levelr;r<processs$      z(easy_install.exe_to_egg..processz.pydrrz.pyzEGG-INFOrrz.txtrrJNrrr)rr)r6rr'rDrrrr>r?r rZ write_stub byte_compileZwrite_safety_flagZ analyze_eggrr@rr%r) rrSrrZstubsresrZresourceZpyfilerZtxtrkr;)rrrrrr<rs6           zeasy_install.exe_to_eggc Cst|}|jsttjj|j|j}tjj|}|j sBt |tjj |rntjj | rnt j||j dn"tjj|r|jtj|fd|z.|j|j|fdtjj|tjj|fWdt|ddX|j||j|S)N)rz Removing zInstalling %s to %sF)rv)rZ is_compatibleAssertionErrorr>r?r rrrmrr#rrr rwr@rrZinstall_as_eggr)r#ryr2rG)rZ wheel_pathr:Zwheelrzr;r;r<rjs.      zeasy_install.install_wheela( Because this distribution was installed --multi-version, before you can import modules from this package in an application, you will need to 'import pkg_resources' and then use a 'require()' call similar to one of these examples, in order to select the desired version: pkg_resources.require("%(name)s") # latest installed version pkg_resources.require("%(name)s==%(version)s") # this exact version pkg_resources.require("%(name)s>=%(version)s") # this version or higher z Note also that the installation directory must be on sys.path at runtime for this to work. (e.g. by being the application's script directory, by being on PYTHONPATH, or by being added to sys.path by your code.) Installedc Cs`d}|jr@|j r@|d|j7}|jtttjkr@|d|j7}|j }|j }|j }d}|t S)z9Helpful installation message for display to package usersz %(what)s %(eggloc)s%(extras)srJr) rr_easy_install__mv_warningrrr!rr?_easy_install__id_warningrArErr) rZreqrZwhatrZegglocrrZextrasr;r;r<rLIsz easy_install.installation_reportaR Extracted editable version of %(spec)s to %(dirname)s If it uses setuptools in its setup script, you can activate it in "development" mode by going to that directory and running:: %(python)s setup.py develop See the setuptools documentation for the "develop" command for more info. cCs"tjj|}tj}d|jtS)NrJ)r>r?r#rr&_easy_install__editable_msgr)rrrqr#pythonr;r;r<robs zeasy_install.report_editablecCstjjdttjjdtt|}|jdkrNd|jd}|jdd|n|jdkrd|jdd|jrv|jdd t j d |t |ddd j |yt ||Wn6tk r}ztd |jdfWYdd}~XnXdS) Nzdistutils.command.bdist_eggzdistutils.command.egg_inforrrrr~z-qz-nz Running %s %s zSetup script exited with %s)rmodules setdefaultrrrrrrr rrr rrrr)rrqrTrrr;r;r<rgs      zeasy_install.run_setupc Csddg}tjdtjj|d}z|jtjj||j||j|||t|g}g}x2|D]*}x$||D]}|j|j |j |qlWq^W| r|j rt j d||St|t j|jXdS)Nrz --dist-dirz egg-dist-tmp-)rdirz+No eggs found in %s (setup script problem?))r6r7r>r?r#_set_fetcher_optionsrrr&rhrArr rrrr) rrqrTrZdist_dirZall_eggsZeggsr4rr;r;r<rp{s$   zeasy_install.build_and_installc Cst|jjdj}d }i}x2|jD]&\}}||kr4q"|d||jdd <q"Wt|d }tjj|d }t j ||d S)a When easy_install is about to run bdist_egg on a source dist, that source dist might have 'setup_requires' directives, requiring additional fetching. Ensure the fetcher options given to easy_install are available to that command as well. r2rrrrrrr}r~)r2z setup.cfgN)rrrrrr) rrcopyrrNdictr>r?r rZ edit_config) rr0Zei_optsZfetch_directivesZ fetch_optionsr4rZsettingsZ cfg_filenamer;r;r<rs  z!easy_install._set_fetcher_optionscCs0|jdkrdSxX|j|jD]H}|js2|j|jkrtjd||jj||j|jkr|jj|jqW|js|j|jjkrtjd|n2tjd||jj ||j|jkr|jj |j|j s,|jj |jdkr,t jj|jd}t jj|rt j|t|d}|j|jj|jd|jdS)Nz&Removing %s from easy-install.pth filez4%s is already the active version in easy-install.pthz"Adding %s to easy-install.pth filerzsetuptools.pthwtrJ)rr4rrAr rrKrpathsrJrrsaver>r?r rrrrr% make_relativer)rrr]rrkr;r;r<rIs4           zeasy_install.update_pthcCstjd|||S)NzUnpacking %s to %s)r debug)rrrUr;r;r<rlszeasy_install.unpack_progresscshggfdd}t|||jjsdx.D]&}tj|tjdBd@}t||q:WdS)Ncs\|jdr"|jd r"j|n|jds6|jdr@j|j||j rX|pZdS)Nz.pyz EGG-INFO/z.dllz.so)rDrnrrlr)rrU)rto_chmodrr;r<pfs    z+easy_install.unpack_and_compile..pfimi)rrrr>statST_MODErd)rrurzrrkrer;)rrrr<rxs   zeasy_install.unpack_and_compilec Csjtjr dSddlm}z@tj|jd||dd|jd|jrT|||jd|jdWdtj|jXdS)Nr)rr)rforcer) rdont_write_bytecodedistutils.utilrr rrrr)rrrr;r;r<rs zeasy_install.byte_compilea bad install directory or PYTHONPATH You are attempting to install a package to a directory that is not on PYTHONPATH and which Python does not read ".pth" files from. The installation directory you specified (via --install-dir, --prefix, or the distutils default setting) was: %s and your PYTHONPATH environment variable currently contains: %r Here are some of your options for correcting the problem: * You can choose a different installation directory, i.e., one that is on PYTHONPATH or supports .pth files * You can add the installation directory to the PYTHONPATH environment variable. (It must then also be on PYTHONPATH whenever you run Python and want to use the package(s) you are installing.) * You can set up the installation directory to support ".pth" files by using one of the approaches described here: https://setuptools.readthedocs.io/en/latest/easy_install.html#custom-installation-locations Please make the appropriate changes for your system and try again.cCs|j}||jtjjddfS)N PYTHONPATHr)_easy_install__no_default_msgrr>environr)rtemplater;r;r<rsz#easy_install.no_default_version_msgcCs|jr dStjj|jd}tdd}|jd}d}tjj|rtj d|jt j |}|j }WdQRX|j dstd |||krtjd ||jst|t j |d dd }|j|WdQRX|j|gd |_dS)z8Make sure there's a site.py in the target dir, if neededNzsite.pyrz site-patch.pyzutf-8rzChecking existing site.py in %sz def __boot():z;%s is not a setuptools-generated site.py; please remove it.z Creating %sr)encodingT)rr>r?r rr"rar@r riorreadrnrrrr#r%r)rZsitepysourceZcurrentZstrmr;r;r<r=s,       zeasy_install.install_site_pycCsj|js dSttjjd}xJtj|jD]:\}}|j|r(tjj | r(|j d|tj |dq(WdS)zCreate directories under ~.N~zos.makedirs('%s', 0o700)i) rrr>r?rrZ iteritemsrrnrZ debug_printr)rhomerr?r;r;r<r>szeasy_install.create_home_pathz/$base/lib/python$py_version_short/site-packagesz $base/bin)rr)rz$base/Lib/site-packagesz $base/ScriptscGs|jdj}|jrh|j}|j|d<|jjtj|j}x0|j D]$\}}t ||ddkr@t |||q@Wddl m }xJ|D]B}t ||}|dk rz|||}tjdkrtjj|}t |||qzWdS)Nrr0r)rr)Zget_finalized_commandrrrr rr>rDEFAULT_SCHEMErrrrrr?r)rrrrHrrrr;r;r<rTs         zeasy_install._expand)rQNrR)rSrTrU)rVrWrX)rYrZr[)r\r]r^)r_rDr`)rarbrc)rdrerf)rgrhri)rjrkrl)rmrnro)rprqrr)rsNrt)rurvrw)rxryrz)r{r|r})r~rr)rrr)rrr)rNr)rNr)F)F)T)N)r)Q__name__ __module__ __qualname____doc__ descriptionZcommand_consumes_argumentsZ user_optionsZboolean_optionsrrrZhelp_msgrZ negative_optrrrrr staticmethodrrrrrrrrrrrKrLlstriprrrrrr.r2r3r5 contextlibcontextmanagerr;r2r?rr@rOrWr,r+r]r[rFrGrhrirrjrrrLrrorrprrIrlrxrrrr=rrr rrr;r;r;r<r2xs    0 z   0    ;  $ $ '  ,6-5   %    cCs tjjddjtj}td|S)Nrr)r>rrrpathsepfilter)rr;r;r<rksrc Csg}|jttjg}tjtjkr0|jtjx|D]}|r6tjdkr`|jtjj |ddn\tj dkr|jtjj |ddtj dd dtjj |dd gn|j|tjj |ddgtjd kr6d |kr6tj j d }|r6tjj |ddtj dd d}|j|q6Wtdtdf}x"|D]}||kr |j|q WtjrR|jtjy|jtjWntk rzYnXttt|}|S)z& Return a list of 'site' dirs os2emxriscosZLibz site-packagesrlibrNrz site-pythondarwinzPython.frameworkHOMELibraryPythonpurelibplatlib)rr)extendrrrrrr{r>r?r seprrrrrrrgetsitepackagesAttributeErrorrrr!)sitedirsrrrZhome_spZ lib_pathsZsite_libr;r;r<rpsV            rccsi}x|D]}t|}||kr q d||<tjj|s6q tj|}||fVx|D]}|jds`qP|dkrjqPttjj||}tt |}|j xP|D]H}|j dst|j }||krd||<tjj|sq|tj|fVqWqPWq WdS)zBYield sys.path directories that might contain "old-style" packagesrz.ptheasy-install.pthsetuptools.pthimportN)rr) r!r>r?rrPrDrr rr rrnrstrip)Zinputsseenr#r1rrklinesliner;r;r< expand_pathss4           rc Cs&t|d}z tj|}|dkr$dS|d|d|d}|dkrHdS|j|dtjd|jd\}}}|dkrzdS|j|d|d d d }tj|}y<|j|} | j d d d} | j t j } |j tj| Wntjk rdSX|jd s|jd rdS|S|jXdS)znExtract configuration data from a bdist_wininst .exe Returns a configparser.RawConfigParser, or None rbN  zegg path translations for a given .exe filePURELIB/rPLATLIB/pywin32_system32PLATLIB/SCRIPTS/EGG-INFO/scripts/DATA/lib/site-packagesrrrzPKG-INFOrz .egg-inforNz EGG-INFO/z.pthz -nspkg.pthPURELIBPLATLIB\rz%s/%s/cSsg|]\}}|j|fqSr;)r')rrbyr;r;r<r$sz$get_exe_prefixes..)rr)rr)rr)rr)rr)rr)rZZipFileZinfolistrrrrDrr upperrrZPY3rar rMrNrnrrsortreverse)Z exe_filenamerrTrrrrVZpthr;r;r<r6s>     & c@sTeZdZdZdZffddZddZddZed d Z d d Z d dZ ddZ dS)r3z)A .pth file with Distribution paths in itFcCsp||_ttt||_ttjj|j|_|j t j |gddx(t |j D]}tt|jt|dqNWdS)NT)rrrr!rr>r?r#basedir_loadr&__init__r rrJr%)rrrr?r;r;r<r/szPthDistributions.__init__cCsg|_d}tj|j}tjj|jrt|jd}x|D]}|j drJd}q6|j }|jj ||j s6|j j drxq6t tjj|j|}|jd<tjj| s||kr|jjd|_q6d||<q6W|j|jr| rd|_x&|jo|jdj r |jjqWdS) NFZrtrT#rrr)rrfromkeysrr>r?rkrrrnrrrMr!r rr@popdirtyr)rZ saw_importrrkrr?r;r;r<r8s2        zPthDistributions._loadc Cs|js dStt|j|j}|rtjd|j|j|}dj |d}t j j |jr`t j |jt|jd}|j|WdQRXn(t j j|jrtjd|jt j |jd|_dS)z$Write changed .pth file back to diskNz Saving %srJrzDeleting empty %sF)rrrrrr rr _wrap_linesr r>r?rrrr%r@)rZ rel_pathsrdatarkr;r;r<rWs   zPthDistributions.savecCs|S)Nr;)rr;r;r<rmszPthDistributions._wrap_linescCsN|j|jko$|j|jkp$|jtjk}|r>|jj|jd|_tj||dS)z"Add `dist` to the distribution mapTN) rArrr>getcwdrrr&rJ)rrnew_pathr;r;r<rJqs  zPthDistributions.addcCs6x$|j|jkr$|jj|jd|_qWtj||dS)z'Remove `dist` from the distribution mapTN)rArrKrr&)rrr;r;r<rKs zPthDistributions.removecCstjjt|\}}t|j}|g}tjdkr2dp6tj}xVt||kr||jkrn|jtj |j |j |Stjj|\}}|j|q:W|SdS)Nr) r>r?rr!rraltseprrcurdirrr )rr?ZnpathZlastZbaselenrrr;r;r<rs    zPthDistributions.make_relativeN) rrrrrrrrrrrJrKrr;r;r;r<r3*s  c@s(eZdZeddZedZedZdS)RewritePthDistributionsccs(|jVx|D] }|VqW|jVdS)N)preludepostlude)clsrrr;r;r<rs  z#RewritePthDistributions._wrap_linesz? import sys sys.__plen = len(sys.path) z import sys new = sys.path[sys.__plen:] del sys.path[sys.__plen:] p = getattr(sys, '__egginsert', 0) sys.path[p:p] = new sys.__egginsert = p + len(new) N)rrr classmethodrr"rr r;r;r;r<rs  rZSETUPTOOLS_SYS_PATH_TECHNIQUErawZrewritecCs ttjtrtStjtjjS)z_ Return a regular expression based on first_line_re suitable for matching strings. )rrpatternr9recompilerar;r;r;r<_first_line_res rcCsd|tjtjgkr.tjdkr.t|tj||Stj\}}}t j ||d|dd||ffdS)Nrrrz %s %s) r>rrKrrdrS_IWRITErrrZreraise)funcargexcZetZevr}r;r;r< auto_chmods  rcCs.t|}t|tj|r"t|nt|dS)aa Fix any globally cached `dist_path` related data `dist_path` should be a path of a newly installed egg distribution (zipped or unzipped). sys.path_importer_cache contains finder objects that have been cached when importing data from the original distribution. Any such finders need to be cleared since the replacement distribution might be packaged differently, e.g. a zipped egg distribution might get replaced with an unzipped egg folder or vice versa. Having the old finders cached may then cause Python to attempt loading modules from the replacement distribution using an incorrect loader. zipimport.zipimporter objects are Python loaders charged with importing data packaged inside zip archives. If stale loaders referencing the original distribution, are left behind, they can fail to load modules from the replacement distribution. E.g. if an old zipimport.zipimporter instance is used to load data from a new zipped egg archive, it may cause the operation to attempt to locate the requested data in the wrong location - one indicated by the original distribution's zip archive directory information. Such an operation may then fail outright, e.g. report having read a 'bad local file header', or even worse, it may fail silently & return invalid data. zipimport._zip_directory_cache contains cached zip archive directory information for all existing zipimport.zipimporter instances and all such instances connected to the same archive share the same cached directory information. If asked, and the underlying Python implementation allows it, we can fix all existing zipimport.zipimporter instances instead of having to track them down and remove them one by one, by updating their shared cached zip archive directory information. This, of course, assumes that the replacement distribution is packaged as a zipped egg. If not asked to fix existing zipimport.zipimporter instances, we still do our best to clear any remaining zipimport.zipimporter related cached data that might somehow later get used when attempting to load data from the new distribution and thus cause such load operations to fail. Note that when tracking down such remaining stale data, we can not catch every conceivable usage from here, and we clear only those that we know of and have found to cause problems if left alive. Any remaining caches should be updated by whomever is in charge of maintaining them, i.e. they should be ready to handle us replacing their zip archives with new distributions at runtime. N)r!_uncacherpath_importer_cache!_replace_zip_directory_cache_data*_remove_and_clear_zip_directory_cache_data)Z dist_pathrvnormalized_pathr;r;r<rys <  rycCsTg}t|}xB|D]:}t|}|j|r|||dtjdfkr|j|qW|S)ap Return zipimporter cache entry keys related to a given normalized path. Alternative path spellings (e.g. those using different character case or those using alternative path separators) related to the same path are included. Any sub-path entries are included as well, i.e. those corresponding to zip archives embedded in other zip archives. rr)rr!rnr>rr)rcacheresultZ prefix_lenpZnpr;r;r<"_collect_zipimporter_cache_entriess   rcCsDx>t||D]0}||}||=|o*|||}|dk r |||<q WdS)a Update zipimporter cache data for a given normalized path. Any sub-path entries are processed as well, i.e. those corresponding to zip archives embedded in other zip archives. Given updater is a callable taking a cache entry key and the original entry (after already removing the entry from the cache), and expected to update the entry and possibly return a new one to be inserted in its place. Returning None indicates that the entry should not be replaced with a new one. If no updater is given, the cache entries are simply removed without any additional processing, the same as if the updater simply returned None. N)r)rrupdaterr old_entryZ new_entryr;r;r<_update_zipimporter_cache*s  r!cCst||dS)N)r!)rrr;r;r<rJsrcCsdd}t|tj|ddS)NcSs |jdS)N)clear)r?r r;r;r<2clear_and_remove_cached_zip_archive_directory_dataOszf_remove_and_clear_zip_directory_cache_data..clear_and_remove_cached_zip_archive_directory_data)r)r!rs_zip_directory_cache)rr#r;r;r<rNsrZ__pypy__cCsdd}t|tj|ddS)NcSs&|jtj||jtj||S)N)r"rsrtupdater$)r?r r;r;r<)replace_cached_zip_archive_directory_dataes zT_replace_zip_directory_cache_data..replace_cached_zip_archive_directory_data)r)r!rsr$)rr&r;r;r<rds rc Cs2yt||dWnttfk r(dSXdSdS)z%Is this string a valid Python script?execFTN)r SyntaxError TypeError)rOrr;r;r< is_pythonws r+cCsJy(tj|dd}|jd}WdQRXWnttfk r@|SX|dkS)zCDetermine if the specified executable is a .sh (contains a #! line)zlatin-1)rrNz#!)rrrrr)r&fpmagicr;r;r<is_shs r.cCs tj|gS)z@Quote a command line argument according to Windows parsing rules) subprocess list2cmdline)rr;r;r< nt_quote_argsr1cCsH|jds|jdrdSt||r&dS|jdrDd|jdjkSdS)zMIs this text, as a whole, a Python script? (as opposed to shell/bat/etc. z.pyz.pywTz#!rrF)rDr+rn splitlinesr')r_rr;r;r<r\s  r\)rdcGsdS)Nr;)rr;r;r<_chmodsr3cCsRtjd||yt||Wn0tjk rL}ztjd|WYdd}~XnXdS)Nzchanging mode of %s to %ozchmod failed: %s)r rr3r>error)r?rer|r;r;r<rds rdc@seZdZdZgZeZeddZeddZ eddZ edd Z ed d Z d d Z eddZddZeddZeddZdS) CommandSpeczm A command spec for a #! header, specified as a list of arguments akin to those passed to Popen. cCs|S)zV Choose the best CommandSpec class based on environmental conditions. r;)r r;r;r<rYszCommandSpec.bestcCstjjtj}tjjd|S)N__PYVENV_LAUNCHER__)r>r?rBrr&rr)r Z_defaultr;r;r<_sys_executableszCommandSpec._sys_executablecCs:t||r|St|tr ||S|dkr0|jS|j|S)zg Construct a CommandSpec from a parameter to build_scripts, which may be None. N)rrfrom_environment from_string)r Zparamr;r;r< from_params  zCommandSpec.from_paramcCs||jgS)N)r7)r r;r;r<r8szCommandSpec.from_environmentcCstj|f|j}||S)z} Construct a command spec from a simple string representing a command line parseable by shlex.split. )shlexr split_args)r stringrr;r;r<r9szCommandSpec.from_stringcCs8tj|j||_tj|}t|s4dg|jdd<dS)Nz-xr)r;r_extract_optionsoptionsr/r0rH)rr_cmdliner;r;r<install_optionss zCommandSpec.install_optionscCs:|djd}tj|}|r.|jdp0dnd}|jS)zH Extract any options from the first line of the script. rJrrr)r2rmatchgrouprM)Z orig_scriptfirstrBr?r;r;r<r>s zCommandSpec._extract_optionscCs|j|t|jS)N)_renderrr?)rr;r;r< as_headerszCommandSpec.as_headercCs6d}x,|D]$}|j|r |j|r |ddSq W|S)Nz"'rr)rnrD)itemZ_QUOTESqr;r;r< _strip_quotess  zCommandSpec._strip_quotescCs tjdd|D}d|dS)Ncss|]}tj|jVqdS)N)r5rIrM)rrGr;r;r<rsz&CommandSpec._render..z#!rJ)r/r0)rr@r;r;r<rEszCommandSpec._renderN)rrrrr?rr<r rYr7r:r8r9rArr>rFrIrEr;r;r;r<r5s       r5c@seZdZeddZdS)WindowsCommandSpecF)rN)rrrrr<r;r;r;r<rJsrJc@seZdZdZejdjZeZ e dddZ e dddZ e dd d Z ed d Ze d dZe ddZe ddZe dddZdS)rXz` Encapsulates behavior around writing entry point scripts for console and gui apps. a # EASY-INSTALL-ENTRY-SCRIPT: %(spec)r,%(group)r,%(name)r __requires__ = %(spec)r import re import sys from pkg_resources import load_entry_point if __name__ == '__main__': sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) sys.exit( load_entry_point(%(spec)r, %(group)r, %(name)r)() ) NFcCs6tjdt|rtntj}|jd||}|j||S)Nz Use get_argsr)warningsrDeprecationWarningWindowsScriptWriterrXrYget_script_headerrZ)r rr&wininstwriterheaderr;r;r<get_script_argss zScriptWriter.get_script_argscCs6tjdt|rd}|jjj|}|j||jS)NzUse get_headerz python.exe)rKrrLcommand_spec_classrYr:rArF)r r_r&rOcmdr;r;r<rN's   zScriptWriter.get_script_headerc cs|dkr|j}t|j}xjdD]b}|d}xT|j|jD]B\}}|j||jt}|j||||} x| D] } | VqrWq>Wq"WdS)z Yield write_script() argument tuples for a distribution's console_scripts and gui_scripts entry points. NconsoleguiZ_scripts)rUrV) r^r9rNZ get_entry_mapr_ensure_safe_namerr_get_script_args) r rrQrtype_rCrZepr_rrr;r;r<rZ1s     zScriptWriter.get_argscCstjd|}|rtddS)z? Prevent paths in *_scripts entry point names. z[\\/]z+Path separators not allowed in script namesN)rsearchr)rZ has_path_sepr;r;r<rWCs zScriptWriter._ensure_safe_namecCs tjdt|rtjS|jS)NzUse best)rKrrLrMrY)r Z force_windowsr;r;r< get_writerLs zScriptWriter.get_writercCs.tjdkstjdkr&tjdkr&tjS|SdS)zD Select the best ScriptWriter for this environment. win32javarN)rr{r>r_namerMrY)r r;r;r<rYRszScriptWriter.bestccs|||fVdS)Nr;)r rYrrQr_r;r;r<rX\szScriptWriter._get_script_argsrcCs"|jjj|}|j||jS)z;Create a #! line, getting options (if any) from script_text)rSrYr:rArF)r r_r&rTr;r;r<r^as zScriptWriter.get_header)NF)NF)N)rN)rrrrrKrLrrr5rSr rRrNrZrrWr[rYrXr^r;r;r;r<rX s       rXc@sLeZdZeZeddZeddZeddZeddZ e d d Z d S) rMcCstjdt|jS)NzUse best)rKrrLrY)r r;r;r<r[ls zWindowsScriptWriter.get_writercCs"tt|d}tjjdd}||S)zC Select the best ScriptWriter suitable for Windows )r&ZnaturalZSETUPTOOLS_LAUNCHERr&)rWindowsExecutableLauncherWriterr>rr)r Z writer_lookupZlauncherr;r;r<rYrs zWindowsScriptWriter.bestc #stddd|}|tjdjjdkrBdjft}tj|t dddd d dd g}|j ||j ||}fd d |D}|||d|fVdS)z For Windows, add a .py extensionz.pyaz.pyw)rUrVZPATHEXT;zK{ext} not listed in PATHEXT; scripts will not be recognized as executables.z.pyz -script.pyz.pycz.pyoz.execsg|] }|qSr;r;)rrb)rr;r<rsz8WindowsScriptWriter._get_script_args..rbN) rr>rr'rrrrKr UserWarningrK_adjust_header) r rYrrQr_extrrrr;)rr<rXs   z$WindowsScriptWriter._get_script_argscCsNd}d}|dkr||}}tjtj|tj}|j||d}|j|rJ|S|S)z Make sure 'pythonw' is used for gui and and 'python' is used for console (regardless of what sys.executable is). z pythonw.exez python.exerV)r=repl)rrescape IGNORECASEsub _use_header)r rYZ orig_headerr rdZ pattern_ob new_headerr;r;r<rbs z"WindowsScriptWriter._adjust_headercCs$|ddjd}tjdkp"t|S)z Should _adjust_header use the replaced header? On non-windows systems, always use. On Windows systems, only use the replaced header if it resolves to an executable on the system. rr"r\r)rMrr{r)riZ clean_headerr;r;r<rhs zWindowsScriptWriter._use_headerN) rrrrJrSr r[rYrXrbrrhr;r;r;r<rMis    rMc@seZdZeddZdS)r_c #s|dkrd}d}dg}nd}d}dddg}|j||}fd d |D} |||d | fVd t|d fVtsd} | td fVdS)zG For Windows, add a .py extension and an .exe launcher rVz -script.pywz.pywZcliz -script.pyz.pyz.pycz.pyocsg|] }|qSr;r;)rrb)rr;r<rszDWindowsExecutableLauncherWriter._get_script_args..rbz.exernz .exe.manifestN)rbget_win_launcherr=load_launcher_manifest) r rYrrQr_Z launcher_typercrZhdrrZm_namer;)rr<rXs   z0WindowsExecutableLauncherWriter._get_script_argsN)rrrr rXr;r;r;r<r_sr_cCs2d|}tr|jdd}n |jdd}td|S)z Load the Windows launcher (executable) suitable for launching a script. `type` should be either 'cli' or 'gui' Returns the executable as a byte string. z%s.exe.z-64.z-32.r)r=rNr")typeZ launcher_fnr;r;r<rks  rkcCs0tjtd}tjr|tS|jdtSdS)Nzlauncher manifest.xmlzutf-8)r$r"rrPY2varsra)rZmanifestr;r;r<rls  rlFcCstj|||S)N)rQr)r? ignore_errorsonerrorr;r;r<rsrcCstjd}tj||S)N)r>umask)Ztmpr;r;r<rcs  rccCs:ddl}tjj|jd}|tjd<tjj|tdS)Nr) rr>r?r#__path__rargvrr5)rZargv0r;r;r< bootstraps   rwc sddlm}ddlmGfddd}|dkrBtjdd}t0|fddd g|tjdpfd|d |WdQRXdS) Nr)setup)r(cseZdZdZfddZdS)z-main..DistributionWithoutHelpCommandsrc s(tj|f||WdQRXdS)N) _patch_usage _show_help)rrkw)r(r;r<rz sz8main..DistributionWithoutHelpCommands._show_helpN)rrrZ common_usagerzr;)r(r;r<DistributionWithoutHelpCommandssr|rz-qr2z-v)Z script_argsr-Z distclass)rrxZsetuptools.distr(rrvry)rvr{rxr|r;)r(r<r5s    c #sLddl}tjdjfdd}|jj}||j_z dVWd||j_XdS)Nrze usage: %(script)s [options] requirement_or_url ... or: %(script)s --help csttjj|dS)N)Zscript)rr>r?r))r-)USAGEr;r< gen_usage sz_patch_usage..gen_usage)Zdistutils.corerKrLrZcorer~)rr~Zsavedr;)r}r<ry s   ry)N)r')N)rrrrrrZdistutils.errorsrrrr Zdistutils.command.installr r rr r Zdistutils.command.build_scriptsrr(rrr>rsrQr6rrrr rKrKrr9rr/r;rZsetuptools.externrZsetuptools.extern.six.movesrrrrZsetuptools.sandboxrZsetuptools.py31compatrrZsetuptools.py27compatrZsetuptools.commandrZsetuptools.archive_utilrZsetuptools.package_indexrrrrrZsetuptools.wheelrr$r r!r"r#r$r%r&r'r(r)r*r+r,r-r.Zpkg_resources.py31compatfilterwarningsZ PEP440Warning__all__r=r1rorErHr"r2rrrr4r6r3rrrrrryrr!rrbuiltin_module_namesrr+r.r1r\rdr3 ImportErrorrr5r7Zsys_executablerJobjectrXrMr_rRrNrkrlrrcrwr5rryr;r;r;r< s           D |A))'l R    T`A  __pycache__/register.cpython-36.pyc000064400000020312147210141470013225 0ustar003 \-@sddZddlZddlZddlZddlZddlmZddlm Z ddl Tddl m Z Gddde Z dS) zhdistutils.command.register Implements the Distutils 'register' command (register with the repository). N)warn) PyPIRCCommand)*)logc@seZdZdZejdd gZejdddgZdd d fgZd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZd!ddZdS)"registerz7register the distribution with the Python package indexlist-classifiersN list the valid Trove classifiersstrictBWill stop the registering if the meta-data are not fully compliantverifycheckcCsdS)NT)selfr r /usr/lib64/python3.6/register.pyszregister.cCstj|d|_d|_dS)Nr)rinitialize_optionslist_classifiersr )rr r rrs zregister.initialize_optionscCs*tj|d|jfdd}||jjd<dS)Nr)r restructuredtextr )rr)rfinalize_optionsr distributionZcommand_options)rZ check_optionsr r rr$s zregister.finalize_optionscCsX|j|jx|jD]}|j|qW|jr<|jn|jrL|jn|jdS)N) r _set_configZget_sub_commandsZ run_commandZdry_runverify_metadatar classifiers send_metadata)rZcmd_namer r rrun+s  z register.runcCs8tdt|jjd}|j|j|_d|_|jdS)zDeprecated API.zddistutils.command.register.check_metadata is deprecated, use the check command insteadr rN)rPendingDeprecationWarningrZget_command_objZensure_finalizedr rr)rr r r rcheck_metadata:s zregister.check_metadatacCsz|j}|ikr@|d|_|d|_|d|_|d|_d|_n6|jd|jfkr^td|j|jdkrp|j|_d|_d S) z: Reads the configuration file and set attributes. usernamepassword repositoryrealmTZpypiz%s not found in .pypircFN)Z _read_pypircrrr r! has_configZDEFAULT_REPOSITORY ValueError)rconfigr r rrDs     zregister._set_configcCs*|jd}tjj|}tj|j|dS)z8 Fetch the list of classifiers from the server. z?:action=list_classifiersN)r urllibrequestZurlopenrinfo_read_pypi_response)rZurlZresponser r rrUs  zregister.classifierscCs&|j|jd\}}tjd||dS)zF Send the metadata to the package index server to be checked. r zServer response (%s): %sN)post_to_serverbuild_post_datarr')rcoderesultr r rr\szregister.verify_metadatac Cs|jrd}|j}|j}n d}d}}dj}x:||krf|jdtjt}|sTd}q.||kr.tdq.W|dkr|x|std}qtWx|st j d}qWt j j }t j j|jd }|j|j||||j|jd |\}}|jd ||ftj|d kr|jr||j_nj|jd tj|jd|jtjd}x&|jdkr\td}|s8d}q8W|jdkr|j||n|dkrddi} d| d<| d<| d<d| d<x| dstd| d<qWx| d| dkrNx| dst j d| d<qWx| dst j d| d<qW| d| dkrd| d<d| d<tdqWx| dsltd| d<qRW|j| \}}|d krtjd ||ntjdtjd nT|d!krdd"i} d| d<x| dstd#| d<qW|j| \}}tjd ||dS)$a_ Send the metadata to the package index server. Well, do the following: 1. figure who the user is, and then 2. send the data as a Basic auth'ed POST. First we try to read the username/password from $HOME/.pypirc, which is a ConfigParser-formatted file with a section [distutils] containing username and password entries (both in clear text). Eg: [distutils] index-servers = pypi [pypi] username: fred password: sekrit Otherwise, to figure who the user is, we offer the user three choices: 1. use existing login, 2. register as a new user, or 3. set the password to a random string and email the user. 1xz1 2 3 4zWe need to know who you are, so please choose either: 1. use your existing login, 2. register as a new user, 3. have the server generate a new password for you (and email it to you), or 4. quit Your selection [default 1]: z&Please choose one of the four options!z Username: z Password: rZsubmitzServer response (%s): %szAI can store your PyPI login so future submissions will be faster.z (the login will be stored in %s)XZynzSave your login (y/N)?ny2z:actionusernamerZemailNZconfirmz Confirm: z!Password and confirm don't match!z EMail: z"You will receive an email shortly.z7Follow the instructions in it to complete registration.3Zpassword_resetzYour email address: )r"rrsplitannouncerINFOinputprintgetpassr%r&ZHTTPPasswordMgrparseZurlparser Z add_passwordr!r)r*rZ _get_rc_filelowerZ _store_pypircr') rZchoicerrchoicesauthhostr+r,datar r rrcs                     zregister.send_metadatacCs|jj}|d|j|j|j|j|j|j|j|j |j |j |j |j |j|j|jd}|ds|ds|drd|d<|S)Nz1.0)z:actionmetadata_versionr6versionZsummaryZ home_pageZauthorZ author_emaillicense descriptionkeywordsplatformrZ download_urlprovidesrequires obsoletesrJrKrLz1.1rD)rZmetadataZget_nameZ get_versionZget_descriptionZget_urlZ get_contactZget_contact_emailZ get_licenceZget_long_descriptionZ get_keywordsZ get_platformsZget_classifiersZget_download_urlZ get_providesZ get_requiresZ get_obsoletes)ractionmetarCr r rr*s* zregister.build_post_datacCsd|kr$|jd|d|jftjd}d|}|d}tj}x|jD]\}}t|tgtffkrp|g}xZ|D]R}t|}|j ||j d||j d|j ||rv|dd krv|j d qvWqJW|j ||j d |j j d }d |tt |d } t jj|j|| } t jjt jj|d} d}y| j| } Wnxt jjk r} z$|jrl| jj}| j| jf} WYdd} ~ XnJt jjk r} zdt| f} WYdd} ~ XnX|jr|j| }d} |jrd jdd|ddf}|j|tj| S)zC Post a query to the server, and return a string response. r6zRegistering %s to %sz3--------------GHSKFJDLGDS7543FJKLFHRE75642756743254z --z--z* Content-Disposition: form-data; name="%s"z r  zutf-8z/multipart/form-data; boundary=%s; charset=utf-8)z Content-typezContent-length)Z password_mgrr/Nir0OK-K)r0rQ)r9r rr:ioStringIOitemstypestrwritegetvalueencodelenr%r&ZRequestZ build_openerZHTTPBasicAuthHandleropenerrorZ HTTPErrorZ show_responsefpreadr+msgZURLErrorr(join)rrCrAboundaryZ sep_boundaryZ end_boundaryZbodykeyvalueZheadersZreqopenerr,erbr r rr)sV         zregister.post_to_server)rNr)r Nr )N)__name__ __module__ __qualname__rGrZ user_optionsZboolean_optionsZ sub_commandsrrrrrrrrr*r)r r r rrs&  zr)__doc__r=rUZ urllib.parser%Zurllib.requestwarningsrZdistutils.corerZdistutils.errorsZ distutilsrrr r r rs   __pycache__/develop.cpython-36.opt-1.pyc000064400000014316147210141470014005 0ustar003 K]n@sddlmZddlmZddlmZmZddlZddlZddl Z ddl m Z ddl m Z mZmZddlmZddlmZddlZGd d d ejeZGd d d eZdS) ) convert_path)log)DistutilsErrorDistutilsOptionErrorN)six) Distribution PathMetadatanormalize_path) easy_install) namespacesc@sveZdZdZdZejddgZejdgZd Zd d Z d d Z ddZ e ddZ ddZddZddZddZdS)developzSet up package for developmentz%install package in 'development mode' uninstalluUninstall this source package egg-path=N-Set the path to be used in the .egg-link fileFcCs2|jrd|_|j|jn|j|jdS)NT)r Z multi_versionuninstall_linkZuninstall_namespacesinstall_for_developmentZwarn_deprecated_options)selfr/usr/lib/python3.6/develop.pyruns  z develop.runcCs&d|_d|_tj|d|_d|_dS)N.)r egg_pathr initialize_options setup_pathZalways_copy_from)rrrrr's  zdevelop.initialize_optionscCs|jd}|jr,d}|j|jf}t|||jg|_tj||j|j |j j t j d|jd}t jj|j||_|j|_|jdkrt jj|j|_t|j}tt jj|j|j}||krtd|t|t|t jj|j|jd|_|j|j|j|j|_dS)Negg_infoz-Please rename %r to %r before using 'develop'z*.eggz .egg-linkzA--egg-path must be a relative path from the install directory to ) project_name)get_finalized_commandZbroken_egg_inforrZegg_nameargsr finalize_optionsZexpand_basedirsZ expand_dirsZ package_indexscanglobospathjoin install_diregg_linkegg_baserabspathr rrrdist_resolve_setup_pathr)rZeitemplaterZ egg_link_fntargetrrrrr .s<           zdevelop.finalize_optionscCsh|jtjdjd}|tjkr0d|jdd}ttjj|||}|ttjkrdt d|ttj|S)z Generate a path from egg_base back to '.' where the setup script resides and ensure that path points to the setup path from $install_dir/$egg_path. /z../zGCan't get a consistent path to setup script from installation directory) replacer#seprstripcurdircountr r$r%r)r(r&rZ path_to_setupZresolvedrrrr+Xs zdevelop._resolve_setup_pathc CsDtjrt|jddr|jddd|jd|jd}t|j}|jd|d|jd|jddd|jd|jd}||_ ||j _ t ||j |j _n"|jd|jdd d|jd|jtjr|jtjdt_|jtjd |j|j|js,t|jd }|j|j d |jWdQRX|jd|j |j dS) NZuse_2to3FZbuild_pyr)Zinplacer)r(Z build_extr/zCreating %s (link to %s)w )rZPY3getattr distributionZreinitialize_commandZ run_commandrr Z build_librr*locationrrZ _providerZinstall_site_py setuptoolsZbootstrap_install_fromr Zinstall_namespacesrinfor'r(dry_runopenwriterZprocess_distributionZno_deps)rZbpy_cmdZ build_pathZei_cmdfrrrrks4          zdevelop.install_for_developmentcCstjj|jrztjd|j|jt|j}dd|D}|j||j g|j |j gfkrhtj d|dS|j sztj |j|j s|j|j|jjrtj ddS)NzRemoving %s (link to %s)cSsg|] }|jqSr)r2).0linerrr sz*develop.uninstall_link..z$Link points to %s: uninstall abortedz5Note: you must uninstall or replace scripts manually!)r#r$existsr'rr;r(r=closerrwarnr<unlinkZ update_pthr*r8scripts)rZ egg_link_filecontentsrrrrs    zdevelop.uninstall_linkc Cs||jk rtj||S|j|x^|jjp,gD]N}tjjt |}tjj |}t j |}|j }WdQRX|j||||q.WdS)N)r*r install_egg_scriptsinstall_wrapper_scriptsr8rGr#r$r)rbasenameior=readZinstall_script)rr*Z script_nameZ script_pathZstrmZ script_textrrrrIs     zdevelop.install_egg_scriptscCst|}tj||S)N)VersionlessRequirementr rJ)rr*rrrrJszdevelop.install_wrapper_scripts)r rr)rNr)__name__ __module__ __qualname____doc__ descriptionr Z user_optionsZboolean_optionsZcommand_consumes_argumentsrrr staticmethodr+rrrIrJrrrrr s  * /r c@s(eZdZdZddZddZddZdS) rNaz Adapt a pkg_resources.Distribution to simply return the project name as the 'requirement' so that scripts will work across multiple versions. >>> dist = Distribution(project_name='foo', version='1.0') >>> str(dist.as_requirement()) 'foo==1.0' >>> adapted_dist = VersionlessRequirement(dist) >>> str(adapted_dist.as_requirement()) 'foo' cCs ||_dS)N)_VersionlessRequirement__dist)rr*rrr__init__szVersionlessRequirement.__init__cCs t|j|S)N)r7rU)rnamerrr __getattr__sz"VersionlessRequirement.__getattr__cCs|jS)N)r)rrrras_requirementsz%VersionlessRequirement.as_requirementN)rOrPrQrRrVrXrYrrrrrNs rN)Zdistutils.utilrZ distutilsrZdistutils.errorsrrr#r"rLZsetuptools.externrZ pkg_resourcesrrr Zsetuptools.command.easy_installr r:r ZDevelopInstallerr objectrNrrrrs     4__pycache__/upload.cpython-36.opt-1.pyc000064400000012233147210141470013627 0ustar003 /f@sdZddlZddlZddlZddlZddlmZddlmZm Z m Z ddl m Z ddl mZmZddlmZddlmZdd lmZGd d d eZdS) zm distutils.command.upload Implements the Distutils 'upload' subcommand (upload package to a package index). N)standard_b64encode)urlopenRequest HTTPError)urlparse)DistutilsErrorDistutilsOptionError) PyPIRCCommand)spawn)logc@sJeZdZdZejddgZejdgZdd Zd d Zd d Z ddZ dS)uploadzupload binary package to PyPIsignssign files to upload using gpg identity=iGPG identity used to sign filescCs,tj|d|_d|_d|_d|_d|_dS)NrF)r initialize_optionsusernamepassword show_responser identity)selfr/usr/lib64/python3.6/upload.pyr s  zupload.initialize_optionscCsvtj||jr |j r td|j}|ikrX|d|_|d|_|d|_|d|_ |j rr|j jrr|j j|_dS)Nz.Must use --sign for --identity to have meaningrr repositoryrealm) r finalize_optionsrr rZ _read_pypircrrrr distribution)rconfigrrrr(s     zupload.finalize_optionscCs>|jjsd}t|x$|jjD]\}}}|j|||qWdS)NzHMust create and upload files in one command (e.g. setup.py sdist upload))rZ dist_filesr upload_file)rmsgcommand pyversionfilenamerrrrun:s z upload.runc&)Cs^t|j\}}}}}} |s"|s"| r0td|j|d2krDtd||jr|ddd|g} |jrnd|jg| d d <t| |jd t|d } z | j} Wd| j X|j j } d d | j | j tjj|| f||tj| jd| j| j| j| j| j| j| j| j| j| j| j| j| j d}ytj!| j}WnPt"k r}z2d|}|j#|t$j%ddl&m'}|s|WYdd}~Xn X||d<d}|dkrt(j)\}}}|rd||f}n|dkrdt(j(dd}||d<|jrtjj|dt|dd jf|d<|j*d|j+j,d}d t-|j.d}d!}d"|j,d}|d#}t/j0}x|j1D]\}}d$|}t2|t3s|g}xr|D]j}t4|t5kr|d%|d7}|d}nt6|j,d&}|j7||j7|j,d&|j7d'|j7|qWqjW|j7||j8}d(||jf}|j#|t$j%d)|t6t9||d*} t:|j|| d+}!yt;|!}"|"j<}#|"j=}$Wnft>k r}z|j?}#|j=}$WYdd}~Xn8t@k r}z|j#t6|t$jAWYdd}~XnX|#d,kr8|j#d-|#|$ft$j%|jBrZ|jC|"}%d.jDd/d0|%d/d0f}|j#|t$j%n"d1|#|$f}|j#|t$jAtE|dS)3NzIncompatible url %shttphttpszunsupported schema Zgpgz --detach-signz-az --local-user)dry_runrbZ file_upload1z1.0)z:actionZprotocol_versionnameversioncontentZfiletyper$Z sha256_digestZmetadata_versionZsummaryZ home_pageZauthorZ author_emaillicense descriptionkeywordsplatformZ classifiersZ download_urlZprovidesZrequiresZ obsoletesz#calculating md5 checksum failed: %sr) get_fips_modeZ md5_digestrZ bdist_rpmzbuilt for %s %sZ bdist_dumbz built for %s)Ztersecommentz.ascZ gpg_signature:asciizBasic z3--------------GHSKFJDLGDS7543FJKLFHRE75642756743254s --s-- z+ Content-Disposition: form-data; name="%s"z; filename="%s"zutf-8s zSubmitting %s to %sz multipart/form-data; boundary=%s)z Content-typezContent-lengthZ Authorization)dataheaderszServer response (%s): %s -KzUpload failed (%s): %s)r'r()FrrAssertionErrorr rr r*openreadcloserZmetadataZget_nameZ get_versionospathbasenamehashlibZsha256Z hexdigestZget_descriptionZget_urlZ get_contactZget_contact_emailZ get_licenceZget_long_descriptionZ get_keywordsZ get_platformsZget_classifiersZget_download_urlZ get_providesZ get_requiresZ get_obsoletesZmd5 ValueErrorZannouncer INFOZ_hashlibr4r3distrrencoderdecodeioBytesIOitems isinstancelisttypetuplestrwritegetvaluelenrrZgetcoder"rcodeOSErrorZERRORrZ_read_pypi_responsejoinr)&rr#r$r%ZschemaZnetlocZurlZparamsZqueryZ fragmentsZgpg_argsfr/metar9Zdigester"r4r6rIr.idZ user_passZauthboundaryZ sep_boundaryZ end_boundaryZbodykeyvaluetitler:ZrequestresultZstatusreasontextrrrr!Bs                       zupload.upload_fileN)r rr)rrr) __name__ __module__ __qualname__r1r Z user_optionsZboolean_optionsrrr&r!rrrrr s r )__doc__rCrLr3rFbase64rZurllib.requestrrrZ urllib.parserZdistutils.errorsrrZdistutils.corer Zdistutils.spawnr Z distutilsr r rrrrs     __pycache__/build_py.cpython-36.opt-1.pyc000064400000024311147210141470014152 0ustar003 \ C@s~dZddlZddlZddlZddlmZddlmZddlTddl m Z m Z ddl m Z Gdd d eZGd d d ee ZdS) zHdistutils.command.build_py Implements the Distutils 'build_py' command.N)glob)Command)*) convert_path Mixin2to3)logc@seZdZdZd8d9d:d;dbuild_pyz5"build" pure Python modules (copy to build directory) build-lib=ddirectory to "build" (copy) tocompileccompile .py to .pyc no-compileN!don't compile .py files [default] optimize=Olalso compile with optimization: -O1 for "python -O", -O2 for "python -OO", and -O0 to disable [default: -O0]forcef2forcibly build everything (ignore file timestamps)cCs4d|_d|_d|_d|_d|_d|_d|_d|_dS)Nr) build_lib py_modulespackage package_data package_dirr optimizer)selfr /usr/lib64/python3.6/build_py.pyinitialize_options szbuild_py.initialize_optionsc Cs|jddd|jj|_|jj|_|jj|_i|_|jjrbx&|jjjD]\}}t||j|<qHW|j|_ t |j t syt |j |_ Wn t tfk rtdYnXdS)NZbuildrrzoptimize must be 0, 1, or 2)rr)rr)Zset_undefined_options distributionpackagesrrritemsrget_data_files data_files isinstancerint ValueErrorAssertionErrorZDistutilsOptionError)rnamepathrrrfinalize_options*s"      zbuild_py.finalize_optionscCs:|jr|j|jr$|j|j|j|jdddS)Nr)include_bytecode)r build_modulesr"build_packagesbuild_package_data byte_compile get_outputs)rrrrrunCs z build_py.runcsg}|js|Sxr|jD]h}|j|}tjj|jg|jd}d|rRt|dfdd|j||D}|j ||||fqW|S)z?Generate list of '(package,src_dir,build_dir,filenames)' tuples.rcsg|]}|dqS)Nr).0file)plenrr tsz+build_py.get_data_files..) r"get_package_dirosr+joinrsplitlenfind_data_filesappend)rdatarsrc_dir build_dir filenamesr)r8rr$as   zbuild_py.get_data_filescs`|jjdg|jj|g}gx:|D]2}ttjj|t|}jfdd|Dq&WS)z6Return filenames for package's data files in 'src_dir'cs$g|]}|krtjj|r|qSr)r;r+isfile)r6fn)filesrrr9s z,build_py.find_data_files..)rgetrr;r+r<rextend)rrrBZglobspatternZfilelistr)rHrr?ys  zbuild_py.find_data_filescCshd}x^|jD]T\}}}}xF|D]>}tjj||}|jtjj||jtjj|||ddqWq WdS)z$Copy data files into build directoryNF) preserve_mode)r%r;r+r<mkpathdirname copy_file)rZlastdirrrBrCrDfilenametargetrrrr0s zbuild_py.build_package_datac Cs|jd}|js&|r tjj|SdSng}x|ry|jdj|}Wn*tk rn|jd|d|d=Yq,X|jd|tjj|Sq,W|jjd}|dk r|jd||rtjj|SdSdS)zReturn the directory, relative to the top of the source distribution, where package 'package' should be found (at least according to the 'package_dir' option, if any).r4rErr5NrR)r=rr;r+r<KeyErrorinsertrI)rrr+tailZpdirrrrr:s(       zbuild_py.get_package_dircCsj|dkr8tjj|s td|tjj|s8td||rftjj|d}tjj|rZ|Stjd|dS)NrEz%package directory '%s' does not existz>supposed package directory '%s' exists, but is not a directoryz __init__.pyz!package init file '%s' not found z(or not a regular file)z8package init file '%s' not found (or not a regular file)) r;r+existsZDistutilsFileErrorisdirr<rFrwarn)rrrinit_pyrrr check_packages    zbuild_py.check_packagecCs&tjj|stjd||dSdSdS)Nz!file %s (for module %s) not foundFT)r;r+rFrrX)rmodule module_filerrr check_modules zbuild_py.check_modulec Cs|j||ttjj|d}g}tjj|jj}xX|D]P}tjj|}||krztjjtjj |d}|j |||fq8|j d|q8W|S)Nz*.pyrz excluding %s) rZrr;r+r<abspathr!Z script_namesplitextbasenamer@Z debug_print) rrrZ module_filesmodulesZ setup_scriptrZabs_fr[rrrfind_package_moduless   zbuild_py.find_package_modulesc Csi}g}x|jD]}|jd}dj|dd}|d}y||\}}Wn"tk rj|j|}d}YnX|s|j||} |df||<| r|j|d| ftjj||d} |j || sq|j||| fqW|S)aFinds individually-specified Python modules, ie. those listed by module name in 'self.py_modules'. Returns a list of tuples (package, module_base, filename): 'package' is a tuple of the path through package-space to the module; 'module_base' is the bare (no packages, no dots) module name, and 'filename' is the path to the ".py" file (relative to the distribution root) that implements the module. r4rr5__init__z.pyrRrR) rr=r<rSr:rZr@r;r+r]) rr"rar[r+rZ module_baserZcheckedrYr\rrr find_moduless*       zbuild_py.find_modulescCsRg}|jr|j|j|jrNx.|jD]$}|j|}|j||}|j|q&W|S)a4Compute the list of all modules that will be built, whether they are specified one-module-at-a-time ('self.py_modules') or by whole packages ('self.packages'). Return a list of tuples (package, module, module_file), just like 'find_modules()' and 'find_package_modules()' do.)rrJrdr"r:rb)rrarrmrrrfind_all_moduless   zbuild_py.find_all_modulescCsdd|jDS)NcSsg|] }|dqS)r5rRr)r6r[rrrr9-sz-build_py.get_source_files..)rf)rrrrget_source_files,szbuild_py.get_source_filescCs$|gt||dg}tjj|S)Nz.py)listr;r+r<)rrCrr[Z outfile_pathrrrget_module_outfile/szbuild_py.get_module_outfiler5cCs|j}g}xx|D]p\}}}|jd}|j|j||}|j||r|jr`|jtjj|dd|j dkr|jtjj||j dqW|dd|j D7}|S)Nr4rE) optimizationrcSs,g|]$\}}}}|D]}tjj||qqSr)r;r+r<)r6rrBrCrDrPrrrr9Cs z(build_py.get_outputs..) rfr=rirr@r importlibutilcache_from_sourcerr%)rr-raZoutputsrr[r\rPrrrr23s"       zbuild_py.get_outputscCsbt|tr|jd}nt|ttfs,td|j|j||}tj j |}|j ||j ||ddS)Nr4z:'package' must be a string (dot-separated), list, or tupler)rL) r&strr=rhtuple TypeErrorrirr;r+rNrMrO)rr[r\rZoutfiledirrrr build_moduleJs    zbuild_py.build_modulecCs.|j}x |D]\}}}|j|||qWdS)N)rdrr)rrarr[r\rrrr.Yszbuild_py.build_modulescCsLxF|jD]<}|j|}|j||}x |D]\}}}|j|||q(WqWdS)N)r"r:rbrr)rrrraZpackage_r[r\rrrr/bs   zbuild_py.build_packagescCstjr|jddSddlm}|j}|dtjkr>|tj}|jrZ||d|j ||j d|j dkr||||j |j ||j ddS)Nz%byte-compiling is disabled, skipping.r)r1r5)rrprefixdry_runrR) sysdont_write_bytecoderXdistutils.utilr1rr;sepr rrtr)rrHr1rsrrrr1vs    zbuild_py.byte_compile)r r r )r r r)rNr)rrr)rrr)r5)__name__ __module__ __qualname__ descriptionZ user_optionsZboolean_optionsZ negative_optr r,r3r$r?r0r:rZr]rbrdrfrgrir2rrr.r/r1rrrrrs8   '4  rc@seZdZddZddZdS) build_py_2to3cCsLg|_|jr|j|jr*|j|j|j|j|j|jdddS)Nr)r-) updated_filesrr.r"r/r0Zrun_2to3r1r2)rrrrr3s zbuild_py_2to3.runcCs,tj||||}|dr(|jj|d|S)Nr5r)rrrr~r@)rr[r\rresrrrrrszbuild_py_2to3.build_moduleN)ryrzr{r3rrrrrrr}sr})__doc__r;importlib.utilrkrurZdistutils.corerZdistutils.errorsrwrrZ distutilsrrr}rrrrs   }__pycache__/egg_info.cpython-36.opt-1.pyc000064400000050633147210141470014126 0ustar003 K]`@sdZddlmZddlmZddlmZddlm Z ddlZddlZddl Z ddl Z ddl Z ddl Z ddlZddlZddlZddlmZddlmZdd lmZdd lmZdd lmZdd lmZdd lmZddlmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&ddl'j(Z(ddl)m*Z*ddlm+Z+ddZ,GdddeZ-GdddeZGdddeZ.ddZ/ddZ0ddZ1dd Z2d!d"Z3d#d$Z4d%d&Z5d'd(Z6d0d*d+Z7d,d-Z8d.d/Z9dS)1zUsetuptools.command.egg_info Create a distribution's .egg-info directory and contents)FileList)DistutilsInternalError) convert_path)logN)six)map)Command)sdist) walk_revctrl) edit_config) bdist_egg)parse_requirements safe_name parse_version safe_version yield_lines EntryPointiter_entry_points to_filename)glob) packagingcCsd}|jtjj}tjtj}d|f}xt|D]\}}|t|dk}|dkrv|rd|d7}q4|d||f7}q4d}t|} x:|| kr||} | dkr||d7}n| d kr||7}n| d kr|d} | | kr|| d kr| d} | | kr|| d kr| d} x&| | kr6|| d kr6| d} qW| | krR|tj| 7}nR||d| } d} | dd krd } | dd} | tj| 7} |d| f7}| }n|tj| 7}|d7}qW|s4||7}q4W|d7}tj|tj tj BdS)z Translate a file path glob like '*.txt' in to a regular expression. This differs from fnmatch.translate which allows wildcards to match directory separators. It also knows about '**/' which matches any number of directories. z[^%s]z**z.*z (?:%s+%s)*r*?[!]^Nz[%s]z\Z)flags) splitospathsepreescape enumeratelencompile MULTILINEDOTALL)rZpatZchunksr#Z valid_charcchunkZ last_chunkiZ chunk_lencharZinner_iinnerZ char_classr0/usr/lib/python3.6/egg_info.pytranslate_pattern$sV         r2c@seZdZdZd)d*d+d,gZdgZd diZddZeddZ e j ddZ ddZ ddZ d-ddZ ddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(S).egg_infoz+create a distribution's .egg-info directory egg-base=eLdirectory containing .egg-info directories (default: top of the source tree)tag-dated0Add date stamp (e.g. 20050528) to version number tag-build=b-Specify explicit tag to add to version numberno-dateD"Don't include date stamp [default]cCs4d|_d|_d|_d|_d|_d|_d|_d|_dS)NrF)egg_name egg_versionegg_baser3 tag_buildtag_datebroken_egg_infovtags)selfr0r0r1initialize_optionsszegg_info.initialize_optionscCsdS)Nr0)rGr0r0r1tag_svn_revisionszegg_info.tag_svn_revisioncCsdS)Nr0)rGvaluer0r0r1rIscCs0tj}|j|d<d|d<t|t|ddS)z Materialize the value of date into the build tag. Install build keys in a deterministic order to avoid arbitrary reordering on subsequent builds. rCrrD)r3N) collections OrderedDicttagsr dict)rGfilenamer3r0r0r1save_version_infos zegg_info.save_version_infoc CsVt|jj|_|j|_|j|_t|j}y6t |t j j }|rFdnd}t t||j|jfWn,tk rtjjd|j|jfYnX|jdkr|jj}|pijdtj|_|jdt|jd|_|jtjkrtjj|j|j|_d|jkr|j|j|jj_ |jj}|dk rR|j |jj!krR|j|_"t|j|_#d|j_dS)Nz%s==%sz%s===%sz2Invalid distribution name or version syntax: %s-%srrBz .egg-info-)$r distributionZget_namer@rMrFtagged_versionrAr isinstancerversionZVersionlistr ValueError distutilserrorsZDistutilsOptionErrorrBZ package_dirgetr!curdirZensure_dirnamerr3r"joincheck_broken_egg_infometadataZ _patched_distkeylowerZ_versionZ_parsed_version)rGZparsed_versionZ is_versionspecdirsZpdr0r0r1finalize_optionss8          zegg_info.finalize_optionsFcCsN|r|j|||n6tjj|rJ|dkr@| r@tjd||dS|j|dS)aWrite `data` to `filename` or delete if empty If `data` is non-empty, this routine is the same as ``write_file()``. If `data` is empty but not ``None``, this is the same as calling ``delete_file(filename)`. If `data` is ``None``, then this is a no-op unless `filename` exists, in which case a warning is issued about the orphaned file (if `force` is false), or deleted (if `force` is true). Nz$%s not set in setup(), but %s exists) write_filer!r"existsrwarn delete_file)rGwhatrOdataforcer0r0r1write_or_delete_files   zegg_info.write_or_delete_filecCsDtjd||tjr|jd}|js@t|d}|j||jdS)zWrite `data` to `filename` (if not a dry run) after announcing it `what` is used in a log message to identify what is being written to the file. zwriting %s to %szutf-8wbN) rinforZPY3encodedry_runopenwriteclose)rGrhrOrifr0r0r1rds   zegg_info.write_filecCs tjd||jstj|dS)z8Delete `filename` (if not a dry run) after announcing itz deleting %sN)rrmror!unlink)rGrOr0r0r1rgs zegg_info.delete_filecCs2|jj}|jr$|j|jr$t|St||jS)N)rRZ get_versionrFendswithr)rGrUr0r0r1rSs zegg_info.tagged_versioncCs|j|j|jj}x@tdD]4}|j|d|j}|||jtj j |j|jqWtj j |jd}tj j |r||j ||j dS)Nzegg_info.writers) installerznative_libs.txt)Zmkpathr3rRZfetch_build_eggrZrequireZresolvenamer!r"r\rerg find_sources)rGrvepwriternlr0r0r1run s     z egg_info.runcCs,d}|jr||j7}|jr(|tjd7}|S)Nrz-%Y%m%d)rCrDtimeZstrftime)rGrUr0r0r1rMs  z egg_info.tagscCs4tjj|jd}t|j}||_|j|j|_dS)z"Generate SOURCES.txt manifest filez SOURCES.txtN) r!r"r\r3manifest_makerrRmanifestr|filelist)rGZmanifest_filenameZmmr0r0r1rx s  zegg_info.find_sourcescCsd|jd}|jtjkr&tjj|j|}tjj|r`tjddddd||j |j |_ ||_ dS)Nz .egg-inforQNz Note: Your current .egg-info directory has a '-' in its name; this will not work correctly with "setup.py develop". Please rename %s to %s to correct this problem. ) r@rBr!r[r"r\rerrfr3rE)rGZbeir0r0r1r](s    zegg_info.check_broken_egg_infoN)r4r5r6)r7r8r9)r:r;r<)r=r>r?)F)__name__ __module__ __qualname__ descriptionZ user_optionsZboolean_optionsZ negative_optrHpropertyrIsetterrPrcrkrdrgrSr|rMrxr]r0r0r0r1r3ws(  / r3c@s|eZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZdS)rcCs<|j|\}}}}|dkrV|jddj|x"|D]}|j|s4tjd|q4Wn|dkr|jddj|x"|D]}|j|sxtjd|qxWn|dkr|jd dj|x"|D]}|j|stjd |qWnZ|d kr(|jd dj|x&|D]}|j|stjd |qWn|dkrx|jd|dj|fx|D]"}|j ||sPtjd||qPWn|dkr|jd|dj|fx|D]"}|j ||stjd||qWnp|dkr|jd||j |s8tjd|n>|dkr,|jd||j |s8tjd|n t d|dS)Nincludezinclude  z%warning: no files found matching '%s'excludezexclude z9warning: no previously-included files found matching '%s'zglobal-includezglobal-include z>warning: no files found matching '%s' anywhere in distributionzglobal-excludezglobal-exclude zRwarning: no previously-included files matching '%s' found anywhere in distributionzrecursive-includezrecursive-include %s %sz:warning: no files found matching '%s' under directory '%s'zrecursive-excludezrecursive-exclude %s %szNwarning: no previously-included files matching '%s' found under directory '%s'graftzgraft z+warning: no directories found matching '%s'prunezprune z6no previously-included directories found matching '%s'z'this cannot happen: invalid action '%s')Z_parse_template_line debug_printr\rrrfrglobal_includeglobal_excluderecursive_includerecursive_excluderrr)rGlineactionZpatternsdirZ dir_patternpatternr0r0r1process_template_line;sd                 zFileList.process_template_linecCsVd}xLtt|jdddD]2}||j|r|jd|j||j|=d}qW|S)z Remove all files from the file list that match the predicate. Return True if any matching files were removed Frz removing Tr)ranger'filesr)rGZ predicatefoundr-r0r0r1 _remove_filesszFileList._remove_filescCs$ddt|D}|j|t|S)z#Include files that match 'pattern'.cSsg|]}tjj|s|qSr0)r!r"isdir).0rsr0r0r1 sz$FileList.include..)rextendbool)rGrrr0r0r1rs zFileList.includecCst|}|j|jS)z#Exclude files that match 'pattern'.)r2rmatch)rGrrr0r0r1rszFileList.excludecCs8tjj|d|}ddt|ddD}|j|t|S)zN Include all files anywhere in 'dir/' that match the pattern. z**cSsg|]}tjj|s|qSr0)r!r"r)rrsr0r0r1rsz.FileList.recursive_include..T) recursive)r!r"r\rrr)rGrrZ full_patternrr0r0r1rs zFileList.recursive_includecCs ttjj|d|}|j|jS)zM Exclude any file anywhere in 'dir/' that match the pattern. z**)r2r!r"r\rr)rGrrrr0r0r1rszFileList.recursive_excludecCs$ddt|D}|j|t|S)zInclude all files from 'dir/'.cSs"g|]}tjj|D]}|qqSr0)rXrfindall)rZ match_diritemr0r0r1rsz"FileList.graft..)rrr)rGrrr0r0r1rs  zFileList.graftcCsttjj|d}|j|jS)zFilter out files from 'dir/'.z**)r2r!r"r\rr)rGrrr0r0r1rszFileList.prunecsJ|jdkr|jttjjd|fdd|jD}|j|t|S)z Include all files anywhere in the current directory that match the pattern. This is very inefficient on large file trees. Nz**csg|]}j|r|qSr0)r)rrs)rr0r1rsz+FileList.global_include..)Zallfilesrr2r!r"r\rr)rGrrr0)rr1rs   zFileList.global_includecCsttjjd|}|j|jS)zD Exclude all files anywhere that match the pattern. z**)r2r!r"r\rr)rGrrr0r0r1rszFileList.global_excludecCs8|jdr|dd}t|}|j|r4|jj|dS)N rr)rur _safe_pathrappend)rGrr"r0r0r1rs    zFileList.appendcCs|jjt|j|dS)N)rrfilterr)rGpathsr0r0r1rszFileList.extendcCstt|j|j|_dS)z Replace self.files with only safe paths Because some owners of FileList manipulate the underlying ``files`` attribute directly, this method must be called to repair those paths. N)rVrrr)rGr0r0r1_repairszFileList._repairc Csd}tj|}|dkr(tjd|dStj|d}|dkrNtj||ddSy tjj|shtjj|rldSWn&tk rtj||t j YnXdS)Nz!'%s' not %s encodable -- skippingz''%s' in unexpected encoding -- skippingFzutf-8T) unicode_utilsfilesys_decoderrfZ try_encoder!r"reUnicodeEncodeErrorsysgetfilesystemencoding)rGr"Zenc_warnZu_pathZ utf8_pathr0r0r1rs  zFileList._safe_pathN)rrrrrrrrrrrrrrrrrr0r0r0r1r8sI     rc@s\eZdZdZddZddZddZdd Zd d Zd d Z e ddZ ddZ ddZ dS)r~z MANIFEST.incCsd|_d|_d|_d|_dS)Nr)Z use_defaultsrZ manifest_onlyZforce_manifest)rGr0r0r1rHsz!manifest_maker.initialize_optionscCsdS)Nr0)rGr0r0r1rcszmanifest_maker.finalize_optionscCsdt|_tjj|js|j|jtjj|jr<|j |j |jj |jj |jdS)N) rrr!r"rerwrite_manifest add_defaultstemplateZ read_templateprune_file_listsortZremove_duplicates)rGr0r0r1r|s  zmanifest_maker.runcCstj|}|jtjdS)N/)rrreplacer!r#)rGr"r0r0r1_manifest_normalizes z"manifest_maker._manifest_normalizecsBjjfddjjD}dj}jtj|f|dS)zo Write the file list in 'self.filelist' to the manifest file named by 'self.manifest'. csg|]}j|qSr0)r)rrs)rGr0r1r sz1manifest_maker.write_manifest..zwriting manifest file '%s'N)rrrrZexecuterd)rGrmsgr0)rGr1rs  zmanifest_maker.write_manifestcCs|j|stj||dS)N)_should_suppress_warningr rf)rGrr0r0r1rf$s zmanifest_maker.warncCs tjd|S)z; suppress missing-file warnings from sdist zstandard file .*not found)r$r)rr0r0r1r(sz'manifest_maker._should_suppress_warningcCsttj||jj|j|jj|jtt}|rB|jj|nt j j |jrX|j |j d}|jj|jdS)Nr3)r rrrrrrVr rr!r"reZ read_manifestget_finalized_commandrr3)rGZrcfilesZei_cmdr0r0r1r/s   zmanifest_maker.add_defaultscCsZ|jd}|jj}|jj|j|jj|tjtj }|jj d|d|dddS)Nbuildz(^|z)(RCS|CVS|\.svn)r)Zis_regex) rrRZ get_fullnamerrZ build_baser$r%r!r#Zexclude_pattern)rGrZbase_dirr#r0r0r1r;s    zmanifest_maker.prune_file_listN)rrrrrHrcr|rrrf staticmethodrrrr0r0r0r1r~s    r~c Cs8dj|}|jd}t|d}|j|WdQRXdS)z{Create a file with the specified name and write 'contents' (a sequence of strings without line terminators) to it.  zutf-8rlN)r\rnrprq)rOcontentsrsr0r0r1rdEs   rdc Cs|tjd||jsx|jj}|j|j|_}|j|j|_}z|j |j Wd|||_|_Xt |jdd}t j |j |dS)Nz writing %sZzip_safe)rrmrorRr^rArUr@rwwrite_pkg_infor3getattrr Zwrite_safety_flag)cmdbasenamerOr^ZoldverZoldnameZsafer0r0r1rRs rcCstjj|rtjddS)NzsWARNING: 'depends.txt' is not used by setuptools 0.6! Use the install_requires/extras_require setup() args instead.)r!r"rerrf)rrrOr0r0r1warn_depends_obsoletees rcCs,t|pf}dd}t||}|j|dS)NcSs|dS)Nrr0)rr0r0r1osz%_write_requirements..)rr writelines)streamZreqslinesZ append_crr0r0r1_write_requirementsms  rcCsn|j}tj}t||j|jp"i}x2t|D]&}|jdjft t|||q.W|j d||j dS)Nz [{extra}] Z requirements) rRrStringIOrZinstall_requiresextras_requiresortedrqformatvarsrkgetvalue)rrrOZdistrirZextrar0r0r1write_requirementsts  rcCs,tj}t||jj|jd||jdS)Nzsetup-requirements)iorrrRZsetup_requiresrkr)rrrOrir0r0r1write_setup_requirementssrcCs:tjdd|jjD}|jd|djt|ddS)NcSsg|]}|jdddqS).rr)r )rkr0r0r1rsz(write_toplevel_names..ztop-level namesr)rNfromkeysrRZiter_distribution_namesrdr\r)rrrOZpkgsr0r0r1write_toplevel_namessrcCst|||ddS)NT) write_arg)rrrOr0r0r1 overwrite_argsrFcCsHtjj|d}t|j|d}|dk r4dj|d}|j||||dS)Nrr)r!r"splitextrrRr\rk)rrrOrjZargnamerJr0r0r1rs rcCs|jj}t|tjs|dkr"|}nr|dk rg}xZt|jD]J\}}t|tjsttj||}dj tt t |j }|j d||fqsR           (   SBEI    __pycache__/install.cpython-36.opt-1.pyc000064400000033613147210141470014016 0ustar003 /fj@sdZddlZddlZddlmZddlmZddlmZddl m Z ddl m Z ddl mZdd lmZmZmZdd lmZdd l mZdd lmZdd lmZdZddddddZddddddddddddedZerdddddded <ddd!d"dded#<d+ZGd)d*d*eZdS),zFdistutils.command.install Implements the Distutils 'install' command.N)log)Command)DEBUG)get_config_vars)DistutilsPlatformError) write_file) convert_path subst_vars change_root) get_platform)DistutilsOptionError) USER_BASE) USER_SITETz$base/Lib/site-packagesz$base/Include/$dist_namez $base/Scriptsz$base)purelibplatlibheadersscriptsdataz/$base/lib/python$py_version_short/site-packagesz5$platbase/lib64/python$py_version_short/site-packagesz9$base/include/python$py_version_short$abiflags/$dist_namez $base/binz$base/lib/pythonz$base/lib64/pythonz$base/include/python/$dist_name) unix_prefix unix_homentz $usersitez4$userbase/Python$py_version_nodot/Include/$dist_namez)$userbase/Python$py_version_nodot/Scriptsz $userbasent_userz=$userbase/include/python$py_version_short$abiflags/$dist_namez $userbase/bin unix_userrrrrrc@s:eZdZdZd_d`dadbdddedfdgdidjdkdldmdndodpdqdrgZdd%d(gZer`ejd,dd-efejd,d diZ d.d/Z d0d1Z d2d3Z d4d5Z d6d7Zd8d9Zd:d;Zdd?Zd@dAZdBdCZdDdEZdFdGZdHdIZdJdKZdLdMZdNdOZdPdQZdRdSZdTdUZdVdWZdXefdYefdZefd[efd\d]d^fgZdS)sinstallz'install everything from build directoryprefix=Ninstallation prefix exec-prefix=.(Unix only) prefix for platform-specific fileshome=+(Unix only) home directory to install under install-base=;base installation directory (instead of --prefix or --home)install-platbase=z8base installation directory for platform-specific files z$(instead of --exec-prefix or --home)root=|jD]2}|j|}x"|jD]}||kr&|j|q&WqW|jrl|jrl|jtjj|j |jd|S)z.Assembles the outputs of all the sub-commands.z.pth) rget_finalized_commandrappendrrQrhr}r~r|)rWrrcmdrrXrXrYrbs  zinstall.get_outputscCs2g}x(|jD]}|j|}|j|jqW|S)z*Returns the inputs of all the sub-commands)rrextend get_inputs)rWZinputsrrrXrXrYrss  zinstall.get_inputscCs|jjp|jjS)zSReturns true if the current distribution has any Python modules to install.)rrZhas_pure_modulesZhas_ext_modules)rWrXrXrYhas_libs zinstall.has_libcCs |jjS)zLReturns true if the current distribution has any headers to install.)rr has_headers)rWrXrXrYrszinstall.has_headerscCs |jjS)zMReturns true if the current distribution has any scripts to. install.)rr has_scripts)rWrXrXrYrszinstall.has_scriptscCs |jjS)zJReturns true if the current distribution has any data to. install.)rrZhas_data_files)rWrXrXrYhas_dataszinstall.has_datarJrIrKrLZinstall_egg_infocCsdS)NTrX)rWrXrXrYszinstall.)rNr)rNr)rNr)r Nr!\base installation directory for platform-specific files (instead of --exec-prefix or --home))r"Nr)r#Nr$)r%Nr&)r'Nr(ginstallation directory for all module distributions (overrides --install-purelib and --install-platlib))r)Nr)r*Nr+)r,Nr-)r.Nr/)r0r1r2)r3Nr4)r5r6r7)r8r9r:)r;Nr<)r=Nr>) __name__ __module__ __qualname__ descriptionrZboolean_optionsrurrrrZrrkrlrmrrrvrxrzr{rryrrrrrrrrZ sub_commandsrXrXrXrYrIs   N3  " , r)rrrrr)__doc__rnrhZ distutilsrZdistutils.corerZdistutils.debugrZdistutils.sysconfigrZdistutils.errorsrZdistutils.file_utilrZdistutils.utilrr r r r Zsiter rruZWINDOWS_SCHEMErrrrXrXrXrYsV            __pycache__/setopt.cpython-36.opt-1.pyc000064400000010656147210141470013670 0ustar003 K]@sddlmZddlmZddlmZddlZddlZddlmZddl m Z ddd d gZ dd dZ dddZ Gdd d e ZGdd d eZdS)) convert_path)log)DistutilsOptionErrorN) configparser)Command config_file edit_config option_basesetoptlocalcCsh|dkr dS|dkr,tjjtjjtjdS|dkrZtjdkrBdpDd}tjjtd |St d |d S) zGet the filename of the distutils, local, global, or per-user config `kind` must be one of "local", "global", or "user" r z setup.cfgglobalz distutils.cfguserposix.z~/%spydistutils.cfgz7config_file() type must be 'local', 'global', or 'user'N) ospathjoindirname distutils__file__name expanduserr ValueError)Zkinddotr/usr/lib/python3.6/setopt.pyrsFc Cs.tjd|tj}|j|gx|jD]\}}|dkrTtjd|||j|q*|j|svtjd|||j |x||jD]p\}}|dkrtjd||||j |||j |stjd|||j|qtjd|||||j |||qWq*Wtjd||s*t |d }|j|WdQRXdS) aYEdit a configuration file to include `settings` `settings` is a dictionary of dictionaries or ``None`` values, keyed by command/section name. A ``None`` value means to delete the entire section, while a dictionary lists settings to be changed or deleted in that section. A setting of ``None`` means to delete that setting. zReading configuration from %sNzDeleting section [%s] from %szAdding new section [%s] to %szDeleting %s.%s from %sz#Deleting empty [%s] section from %szSetting %s.%s to %r in %sz Writing %sw)rdebugrZRawConfigParserreaditemsinfoZremove_sectionZ has_sectionZ add_sectionZ remove_optionoptionssetopenwrite) filenameZsettingsdry_runZoptsZsectionr"optionvaluefrrrr!s8            c@s2eZdZdZdddgZddgZd d Zd dZdS)r zr? descriptionr r@rAr6r;rSrrrrr ss )r )F)Zdistutils.utilrrrZdistutils.errorsrrZsetuptools.extern.six.movesrZ setuptoolsr__all__rrr r rrrrs        +'__pycache__/bdist_rpm.cpython-36.pyc000064400000031374147210141470013376 0ustar003 \T@sdZddlZddlZddlZddlmZddlmZddlm Z ddl m Z ddl Tddl mZdd lmZGd d d eZdS) zwdistutils.command.bdist_rpm Implements the Distutils 'bdist_rpm' command (create RPM source and binary distributions).N)Command)DEBUG) get_platform) write_file)*)get_python_version)logc+@seZdZdZdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dddddddddddddddddg)Zd4d9d=d2dUgZd4d9d=dXZdYdZZd[d\Zd]d^Z d_d`Z dadbZ dcddZ dedfZ dS) bdist_rpmzcreate an RPM distribution bdist-base=N/base directory for creating built distributions rpm-base=dbase directory for creating RPMs (defaults to "rpm" under --bdist-base; must be specified for RPM 2) dist-dir=dDdirectory to put final RPM files in (and .spec files if --spec-only)python=Mpath to Python interpreter to hard-code in the .spec file (default: "python") fix-pythonLhard-code the exact path to the current Python interpreter in the .spec file spec-onlyonly regenerate spec file source-onlyonly generate source RPM binary-onlyonly generate binary RPM use-bzip27use bzip2 instead of gzip to create source distributiondistribution-name=gname of the (Linux) distribution to which this RPM applies (*not* the name of the module distribution!)group=9package classification [default: "Development/Libraries"]release=RPM release numberserial=RPM serial numbervendor=aRPM "vendor" (eg. "Joe Blow ") [default: maintainer or author from setup script] packager=BRPM packager (eg. "Jane Doe ") [default: vendor] doc-files=6list of documentation files (space or comma-separated) changelog= RPM changelogicon=name of icon file provides=%capabilities provided by this package requires=%capabilities required by this package conflicts=-capabilities which conflict with this packagebuild-requires=+capabilities required to build this package obsoletes=*capabilities made obsolete by this package no-autoreq+do not automatically calculate dependencies keep-tempk"don't clean up RPM build directory no-keep-temp&clean up RPM build directory [default]use-rpm-opt-flags8compile with RPM_OPT_FLAGS when building from source RPMno-rpm-opt-flags&do not pass any RPM CFLAGS to compiler rpm3-mode"RPM 3 compatibility mode (default) rpm2-modeRPM 2 compatibility mode prep-script=3Specify a script for the PREP phase of RPM building build-script=4Specify a script for the BUILD phase of RPM building pre-install=:Specify a script for the pre-INSTALL phase of RPM buildinginstall-script=6Specify a script for the INSTALL phase of RPM building post-install=;Specify a script for the post-INSTALL phase of RPM buildingpre-uninstall=rnroREADME README.txtrk1rlrirprqrrrsrtrurvrwrxryrzr|r}r~rrr)rr)Z ensure_stringrZ get_contactZget_contact_emailZensure_string_list isinstancerolistrrexistsappend_format_changelogrpZensure_filename)rZreadmerrrrs>                         zbdist_rpm.finalize_package_datac Cstrsz-bdist_rpm._make_spec_file..zbrp-python-bytecompile \ z%brp-python-bytecompile %{__python} \ z2# Workaround for http://bugs.python.org/issue14443z%define __os_install_post z Name: %{name}zVersion: %{version}zRelease: %{release}z-Source0: %{name}-%{unmangled_version}.tar.bz2z,Source0: %{name}-%{unmangled_version}.tar.gzz License: zGroup: z>BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildrootzPrefix: %{_prefix}zBuildArch: noarchz BuildArch: %sVendorPackagerProvidesRequires Conflicts Obsoletesz%s: %s NZUNKNOWNzUrl: zDistribution: zBuildRequires: zIcon: z AutoReq: 0z %descriptionz%s %srz%s buildzenv CFLAGS="$RPM_OPT_FLAGS" z>%s install -O1 --root=$RPM_BUILD_ROOT --record=INSTALLED_FILESr{rr&%setup -n %{name}-%{unmangled_version}ZbuildrsZinstallrtcleanrurm -rf $RPM_BUILD_ROOT verifyscriptrvprerwpostrxpreunrypostunrz%rz%files -f INSTALLED_FILESz%defattr(-,root,root)z%doc z %changelog)rrrrrr)r{rrr)rrur)rrvN)rrwN)rrxN)rryN)rrzN)'rrZ get_versionreplacerkZget_description subprocessZ getoutputr splitlinesrrrhZ get_licenserjrrgetattrlowerrrZget_urlrirrqrrrrZget_long_descriptionrcrargvropenreadrrorp)rZ spec_fileZ vendor_hookZproblemZfixedZ fixed_hookZfieldvalZdef_setup_callZ def_buildZ install_cmdZscript_optionsZrpm_optattrdefaultrrrrs                   zbdist_rpm._make_spec_filecCs|s|Sg}x`|jjdD]N}|j}|ddkrD|jd|gq|ddkr\|j|q|jd|qW|ds||d=|S)zKFormat the changelog correctly and convert it to a list of strings rrrrrz )rrrr)rrpZ new_changelogrrrrr3s   zbdist_rpm._format_changelog)r Nr )r Nr )rrr)rNr)rNr)rNr)rNr)rNr)rNr)rNr)rNr )r!Nr")r#Nr$)r%Nr&)r'Nr()r)Nr*)r+Nr,)r-Nr.)r/Nr0)r1Nr2)r3Nr4)r5Nr6)r7Nr8)r9Nr:)r;r<r=)r>Nr?)r@NrA)rBNrC)rDNrE)rFNrG)rHNrI)rJNrK)rLNrM)rNNrO)rPNrQ)rRNrS)rTNrU)rVNrW)rXNrY)rZNr[)r\r]r^)__name__ __module__ __qualname__ descriptionZ user_optionsZboolean_optionsZ negative_optrrrrrrrrrrrr s--)r )__doc__rrrZdistutils.corerZdistutils.debugrZdistutils.utilrZdistutils.file_utilrZdistutils.errorsZdistutils.sysconfigrZ distutilsrr rrrrs      __pycache__/dist_info.cpython-36.opt-1.pyc000064400000002445147210141470014325 0ustar003 K]@s8dZddlZddlmZddlmZGdddeZdS)zD Create a dist_info directory As defined in the wheel specification N)Command)logc@s.eZdZdZd gZddZddZd d Zd S) dist_infozcreate a .dist-info directory egg-base=eLdirectory containing .egg-info directories (default: top of the source tree)cCs d|_dS)N)egg_base)selfr /usr/lib/python3.6/dist_info.pyinitialize_optionsszdist_info.initialize_optionscCsdS)Nr )r r r r finalize_optionsszdist_info.finalize_optionscCsn|jd}|j|_|j|j|jdtd d}tjdjt j j ||jd}|j |j|dS)Negg_infoz .egg-infoz .dist-infoz creating '{}' bdist_wheel) Zget_finalized_commandrr runrlenrinfoformatospathabspathZegg2dist)r rZ dist_info_dirrr r r rs  z dist_info.runN)rrr)__name__ __module__ __qualname__ descriptionZ user_optionsr r rr r r r r s r)__doc__rZdistutils.corerZ distutilsrrr r r r s  __pycache__/build_ext.cpython-36.opt-1.pyc000064400000040234147210141470014324 0ustar003 \z@sdZddlZddlZddlZddlZddlmZddlTddlm Z m Z ddlm Z ddl m Z ddlmZdd lmZdd lmZdd lmZejd Zd dZGdddeZdS)zdistutils.command.build_ext Implements the Distutils 'build_ext' command, for building extension modules (currently limited to C extensions, should accommodate C++ extensions ASAP).N)Command)*)customize_compilerget_python_version)get_config_h_filename) newer_group) Extension) get_platform)log) USER_BASEz3^[a-zA-Z_][a-zA-Z_0-9]*(\.[a-zA-Z_][a-zA-Z_0-9]*)*$cCsddlm}|dS)Nr)show_compilers)distutils.ccompilerr )r r!/usr/lib64/python3.6/build_ext.pyr s r c@seZdZdZdejZd`dad d d efdcdddefdddedfdddefdgdhdidjdkdldmdndodpgZd d%d(d1d8gZ d:d2d;e fgZ dd?Z d@dAZdBdCZdDdEZdFdGZdHdIZdJdKZdLdMZejdNdOZdPdQZdRdSZdTdUZdVdWZdXdYZdZd[Zd\d]Zd^d_Zd2S)q build_extz8build C/C++ extensions (compile/link to build directory)z (separated by '%s') build-lib=b(directory for compiled extension modules build-temp=t1directory for temporary files (build by-products)z plat-name=pz>platform name to cross-compile for, if supported (default: %s)inplaceiz=ignore build-lib and put compiled extensions into the source z,directory alongside your pure Python modulesz include-dirs=Iz.list of directories to search for header filesdefine=DC preprocessor macros to defineundef=U!C preprocessor macros to undefine libraries=l!external C libraries to link withz library-dirs=Lz.directories to search for external C librariesrpath=R7directories to search for shared C libraries at runtime link-objects=O2extra explicit link objects to include in the linkdebugg'compile/link with debugging informationforcef2forcibly build everything (ignore file timestamps) compiler=cspecify the compiler type parallel=jnumber of parallel build jobsswig-cppN)make SWIG create C++ files (default is C) swig-opts=!list of SWIG command line optionsswig=path to the SWIG executableuser#add user include, library and rpathz help-compilerzlist available compilerscCsd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ d|_ d|_ d|_d|_d|_d|_d|_d|_d|_dS)Nr) extensions build_lib plat_name build_temprpackage include_dirsdefineundef libraries library_dirsrpath link_objectsr+r.compilerswigswig_cpp swig_optsr=parallel)selfrrrinitialize_optionsjs*zbuild_ext.initialize_optionsc Csddlm}|jdd'd(d)d*d+d,d-|jdkr8|jj|_|jj|_|j}|jd d }|j dkrn|jj pjg|_ t |j t r|j j t j|_ tjtjkr|j jt jjtjd |j j|||kr|j j||jd|jd|jdkrg|_|jdkrg|_nt |jt r&|jj t j|_|jdkr:g|_nt |jt rX|jj t j|_t jdkrT|jjt jjtjdtjtjkr|jjt jjtjd|jrt jj|jd|_nt jj|jd|_|j jt jjtttdd}|r|jj||j dkrd}n|j dd}t jjtjd}|rHt jj||}|jj|tj!dddks|tj!dddkrtj"j#t jjtjdr|jjt jjtjddt$dn |jjd|j%d r|j&s|jj|j%d!n |jjd|j'r|j'j d"}d#d$|D|_'|j(r4|j(j d"|_(|j)dkrHg|_)n|j)j d%|_)|j*rt jjt+d }t jjt+d} t jj,|r|j j|t jj,| r|jj| |jj| t |j-t ryt.|j-|_-Wnt/k rt0d&YnXdS).Nr) sysconfigZbuildr@rBrKr+r.rOrA)Z plat_specificincluderGrJntZlibsZDebugZRelease_homewin32ZPCbuildcygwinatheosbinlibpythonconfig.Py_ENABLE_SHAREDLIBDIR,cSsg|] }|dfqS)1r).0Zsymbolrrr sz.build_ext.finalize_options.. zparallel should be an integer)r@r@)rBrB)rKrK)r+r+)r.r.)rOrO)rArA)1 distutilsrRZset_undefined_optionsrC distributionZ ext_packageZ ext_modulesr?Zget_python_incrD isinstancestrsplitospathsepsys exec_prefixbase_exec_prefixappendpathjoinZensure_string_listrGrHrInameprefixr+rBdirnamergetattrrAplatform executable startswithrget_config_varZ python_buildrErFrNr=r isdirrOint ValueErrorZDistutilsOptionError) rPrRZ py_includeZplat_py_include _sys_homesuffixZnew_libZdefinesZ user_includeZuser_librrrfinalize_optionss                    (         zbuild_ext.finalize_optionscCstddlm}|jsdS|jjrL|jd}|jj|jp:g|j j |j ||j |j |j|jd|_ t|j tjdkr|jtkr|j j|j|jdk r|j j|j|jdk rx |jD]\}}|j j||qW|jdk rx|jD]}|j j|qW|jdk r|j j|j|j dk r4|j j|j |jdk rN|j j|j|j dk rh|j j!|j |j"dS)Nr) new_compiler build_clib)rKverbosedry_runr.rU)#r rr?riZhas_c_librariesget_finalized_commandrGextendZget_library_namesrHrrrrKrrr.rrmrurAr Z initializerDZset_include_dirsrEZ define_macrorFZundefine_macroZ set_librariesZset_library_dirsrIZset_runtime_library_dirsrJZset_link_objectsbuild_extensions)rPrrruvaluemacrorrrruns>             z build_ext.runc Cst|tstdxnt|D]`\}}t|tr4qt|t sLt|dkrTtd|\}}tjd|t|t ozt j |stdt|t stdt||d}x*dD]"}|j |}|dk rt|||qW|j d|_d|krtjd|j d}|rxg|_g|_xj|D]b} t| to,t| dks8tdt| dkrX|jj| dnt| dkr|jj| qW|||<qWdS)aEnsure that the list of extensions (presumably provided as a command option 'extensions') is valid, i.e. it is a list of Extension objects. We also support the old-style list of 2-tuples, where the tuples are (ext_name, build_info), which are converted to Extension instances here. Raise DistutilsSetupError if the structure is invalid anywhere; just returns otherwise. z:'ext_modules' option must be a list of Extension instanceszMeach element of 'ext_modules' option must be an Extension instance or 2-tuplezvold-style (ext_name, build_info) tuple found in ext_modules for extension '%s' -- please convert to Extension instancezRfirst element of each tuple in 'ext_modules' must be the extension name (a string)zOsecond element of each tuple in 'ext_modules' must be a dictionary (build info)sourcesrDrHrG extra_objectsextra_compile_argsextra_link_argsNrIZdef_filez9'def_file' element of build info dict no longer supportedmacrosrSz9'macros' element of build info dict must be 1- or 2-tupler)rDrHrGrrr)rSr)rjlistDistutilsSetupError enumeratertuplelenr warnrkextension_name_rematchdictgetsetattrruntime_library_dirs define_macros undef_macrosrr) rPr?rextext_nameZ build_infokeyvalrrrrrcheck_extensions_listUsT           zbuild_ext.check_extensions_listcCs0|j|jg}x|jD]}|j|jqW|S)N)rr?rr)rP filenamesrrrrget_source_filess   zbuild_ext.get_source_filescCs6|j|jg}x |jD]}|j|j|jqW|S)N)rr?rrget_ext_fullpathru)rPZoutputsrrrr get_outputss   zbuild_ext.get_outputscCs(|j|j|jr|jn|jdS)N)rr?rO_build_extensions_parallel_build_extensions_serial)rPrrrrs  zbuild_ext.build_extensionscsj}jdkrtj}yddlm}Wntk r@d}YnX|dkrVjdS||dTfddjD}x6tj|D]&\}}j ||j WdQRXqWWdQRXdS)NTr)ThreadPoolExecutor) max_workerscsg|]}jj|qSr)Zsubmitbuild_extension)rer)executorrPrrrfsz8build_ext._build_extensions_parallel..) rOrm cpu_countconcurrent.futuresr ImportErrorrr?zip_filter_build_errorsresult)rPworkersrZfuturesrZfutr)rrPrrs       z$build_ext._build_extensions_parallelc Cs4x.|jD]$}|j||j|WdQRXqWdS)N)r?rr)rPrrrrrs  z"build_ext._build_extensions_serialccsTy dVWnDtttfk rN}z"|js*|jd|j|fWYdd}~XnXdS)Nz"building extension "%s" failed: %s)ZCCompilerErrorZDistutilsErrorZ CompileErrorZoptionalrru)rPrerrrrs zbuild_ext._filter_build_errorsc CsX|j}|dkst|ttf r,td|jt|}|j|j}||j}|jpZt ||dsnt j d|jdSt j d|j|j ||}|jpg}|jdd}x|jD]}|j|fqW|jj||j||j|j ||jd}|dd|_|jr|j|j|jp g}|jp|jj|} |jj|||j||j|j||j ||j |j| d dS)Nzjin 'ext_modules' option (extension '%s'), 'sources' must be present and must be a list of source filenamesZnewerz$skipping '%s' extension (up-to-date)zbuilding '%s' extension)Z output_dirrrDr+extra_postargsdepends)rGrHrrexport_symbolsr+rBZ target_lang)!rrjrrrrurrr.rr r+info swig_sourcesrrrrrrKcompilerBrDZ_built_objectsrrrlanguageZdetect_languageZlink_shared_object get_librariesrHrget_export_symbols) rPrrext_pathrZ extra_argsrrFZobjectsrrrrrsN         zbuild_ext.build_extensioncCs2g}g}i}|jrtjd|js6d|jks6d|jkr        zbuild_ext.swig_sourcescCs`tjdkrdStjdkrNxBd D]&}tjjd|d}tjj|r|SqWdSntd tjd S) zReturn the name of the SWIG executable. On Unix, this is just "swig" -- it should be in the PATH. Tries a bit harder on Windows. posixrLrU1.31.21.1z c:\swig%szswig.exez>I don't know how to find (much less run) SWIG on platform '%s'N)rrr)rmrursrtisfileZDistutilsPlatformError)rPZversfnrrrrfs    zbuild_ext.find_swigcCs|j|}|jd}|j|d}|jsRtjj|dd|g}tjj|j|Sdj|dd}|jd}tjj |j |}tjj||S) zReturns the path of the filename for a given extension. The file is located in `build_lib` or directly in the package (inplace option). r`rSNrbuild_pyrrr) get_ext_fullnamerlget_ext_filenamerrmrsrtr@rabspathZget_package_dir)rPrfullnameZmodpathfilenamerCrZ package_dirrrrr~s   zbuild_ext.get_ext_fullpathcCs |jdkr|S|jd|SdS)zSReturns the fullname of a given extension name. Adds the `package.` prefixNr`)rC)rPrrrrrs zbuild_ext.get_ext_fullnamecCs.ddlm}|jd}|d}tjj||S)zConvert the name of an extension (eg. "foo.bar") into the name of the file from which it will be loaded (eg. "foo/bar.so", or "foo\bar.pyd"). r)r|r` EXT_SUFFIX)distutils.sysconfigr|rlrmrsrt)rPrr|rZ ext_suffixrrrrs  zbuild_ext.get_ext_filenamecCs0d|jjdd}||jkr*|jj||jS)aReturn the list of symbols that a shared extension has to export. This either uses 'ext.export_symbols' or, if it's not provided, "PyInit_" + module_name. Only relevant on Windows, where the .pyd file (DLL) must export the module "PyInit_" function. ZPyInit_r`rSr)rurlrrr)rPrZ initfunc_namerrrrs  zbuild_ext.get_export_symbolscCstjdkrfddlm}t|j|s\d}|jr4|d}|tjd?tjd?d@f}|j|gS|jSnRtjd d d krd }|tjd?tjd?d@f}|j|gStjd d d kr>ddl m }d }|tjd?tjd?d@f}g}xB|j dj D]0}|j dr|j|dd n |j|qW|j|dg|StjdkrP|jStjd ddkrj|jSddl m }|j drdjtjd?tjd?d@|j d}|j|gS|jSd S)zReturn the list of libraries to link against when building a shared extension. On most platforms, this is just 'ext.libraries'; on Windows, we add the Python library (eg. python20.dll). rWr) MSVCCompilerz python%d%dZ_dNrYrZz python%d.%dr[)rRSHLIBSz-lrmdarwinaixraz python{}.{}{}ABIFLAGS)roryZdistutils._msvccompilerrrjrKr+ hexversionrGrhrRr|rlr{rrformat)rPrrtemplateZ pythonlibrRZextrar]rrrrsJ             zbuild_ext.get_libraries)rrr)rrriignore build-lib and put compiled extensions into the source directory alongside your pure Python modules)rrr)rrr)rrr )r!r"r#)r%r&r')r(r)r*)r+r,r-)r.r/r0)r1r2r3)r4r5r6)r7Nr8)r9Nr:)r;Nr<)r=Nr>) __name__ __module__ __qualname__ descriptionrmrnZsep_byr Z user_optionsZboolean_optionsr Z help_optionsrQrrrrrrrr contextlibcontextmanagerrrrrrrrrrrrrrr!s  @N  K6   r)__doc__rrmreroZdistutils.corerZdistutils.errorsrrrrZdistutils.dep_utilrZdistutils.extensionrZdistutils.utilr rhr Zsiter rrr rrrrrs"       __pycache__/build_clib.cpython-36.opt-1.pyc000064400000011531147210141470014433 0ustar003 \V@sTdZddlZddlmZddlTddlmZddlmZddZ Gd d d eZ dS) zdistutils.command.build_clib Implements the Distutils 'build_clib' command, to build a C/C++ library that is included in the module distribution and needed by an extension module.N)Command)*)customize_compiler)logcCsddlm}|dS)Nr)show_compilers)distutils.ccompilerr)rr"/usr/lib64/python3.6/build_clib.pyrs rc@sleZdZdZd"d#d$d%d&gZdd gZdddefgZddZddZ ddZ ddZ ddZ ddZ d d!ZdS)' build_clibz/build C/C++ libraries used by Python extensions build-clib=b%directory to build C/C++ libraries to build-temp=t,directory to put temporary build by-productsdebugg"compile with debugging informationforcef2forcibly build everything (ignore file timestamps) compiler=cspecify the compiler typez help-compilerNzlist available compilerscCs:d|_d|_d|_d|_d|_d|_d|_d|_d|_dS)Nr) r build_temp libraries include_dirsdefineundefrrcompiler)selfrrr initialize_options4szbuild_clib.initialize_optionscCsh|jdddd d d |jj|_|jr0|j|j|jdkrH|jjpDg|_t|jtrd|jjtj |_dS) NZbuildrr rrr)rr )rr)rr)rr)rr) Zset_undefined_optionsZ distributionrcheck_library_listr isinstancestrsplitospathsep)r rrr finalize_optionsDs    zbuild_clib.finalize_optionscCs|js dSddlm}||j|j|jd|_t|j|jdk rN|jj|j|j dk rzx |j D]\}}|jj ||q`W|j dk rx|j D]}|jj |qW|j |jdS)Nr) new_compiler)rdry_runr)rrr)rr*rrrZset_include_dirsrZ define_macrorZundefine_macrobuild_libraries)r r)namevalueZmacrorrr run^s        zbuild_clib.runcCst|tstdx|D]|}t|t rs    launcher manifest.xml000064400000001164147210141470010661 0ustar00 bdist_rpm.py000064400000052111147210141470007102 0ustar00"""distutils.command.bdist_rpm Implements the Distutils 'bdist_rpm' command (create RPM source and binary distributions).""" import subprocess, sys, os from distutils.core import Command from distutils.debug import DEBUG from distutils.util import get_platform from distutils.file_util import write_file from distutils.errors import * from distutils.sysconfig import get_python_version from distutils import log class bdist_rpm(Command): description = "create an RPM distribution" user_options = [ ('bdist-base=', None, "base directory for creating built distributions"), ('rpm-base=', None, "base directory for creating RPMs (defaults to \"rpm\" under " "--bdist-base; must be specified for RPM 2)"), ('dist-dir=', 'd', "directory to put final RPM files in " "(and .spec files if --spec-only)"), ('python=', None, "path to Python interpreter to hard-code in the .spec file " "(default: \"python\")"), ('fix-python', None, "hard-code the exact path to the current Python interpreter in " "the .spec file"), ('spec-only', None, "only regenerate spec file"), ('source-only', None, "only generate source RPM"), ('binary-only', None, "only generate binary RPM"), ('use-bzip2', None, "use bzip2 instead of gzip to create source distribution"), # More meta-data: too RPM-specific to put in the setup script, # but needs to go in the .spec file -- so we make these options # to "bdist_rpm". The idea is that packagers would put this # info in setup.cfg, although they are of course free to # supply it on the command line. ('distribution-name=', None, "name of the (Linux) distribution to which this " "RPM applies (*not* the name of the module distribution!)"), ('group=', None, "package classification [default: \"Development/Libraries\"]"), ('release=', None, "RPM release number"), ('serial=', None, "RPM serial number"), ('vendor=', None, "RPM \"vendor\" (eg. \"Joe Blow \") " "[default: maintainer or author from setup script]"), ('packager=', None, "RPM packager (eg. \"Jane Doe \") " "[default: vendor]"), ('doc-files=', None, "list of documentation files (space or comma-separated)"), ('changelog=', None, "RPM changelog"), ('icon=', None, "name of icon file"), ('provides=', None, "capabilities provided by this package"), ('requires=', None, "capabilities required by this package"), ('conflicts=', None, "capabilities which conflict with this package"), ('build-requires=', None, "capabilities required to build this package"), ('obsoletes=', None, "capabilities made obsolete by this package"), ('no-autoreq', None, "do not automatically calculate dependencies"), # Actions to take when building RPM ('keep-temp', 'k', "don't clean up RPM build directory"), ('no-keep-temp', None, "clean up RPM build directory [default]"), ('use-rpm-opt-flags', None, "compile with RPM_OPT_FLAGS when building from source RPM"), ('no-rpm-opt-flags', None, "do not pass any RPM CFLAGS to compiler"), ('rpm3-mode', None, "RPM 3 compatibility mode (default)"), ('rpm2-mode', None, "RPM 2 compatibility mode"), # Add the hooks necessary for specifying custom scripts ('prep-script=', None, "Specify a script for the PREP phase of RPM building"), ('build-script=', None, "Specify a script for the BUILD phase of RPM building"), ('pre-install=', None, "Specify a script for the pre-INSTALL phase of RPM building"), ('install-script=', None, "Specify a script for the INSTALL phase of RPM building"), ('post-install=', None, "Specify a script for the post-INSTALL phase of RPM building"), ('pre-uninstall=', None, "Specify a script for the pre-UNINSTALL phase of RPM building"), ('post-uninstall=', None, "Specify a script for the post-UNINSTALL phase of RPM building"), ('clean-script=', None, "Specify a script for the CLEAN phase of RPM building"), ('verify-script=', None, "Specify a script for the VERIFY phase of the RPM build"), # Allow a packager to explicitly force an architecture ('force-arch=', None, "Force an architecture onto the RPM build process"), ('quiet', 'q', "Run the INSTALL phase of RPM building in quiet mode"), ] boolean_options = ['keep-temp', 'use-rpm-opt-flags', 'rpm3-mode', 'no-autoreq', 'quiet'] negative_opt = {'no-keep-temp': 'keep-temp', 'no-rpm-opt-flags': 'use-rpm-opt-flags', 'rpm2-mode': 'rpm3-mode'} def initialize_options(self): self.bdist_base = None self.rpm_base = None self.dist_dir = None self.python = None self.fix_python = None self.spec_only = None self.binary_only = None self.source_only = None self.use_bzip2 = None self.distribution_name = None self.group = None self.release = None self.serial = None self.vendor = None self.packager = None self.doc_files = None self.changelog = None self.icon = None self.prep_script = None self.build_script = None self.install_script = None self.clean_script = None self.verify_script = None self.pre_install = None self.post_install = None self.pre_uninstall = None self.post_uninstall = None self.prep = None self.provides = None self.requires = None self.conflicts = None self.build_requires = None self.obsoletes = None self.keep_temp = 0 self.use_rpm_opt_flags = 1 self.rpm3_mode = 1 self.no_autoreq = 0 self.force_arch = None self.quiet = 0 def finalize_options(self): self.set_undefined_options('bdist', ('bdist_base', 'bdist_base')) if self.rpm_base is None: if not self.rpm3_mode: raise DistutilsOptionError( "you must specify --rpm-base in RPM 2 mode") self.rpm_base = os.path.join(self.bdist_base, "rpm") if self.python is None: if self.fix_python: self.python = sys.executable else: self.python = "python3" elif self.fix_python: raise DistutilsOptionError( "--python and --fix-python are mutually exclusive options") if os.name != 'posix': raise DistutilsPlatformError("don't know how to create RPM " "distributions on platform %s" % os.name) if self.binary_only and self.source_only: raise DistutilsOptionError( "cannot supply both '--source-only' and '--binary-only'") # don't pass CFLAGS to pure python distributions if not self.distribution.has_ext_modules(): self.use_rpm_opt_flags = 0 self.set_undefined_options('bdist', ('dist_dir', 'dist_dir')) self.finalize_package_data() def finalize_package_data(self): self.ensure_string('group', "Development/Libraries") self.ensure_string('vendor', "%s <%s>" % (self.distribution.get_contact(), self.distribution.get_contact_email())) self.ensure_string('packager') self.ensure_string_list('doc_files') if isinstance(self.doc_files, list): for readme in ('README', 'README.txt'): if os.path.exists(readme) and readme not in self.doc_files: self.doc_files.append(readme) self.ensure_string('release', "1") self.ensure_string('serial') # should it be an int? self.ensure_string('distribution_name') self.ensure_string('changelog') # Format changelog correctly self.changelog = self._format_changelog(self.changelog) self.ensure_filename('icon') self.ensure_filename('prep_script') self.ensure_filename('build_script') self.ensure_filename('install_script') self.ensure_filename('clean_script') self.ensure_filename('verify_script') self.ensure_filename('pre_install') self.ensure_filename('post_install') self.ensure_filename('pre_uninstall') self.ensure_filename('post_uninstall') # XXX don't forget we punted on summaries and descriptions -- they # should be handled here eventually! # Now *this* is some meta-data that belongs in the setup script... self.ensure_string_list('provides') self.ensure_string_list('requires') self.ensure_string_list('conflicts') self.ensure_string_list('build_requires') self.ensure_string_list('obsoletes') self.ensure_string('force_arch') def run(self): if DEBUG: print("before _get_package_data():") print("vendor =", self.vendor) print("packager =", self.packager) print("doc_files =", self.doc_files) print("changelog =", self.changelog) # make directories if self.spec_only: spec_dir = self.dist_dir self.mkpath(spec_dir) else: rpm_dir = {} for d in ('SOURCES', 'SPECS', 'BUILD', 'RPMS', 'SRPMS'): rpm_dir[d] = os.path.join(self.rpm_base, d) self.mkpath(rpm_dir[d]) spec_dir = rpm_dir['SPECS'] # Spec file goes into 'dist_dir' if '--spec-only specified', # build/rpm. otherwise. spec_path = os.path.join(spec_dir, "%s.spec" % self.distribution.get_name()) self.execute(write_file, (spec_path, self._make_spec_file()), "writing '%s'" % spec_path) if self.spec_only: # stop if requested return # Make a source distribution and copy to SOURCES directory with # optional icon. saved_dist_files = self.distribution.dist_files[:] sdist = self.reinitialize_command('sdist') if self.use_bzip2: sdist.formats = ['bztar'] else: sdist.formats = ['gztar'] self.run_command('sdist') self.distribution.dist_files = saved_dist_files source = sdist.get_archive_files()[0] source_dir = rpm_dir['SOURCES'] self.copy_file(source, source_dir) if self.icon: if os.path.exists(self.icon): self.copy_file(self.icon, source_dir) else: raise DistutilsFileError( "icon file '%s' does not exist" % self.icon) # build package log.info("building RPMs") rpm_cmd = ['rpmbuild'] if self.source_only: # what kind of RPMs? rpm_cmd.append('-bs') elif self.binary_only: rpm_cmd.append('-bb') else: rpm_cmd.append('-ba') rpm_cmd.extend(['--define', '__python %s' % self.python]) if self.rpm3_mode: rpm_cmd.extend(['--define', '_topdir %s' % os.path.abspath(self.rpm_base)]) if not self.keep_temp: rpm_cmd.append('--clean') if self.quiet: rpm_cmd.append('--quiet') rpm_cmd.append(spec_path) # Determine the binary rpm names that should be built out of this spec # file # Note that some of these may not be really built (if the file # list is empty) nvr_string = "%{name}-%{version}-%{release}" src_rpm = nvr_string + ".src.rpm" non_src_rpm = "%{arch}/" + nvr_string + ".%{arch}.rpm" q_cmd = r"rpm -q --qf '%s %s\n' --specfile '%s'" % ( src_rpm, non_src_rpm, spec_path) out = os.popen(q_cmd) try: binary_rpms = [] source_rpm = None while True: line = out.readline() if not line: break l = line.strip().split() assert(len(l) == 2) binary_rpms.append(l[1]) # The source rpm is named after the first entry in the spec file if source_rpm is None: source_rpm = l[0] status = out.close() if status: raise DistutilsExecError("Failed to execute: %s" % repr(q_cmd)) finally: out.close() self.spawn(rpm_cmd) if not self.dry_run: if self.distribution.has_ext_modules(): pyversion = get_python_version() else: pyversion = 'any' if not self.binary_only: srpm = os.path.join(rpm_dir['SRPMS'], source_rpm) assert(os.path.exists(srpm)) self.move_file(srpm, self.dist_dir) filename = os.path.join(self.dist_dir, source_rpm) self.distribution.dist_files.append( ('bdist_rpm', pyversion, filename)) if not self.source_only: for rpm in binary_rpms: rpm = os.path.join(rpm_dir['RPMS'], rpm) if os.path.exists(rpm): self.move_file(rpm, self.dist_dir) filename = os.path.join(self.dist_dir, os.path.basename(rpm)) self.distribution.dist_files.append( ('bdist_rpm', pyversion, filename)) def _dist_path(self, path): return os.path.join(self.dist_dir, os.path.basename(path)) def _make_spec_file(self): """Generate the text of an RPM spec file and return it as a list of strings (one per line). """ # definitions and headers spec_file = [ '%define name ' + self.distribution.get_name(), '%define version ' + self.distribution.get_version().replace('-','_'), '%define unmangled_version ' + self.distribution.get_version(), '%define release ' + self.release.replace('-','_'), '', 'Summary: ' + self.distribution.get_description(), ] # Workaround for #14443 which affects some RPM based systems such as # RHEL6 (and probably derivatives) vendor_hook = subprocess.getoutput('rpm --eval %{__os_install_post}') # Generate a potential replacement value for __os_install_post (whilst # normalizing the whitespace to simplify the test for whether the # invocation of brp-python-bytecompile passes in __python): vendor_hook = '\n'.join([' %s \\' % line.strip() for line in vendor_hook.splitlines()]) problem = "brp-python-bytecompile \\\n" fixed = "brp-python-bytecompile %{__python} \\\n" fixed_hook = vendor_hook.replace(problem, fixed) if fixed_hook != vendor_hook: spec_file.append('# Workaround for http://bugs.python.org/issue14443') spec_file.append('%define __os_install_post ' + fixed_hook + '\n') # put locale summaries into spec file # XXX not supported for now (hard to put a dictionary # in a config file -- arg!) #for locale in self.summaries.keys(): # spec_file.append('Summary(%s): %s' % (locale, # self.summaries[locale])) spec_file.extend([ 'Name: %{name}', 'Version: %{version}', 'Release: %{release}',]) # XXX yuck! this filename is available from the "sdist" command, # but only after it has run: and we create the spec file before # running "sdist", in case of --spec-only. if self.use_bzip2: spec_file.append('Source0: %{name}-%{unmangled_version}.tar.bz2') else: spec_file.append('Source0: %{name}-%{unmangled_version}.tar.gz') spec_file.extend([ 'License: ' + self.distribution.get_license(), 'Group: ' + self.group, 'BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot', 'Prefix: %{_prefix}', ]) if not self.force_arch: # noarch if no extension modules if not self.distribution.has_ext_modules(): spec_file.append('BuildArch: noarch') else: spec_file.append( 'BuildArch: %s' % self.force_arch ) for field in ('Vendor', 'Packager', 'Provides', 'Requires', 'Conflicts', 'Obsoletes', ): val = getattr(self, field.lower()) if isinstance(val, list): spec_file.append('%s: %s' % (field, ' '.join(val))) elif val is not None: spec_file.append('%s: %s' % (field, val)) if self.distribution.get_url() != 'UNKNOWN': spec_file.append('Url: ' + self.distribution.get_url()) if self.distribution_name: spec_file.append('Distribution: ' + self.distribution_name) if self.build_requires: spec_file.append('BuildRequires: ' + ' '.join(self.build_requires)) if self.icon: spec_file.append('Icon: ' + os.path.basename(self.icon)) if self.no_autoreq: spec_file.append('AutoReq: 0') spec_file.extend([ '', '%description', self.distribution.get_long_description() ]) # put locale descriptions into spec file # XXX again, suppressed because config file syntax doesn't # easily support this ;-( #for locale in self.descriptions.keys(): # spec_file.extend([ # '', # '%description -l ' + locale, # self.descriptions[locale], # ]) # rpm scripts # figure out default build script def_setup_call = "%s %s" % (self.python,os.path.basename(sys.argv[0])) def_build = "%s build" % def_setup_call if self.use_rpm_opt_flags: def_build = 'env CFLAGS="$RPM_OPT_FLAGS" ' + def_build # insert contents of files # XXX this is kind of misleading: user-supplied options are files # that we open and interpolate into the spec file, but the defaults # are just text that we drop in as-is. Hmmm. install_cmd = ('%s install -O1 --root=$RPM_BUILD_ROOT ' '--record=INSTALLED_FILES') % def_setup_call script_options = [ ('prep', 'prep_script', "%setup -n %{name}-%{unmangled_version}"), ('build', 'build_script', def_build), ('install', 'install_script', install_cmd), ('clean', 'clean_script', "rm -rf $RPM_BUILD_ROOT"), ('verifyscript', 'verify_script', None), ('pre', 'pre_install', None), ('post', 'post_install', None), ('preun', 'pre_uninstall', None), ('postun', 'post_uninstall', None), ] for (rpm_opt, attr, default) in script_options: # Insert contents of file referred to, if no file is referred to # use 'default' as contents of script val = getattr(self, attr) if val or default: spec_file.extend([ '', '%' + rpm_opt,]) if val: with open(val) as f: spec_file.extend(f.read().split('\n')) else: spec_file.append(default) # files section spec_file.extend([ '', '%files -f INSTALLED_FILES', '%defattr(-,root,root)', ]) if self.doc_files: spec_file.append('%doc ' + ' '.join(self.doc_files)) if self.changelog: spec_file.extend([ '', '%changelog',]) spec_file.extend(self.changelog) return spec_file def _format_changelog(self, changelog): """Format the changelog correctly and convert it to a list of strings """ if not changelog: return changelog new_changelog = [] for line in changelog.strip().split('\n'): line = line.strip() if line[0] == '*': new_changelog.extend(['', line]) elif line[0] == '-': new_changelog.append(line) else: new_changelog.append(' ' + line) # strip trailing newline inserted by first changelog entry if not new_changelog[0]: del new_changelog[0] return new_changelog bdist_egg.py000064400000044436147210141470007061 0ustar00"""setuptools.command.bdist_egg Build .egg distributions""" # This module should be kept compatible with Python 2.3 import sys, os, marshal from setuptools import Command from distutils.dir_util import remove_tree, mkpath try: # Python 2.7 or >=3.2 from sysconfig import get_path, get_python_version def _get_purelib(): return get_path("purelib") except ImportError: from distutils.sysconfig import get_python_lib, get_python_version def _get_purelib(): return get_python_lib(False) from distutils import log from distutils.errors import DistutilsSetupError from pkg_resources import get_build_platform, Distribution, ensure_directory from pkg_resources import EntryPoint from types import CodeType from setuptools.compat import basestring, next from setuptools.extension import Library def strip_module(filename): if '.' in filename: filename = os.path.splitext(filename)[0] if filename.endswith('module'): filename = filename[:-6] return filename def write_stub(resource, pyfile): f = open(pyfile,'w') f.write('\n'.join([ "def __bootstrap__():", " global __bootstrap__, __loader__, __file__", " import sys, pkg_resources, imp", " __file__ = pkg_resources.resource_filename(__name__,%r)" % resource, " __loader__ = None; del __bootstrap__, __loader__", " imp.load_dynamic(__name__,__file__)", "__bootstrap__()", "" # terminal \n ])) f.close() # stub __init__.py for packages distributed without one NS_PKG_STUB = '__import__("pkg_resources").declare_namespace(__name__)' class bdist_egg(Command): description = "create an \"egg\" distribution" user_options = [ ('bdist-dir=', 'b', "temporary directory for creating the distribution"), ('plat-name=', 'p', "platform name to embed in generated filenames " "(default: %s)" % get_build_platform()), ('exclude-source-files', None, "remove all .py files from the generated egg"), ('keep-temp', 'k', "keep the pseudo-installation tree around after " + "creating the distribution archive"), ('dist-dir=', 'd', "directory to put final built distributions in"), ('skip-build', None, "skip rebuilding everything (for testing/debugging)"), ] boolean_options = [ 'keep-temp', 'skip-build', 'exclude-source-files' ] def initialize_options (self): self.bdist_dir = None self.plat_name = None self.keep_temp = 0 self.dist_dir = None self.skip_build = 0 self.egg_output = None self.exclude_source_files = None def finalize_options(self): ei_cmd = self.ei_cmd = self.get_finalized_command("egg_info") self.egg_info = ei_cmd.egg_info if self.bdist_dir is None: bdist_base = self.get_finalized_command('bdist').bdist_base self.bdist_dir = os.path.join(bdist_base, 'egg') if self.plat_name is None: self.plat_name = get_build_platform() self.set_undefined_options('bdist',('dist_dir', 'dist_dir')) if self.egg_output is None: # Compute filename of the output egg basename = Distribution( None, None, ei_cmd.egg_name, ei_cmd.egg_version, get_python_version(), self.distribution.has_ext_modules() and self.plat_name ).egg_name() self.egg_output = os.path.join(self.dist_dir, basename+'.egg') def do_install_data(self): # Hack for packages that install data to install's --install-lib self.get_finalized_command('install').install_lib = self.bdist_dir site_packages = os.path.normcase(os.path.realpath(_get_purelib())) old, self.distribution.data_files = self.distribution.data_files,[] for item in old: if isinstance(item,tuple) and len(item)==2: if os.path.isabs(item[0]): realpath = os.path.realpath(item[0]) normalized = os.path.normcase(realpath) if normalized==site_packages or normalized.startswith( site_packages+os.sep ): item = realpath[len(site_packages)+1:], item[1] # XXX else: raise ??? self.distribution.data_files.append(item) try: log.info("installing package data to %s" % self.bdist_dir) self.call_command('install_data', force=0, root=None) finally: self.distribution.data_files = old def get_outputs(self): return [self.egg_output] def call_command(self,cmdname,**kw): """Invoke reinitialized command `cmdname` with keyword args""" for dirname in INSTALL_DIRECTORY_ATTRS: kw.setdefault(dirname,self.bdist_dir) kw.setdefault('skip_build',self.skip_build) kw.setdefault('dry_run', self.dry_run) cmd = self.reinitialize_command(cmdname, **kw) self.run_command(cmdname) return cmd def run(self): # Generate metadata first self.run_command("egg_info") # We run install_lib before install_data, because some data hacks # pull their data path from the install_lib command. log.info("installing library code to %s" % self.bdist_dir) instcmd = self.get_finalized_command('install') old_root = instcmd.root; instcmd.root = None if self.distribution.has_c_libraries() and not self.skip_build: self.run_command('build_clib') cmd = self.call_command('install_lib', warn_dir=0) instcmd.root = old_root all_outputs, ext_outputs = self.get_ext_outputs() self.stubs = [] to_compile = [] for (p,ext_name) in enumerate(ext_outputs): filename,ext = os.path.splitext(ext_name) pyfile = os.path.join(self.bdist_dir, strip_module(filename)+'.py') self.stubs.append(pyfile) log.info("creating stub loader for %s" % ext_name) if not self.dry_run: write_stub(os.path.basename(ext_name), pyfile) to_compile.append(pyfile) ext_outputs[p] = ext_name.replace(os.sep,'/') to_compile.extend(self.make_init_files()) if to_compile: cmd.byte_compile(to_compile) if self.distribution.data_files: self.do_install_data() # Make the EGG-INFO directory archive_root = self.bdist_dir egg_info = os.path.join(archive_root,'EGG-INFO') self.mkpath(egg_info) if self.distribution.scripts: script_dir = os.path.join(egg_info, 'scripts') log.info("installing scripts to %s" % script_dir) self.call_command('install_scripts',install_dir=script_dir,no_ep=1) self.copy_metadata_to(egg_info) native_libs = os.path.join(egg_info, "native_libs.txt") if all_outputs: log.info("writing %s" % native_libs) if not self.dry_run: ensure_directory(native_libs) libs_file = open(native_libs, 'wt') libs_file.write('\n'.join(all_outputs)) libs_file.write('\n') libs_file.close() elif os.path.isfile(native_libs): log.info("removing %s" % native_libs) if not self.dry_run: os.unlink(native_libs) write_safety_flag( os.path.join(archive_root,'EGG-INFO'), self.zip_safe() ) if os.path.exists(os.path.join(self.egg_info,'depends.txt')): log.warn( "WARNING: 'depends.txt' will not be used by setuptools 0.6!\n" "Use the install_requires/extras_require setup() args instead." ) if self.exclude_source_files: self.zap_pyfiles() # Make the archive make_zipfile(self.egg_output, archive_root, verbose=self.verbose, dry_run=self.dry_run, mode=self.gen_header()) if not self.keep_temp: remove_tree(self.bdist_dir, dry_run=self.dry_run) # Add to 'Distribution.dist_files' so that the "upload" command works getattr(self.distribution,'dist_files',[]).append( ('bdist_egg',get_python_version(),self.egg_output)) def zap_pyfiles(self): log.info("Removing .py files from temporary directory") for base,dirs,files in walk_egg(self.bdist_dir): for name in files: if name.endswith('.py'): path = os.path.join(base,name) log.debug("Deleting %s", path) os.unlink(path) def zip_safe(self): safe = getattr(self.distribution,'zip_safe',None) if safe is not None: return safe log.warn("zip_safe flag not set; analyzing archive contents...") return analyze_egg(self.bdist_dir, self.stubs) def make_init_files(self): """Create missing package __init__ files""" init_files = [] for base,dirs,files in walk_egg(self.bdist_dir): if base==self.bdist_dir: # don't put an __init__ in the root continue for name in files: if name.endswith('.py'): if '__init__.py' not in files: pkg = base[len(self.bdist_dir)+1:].replace(os.sep,'.') if self.distribution.has_contents_for(pkg): log.warn("Creating missing __init__.py for %s",pkg) filename = os.path.join(base,'__init__.py') if not self.dry_run: f = open(filename,'w'); f.write(NS_PKG_STUB) f.close() init_files.append(filename) break else: # not a package, don't traverse to subdirectories dirs[:] = [] return init_files def gen_header(self): epm = EntryPoint.parse_map(self.distribution.entry_points or '') ep = epm.get('setuptools.installation',{}).get('eggsecutable') if ep is None: return 'w' # not an eggsecutable, do it the usual way. if not ep.attrs or ep.extras: raise DistutilsSetupError( "eggsecutable entry point (%r) cannot have 'extras' " "or refer to a module" % (ep,) ) pyver = sys.version[:3] pkg = ep.module_name full = '.'.join(ep.attrs) base = ep.attrs[0] basename = os.path.basename(self.egg_output) header = ( "#!/bin/sh\n" 'if [ `basename $0` = "%(basename)s" ]\n' 'then exec python%(pyver)s -c "' "import sys, os; sys.path.insert(0, os.path.abspath('$0')); " "from %(pkg)s import %(base)s; sys.exit(%(full)s())" '" "$@"\n' 'else\n' ' echo $0 is not the correct name for this egg file.\n' ' echo Please rename it back to %(basename)s and try again.\n' ' exec false\n' 'fi\n' ) % locals() if not self.dry_run: mkpath(os.path.dirname(self.egg_output), dry_run=self.dry_run) f = open(self.egg_output, 'w') f.write(header) f.close() return 'a' def copy_metadata_to(self, target_dir): "Copy metadata (egg info) to the target_dir" # normalize the path (so that a forward-slash in egg_info will # match using startswith below) norm_egg_info = os.path.normpath(self.egg_info) prefix = os.path.join(norm_egg_info,'') for path in self.ei_cmd.filelist.files: if path.startswith(prefix): target = os.path.join(target_dir, path[len(prefix):]) ensure_directory(target) self.copy_file(path, target) def get_ext_outputs(self): """Get a list of relative paths to C extensions in the output distro""" all_outputs = [] ext_outputs = [] paths = {self.bdist_dir:''} for base, dirs, files in os.walk(self.bdist_dir): for filename in files: if os.path.splitext(filename)[1].lower() in NATIVE_EXTENSIONS: all_outputs.append(paths[base]+filename) for filename in dirs: paths[os.path.join(base,filename)] = paths[base]+filename+'/' if self.distribution.has_ext_modules(): build_cmd = self.get_finalized_command('build_ext') for ext in build_cmd.extensions: if isinstance(ext,Library): continue fullname = build_cmd.get_ext_fullname(ext.name) filename = build_cmd.get_ext_filename(fullname) if not os.path.basename(filename).startswith('dl-'): if os.path.exists(os.path.join(self.bdist_dir,filename)): ext_outputs.append(filename) return all_outputs, ext_outputs NATIVE_EXTENSIONS = dict.fromkeys('.dll .so .dylib .pyd'.split()) def walk_egg(egg_dir): """Walk an unpacked egg's contents, skipping the metadata directory""" walker = os.walk(egg_dir) base,dirs,files = next(walker) if 'EGG-INFO' in dirs: dirs.remove('EGG-INFO') yield base,dirs,files for bdf in walker: yield bdf def analyze_egg(egg_dir, stubs): # check for existing flag in EGG-INFO for flag,fn in safety_flags.items(): if os.path.exists(os.path.join(egg_dir,'EGG-INFO',fn)): return flag if not can_scan(): return False safe = True for base, dirs, files in walk_egg(egg_dir): for name in files: if name.endswith('.py') or name.endswith('.pyw'): continue elif name.endswith('.pyc') or name.endswith('.pyo'): # always scan, even if we already know we're not safe safe = scan_module(egg_dir, base, name, stubs) and safe return safe def write_safety_flag(egg_dir, safe): # Write or remove zip safety flag file(s) for flag,fn in safety_flags.items(): fn = os.path.join(egg_dir, fn) if os.path.exists(fn): if safe is None or bool(safe) != flag: os.unlink(fn) elif safe is not None and bool(safe)==flag: f=open(fn,'wt'); f.write('\n'); f.close() safety_flags = { True: 'zip-safe', False: 'not-zip-safe', } def scan_module(egg_dir, base, name, stubs): """Check whether module possibly uses unsafe-for-zipfile stuff""" filename = os.path.join(base,name) if filename[:-1] in stubs: return True # Extension module pkg = base[len(egg_dir)+1:].replace(os.sep,'.') module = pkg+(pkg and '.' or '')+os.path.splitext(name)[0] if sys.version_info < (3, 3): skip = 8 # skip magic & date else: skip = 12 # skip magic & date & file size f = open(filename,'rb'); f.read(skip) code = marshal.load(f); f.close() safe = True symbols = dict.fromkeys(iter_symbols(code)) for bad in ['__file__', '__path__']: if bad in symbols: log.warn("%s: module references %s", module, bad) safe = False if 'inspect' in symbols: for bad in [ 'getsource', 'getabsfile', 'getsourcefile', 'getfile' 'getsourcelines', 'findsource', 'getcomments', 'getframeinfo', 'getinnerframes', 'getouterframes', 'stack', 'trace' ]: if bad in symbols: log.warn("%s: module MAY be using inspect.%s", module, bad) safe = False if '__name__' in symbols and '__main__' in symbols and '.' not in module: if sys.version[:3]=="2.4": # -m works w/zipfiles in 2.5 log.warn("%s: top-level module may be 'python -m' script", module) safe = False return safe def iter_symbols(code): """Yield names and strings used by `code` and its nested code objects""" for name in code.co_names: yield name for const in code.co_consts: if isinstance(const,basestring): yield const elif isinstance(const,CodeType): for name in iter_symbols(const): yield name def can_scan(): if not sys.platform.startswith('java') and sys.platform != 'cli': # CPython, PyPy, etc. return True log.warn("Unable to analyze compiled code on this platform.") log.warn("Please ask the author to include a 'zip_safe'" " setting (either True or False) in the package's setup.py") # Attribute names of options for commands that might need to be convinced to # install to the egg build directory INSTALL_DIRECTORY_ATTRS = [ 'install_lib', 'install_dir', 'install_data', 'install_base' ] def make_zipfile(zip_filename, base_dir, verbose=0, dry_run=0, compress=None, mode='w' ): """Create a zip file from all the files under 'base_dir'. The output zip file will be named 'base_dir' + ".zip". Uses either the "zipfile" Python module (if available) or the InfoZIP "zip" utility (if installed and found on the default search path). If neither tool is available, raises DistutilsExecError. Returns the name of the output zip file. """ import zipfile mkpath(os.path.dirname(zip_filename), dry_run=dry_run) log.info("creating '%s' and adding '%s' to it", zip_filename, base_dir) def visit(z, dirname, names): for name in names: path = os.path.normpath(os.path.join(dirname, name)) if os.path.isfile(path): p = path[len(base_dir)+1:] if not dry_run: z.write(path, p) log.debug("adding '%s'" % p) if compress is None: compress = (sys.version>="2.4") # avoid 2.3 zipimport bug when 64 bits compression = [zipfile.ZIP_STORED, zipfile.ZIP_DEFLATED][bool(compress)] if not dry_run: z = zipfile.ZipFile(zip_filename, mode, compression=compression) for dirname, dirs, files in os.walk(base_dir): visit(z, dirname, files) z.close() else: for dirname, dirs, files in os.walk(base_dir): visit(None, dirname, files) return zip_filename # py36compat.py000064400000011572147210141470007132 0ustar00import os from glob import glob from distutils.util import convert_path from distutils.command import sdist from setuptools.extern.six.moves import filter class sdist_add_defaults: """ Mix-in providing forward-compatibility for functionality as found in distutils on Python 3.7. Do not edit the code in this class except to update functionality as implemented in distutils. Instead, override in the subclass. """ def add_defaults(self): """Add all the default files to self.filelist: - README or README.txt - setup.py - test/test*.py - all pure Python modules mentioned in setup script - all files pointed by package_data (build_py) - all files defined in data_files. - all files defined as scripts. - all C sources listed as part of extensions or C libraries in the setup script (doesn't catch C headers!) Warns if (README or README.txt) or setup.py are missing; everything else is optional. """ self._add_defaults_standards() self._add_defaults_optional() self._add_defaults_python() self._add_defaults_data_files() self._add_defaults_ext() self._add_defaults_c_libs() self._add_defaults_scripts() @staticmethod def _cs_path_exists(fspath): """ Case-sensitive path existence check >>> sdist_add_defaults._cs_path_exists(__file__) True >>> sdist_add_defaults._cs_path_exists(__file__.upper()) False """ if not os.path.exists(fspath): return False # make absolute so we always have a directory abspath = os.path.abspath(fspath) directory, filename = os.path.split(abspath) return filename in os.listdir(directory) def _add_defaults_standards(self): standards = [self.READMES, self.distribution.script_name] for fn in standards: if isinstance(fn, tuple): alts = fn got_it = False for fn in alts: if self._cs_path_exists(fn): got_it = True self.filelist.append(fn) break if not got_it: self.warn("standard file not found: should have one of " + ', '.join(alts)) else: if self._cs_path_exists(fn): self.filelist.append(fn) else: self.warn("standard file '%s' not found" % fn) def _add_defaults_optional(self): optional = ['test/test*.py', 'setup.cfg'] for pattern in optional: files = filter(os.path.isfile, glob(pattern)) self.filelist.extend(files) def _add_defaults_python(self): # build_py is used to get: # - python modules # - files defined in package_data build_py = self.get_finalized_command('build_py') # getting python files if self.distribution.has_pure_modules(): self.filelist.extend(build_py.get_source_files()) # getting package_data files # (computed in build_py.data_files by build_py.finalize_options) for pkg, src_dir, build_dir, filenames in build_py.data_files: for filename in filenames: self.filelist.append(os.path.join(src_dir, filename)) def _add_defaults_data_files(self): # getting distribution.data_files if self.distribution.has_data_files(): for item in self.distribution.data_files: if isinstance(item, str): # plain file item = convert_path(item) if os.path.isfile(item): self.filelist.append(item) else: # a (dirname, filenames) tuple dirname, filenames = item for f in filenames: f = convert_path(f) if os.path.isfile(f): self.filelist.append(f) def _add_defaults_ext(self): if self.distribution.has_ext_modules(): build_ext = self.get_finalized_command('build_ext') self.filelist.extend(build_ext.get_source_files()) def _add_defaults_c_libs(self): if self.distribution.has_c_libraries(): build_clib = self.get_finalized_command('build_clib') self.filelist.extend(build_clib.get_source_files()) def _add_defaults_scripts(self): if self.distribution.has_scripts(): build_scripts = self.get_finalized_command('build_scripts') self.filelist.extend(build_scripts.get_source_files()) if hasattr(sdist.sdist, '_add_defaults_standards'): # disable the functionality already available upstream class sdist_add_defaults: pass rotate.py000064400000004016147210141470006416 0ustar00import distutils, os from setuptools import Command from setuptools.compat import basestring from distutils.util import convert_path from distutils import log from distutils.errors import * class rotate(Command): """Delete older distributions""" description = "delete older distributions, keeping N newest files" user_options = [ ('match=', 'm', "patterns to match (required)"), ('dist-dir=', 'd', "directory where the distributions are"), ('keep=', 'k', "number of matching distributions to keep"), ] boolean_options = [] def initialize_options(self): self.match = None self.dist_dir = None self.keep = None def finalize_options(self): if self.match is None: raise DistutilsOptionError( "Must specify one or more (comma-separated) match patterns " "(e.g. '.zip' or '.egg')" ) if self.keep is None: raise DistutilsOptionError("Must specify number of files to keep") try: self.keep = int(self.keep) except ValueError: raise DistutilsOptionError("--keep must be an integer") if isinstance(self.match, basestring): self.match = [ convert_path(p.strip()) for p in self.match.split(',') ] self.set_undefined_options('bdist',('dist_dir', 'dist_dir')) def run(self): self.run_command("egg_info") from glob import glob for pattern in self.match: pattern = self.distribution.get_name()+'*'+pattern files = glob(os.path.join(self.dist_dir,pattern)) files = [(os.path.getmtime(f),f) for f in files] files.sort() files.reverse() log.info("%d file(s) matching %s", len(files), pattern) files = files[self.keep:] for (t,f) in files: log.info("Deleting %s", f) if not self.dry_run: os.unlink(f) upload_docs.py000064400000015477147210141470007431 0ustar00# -*- coding: utf-8 -*- """upload_docs Implements a Distutils 'upload_docs' subcommand (upload documentation to PyPI's pythonhosted.org). """ import os import socket import zipfile import tempfile import sys import shutil from base64 import standard_b64encode from pkg_resources import iter_entry_points from distutils import log from distutils.errors import DistutilsOptionError try: from distutils.command.upload import upload except ImportError: from setuptools.command.upload import upload from setuptools.compat import httplib, urlparse, unicode, iteritems _IS_PYTHON3 = sys.version > '3' if _IS_PYTHON3: errors = 'surrogateescape' else: errors = 'strict' # This is not just a replacement for byte literals # but works as a general purpose encoder def b(s, encoding='utf-8'): if isinstance(s, unicode): return s.encode(encoding, errors) return s class upload_docs(upload): description = 'Upload documentation to PyPI' user_options = [ ('repository=', 'r', "url of repository [default: %s]" % upload.DEFAULT_REPOSITORY), ('show-response', None, 'display full response text from server'), ('upload-dir=', None, 'directory to upload'), ] boolean_options = upload.boolean_options def has_sphinx(self): if self.upload_dir is None: for ep in iter_entry_points('distutils.commands', 'build_sphinx'): return True sub_commands = [('build_sphinx', has_sphinx)] def initialize_options(self): upload.initialize_options(self) self.upload_dir = None self.target_dir = None def finalize_options(self): upload.finalize_options(self) if self.upload_dir is None: if self.has_sphinx(): build_sphinx = self.get_finalized_command('build_sphinx') self.target_dir = build_sphinx.builder_target_dir else: build = self.get_finalized_command('build') self.target_dir = os.path.join(build.build_base, 'docs') else: self.ensure_dirname('upload_dir') self.target_dir = self.upload_dir self.announce('Using upload directory %s' % self.target_dir) def create_zipfile(self, filename): zip_file = zipfile.ZipFile(filename, "w") try: self.mkpath(self.target_dir) # just in case for root, dirs, files in os.walk(self.target_dir): if root == self.target_dir and not files: raise DistutilsOptionError( "no files found in upload directory '%s'" % self.target_dir) for name in files: full = os.path.join(root, name) relative = root[len(self.target_dir):].lstrip(os.path.sep) dest = os.path.join(relative, name) zip_file.write(full, dest) finally: zip_file.close() def run(self): # Run sub commands for cmd_name in self.get_sub_commands(): self.run_command(cmd_name) tmp_dir = tempfile.mkdtemp() name = self.distribution.metadata.get_name() zip_file = os.path.join(tmp_dir, "%s.zip" % name) try: self.create_zipfile(zip_file) self.upload_file(zip_file) finally: shutil.rmtree(tmp_dir) def upload_file(self, filename): f = open(filename, 'rb') content = f.read() f.close() meta = self.distribution.metadata data = { ':action': 'doc_upload', 'name': meta.get_name(), 'content': (os.path.basename(filename), content), } # set up the authentication credentials = b(self.username + ':' + self.password) credentials = standard_b64encode(credentials) if sys.version_info >= (3,): credentials = credentials.decode('ascii') auth = "Basic " + credentials # Build up the MIME payload for the POST data boundary = '--------------GHSKFJDLGDS7543FJKLFHRE75642756743254' sep_boundary = b('\n--') + b(boundary) end_boundary = sep_boundary + b('--') body = [] for key, values in iteritems(data): title = '\nContent-Disposition: form-data; name="%s"' % key # handle multiple entries for the same name if type(values) != type([]): values = [values] for value in values: if type(value) is tuple: title += '; filename="%s"' % value[0] value = value[1] else: value = b(value) body.append(sep_boundary) body.append(b(title)) body.append(b("\n\n")) body.append(value) if value and value[-1:] == b('\r'): body.append(b('\n')) # write an extra newline (lurve Macs) body.append(end_boundary) body.append(b("\n")) body = b('').join(body) self.announce("Submitting documentation to %s" % (self.repository), log.INFO) # build the Request # We can't use urllib2 since we need to send the Basic # auth right with the first request schema, netloc, url, params, query, fragments = \ urlparse(self.repository) assert not params and not query and not fragments if schema == 'http': conn = httplib.HTTPConnection(netloc) elif schema == 'https': conn = httplib.HTTPSConnection(netloc) else: raise AssertionError("unsupported schema "+schema) data = '' loglevel = log.INFO try: conn.connect() conn.putrequest("POST", url) conn.putheader('Content-type', 'multipart/form-data; boundary=%s'%boundary) conn.putheader('Content-length', str(len(body))) conn.putheader('Authorization', auth) conn.endheaders() conn.send(body) except socket.error: e = sys.exc_info()[1] self.announce(str(e), log.ERROR) return r = conn.getresponse() if r.status == 200: self.announce('Server response (%s): %s' % (r.status, r.reason), log.INFO) elif r.status == 301: location = r.getheader('Location') if location is None: location = 'https://pythonhosted.org/%s/' % meta.get_name() self.announce('Upload successful. Visit %s' % location, log.INFO) else: self.announce('Upload failed (%s): %s' % (r.status, r.reason), log.ERROR) if self.show_response: print('-'*75, r.read(), '-'*75) dist_info.py000064400000001700147210141470007073 0ustar00""" Create a dist_info directory As defined in the wheel specification """ import os from distutils.core import Command from distutils import log class dist_info(Command): description = 'create a .dist-info directory' user_options = [ ('egg-base=', 'e', "directory containing .egg-info directories" " (default: top of the source tree)"), ] def initialize_options(self): self.egg_base = None def finalize_options(self): pass def run(self): egg_info = self.get_finalized_command('egg_info') egg_info.egg_base = self.egg_base egg_info.finalize_options() egg_info.run() dist_info_dir = egg_info.egg_info[:-len('.egg-info')] + '.dist-info' log.info("creating '{}'".format(os.path.abspath(dist_info_dir))) bdist_wheel = self.get_finalized_command('bdist_wheel') bdist_wheel.egg2dist(egg_info.egg_info, dist_info_dir) register.py000064400000026700147210141470006750 0ustar00"""distutils.command.register Implements the Distutils 'register' command (register with the repository). """ # created 2002/10/21, Richard Jones import getpass import io import urllib.parse, urllib.request from warnings import warn from distutils.core import PyPIRCCommand from distutils.errors import * from distutils import log class register(PyPIRCCommand): description = ("register the distribution with the Python package index") user_options = PyPIRCCommand.user_options + [ ('list-classifiers', None, 'list the valid Trove classifiers'), ('strict', None , 'Will stop the registering if the meta-data are not fully compliant') ] boolean_options = PyPIRCCommand.boolean_options + [ 'verify', 'list-classifiers', 'strict'] sub_commands = [('check', lambda self: True)] def initialize_options(self): PyPIRCCommand.initialize_options(self) self.list_classifiers = 0 self.strict = 0 def finalize_options(self): PyPIRCCommand.finalize_options(self) # setting options for the `check` subcommand check_options = {'strict': ('register', self.strict), 'restructuredtext': ('register', 1)} self.distribution.command_options['check'] = check_options def run(self): self.finalize_options() self._set_config() # Run sub commands for cmd_name in self.get_sub_commands(): self.run_command(cmd_name) if self.dry_run: self.verify_metadata() elif self.list_classifiers: self.classifiers() else: self.send_metadata() def check_metadata(self): """Deprecated API.""" warn("distutils.command.register.check_metadata is deprecated, \ use the check command instead", PendingDeprecationWarning) check = self.distribution.get_command_obj('check') check.ensure_finalized() check.strict = self.strict check.restructuredtext = 1 check.run() def _set_config(self): ''' Reads the configuration file and set attributes. ''' config = self._read_pypirc() if config != {}: self.username = config['username'] self.password = config['password'] self.repository = config['repository'] self.realm = config['realm'] self.has_config = True else: if self.repository not in ('pypi', self.DEFAULT_REPOSITORY): raise ValueError('%s not found in .pypirc' % self.repository) if self.repository == 'pypi': self.repository = self.DEFAULT_REPOSITORY self.has_config = False def classifiers(self): ''' Fetch the list of classifiers from the server. ''' url = self.repository+'?:action=list_classifiers' response = urllib.request.urlopen(url) log.info(self._read_pypi_response(response)) def verify_metadata(self): ''' Send the metadata to the package index server to be checked. ''' # send the info to the server and report the result (code, result) = self.post_to_server(self.build_post_data('verify')) log.info('Server response (%s): %s', code, result) def send_metadata(self): ''' Send the metadata to the package index server. Well, do the following: 1. figure who the user is, and then 2. send the data as a Basic auth'ed POST. First we try to read the username/password from $HOME/.pypirc, which is a ConfigParser-formatted file with a section [distutils] containing username and password entries (both in clear text). Eg: [distutils] index-servers = pypi [pypi] username: fred password: sekrit Otherwise, to figure who the user is, we offer the user three choices: 1. use existing login, 2. register as a new user, or 3. set the password to a random string and email the user. ''' # see if we can short-cut and get the username/password from the # config if self.has_config: choice = '1' username = self.username password = self.password else: choice = 'x' username = password = '' # get the user's login info choices = '1 2 3 4'.split() while choice not in choices: self.announce('''\ We need to know who you are, so please choose either: 1. use your existing login, 2. register as a new user, 3. have the server generate a new password for you (and email it to you), or 4. quit Your selection [default 1]: ''', log.INFO) choice = input() if not choice: choice = '1' elif choice not in choices: print('Please choose one of the four options!') if choice == '1': # get the username and password while not username: username = input('Username: ') while not password: password = getpass.getpass('Password: ') # set up the authentication auth = urllib.request.HTTPPasswordMgr() host = urllib.parse.urlparse(self.repository)[1] auth.add_password(self.realm, host, username, password) # send the info to the server and report the result code, result = self.post_to_server(self.build_post_data('submit'), auth) self.announce('Server response (%s): %s' % (code, result), log.INFO) # possibly save the login if code == 200: if self.has_config: # sharing the password in the distribution instance # so the upload command can reuse it self.distribution.password = password else: self.announce(('I can store your PyPI login so future ' 'submissions will be faster.'), log.INFO) self.announce('(the login will be stored in %s)' % \ self._get_rc_file(), log.INFO) choice = 'X' while choice.lower() not in 'yn': choice = input('Save your login (y/N)?') if not choice: choice = 'n' if choice.lower() == 'y': self._store_pypirc(username, password) elif choice == '2': data = {':action': 'user'} data['name'] = data['password'] = data['email'] = '' data['confirm'] = None while not data['name']: data['name'] = input('Username: ') while data['password'] != data['confirm']: while not data['password']: data['password'] = getpass.getpass('Password: ') while not data['confirm']: data['confirm'] = getpass.getpass(' Confirm: ') if data['password'] != data['confirm']: data['password'] = '' data['confirm'] = None print("Password and confirm don't match!") while not data['email']: data['email'] = input(' EMail: ') code, result = self.post_to_server(data) if code != 200: log.info('Server response (%s): %s', code, result) else: log.info('You will receive an email shortly.') log.info(('Follow the instructions in it to ' 'complete registration.')) elif choice == '3': data = {':action': 'password_reset'} data['email'] = '' while not data['email']: data['email'] = input('Your email address: ') code, result = self.post_to_server(data) log.info('Server response (%s): %s', code, result) def build_post_data(self, action): # figure the data to send - the metadata plus some additional # information used by the package server meta = self.distribution.metadata data = { ':action': action, 'metadata_version' : '1.0', 'name': meta.get_name(), 'version': meta.get_version(), 'summary': meta.get_description(), 'home_page': meta.get_url(), 'author': meta.get_contact(), 'author_email': meta.get_contact_email(), 'license': meta.get_licence(), 'description': meta.get_long_description(), 'keywords': meta.get_keywords(), 'platform': meta.get_platforms(), 'classifiers': meta.get_classifiers(), 'download_url': meta.get_download_url(), # PEP 314 'provides': meta.get_provides(), 'requires': meta.get_requires(), 'obsoletes': meta.get_obsoletes(), } if data['provides'] or data['requires'] or data['obsoletes']: data['metadata_version'] = '1.1' return data def post_to_server(self, data, auth=None): ''' Post a query to the server, and return a string response. ''' if 'name' in data: self.announce('Registering %s to %s' % (data['name'], self.repository), log.INFO) # Build up the MIME payload for the urllib2 POST data boundary = '--------------GHSKFJDLGDS7543FJKLFHRE75642756743254' sep_boundary = '\n--' + boundary end_boundary = sep_boundary + '--' body = io.StringIO() for key, value in data.items(): # handle multiple entries for the same name if type(value) not in (type([]), type( () )): value = [value] for value in value: value = str(value) body.write(sep_boundary) body.write('\nContent-Disposition: form-data; name="%s"'%key) body.write("\n\n") body.write(value) if value and value[-1] == '\r': body.write('\n') # write an extra newline (lurve Macs) body.write(end_boundary) body.write("\n") body = body.getvalue().encode("utf-8") # build the Request headers = { 'Content-type': 'multipart/form-data; boundary=%s; charset=utf-8'%boundary, 'Content-length': str(len(body)) } req = urllib.request.Request(self.repository, body, headers) # handle HTTP and include the Basic Auth handler opener = urllib.request.build_opener( urllib.request.HTTPBasicAuthHandler(password_mgr=auth) ) data = '' try: result = opener.open(req) except urllib.error.HTTPError as e: if self.show_response: data = e.fp.read() result = e.code, e.msg except urllib.error.URLError as e: result = 500, str(e) else: if self.show_response: data = self._read_pypi_response(result) result = 200, 'OK' if self.show_response: msg = '\n'.join(('-' * 75, data, '-' * 75)) self.announce(msg, log.INFO) return result saveopts.py000064400000001301147210141470006756 0ustar00import distutils, os from setuptools import Command from setuptools.command.setopt import edit_config, option_base class saveopts(option_base): """Save command-line options to a file""" description = "save supplied options to setup.cfg or other config file" def run(self): dist = self.distribution settings = {} for cmd in dist.command_options: if cmd=='saveopts': continue # don't save our own options! for opt,(src,val) in dist.get_option_dict(cmd).items(): if src=="command line": settings.setdefault(cmd,{})[opt] = val edit_config(self.filename, settings, self.dry_run) build_py.py000064400000041446147210141470006737 0ustar00"""distutils.command.build_py Implements the Distutils 'build_py' command.""" import os import importlib.util import sys import glob from distutils.core import Command from distutils.errors import * from distutils.util import convert_path, Mixin2to3 from distutils import log class build_py (Command): description = "\"build\" pure Python modules (copy to build directory)" user_options = [ ('build-lib=', 'd', "directory to \"build\" (copy) to"), ('compile', 'c', "compile .py to .pyc"), ('no-compile', None, "don't compile .py files [default]"), ('optimize=', 'O', "also compile with optimization: -O1 for \"python -O\", " "-O2 for \"python -OO\", and -O0 to disable [default: -O0]"), ('force', 'f', "forcibly build everything (ignore file timestamps)"), ] boolean_options = ['compile', 'force'] negative_opt = {'no-compile' : 'compile'} def initialize_options(self): self.build_lib = None self.py_modules = None self.package = None self.package_data = None self.package_dir = None self.compile = 0 self.optimize = 0 self.force = None def finalize_options(self): self.set_undefined_options('build', ('build_lib', 'build_lib'), ('force', 'force')) # Get the distribution options that are aliases for build_py # options -- list of packages and list of modules. self.packages = self.distribution.packages self.py_modules = self.distribution.py_modules self.package_data = self.distribution.package_data self.package_dir = {} if self.distribution.package_dir: for name, path in self.distribution.package_dir.items(): self.package_dir[name] = convert_path(path) self.data_files = self.get_data_files() # Ick, copied straight from install_lib.py (fancy_getopt needs a # type system! Hell, *everything* needs a type system!!!) if not isinstance(self.optimize, int): try: self.optimize = int(self.optimize) assert 0 <= self.optimize <= 2 except (ValueError, AssertionError): raise DistutilsOptionError("optimize must be 0, 1, or 2") def run(self): # XXX copy_file by default preserves atime and mtime. IMHO this is # the right thing to do, but perhaps it should be an option -- in # particular, a site administrator might want installed files to # reflect the time of installation rather than the last # modification time before the installed release. # XXX copy_file by default preserves mode, which appears to be the # wrong thing to do: if a file is read-only in the working # directory, we want it to be installed read/write so that the next # installation of the same module distribution can overwrite it # without problems. (This might be a Unix-specific issue.) Thus # we turn off 'preserve_mode' when copying to the build directory, # since the build directory is supposed to be exactly what the # installation will look like (ie. we preserve mode when # installing). # Two options control which modules will be installed: 'packages' # and 'py_modules'. The former lets us work with whole packages, not # specifying individual modules at all; the latter is for # specifying modules one-at-a-time. if self.py_modules: self.build_modules() if self.packages: self.build_packages() self.build_package_data() self.byte_compile(self.get_outputs(include_bytecode=0)) def get_data_files(self): """Generate list of '(package,src_dir,build_dir,filenames)' tuples""" data = [] if not self.packages: return data for package in self.packages: # Locate package source directory src_dir = self.get_package_dir(package) # Compute package build directory build_dir = os.path.join(*([self.build_lib] + package.split('.'))) # Length of path to strip from found files plen = 0 if src_dir: plen = len(src_dir)+1 # Strip directory from globbed filenames filenames = [ file[plen:] for file in self.find_data_files(package, src_dir) ] data.append((package, src_dir, build_dir, filenames)) return data def find_data_files(self, package, src_dir): """Return filenames for package's data files in 'src_dir'""" globs = (self.package_data.get('', []) + self.package_data.get(package, [])) files = [] for pattern in globs: # Each pattern has to be converted to a platform-specific path filelist = glob.glob(os.path.join(glob.escape(src_dir), convert_path(pattern))) # Files that match more than one pattern are only added once files.extend([fn for fn in filelist if fn not in files and os.path.isfile(fn)]) return files def build_package_data(self): """Copy data files into build directory""" lastdir = None for package, src_dir, build_dir, filenames in self.data_files: for filename in filenames: target = os.path.join(build_dir, filename) self.mkpath(os.path.dirname(target)) self.copy_file(os.path.join(src_dir, filename), target, preserve_mode=False) def get_package_dir(self, package): """Return the directory, relative to the top of the source distribution, where package 'package' should be found (at least according to the 'package_dir' option, if any).""" path = package.split('.') if not self.package_dir: if path: return os.path.join(*path) else: return '' else: tail = [] while path: try: pdir = self.package_dir['.'.join(path)] except KeyError: tail.insert(0, path[-1]) del path[-1] else: tail.insert(0, pdir) return os.path.join(*tail) else: # Oops, got all the way through 'path' without finding a # match in package_dir. If package_dir defines a directory # for the root (nameless) package, then fallback on it; # otherwise, we might as well have not consulted # package_dir at all, as we just use the directory implied # by 'tail' (which should be the same as the original value # of 'path' at this point). pdir = self.package_dir.get('') if pdir is not None: tail.insert(0, pdir) if tail: return os.path.join(*tail) else: return '' def check_package(self, package, package_dir): # Empty dir name means current directory, which we can probably # assume exists. Also, os.path.exists and isdir don't know about # my "empty string means current dir" convention, so we have to # circumvent them. if package_dir != "": if not os.path.exists(package_dir): raise DistutilsFileError( "package directory '%s' does not exist" % package_dir) if not os.path.isdir(package_dir): raise DistutilsFileError( "supposed package directory '%s' exists, " "but is not a directory" % package_dir) # Require __init__.py for all but the "root package" if package: init_py = os.path.join(package_dir, "__init__.py") if os.path.isfile(init_py): return init_py else: log.warn(("package init file '%s' not found " + "(or not a regular file)"), init_py) # Either not in a package at all (__init__.py not expected), or # __init__.py doesn't exist -- so don't return the filename. return None def check_module(self, module, module_file): if not os.path.isfile(module_file): log.warn("file %s (for module %s) not found", module_file, module) return False else: return True def find_package_modules(self, package, package_dir): self.check_package(package, package_dir) module_files = glob.glob(os.path.join(glob.escape(package_dir), "*.py")) modules = [] setup_script = os.path.abspath(self.distribution.script_name) for f in module_files: abs_f = os.path.abspath(f) if abs_f != setup_script: module = os.path.splitext(os.path.basename(f))[0] modules.append((package, module, f)) else: self.debug_print("excluding %s" % setup_script) return modules def find_modules(self): """Finds individually-specified Python modules, ie. those listed by module name in 'self.py_modules'. Returns a list of tuples (package, module_base, filename): 'package' is a tuple of the path through package-space to the module; 'module_base' is the bare (no packages, no dots) module name, and 'filename' is the path to the ".py" file (relative to the distribution root) that implements the module. """ # Map package names to tuples of useful info about the package: # (package_dir, checked) # package_dir - the directory where we'll find source files for # this package # checked - true if we have checked that the package directory # is valid (exists, contains __init__.py, ... ?) packages = {} # List of (package, module, filename) tuples to return modules = [] # We treat modules-in-packages almost the same as toplevel modules, # just the "package" for a toplevel is empty (either an empty # string or empty list, depending on context). Differences: # - don't check for __init__.py in directory for empty package for module in self.py_modules: path = module.split('.') package = '.'.join(path[0:-1]) module_base = path[-1] try: (package_dir, checked) = packages[package] except KeyError: package_dir = self.get_package_dir(package) checked = 0 if not checked: init_py = self.check_package(package, package_dir) packages[package] = (package_dir, 1) if init_py: modules.append((package, "__init__", init_py)) # XXX perhaps we should also check for just .pyc files # (so greedy closed-source bastards can distribute Python # modules too) module_file = os.path.join(package_dir, module_base + ".py") if not self.check_module(module, module_file): continue modules.append((package, module_base, module_file)) return modules def find_all_modules(self): """Compute the list of all modules that will be built, whether they are specified one-module-at-a-time ('self.py_modules') or by whole packages ('self.packages'). Return a list of tuples (package, module, module_file), just like 'find_modules()' and 'find_package_modules()' do.""" modules = [] if self.py_modules: modules.extend(self.find_modules()) if self.packages: for package in self.packages: package_dir = self.get_package_dir(package) m = self.find_package_modules(package, package_dir) modules.extend(m) return modules def get_source_files(self): return [module[-1] for module in self.find_all_modules()] def get_module_outfile(self, build_dir, package, module): outfile_path = [build_dir] + list(package) + [module + ".py"] return os.path.join(*outfile_path) def get_outputs(self, include_bytecode=1): modules = self.find_all_modules() outputs = [] for (package, module, module_file) in modules: package = package.split('.') filename = self.get_module_outfile(self.build_lib, package, module) outputs.append(filename) if include_bytecode: if self.compile: outputs.append(importlib.util.cache_from_source( filename, optimization='')) if self.optimize > 0: outputs.append(importlib.util.cache_from_source( filename, optimization=self.optimize)) outputs += [ os.path.join(build_dir, filename) for package, src_dir, build_dir, filenames in self.data_files for filename in filenames ] return outputs def build_module(self, module, module_file, package): if isinstance(package, str): package = package.split('.') elif not isinstance(package, (list, tuple)): raise TypeError( "'package' must be a string (dot-separated), list, or tuple") # Now put the module source file into the "build" area -- this is # easy, we just copy it somewhere under self.build_lib (the build # directory for Python source). outfile = self.get_module_outfile(self.build_lib, package, module) dir = os.path.dirname(outfile) self.mkpath(dir) return self.copy_file(module_file, outfile, preserve_mode=0) def build_modules(self): modules = self.find_modules() for (package, module, module_file) in modules: # Now "build" the module -- ie. copy the source file to # self.build_lib (the build directory for Python source). # (Actually, it gets copied to the directory for this package # under self.build_lib.) self.build_module(module, module_file, package) def build_packages(self): for package in self.packages: # Get list of (package, module, module_file) tuples based on # scanning the package directory. 'package' is only included # in the tuple so that 'find_modules()' and # 'find_package_tuples()' have a consistent interface; it's # ignored here (apart from a sanity check). Also, 'module' is # the *unqualified* module name (ie. no dots, no package -- we # already know its package!), and 'module_file' is the path to # the .py file, relative to the current directory # (ie. including 'package_dir'). package_dir = self.get_package_dir(package) modules = self.find_package_modules(package, package_dir) # Now loop over the modules we found, "building" each one (just # copy it to self.build_lib). for (package_, module, module_file) in modules: assert package == package_ self.build_module(module, module_file, package) def byte_compile(self, files): if sys.dont_write_bytecode: self.warn('byte-compiling is disabled, skipping.') return from distutils.util import byte_compile prefix = self.build_lib if prefix[-1] != os.sep: prefix = prefix + os.sep # XXX this code is essentially the same as the 'byte_compile() # method of the "install_lib" command, except for the determination # of the 'prefix' string. Hmmm. if self.compile: byte_compile(files, optimize=0, force=self.force, prefix=prefix, dry_run=self.dry_run) if self.optimize > 0: byte_compile(files, optimize=self.optimize, force=self.force, prefix=prefix, dry_run=self.dry_run) class build_py_2to3(build_py, Mixin2to3): def run(self): self.updated_files = [] # Base class code if self.py_modules: self.build_modules() if self.packages: self.build_packages() self.build_package_data() # 2to3 self.run_2to3(self.updated_files) # Remaining base class code self.byte_compile(self.get_outputs(include_bytecode=0)) def build_module(self, module, module_file, package): res = build_py.build_module(self, module, module_file, package) if res[1]: # file was copied self.updated_files.append(res[0]) return res bdist_wininst.py000064400000037253147210141470010011 0ustar00"""distutils.command.bdist_wininst Implements the Distutils 'bdist_wininst' command: create a windows installer exe-program.""" import os import sys import warnings from distutils.core import Command from distutils.util import get_platform from distutils.dir_util import create_tree, remove_tree from distutils.errors import * from distutils.sysconfig import get_python_version from distutils import log class bdist_wininst(Command): description = "create an executable installer for MS Windows" user_options = [('bdist-dir=', None, "temporary directory for creating the distribution"), ('plat-name=', 'p', "platform name to embed in generated filenames " "(default: %s)" % get_platform()), ('keep-temp', 'k', "keep the pseudo-installation tree around after " + "creating the distribution archive"), ('target-version=', None, "require a specific python version" + " on the target system"), ('no-target-compile', 'c', "do not compile .py to .pyc on the target system"), ('no-target-optimize', 'o', "do not compile .py to .pyo (optimized) " "on the target system"), ('dist-dir=', 'd', "directory to put final built distributions in"), ('bitmap=', 'b', "bitmap to use for the installer instead of python-powered logo"), ('title=', 't', "title to display on the installer background instead of default"), ('skip-build', None, "skip rebuilding everything (for testing/debugging)"), ('install-script=', None, "basename of installation script to be run after " "installation or before deinstallation"), ('pre-install-script=', None, "Fully qualified filename of a script to be run before " "any files are installed. This script need not be in the " "distribution"), ('user-access-control=', None, "specify Vista's UAC handling - 'none'/default=no " "handling, 'auto'=use UAC if target Python installed for " "all users, 'force'=always use UAC"), ] boolean_options = ['keep-temp', 'no-target-compile', 'no-target-optimize', 'skip-build'] # bpo-10945: bdist_wininst requires mbcs encoding only available on Windows _unsupported = (sys.platform != "win32") def __init__(self, *args, **kw): super().__init__(*args, **kw) warnings.warn("bdist_wininst command is deprecated since Python 3.8, " "use bdist_wheel (wheel packages) instead", DeprecationWarning, 2) def initialize_options(self): self.bdist_dir = None self.plat_name = None self.keep_temp = 0 self.no_target_compile = 0 self.no_target_optimize = 0 self.target_version = None self.dist_dir = None self.bitmap = None self.title = None self.skip_build = None self.install_script = None self.pre_install_script = None self.user_access_control = None def finalize_options(self): self.set_undefined_options('bdist', ('skip_build', 'skip_build')) if self.bdist_dir is None: if self.skip_build and self.plat_name: # If build is skipped and plat_name is overridden, bdist will # not see the correct 'plat_name' - so set that up manually. bdist = self.distribution.get_command_obj('bdist') bdist.plat_name = self.plat_name # next the command will be initialized using that name bdist_base = self.get_finalized_command('bdist').bdist_base self.bdist_dir = os.path.join(bdist_base, 'wininst') if not self.target_version: self.target_version = "" if not self.skip_build and self.distribution.has_ext_modules(): short_version = get_python_version() if self.target_version and self.target_version != short_version: raise DistutilsOptionError( "target version can only be %s, or the '--skip-build'" \ " option must be specified" % (short_version,)) self.target_version = short_version self.set_undefined_options('bdist', ('dist_dir', 'dist_dir'), ('plat_name', 'plat_name'), ) if self.install_script: for script in self.distribution.scripts: if self.install_script == os.path.basename(script): break else: raise DistutilsOptionError( "install_script '%s' not found in scripts" % self.install_script) def run(self): if (sys.platform != "win32" and (self.distribution.has_ext_modules() or self.distribution.has_c_libraries())): raise DistutilsPlatformError \ ("distribution contains extensions and/or C libraries; " "must be compiled on a Windows 32 platform") if not self.skip_build: self.run_command('build') install = self.reinitialize_command('install', reinit_subcommands=1) install.root = self.bdist_dir install.skip_build = self.skip_build install.warn_dir = 0 install.plat_name = self.plat_name install_lib = self.reinitialize_command('install_lib') # we do not want to include pyc or pyo files install_lib.compile = 0 install_lib.optimize = 0 if self.distribution.has_ext_modules(): # If we are building an installer for a Python version other # than the one we are currently running, then we need to ensure # our build_lib reflects the other Python version rather than ours. # Note that for target_version!=sys.version, we must have skipped the # build step, so there is no issue with enforcing the build of this # version. target_version = self.target_version if not target_version: assert self.skip_build, "Should have already checked this" target_version = '%d.%d' % sys.version_info[:2] plat_specifier = ".%s-%s" % (self.plat_name, target_version) build = self.get_finalized_command('build') build.build_lib = os.path.join(build.build_base, 'lib' + plat_specifier) # Use a custom scheme for the zip-file, because we have to decide # at installation time which scheme to use. for key in ('purelib', 'platlib', 'headers', 'scripts', 'data'): value = key.upper() if key == 'headers': value = value + '/Include/$dist_name' setattr(install, 'install_' + key, value) log.info("installing to %s", self.bdist_dir) install.ensure_finalized() # avoid warning of 'install_lib' about installing # into a directory not in sys.path sys.path.insert(0, os.path.join(self.bdist_dir, 'PURELIB')) install.run() del sys.path[0] # And make an archive relative to the root of the # pseudo-installation tree. from tempfile import mktemp archive_basename = mktemp() fullname = self.distribution.get_fullname() arcname = self.make_archive(archive_basename, "zip", root_dir=self.bdist_dir) # create an exe containing the zip-file self.create_exe(arcname, fullname, self.bitmap) if self.distribution.has_ext_modules(): pyversion = get_python_version() else: pyversion = 'any' self.distribution.dist_files.append(('bdist_wininst', pyversion, self.get_installer_filename(fullname))) # remove the zip-file again log.debug("removing temporary file '%s'", arcname) os.remove(arcname) if not self.keep_temp: remove_tree(self.bdist_dir, dry_run=self.dry_run) def get_inidata(self): # Return data describing the installation. lines = [] metadata = self.distribution.metadata # Write the [metadata] section. lines.append("[metadata]") # 'info' will be displayed in the installer's dialog box, # describing the items to be installed. info = (metadata.long_description or '') + '\n' # Escape newline characters def escape(s): return s.replace("\n", "\\n") for name in ["author", "author_email", "description", "maintainer", "maintainer_email", "name", "url", "version"]: data = getattr(metadata, name, "") if data: info = info + ("\n %s: %s" % \ (name.capitalize(), escape(data))) lines.append("%s=%s" % (name, escape(data))) # The [setup] section contains entries controlling # the installer runtime. lines.append("\n[Setup]") if self.install_script: lines.append("install_script=%s" % self.install_script) lines.append("info=%s" % escape(info)) lines.append("target_compile=%d" % (not self.no_target_compile)) lines.append("target_optimize=%d" % (not self.no_target_optimize)) if self.target_version: lines.append("target_version=%s" % self.target_version) if self.user_access_control: lines.append("user_access_control=%s" % self.user_access_control) title = self.title or self.distribution.get_fullname() lines.append("title=%s" % escape(title)) import time import distutils build_info = "Built %s with distutils-%s" % \ (time.ctime(time.time()), distutils.__version__) lines.append("build_info=%s" % build_info) return "\n".join(lines) def create_exe(self, arcname, fullname, bitmap=None): import struct self.mkpath(self.dist_dir) cfgdata = self.get_inidata() installer_name = self.get_installer_filename(fullname) self.announce("creating %s" % installer_name) if bitmap: with open(bitmap, "rb") as f: bitmapdata = f.read() bitmaplen = len(bitmapdata) else: bitmaplen = 0 with open(installer_name, "wb") as file: file.write(self.get_exe_bytes()) if bitmap: file.write(bitmapdata) # Convert cfgdata from unicode to ascii, mbcs encoded if isinstance(cfgdata, str): cfgdata = cfgdata.encode("mbcs") # Append the pre-install script cfgdata = cfgdata + b"\0" if self.pre_install_script: # We need to normalize newlines, so we open in text mode and # convert back to bytes. "latin-1" simply avoids any possible # failures. with open(self.pre_install_script, "r", encoding="latin-1") as script: script_data = script.read().encode("latin-1") cfgdata = cfgdata + script_data + b"\n\0" else: # empty pre-install script cfgdata = cfgdata + b"\0" file.write(cfgdata) # The 'magic number' 0x1234567B is used to make sure that the # binary layout of 'cfgdata' is what the wininst.exe binary # expects. If the layout changes, increment that number, make # the corresponding changes to the wininst.exe sources, and # recompile them. header = struct.pack("=3.2 from sysconfig import get_config_vars, get_path def _get_platlib(): return get_path("platlib") def _get_purelib(): return get_path("purelib") except ImportError: from distutils.sysconfig import get_config_vars, get_python_lib def _get_platlib(): return get_python_lib(True) def _get_purelib(): return get_python_lib(False) from distutils.util import get_platform from distutils.util import convert_path, subst_vars from distutils.errors import DistutilsArgError, DistutilsOptionError, \ DistutilsError, DistutilsPlatformError from distutils.command.install import INSTALL_SCHEMES, SCHEME_KEYS from setuptools.command import setopt from setuptools.archive_util import unpack_archive from setuptools.package_index import PackageIndex from setuptools.package_index import URL_SCHEME from setuptools.command import bdist_egg, egg_info from setuptools.compat import (iteritems, maxsize, xrange, basestring, unicode, reraise) from pkg_resources import yield_lines, normalize_path, resource_string, \ ensure_directory, get_distribution, find_distributions, \ Environment, Requirement, Distribution, \ PathMetadata, EggMetadata, WorkingSet, \ DistributionNotFound, VersionConflict, \ DEVELOP_DIST if '__VENV_LAUNCHER__' in os.environ: sys_executable = os.environ['__VENV_LAUNCHER__'] else: sys_executable = os.path.normpath(sys.executable) __all__ = [ 'samefile', 'easy_install', 'PthDistributions', 'extract_wininst_cfg', 'main', 'get_exe_prefixes', ] import site HAS_USER_SITE = not sys.version < "2.6" and site.ENABLE_USER_SITE import struct def is_64bit(): return struct.calcsize("P") == 8 def samefile(p1,p2): if hasattr(os.path,'samefile') and ( os.path.exists(p1) and os.path.exists(p2) ): return os.path.samefile(p1,p2) return ( os.path.normpath(os.path.normcase(p1)) == os.path.normpath(os.path.normcase(p2)) ) if sys.version_info <= (3,): def _to_ascii(s): return s def isascii(s): try: unicode(s, 'ascii') return True except UnicodeError: return False else: def _to_ascii(s): return s.encode('ascii') def isascii(s): try: s.encode('ascii') return True except UnicodeError: return False class easy_install(Command): """Manage a download/build/install process""" description = "Find/get/install Python packages" command_consumes_arguments = True user_options = [ ('prefix=', None, "installation prefix"), ("zip-ok", "z", "install package as a zipfile"), ("multi-version", "m", "make apps have to require() a version"), ("upgrade", "U", "force upgrade (searches PyPI for latest versions)"), ("install-dir=", "d", "install package to DIR"), ("script-dir=", "s", "install scripts to DIR"), ("exclude-scripts", "x", "Don't install scripts"), ("always-copy", "a", "Copy all needed packages to install dir"), ("index-url=", "i", "base URL of Python Package Index"), ("find-links=", "f", "additional URL(s) to search for packages"), ("delete-conflicting", "D", "no longer needed; don't use this"), ("ignore-conflicts-at-my-risk", None, "no longer needed; don't use this"), ("build-directory=", "b", "download/extract/build in DIR; keep the results"), ('optimize=', 'O', "also compile with optimization: -O1 for \"python -O\", " "-O2 for \"python -OO\", and -O0 to disable [default: -O0]"), ('record=', None, "filename in which to record list of installed files"), ('always-unzip', 'Z', "don't install as a zipfile, no matter what"), ('site-dirs=','S',"list of directories where .pth files work"), ('editable', 'e', "Install specified packages in editable form"), ('no-deps', 'N', "don't install dependencies"), ('allow-hosts=', 'H', "pattern(s) that hostnames must match"), ('local-snapshots-ok', 'l', "allow building eggs from local checkouts"), ('version', None, "print version information and exit"), ('no-find-links', None, "Don't load find-links defined in packages being installed") ] boolean_options = [ 'zip-ok', 'multi-version', 'exclude-scripts', 'upgrade', 'always-copy', 'delete-conflicting', 'ignore-conflicts-at-my-risk', 'editable', 'no-deps', 'local-snapshots-ok', 'version' ] if HAS_USER_SITE: user_options.append(('user', None, "install in user site-package '%s'" % site.USER_SITE)) boolean_options.append('user') negative_opt = {'always-unzip': 'zip-ok'} create_index = PackageIndex def initialize_options(self): if HAS_USER_SITE: whereami = os.path.abspath(__file__) self.user = whereami.startswith(site.USER_SITE) else: self.user = 0 self.zip_ok = self.local_snapshots_ok = None self.install_dir = self.script_dir = self.exclude_scripts = None self.index_url = None self.find_links = None self.build_directory = None self.args = None self.optimize = self.record = None self.upgrade = self.always_copy = self.multi_version = None self.editable = self.no_deps = self.allow_hosts = None self.root = self.prefix = self.no_report = None self.version = None self.install_purelib = None # for pure module distributions self.install_platlib = None # non-pure (dists w/ extensions) self.install_headers = None # for C/C++ headers self.install_lib = None # set to either purelib or platlib self.install_scripts = None self.install_data = None self.install_base = None self.install_platbase = None if HAS_USER_SITE: self.install_userbase = site.USER_BASE self.install_usersite = site.USER_SITE else: self.install_userbase = None self.install_usersite = None self.no_find_links = None # Options not specifiable via command line self.package_index = None self.pth_file = self.always_copy_from = None self.delete_conflicting = None self.ignore_conflicts_at_my_risk = None self.site_dirs = None self.installed_projects = {} self.sitepy_installed = False # Always read easy_install options, even if we are subclassed, or have # an independent instance created. This ensures that defaults will # always come from the standard configuration file(s)' "easy_install" # section, even if this is a "develop" or "install" command, or some # other embedding. self._dry_run = None self.verbose = self.distribution.verbose self.distribution._set_command_options( self, self.distribution.get_option_dict('easy_install') ) def delete_blockers(self, blockers): for filename in blockers: if os.path.exists(filename) or os.path.islink(filename): log.info("Deleting %s", filename) if not self.dry_run: if os.path.isdir(filename) and not os.path.islink(filename): rmtree(filename) else: os.unlink(filename) def finalize_options(self): if self.version: print('setuptools %s' % get_distribution('setuptools').version) sys.exit() py_version = sys.version.split()[0] prefix, exec_prefix = get_config_vars('prefix', 'exec_prefix') self.config_vars = {'dist_name': self.distribution.get_name(), 'dist_version': self.distribution.get_version(), 'dist_fullname': self.distribution.get_fullname(), 'py_version': py_version, 'py_version_short': py_version[0:3], 'py_version_nodot': py_version[0] + py_version[2], 'sys_prefix': prefix, 'prefix': prefix, 'sys_exec_prefix': exec_prefix, 'exec_prefix': exec_prefix, # Only python 3.2+ has abiflags 'abiflags': getattr(sys, 'abiflags', ''), } if HAS_USER_SITE: self.config_vars['userbase'] = self.install_userbase self.config_vars['usersite'] = self.install_usersite # fix the install_dir if "--user" was used #XXX: duplicate of the code in the setup command if self.user and HAS_USER_SITE: self.create_home_path() if self.install_userbase is None: raise DistutilsPlatformError( "User base directory is not specified") self.install_base = self.install_platbase = self.install_userbase if os.name == 'posix': self.select_scheme("unix_user") else: self.select_scheme(os.name + "_user") self.expand_basedirs() self.expand_dirs() self._expand('install_dir','script_dir','build_directory','site_dirs') # If a non-default installation directory was specified, default the # script directory to match it. if self.script_dir is None: self.script_dir = self.install_dir if self.no_find_links is None: self.no_find_links = False # Let install_dir get set by install_lib command, which in turn # gets its info from the install command, and takes into account # --prefix and --home and all that other crud. self.set_undefined_options('install_lib', ('install_dir','install_dir') ) # Likewise, set default script_dir from 'install_scripts.install_dir' self.set_undefined_options('install_scripts', ('install_dir', 'script_dir') ) if self.user and self.install_purelib: self.install_dir = self.install_purelib self.script_dir = self.install_scripts # default --record from the install command self.set_undefined_options('install', ('record', 'record')) # Should this be moved to the if statement below? It's not used # elsewhere normpath = map(normalize_path, sys.path) self.all_site_dirs = get_site_dirs() if self.site_dirs is not None: site_dirs = [ os.path.expanduser(s.strip()) for s in self.site_dirs.split(',') ] for d in site_dirs: if not os.path.isdir(d): log.warn("%s (in --site-dirs) does not exist", d) elif normalize_path(d) not in normpath: raise DistutilsOptionError( d+" (in --site-dirs) is not on sys.path" ) else: self.all_site_dirs.append(normalize_path(d)) if not self.editable: self.check_site_dir() self.index_url = self.index_url or "https://pypi.python.org/simple" self.shadow_path = self.all_site_dirs[:] for path_item in self.install_dir, normalize_path(self.script_dir): if path_item not in self.shadow_path: self.shadow_path.insert(0, path_item) if self.allow_hosts is not None: hosts = [s.strip() for s in self.allow_hosts.split(',')] else: hosts = ['*'] if self.package_index is None: self.package_index = self.create_index( self.index_url, search_path = self.shadow_path, hosts=hosts, ) self.local_index = Environment(self.shadow_path+sys.path) if self.find_links is not None: if isinstance(self.find_links, basestring): self.find_links = self.find_links.split() else: self.find_links = [] if self.local_snapshots_ok: self.package_index.scan_egg_links(self.shadow_path+sys.path) if not self.no_find_links: self.package_index.add_find_links(self.find_links) self.set_undefined_options('install_lib', ('optimize','optimize')) if not isinstance(self.optimize,int): try: self.optimize = int(self.optimize) if not (0 <= self.optimize <= 2): raise ValueError except ValueError: raise DistutilsOptionError("--optimize must be 0, 1, or 2") if self.delete_conflicting and self.ignore_conflicts_at_my_risk: raise DistutilsOptionError( "Can't use both --delete-conflicting and " "--ignore-conflicts-at-my-risk at the same time" ) if self.editable and not self.build_directory: raise DistutilsArgError( "Must specify a build directory (-b) when using --editable" ) if not self.args: raise DistutilsArgError( "No urls, filenames, or requirements specified (see --help)") self.outputs = [] def _expand_attrs(self, attrs): for attr in attrs: val = getattr(self, attr) if val is not None: if os.name == 'posix' or os.name == 'nt': val = os.path.expanduser(val) val = subst_vars(val, self.config_vars) setattr(self, attr, val) def expand_basedirs(self): """Calls `os.path.expanduser` on install_base, install_platbase and root.""" self._expand_attrs(['install_base', 'install_platbase', 'root']) def expand_dirs(self): """Calls `os.path.expanduser` on install dirs.""" self._expand_attrs(['install_purelib', 'install_platlib', 'install_lib', 'install_headers', 'install_scripts', 'install_data',]) def run(self): if self.verbose != self.distribution.verbose: log.set_verbosity(self.verbose) try: for spec in self.args: self.easy_install(spec, not self.no_deps) if self.record: outputs = self.outputs if self.root: # strip any package prefix root_len = len(self.root) for counter in xrange(len(outputs)): outputs[counter] = outputs[counter][root_len:] from distutils import file_util self.execute( file_util.write_file, (self.record, outputs), "writing list of installed files to '%s'" % self.record ) self.warn_deprecated_options() finally: log.set_verbosity(self.distribution.verbose) def pseudo_tempname(self): """Return a pseudo-tempname base in the install directory. This code is intentionally naive; if a malicious party can write to the target directory you're already in deep doodoo. """ try: pid = os.getpid() except: pid = random.randint(0, maxsize) return os.path.join(self.install_dir, "test-easy-install-%s" % pid) def warn_deprecated_options(self): if self.delete_conflicting or self.ignore_conflicts_at_my_risk: log.warn( "Note: The -D, --delete-conflicting and" " --ignore-conflicts-at-my-risk no longer have any purpose" " and should not be used." ) def check_site_dir(self): """Verify that self.install_dir is .pth-capable dir, if needed""" instdir = normalize_path(self.install_dir) pth_file = os.path.join(instdir,'easy-install.pth') # Is it a configured, PYTHONPATH, implicit, or explicit site dir? is_site_dir = instdir in self.all_site_dirs if not is_site_dir and not self.multi_version: # No? Then directly test whether it does .pth file processing is_site_dir = self.check_pth_processing() else: # make sure we can write to target dir testfile = self.pseudo_tempname()+'.write-test' test_exists = os.path.exists(testfile) try: if test_exists: os.unlink(testfile) open(testfile,'w').close() os.unlink(testfile) except (OSError,IOError): self.cant_write_to_target() if not is_site_dir and not self.multi_version: # Can't install non-multi to non-site dir raise DistutilsError(self.no_default_version_msg()) if is_site_dir: if self.pth_file is None: self.pth_file = PthDistributions(pth_file, self.all_site_dirs) else: self.pth_file = None PYTHONPATH = os.environ.get('PYTHONPATH','').split(os.pathsep) if instdir not in map(normalize_path, [_f for _f in PYTHONPATH if _f]): # only PYTHONPATH dirs need a site.py, so pretend it's there self.sitepy_installed = True elif self.multi_version and not os.path.exists(pth_file): self.sitepy_installed = True # don't need site.py in this case self.pth_file = None # and don't create a .pth file self.install_dir = instdir def cant_write_to_target(self): msg = """can't create or remove files in install directory The following error occurred while trying to add or remove files in the installation directory: %s The installation directory you specified (via --install-dir, --prefix, or the distutils default setting) was: %s """ % (sys.exc_info()[1], self.install_dir,) if not os.path.exists(self.install_dir): msg += """ This directory does not currently exist. Please create it and try again, or choose a different installation directory (using the -d or --install-dir option). """ else: msg += """ Perhaps your account does not have write access to this directory? If the installation directory is a system-owned directory, you may need to sign in as the administrator or "root" account. If you do not have administrative access to this machine, you may wish to choose a different installation directory, preferably one that is listed in your PYTHONPATH environment variable. For information on other options, you may wish to consult the documentation at: https://pythonhosted.org/setuptools/easy_install.html Please make the appropriate changes for your system and try again. """ raise DistutilsError(msg) def check_pth_processing(self): """Empirically verify whether .pth files are supported in inst. dir""" instdir = self.install_dir log.info("Checking .pth file support in %s", instdir) pth_file = self.pseudo_tempname()+".pth" ok_file = pth_file+'.ok' ok_exists = os.path.exists(ok_file) try: if ok_exists: os.unlink(ok_file) dirname = os.path.dirname(ok_file) if not os.path.exists(dirname): os.makedirs(dirname) f = open(pth_file,'w') except (OSError,IOError): self.cant_write_to_target() else: try: f.write("import os; f = open(%r, 'w'); f.write('OK'); f.close()\n" % (ok_file,)) f.close(); f=None executable = sys.executable if os.name=='nt': dirname,basename = os.path.split(executable) alt = os.path.join(dirname,'pythonw.exe') if basename.lower()=='python.exe' and os.path.exists(alt): # use pythonw.exe to avoid opening a console window executable = alt from distutils.spawn import spawn spawn([executable,'-E','-c','pass'],0) if os.path.exists(ok_file): log.info( "TEST PASSED: %s appears to support .pth files", instdir ) return True finally: if f: f.close() if os.path.exists(ok_file): os.unlink(ok_file) if os.path.exists(pth_file): os.unlink(pth_file) if not self.multi_version: log.warn("TEST FAILED: %s does NOT support .pth files", instdir) return False def install_egg_scripts(self, dist): """Write all the scripts for `dist`, unless scripts are excluded""" if not self.exclude_scripts and dist.metadata_isdir('scripts'): for script_name in dist.metadata_listdir('scripts'): if dist.metadata_isdir('scripts/' + script_name): # The "script" is a directory, likely a Python 3 # __pycache__ directory, so skip it. continue self.install_script( dist, script_name, dist.get_metadata('scripts/'+script_name) ) self.install_wrapper_scripts(dist) def add_output(self, path): if os.path.isdir(path): for base, dirs, files in os.walk(path): for filename in files: self.outputs.append(os.path.join(base,filename)) else: self.outputs.append(path) def not_editable(self, spec): if self.editable: raise DistutilsArgError( "Invalid argument %r: you can't use filenames or URLs " "with --editable (except via the --find-links option)." % (spec,) ) def check_editable(self,spec): if not self.editable: return if os.path.exists(os.path.join(self.build_directory, spec.key)): raise DistutilsArgError( "%r already exists in %s; can't do a checkout there" % (spec.key, self.build_directory) ) def easy_install(self, spec, deps=False): tmpdir = tempfile.mkdtemp(prefix="easy_install-") download = None if not self.editable: self.install_site_py() try: if not isinstance(spec,Requirement): if URL_SCHEME(spec): # It's a url, download it to tmpdir and process self.not_editable(spec) download = self.package_index.download(spec, tmpdir) return self.install_item(None, download, tmpdir, deps, True) elif os.path.exists(spec): # Existing file or directory, just process it directly self.not_editable(spec) return self.install_item(None, spec, tmpdir, deps, True) else: spec = parse_requirement_arg(spec) self.check_editable(spec) dist = self.package_index.fetch_distribution( spec, tmpdir, self.upgrade, self.editable, not self.always_copy, self.local_index ) if dist is None: msg = "Could not find suitable distribution for %r" % spec if self.always_copy: msg+=" (--always-copy skips system and development eggs)" raise DistutilsError(msg) elif dist.precedence==DEVELOP_DIST: # .egg-info dists don't need installing, just process deps self.process_distribution(spec, dist, deps, "Using") return dist else: return self.install_item(spec, dist.location, tmpdir, deps) finally: if os.path.exists(tmpdir): rmtree(tmpdir) def install_item(self, spec, download, tmpdir, deps, install_needed=False): # Installation is also needed if file in tmpdir or is not an egg install_needed = install_needed or self.always_copy install_needed = install_needed or os.path.dirname(download) == tmpdir install_needed = install_needed or not download.endswith('.egg') install_needed = install_needed or ( self.always_copy_from is not None and os.path.dirname(normalize_path(download)) == normalize_path(self.always_copy_from) ) if spec and not install_needed: # at this point, we know it's a local .egg, we just don't know if # it's already installed. for dist in self.local_index[spec.project_name]: if dist.location==download: break else: install_needed = True # it's not in the local index log.info("Processing %s", os.path.basename(download)) if install_needed: dists = self.install_eggs(spec, download, tmpdir) for dist in dists: self.process_distribution(spec, dist, deps) else: dists = [self.check_conflicts(self.egg_distribution(download))] self.process_distribution(spec, dists[0], deps, "Using") if spec is not None: for dist in dists: if dist in spec: return dist def select_scheme(self, name): """Sets the install directories by applying the install schemes.""" # it's the caller's problem if they supply a bad name! scheme = INSTALL_SCHEMES[name] for key in SCHEME_KEYS: attrname = 'install_' + key if getattr(self, attrname) is None: setattr(self, attrname, scheme[key]) def process_distribution(self, requirement, dist, deps=True, *info): self.update_pth(dist) self.package_index.add(dist) self.local_index.add(dist) self.install_egg_scripts(dist) self.installed_projects[dist.key] = dist log.info(self.installation_report(requirement, dist, *info)) if (dist.has_metadata('dependency_links.txt') and not self.no_find_links): self.package_index.add_find_links( dist.get_metadata_lines('dependency_links.txt') ) if not deps and not self.always_copy: return elif requirement is not None and dist.key != requirement.key: log.warn("Skipping dependencies for %s", dist) return # XXX this is not the distribution we were looking for elif requirement is None or dist not in requirement: # if we wound up with a different version, resolve what we've got distreq = dist.as_requirement() requirement = requirement or distreq requirement = Requirement( distreq.project_name, distreq.specs, requirement.extras ) log.info("Processing dependencies for %s", requirement) try: distros = WorkingSet([]).resolve( [requirement], self.local_index, self.easy_install ) except DistributionNotFound: e = sys.exc_info()[1] raise DistutilsError( "Could not find required distribution %s" % e.args ) except VersionConflict: e = sys.exc_info()[1] raise DistutilsError( "Installed distribution %s conflicts with requirement %s" % e.args ) if self.always_copy or self.always_copy_from: # Force all the relevant distros to be copied or activated for dist in distros: if dist.key not in self.installed_projects: self.easy_install(dist.as_requirement()) log.info("Finished processing dependencies for %s", requirement) def should_unzip(self, dist): if self.zip_ok is not None: return not self.zip_ok if dist.has_metadata('not-zip-safe'): return True if not dist.has_metadata('zip-safe'): return True return False def maybe_move(self, spec, dist_filename, setup_base): dst = os.path.join(self.build_directory, spec.key) if os.path.exists(dst): log.warn( "%r already exists in %s; build directory %s will not be kept", spec.key, self.build_directory, setup_base ) return setup_base if os.path.isdir(dist_filename): setup_base = dist_filename else: if os.path.dirname(dist_filename)==setup_base: os.unlink(dist_filename) # get it out of the tmp dir contents = os.listdir(setup_base) if len(contents)==1: dist_filename = os.path.join(setup_base,contents[0]) if os.path.isdir(dist_filename): # if the only thing there is a directory, move it instead setup_base = dist_filename ensure_directory(dst); shutil.move(setup_base, dst) return dst def install_wrapper_scripts(self, dist): if not self.exclude_scripts: for args in get_script_args(dist): self.write_script(*args) def install_script(self, dist, script_name, script_text, dev_path=None): """Generate a legacy script wrapper and install it""" spec = str(dist.as_requirement()) is_script = is_python_script(script_text, script_name) def get_template(filename): """ There are a couple of template scripts in the package. This function loads one of them and prepares it for use. These templates use triple-quotes to escape variable substitutions so the scripts get the 2to3 treatment when build on Python 3. The templates cannot use triple-quotes naturally. """ raw_bytes = resource_string('setuptools', template_name) template_str = raw_bytes.decode('utf-8') clean_template = template_str.replace('"""', '') return clean_template if is_script: template_name = 'script template.py' if dev_path: template_name = template_name.replace('.py', ' (dev).py') script_text = (get_script_header(script_text) + get_template(template_name) % locals()) self.write_script(script_name, _to_ascii(script_text), 'b') def write_script(self, script_name, contents, mode="t", blockers=()): """Write an executable file to the scripts directory""" self.delete_blockers( # clean up old .py/.pyw w/o a script [os.path.join(self.script_dir,x) for x in blockers]) log.info("Installing %s script to %s", script_name, self.script_dir) target = os.path.join(self.script_dir, script_name) self.add_output(target) mask = current_umask() if not self.dry_run: ensure_directory(target) f = open(target,"w"+mode) f.write(contents) f.close() chmod(target, 0x1FF-mask) # 0777 def install_eggs(self, spec, dist_filename, tmpdir): # .egg dirs or files are already built, so just return them if dist_filename.lower().endswith('.egg'): return [self.install_egg(dist_filename, tmpdir)] elif dist_filename.lower().endswith('.exe'): return [self.install_exe(dist_filename, tmpdir)] # Anything else, try to extract and build setup_base = tmpdir if os.path.isfile(dist_filename) and not dist_filename.endswith('.py'): unpack_archive(dist_filename, tmpdir, self.unpack_progress) elif os.path.isdir(dist_filename): setup_base = os.path.abspath(dist_filename) if (setup_base.startswith(tmpdir) # something we downloaded and self.build_directory and spec is not None ): setup_base = self.maybe_move(spec, dist_filename, setup_base) # Find the setup.py file setup_script = os.path.join(setup_base, 'setup.py') if not os.path.exists(setup_script): setups = glob(os.path.join(setup_base, '*', 'setup.py')) if not setups: raise DistutilsError( "Couldn't find a setup script in %s" % os.path.abspath(dist_filename) ) if len(setups)>1: raise DistutilsError( "Multiple setup scripts in %s" % os.path.abspath(dist_filename) ) setup_script = setups[0] # Now run it, and return the result if self.editable: log.info(self.report_editable(spec, setup_script)) return [] else: return self.build_and_install(setup_script, setup_base) def egg_distribution(self, egg_path): if os.path.isdir(egg_path): metadata = PathMetadata(egg_path,os.path.join(egg_path,'EGG-INFO')) else: metadata = EggMetadata(zipimport.zipimporter(egg_path)) return Distribution.from_filename(egg_path,metadata=metadata) def install_egg(self, egg_path, tmpdir): destination = os.path.join(self.install_dir,os.path.basename(egg_path)) destination = os.path.abspath(destination) if not self.dry_run: ensure_directory(destination) dist = self.egg_distribution(egg_path) self.check_conflicts(dist) if not samefile(egg_path, destination): if os.path.isdir(destination) and not os.path.islink(destination): dir_util.remove_tree(destination, dry_run=self.dry_run) elif os.path.exists(destination): self.execute(os.unlink,(destination,),"Removing "+destination) uncache_zipdir(destination) if os.path.isdir(egg_path): if egg_path.startswith(tmpdir): f,m = shutil.move, "Moving" else: f,m = shutil.copytree, "Copying" elif self.should_unzip(dist): self.mkpath(destination) f,m = self.unpack_and_compile, "Extracting" elif egg_path.startswith(tmpdir): f,m = shutil.move, "Moving" else: f,m = shutil.copy2, "Copying" self.execute(f, (egg_path, destination), (m+" %s to %s") % (os.path.basename(egg_path),os.path.dirname(destination))) self.add_output(destination) return self.egg_distribution(destination) def install_exe(self, dist_filename, tmpdir): # See if it's valid, get data cfg = extract_wininst_cfg(dist_filename) if cfg is None: raise DistutilsError( "%s is not a valid distutils Windows .exe" % dist_filename ) # Create a dummy distribution object until we build the real distro dist = Distribution(None, project_name=cfg.get('metadata','name'), version=cfg.get('metadata','version'), platform=get_platform() ) # Convert the .exe to an unpacked egg egg_path = dist.location = os.path.join(tmpdir, dist.egg_name()+'.egg') egg_tmp = egg_path+'.tmp' egg_info = os.path.join(egg_tmp, 'EGG-INFO') pkg_inf = os.path.join(egg_info, 'PKG-INFO') ensure_directory(pkg_inf) # make sure EGG-INFO dir exists dist._provider = PathMetadata(egg_tmp, egg_info) # XXX self.exe_to_egg(dist_filename, egg_tmp) # Write EGG-INFO/PKG-INFO if not os.path.exists(pkg_inf): f = open(pkg_inf,'w') f.write('Metadata-Version: 1.0\n') for k,v in cfg.items('metadata'): if k != 'target_version': f.write('%s: %s\n' % (k.replace('_','-').title(), v)) f.close() script_dir = os.path.join(egg_info,'scripts') self.delete_blockers( # delete entry-point scripts to avoid duping [os.path.join(script_dir,args[0]) for args in get_script_args(dist)] ) # Build .egg file from tmpdir bdist_egg.make_zipfile( egg_path, egg_tmp, verbose=self.verbose, dry_run=self.dry_run ) # install the .egg return self.install_egg(egg_path, tmpdir) def exe_to_egg(self, dist_filename, egg_tmp): """Extract a bdist_wininst to the directories an egg would use""" # Check for .pth file and set up prefix translations prefixes = get_exe_prefixes(dist_filename) to_compile = [] native_libs = [] top_level = {} def process(src,dst): s = src.lower() for old,new in prefixes: if s.startswith(old): src = new+src[len(old):] parts = src.split('/') dst = os.path.join(egg_tmp, *parts) dl = dst.lower() if dl.endswith('.pyd') or dl.endswith('.dll'): parts[-1] = bdist_egg.strip_module(parts[-1]) top_level[os.path.splitext(parts[0])[0]] = 1 native_libs.append(src) elif dl.endswith('.py') and old!='SCRIPTS/': top_level[os.path.splitext(parts[0])[0]] = 1 to_compile.append(dst) return dst if not src.endswith('.pth'): log.warn("WARNING: can't process %s", src) return None # extract, tracking .pyd/.dll->native_libs and .py -> to_compile unpack_archive(dist_filename, egg_tmp, process) stubs = [] for res in native_libs: if res.lower().endswith('.pyd'): # create stubs for .pyd's parts = res.split('/') resource = parts[-1] parts[-1] = bdist_egg.strip_module(parts[-1])+'.py' pyfile = os.path.join(egg_tmp, *parts) to_compile.append(pyfile); stubs.append(pyfile) bdist_egg.write_stub(resource, pyfile) self.byte_compile(to_compile) # compile .py's bdist_egg.write_safety_flag(os.path.join(egg_tmp,'EGG-INFO'), bdist_egg.analyze_egg(egg_tmp, stubs)) # write zip-safety flag for name in 'top_level','native_libs': if locals()[name]: txt = os.path.join(egg_tmp, 'EGG-INFO', name+'.txt') if not os.path.exists(txt): f = open(txt,'w') f.write('\n'.join(locals()[name])+'\n') f.close() def check_conflicts(self, dist): """Verify that there are no conflicting "old-style" packages""" return dist # XXX temporarily disable until new strategy is stable from imp import find_module, get_suffixes from glob import glob blockers = [] names = dict.fromkeys(dist._get_metadata('top_level.txt')) # XXX private attr exts = {'.pyc':1, '.pyo':1} # get_suffixes() might leave one out for ext,mode,typ in get_suffixes(): exts[ext] = 1 for path,files in expand_paths([self.install_dir]+self.all_site_dirs): for filename in files: base,ext = os.path.splitext(filename) if base in names: if not ext: # no extension, check for package try: f, filename, descr = find_module(base, [path]) except ImportError: continue else: if f: f.close() if filename not in blockers: blockers.append(filename) elif ext in exts and base!='site': # XXX ugh blockers.append(os.path.join(path,filename)) if blockers: self.found_conflicts(dist, blockers) return dist def found_conflicts(self, dist, blockers): if self.delete_conflicting: log.warn("Attempting to delete conflicting packages:") return self.delete_blockers(blockers) msg = """\ ------------------------------------------------------------------------- CONFLICT WARNING: The following modules or packages have the same names as modules or packages being installed, and will be *before* the installed packages in Python's search path. You MUST remove all of the relevant files and directories before you will be able to use the package(s) you are installing: %s """ % '\n '.join(blockers) if self.ignore_conflicts_at_my_risk: msg += """\ (Note: you can run EasyInstall on '%s' with the --delete-conflicting option to attempt deletion of the above files and/or directories.) """ % dist.project_name else: msg += """\ Note: you can attempt this installation again with EasyInstall, and use either the --delete-conflicting (-D) option or the --ignore-conflicts-at-my-risk option, to either delete the above files and directories, or to ignore the conflicts, respectively. Note that if you ignore the conflicts, the installed package(s) may not work. """ msg += """\ ------------------------------------------------------------------------- """ sys.stderr.write(msg) sys.stderr.flush() if not self.ignore_conflicts_at_my_risk: raise DistutilsError("Installation aborted due to conflicts") def installation_report(self, req, dist, what="Installed"): """Helpful installation message for display to package users""" msg = "\n%(what)s %(eggloc)s%(extras)s" if self.multi_version and not self.no_report: msg += """ Because this distribution was installed --multi-version, before you can import modules from this package in an application, you will need to 'import pkg_resources' and then use a 'require()' call similar to one of these examples, in order to select the desired version: pkg_resources.require("%(name)s") # latest installed version pkg_resources.require("%(name)s==%(version)s") # this exact version pkg_resources.require("%(name)s>=%(version)s") # this version or higher """ if self.install_dir not in map(normalize_path,sys.path): msg += """ Note also that the installation directory must be on sys.path at runtime for this to work. (e.g. by being the application's script directory, by being on PYTHONPATH, or by being added to sys.path by your code.) """ eggloc = dist.location name = dist.project_name version = dist.version extras = '' # TODO: self.report_extras(req, dist) return msg % locals() def report_editable(self, spec, setup_script): dirname = os.path.dirname(setup_script) python = sys.executable return """\nExtracted editable version of %(spec)s to %(dirname)s If it uses setuptools in its setup script, you can activate it in "development" mode by going to that directory and running:: %(python)s setup.py develop See the setuptools documentation for the "develop" command for more info. """ % locals() def run_setup(self, setup_script, setup_base, args): sys.modules.setdefault('distutils.command.bdist_egg', bdist_egg) sys.modules.setdefault('distutils.command.egg_info', egg_info) args = list(args) if self.verbose>2: v = 'v' * (self.verbose - 1) args.insert(0,'-'+v) elif self.verbose<2: args.insert(0,'-q') if self.dry_run: args.insert(0,'-n') log.info( "Running %s %s", setup_script[len(setup_base)+1:], ' '.join(args) ) try: run_setup(setup_script, args) except SystemExit: v = sys.exc_info()[1] raise DistutilsError("Setup script exited with %s" % (v.args[0],)) def build_and_install(self, setup_script, setup_base): args = ['bdist_egg', '--dist-dir'] dist_dir = tempfile.mkdtemp( prefix='egg-dist-tmp-', dir=os.path.dirname(setup_script) ) try: self._set_fetcher_options(os.path.dirname(setup_script)) args.append(dist_dir) self.run_setup(setup_script, setup_base, args) all_eggs = Environment([dist_dir]) eggs = [] for key in all_eggs: for dist in all_eggs[key]: eggs.append(self.install_egg(dist.location, setup_base)) if not eggs and not self.dry_run: log.warn("No eggs found in %s (setup script problem?)", dist_dir) return eggs finally: rmtree(dist_dir) log.set_verbosity(self.verbose) # restore our log verbosity def _set_fetcher_options(self, base): """ When easy_install is about to run bdist_egg on a source dist, that source dist might have 'setup_requires' directives, requiring additional fetching. Ensure the fetcher options given to easy_install are available to that command as well. """ # find the fetch options from easy_install and write them out # to the setup.cfg file. ei_opts = self.distribution.get_option_dict('easy_install').copy() fetch_directives = ( 'find_links', 'site_dirs', 'index_url', 'optimize', 'site_dirs', 'allow_hosts', ) fetch_options = {} for key, val in ei_opts.items(): if key not in fetch_directives: continue fetch_options[key.replace('_', '-')] = val[1] # create a settings dictionary suitable for `edit_config` settings = dict(easy_install=fetch_options) cfg_filename = os.path.join(base, 'setup.cfg') setopt.edit_config(cfg_filename, settings) def update_pth(self,dist): if self.pth_file is None: return for d in self.pth_file[dist.key]: # drop old entries if self.multi_version or d.location != dist.location: log.info("Removing %s from easy-install.pth file", d) self.pth_file.remove(d) if d.location in self.shadow_path: self.shadow_path.remove(d.location) if not self.multi_version: if dist.location in self.pth_file.paths: log.info( "%s is already the active version in easy-install.pth", dist ) else: log.info("Adding %s to easy-install.pth file", dist) self.pth_file.add(dist) # add new entry if dist.location not in self.shadow_path: self.shadow_path.append(dist.location) if not self.dry_run: self.pth_file.save() if dist.key=='setuptools': # Ensure that setuptools itself never becomes unavailable! # XXX should this check for latest version? filename = os.path.join(self.install_dir,'setuptools.pth') if os.path.islink(filename): os.unlink(filename) f = open(filename, 'wt') f.write(self.pth_file.make_relative(dist.location)+'\n') f.close() def unpack_progress(self, src, dst): # Progress filter for unpacking log.debug("Unpacking %s to %s", src, dst) return dst # only unpack-and-compile skips files for dry run def unpack_and_compile(self, egg_path, destination): to_compile = []; to_chmod = [] def pf(src,dst): if dst.endswith('.py') and not src.startswith('EGG-INFO/'): to_compile.append(dst) elif dst.endswith('.dll') or dst.endswith('.so'): to_chmod.append(dst) self.unpack_progress(src,dst) return not self.dry_run and dst or None unpack_archive(egg_path, destination, pf) self.byte_compile(to_compile) if not self.dry_run: for f in to_chmod: mode = ((os.stat(f)[stat.ST_MODE]) | 0x16D) & 0xFED # 0555, 07755 chmod(f, mode) def byte_compile(self, to_compile): if _dont_write_bytecode: self.warn('byte-compiling is disabled, skipping.') return from distutils.util import byte_compile try: # try to make the byte compile messages quieter log.set_verbosity(self.verbose - 1) byte_compile(to_compile, optimize=0, force=1, dry_run=self.dry_run) if self.optimize: byte_compile( to_compile, optimize=self.optimize, force=1, dry_run=self.dry_run ) finally: log.set_verbosity(self.verbose) # restore original verbosity def no_default_version_msg(self): return """bad install directory or PYTHONPATH You are attempting to install a package to a directory that is not on PYTHONPATH and which Python does not read ".pth" files from. The installation directory you specified (via --install-dir, --prefix, or the distutils default setting) was: %s and your PYTHONPATH environment variable currently contains: %r Here are some of your options for correcting the problem: * You can choose a different installation directory, i.e., one that is on PYTHONPATH or supports .pth files * You can add the installation directory to the PYTHONPATH environment variable. (It must then also be on PYTHONPATH whenever you run Python and want to use the package(s) you are installing.) * You can set up the installation directory to support ".pth" files by using one of the approaches described here: https://pythonhosted.org/setuptools/easy_install.html#custom-installation-locations Please make the appropriate changes for your system and try again.""" % ( self.install_dir, os.environ.get('PYTHONPATH','') ) def install_site_py(self): """Make sure there's a site.py in the target dir, if needed""" if self.sitepy_installed: return # already did it, or don't need to sitepy = os.path.join(self.install_dir, "site.py") source = resource_string("setuptools", "site-patch.py") current = "" if os.path.exists(sitepy): log.debug("Checking existing site.py in %s", self.install_dir) f = open(sitepy,'rb') current = f.read() # we want str, not bytes if sys.version_info >= (3,): current = current.decode() f.close() if not current.startswith('def __boot():'): raise DistutilsError( "%s is not a setuptools-generated site.py; please" " remove it." % sitepy ) if current != source: log.info("Creating %s", sitepy) if not self.dry_run: ensure_directory(sitepy) f = open(sitepy,'wb') f.write(source) f.close() self.byte_compile([sitepy]) self.sitepy_installed = True def create_home_path(self): """Create directories under ~.""" if not self.user: return home = convert_path(os.path.expanduser("~")) for name, path in iteritems(self.config_vars): if path.startswith(home) and not os.path.isdir(path): self.debug_print("os.makedirs('%s', 0700)" % path) os.makedirs(path, 0x1C0) # 0700 INSTALL_SCHEMES = dict( posix = dict( install_dir = '$base/lib/python$py_version_short/site-packages', script_dir = '$base/bin', ), ) DEFAULT_SCHEME = dict( install_dir = '$base/Lib/site-packages', script_dir = '$base/Scripts', ) def _expand(self, *attrs): config_vars = self.get_finalized_command('install').config_vars if self.prefix: # Set default install_dir/scripts from --prefix config_vars = config_vars.copy() config_vars['base'] = self.prefix scheme = self.INSTALL_SCHEMES.get(os.name,self.DEFAULT_SCHEME) for attr,val in scheme.items(): if getattr(self,attr,None) is None: setattr(self,attr,val) from distutils.util import subst_vars for attr in attrs: val = getattr(self, attr) if val is not None: val = subst_vars(val, config_vars) if os.name == 'posix': val = os.path.expanduser(val) setattr(self, attr, val) def get_site_dirs(): # return a list of 'site' dirs sitedirs = [_f for _f in os.environ.get('PYTHONPATH', '').split(os.pathsep) if _f] prefixes = [sys.prefix] if sys.exec_prefix != sys.prefix: prefixes.append(sys.exec_prefix) for prefix in prefixes: if prefix: if sys.platform in ('os2emx', 'riscos'): sitedirs.append(os.path.join(prefix, "Lib", "site-packages")) elif os.sep == '/': sitedirs.extend([os.path.join(prefix, "lib", "python" + sys.version[:3], "site-packages"), os.path.join(prefix, "lib", "site-python")]) else: sitedirs.extend( [prefix, os.path.join(prefix, "lib", "site-packages")] ) if sys.platform == 'darwin': # for framework builds *only* we add the standard Apple # locations. Currently only per-user, but /Library and # /Network/Library could be added too if 'Python.framework' in prefix: home = os.environ.get('HOME') if home: sitedirs.append( os.path.join(home, 'Library', 'Python', sys.version[:3], 'site-packages')) for site_lib in (_get_purelib(), _get_platlib()): if site_lib not in sitedirs: sitedirs.append(site_lib) if HAS_USER_SITE: sitedirs.append(site.USER_SITE) sitedirs = list(map(normalize_path, sitedirs)) return sitedirs def expand_paths(inputs): """Yield sys.path directories that might contain "old-style" packages""" seen = {} for dirname in inputs: dirname = normalize_path(dirname) if dirname in seen: continue seen[dirname] = 1 if not os.path.isdir(dirname): continue files = os.listdir(dirname) yield dirname, files for name in files: if not name.endswith('.pth'): # We only care about the .pth files continue if name in ('easy-install.pth','setuptools.pth'): # Ignore .pth files that we control continue # Read the .pth file f = open(os.path.join(dirname,name)) lines = list(yield_lines(f)) f.close() # Yield existing non-dupe, non-import directory lines from it for line in lines: if not line.startswith("import"): line = normalize_path(line.rstrip()) if line not in seen: seen[line] = 1 if not os.path.isdir(line): continue yield line, os.listdir(line) def extract_wininst_cfg(dist_filename): """Extract configuration data from a bdist_wininst .exe Returns a ConfigParser.RawConfigParser, or None """ f = open(dist_filename,'rb') try: endrec = zipfile._EndRecData(f) if endrec is None: return None prepended = (endrec[9] - endrec[5]) - endrec[6] if prepended < 12: # no wininst data here return None f.seek(prepended-12) from setuptools.compat import StringIO, ConfigParser import struct tag, cfglen, bmlen = struct.unpack("= (2,6): null_byte = bytes([0]) else: null_byte = chr(0) config = part.split(null_byte, 1)[0] # Now the config is in bytes, but on Python 3, it must be # unicode for the RawConfigParser, so decode it. Is this the # right encoding? config = config.decode('ascii') cfg.readfp(StringIO(config)) except ConfigParser.Error: return None if not cfg.has_section('metadata') or not cfg.has_section('Setup'): return None return cfg finally: f.close() def get_exe_prefixes(exe_filename): """Get exe->egg path translations for a given .exe file""" prefixes = [ ('PURELIB/', ''), ('PLATLIB/pywin32_system32', ''), ('PLATLIB/', ''), ('SCRIPTS/', 'EGG-INFO/scripts/'), ('DATA/lib/site-packages', ''), ] z = zipfile.ZipFile(exe_filename) try: for info in z.infolist(): name = info.filename parts = name.split('/') if len(parts)==3 and parts[2]=='PKG-INFO': if parts[1].endswith('.egg-info'): prefixes.insert(0,('/'.join(parts[:2]), 'EGG-INFO/')) break if len(parts) != 2 or not name.endswith('.pth'): continue if name.endswith('-nspkg.pth'): continue if parts[0].upper() in ('PURELIB','PLATLIB'): contents = z.read(name) if sys.version_info >= (3,): contents = contents.decode() for pth in yield_lines(contents): pth = pth.strip().replace('\\','/') if not pth.startswith('import'): prefixes.append((('%s/%s/' % (parts[0],pth)), '')) finally: z.close() prefixes = [(x.lower(),y) for x, y in prefixes] prefixes.sort(); prefixes.reverse() return prefixes def parse_requirement_arg(spec): try: return Requirement.parse(spec) except ValueError: raise DistutilsError( "Not a URL, existing file, or requirement spec: %r" % (spec,) ) class PthDistributions(Environment): """A .pth file with Distribution paths in it""" dirty = False def __init__(self, filename, sitedirs=()): self.filename = filename self.sitedirs = list(map(normalize_path, sitedirs)) self.basedir = normalize_path(os.path.dirname(self.filename)) self._load(); Environment.__init__(self, [], None, None) for path in yield_lines(self.paths): list(map(self.add, find_distributions(path, True))) def _load(self): self.paths = [] saw_import = False seen = dict.fromkeys(self.sitedirs) if os.path.isfile(self.filename): f = open(self.filename,'rt') for line in f: if line.startswith('import'): saw_import = True continue path = line.rstrip() self.paths.append(path) if not path.strip() or path.strip().startswith('#'): continue # skip non-existent paths, in case somebody deleted a package # manually, and duplicate paths as well path = self.paths[-1] = normalize_path( os.path.join(self.basedir,path) ) if not os.path.exists(path) or path in seen: self.paths.pop() # skip it self.dirty = True # we cleaned up, so we're dirty now :) continue seen[path] = 1 f.close() if self.paths and not saw_import: self.dirty = True # ensure anything we touch has import wrappers while self.paths and not self.paths[-1].strip(): self.paths.pop() def save(self): """Write changed .pth file back to disk""" if not self.dirty: return data = '\n'.join(map(self.make_relative,self.paths)) if data: log.debug("Saving %s", self.filename) data = ( "import sys; sys.__plen = len(sys.path)\n" "%s\n" "import sys; new=sys.path[sys.__plen:];" " del sys.path[sys.__plen:];" " p=getattr(sys,'__egginsert',0); sys.path[p:p]=new;" " sys.__egginsert = p+len(new)\n" ) % data if os.path.islink(self.filename): os.unlink(self.filename) f = open(self.filename,'wt') f.write(data); f.close() elif os.path.exists(self.filename): log.debug("Deleting empty %s", self.filename) os.unlink(self.filename) self.dirty = False def add(self,dist): """Add `dist` to the distribution map""" if (dist.location not in self.paths and ( dist.location not in self.sitedirs or dist.location == os.getcwd() #account for '.' being in PYTHONPATH )): self.paths.append(dist.location) self.dirty = True Environment.add(self,dist) def remove(self,dist): """Remove `dist` from the distribution map""" while dist.location in self.paths: self.paths.remove(dist.location); self.dirty = True Environment.remove(self,dist) def make_relative(self,path): npath, last = os.path.split(normalize_path(path)) baselen = len(self.basedir) parts = [last] sep = os.altsep=='/' and '/' or os.sep while len(npath)>=baselen: if npath==self.basedir: parts.append(os.curdir) parts.reverse() return sep.join(parts) npath, last = os.path.split(npath) parts.append(last) else: return path def get_script_header(script_text, executable=sys_executable, wininst=False): """Create a #! line, getting options (if any) from script_text""" from distutils.command.build_scripts import first_line_re # first_line_re in Python >=3.1.4 and >=3.2.1 is a bytes pattern. if not isinstance(first_line_re.pattern, str): first_line_re = re.compile(first_line_re.pattern.decode()) first = (script_text+'\n').splitlines()[0] match = first_line_re.match(first) options = '' if match: options = match.group(1) or '' if options: options = ' '+options if wininst: executable = "python.exe" else: executable = nt_quote_arg(executable) hdr = "#!%(executable)s%(options)s\n" % locals() if not isascii(hdr): # Non-ascii path to sys.executable, use -x to prevent warnings if options: if options.strip().startswith('-'): options = ' -x'+options.strip()[1:] # else: punt, we can't do it, let the warning happen anyway else: options = ' -x' executable = fix_jython_executable(executable, options) hdr = "#!%(executable)s%(options)s\n" % locals() return hdr def auto_chmod(func, arg, exc): if func is os.remove and os.name=='nt': chmod(arg, stat.S_IWRITE) return func(arg) et, ev, _ = sys.exc_info() reraise(et, (ev[0], ev[1] + (" %s %s" % (func,arg)))) def uncache_zipdir(path): """Ensure that the importer caches dont have stale info for `path`""" from zipimport import _zip_directory_cache as zdc _uncache(path, zdc) _uncache(path, sys.path_importer_cache) def _uncache(path, cache): if path in cache: del cache[path] else: path = normalize_path(path) for p in cache: if normalize_path(p)==path: del cache[p] return def is_python(text, filename=''): "Is this string a valid Python script?" try: compile(text, filename, 'exec') except (SyntaxError, TypeError): return False else: return True def is_sh(executable): """Determine if the specified executable is a .sh (contains a #! line)""" try: fp = open(executable) magic = fp.read(2) fp.close() except (OSError,IOError): return executable return magic == '#!' def nt_quote_arg(arg): """Quote a command line argument according to Windows parsing rules""" result = [] needquote = False nb = 0 needquote = (" " in arg) or ("\t" in arg) if needquote: result.append('"') for c in arg: if c == '\\': nb += 1 elif c == '"': # double preceding backslashes, then add a \" result.append('\\' * (nb*2) + '\\"') nb = 0 else: if nb: result.append('\\' * nb) nb = 0 result.append(c) if nb: result.append('\\' * nb) if needquote: result.append('\\' * nb) # double the trailing backslashes result.append('"') return ''.join(result) def is_python_script(script_text, filename): """Is this text, as a whole, a Python script? (as opposed to shell/bat/etc. """ if filename.endswith('.py') or filename.endswith('.pyw'): return True # extension says it's Python if is_python(script_text, filename): return True # it's syntactically valid Python if script_text.startswith('#!'): # It begins with a '#!' line, so check if 'python' is in it somewhere return 'python' in script_text.splitlines()[0].lower() return False # Not any Python I can recognize try: from os import chmod as _chmod except ImportError: # Jython compatibility def _chmod(*args): pass def chmod(path, mode): log.debug("changing mode of %s to %o", path, mode) try: _chmod(path, mode) except os.error: e = sys.exc_info()[1] log.debug("chmod failed: %s", e) def fix_jython_executable(executable, options): if sys.platform.startswith('java') and is_sh(executable): # Workaround for Jython is not needed on Linux systems. import java if java.lang.System.getProperty("os.name") == "Linux": return executable # Workaround Jython's sys.executable being a .sh (an invalid # shebang line interpreter) if options: # Can't apply the workaround, leave it broken log.warn("WARNING: Unable to adapt shebang line for Jython," " the following script is NOT executable\n" " see http://bugs.jython.org/issue1112 for" " more information.") else: return '/usr/bin/env %s' % executable return executable def get_script_args(dist, executable=sys_executable, wininst=False): """Yield write_script() argument tuples for a distribution's entrypoints""" spec = str(dist.as_requirement()) header = get_script_header("", executable, wininst) for group in 'console_scripts', 'gui_scripts': for name, ep in dist.get_entry_map(group).items(): script_text = ( "# EASY-INSTALL-ENTRY-SCRIPT: %(spec)r,%(group)r,%(name)r\n" "__requires__ = %(spec)r\n" "import sys\n" "from pkg_resources import load_entry_point\n" "\n" "if __name__ == '__main__':" "\n" " sys.exit(\n" " load_entry_point(%(spec)r, %(group)r, %(name)r)()\n" " )\n" ) % locals() if sys.platform=='win32' or wininst: # On Windows/wininst, add a .py extension and an .exe launcher if group=='gui_scripts': launcher_type = 'gui' ext = '-script.pyw' old = ['.pyw'] new_header = re.sub('(?i)python.exe','pythonw.exe',header) else: launcher_type = 'cli' ext = '-script.py' old = ['.py','.pyc','.pyo'] new_header = re.sub('(?i)pythonw.exe','python.exe',header) if os.path.exists(new_header[2:-1].strip('"')) or sys.platform!='win32': hdr = new_header else: hdr = header yield (name+ext, hdr+script_text, 't', [name+x for x in old]) yield ( name+'.exe', get_win_launcher(launcher_type), 'b' # write in binary mode ) if not is_64bit(): # install a manifest for the launcher to prevent Windows # from detecting it as an installer (which it will for # launchers like easy_install.exe). Consider only # adding a manifest for launchers detected as installers. # See Distribute #143 for details. m_name = name + '.exe.manifest' yield (m_name, load_launcher_manifest(name), 't') else: # On other platforms, we assume the right thing to do is to # just write the stub with no extension. yield (name, header+script_text) def get_win_launcher(type): """ Load the Windows launcher (executable) suitable for launching a script. `type` should be either 'cli' or 'gui' Returns the executable as a byte string. """ launcher_fn = '%s.exe' % type if platform.machine().lower()=='arm': launcher_fn = launcher_fn.replace(".", "-arm.") if is_64bit(): launcher_fn = launcher_fn.replace(".", "-64.") else: launcher_fn = launcher_fn.replace(".", "-32.") return resource_string('setuptools', launcher_fn) def load_launcher_manifest(name): manifest = pkg_resources.resource_string(__name__, 'launcher manifest.xml') if sys.version_info[0] < 3: return manifest % vars() else: return manifest.decode('utf-8') % vars() def rmtree(path, ignore_errors=False, onerror=auto_chmod): """Recursively delete a directory tree. This code is taken from the Python 2.4 version of 'shutil', because the 2.3 version doesn't really work right. """ if ignore_errors: def onerror(*args): pass elif onerror is None: def onerror(*args): raise names = [] try: names = os.listdir(path) except os.error: onerror(os.listdir, path, sys.exc_info()) for name in names: fullname = os.path.join(path, name) try: mode = os.lstat(fullname).st_mode except os.error: mode = 0 if stat.S_ISDIR(mode): rmtree(fullname, ignore_errors, onerror) else: try: os.remove(fullname) except os.error: onerror(os.remove, fullname, sys.exc_info()) try: os.rmdir(path) except os.error: onerror(os.rmdir, path, sys.exc_info()) def current_umask(): tmp = os.umask(0x12) # 022 os.umask(tmp) return tmp def bootstrap(): # This function is called when setuptools*.egg is run using /bin/sh import setuptools; argv0 = os.path.dirname(setuptools.__path__[0]) sys.argv[0] = argv0; sys.argv.append(argv0); main() def main(argv=None, **kw): from setuptools import setup from setuptools.dist import Distribution import distutils.core USAGE = """\ usage: %(script)s [options] requirement_or_url ... or: %(script)s --help """ def gen_usage (script_name): script = os.path.basename(script_name) return USAGE % vars() def with_ei_usage(f): old_gen_usage = distutils.core.gen_usage try: distutils.core.gen_usage = gen_usage return f() finally: distutils.core.gen_usage = old_gen_usage class DistributionWithoutHelpCommands(Distribution): common_usage = "" def _show_help(self,*args,**kw): with_ei_usage(lambda: Distribution._show_help(self,*args,**kw)) if argv is None: argv = sys.argv[1:] with_ei_usage(lambda: setup( script_args = ['-q','easy_install', '-v']+argv, script_name = sys.argv[0] or 'easy_install', distclass=DistributionWithoutHelpCommands, **kw ) ) build_clib.py000064400000017526147210141470007222 0ustar00"""distutils.command.build_clib Implements the Distutils 'build_clib' command, to build a C/C++ library that is included in the module distribution and needed by an extension module.""" # XXX this module has *lots* of code ripped-off quite transparently from # build_ext.py -- not surprisingly really, as the work required to build # a static library from a collection of C source files is not really all # that different from what's required to build a shared object file from # a collection of C source files. Nevertheless, I haven't done the # necessary refactoring to account for the overlap in code between the # two modules, mainly because a number of subtle details changed in the # cut 'n paste. Sigh. import os from distutils.core import Command from distutils.errors import * from distutils.sysconfig import customize_compiler from distutils import log def show_compilers(): from distutils.ccompiler import show_compilers show_compilers() class build_clib(Command): description = "build C/C++ libraries used by Python extensions" user_options = [ ('build-clib=', 'b', "directory to build C/C++ libraries to"), ('build-temp=', 't', "directory to put temporary build by-products"), ('debug', 'g', "compile with debugging information"), ('force', 'f', "forcibly build everything (ignore file timestamps)"), ('compiler=', 'c', "specify the compiler type"), ] boolean_options = ['debug', 'force'] help_options = [ ('help-compiler', None, "list available compilers", show_compilers), ] def initialize_options(self): self.build_clib = None self.build_temp = None # List of libraries to build self.libraries = None # Compilation options for all libraries self.include_dirs = None self.define = None self.undef = None self.debug = None self.force = 0 self.compiler = None def finalize_options(self): # This might be confusing: both build-clib and build-temp default # to build-temp as defined by the "build" command. This is because # I think that C libraries are really just temporary build # by-products, at least from the point of view of building Python # extensions -- but I want to keep my options open. self.set_undefined_options('build', ('build_temp', 'build_clib'), ('build_temp', 'build_temp'), ('compiler', 'compiler'), ('debug', 'debug'), ('force', 'force')) self.libraries = self.distribution.libraries if self.libraries: self.check_library_list(self.libraries) if self.include_dirs is None: self.include_dirs = self.distribution.include_dirs or [] if isinstance(self.include_dirs, str): self.include_dirs = self.include_dirs.split(os.pathsep) # XXX same as for build_ext -- what about 'self.define' and # 'self.undef' ? def run(self): if not self.libraries: return # Yech -- this is cut 'n pasted from build_ext.py! from distutils.ccompiler import new_compiler self.compiler = new_compiler(compiler=self.compiler, dry_run=self.dry_run, force=self.force) customize_compiler(self.compiler) if self.include_dirs is not None: self.compiler.set_include_dirs(self.include_dirs) if self.define is not None: # 'define' option is a list of (name,value) tuples for (name,value) in self.define: self.compiler.define_macro(name, value) if self.undef is not None: for macro in self.undef: self.compiler.undefine_macro(macro) self.build_libraries(self.libraries) def check_library_list(self, libraries): """Ensure that the list of libraries is valid. `library` is presumably provided as a command option 'libraries'. This method checks that it is a list of 2-tuples, where the tuples are (library_name, build_info_dict). Raise DistutilsSetupError if the structure is invalid anywhere; just returns otherwise. """ if not isinstance(libraries, list): raise DistutilsSetupError( "'libraries' option must be a list of tuples") for lib in libraries: if not isinstance(lib, tuple) and len(lib) != 2: raise DistutilsSetupError( "each element of 'libraries' must a 2-tuple") name, build_info = lib if not isinstance(name, str): raise DistutilsSetupError( "first element of each tuple in 'libraries' " "must be a string (the library name)") if '/' in name or (os.sep != '/' and os.sep in name): raise DistutilsSetupError("bad library name '%s': " "may not contain directory separators" % lib[0]) if not isinstance(build_info, dict): raise DistutilsSetupError( "second element of each tuple in 'libraries' " "must be a dictionary (build info)") def get_library_names(self): # Assume the library list is valid -- 'check_library_list()' is # called from 'finalize_options()', so it should be! if not self.libraries: return None lib_names = [] for (lib_name, build_info) in self.libraries: lib_names.append(lib_name) return lib_names def get_source_files(self): self.check_library_list(self.libraries) filenames = [] for (lib_name, build_info) in self.libraries: sources = build_info.get('sources') if sources is None or not isinstance(sources, (list, tuple)): raise DistutilsSetupError( "in 'libraries' option (library '%s'), " "'sources' must be present and must be " "a list of source filenames" % lib_name) filenames.extend(sources) return filenames def build_libraries(self, libraries): for (lib_name, build_info) in libraries: sources = build_info.get('sources') if sources is None or not isinstance(sources, (list, tuple)): raise DistutilsSetupError( "in 'libraries' option (library '%s'), " "'sources' must be present and must be " "a list of source filenames" % lib_name) sources = list(sources) log.info("building '%s' library", lib_name) # First, compile the source code to object files in the library # directory. (This should probably change to putting object # files in a temporary build directory.) macros = build_info.get('macros') include_dirs = build_info.get('include_dirs') objects = self.compiler.compile(sources, output_dir=self.build_temp, macros=macros, include_dirs=include_dirs, debug=self.debug) # Now "link" the object files together into a static library. # (On Unix at least, this isn't really linking -- it just # builds an archive. Whatever.) self.compiler.create_static_lib(objects, lib_name, output_dir=self.build_clib, debug=self.debug) install.py000064400000064157147210141470006602 0ustar00"""distutils.command.install Implements the Distutils 'install' command.""" import sys import os from distutils import log from distutils.core import Command from distutils.debug import DEBUG from distutils.sysconfig import get_config_vars from distutils.errors import DistutilsPlatformError from distutils.file_util import write_file from distutils.util import convert_path, subst_vars, change_root from distutils.util import get_platform from distutils.errors import DistutilsOptionError from site import USER_BASE from site import USER_SITE HAS_USER_SITE = True WINDOWS_SCHEME = { 'purelib': '$base/Lib/site-packages', 'platlib': '$base/Lib/site-packages', 'headers': '$base/Include/$dist_name', 'scripts': '$base/Scripts', 'data' : '$base', } INSTALL_SCHEMES = { 'unix_prefix': { 'purelib': '$base/lib/python$py_version_short/site-packages', 'platlib': '$platbase/lib64/python$py_version_short/site-packages', 'headers': '$base/include/python$py_version_short$abiflags/$dist_name', 'scripts': '$base/bin', 'data' : '$base', }, 'unix_home': { 'purelib': '$base/lib/python', 'platlib': '$base/lib64/python', 'headers': '$base/include/python/$dist_name', 'scripts': '$base/bin', 'data' : '$base', }, 'nt': WINDOWS_SCHEME, } # user site schemes if HAS_USER_SITE: INSTALL_SCHEMES['nt_user'] = { 'purelib': '$usersite', 'platlib': '$usersite', 'headers': '$userbase/Python$py_version_nodot/Include/$dist_name', 'scripts': '$userbase/Python$py_version_nodot/Scripts', 'data' : '$userbase', } INSTALL_SCHEMES['unix_user'] = { 'purelib': '$usersite', 'platlib': '$usersite', 'headers': '$userbase/include/python$py_version_short$abiflags/$dist_name', 'scripts': '$userbase/bin', 'data' : '$userbase', } # The keys to an installation scheme; if any new types of files are to be # installed, be sure to add an entry to every installation scheme above, # and to SCHEME_KEYS here. SCHEME_KEYS = ('purelib', 'platlib', 'headers', 'scripts', 'data') class install(Command): description = "install everything from build directory" user_options = [ # Select installation scheme and set base director(y|ies) ('prefix=', None, "installation prefix"), ('exec-prefix=', None, "(Unix only) prefix for platform-specific files"), ('home=', None, "(Unix only) home directory to install under"), # Or, just set the base director(y|ies) ('install-base=', None, "base installation directory (instead of --prefix or --home)"), ('install-platbase=', None, "base installation directory for platform-specific files " + "(instead of --exec-prefix or --home)"), ('root=', None, "install everything relative to this alternate root directory"), # Or, explicitly set the installation scheme ('install-purelib=', None, "installation directory for pure Python module distributions"), ('install-platlib=', None, "installation directory for non-pure module distributions"), ('install-lib=', None, "installation directory for all module distributions " + "(overrides --install-purelib and --install-platlib)"), ('install-headers=', None, "installation directory for C/C++ headers"), ('install-scripts=', None, "installation directory for Python scripts"), ('install-data=', None, "installation directory for data files"), # Byte-compilation options -- see install_lib.py for details, as # these are duplicated from there (but only install_lib does # anything with them). ('compile', 'c', "compile .py to .pyc [default]"), ('no-compile', None, "don't compile .py files"), ('optimize=', 'O', "also compile with optimization: -O1 for \"python -O\", " "-O2 for \"python -OO\", and -O0 to disable [default: -O0]"), # Miscellaneous control options ('force', 'f', "force installation (overwrite any existing files)"), ('skip-build', None, "skip rebuilding everything (for testing/debugging)"), # Where to install documentation (eventually!) #('doc-format=', None, "format of documentation to generate"), #('install-man=', None, "directory for Unix man pages"), #('install-html=', None, "directory for HTML documentation"), #('install-info=', None, "directory for GNU info files"), ('record=', None, "filename in which to record list of installed files"), ] boolean_options = ['compile', 'force', 'skip-build'] if HAS_USER_SITE: user_options.append(('user', None, "install in user site-package '%s'" % USER_SITE)) boolean_options.append('user') negative_opt = {'no-compile' : 'compile'} def initialize_options(self): """Initializes options.""" # High-level options: these select both an installation base # and scheme. self.prefix = None self.exec_prefix = None self.home = None self.user = 0 # These select only the installation base; it's up to the user to # specify the installation scheme (currently, that means supplying # the --install-{platlib,purelib,scripts,data} options). self.install_base = None self.install_platbase = None self.root = None # These options are the actual installation directories; if not # supplied by the user, they are filled in using the installation # scheme implied by prefix/exec-prefix/home and the contents of # that installation scheme. self.install_purelib = None # for pure module distributions self.install_platlib = None # non-pure (dists w/ extensions) self.install_headers = None # for C/C++ headers self.install_lib = None # set to either purelib or platlib self.install_scripts = None self.install_data = None self.install_userbase = USER_BASE self.install_usersite = USER_SITE self.compile = None self.optimize = None # Deprecated # These two are for putting non-packagized distributions into their # own directory and creating a .pth file if it makes sense. # 'extra_path' comes from the setup file; 'install_path_file' can # be turned off if it makes no sense to install a .pth file. (But # better to install it uselessly than to guess wrong and not # install it when it's necessary and would be used!) Currently, # 'install_path_file' is always true unless some outsider meddles # with it. self.extra_path = None self.install_path_file = 1 # 'force' forces installation, even if target files are not # out-of-date. 'skip_build' skips running the "build" command, # handy if you know it's not necessary. 'warn_dir' (which is *not* # a user option, it's just there so the bdist_* commands can turn # it off) determines whether we warn about installing to a # directory not in sys.path. self.force = 0 self.skip_build = 0 self.warn_dir = 1 # These are only here as a conduit from the 'build' command to the # 'install_*' commands that do the real work. ('build_base' isn't # actually used anywhere, but it might be useful in future.) They # are not user options, because if the user told the install # command where the build directory is, that wouldn't affect the # build command. self.build_base = None self.build_lib = None # Not defined yet because we don't know anything about # documentation yet. #self.install_man = None #self.install_html = None #self.install_info = None self.record = None # -- Option finalizing methods ------------------------------------- # (This is rather more involved than for most commands, # because this is where the policy for installing third- # party Python modules on various platforms given a wide # array of user input is decided. Yes, it's quite complex!) def finalize_options(self): """Finalizes options.""" # This method (and its helpers, like 'finalize_unix()', # 'finalize_other()', and 'select_scheme()') is where the default # installation directories for modules, extension modules, and # anything else we care to install from a Python module # distribution. Thus, this code makes a pretty important policy # statement about how third-party stuff is added to a Python # installation! Note that the actual work of installation is done # by the relatively simple 'install_*' commands; they just take # their orders from the installation directory options determined # here. # Check for errors/inconsistencies in the options; first, stuff # that's wrong on any platform. if ((self.prefix or self.exec_prefix or self.home) and (self.install_base or self.install_platbase)): raise DistutilsOptionError( "must supply either prefix/exec-prefix/home or " + "install-base/install-platbase -- not both") if self.home and (self.prefix or self.exec_prefix): raise DistutilsOptionError( "must supply either home or prefix/exec-prefix -- not both") if self.user and (self.prefix or self.exec_prefix or self.home or self.install_base or self.install_platbase): raise DistutilsOptionError("can't combine user with prefix, " "exec_prefix/home, or install_(plat)base") # Next, stuff that's wrong (or dubious) only on certain platforms. if os.name != "posix": if self.exec_prefix: self.warn("exec-prefix option ignored on this platform") self.exec_prefix = None # Now the interesting logic -- so interesting that we farm it out # to other methods. The goal of these methods is to set the final # values for the install_{lib,scripts,data,...} options, using as # input a heady brew of prefix, exec_prefix, home, install_base, # install_platbase, user-supplied versions of # install_{purelib,platlib,lib,scripts,data,...}, and the # INSTALL_SCHEME dictionary above. Phew! self.dump_dirs("pre-finalize_{unix,other}") if os.name == 'posix': self.finalize_unix() else: self.finalize_other() self.dump_dirs("post-finalize_{unix,other}()") # Expand configuration variables, tilde, etc. in self.install_base # and self.install_platbase -- that way, we can use $base or # $platbase in the other installation directories and not worry # about needing recursive variable expansion (shudder). py_version = sys.version.split()[0] (prefix, exec_prefix) = get_config_vars('prefix', 'exec_prefix') try: abiflags = sys.abiflags except AttributeError: # sys.abiflags may not be defined on all platforms. abiflags = '' self.config_vars = {'dist_name': self.distribution.get_name(), 'dist_version': self.distribution.get_version(), 'dist_fullname': self.distribution.get_fullname(), 'py_version': py_version, 'py_version_short': '%d.%d' % sys.version_info[:2], 'py_version_nodot': '%d%d' % sys.version_info[:2], 'sys_prefix': prefix, 'prefix': prefix, 'sys_exec_prefix': exec_prefix, 'exec_prefix': exec_prefix, 'abiflags': abiflags, } if HAS_USER_SITE: self.config_vars['userbase'] = self.install_userbase self.config_vars['usersite'] = self.install_usersite self.expand_basedirs() self.dump_dirs("post-expand_basedirs()") # Now define config vars for the base directories so we can expand # everything else. self.config_vars['base'] = self.install_base self.config_vars['platbase'] = self.install_platbase if DEBUG: from pprint import pprint print("config vars:") pprint(self.config_vars) # Expand "~" and configuration variables in the installation # directories. self.expand_dirs() self.dump_dirs("post-expand_dirs()") # Create directories in the home dir: if self.user: self.create_home_path() # Pick the actual directory to install all modules to: either # install_purelib or install_platlib, depending on whether this # module distribution is pure or not. Of course, if the user # already specified install_lib, use their selection. if self.install_lib is None: if self.distribution.ext_modules: # has extensions: non-pure self.install_lib = self.install_platlib else: self.install_lib = self.install_purelib # Convert directories from Unix /-separated syntax to the local # convention. self.convert_paths('lib', 'purelib', 'platlib', 'scripts', 'data', 'headers', 'userbase', 'usersite') # Deprecated # Well, we're not actually fully completely finalized yet: we still # have to deal with 'extra_path', which is the hack for allowing # non-packagized module distributions (hello, Numerical Python!) to # get their own directories. self.handle_extra_path() self.install_libbase = self.install_lib # needed for .pth file self.install_lib = os.path.join(self.install_lib, self.extra_dirs) # If a new root directory was supplied, make all the installation # dirs relative to it. if self.root is not None: self.change_roots('libbase', 'lib', 'purelib', 'platlib', 'scripts', 'data', 'headers') self.dump_dirs("after prepending root") # Find out the build directories, ie. where to install from. self.set_undefined_options('build', ('build_base', 'build_base'), ('build_lib', 'build_lib')) # Punt on doc directories for now -- after all, we're punting on # documentation completely! def dump_dirs(self, msg): """Dumps the list of user options.""" if not DEBUG: return from distutils.fancy_getopt import longopt_xlate log.debug(msg + ":") for opt in self.user_options: opt_name = opt[0] if opt_name[-1] == "=": opt_name = opt_name[0:-1] if opt_name in self.negative_opt: opt_name = self.negative_opt[opt_name] opt_name = opt_name.translate(longopt_xlate) val = not getattr(self, opt_name) else: opt_name = opt_name.translate(longopt_xlate) val = getattr(self, opt_name) log.debug(" %s: %s", opt_name, val) def finalize_unix(self): """Finalizes options for posix platforms.""" if self.install_base is not None or self.install_platbase is not None: if ((self.install_lib is None and self.install_purelib is None and self.install_platlib is None) or self.install_headers is None or self.install_scripts is None or self.install_data is None): raise DistutilsOptionError( "install-base or install-platbase supplied, but " "installation scheme is incomplete") return if self.user: if self.install_userbase is None: raise DistutilsPlatformError( "User base directory is not specified") self.install_base = self.install_platbase = self.install_userbase self.select_scheme("unix_user") elif self.home is not None: self.install_base = self.install_platbase = self.home self.select_scheme("unix_home") else: if self.prefix is None: if self.exec_prefix is not None: raise DistutilsOptionError( "must not supply exec-prefix without prefix") self.prefix = os.path.normpath(sys.prefix) self.exec_prefix = os.path.normpath(sys.exec_prefix) else: if self.exec_prefix is None: self.exec_prefix = self.prefix self.install_base = self.prefix self.install_platbase = self.exec_prefix self.select_scheme("unix_prefix") def finalize_other(self): """Finalizes options for non-posix platforms""" if self.user: if self.install_userbase is None: raise DistutilsPlatformError( "User base directory is not specified") self.install_base = self.install_platbase = self.install_userbase self.select_scheme(os.name + "_user") elif self.home is not None: self.install_base = self.install_platbase = self.home self.select_scheme("unix_home") else: if self.prefix is None: self.prefix = os.path.normpath(sys.prefix) self.install_base = self.install_platbase = self.prefix try: self.select_scheme(os.name) except KeyError: raise DistutilsPlatformError( "I don't know how to install stuff on '%s'" % os.name) def select_scheme(self, name): """Sets the install directories by applying the install schemes.""" # it's the caller's problem if they supply a bad name! scheme = INSTALL_SCHEMES[name] for key in SCHEME_KEYS: attrname = 'install_' + key if getattr(self, attrname) is None: setattr(self, attrname, scheme[key]) def _expand_attrs(self, attrs): for attr in attrs: val = getattr(self, attr) if val is not None: if os.name == 'posix' or os.name == 'nt': val = os.path.expanduser(val) val = subst_vars(val, self.config_vars) setattr(self, attr, val) def expand_basedirs(self): """Calls `os.path.expanduser` on install_base, install_platbase and root.""" self._expand_attrs(['install_base', 'install_platbase', 'root']) def expand_dirs(self): """Calls `os.path.expanduser` on install dirs.""" self._expand_attrs(['install_purelib', 'install_platlib', 'install_lib', 'install_headers', 'install_scripts', 'install_data',]) def convert_paths(self, *names): """Call `convert_path` over `names`.""" for name in names: attr = "install_" + name setattr(self, attr, convert_path(getattr(self, attr))) def handle_extra_path(self): """Set `path_file` and `extra_dirs` using `extra_path`.""" if self.extra_path is None: self.extra_path = self.distribution.extra_path if self.extra_path is not None: log.warn( "Distribution option extra_path is deprecated. " "See issue27919 for details." ) if isinstance(self.extra_path, str): self.extra_path = self.extra_path.split(',') if len(self.extra_path) == 1: path_file = extra_dirs = self.extra_path[0] elif len(self.extra_path) == 2: path_file, extra_dirs = self.extra_path else: raise DistutilsOptionError( "'extra_path' option must be a list, tuple, or " "comma-separated string with 1 or 2 elements") # convert to local form in case Unix notation used (as it # should be in setup scripts) extra_dirs = convert_path(extra_dirs) else: path_file = None extra_dirs = '' # XXX should we warn if path_file and not extra_dirs? (in which # case the path file would be harmless but pointless) self.path_file = path_file self.extra_dirs = extra_dirs def change_roots(self, *names): """Change the install directories pointed by name using root.""" for name in names: attr = "install_" + name setattr(self, attr, change_root(self.root, getattr(self, attr))) def create_home_path(self): """Create directories under ~.""" if not self.user: return home = convert_path(os.path.expanduser("~")) for name, path in self.config_vars.items(): if path.startswith(home) and not os.path.isdir(path): self.debug_print("os.makedirs('%s', 0o700)" % path) os.makedirs(path, 0o700) # -- Command execution methods ------------------------------------- def run(self): """Runs the command.""" # Obviously have to build before we can install if not self.skip_build: self.run_command('build') # If we built for any other platform, we can't install. build_plat = self.distribution.get_command_obj('build').plat_name # check warn_dir - it is a clue that the 'install' is happening # internally, and not to sys.path, so we don't check the platform # matches what we are running. if self.warn_dir and build_plat != get_platform(): raise DistutilsPlatformError("Can't install when " "cross-compiling") # Run all sub-commands (at least those that need to be run) for cmd_name in self.get_sub_commands(): self.run_command(cmd_name) if self.path_file: self.create_path_file() # write list of installed files, if requested. if self.record: outputs = self.get_outputs() if self.root: # strip any package prefix root_len = len(self.root) for counter in range(len(outputs)): outputs[counter] = outputs[counter][root_len:] self.execute(write_file, (self.record, outputs), "writing list of installed files to '%s'" % self.record) sys_path = map(os.path.normpath, sys.path) sys_path = map(os.path.normcase, sys_path) install_lib = os.path.normcase(os.path.normpath(self.install_lib)) if (self.warn_dir and not (self.path_file and self.install_path_file) and install_lib not in sys_path): log.debug(("modules installed to '%s', which is not in " "Python's module search path (sys.path) -- " "you'll have to change the search path yourself"), self.install_lib) def create_path_file(self): """Creates the .pth file""" filename = os.path.join(self.install_libbase, self.path_file + ".pth") if self.install_path_file: self.execute(write_file, (filename, [self.extra_dirs]), "creating %s" % filename) else: self.warn("path file '%s' not created" % filename) # -- Reporting methods --------------------------------------------- def get_outputs(self): """Assembles the outputs of all the sub-commands.""" outputs = [] for cmd_name in self.get_sub_commands(): cmd = self.get_finalized_command(cmd_name) # Add the contents of cmd.get_outputs(), ensuring # that outputs doesn't contain duplicate entries for filename in cmd.get_outputs(): if filename not in outputs: outputs.append(filename) if self.path_file and self.install_path_file: outputs.append(os.path.join(self.install_libbase, self.path_file + ".pth")) return outputs def get_inputs(self): """Returns the inputs of all the sub-commands""" # XXX gee, this looks familiar ;-( inputs = [] for cmd_name in self.get_sub_commands(): cmd = self.get_finalized_command(cmd_name) inputs.extend(cmd.get_inputs()) return inputs # -- Predicates for sub-command list ------------------------------- def has_lib(self): """Returns true if the current distribution has any Python modules to install.""" return (self.distribution.has_pure_modules() or self.distribution.has_ext_modules()) def has_headers(self): """Returns true if the current distribution has any headers to install.""" return self.distribution.has_headers() def has_scripts(self): """Returns true if the current distribution has any scripts to. install.""" return self.distribution.has_scripts() def has_data(self): """Returns true if the current distribution has any data to. install.""" return self.distribution.has_data_files() # 'sub_commands': a list of commands this command might have to run to # get its work done. See cmd.py for more info. sub_commands = [('install_lib', has_lib), ('install_headers', has_headers), ('install_scripts', has_scripts), ('install_data', has_data), ('install_egg_info', lambda self:True), ] develop.py000064400000014457147210141470006570 0ustar00from setuptools.command.easy_install import easy_install from distutils.util import convert_path, subst_vars from pkg_resources import Distribution, PathMetadata, normalize_path from distutils import log from distutils.errors import DistutilsError, DistutilsOptionError import os, sys, setuptools, glob class develop(easy_install): """Set up package for development""" description = "install package in 'development mode'" user_options = easy_install.user_options + [ ("uninstall", "u", "Uninstall this source package"), ("egg-path=", None, "Set the path to be used in the .egg-link file"), ] boolean_options = easy_install.boolean_options + ['uninstall'] command_consumes_arguments = False # override base def run(self): if self.uninstall: self.multi_version = True self.uninstall_link() else: self.install_for_development() self.warn_deprecated_options() def initialize_options(self): self.uninstall = None self.egg_path = None easy_install.initialize_options(self) self.setup_path = None self.always_copy_from = '.' # always copy eggs installed in curdir def finalize_options(self): ei = self.get_finalized_command("egg_info") if ei.broken_egg_info: raise DistutilsError( "Please rename %r to %r before using 'develop'" % (ei.egg_info, ei.broken_egg_info) ) self.args = [ei.egg_name] easy_install.finalize_options(self) self.expand_basedirs() self.expand_dirs() # pick up setup-dir .egg files only: no .egg-info self.package_index.scan(glob.glob('*.egg')) self.egg_link = os.path.join(self.install_dir, ei.egg_name+'.egg-link') self.egg_base = ei.egg_base if self.egg_path is None: self.egg_path = os.path.abspath(ei.egg_base) target = normalize_path(self.egg_base) if normalize_path(os.path.join(self.install_dir, self.egg_path)) != target: raise DistutilsOptionError( "--egg-path must be a relative path from the install" " directory to "+target ) # Make a distribution for the package's source self.dist = Distribution( target, PathMetadata(target, os.path.abspath(ei.egg_info)), project_name = ei.egg_name ) p = self.egg_base.replace(os.sep,'/') if p!= os.curdir: p = '../' * (p.count('/')+1) self.setup_path = p p = normalize_path(os.path.join(self.install_dir, self.egg_path, p)) if p != normalize_path(os.curdir): raise DistutilsOptionError( "Can't get a consistent path to setup script from" " installation directory", p, normalize_path(os.curdir)) def install_for_development(self): if sys.version_info >= (3,) and getattr(self.distribution, 'use_2to3', False): # If we run 2to3 we can not do this inplace: # Ensure metadata is up-to-date self.reinitialize_command('build_py', inplace=0) self.run_command('build_py') bpy_cmd = self.get_finalized_command("build_py") build_path = normalize_path(bpy_cmd.build_lib) # Build extensions self.reinitialize_command('egg_info', egg_base=build_path) self.run_command('egg_info') self.reinitialize_command('build_ext', inplace=0) self.run_command('build_ext') # Fixup egg-link and easy-install.pth ei_cmd = self.get_finalized_command("egg_info") self.egg_path = build_path self.dist.location = build_path self.dist._provider = PathMetadata(build_path, ei_cmd.egg_info) # XXX else: # Without 2to3 inplace works fine: self.run_command('egg_info') # Build extensions in-place self.reinitialize_command('build_ext', inplace=1) self.run_command('build_ext') self.install_site_py() # ensure that target dir is site-safe if setuptools.bootstrap_install_from: self.easy_install(setuptools.bootstrap_install_from) setuptools.bootstrap_install_from = None # create an .egg-link in the installation dir, pointing to our egg log.info("Creating %s (link to %s)", self.egg_link, self.egg_base) if not self.dry_run: f = open(self.egg_link,"w") f.write(self.egg_path + "\n" + self.setup_path) f.close() # postprocess the installed distro, fixing up .pth, installing scripts, # and handling requirements self.process_distribution(None, self.dist, not self.no_deps) def uninstall_link(self): if os.path.exists(self.egg_link): log.info("Removing %s (link to %s)", self.egg_link, self.egg_base) egg_link_file = open(self.egg_link) contents = [line.rstrip() for line in egg_link_file] egg_link_file.close() if contents not in ([self.egg_path], [self.egg_path, self.setup_path]): log.warn("Link points to %s: uninstall aborted", contents) return if not self.dry_run: os.unlink(self.egg_link) if not self.dry_run: self.update_pth(self.dist) # remove any .pth link to us if self.distribution.scripts: # XXX should also check for entry point scripts! log.warn("Note: you must uninstall or replace scripts manually!") def install_egg_scripts(self, dist): if dist is not self.dist: # Installing a dependency, so fall back to normal behavior return easy_install.install_egg_scripts(self,dist) # create wrapper scripts in the script dir, pointing to dist.scripts # new-style... self.install_wrapper_scripts(dist) # ...and old-style for script_name in self.distribution.scripts or []: script_path = os.path.abspath(convert_path(script_name)) script_name = os.path.basename(script_path) f = open(script_path,'rU') script_text = f.read() f.close() self.install_script(dist, script_name, script_text, script_path) sdist.py000064400000045075147210141470006260 0ustar00"""distutils.command.sdist Implements the Distutils 'sdist' command (create a source distribution).""" import os import sys from glob import glob from warnings import warn from distutils.core import Command from distutils import dir_util from distutils import file_util from distutils import archive_util from distutils.text_file import TextFile from distutils.filelist import FileList from distutils import log from distutils.util import convert_path from distutils.errors import DistutilsTemplateError, DistutilsOptionError def show_formats(): """Print all possible values for the 'formats' option (used by the "--help-formats" command-line option). """ from distutils.fancy_getopt import FancyGetopt from distutils.archive_util import ARCHIVE_FORMATS formats = [] for format in ARCHIVE_FORMATS.keys(): formats.append(("formats=" + format, None, ARCHIVE_FORMATS[format][2])) formats.sort() FancyGetopt(formats).print_help( "List of available source distribution formats:") class sdist(Command): description = "create a source distribution (tarball, zip file, etc.)" def checking_metadata(self): """Callable used for the check sub-command. Placed here so user_options can view it""" return self.metadata_check user_options = [ ('template=', 't', "name of manifest template file [default: MANIFEST.in]"), ('manifest=', 'm', "name of manifest file [default: MANIFEST]"), ('use-defaults', None, "include the default file set in the manifest " "[default; disable with --no-defaults]"), ('no-defaults', None, "don't include the default file set"), ('prune', None, "specifically exclude files/directories that should not be " "distributed (build tree, RCS/CVS dirs, etc.) " "[default; disable with --no-prune]"), ('no-prune', None, "don't automatically exclude anything"), ('manifest-only', 'o', "just regenerate the manifest and then stop " "(implies --force-manifest)"), ('force-manifest', 'f', "forcibly regenerate the manifest and carry on as usual. " "Deprecated: now the manifest is always regenerated."), ('formats=', None, "formats for source distribution (comma-separated list)"), ('keep-temp', 'k', "keep the distribution tree around after creating " + "archive file(s)"), ('dist-dir=', 'd', "directory to put the source distribution archive(s) in " "[default: dist]"), ('metadata-check', None, "Ensure that all required elements of meta-data " "are supplied. Warn if any missing. [default]"), ('owner=', 'u', "Owner name used when creating a tar file [default: current user]"), ('group=', 'g', "Group name used when creating a tar file [default: current group]"), ] boolean_options = ['use-defaults', 'prune', 'manifest-only', 'force-manifest', 'keep-temp', 'metadata-check'] help_options = [ ('help-formats', None, "list available distribution formats", show_formats), ] negative_opt = {'no-defaults': 'use-defaults', 'no-prune': 'prune' } sub_commands = [('check', checking_metadata)] READMES = ('README', 'README.txt', 'README.rst') def initialize_options(self): # 'template' and 'manifest' are, respectively, the names of # the manifest template and manifest file. self.template = None self.manifest = None # 'use_defaults': if true, we will include the default file set # in the manifest self.use_defaults = 1 self.prune = 1 self.manifest_only = 0 self.force_manifest = 0 self.formats = ['gztar'] self.keep_temp = 0 self.dist_dir = None self.archive_files = None self.metadata_check = 1 self.owner = None self.group = None def finalize_options(self): if self.manifest is None: self.manifest = "MANIFEST" if self.template is None: self.template = "MANIFEST.in" self.ensure_string_list('formats') bad_format = archive_util.check_archive_formats(self.formats) if bad_format: raise DistutilsOptionError( "unknown archive format '%s'" % bad_format) if self.dist_dir is None: self.dist_dir = "dist" def run(self): # 'filelist' contains the list of files that will make up the # manifest self.filelist = FileList() # Run sub commands for cmd_name in self.get_sub_commands(): self.run_command(cmd_name) # Do whatever it takes to get the list of files to process # (process the manifest template, read an existing manifest, # whatever). File list is accumulated in 'self.filelist'. self.get_file_list() # If user just wanted us to regenerate the manifest, stop now. if self.manifest_only: return # Otherwise, go ahead and create the source distribution tarball, # or zipfile, or whatever. self.make_distribution() def check_metadata(self): """Deprecated API.""" warn("distutils.command.sdist.check_metadata is deprecated, \ use the check command instead", PendingDeprecationWarning) check = self.distribution.get_command_obj('check') check.ensure_finalized() check.run() def get_file_list(self): """Figure out the list of files to include in the source distribution, and put it in 'self.filelist'. This might involve reading the manifest template (and writing the manifest), or just reading the manifest, or just using the default file set -- it all depends on the user's options. """ # new behavior when using a template: # the file list is recalculated every time because # even if MANIFEST.in or setup.py are not changed # the user might have added some files in the tree that # need to be included. # # This makes --force the default and only behavior with templates. template_exists = os.path.isfile(self.template) if not template_exists and self._manifest_is_not_generated(): self.read_manifest() self.filelist.sort() self.filelist.remove_duplicates() return if not template_exists: self.warn(("manifest template '%s' does not exist " + "(using default file list)") % self.template) self.filelist.findall() if self.use_defaults: self.add_defaults() if template_exists: self.read_template() if self.prune: self.prune_file_list() self.filelist.sort() self.filelist.remove_duplicates() self.write_manifest() def add_defaults(self): """Add all the default files to self.filelist: - README or README.txt - setup.py - test/test*.py - all pure Python modules mentioned in setup script - all files pointed by package_data (build_py) - all files defined in data_files. - all files defined as scripts. - all C sources listed as part of extensions or C libraries in the setup script (doesn't catch C headers!) Warns if (README or README.txt) or setup.py are missing; everything else is optional. """ self._add_defaults_standards() self._add_defaults_optional() self._add_defaults_python() self._add_defaults_data_files() self._add_defaults_ext() self._add_defaults_c_libs() self._add_defaults_scripts() @staticmethod def _cs_path_exists(fspath): """ Case-sensitive path existence check >>> sdist._cs_path_exists(__file__) True >>> sdist._cs_path_exists(__file__.upper()) False """ if not os.path.exists(fspath): return False # make absolute so we always have a directory abspath = os.path.abspath(fspath) directory, filename = os.path.split(abspath) return filename in os.listdir(directory) def _add_defaults_standards(self): standards = [self.READMES, self.distribution.script_name] for fn in standards: if isinstance(fn, tuple): alts = fn got_it = False for fn in alts: if self._cs_path_exists(fn): got_it = True self.filelist.append(fn) break if not got_it: self.warn("standard file not found: should have one of " + ', '.join(alts)) else: if self._cs_path_exists(fn): self.filelist.append(fn) else: self.warn("standard file '%s' not found" % fn) def _add_defaults_optional(self): optional = ['test/test*.py', 'setup.cfg'] for pattern in optional: files = filter(os.path.isfile, glob(pattern)) self.filelist.extend(files) def _add_defaults_python(self): # build_py is used to get: # - python modules # - files defined in package_data build_py = self.get_finalized_command('build_py') # getting python files if self.distribution.has_pure_modules(): self.filelist.extend(build_py.get_source_files()) # getting package_data files # (computed in build_py.data_files by build_py.finalize_options) for pkg, src_dir, build_dir, filenames in build_py.data_files: for filename in filenames: self.filelist.append(os.path.join(src_dir, filename)) def _add_defaults_data_files(self): # getting distribution.data_files if self.distribution.has_data_files(): for item in self.distribution.data_files: if isinstance(item, str): # plain file item = convert_path(item) if os.path.isfile(item): self.filelist.append(item) else: # a (dirname, filenames) tuple dirname, filenames = item for f in filenames: f = convert_path(f) if os.path.isfile(f): self.filelist.append(f) def _add_defaults_ext(self): if self.distribution.has_ext_modules(): build_ext = self.get_finalized_command('build_ext') self.filelist.extend(build_ext.get_source_files()) def _add_defaults_c_libs(self): if self.distribution.has_c_libraries(): build_clib = self.get_finalized_command('build_clib') self.filelist.extend(build_clib.get_source_files()) def _add_defaults_scripts(self): if self.distribution.has_scripts(): build_scripts = self.get_finalized_command('build_scripts') self.filelist.extend(build_scripts.get_source_files()) def read_template(self): """Read and parse manifest template file named by self.template. (usually "MANIFEST.in") The parsing and processing is done by 'self.filelist', which updates itself accordingly. """ log.info("reading manifest template '%s'", self.template) template = TextFile(self.template, strip_comments=1, skip_blanks=1, join_lines=1, lstrip_ws=1, rstrip_ws=1, collapse_join=1) try: while True: line = template.readline() if line is None: # end of file break try: self.filelist.process_template_line(line) # the call above can raise a DistutilsTemplateError for # malformed lines, or a ValueError from the lower-level # convert_path function except (DistutilsTemplateError, ValueError) as msg: self.warn("%s, line %d: %s" % (template.filename, template.current_line, msg)) finally: template.close() def prune_file_list(self): """Prune off branches that might slip into the file list as created by 'read_template()', but really don't belong there: * the build tree (typically "build") * the release tree itself (only an issue if we ran "sdist" previously with --keep-temp, or it aborted) * any RCS, CVS, .svn, .hg, .git, .bzr, _darcs directories """ build = self.get_finalized_command('build') base_dir = self.distribution.get_fullname() self.filelist.exclude_pattern(None, prefix=build.build_base) self.filelist.exclude_pattern(None, prefix=base_dir) if sys.platform == 'win32': seps = r'/|\\' else: seps = '/' vcs_dirs = ['RCS', 'CVS', r'\.svn', r'\.hg', r'\.git', r'\.bzr', '_darcs'] vcs_ptrn = r'(^|%s)(%s)(%s).*' % (seps, '|'.join(vcs_dirs), seps) self.filelist.exclude_pattern(vcs_ptrn, is_regex=1) def write_manifest(self): """Write the file list in 'self.filelist' (presumably as filled in by 'add_defaults()' and 'read_template()') to the manifest file named by 'self.manifest'. """ if self._manifest_is_not_generated(): log.info("not writing to manually maintained " "manifest file '%s'" % self.manifest) return content = self.filelist.files[:] content.insert(0, '# file GENERATED by distutils, do NOT edit') self.execute(file_util.write_file, (self.manifest, content), "writing manifest file '%s'" % self.manifest) def _manifest_is_not_generated(self): # check for special comment used in 3.1.3 and higher if not os.path.isfile(self.manifest): return False fp = open(self.manifest) try: first_line = fp.readline() finally: fp.close() return first_line != '# file GENERATED by distutils, do NOT edit\n' def read_manifest(self): """Read the manifest file (named by 'self.manifest') and use it to fill in 'self.filelist', the list of files to include in the source distribution. """ log.info("reading manifest file '%s'", self.manifest) with open(self.manifest) as manifest: for line in manifest: # ignore comments and blank lines line = line.strip() if line.startswith('#') or not line: continue self.filelist.append(line) def make_release_tree(self, base_dir, files): """Create the directory tree that will become the source distribution archive. All directories implied by the filenames in 'files' are created under 'base_dir', and then we hard link or copy (if hard linking is unavailable) those files into place. Essentially, this duplicates the developer's source tree, but in a directory named after the distribution, containing only the files to be distributed. """ # Create all the directories under 'base_dir' necessary to # put 'files' there; the 'mkpath()' is just so we don't die # if the manifest happens to be empty. self.mkpath(base_dir) dir_util.create_tree(base_dir, files, dry_run=self.dry_run) # And walk over the list of files, either making a hard link (if # os.link exists) to each one that doesn't already exist in its # corresponding location under 'base_dir', or copying each file # that's out-of-date in 'base_dir'. (Usually, all files will be # out-of-date, because by default we blow away 'base_dir' when # we're done making the distribution archives.) if hasattr(os, 'link'): # can make hard links on this system link = 'hard' msg = "making hard links in %s..." % base_dir else: # nope, have to copy link = None msg = "copying files to %s..." % base_dir if not files: log.warn("no files to distribute -- empty manifest?") else: log.info(msg) for file in files: if not os.path.isfile(file): log.warn("'%s' not a regular file -- skipping", file) else: dest = os.path.join(base_dir, file) self.copy_file(file, dest, link=link) self.distribution.metadata.write_pkg_info(base_dir) def make_distribution(self): """Create the source distribution(s). First, we create the release tree with 'make_release_tree()'; then, we create all required archive files (according to 'self.formats') from the release tree. Finally, we clean up by blowing away the release tree (unless 'self.keep_temp' is true). The list of archive files created is stored so it can be retrieved later by 'get_archive_files()'. """ # Don't warn about missing meta-data here -- should be (and is!) # done elsewhere. base_dir = self.distribution.get_fullname() base_name = os.path.join(self.dist_dir, base_dir) self.make_release_tree(base_dir, self.filelist.files) archive_files = [] # remember names of files we create # tar archive must be created last to avoid overwrite and remove if 'tar' in self.formats: self.formats.append(self.formats.pop(self.formats.index('tar'))) for fmt in self.formats: file = self.make_archive(base_name, fmt, base_dir=base_dir, owner=self.owner, group=self.group) archive_files.append(file) self.distribution.dist_files.append(('sdist', '', file)) self.archive_files = archive_files if not self.keep_temp: dir_util.remove_tree(base_dir, dry_run=self.dry_run) def get_archive_files(self): """Return the list of archive files created when the command was run, or None if the command hasn't run yet. """ return self.archive_files build_scripts.py000064400000014130147221452520007767 0ustar00"""distutils.command.build_scripts Implements the Distutils 'build_scripts' command.""" import os, re from stat import ST_MODE from distutils import sysconfig from distutils.core import Command from distutils.dep_util import newer from distutils.util import convert_path, Mixin2to3 from distutils import log import tokenize # check if Python is called on the first line with this expression first_line_re = re.compile(b'^#!.*python[0-9.]*([ \t].*)?$') class build_scripts(Command): description = "\"build\" scripts (copy and fixup #! line)" user_options = [ ('build-dir=', 'd', "directory to \"build\" (copy) to"), ('force', 'f', "forcibly build everything (ignore file timestamps"), ('executable=', 'e', "specify final destination interpreter path"), ] boolean_options = ['force'] def initialize_options(self): self.build_dir = None self.scripts = None self.force = None self.executable = None self.outfiles = None def finalize_options(self): self.set_undefined_options('build', ('build_scripts', 'build_dir'), ('force', 'force'), ('executable', 'executable')) self.scripts = self.distribution.scripts def get_source_files(self): return self.scripts def run(self): if not self.scripts: return self.copy_scripts() def copy_scripts(self): r"""Copy each script listed in 'self.scripts'; if it's marked as a Python script in the Unix way (first line matches 'first_line_re', ie. starts with "\#!" and contains "python"), then adjust the first line to refer to the current Python interpreter as we copy. """ self.mkpath(self.build_dir) outfiles = [] updated_files = [] for script in self.scripts: adjust = False script = convert_path(script) outfile = os.path.join(self.build_dir, os.path.basename(script)) outfiles.append(outfile) if not self.force and not newer(script, outfile): log.debug("not copying %s (up-to-date)", script) continue # 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 OSError: if not self.dry_run: raise f = None else: encoding, lines = tokenize.detect_encoding(f.readline) f.seek(0) first_line = f.readline() if not first_line: self.warn("%s is an empty file (skipping)" % script) continue match = first_line_re.match(first_line) if match: adjust = True post_interp = match.group(1) or b'' if adjust: log.info("copying and adjusting %s -> %s", script, self.build_dir) updated_files.append(outfile) if not self.dry_run: if not sysconfig.python_build: executable = self.executable else: executable = os.path.join( sysconfig.get_config_var("BINDIR"), "python%s%s" % (sysconfig.get_config_var("VERSION"), sysconfig.get_config_var("EXE"))) executable = os.fsencode(executable) shebang = b"#!" + executable + post_interp + b"\n" # 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: raise ValueError( "The shebang ({!r}) is not decodable " "from utf-8".format(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. try: shebang.decode(encoding) except UnicodeDecodeError: raise ValueError( "The shebang ({!r}) is not decodable " "from the script encoding ({})" .format(shebang, encoding)) with open(outfile, "wb") as outf: outf.write(shebang) outf.writelines(f.readlines()) if f: f.close() else: if f: f.close() updated_files.append(outfile) self.copy_file(script, outfile) if os.name == 'posix': for file in outfiles: if self.dry_run: log.info("changing mode of %s", file) else: oldmode = os.stat(file)[ST_MODE] & 0o7777 newmode = (oldmode | 0o555) & 0o7777 if newmode != oldmode: log.info("changing mode of %s from %o to %o", file, oldmode, newmode) os.chmod(file, newmode) # XXX should we modify self.outfiles? return outfiles, updated_files class build_scripts_2to3(build_scripts, Mixin2to3): def copy_scripts(self): outfiles, updated_files = build_scripts.copy_scripts(self) if not self.dry_run: self.run_2to3(updated_files) return outfiles, updated_files check.py000064400000012737147221452520006211 0ustar00"""distutils.command.check Implements the Distutils 'check' command. """ from distutils.core import Command from distutils.errors import DistutilsSetupError try: # docutils is installed from docutils.utils import Reporter from docutils.parsers.rst import Parser from docutils import frontend from docutils import nodes from io import StringIO class SilentReporter(Reporter): def __init__(self, source, report_level, halt_level, stream=None, debug=0, encoding='ascii', error_handler='replace'): self.messages = [] Reporter.__init__(self, source, report_level, halt_level, stream, debug, encoding, error_handler) def system_message(self, level, message, *children, **kwargs): self.messages.append((level, message, children, kwargs)) return nodes.system_message(message, level=level, type=self.levels[level], *children, **kwargs) HAS_DOCUTILS = True except Exception: # Catch all exceptions because exceptions besides ImportError probably # indicate that docutils is not ported to Py3k. HAS_DOCUTILS = False class check(Command): """This command checks the meta-data of the package. """ description = ("perform some checks on the package") user_options = [('metadata', 'm', 'Verify meta-data'), ('restructuredtext', 'r', ('Checks if long string meta-data syntax ' 'are reStructuredText-compliant')), ('strict', 's', 'Will exit with an error if a check fails')] boolean_options = ['metadata', 'restructuredtext', 'strict'] def initialize_options(self): """Sets default values for options.""" self.restructuredtext = 0 self.metadata = 1 self.strict = 0 self._warnings = 0 def finalize_options(self): pass def warn(self, msg): """Counts the number of warnings that occurs.""" self._warnings += 1 return Command.warn(self, msg) def run(self): """Runs the command.""" # perform the various tests if self.metadata: self.check_metadata() if self.restructuredtext: if HAS_DOCUTILS: self.check_restructuredtext() elif self.strict: raise DistutilsSetupError('The docutils package is needed.') # let's raise an error in strict mode, if we have at least # one warning if self.strict and self._warnings > 0: raise DistutilsSetupError('Please correct your package.') def check_metadata(self): """Ensures that all required elements of meta-data are supplied. name, version, URL, (author and author_email) or (maintainer and maintainer_email)). Warns if any are missing. """ metadata = self.distribution.metadata missing = [] for attr in ('name', 'version', 'url'): if not (hasattr(metadata, attr) and getattr(metadata, attr)): missing.append(attr) if missing: self.warn("missing required meta-data: %s" % ', '.join(missing)) if metadata.author: if not metadata.author_email: self.warn("missing meta-data: if 'author' supplied, " + "'author_email' must be supplied too") elif metadata.maintainer: if not metadata.maintainer_email: self.warn("missing meta-data: if 'maintainer' supplied, " + "'maintainer_email' must be supplied too") else: self.warn("missing meta-data: either (author and author_email) " + "or (maintainer and maintainer_email) " + "must be supplied") def check_restructuredtext(self): """Checks if the long string fields are reST-compliant.""" data = self.distribution.get_long_description() for warning in self._check_rst_data(data): line = warning[-1].get('line') if line is None: warning = warning[1] else: warning = '%s (line %s)' % (warning[1], line) self.warn(warning) def _check_rst_data(self, data): """Returns warnings when the provided data doesn't compile.""" # the include and csv_table directives need this to be a path source_path = self.distribution.script_name or 'setup.py' parser = Parser() settings = frontend.OptionParser(components=(Parser,)).get_default_values() settings.tab_width = 4 settings.pep_references = None settings.rfc_references = None reporter = SilentReporter(source_path, settings.report_level, settings.halt_level, stream=settings.warning_stream, debug=settings.debug, encoding=settings.error_encoding, error_handler=settings.error_encoding_error_handler) document = nodes.document(settings, reporter, source=source_path) document.note_source(source_path, -1) try: parser.parse(data, document) except AttributeError as e: reporter.messages.append( (-1, 'Could not finish the parsing: %s.' % e, '', {})) return reporter.messages clean.py000064400000005330147221452520006205 0ustar00"""distutils.command.clean Implements the Distutils 'clean' command.""" # contributed by Bastian Kleineidam , added 2000-03-18 import os from distutils.core import Command from distutils.dir_util import remove_tree from distutils import log class clean(Command): description = "clean up temporary files from 'build' command" user_options = [ ('build-base=', 'b', "base build directory (default: 'build.build-base')"), ('build-lib=', None, "build directory for all modules (default: 'build.build-lib')"), ('build-temp=', 't', "temporary build directory (default: 'build.build-temp')"), ('build-scripts=', None, "build directory for scripts (default: 'build.build-scripts')"), ('bdist-base=', None, "temporary directory for built distributions"), ('all', 'a', "remove all build output, not just temporary by-products") ] boolean_options = ['all'] def initialize_options(self): self.build_base = None self.build_lib = None self.build_temp = None self.build_scripts = None self.bdist_base = None self.all = None def finalize_options(self): self.set_undefined_options('build', ('build_base', 'build_base'), ('build_lib', 'build_lib'), ('build_scripts', 'build_scripts'), ('build_temp', 'build_temp')) self.set_undefined_options('bdist', ('bdist_base', 'bdist_base')) def run(self): # remove the build/temp. directory (unless it's already # gone) if os.path.exists(self.build_temp): remove_tree(self.build_temp, dry_run=self.dry_run) else: log.debug("'%s' does not exist -- can't clean it", self.build_temp) if self.all: # remove build directories for directory in (self.build_lib, self.bdist_base, self.build_scripts): if os.path.exists(directory): remove_tree(directory, dry_run=self.dry_run) else: log.warn("'%s' does not exist -- can't clean it", directory) # just for the heck of it, try to remove the base build directory: # we might have emptied it right now, but if not we don't care if not self.dry_run: try: os.rmdir(self.build_base) log.info("removing '%s'", self.build_base) except OSError: pass bdist.py000064400000012672147221452520006237 0ustar00"""distutils.command.bdist Implements the Distutils 'bdist' command (create a built [binary] distribution).""" import os from distutils.core import Command from distutils.errors import * from distutils.util import get_platform def show_formats(): """Print list of available formats (arguments to "--format" option). """ from distutils.fancy_getopt import FancyGetopt formats = [] for format in bdist.format_commands: formats.append(("formats=" + format, None, bdist.format_command[format][1])) pretty_printer = FancyGetopt(formats) pretty_printer.print_help("List of available distribution formats:") class bdist(Command): description = "create a built (binary) distribution" user_options = [('bdist-base=', 'b', "temporary directory for creating built distributions"), ('plat-name=', 'p', "platform name to embed in generated filenames " "(default: %s)" % get_platform()), ('formats=', None, "formats for distribution (comma-separated list)"), ('dist-dir=', 'd', "directory to put final built distributions in " "[default: dist]"), ('skip-build', None, "skip rebuilding everything (for testing/debugging)"), ('owner=', 'u', "Owner name used when creating a tar file" " [default: current user]"), ('group=', 'g', "Group name used when creating a tar file" " [default: current group]"), ] boolean_options = ['skip-build'] help_options = [ ('help-formats', None, "lists available distribution formats", show_formats), ] # The following commands do not take a format option from bdist no_format_option = ('bdist_rpm',) # This won't do in reality: will need to distinguish RPM-ish Linux, # Debian-ish Linux, Solaris, FreeBSD, ..., Windows, Mac OS. default_format = {'posix': 'gztar', 'nt': 'zip'} # Establish the preferred order (for the --help-formats option). format_commands = ['rpm', 'gztar', 'bztar', 'xztar', 'ztar', 'tar', 'wininst', 'zip', 'msi'] # And the real information. format_command = {'rpm': ('bdist_rpm', "RPM distribution"), 'gztar': ('bdist_dumb', "gzip'ed tar file"), 'bztar': ('bdist_dumb', "bzip2'ed tar file"), 'xztar': ('bdist_dumb', "xz'ed tar file"), 'ztar': ('bdist_dumb', "compressed tar file"), 'tar': ('bdist_dumb', "tar file"), 'wininst': ('bdist_wininst', "Windows executable installer"), 'zip': ('bdist_dumb', "ZIP file"), 'msi': ('bdist_msi', "Microsoft Installer") } def initialize_options(self): self.bdist_base = None self.plat_name = None self.formats = None self.dist_dir = None self.skip_build = 0 self.group = None self.owner = None def finalize_options(self): # have to finalize 'plat_name' before 'bdist_base' if self.plat_name is None: if self.skip_build: self.plat_name = get_platform() else: self.plat_name = self.get_finalized_command('build').plat_name # 'bdist_base' -- parent of per-built-distribution-format # temporary directories (eg. we'll probably have # "build/bdist./dumb", "build/bdist./rpm", etc.) if self.bdist_base is None: build_base = self.get_finalized_command('build').build_base self.bdist_base = os.path.join(build_base, 'bdist.' + self.plat_name) self.ensure_string_list('formats') if self.formats is None: try: self.formats = [self.default_format[os.name]] except KeyError: raise DistutilsPlatformError( "don't know how to create built distributions " "on platform %s" % os.name) if self.dist_dir is None: self.dist_dir = "dist" def run(self): # Figure out which sub-commands we need to run. commands = [] for format in self.formats: try: commands.append(self.format_command[format][0]) except KeyError: raise DistutilsOptionError("invalid format '%s'" % format) # Reinitialize and run each command. for i in range(len(self.formats)): cmd_name = commands[i] sub_cmd = self.reinitialize_command(cmd_name) if cmd_name not in self.no_format_option: sub_cmd.format = self.formats[i] # passing the owner and group names for tar archiving if cmd_name == 'bdist_dumb': sub_cmd.owner = self.owner sub_cmd.group = self.group # If we're going to need to run this command again, tell it to # keep its temporary files around so subsequent runs go faster. if cmd_name in commands[i+1:]: sub_cmd.keep_temp = 1 self.run_command(cmd_name) __pycache__/config.cpython-36.opt-1.pyc000064400000024070147221452520013615 0ustar003 \3@sldZddlZddlZddlmZddlmZddlmZddl m Z ddd Z Gd d d eZ dd d Z dS)adistutils.command.config Implements the Distutils 'config' command, a (mostly) empty command class that exists mainly to be sub-classed by specific module distributions and applications. The idea is that while every "config" command is different, at least they're all named the same, and users always see "config" in the list of standard commands. Also, this is a good place to put common configure-like tasks: "try to compile this C code", or "figure out where this header file lives". N)Command)DistutilsExecError)customize_compiler)logz.cz.cxx)czc++c @seZdZdZd>d?d@dAdBdCdDdEdFg ZddZddZddZd d!Zd"d#Z d$d%Z d&d'Z d(d)Z d*d+Z dGd-d.ZdHd/d0ZdId1d2ZdJd3d4ZdKd5d6ZdLd8d9Zdddgfd:d;ZdMd  r)LANG_EXTopenwriteclose)r&bodyheaderslangfilenamefileheaderr'r'r(_gen_temp_sourcefileks       zconfig._gen_temp_sourcefilecCs<|j|||}d}|jj||g|jj|||d||fS)Nz _configtest.i)r!)rDr%extendr Z preprocess)r&r>r?r!r@srcoutr'r'r( _preprocessxs zconfig._preprocesscCs\|j|||}|jr"t|d||jj|g\}|jj||g|jj|g|d||fS)Nzcompiling '%s':)r!)rDr$ dump_filer Zobject_filenamesr%rEcompile)r&r>r?r!r@rFobjr'r'r(_compileszconfig._compilec Csr|j||||\}}tjjtjj|d} |jj|g| |||d|jjdk r\| |jj} |jj | ||| fS)Nr)r"r#Z target_lang) rLr-pathsplitextbasenamer Zlink_executableZ exe_extensionr%append) r&r>r?r!r"r#r@rFrKprogr'r'r(_links    z config._linkc GsX|s|j}g|_tjddj|x0|D](}ytj|Wq(tk rNYq(Xq(WdS)Nz removing: %s )r%rinfojoinr-removeOSError)r& filenamesrAr'r'r(_cleans z config._cleanrc CsRddlm}|jd}y|j||||Wn|k rDd}YnX|j|S)aQConstruct a source file from 'body' (a string containing lines of C/C++ code) and 'headers' (a list of header files to include) and run it through the preprocessor. Return true if the preprocessor succeeded, false if there were any errors. ('body' probably isn't of much use, but what the heck.) r) CompileErrorTF)r5rZr6rHrY)r&r>r?r!r@rZokr'r'r(try_cpps  zconfig.try_cppc Csx|j|j||||\}}t|tr0tj|}t|}d} x&|j} | dkrPP|j| r>d} Pq>W|j |j | S)aConstruct a source file (just like 'try_cpp()'), run it through the preprocessor, and return true if any line of the output matches 'pattern'. 'pattern' should either be a compiled regex object or a string containing a regex. If both 'body' and 'headers' are None, preprocesses an empty file -- which can be useful to determine the symbols the preprocessor and compiler set by default. FT) r6rHr*r+rerJr;readlinesearchr=rY) r&patternr>r?r!r@rFrGrBmatchliner'r'r( search_cpps    zconfig.search_cppc Csdddlm}|jy|j||||d}Wn|k rDd}YnXtj|rRdpTd|j|S)zwTry to compile a source file built from 'body' and 'headers'. Return true on success, false otherwise. r)rZTFzsuccess!zfailure.)r5rZr6rLrrTrY)r&r>r?r!r@rZr[r'r'r( try_compiles  zconfig.try_compilec Cspddlm}m}|jy|j||||||d} Wn||fk rPd} YnXtj| r^dp`d|j| S)zTry to compile and link a source file, built from 'body' and 'headers', to executable form. Return true on success, false otherwise. r)rZ LinkErrorTFzsuccess!zfailure.)r5rZrfr6rRrrTrY) r&r>r?r!r"r#r@rZrfr[r'r'r(try_links   zconfig.try_linkc Csddlm}m}|jy.|j||||||\} } } |j| gd} Wn||tfk rdd} YnXtj| rrdptd|j | S)zTry to compile, link to an executable, and run a program built from 'body' and 'headers'. Return true on success, false otherwise. r)rZrfTFzsuccess!zfailure.) r5rZrfr6rRZspawnrrrTrY) r&r>r?r!r"r#r@rZrfrFrKZexer[r'r'r(try_runs   zconfig.try_runrc Cst|jg}|r|jd||jd|r<|jd|n|jd||jddj|d}|j|||||S)aDetermine if function 'func' is available by constructing a source file that refers to 'func', and compiles and links it. If everything succeeds, returns true; otherwise returns false. The constructed source file starts out by including the header files listed in 'headers'. If 'decl' is true, it then declares 'func' (as "int func()"); you probably shouldn't supply 'headers' and set 'decl' true in the same call, or you might get errors about a conflicting declarations for 'func'. Finally, the constructed 'main()' function either references 'func' or (if 'call' is true) calls it. 'libraries' and 'library_dirs' are used when linking. z int %s ();z int main () {z %s();z %s;}r8)r6rPrUrg) r&funcr?r!r"r#ZdeclZcallr>r'r'r( check_funcs   zconfig.check_funccCs |j|jd|||g||S)aDetermine if 'library' is available to be linked against, without actually checking that any particular symbols are provided by it. 'headers' will be used in constructing the source file to be compiled, but the only effect of this is to check if all the header files listed are available. Any libraries listed in 'other_libraries' will be included in the link, in case 'library' has symbols that depend on other libraries. zint main (void) { })r6rg)r&Zlibraryr#r?r!Zother_librariesr'r'r( check_lib6s  zconfig.check_libcCs|jd|g|dS)zDetermine if the system header file named by 'header_file' exists and can be found by the preprocessor; return true if so, false otherwise. z /* No body */)r>r?r!)r\)r&rCr!r#r@r'r'r( check_headerDs zconfig.check_header)rNr )r Nr )r r r)rrr)rrr)rrr)rrr)rNr)rNr)NNNr)NNNr)NNr)NNNNr)NNNNr)NNNNrr)NNr)__name__ __module__ __qualname__ descriptionZ user_optionsr)r/r0r6rDrHrLrRrYr\rdrergrhrkrlrmr'r'r'r(rsT         rc CsJ|dkrtjd|n tj|t|}ztj|jWd|jXdS)zjDumps a file content into log.info. If head is not None, will be dumped before the file content. Nz%s)rrTr;readr=)rAheadrBr'r'r(rINs rI)N)__doc__r-r^Zdistutils.corerZdistutils.errorsrZdistutils.sysconfigrZ distutilsrr:rrIr'r'r'r( s     ;__pycache__/bdist_rpm.cpython-36.opt-2.pyc000064400000030615147221452520014336 0ustar003 \T@s|ddlZddlZddlZddlmZddlmZddlmZddl m Z ddl Tddl m Z ddlmZGd d d eZdS) N)Command)DEBUG) get_platform) write_file)*)get_python_version)logc+@seZdZdZdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dddddddddddddddddg)Zd4d9d=d2dUgZd4d9d=dXZdYdZZd[d\Zd]d^Z d_d`Z dadbZ dcddZ dedfZ dS) bdist_rpmzcreate an RPM distribution bdist-base=N/base directory for creating built distributions rpm-base=dbase directory for creating RPMs (defaults to "rpm" under --bdist-base; must be specified for RPM 2) dist-dir=dDdirectory to put final RPM files in (and .spec files if --spec-only)python=Mpath to Python interpreter to hard-code in the .spec file (default: "python") fix-pythonLhard-code the exact path to the current Python interpreter in the .spec file spec-onlyonly regenerate spec file source-onlyonly generate source RPM binary-onlyonly generate binary RPM use-bzip27use bzip2 instead of gzip to create source distributiondistribution-name=gname of the (Linux) distribution to which this RPM applies (*not* the name of the module distribution!)group=9package classification [default: "Development/Libraries"]release=RPM release numberserial=RPM serial numbervendor=aRPM "vendor" (eg. "Joe Blow ") [default: maintainer or author from setup script] packager=BRPM packager (eg. "Jane Doe ") [default: vendor] doc-files=6list of documentation files (space or comma-separated) changelog= RPM changelogicon=name of icon file provides=%capabilities provided by this package requires=%capabilities required by this package conflicts=-capabilities which conflict with this packagebuild-requires=+capabilities required to build this package obsoletes=*capabilities made obsolete by this package no-autoreq+do not automatically calculate dependencies keep-tempk"don't clean up RPM build directory no-keep-temp&clean up RPM build directory [default]use-rpm-opt-flags8compile with RPM_OPT_FLAGS when building from source RPMno-rpm-opt-flags&do not pass any RPM CFLAGS to compiler rpm3-mode"RPM 3 compatibility mode (default) rpm2-modeRPM 2 compatibility mode prep-script=3Specify a script for the PREP phase of RPM building build-script=4Specify a script for the BUILD phase of RPM building pre-install=:Specify a script for the pre-INSTALL phase of RPM buildinginstall-script=6Specify a script for the INSTALL phase of RPM building post-install=;Specify a script for the post-INSTALL phase of RPM buildingpre-uninstall=rnroREADME README.txtrk1rlrirprqrrrsrtrurvrwrxryrzr|r}r~rrr)rr)Z ensure_stringrZ get_contactZget_contact_emailZensure_string_list isinstancerolistrrexistsappend_format_changelogrpZensure_filename)rZreadmerrrrs>                         zbdist_rpm.finalize_package_datac Cstrsz-bdist_rpm._make_spec_file..zbrp-python-bytecompile \ z%brp-python-bytecompile %{__python} \ z2# Workaround for http://bugs.python.org/issue14443z%define __os_install_post z Name: %{name}zVersion: %{version}zRelease: %{release}z-Source0: %{name}-%{unmangled_version}.tar.bz2z,Source0: %{name}-%{unmangled_version}.tar.gzz License: zGroup: z>BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildrootzPrefix: %{_prefix}zBuildArch: noarchz BuildArch: %sVendorPackagerProvidesRequires Conflicts Obsoletesz%s: %s ZUNKNOWNzUrl: zDistribution: zBuildRequires: zIcon: z AutoReq: 0z %descriptionz%s %srz%s buildzenv CFLAGS="$RPM_OPT_FLAGS" z>%s install -O1 --root=$RPM_BUILD_ROOT --record=INSTALLED_FILESr{rr&%setup -n %{name}-%{unmangled_version}ZbuildrsZinstallrtcleanrurm -rf $RPM_BUILD_ROOT verifyscriptrvprerwpostrxpreunrypostunrz%rz%files -f INSTALLED_FILESz%defattr(-,root,root)z%doc z %changelog)rrrrrr)r{rrr)rrur)rrvN)rrwN)rrxN)rryN)rrzN)'rrZ get_versionreplacerkZget_description subprocessZ getoutputr splitlinesrrrhZ get_licenserjrrgetattrlowerrrZget_urlrirrqrrrrZget_long_descriptionrcrargvropenreadrrorp)rZ spec_fileZ vendor_hookZproblemZfixedZ fixed_hookZfieldvalZdef_setup_callZ def_buildZ install_cmdZscript_optionsZrpm_optattrdefaultrrrrs                   zbdist_rpm._make_spec_filecCs|s|Sg}x`|jjdD]N}|j}|ddkrD|jd|gq|ddkr\|j|q|jd|qW|ds||d=|S)Nrrrrrz )rrrr)rrpZ new_changelogrrrrr3s   zbdist_rpm._format_changelog)r Nr )r Nr )rrr)rNr)rNr)rNr)rNr)rNr)rNr)rNr)rNr )r!Nr")r#Nr$)r%Nr&)r'Nr()r)Nr*)r+Nr,)r-Nr.)r/Nr0)r1Nr2)r3Nr4)r5Nr6)r7Nr8)r9Nr:)r;r<r=)r>Nr?)r@NrA)rBNrC)rDNrE)rFNrG)rHNrI)rJNrK)rLNrM)rNNrO)rPNrQ)rRNrS)rTNrU)rVNrW)rXNrY)rZNr[)r\r]r^)__name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsZ negative_optrrrrrrrrrrrr s--)r )rrrZdistutils.corerZdistutils.debugrZdistutils.utilrZdistutils.file_utilrZdistutils.errorsZdistutils.sysconfigrZ distutilsrr rrrrs      __pycache__/clean.cpython-36.pyc000064400000004161147221452520012472 0ustar003 \ @sDdZddlZddlmZddlmZddlmZGdddeZdS)zBdistutils.command.clean Implements the Distutils 'clean' command.N)Command) remove_tree)logc@s>eZdZdZddddddgZdgZddZddZddZdS)cleanz-clean up temporary files from 'build' command build-base=b2base build directory (default: 'build.build-base') build-lib=Ns    __pycache__/bdist.cpython-36.pyc000064400000007263147221452520012523 0ustar003 \@sHdZddlZddlmZddlTddlmZddZGdd d eZdS) zidistutils.command.bdist Implements the Distutils 'bdist' command (create a built [binary] distribution).N)Command)*) get_platformcCsTddlm}g}x,tjD]"}|jd|dtj|dfqW||}|jddS)zFPrint list of available formats (arguments to "--format" option). r) FancyGetoptzformats=Nz'List of available distribution formats:)Zdistutils.fancy_getoptrbdistformat_commandsappendformat_commandZ print_help)rformatsformatZpretty_printerr /usr/lib64/python3.6/bdist.py show_formats s   rc @seZdZdZd6dddefd7d8d9d:d;gZdgZdd defgZdd?d@dAdBdCdDdEd/ Z d0d1Z d2d3Zd4d5Zd S)Frz$create a built (binary) distribution bdist-base=b4temporary directory for creating built distributionsz plat-name=pz;platform name to embed in generated filenames (default: %s)formats=N/formats for distribution (comma-separated list) dist-dir=d=directory to put final built distributions in [default: dist] skip-build2skip rebuilding everything (for testing/debugging)owner=u@Owner name used when creating a tar file [default: current user]group=gAGroup name used when creating a tar file [default: current group]z help-formatsz$lists available distribution formats bdist_rpmgztarzip)posixntrpmbztarxztarztartarwininstmsiRPM distribution bdist_dumbgzip'ed tar filebzip2'ed tar filexz'ed tar filecompressed tar filetar file bdist_wininstWindows executable installerZIP file bdist_msiMicrosoft Installer) r&r"r'r(r)r*r+r#r,cCs.d|_d|_d|_d|_d|_d|_d|_dS)Nr) bdist_base plat_namer dist_dir skip_buildgroupowner)selfr r rinitialize_optionsQszbdist.initialize_optionsc Cs|jdkr(|jrt|_n|jdj|_|jdkrT|jdj}tjj|d|j|_|j d|j dkry|j tj g|_ Wn"t k rtdtj YnX|jdkrd|_dS)NZbuildzbdist.r z;don't know how to create built distributions on platform %sZdist)r:r<rZget_finalized_commandr9 build_baseospathjoinZensure_string_listr default_formatnameKeyErrorZDistutilsPlatformErrorr;)r?rAr r rfinalize_optionsZs$       zbdist.finalize_optionsc Csg}xH|jD]>}y|j|j|dWq tk rHtd|Yq Xq Wxztt|jD]h}||}|j|}||jkr|j||_ |dkr|j |_ |j |_ |||ddkrd|_ |j |q^WdS)Nrzinvalid format '%s'r.r)r r r rGZDistutilsOptionErrorrangelenZreinitialize_commandno_format_optionr r>r=Z keep_tempZ run_command)r?Zcommandsr iZcmd_nameZsub_cmdr r rrunvs"    z bdist.run)rrr)rNr)rrr)rNr)rrr)rrr )r!)r!r-)r.r/)r.r0)r.r1)r.r2)r.r3)r4r5)r.r6)r7r8)__name__ __module__ __qualname__ descriptionrZ user_optionsZboolean_optionsrZ help_optionsrKrErr r@rHrMr r r rrsJ    r) __doc__rBZdistutils.corerZdistutils.errorsZdistutils.utilrrrr r r rs    __pycache__/check.cpython-36.opt-2.pyc000064400000011061147221452520013422 0ustar003 \x @sddlmZddlmZyTddlmZddlmZddlm Z ddlm Z ddl m Z Gdd d eZ d ZWnek rd ZYnXGd d d eZdS))Command)DistutilsSetupError)Reporter)Parser)frontend)nodes)StringIOc@seZdZd ddZddZdS) SilentReporterNrasciireplacec Cs"g|_tj||||||||dS)N)messagesr__init__)selfsource report_level halt_levelstreamdebugencoding error_handlerr//usr/lib64/python3.6/distutils/command/check.pyr szSilentReporter.__init__cOs6|jj||||ftj|f|||j|d|S)N)leveltype)r appendrsystem_messageZlevels)rrmessageZchildrenkwargsrrrrszSilentReporter.system_message)Nrr r )__name__ __module__ __qualname__r rrrrrr s r TFc@s\eZdZdZdddgZdddgZd d Zd dZddZddZ ddZ ddZ ddZ dS)checkz"perform some checks on the packagemetadatamVerify meta-datarestructuredtextrEChecks if long string meta-data syntax are reStructuredText-compliantstricts(Will exit with an error if a check failscCsd|_d|_d|_d|_dS)Nr)r%r"r( _warnings)rrrrinitialize_options1szcheck.initialize_optionscCsdS)Nr)rrrrfinalize_options8szcheck.finalize_optionscCs|jd7_tj||S)Nr+)r,rwarn)rmsgrrrr/;sz check.warncCsL|jr|j|jr0tr"|jn|jr0td|jrH|jdkrHtddS)NzThe docutils package is needed.rzPlease correct your package.)r"check_metadatar% HAS_DOCUTILScheck_restructuredtextr(rr,)rrrrrun@s z check.runcCs|jj}g}x*d D]"}t||o(t||s|j|qW|rP|jddj||jrh|js|jdn"|j r|j s|jdn |jddS)Nnameversionurlzmissing required meta-data: %sz, z)missing meta-data: if 'author' supplied, z#'author_email' must be supplied tooz-missing meta-data: if 'maintainer' supplied, z''maintainer_email' must be supplied tooz4missing meta-data: either (author and author_email) z%or (maintainer and maintainer_email) zmust be supplied)r5r6r7zLmissing meta-data: if 'author' supplied, 'author_email' must be supplied toozTmissing meta-data: if 'maintainer' supplied, 'maintainer_email' must be supplied toozYmissing meta-data: either (author and author_email) or (maintainer and maintainer_email) zimissing meta-data: either (author and author_email) or (maintainer and maintainer_email) must be supplied) distributionr"hasattrgetattrrr/joinZauthorZ author_emailZ maintainerZmaintainer_email)rr"Zmissingattrrrrr1Ps$ zcheck.check_metadatacCs\|jj}xL|j|D]>}|djd}|dkr:|d}nd|d|f}|j|qWdS)Nr+linez %s (line %s))r8Zget_long_description_check_rst_datagetr/)rdataZwarningr=rrrr3ns  zcheck.check_restructuredtextcCst}t}tjtfdj}d|_d|_d|_t||j |j |j |j |j |jd}tj|||d}|j|dy|j||Wn:tk r}z|jjd d|difWYdd}~XnX|jS) N)Z components)rrrr)rr+z!Could not finish the parsing: %s.r>r>)rrrZ OptionParserZget_default_valuesZ tab_widthZpep_referencesZrfc_referencesr rrZwarning_streamrZerror_encodingZerror_encoding_error_handlerrdocumentZ note_sourceparseAttributeErrorr r)rrA source_pathparserZsettingsZreporterrDerrrr?ys*  $zcheck._check_rst_dataN)r"r#r$)r%r&r')r(r)r*) rrr Z descriptionZ user_optionsZboolean_optionsr-r.r/r4r1r3r?rrrrr!$s  r!N)Zdistutils.corerZdistutils.errorsrZdocutils.utilsrZdocutils.parsers.rstrZdocutilsrriorr r2 Exceptionr!rrrrs        __pycache__/bdist_dumb.cpython-36.pyc000064400000007215147221452520013527 0ustar003 \1@shdZddlZddlmZddlmZddlmZmZddl Tddl m Z ddl m Z Gd d d eZdS) zdistutils.command.bdist_dumb Implements the Distutils 'bdist_dumb' command (create a "dumb" built distribution -- i.e., just an archive to be unpacked under $prefix or $exec_prefix).N)Command) get_platform) remove_treeensure_relative)*)get_python_version)logc @s^eZdZdZd%dddefd&d(d)d*d+d,d-g Zd ddgZdddZdd Zd!d"Z d#d$Z dS). bdist_dumbz"create a "dumb" built distribution bdist-dir=d1temporary directory for creating the distributionz plat-name=pz;platform name to embed in generated filenames (default: %s)format=f>archive format to create (tar, gztar, bztar, xztar, ztar, zip) keep-tempkz/keep the pseudo-installation tree around after z!creating the distribution archive dist-dir=-directory to put final built distributions in skip-buildN2skip rebuilding everything (for testing/debugging)relative7build the archive using relative paths (default: false)owner=u@Owner name used when creating a tar file [default: current user]group=gAGroup name used when creating a tar file [default: current group]Zgztarzip)posixntcCs:d|_d|_d|_d|_d|_d|_d|_d|_d|_dS)Nr) bdist_dir plat_nameformat keep_tempdist_dir skip_buildrownergroup)selfr+"/usr/lib64/python3.6/bdist_dumb.pyinitialize_options2szbdist_dumb.initialize_optionscCsz|jdkr&|jdj}tjj|d|_|jdkrfy|jtj|_Wn"t k rdt dtjYnX|j dddd dS) NZbdistZdumbz@don't know how to create dumb built distributions on platform %sr&r#r')r&r&)r#r#)r'r') r"Zget_finalized_command bdist_baseospathjoinr$default_formatnameKeyErrorDistutilsPlatformErrorZset_undefined_options)r*r.r+r+r,finalize_options=s   zbdist_dumb.finalize_optionscCs(|js|jd|jddd}|j|_|j|_d|_tjd|j|jdd|jj |j f}t j j |j|}|js~|j}nJ|jjr|j|jkrtdt|jt|jfnt j j |jt|j}|j||j||j|jd }|jjrt}nd }|jjjd ||f|js$t|j|jd dS) NZbuildinstall)Zreinit_subcommandsrzinstalling to %sz%s.%szScan't make a dumb built distribution where base and platbase are different (%s, %s))Zroot_dirr(r)anyr )dry_run) r'Z run_commandZreinitialize_commandr"rootZwarn_dirrinfoZ distributionZ get_fullnamer#r/r0r1r&rZhas_ext_modulesZ install_baseZinstall_platbaser5reprrZ make_archiver$r(r)rZ dist_filesappendr%rr:)r*r7Zarchive_basenameZpseudoinstall_rootZ archive_rootfilenameZ pyversionr+r+r,runOs>          zbdist_dumb.run)r r r )rrrPkeep the pseudo-installation tree around after creating the distribution archive)rrrA)rr r)rNr)rNr)rrr)rrr) __name__ __module__ __qualname__ descriptionrZ user_optionsZboolean_optionsr2r-r6r@r+r+r+r,r s6  r )__doc__r/Zdistutils.corerZdistutils.utilrZdistutils.dir_utilrrZdistutils.errorsZdistutils.sysconfigrZ distutilsrr r+r+r+r,s    __pycache__/install_data.cpython-36.opt-2.pyc000064400000004203147221452520015004 0ustar003 \ @s8ddlZddlmZddlmZmZGdddeZdS)N)Command) change_root convert_pathc@sHeZdZdZdddgZdgZd d Zd dZddZddZ ddZ dS) install_datazinstall data files install-dir=dIbase directory for installing data files (default: installation base dir)root=Ns __pycache__/install_headers.cpython-36.pyc000064400000003252147221452520014551 0ustar003 \@s$dZddlmZGdddeZdS)zdistutils.command.install_headers Implements the Distutils 'install_headers' command, to install C/C++ header files to the Python include directory.)Commandc@sFeZdZdZddgZdgZdd Zd d Zd d ZddZ ddZ dS)install_headerszinstall C/C++ header files install-dir=d$directory to install header files toforcef-force installation (overwrite existing files)cCsd|_d|_g|_dS)Nr) install_dirroutfiles)selfr '/usr/lib64/python3.6/install_headers.pyinitialize_optionssz"install_headers.initialize_optionscCs|jddddS)NZinstallrr r)rr )rr)Zset_undefined_options)r r r rfinalize_optionssz install_headers.finalize_optionscCsL|jj}|sdS|j|jx*|D]"}|j||j\}}|jj|q"WdS)N) distributionheadersZmkpathr Z copy_filer append)r rheaderout_r r rrun!s  zinstall_headers.runcCs |jjp gS)N)rr)r r r r get_inputs+szinstall_headers.get_inputscCs|jS)N)r )r r r r get_outputs.szinstall_headers.get_outputsN)rrr)rrr ) __name__ __module__ __qualname__ descriptionZ user_optionsZboolean_optionsrrrrrr r r rr s rN)__doc__Zdistutils.corerrr r r rs __pycache__/install_headers.cpython-36.opt-2.pyc000064400000003026147221452520015510 0ustar003 \@s ddlmZGdddeZdS))Commandc@sFeZdZdZddgZdgZdd Zd d Zd d ZddZ ddZ dS)install_headerszinstall C/C++ header files install-dir=d$directory to install header files toforcef-force installation (overwrite existing files)cCsd|_d|_g|_dS)Nr) install_dirroutfiles)selfr 9/usr/lib64/python3.6/distutils/command/install_headers.pyinitialize_optionssz"install_headers.initialize_optionscCs|jddddS)NZinstallrr r)rr )rr)Zset_undefined_options)r r r rfinalize_optionssz install_headers.finalize_optionscCsL|jj}|sdS|j|jx*|D]"}|j||j\}}|jj|q"WdS)N) distributionheadersZmkpathr Z copy_filer append)r rheaderout_r r rrun!s  zinstall_headers.runcCs |jjp gS)N)rr)r r r r get_inputs+szinstall_headers.get_inputscCs|jS)N)r )r r r r get_outputs.szinstall_headers.get_outputsN)rrr)rrr ) __name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsrrrrrr r r rr s rN)Zdistutils.corerrr r r rs __pycache__/install_egg_info.cpython-36.opt-2.pyc000064400000004402147221452520015651 0ustar003 \+ @s`ddlmZddlmZmZddlZddlZddlZGdddeZddZ dd Z d d Z dS) )Command)logdir_utilNc@s6eZdZdZdgZddZddZd d Zd d Zd S)install_egg_infoz8Install package's PKG-INFO metadata as an .egg-info file install-dir=ddirectory to install tocCs d|_dS)N) install_dir)selfr :/usr/lib64/python3.6/distutils/command/install_egg_info.pyinitialize_optionssz#install_egg_info.initialize_optionscCsb|jdddtt|jjtt|jjftjdd}t j j |j ||_ |j g|_dS)NZ install_libr z%s-%s-py%d.%d.egg-info)r r )Zset_undefined_options to_filename safe_name distributionZget_name safe_versionZ get_versionsys version_infoospathjoinr targetoutputs)r basenamer r r finalize_optionss z!install_egg_info.finalize_optionsc Cs|j}tjj|r2tjj| r2tj||jdnNtjj|rX|j tj |jfd|n(tjj|j s|j tj |j fd|j t jd||jst|ddd}|jjj|WdQRXdS)N)dry_runz Removing z Creating z Writing %swzUTF-8)encoding)rrrisdirislinkrZ remove_treerexistsZexecuteunlinkr makedirsrinfoopenrZmetadataZwrite_pkg_file)r rfr r r run s   zinstall_egg_info.runcCs|jS)N)r)r r r r get_outputs.szinstall_egg_info.get_outputsN)rrr) __name__ __module__ __qualname__Z descriptionZ user_optionsr rr'r(r r r r r s  rcCstjdd|S)Nz[^A-Za-z0-9.]+-)resub)namer r r r6srcCs|jdd}tjdd|S)N .z[^A-Za-z0-9.]+r,)replacer-r.)versionr r r r>s rcCs |jddS)Nr,_)r2)r/r r r rHsr) Z distutils.cmdrZ distutilsrrrrr-rrrrr r r r s + __pycache__/bdist_msi.cpython-36.pyc000064400000046445147221452520013400 0ustar003 \@sdZddlZddlZddlmZddlmZddlmZddl m Z ddl m Z ddl mZdd lmZddlZdd lmZmZmZdd lmZmZmZmZGd d d eZGdddeZdS)z# Implements the bdist_msi command. N)Command) remove_tree)get_python_version) StrictVersion)DistutilsOptionError) get_platform)log)schemasequencetext) DirectoryFeatureDialogadd_datac@sFeZdZdZddZddZddd Zdd d ZdddZddZ dS)PyDialogzDialog class with a fixed layout: controls at the top, then a ruler, then a list of buttons: back, next, cancel. Optionally a bitmap at the left.cOs>tj|f||jd}d|d}|jdd||jddS)zbDialog(database, name, x, y, w, h, attributes, title, first, default, cancel, bitmap=true)$iHZ BottomLinerN)r__init__hlinew)selfargskwZrulerZbmwidthr!/usr/lib64/python3.6/bdist_msi.pyrs  zPyDialog.__init__c Cs|jddddddd|dS) z,Set the title text of the dialog at the top.Title i@<iz{\VerdanaBold10}%sN)r )rtitlerrrr #szPyDialog.titleBackc Cs,|r d}nd}|j|d|jddd|||S)zAdd a back button with a given title, the tab-next button, its name in the Control table, possibly initially disabled. Return the button, so that events can be associatedr"8) pushbuttonr)rr nextnameactiveflagsrrrback*sz PyDialog.backCancelc Cs,|r d}nd}|j|d|jddd|||S)zAdd a cancel button with a given title, the tab-next button, its name in the Control table, possibly initially disabled. Return the button, so that events can be associatedr#r"i0r%r&r')r(r)rr r)r*r+r,rrrcancel5szPyDialog.cancelNextc Cs,|r d}nd}|j|d|jddd|||S)zAdd a Next button with a given title, the tab-next button, its name in the Control table, possibly initially disabled. Return the button, so that events can be associatedr#r"r%r&r')r(r)rr r)r*r+r,rrrr)@sz PyDialog.nextc Cs,|j|t|j|d|jdddd||S)zAdd a button with a given title, the tab-next button, its name in the Control table, giving its x position; the y-position is aligned with the other buttons. Return the button, so that events can be associatedr%r&r'r#)r(intrr)rr*r r)ZxposrrrxbuttonKszPyDialog.xbuttonN)r!r")r.r")r0r") __name__ __module__ __qualname____doc__rr r-r/r)r4rrrrrs  rc@seZdZdZdCdddefdEdGdHdIdJdKdLdMg ZddddgZddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1gZd2Zd3d4Z d5d6Z d7d8Z d9d:Z d;d<Z d=d>Zd?d@ZdAdBZdS)N bdist_msiz7create a Microsoft Installer (.msi) binary distribution bdist-dir=N1temporary directory for creating the distributionz plat-name=pz;platform name to embed in generated filenames (default: %s) keep-tempkz/keep the pseudo-installation tree around after z!creating the distribution archivetarget-version=z!require a specific python versionz on the target systemno-target-compilec/do not compile .py to .pyc on the target systemno-target-optimizeo;do not compile .py to .pyo (optimized) on the target system dist-dir=d-directory to put final built distributions in skip-build2skip rebuilding everything (for testing/debugging)install-script=Ubasename of installation script to be run after installation or before deinstallationpre-install-script={Fully qualified filename of a script to be run before any files are installed. This script need not be in the distributionz2.0z2.1z2.2z2.3z2.4z2.5z2.6z2.7z2.8z2.9z3.0z3.1z3.2z3.3z3.4z3.5z3.6z3.7z3.8z3.9XcCsFd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ dS)Nr) bdist_dir plat_name keep_tempZno_target_compileZno_target_optimizetarget_versiondist_dir skip_buildinstall_scriptpre_install_scriptversions)rrrrinitialize_options}szbdist_msi.initialize_optionscCs|jdd |jdkr2|jdj}tjj|d|_t}|j rP|j j rP||_|jr|jg|_ |j r|j j r|j|krt d|fn t|j|_ |jdd d |jrt d|jrx2|j jD]}|jtjj|krPqWt d|jd|_dS) NZbdistrUZmsizMtarget version can only be %s, or the '--skip-build' option must be specifiedrTrQz5the pre-install-script feature is not yet implementedz(install_script '%s' not found in scripts)rUrU)rTrT)rQrQ)Zset_undefined_optionsrPget_finalized_command bdist_baseospathjoinrrS distributionhas_ext_modulesrXrUrlist all_versionsrWrVscriptsbasenameinstall_script_key)rr[Z short_versionZscriptrrrfinalize_optionss:        zbdist_msi.finalize_optionscCs|js|jd|jddd}|j|_|j|_d|_|jd}d|_d|_|jj r|j }|s~|jslt ddt j dd }d |j|f}|jd}tjj|jd ||_tjd |j|jt jjdtjj|jd |jt jd=|j|j|jj}|j|}tjj|}tjj|r0tj ||jj!}|j"} | sJ|j#} | sTd} |j$} dt%| j&} |jj}|j rd|j |f} nd|} t'j(|t)| t'j*| | |_+t'j,|j+t-d| fg} |j.p|j/}|r| j0d|f|j1r| j0d|j1f| rt2|j+d| |j3|j4|j5|j6|j+j7t8|jdrld|j pXd|f}|jj9j0||j:st;|j|j| jd?d9d@d;dAd=dB| j d2d6d2dC} | j dDdEt|dF||||||d2d2d2 } | jdG| jd4d2dd5| jd6d7dd5| jd8d9d:d;dz [TARGETDIR]z [SourceDir])Zorderingz [TARGETDIR%s]z FEATURE_SELECTED AND &Python%s=3ZSpawnWaitDialogrjZFeaturesZ SelectionTreerZFEATUREZPathEditz[FEATURE_SELECTED]1z!FEATURE_SELECTED AND &Python%s<>3ZOtherz$Provide an alternate Python locationZEnableZShowZDisableZHiderrZ DiskCostDlgZOKz&{\DlgFontBold8}Disk Space RequirementszFThe disk space required for the installation of the selected features.5aThe highlighted volumes (if any) do not have enough disk space available for the currently selected features. You can either remove some files from the highlighted volumes, or choose to install less features onto local drive(s), or select different destination drive(s).Z VolumeListZVolumeCostListdiz{120}{70}{70}{70}{70}g?Z AdminInstallzGSelect whether to install [ProductName] for all users of this computer.zInstall for all usersZJUSTMEzInstall just for mez [ALLUSERS]zWhichUsers="ALL"z({\DlgFontBold8}[Progress1] [ProductName]#AzYPlease wait while the Installer [Progress2] [ProductName]. This may take several minutes.Z StatusLabelzStatus:Z ProgressBariz Progress doneZ SetProgressZProgressz)Welcome to the [ProductName] Setup WizardZBodyText?z:Select whether you want to repair or remove [ProductName].ZRepairRadioGrouplrz&Repair [ProductName]ZRemoverzRe&move [ProductName]z [REINSTALL]zMaintenanceForm_Action="Repair"z [Progress1]Z Repairingz [Progress2]ZrepairsZ Reinstallz[REMOVE]zMaintenanceForm_Action="Remove" ZRemoving Zremoves z MaintenanceForm_Action<>"Change")rr)rr)rr)rr)rr)rr)rrrNr)rrrNr")rrrNr")rrrrr)rrr)rrr)rrr)rrr)rNr)rrr rrrr r-r/r)ZeventZcontrolrr(mappingr_ryrXrZ conditionr4Z radiogroupadd)rrxyrrr ZmodalZmodelessZtrack_disk_spaceZfatalrAZ user_exitZ exit_dialogZinuseerrorr/ZcostingZprepZseldlgorderrrZinstall_other_condZdont_install_other_condZcostZ whichusersgZprogressZmaintrrrrs                                                                zbdist_msi.add_uicCs<|jrd||j|jf}nd||jf}tjj|j|}|S)Nz%s.%s-py%s.msiz %s.%s.msi)rSrQr\r]r^rT)rrZ base_namerrrrrzs  z bdist_msi.get_installer_filename)r:Nr;Pkeep the pseudo-installation tree around after creating the distribution archive)r=r>r6require a specific python version on the target system)r?Nr)r@rArB)rCrDrE)rFrGrH)rINrJ)rKNrL)rMNrN)r5r6r7 descriptionrZ user_optionsZboolean_optionsrbrrYrfrxrrrrrzrrrrr9SsR    ([66&@r9)r8rtr\Zdistutils.corerZdistutils.dir_utilrZdistutils.sysconfigrZdistutils.versionrZdistutils.errorsrZdistutils.utilrZ distutilsrrr r r r r rrrr9rrrrs       >__pycache__/bdist_dumb.cpython-36.opt-2.pyc000064400000006727147221452520014476 0ustar003 \1@sdddlZddlmZddlmZddlmZmZddlTddl m Z ddl m Z Gdd d eZ dS) N)Command) get_platform) remove_treeensure_relative)*)get_python_version)logc @s^eZdZdZd%dddefd&d(d)d*d+d,d-g Zd ddgZdddZdd Zd!d"Z d#d$Z dS). bdist_dumbz"create a "dumb" built distribution bdist-dir=d1temporary directory for creating the distributionz plat-name=pz;platform name to embed in generated filenames (default: %s)format=f>archive format to create (tar, gztar, bztar, xztar, ztar, zip) keep-tempkz/keep the pseudo-installation tree around after z!creating the distribution archive dist-dir=-directory to put final built distributions in skip-buildN2skip rebuilding everything (for testing/debugging)relative7build the archive using relative paths (default: false)owner=u@Owner name used when creating a tar file [default: current user]group=gAGroup name used when creating a tar file [default: current group]Zgztarzip)posixntcCs:d|_d|_d|_d|_d|_d|_d|_d|_d|_dS)Nr) bdist_dir plat_nameformat keep_tempdist_dir skip_buildrownergroup)selfr+4/usr/lib64/python3.6/distutils/command/bdist_dumb.pyinitialize_options2szbdist_dumb.initialize_optionscCsz|jdkr&|jdj}tjj|d|_|jdkrfy|jtj|_Wn"t k rdt dtjYnX|j dddd dS) NZbdistZdumbz@don't know how to create dumb built distributions on platform %sr&r#r')r&r&)r#r#)r'r') r"Zget_finalized_command bdist_baseospathjoinr$default_formatnameKeyErrorDistutilsPlatformErrorZset_undefined_options)r*r.r+r+r,finalize_options=s   zbdist_dumb.finalize_optionscCs(|js|jd|jddd}|j|_|j|_d|_tjd|j|jdd|jj |j f}t j j |j|}|js~|j}nJ|jjr|j|jkrtdt|jt|jfnt j j |jt|j}|j||j||j|jd }|jjrt}nd }|jjjd ||f|js$t|j|jd dS) NZbuildinstall)Zreinit_subcommandsrzinstalling to %sz%s.%szScan't make a dumb built distribution where base and platbase are different (%s, %s))Zroot_dirr(r)anyr )dry_run) r'Z run_commandZreinitialize_commandr"rootZwarn_dirrinfoZ distributionZ get_fullnamer#r/r0r1r&rZhas_ext_modulesZ install_baseZinstall_platbaser5reprrZ make_archiver$r(r)rZ dist_filesappendr%rr:)r*r7Zarchive_basenameZpseudoinstall_rootZ archive_rootfilenameZ pyversionr+r+r,runOs>          zbdist_dumb.run)r r r )rrrPkeep the pseudo-installation tree around after creating the distribution archive)rrrA)rr r)rNr)rNr)rrr)rrr) __name__ __module__ __qualname__Z descriptionrZ user_optionsZboolean_optionsr2r-r6r@r+r+r+r,r s6  r )r/Zdistutils.corerZdistutils.utilrZdistutils.dir_utilrrZdistutils.errorsZdistutils.sysconfigrZ distutilsrr r+r+r+r,s    __pycache__/bdist.cpython-36.opt-1.pyc000064400000007263147221452520013462 0ustar003 \@sHdZddlZddlmZddlTddlmZddZGdd d eZdS) zidistutils.command.bdist Implements the Distutils 'bdist' command (create a built [binary] distribution).N)Command)*) get_platformcCsTddlm}g}x,tjD]"}|jd|dtj|dfqW||}|jddS)zFPrint list of available formats (arguments to "--format" option). r) FancyGetoptzformats=Nz'List of available distribution formats:)Zdistutils.fancy_getoptrbdistformat_commandsappendformat_commandZ print_help)rformatsformatZpretty_printerr /usr/lib64/python3.6/bdist.py show_formats s   rc @seZdZdZd6dddefd7d8d9d:d;gZdgZdd defgZdd?d@dAdBdCdDdEd/ Z d0d1Z d2d3Zd4d5Zd S)Frz$create a built (binary) distribution bdist-base=b4temporary directory for creating built distributionsz plat-name=pz;platform name to embed in generated filenames (default: %s)formats=N/formats for distribution (comma-separated list) dist-dir=d=directory to put final built distributions in [default: dist] skip-build2skip rebuilding everything (for testing/debugging)owner=u@Owner name used when creating a tar file [default: current user]group=gAGroup name used when creating a tar file [default: current group]z help-formatsz$lists available distribution formats bdist_rpmgztarzip)posixntrpmbztarxztarztartarwininstmsiRPM distribution bdist_dumbgzip'ed tar filebzip2'ed tar filexz'ed tar filecompressed tar filetar file bdist_wininstWindows executable installerZIP file bdist_msiMicrosoft Installer) r&r"r'r(r)r*r+r#r,cCs.d|_d|_d|_d|_d|_d|_d|_dS)Nr) bdist_base plat_namer dist_dir skip_buildgroupowner)selfr r rinitialize_optionsQszbdist.initialize_optionsc Cs|jdkr(|jrt|_n|jdj|_|jdkrT|jdj}tjj|d|j|_|j d|j dkry|j tj g|_ Wn"t k rtdtj YnX|jdkrd|_dS)NZbuildzbdist.r z;don't know how to create built distributions on platform %sZdist)r:r<rZget_finalized_commandr9 build_baseospathjoinZensure_string_listr default_formatnameKeyErrorZDistutilsPlatformErrorr;)r?rAr r rfinalize_optionsZs$       zbdist.finalize_optionsc Csg}xH|jD]>}y|j|j|dWq tk rHtd|Yq Xq Wxztt|jD]h}||}|j|}||jkr|j||_ |dkr|j |_ |j |_ |||ddkrd|_ |j |q^WdS)Nrzinvalid format '%s'r.r)r r r rGZDistutilsOptionErrorrangelenZreinitialize_commandno_format_optionr r>r=Z keep_tempZ run_command)r?Zcommandsr iZcmd_nameZsub_cmdr r rrunvs"    z bdist.run)rrr)rNr)rrr)rNr)rrr)rrr )r!)r!r-)r.r/)r.r0)r.r1)r.r2)r.r3)r4r5)r.r6)r7r8)__name__ __module__ __qualname__ descriptionrZ user_optionsZboolean_optionsrZ help_optionsrKrErr r@rHrMr r r rrsJ    r) __doc__rBZdistutils.corerZdistutils.errorsZdistutils.utilrrrr r r rs    __pycache__/build_ext.cpython-36.opt-2.pyc000064400000034410147221452520014327 0ustar003 \z@sddlZddlZddlZddlZddlmZddlTddlmZm Z ddlm Z ddl m Z ddl mZddlmZdd lmZdd lmZejd Zd d ZGdddeZdS)N)Command)*)customize_compilerget_python_version)get_config_h_filename) newer_group) Extension) get_platform)log) USER_BASEz3^[a-zA-Z_][a-zA-Z_0-9]*(\.[a-zA-Z_][a-zA-Z_0-9]*)*$cCsddlm}|dS)Nr)show_compilers)distutils.ccompilerr )r r3/usr/lib64/python3.6/distutils/command/build_ext.pyr s r c@seZdZdZdejZd`dad d d efdcdddefdddedfdddefdgdhdidjdkdldmdndodpgZd d%d(d1d8gZ d:d2d;e fgZ dd?Z d@dAZdBdCZdDdEZdFdGZdHdIZdJdKZdLdMZejdNdOZdPdQZdRdSZdTdUZdVdWZdXdYZdZd[Zd\d]Zd^d_Zd2S)q build_extz8build C/C++ extensions (compile/link to build directory)z (separated by '%s') build-lib=b(directory for compiled extension modules build-temp=t1directory for temporary files (build by-products)z plat-name=pz>platform name to cross-compile for, if supported (default: %s)inplaceiz=ignore build-lib and put compiled extensions into the source z,directory alongside your pure Python modulesz include-dirs=Iz.list of directories to search for header filesdefine=DC preprocessor macros to defineundef=U!C preprocessor macros to undefine libraries=l!external C libraries to link withz library-dirs=Lz.directories to search for external C librariesrpath=R7directories to search for shared C libraries at runtime link-objects=O2extra explicit link objects to include in the linkdebugg'compile/link with debugging informationforcef2forcibly build everything (ignore file timestamps) compiler=cspecify the compiler type parallel=jnumber of parallel build jobsswig-cppN)make SWIG create C++ files (default is C) swig-opts=!list of SWIG command line optionsswig=path to the SWIG executableuser#add user include, library and rpathz help-compilerzlist available compilerscCsd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ d|_ d|_ d|_d|_d|_d|_d|_d|_d|_dS)Nr) extensions build_lib plat_name build_temprpackage include_dirsdefineundef libraries library_dirsrpath link_objectsr+r.compilerswigswig_cpp swig_optsr=parallel)selfrrrinitialize_optionsjs*zbuild_ext.initialize_optionsc Csddlm}|jdd'd(d)d*d+d,d-|jdkr8|jj|_|jj|_|j}|jd d }|j dkrn|jj pjg|_ t |j t r|j j t j|_ tjtjkr|j jt jjtjd |j j|||kr|j j||jd|jd|jdkrg|_|jdkrg|_nt |jt r&|jj t j|_|jdkr:g|_nt |jt rX|jj t j|_t jdkrT|jjt jjtjdtjtjkr|jjt jjtjd|jrt jj|jd|_nt jj|jd|_|j jt jjtttdd}|r|jj||j dkrd}n|j dd}t jjtjd}|rHt jj||}|jj|tj!dddks|tj!dddkrtj"j#t jjtjdr|jjt jjtjddt$dn |jjd|j%d r|j&s|jj|j%d!n |jjd|j'r|j'j d"}d#d$|D|_'|j(r4|j(j d"|_(|j)dkrHg|_)n|j)j d%|_)|j*rt jjt+d }t jjt+d} t jj,|r|j j|t jj,| r|jj| |jj| t |j-t ryt.|j-|_-Wnt/k rt0d&YnXdS).Nr) sysconfigZbuildr@rBrKr+r.rOrA)Z plat_specificincluderGrJntZlibsZDebugZRelease_homewin32ZPCbuildcygwinatheosbinlibpythonconfig.Py_ENABLE_SHAREDLIBDIR,cSsg|] }|dfqS)1r).0Zsymbolrrr sz.build_ext.finalize_options.. zparallel should be an integer)r@r@)rBrB)rKrK)r+r+)r.r.)rOrO)rArA)1 distutilsrRZset_undefined_optionsrC distributionZ ext_packageZ ext_modulesr?Zget_python_incrD isinstancestrsplitospathsepsys exec_prefixbase_exec_prefixappendpathjoinZensure_string_listrGrHrInameprefixr+rBdirnamergetattrrAplatform executable startswithrget_config_varZ python_buildrErFrNr=r isdirrOint ValueErrorZDistutilsOptionError) rPrRZ py_includeZplat_py_include _sys_homesuffixZnew_libZdefinesZ user_includeZuser_librrrfinalize_optionss                    (         zbuild_ext.finalize_optionscCstddlm}|jsdS|jjrL|jd}|jj|jp:g|j j |j ||j |j |j|jd|_ t|j tjdkr|jtkr|j j|j|jdk r|j j|j|jdk rx |jD]\}}|j j||qW|jdk rx|jD]}|j j|qW|jdk r|j j|j|j dk r4|j j|j |jdk rN|j j|j|j dk rh|j j!|j |j"dS)Nr) new_compiler build_clib)rKverbosedry_runr.rU)#r rr?riZhas_c_librariesget_finalized_commandrGextendZget_library_namesrHrrrrKrrr.rrmrurAr Z initializerDZset_include_dirsrEZ define_macrorFZundefine_macroZ set_librariesZset_library_dirsrIZset_runtime_library_dirsrJZset_link_objectsbuild_extensions)rPrrruvaluemacrorrrruns>             z build_ext.runc Cst|tstdxnt|D]`\}}t|tr4qt|t sLt|dkrTtd|\}}tjd|t|t ozt j |stdt|t stdt||d}x*dD]"}|j |}|dk rt|||qW|j d|_d|krtjd|j d}|rxg|_g|_xj|D]b} t| to,t| dks8tdt| dkrX|jj| dnt| dkr|jj| qW|||<qWdS)Nz:'ext_modules' option must be a list of Extension instanceszMeach element of 'ext_modules' option must be an Extension instance or 2-tuplezvold-style (ext_name, build_info) tuple found in ext_modules for extension '%s' -- please convert to Extension instancezRfirst element of each tuple in 'ext_modules' must be the extension name (a string)zOsecond element of each tuple in 'ext_modules' must be a dictionary (build info)sourcesrDrHrG extra_objectsextra_compile_argsextra_link_argsrIZdef_filez9'def_file' element of build info dict no longer supportedmacrosrSz9'macros' element of build info dict must be 1- or 2-tupler)rDrHrGrrr)rSr)rjlistDistutilsSetupError enumeratertuplelenr warnrkextension_name_rematchdictgetsetattrruntime_library_dirs define_macros undef_macrosrr) rPr?rextext_nameZ build_infokeyvalrrrrrcheck_extensions_listUsT           zbuild_ext.check_extensions_listcCs0|j|jg}x|jD]}|j|jqW|S)N)rr?rr)rP filenamesrrrrget_source_filess   zbuild_ext.get_source_filescCs6|j|jg}x |jD]}|j|j|jqW|S)N)rr?rrget_ext_fullpathru)rPZoutputsrrrr get_outputss   zbuild_ext.get_outputscCs(|j|j|jr|jn|jdS)N)rr?rO_build_extensions_parallel_build_extensions_serial)rPrrrrs  zbuild_ext.build_extensionscsj}jdkrtj}yddlm}Wntk r@d}YnX|dkrVjdS||dTfddjD}x6tj|D]&\}}j ||j WdQRXqWWdQRXdS)NTr)ThreadPoolExecutor)Z max_workerscsg|]}jj|qSr)Zsubmitbuild_extension)rer)executorrPrrrfsz8build_ext._build_extensions_parallel..) rOrm cpu_countZconcurrent.futuresr ImportErrorrr?zip_filter_build_errorsresult)rPZworkersrZfuturesrZfutr)rrPrrs       z$build_ext._build_extensions_parallelc Cs4x.|jD]$}|j||j|WdQRXqWdS)N)r?rr)rPrrrrrs  z"build_ext._build_extensions_serialccsTy dVWnDtttfk rN}z"|js*|jd|j|fWYdd}~XnXdS)Nz"building extension "%s" failed: %s)ZCCompilerErrorZDistutilsErrorZ CompileErrorZoptionalrru)rPrerrrrs zbuild_ext._filter_build_errorsc CsX|j}|dkst|ttf r,td|jt|}|j|j}||j}|jpZt ||dsnt j d|jdSt j d|j|j ||}|jpg}|jdd}x|jD]}|j|fqW|jj||j||j|j ||jd}|dd|_|jr|j|j|jp g}|jp|jj|} |jj|||j||j|j||j ||j |j| d dS)Nzjin 'ext_modules' option (extension '%s'), 'sources' must be present and must be a list of source filenamesZnewerz$skipping '%s' extension (up-to-date)zbuilding '%s' extension)Z output_dirrrDr+extra_postargsdepends)rGrHrrexport_symbolsr+rBZ target_lang)!rrjrrrrurrr.rr r+info swig_sourcesrrrrrrKcompilerBrDZ_built_objectsrrrlanguageZdetect_languageZlink_shared_object get_librariesrHrget_export_symbols) rPrrext_pathrZ extra_argsrrFZobjectsrrrrrsN         zbuild_ext.build_extensioncCs2g}g}i}|jrtjd|js6d|jks6d|jkr        zbuild_ext.swig_sourcescCs`tjdkrdStjdkrNxBd D]&}tjjd|d}tjj|r|SqWdSntd tjdS) NposixrLrU1.31.21.1z c:\swig%szswig.exez>I don't know how to find (much less run) SWIG on platform '%s')rrr)rmrursrtisfileZDistutilsPlatformError)rPZversfnrrrrfs    zbuild_ext.find_swigcCs|j|}|jd}|j|d}|jsRtjj|dd|g}tjj|j|Sdj|dd}|jd}tjj |j |}tjj||S)Nr`rSrbuild_pyrrr) get_ext_fullnamerlget_ext_filenamerrmrsrtr@rabspathZget_package_dir)rPrfullnameZmodpathfilenamerCrZ package_dirrrrr~s   zbuild_ext.get_ext_fullpathcCs |jdkr|S|jd|SdS)Nr`)rC)rPrrrrrs zbuild_ext.get_ext_fullnamecCs.ddlm}|jd}|d}tjj||S)Nr)r|r` EXT_SUFFIX)distutils.sysconfigr|rlrmrsrt)rPrr|rZ ext_suffixrrrrs  zbuild_ext.get_ext_filenamecCs0d|jjdd}||jkr*|jj||jS)NZPyInit_r`rSr)rurlrrr)rPrZ initfunc_namerrrrs  zbuild_ext.get_export_symbolscCstjdkrfddlm}t|j|s\d}|jr4|d}|tjd?tjd?d@f}|j|gS|jSnRtjdd d krd }|tjd?tjd?d@f}|j|gStjdd d kr>dd l m }d }|tjd?tjd?d@f}g}xB|j dj D]0}|j dr|j|ddn |j|qW|j|dg|StjdkrP|jStjdddkrj|jSdd l m }|j drdjtjd?tjd?d@|j d}|j|gS|jSdS)NrWr) MSVCCompilerz python%d%dZ_drYrZz python%d.%dr[)rRSHLIBSz-lrmdarwinaixraz python{}.{}{}ABIFLAGS)roryZdistutils._msvccompilerrrjrKr+ hexversionrGrhrRr|rlr{rrformat)rPrrtemplateZ pythonlibrRZextrar]rrrrsJ             zbuild_ext.get_libraries)rrr)rrriignore build-lib and put compiled extensions into the source directory alongside your pure Python modules)rrr)rrr)rrr )r!r"r#)r%r&r')r(r)r*)r+r,r-)r.r/r0)r1r2r3)r4r5r6)r7Nr8)r9Nr:)r;Nr<)r=Nr>) __name__ __module__ __qualname__Z descriptionrmrnZsep_byr Z user_optionsZboolean_optionsr Z help_optionsrQrrrrrrrr contextlibcontextmanagerrrrrrrrrrrrrrr!s  @N  K6   r)rrmreroZdistutils.corerZdistutils.errorsrrrrZdistutils.dep_utilrZdistutils.extensionrZdistutils.utilr rhr Zsiter rrr rrrrrs        __pycache__/bdist_msi.cpython-36.opt-1.pyc000064400000046315147221452520014333 0ustar003 \@sdZddlZddlZddlmZddlmZddlmZddl m Z ddl m Z ddl mZdd lmZddlZdd lmZmZmZdd lmZmZmZmZGd d d eZGdddeZdS)z# Implements the bdist_msi command. N)Command) remove_tree)get_python_version) StrictVersion)DistutilsOptionError) get_platform)log)schemasequencetext) DirectoryFeatureDialogadd_datac@sFeZdZdZddZddZddd Zdd d ZdddZddZ dS)PyDialogzDialog class with a fixed layout: controls at the top, then a ruler, then a list of buttons: back, next, cancel. Optionally a bitmap at the left.cOs>tj|f||jd}d|d}|jdd||jddS)zbDialog(database, name, x, y, w, h, attributes, title, first, default, cancel, bitmap=true)$iHZ BottomLinerN)r__init__hlinew)selfargskwZrulerZbmwidthr!/usr/lib64/python3.6/bdist_msi.pyrs  zPyDialog.__init__c Cs|jddddddd|dS) z,Set the title text of the dialog at the top.Title i@<iz{\VerdanaBold10}%sN)r )rtitlerrrr #szPyDialog.titleBackc Cs,|r d}nd}|j|d|jddd|||S)zAdd a back button with a given title, the tab-next button, its name in the Control table, possibly initially disabled. Return the button, so that events can be associatedr"8) pushbuttonr)rr nextnameactiveflagsrrrback*sz PyDialog.backCancelc Cs,|r d}nd}|j|d|jddd|||S)zAdd a cancel button with a given title, the tab-next button, its name in the Control table, possibly initially disabled. Return the button, so that events can be associatedr#r"i0r%r&r')r(r)rr r)r*r+r,rrrcancel5szPyDialog.cancelNextc Cs,|r d}nd}|j|d|jddd|||S)zAdd a Next button with a given title, the tab-next button, its name in the Control table, possibly initially disabled. Return the button, so that events can be associatedr#r"r%r&r')r(r)rr r)r*r+r,rrrr)@sz PyDialog.nextc Cs,|j|t|j|d|jdddd||S)zAdd a button with a given title, the tab-next button, its name in the Control table, giving its x position; the y-position is aligned with the other buttons. Return the button, so that events can be associatedr%r&r'r#)r(intrr)rr*r r)ZxposrrrxbuttonKszPyDialog.xbuttonN)r!r")r.r")r0r") __name__ __module__ __qualname____doc__rr r-r/r)r4rrrrrs  rc@seZdZdZdCdddefdEdGdHdIdJdKdLdMg ZddddgZddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1gZd2Zd3d4Z d5d6Z d7d8Z d9d:Z d;d<Z d=d>Zd?d@ZdAdBZdS)N bdist_msiz7create a Microsoft Installer (.msi) binary distribution bdist-dir=N1temporary directory for creating the distributionz plat-name=pz;platform name to embed in generated filenames (default: %s) keep-tempkz/keep the pseudo-installation tree around after z!creating the distribution archivetarget-version=z!require a specific python versionz on the target systemno-target-compilec/do not compile .py to .pyc on the target systemno-target-optimizeo;do not compile .py to .pyo (optimized) on the target system dist-dir=d-directory to put final built distributions in skip-build2skip rebuilding everything (for testing/debugging)install-script=Ubasename of installation script to be run after installation or before deinstallationpre-install-script={Fully qualified filename of a script to be run before any files are installed. This script need not be in the distributionz2.0z2.1z2.2z2.3z2.4z2.5z2.6z2.7z2.8z2.9z3.0z3.1z3.2z3.3z3.4z3.5z3.6z3.7z3.8z3.9XcCsFd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ dS)Nr) bdist_dir plat_name keep_tempZno_target_compileZno_target_optimizetarget_versiondist_dir skip_buildinstall_scriptpre_install_scriptversions)rrrrinitialize_options}szbdist_msi.initialize_optionscCs|jdd |jdkr2|jdj}tjj|d|_t}|j rP|j j rP||_|jr|jg|_ |j r|j j r|j|krt d|fn t|j|_ |jdd d |jrt d|jrx2|j jD]}|jtjj|krPqWt d|jd|_dS) NZbdistrUZmsizMtarget version can only be %s, or the '--skip-build' option must be specifiedrTrQz5the pre-install-script feature is not yet implementedz(install_script '%s' not found in scripts)rUrU)rTrT)rQrQ)Zset_undefined_optionsrPget_finalized_command bdist_baseospathjoinrrS distributionhas_ext_modulesrXrUrlist all_versionsrWrVscriptsbasenameinstall_script_key)rr[Z short_versionZscriptrrrfinalize_optionss:        zbdist_msi.finalize_optionscCsz|js|jd|jddd}|j|_|j|_d|_|jd}d|_d|_|jj r|j }|spdt j dd}d |j |f}|jd}tjj|jd ||_tjd |j|jt jjdtjj|jd |jt jd=|j|j|jj}|j|}tjj|}tjj|r"tj||jj }|j!} | s<|j"} | sFd } |j#} dt$| j%} |jj}|j r~d|j |f} nd|} t&j'|t(| t&j)| | |_*t&j+|j*t,d| fg} |j-p|j.}|r| j/d|f|j0r| j/d|j0f| rt1|j*d| |j2|j3|j4|j5|j*j6t7|jdr^d|j pJd|f}|jj8j/||j9svt:|j|j;ddS)Nbuildinstallr")Zreinit_subcommandsr install_libz%d.%dz.%s-%slibzinstalling to %sZPURELIBZUNKNOWNz%d.%d.%dz Python %s %sz Python %sZ DistVersionZ ARPCONTACTZARPURLINFOABOUTProperty dist_filesr9any)dry_run)| jd?d9d@d;dAd=dB| j d2d6d2dC} | j dDdEt|dF||||||d2d2d2 } | jdG| jd4d2dd5| jd6d7dd5| jd8d9d:d;dz [TARGETDIR]z [SourceDir])Zorderingz [TARGETDIR%s]z FEATURE_SELECTED AND &Python%s=3ZSpawnWaitDialogrjZFeaturesZ SelectionTreerZFEATUREZPathEditz[FEATURE_SELECTED]1z!FEATURE_SELECTED AND &Python%s<>3ZOtherz$Provide an alternate Python locationZEnableZShowZDisableZHiderrZ DiskCostDlgZOKz&{\DlgFontBold8}Disk Space RequirementszFThe disk space required for the installation of the selected features.5aThe highlighted volumes (if any) do not have enough disk space available for the currently selected features. You can either remove some files from the highlighted volumes, or choose to install less features onto local drive(s), or select different destination drive(s).Z VolumeListZVolumeCostListdiz{120}{70}{70}{70}{70}g?Z AdminInstallzGSelect whether to install [ProductName] for all users of this computer.zInstall for all usersZJUSTMEzInstall just for mez [ALLUSERS]zWhichUsers="ALL"z({\DlgFontBold8}[Progress1] [ProductName]#AzYPlease wait while the Installer [Progress2] [ProductName]. This may take several minutes.Z StatusLabelzStatus:Z ProgressBariz Progress doneZ SetProgressZProgressz)Welcome to the [ProductName] Setup WizardZBodyText?z:Select whether you want to repair or remove [ProductName].ZRepairRadioGrouplrz&Repair [ProductName]ZRemoverzRe&move [ProductName]z [REINSTALL]zMaintenanceForm_Action="Repair"z [Progress1]Z Repairingz [Progress2]ZrepairsZ Reinstallz[REMOVE]zMaintenanceForm_Action="Remove" ZRemoving Zremoves z MaintenanceForm_Action<>"Change")rr)rr)rr)rr)rr)rr)rrrNr)rrrNr")rrrNr")rrrrr)rrr)rrr)rrr)rrr)rNr)rrr rrrr r-r/r)ZeventZcontrolrr(mappingr_rxrXrZ conditionr4Z radiogroupadd)rrxyrrr ZmodalZmodelessZtrack_disk_spaceZfatalrAZ user_exitZ exit_dialogZinuseerrorr/ZcostingZprepZseldlgorderrrZinstall_other_condZdont_install_other_condZcostZ whichusersgZprogressZmaintrrrrs                                                                zbdist_msi.add_uicCs<|jrd||j|jf}nd||jf}tjj|j|}|S)Nz%s.%s-py%s.msiz %s.%s.msi)rSrQr\r]r^rT)rrZ base_namerrrrrys  z bdist_msi.get_installer_filename)r:Nr;Pkeep the pseudo-installation tree around after creating the distribution archive)r=r>r6require a specific python version on the target system)r?Nr)r@rArB)rCrDrE)rFrGrH)rINrJ)rKNrL)rMNrN)r5r6r7 descriptionrZ user_optionsZboolean_optionsrbrrYrfrwrrrrryrrrrr9SsR    ([66&@r9)r8rsr\Zdistutils.corerZdistutils.dir_utilrZdistutils.sysconfigrZdistutils.versionrZdistutils.errorsrZdistutils.utilrZ distutilsrrr r r r r rrrr9rrrrs       >__pycache__/upload.cpython-36.opt-2.pyc000064400000012057147221452520013637 0ustar003 /f@sddlZddlZddlZddlZddlmZddlmZmZm Z ddl m Z ddl m Z mZddlmZddlmZddlmZGd d d eZdS) N)standard_b64encode)urlopenRequest HTTPError)urlparse)DistutilsErrorDistutilsOptionError) PyPIRCCommand)spawn)logc@sJeZdZdZejddgZejdgZdd Zd d Zd d Z ddZ dS)uploadzupload binary package to PyPIsignssign files to upload using gpg identity=iGPG identity used to sign filescCs,tj|d|_d|_d|_d|_d|_dS)NrF)r initialize_optionsusernamepassword show_responser identity)selfr0/usr/lib64/python3.6/distutils/command/upload.pyr s  zupload.initialize_optionscCsvtj||jr |j r td|j}|ikrX|d|_|d|_|d|_|d|_ |j rr|j jrr|j j|_dS)Nz.Must use --sign for --identity to have meaningrr repositoryrealm) r finalize_optionsrr rZ _read_pypircrrrr distribution)rconfigrrrr(s     zupload.finalize_optionscCs>|jjsd}t|x$|jjD]\}}}|j|||qWdS)NzHMust create and upload files in one command (e.g. setup.py sdist upload))rZ dist_filesr upload_file)rmsgcommand pyversionfilenamerrrrun:s z upload.runc&)Cs^t|j\}}}}}} |s"|s"| r0td|j|d2krDtd||jr|ddd|g} |jrnd|jg| d d <t| |jd t|d } z | j} Wd| j X|j j } d d | j | j tjj|| f||tj| jd| j| j| j| j| j| j| j| j| j| j| j| j| j d}ytj!| j}WnPt"k r}z2d|}|j#|t$j%ddl&m'}|s|WYdd}~Xn X||d<d}|dkrt(j)\}}}|rd||f}n|dkrdt(j(dd}||d<|jrtjj|dt|dd jf|d<|j*d|j+j,d}d t-|j.d}d!}d"|j,d}|d#}t/j0}x|j1D]\}}d$|}t2|t3s|g}xr|D]j}t4|t5kr|d%|d7}|d}nt6|j,d&}|j7||j7|j,d&|j7d'|j7|qWqjW|j7||j8}d(||jf}|j#|t$j%d)|t6t9||d*} t:|j|| d+}!yt;|!}"|"j<}#|"j=}$Wnft>k r}z|j?}#|j=}$WYdd}~Xn8t@k r}z|j#t6|t$jAWYdd}~XnX|#d,kr8|j#d-|#|$ft$j%|jBrZ|jC|"}%d.jDd/d0|%d/d0f}|j#|t$j%n"d1|#|$f}|j#|t$jAtE|dS)3NzIncompatible url %shttphttpszunsupported schema Zgpgz --detach-signz-az --local-user)dry_runrbZ file_upload1z1.0)z:actionZprotocol_versionnameversioncontentZfiletyper$Z sha256_digestZmetadata_versionZsummaryZ home_pageZauthorZ author_emaillicense descriptionkeywordsplatformZ classifiersZ download_urlZprovidesZrequiresZ obsoletesz#calculating md5 checksum failed: %sr) get_fips_modeZ md5_digestrZ bdist_rpmzbuilt for %s %sZ bdist_dumbz built for %s)Ztersecommentz.ascZ gpg_signature:asciizBasic z3--------------GHSKFJDLGDS7543FJKLFHRE75642756743254s --s-- z+ Content-Disposition: form-data; name="%s"z; filename="%s"zutf-8s zSubmitting %s to %sz multipart/form-data; boundary=%s)z Content-typezContent-lengthZ Authorization)dataheaderszServer response (%s): %s -KzUpload failed (%s): %s)r'r()FrrAssertionErrorr rr r*openreadcloserZmetadataZget_nameZ get_versionospathbasenamehashlibZsha256Z hexdigestZget_descriptionZget_urlZ get_contactZget_contact_emailZ get_licenceZget_long_descriptionZ get_keywordsZ get_platformsZget_classifiersZget_download_urlZ get_providesZ get_requiresZ get_obsoletesZmd5 ValueErrorZannouncer INFOZ_hashlibr4r3distrrencoderdecodeioBytesIOitems isinstancelisttypetuplestrwritegetvaluelenrrZgetcoder"rcodeOSErrorZERRORrZ_read_pypi_responsejoinr)&rr#r$r%ZschemaZnetlocZurlZparamsZqueryZ fragmentsZgpg_argsfr/metar9Zdigester"r4r6rIr.idZ user_passZauthboundaryZ sep_boundaryZ end_boundaryZbodykeyvaluetitler:ZrequestresultZstatusreasontextrrrr!Bs                       zupload.upload_fileN)r rr)rrr) __name__ __module__ __qualname__r1r Z user_optionsZboolean_optionsrrr&r!rrrrr s r )rCrLr3rFbase64rZurllib.requestrrrZ urllib.parserZdistutils.errorsrrZdistutils.corer Zdistutils.spawnr Z distutilsr r rrrrs     __pycache__/install_data.cpython-36.opt-1.pyc000064400000004402147221452520015004 0ustar003 \ @s<dZddlZddlmZddlmZmZGdddeZdS)zdistutils.command.install_data Implements the Distutils 'install_data' command, for installing platform-independent data files.N)Command) change_root convert_pathc@sHeZdZdZdddgZdgZd d Zd dZddZddZ ddZ dS) install_datazinstall data files install-dir=dIbase directory for installing data files (default: installation base dir)root=Ns __pycache__/build.cpython-36.opt-1.pyc000064400000007717147221452520013460 0ustar003 \t@sTdZddlZddlZddlmZddlmZddlmZddZ Gdd d eZ dS) zBdistutils.command.build Implements the Distutils 'build' command.N)Command)DistutilsOptionError) get_platformcCsddlm}|dS)Nr)show_compilers)Zdistutils.ccompilerr)rr/usr/lib64/python3.6/build.pyr s rc@seZdZdZd8d9d:ddddefd?d@dAdBdCg ZddgZd$dd%efgZd&d'Z d(d)Z d*d+Z d,d-Z d.d/Z d0d1Zd2d3Zd4e fd5e fd6efd7efgZdS)Dbuildz"build everything needed to install build-base=b base directory for build librarybuild-purelib=N2build directory for platform-neutral distributionsbuild-platlib=3build directory for platform-specific distributions build-lib=z9build directory for all distribution (defaults to either zbuild-purelib or build-platlibbuild-scripts=build directory for scripts build-temp=ttemporary build directoryz plat-name=pz6platform name to build for, if supported (default: %s) compiler=cspecify the compiler type parallel=jnumber of parallel build jobsdebugg;compile extensions and libraries with debugging informationforcef2forcibly build everything (ignore file timestamps) executable=e5specify final destination interpreter path (build.py)z help-compilerzlist available compilerscCsLd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ dS)Nrr) build_base build_purelib build_platlib build_lib build_temp build_scriptsZcompiler plat_namerr executableparallel)selfrrrinitialize_options8szbuild.initialize_optionsc CsZ|jdkrt|_ntjdkr&tdd|jftjdd}ttdrR|d7}|jdkrntj j |j d|_|j dkrtj j |j d||_ |j dkr|jjr|j |_ n|j|_ |jdkrtj j |j d||_|jdkrtj j |j d tjdd|_|jdkrtj jtj|_t|jtrVyt|j|_Wntk rTtd YnXdS) NntzW--plat-name only supported on Windows (try using './configure --help' on your platform)z .%s-%d.%dgettotalrefcountz-pydebuglibZtempz scripts-%d.%dzparallel should be an integer)r,rosnamersys version_infohasattrr'pathjoinr&r(r) distributionZ ext_modulesr*r+r-normpath isinstancer.strint ValueError)r/Zplat_specifierrrrfinalize_optionsHs<                zbuild.finalize_optionscCs x|jD]}|j|q WdS)N)Zget_sub_commandsZ run_command)r/Zcmd_namerrrrunsz build.runcCs |jjS)N)r<has_pure_modules)r/rrrrDszbuild.has_pure_modulescCs |jjS)N)r<has_c_libraries)r/rrrrEszbuild.has_c_librariescCs |jjS)N)r<has_ext_modules)r/rrrrFszbuild.has_ext_modulescCs |jjS)N)r< has_scripts)r/rrrrGszbuild.has_scriptsZbuild_pyZ build_clibZ build_extr+)r r r )r Nr )rNrWbuild directory for all distribution (defaults to either build-purelib or build-platlib)rNrH)rNr)rrr)rrr)rrr)rrr)r r!r")r#r$r%)__name__ __module__ __qualname__ descriptionrZ user_optionsZboolean_optionsrZ help_optionsr0rBrCrDrErFrGZ sub_commandsrrrrrsR 8 r) __doc__r7r5Zdistutils.corerZdistutils.errorsrZdistutils.utilrrrrrrrs    __pycache__/install.cpython-36.opt-2.pyc000064400000031574147221452520014026 0ustar003 /fj@sddlZddlZddlmZddlmZddlmZddlm Z ddl m Z ddl m Z ddlmZmZmZdd lmZdd l mZdd lmZdd lmZd ZddddddZddddddddddddedZerdddddded<ddd d!dded"<d*ZGd(d)d)eZdS)+N)log)Command)DEBUG)get_config_vars)DistutilsPlatformError) write_file) convert_path subst_vars change_root) get_platform)DistutilsOptionError) USER_BASE) USER_SITETz$base/Lib/site-packagesz$base/Include/$dist_namez $base/Scriptsz$base)purelibplatlibheadersscriptsdataz/$base/lib/python$py_version_short/site-packagesz5$platbase/lib64/python$py_version_short/site-packagesz9$base/include/python$py_version_short$abiflags/$dist_namez $base/binz$base/lib/pythonz$base/lib64/pythonz$base/include/python/$dist_name) unix_prefix unix_homentz $usersitez4$userbase/Python$py_version_nodot/Include/$dist_namez)$userbase/Python$py_version_nodot/Scriptsz $userbasent_userz=$userbase/include/python$py_version_short$abiflags/$dist_namez $userbase/bin unix_userrrrrrc@s:eZdZdZd_d`dadbdddedfdgdidjdkdldmdndodpdqdrgZdd%d(gZer`ejd,dd-efejd,d diZ d.d/Z d0d1Z d2d3Z d4d5Z d6d7Zd8d9Zd:d;Zdd?Zd@dAZdBdCZdDdEZdFdGZdHdIZdJdKZdLdMZdNdOZdPdQZdRdSZdTdUZdVdWZdXefdYefdZefd[efd\d]d^fgZdS)sinstallz'install everything from build directoryprefix=Ninstallation prefix exec-prefix=.(Unix only) prefix for platform-specific fileshome=+(Unix only) home directory to install under install-base=;base installation directory (instead of --prefix or --home)install-platbase=z8base installation directory for platform-specific files z$(instead of --exec-prefix or --home)root=|jD]2}|j|}x"|jD]}||kr&|j|q&WqW|jrl|jrl|jtjj|j |jd|S)Nz.pth) rget_finalized_commandrappendrrQrhr}r~r|)rWrrcmdrrXrXrYrbs  zinstall.get_outputscCs2g}x(|jD]}|j|}|j|jqW|S)N)rrextend get_inputs)rWZinputsrrrXrXrYrss  zinstall.get_inputscCs|jjp|jjS)N)rrZhas_pure_modulesZhas_ext_modules)rWrXrXrYhas_libs zinstall.has_libcCs |jjS)N)rr has_headers)rWrXrXrYrszinstall.has_headerscCs |jjS)N)rr has_scripts)rWrXrXrYrszinstall.has_scriptscCs |jjS)N)rrZhas_data_files)rWrXrXrYhas_dataszinstall.has_datarJrIrKrLZinstall_egg_infocCsdS)NTrX)rWrXrXrYszinstall.)rNr)rNr)rNr)r Nr!\base installation directory for platform-specific files (instead of --exec-prefix or --home))r"Nr)r#Nr$)r%Nr&)r'Nr(ginstallation directory for all module distributions (overrides --install-purelib and --install-platlib))r)Nr)r*Nr+)r,Nr-)r.Nr/)r0r1r2)r3Nr4)r5r6r7)r8r9r:)r;Nr<)r=Nr>) __name__ __module__ __qualname__Z descriptionrZboolean_optionsrurrrrZrrkrlrmrrrvrxrzr{rryrrrrrrrrZ sub_commandsrXrXrXrYrIs   N3  " , r)rrrrr)rnrhZ distutilsrZdistutils.corerZdistutils.debugrZdistutils.sysconfigrZdistutils.errorsrZdistutils.file_utilrZdistutils.utilrr r r r Zsiter rruZWINDOWS_SCHEMErrrrXrXrXrYsT            __pycache__/bdist.cpython-36.opt-2.pyc000064400000007003147221452520013453 0ustar003 \@sDddlZddlmZddlTddlmZddZGdddeZdS) N)Command)*) get_platformcCsTddlm}g}x,tjD]"}|jd|dtj|dfqW||}|jddS)Nr) FancyGetoptzformats=z'List of available distribution formats:)Zdistutils.fancy_getoptrbdistformat_commandsappendformat_commandZ print_help)rformatsformatZpretty_printerr //usr/lib64/python3.6/distutils/command/bdist.py show_formats s   rc @seZdZdZd6dddefd7d8d9d:d;gZdgZdd defgZdd?d@dAdBdCdDdEd/ Z d0d1Z d2d3Zd4d5Zd S)Frz$create a built (binary) distribution bdist-base=b4temporary directory for creating built distributionsz plat-name=pz;platform name to embed in generated filenames (default: %s)formats=N/formats for distribution (comma-separated list) dist-dir=d=directory to put final built distributions in [default: dist] skip-build2skip rebuilding everything (for testing/debugging)owner=u@Owner name used when creating a tar file [default: current user]group=gAGroup name used when creating a tar file [default: current group]z help-formatsz$lists available distribution formats bdist_rpmgztarzip)posixntrpmbztarxztarztartarwininstmsiRPM distribution bdist_dumbgzip'ed tar filebzip2'ed tar filexz'ed tar filecompressed tar filetar file bdist_wininstWindows executable installerZIP file bdist_msiMicrosoft Installer) r&r"r'r(r)r*r+r#r,cCs.d|_d|_d|_d|_d|_d|_d|_dS)Nr) bdist_base plat_namer dist_dir skip_buildgroupowner)selfr r rinitialize_optionsQszbdist.initialize_optionsc Cs|jdkr(|jrt|_n|jdj|_|jdkrT|jdj}tjj|d|j|_|j d|j dkry|j tj g|_ Wn"t k rtdtj YnX|jdkrd|_dS)NZbuildzbdist.r z;don't know how to create built distributions on platform %sZdist)r:r<rZget_finalized_commandr9 build_baseospathjoinZensure_string_listr default_formatnameKeyErrorZDistutilsPlatformErrorr;)r?rAr r rfinalize_optionsZs$       zbdist.finalize_optionsc Csg}xH|jD]>}y|j|j|dWq tk rHtd|Yq Xq Wxztt|jD]h}||}|j|}||jkr|j||_ |dkr|j |_ |j |_ |||ddkrd|_ |j |q^WdS)Nrzinvalid format '%s'r.r)r r r rGZDistutilsOptionErrorrangelenZreinitialize_commandno_format_optionr r>r=Z keep_tempZ run_command)r?Zcommandsr iZcmd_nameZsub_cmdr r rrunvs"    z bdist.run)rrr)rNr)rrr)rNr)rrr)rrr )r!)r!r-)r.r/)r.r0)r.r1)r.r2)r.r3)r4r5)r.r6)r7r8)__name__ __module__ __qualname__Z descriptionrZ user_optionsZboolean_optionsrZ help_optionsrKrErr r@rHrMr r r rrsJ    r)rBZdistutils.corerZdistutils.errorsZdistutils.utilrrrr r r rs    __pycache__/install_headers.cpython-36.opt-1.pyc000064400000003252147221452520015510 0ustar003 \@s$dZddlmZGdddeZdS)zdistutils.command.install_headers Implements the Distutils 'install_headers' command, to install C/C++ header files to the Python include directory.)Commandc@sFeZdZdZddgZdgZdd Zd d Zd d ZddZ ddZ dS)install_headerszinstall C/C++ header files install-dir=d$directory to install header files toforcef-force installation (overwrite existing files)cCsd|_d|_g|_dS)Nr) install_dirroutfiles)selfr '/usr/lib64/python3.6/install_headers.pyinitialize_optionssz"install_headers.initialize_optionscCs|jddddS)NZinstallrr r)rr )rr)Zset_undefined_options)r r r rfinalize_optionssz install_headers.finalize_optionscCsL|jj}|sdS|j|jx*|D]"}|j||j\}}|jj|q"WdS)N) distributionheadersZmkpathr Z copy_filer append)r rheaderout_r r rrun!s  zinstall_headers.runcCs |jjp gS)N)rr)r r r r get_inputs+szinstall_headers.get_inputscCs|jS)N)r )r r r r get_outputs.szinstall_headers.get_outputsN)rrr)rrr ) __name__ __module__ __qualname__ descriptionZ user_optionsZboolean_optionsrrrrrr r r rr s rN)__doc__Zdistutils.corerrr r r rs __pycache__/build_scripts.cpython-36.opt-1.pyc000064400000010334147221452520015214 0ustar003 \X@sdZddlZddlZddlmZddlmZddlmZddl m Z ddl m Z m Z ddlmZddlZejd ZGd d d eZGd d d ee ZdS)zRdistutils.command.build_scripts Implements the Distutils 'build_scripts' command.N)ST_MODE) sysconfig)Command)newer) convert_path Mixin2to3)logs^#!.*python[0-9.]*([ ].*)?$c@sHeZdZdZdddgZdgZd d Zd dZddZddZ ddZ dS) build_scriptsz("build" scripts (copy and fixup #! line) build-dir=ddirectory to "build" (copy) toforcef1forcibly build everything (ignore file timestamps executable=e*specify final destination interpreter pathcCs"d|_d|_d|_d|_d|_dS)N) build_dirscriptsr executableoutfiles)selfr%/usr/lib64/python3.6/build_scripts.pyinitialize_optionss z build_scripts.initialize_optionscCs|jdddd|jj|_dS) NZbuildr rr r)r r)r r )rr)Zset_undefined_optionsZ distributionr)rrrrfinalize_options%s zbuild_scripts.finalize_optionscCs|jS)N)r)rrrrget_source_files,szbuild_scripts.get_source_filescCs|js dS|jdS)N)r copy_scripts)rrrrrun/szbuild_scripts.runc"Cs|j|jg}g}x,|jD] }d}t|}tjj|jtjj|}|j||j rtt || rtt j d|qyt |d}Wn tk r|jsd}YnXXtj|j\}}|jd|j} | s|jd|qtj| } | rd}| jdpd } |rt jd ||j|j||js tjs2|j} n(tjjtjd d tjd tjdf} tj| } d| | d} y| jdWn$tk rt dj!| YnXy| j|Wn&tk rt dj!| |YnXt |d}|j"| |j#|j$WdQRX|r@|j%q|r*|j%|j||j&||qWtj'dkrxh|D]`}|jrpt jd|nDtj(|t)d@}|dBd@}||krVt jd|||tj*||qVW||fS)a"Copy each script listed in 'self.scripts'; if it's marked as a Python script in the Unix way (first line matches 'first_line_re', ie. starts with "\#!" and contains "python"), then adjust the first line to refer to the current Python interpreter as we copy. Fznot copying %s (up-to-date)rbNrz%s is an empty file (skipping)Tzcopying and adjusting %s -> %sBINDIRz python%s%sVERSIONEXEs#! zutf-8z.The shebang ({!r}) is not decodable from utf-8zAThe shebang ({!r}) is not decodable from the script encoding ({})wbposixzchanging mode of %siimz!changing mode of %s from %o to %o)+Zmkpathrrrospathjoinbasenameappendr rrdebugopenOSErrordry_runtokenizedetect_encodingreadlineseekwarn first_line_rematchgroupinforZ python_buildrget_config_varfsencodedecodeUnicodeDecodeError ValueErrorformatwrite writelines readlinescloseZ copy_filenamestatrchmod)rr updated_filesZscriptZadjustZoutfilerencodinglinesZ first_liner7Z post_interprZshebangZoutffileZoldmodeZnewmoderrrr5s                  zbuild_scripts.copy_scriptsN)r r r )r rr)rrr) __name__ __module__ __qualname__ descriptionZ user_optionsZboolean_optionsrrrrrrrrrr sr c@seZdZddZdS)build_scripts_2to3cCs&tj|\}}|js|j|||fS)N)r rr0Zrun_2to3)rrrGrrrrs zbuild_scripts_2to3.copy_scriptsN)rKrLrMrrrrrrOsrO)__doc__r(rerErZ distutilsrZdistutils.corerZdistutils.dep_utilrZdistutils.utilrrrr1compiler6r rOrrrrs       __pycache__/bdist_dumb.cpython-36.opt-1.pyc000064400000007215147221452520014466 0ustar003 \1@shdZddlZddlmZddlmZddlmZmZddl Tddl m Z ddl m Z Gd d d eZdS) zdistutils.command.bdist_dumb Implements the Distutils 'bdist_dumb' command (create a "dumb" built distribution -- i.e., just an archive to be unpacked under $prefix or $exec_prefix).N)Command) get_platform) remove_treeensure_relative)*)get_python_version)logc @s^eZdZdZd%dddefd&d(d)d*d+d,d-g Zd ddgZdddZdd Zd!d"Z d#d$Z dS). bdist_dumbz"create a "dumb" built distribution bdist-dir=d1temporary directory for creating the distributionz plat-name=pz;platform name to embed in generated filenames (default: %s)format=f>archive format to create (tar, gztar, bztar, xztar, ztar, zip) keep-tempkz/keep the pseudo-installation tree around after z!creating the distribution archive dist-dir=-directory to put final built distributions in skip-buildN2skip rebuilding everything (for testing/debugging)relative7build the archive using relative paths (default: false)owner=u@Owner name used when creating a tar file [default: current user]group=gAGroup name used when creating a tar file [default: current group]Zgztarzip)posixntcCs:d|_d|_d|_d|_d|_d|_d|_d|_d|_dS)Nr) bdist_dir plat_nameformat keep_tempdist_dir skip_buildrownergroup)selfr+"/usr/lib64/python3.6/bdist_dumb.pyinitialize_options2szbdist_dumb.initialize_optionscCsz|jdkr&|jdj}tjj|d|_|jdkrfy|jtj|_Wn"t k rdt dtjYnX|j dddd dS) NZbdistZdumbz@don't know how to create dumb built distributions on platform %sr&r#r')r&r&)r#r#)r'r') r"Zget_finalized_command bdist_baseospathjoinr$default_formatnameKeyErrorDistutilsPlatformErrorZset_undefined_options)r*r.r+r+r,finalize_options=s   zbdist_dumb.finalize_optionscCs(|js|jd|jddd}|j|_|j|_d|_tjd|j|jdd|jj |j f}t j j |j|}|js~|j}nJ|jjr|j|jkrtdt|jt|jfnt j j |jt|j}|j||j||j|jd }|jjrt}nd }|jjjd ||f|js$t|j|jd dS) NZbuildinstall)Zreinit_subcommandsrzinstalling to %sz%s.%szScan't make a dumb built distribution where base and platbase are different (%s, %s))Zroot_dirr(r)anyr )dry_run) r'Z run_commandZreinitialize_commandr"rootZwarn_dirrinfoZ distributionZ get_fullnamer#r/r0r1r&rZhas_ext_modulesZ install_baseZinstall_platbaser5reprrZ make_archiver$r(r)rZ dist_filesappendr%rr:)r*r7Zarchive_basenameZpseudoinstall_rootZ archive_rootfilenameZ pyversionr+r+r,runOs>          zbdist_dumb.run)r r r )rrrPkeep the pseudo-installation tree around after creating the distribution archive)rrrA)rr r)rNr)rNr)rrr)rrr) __name__ __module__ __qualname__ descriptionrZ user_optionsZboolean_optionsr2r-r6r@r+r+r+r,r s6  r )__doc__r/Zdistutils.corerZdistutils.utilrZdistutils.dir_utilrrZdistutils.errorsZdistutils.sysconfigrZ distutilsrr r+r+r+r,s    __pycache__/build_py.cpython-36.opt-2.pyc000064400000022042147221452520014155 0ustar003 \ C@szddlZddlZddlZddlmZddlmZddlTddlm Z m Z ddl m Z GdddeZ Gd d d e e ZdS) N)glob)Command)*) convert_path Mixin2to3)logc@seZdZdZd8d9d:d;dbuild_pyz5"build" pure Python modules (copy to build directory) build-lib=ddirectory to "build" (copy) tocompileccompile .py to .pyc no-compileN!don't compile .py files [default] optimize=Olalso compile with optimization: -O1 for "python -O", -O2 for "python -OO", and -O0 to disable [default: -O0]forcef2forcibly build everything (ignore file timestamps)cCs4d|_d|_d|_d|_d|_d|_d|_d|_dS)Nr) build_lib py_modulespackage package_data package_dirr optimizer)selfr2/usr/lib64/python3.6/distutils/command/build_py.pyinitialize_options szbuild_py.initialize_optionsc Cs|jddd|jj|_|jj|_|jj|_i|_|jjrbx&|jjjD]\}}t||j|<qHW|j|_ t |j t syt |j |_ Wn t tfk rtdYnXdS)NZbuildrrzoptimize must be 0, 1, or 2)rr)rr)Zset_undefined_options distributionpackagesrrritemsrget_data_files data_files isinstancerint ValueErrorAssertionErrorZDistutilsOptionError)rnamepathrrrfinalize_options*s"      zbuild_py.finalize_optionscCs:|jr|j|jr$|j|j|j|jdddS)Nr)include_bytecode)r build_modulesr"build_packagesbuild_package_data byte_compile get_outputs)rrrrrunCs z build_py.runcsg}|js|Sxr|jD]h}|j|}tjj|jg|jd}d|rRt|dfdd|j||D}|j ||||fqW|S)N.rcsg|]}|dqS)Nr).0file)plenrr tsz+build_py.get_data_files..) r"get_package_dirosr+joinrsplitlenfind_data_filesappend)rdatarsrc_dir build_dir filenamesr)r8rr$as   zbuild_py.get_data_filescs`|jjdg|jj|g}gx:|D]2}ttjj|t|}jfdd|Dq&WS)Ncs$g|]}|krtjj|r|qSr)r;r+isfile)r6fn)filesrrr9s z,build_py.find_data_files..)rgetrr;r+r<rextend)rrrBZglobspatternZfilelistr)rHrr?ys  zbuild_py.find_data_filescCshd}x^|jD]T\}}}}xF|D]>}tjj||}|jtjj||jtjj|||ddqWq WdS)NF) preserve_mode)r%r;r+r<mkpathdirname copy_file)rZlastdirrrBrCrDfilenametargetrrrr0s zbuild_py.build_package_datac Cs|jd}|js&|r tjj|SdSng}x|ry|jdj|}Wn*tk rn|jd|d|d=Yq,X|jd|tjj|Sq,W|jjd}|dk r|jd||rtjj|SdSdS)Nr4rErr5rR)r=rr;r+r<KeyErrorinsertrI)rrr+tailZpdirrrrr:s(       zbuild_py.get_package_dircCsj|dkr8tjj|s td|tjj|s8td||rftjj|d}tjj|rZ|Stjd|dS)NrEz%package directory '%s' does not existz>supposed package directory '%s' exists, but is not a directoryz __init__.pyz!package init file '%s' not found z(or not a regular file)z8package init file '%s' not found (or not a regular file)) r;r+existsZDistutilsFileErrorisdirr<rFrwarn)rrrinit_pyrrr check_packages    zbuild_py.check_packagecCs&tjj|stjd||dSdSdS)Nz!file %s (for module %s) not foundFT)r;r+rFrrX)rmodule module_filerrr check_modules zbuild_py.check_modulec Cs|j||ttjj|d}g}tjj|jj}xX|D]P}tjj|}||krztjjtjj |d}|j |||fq8|j d|q8W|S)Nz*.pyrz excluding %s) rZrr;r+r<abspathr!Z script_namesplitextbasenamer@Z debug_print) rrrZ module_filesmodulesZ setup_scriptrZabs_fr[rrrfind_package_moduless   zbuild_py.find_package_modulesc Csi}g}x|jD]}|jd}dj|dd}|d}y||\}}Wn"tk rj|j|}d}YnX|s|j||} |df||<| r|j|d| ftjj||d} |j || sq|j||| fqW|S)Nr4rr5__init__z.pyrRrR) rr=r<rSr:rZr@r;r+r]) rr"rar[r+rZ module_baserZcheckedrYr\rrr find_moduless*       zbuild_py.find_modulescCsRg}|jr|j|j|jrNx.|jD]$}|j|}|j||}|j|q&W|S)N)rrJrdr"r:rb)rrarrmrrrfind_all_moduless   zbuild_py.find_all_modulescCsdd|jDS)NcSsg|] }|dqS)r5rRr)r6r[rrrr9-sz-build_py.get_source_files..)rf)rrrrget_source_files,szbuild_py.get_source_filescCs$|gt||dg}tjj|S)Nz.py)listr;r+r<)rrCrr[Z outfile_pathrrrget_module_outfile/szbuild_py.get_module_outfiler5cCs|j}g}xx|D]p\}}}|jd}|j|j||}|j||r|jr`|jtjj|dd|j dkr|jtjj||j dqW|dd|j D7}|S)Nr4rE) optimizationrcSs,g|]$\}}}}|D]}tjj||qqSr)r;r+r<)r6rrBrCrDrPrrrr9Cs z(build_py.get_outputs..) rfr=rirr@r importlibutilcache_from_sourcerr%)rr-raZoutputsrr[r\rPrrrr23s"       zbuild_py.get_outputscCsbt|tr|jd}nt|ttfs,td|j|j||}tj j |}|j ||j ||ddS)Nr4z:'package' must be a string (dot-separated), list, or tupler)rL) r&strr=rhtuple TypeErrorrirr;r+rNrMrO)rr[r\rZoutfiledirrrr build_moduleJs    zbuild_py.build_modulecCs.|j}x |D]\}}}|j|||qWdS)N)rdrr)rrarr[r\rrrr.Yszbuild_py.build_modulescCsLxF|jD]<}|j|}|j||}x |D]\}}}|j|||q(WqWdS)N)r"r:rbrr)rrrraZpackage_r[r\rrrr/bs   zbuild_py.build_packagescCstjr|jddSddlm}|j}|dtjkr>|tj}|jrZ||d|j ||j d|j dkr||||j |j ||j ddS)Nz%byte-compiling is disabled, skipping.r)r1r5)rrprefixdry_runrR) sysdont_write_bytecoderXdistutils.utilr1rr;sepr rrtr)rrHr1rsrrrr1vs    zbuild_py.byte_compile)r r r )r r r)rNr)rrr)rrr)r5)__name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsZ negative_optr r,r3r$r?r0r:rZr]rbrdrfrgrir2rrr.r/r1rrrrrs8   '4  rc@seZdZddZddZdS) build_py_2to3cCsLg|_|jr|j|jr*|j|j|j|j|j|jdddS)Nr)r-) updated_filesrr.r"r/r0Zrun_2to3r1r2)rrrrr3s zbuild_py_2to3.runcCs,tj||||}|dr(|jj|d|S)Nr5r)rrrr}r@)rr[r\rresrrrrrszbuild_py_2to3.build_moduleN)ryrzr{r3rrrrrrr|sr|)r;importlib.utilrkrurZdistutils.corerZdistutils.errorsrwrrZ distutilsrrr|rrrrs   }__pycache__/build_scripts.cpython-36.pyc000064400000010334147221452520014255 0ustar003 \X@sdZddlZddlZddlmZddlmZddlmZddl m Z ddl m Z m Z ddlmZddlZejd ZGd d d eZGd d d ee ZdS)zRdistutils.command.build_scripts Implements the Distutils 'build_scripts' command.N)ST_MODE) sysconfig)Command)newer) convert_path Mixin2to3)logs^#!.*python[0-9.]*([ ].*)?$c@sHeZdZdZdddgZdgZd d Zd dZddZddZ ddZ dS) build_scriptsz("build" scripts (copy and fixup #! line) build-dir=ddirectory to "build" (copy) toforcef1forcibly build everything (ignore file timestamps executable=e*specify final destination interpreter pathcCs"d|_d|_d|_d|_d|_dS)N) build_dirscriptsr executableoutfiles)selfr%/usr/lib64/python3.6/build_scripts.pyinitialize_optionss z build_scripts.initialize_optionscCs|jdddd|jj|_dS) NZbuildr rr r)r r)r r )rr)Zset_undefined_optionsZ distributionr)rrrrfinalize_options%s zbuild_scripts.finalize_optionscCs|jS)N)r)rrrrget_source_files,szbuild_scripts.get_source_filescCs|js dS|jdS)N)r copy_scripts)rrrrrun/szbuild_scripts.runc"Cs|j|jg}g}x,|jD] }d}t|}tjj|jtjj|}|j||j rtt || rtt j d|qyt |d}Wn tk r|jsd}YnXXtj|j\}}|jd|j} | s|jd|qtj| } | rd}| jdpd } |rt jd ||j|j||js tjs2|j} n(tjjtjd d tjd tjdf} tj| } d| | d} y| jdWn$tk rt dj!| YnXy| j|Wn&tk rt dj!| |YnXt |d}|j"| |j#|j$WdQRX|r@|j%q|r*|j%|j||j&||qWtj'dkrxh|D]`}|jrpt jd|nDtj(|t)d@}|dBd@}||krVt jd|||tj*||qVW||fS)a"Copy each script listed in 'self.scripts'; if it's marked as a Python script in the Unix way (first line matches 'first_line_re', ie. starts with "\#!" and contains "python"), then adjust the first line to refer to the current Python interpreter as we copy. Fznot copying %s (up-to-date)rbNrz%s is an empty file (skipping)Tzcopying and adjusting %s -> %sBINDIRz python%s%sVERSIONEXEs#! zutf-8z.The shebang ({!r}) is not decodable from utf-8zAThe shebang ({!r}) is not decodable from the script encoding ({})wbposixzchanging mode of %siimz!changing mode of %s from %o to %o)+Zmkpathrrrospathjoinbasenameappendr rrdebugopenOSErrordry_runtokenizedetect_encodingreadlineseekwarn first_line_rematchgroupinforZ python_buildrget_config_varfsencodedecodeUnicodeDecodeError ValueErrorformatwrite writelines readlinescloseZ copy_filenamestatrchmod)rr updated_filesZscriptZadjustZoutfilerencodinglinesZ first_liner7Z post_interprZshebangZoutffileZoldmodeZnewmoderrrr5s                  zbuild_scripts.copy_scriptsN)r r r )r rr)rrr) __name__ __module__ __qualname__ descriptionZ user_optionsZboolean_optionsrrrrrrrrrr sr c@seZdZddZdS)build_scripts_2to3cCs&tj|\}}|js|j|||fS)N)r rr0Zrun_2to3)rrrGrrrrs zbuild_scripts_2to3.copy_scriptsN)rKrLrMrrrrrrOsrO)__doc__r(rerErZ distutilsrZdistutils.corerZdistutils.dep_utilrZdistutils.utilrrrr1compiler6r rOrrrrs       __pycache__/build_scripts.cpython-36.opt-2.pyc000064400000007544147221452520015226 0ustar003 \X@sddlZddlZddlmZddlmZddlmZddlm Z ddl m Z m Z ddlm Z ddlZejdZGd d d eZGd d d ee ZdS) N)ST_MODE) sysconfig)Command)newer) convert_path Mixin2to3)logs^#!.*python[0-9.]*([ ].*)?$c@sHeZdZdZdddgZdgZd d Zd dZddZddZ ddZ dS) build_scriptsz("build" scripts (copy and fixup #! line) build-dir=ddirectory to "build" (copy) toforcef1forcibly build everything (ignore file timestamps executable=e*specify final destination interpreter pathcCs"d|_d|_d|_d|_d|_dS)N) build_dirscriptsr executableoutfiles)selfr7/usr/lib64/python3.6/distutils/command/build_scripts.pyinitialize_optionss z build_scripts.initialize_optionscCs|jdddd|jj|_dS) NZbuildr rr r)r r)r r )rr)Zset_undefined_optionsZ distributionr)rrrrfinalize_options%s zbuild_scripts.finalize_optionscCs|jS)N)r)rrrrget_source_files,szbuild_scripts.get_source_filescCs|js dS|jdS)N)r copy_scripts)rrrrrun/szbuild_scripts.runc"Cs|j|jg}g}x,|jD] }d}t|}tjj|jtjj|}|j||j rtt || rtt j d|qyt |d}Wn tk r|jsd}YnXXtj|j\}}|jd|j} | s|jd|qtj| } | rd}| jdpd} |rt jd ||j|j||js tjs2|j} n(tjjtjd d tjd tjd f} tj| } d| | d} y| jdWn$tk rt dj!| YnXy| j|Wn&tk rt dj!| |YnXt |d}|j"| |j#|j$WdQRX|r@|j%q|r*|j%|j||j&||qWtj'dkrxh|D]`}|jrpt jd|nDtj(|t)d@}|dBd@}||krVt jd|||tj*||qVW||fS)NFznot copying %s (up-to-date)rbrz%s is an empty file (skipping)Tzcopying and adjusting %s -> %sBINDIRz python%s%sVERSIONEXEs#! zutf-8z.The shebang ({!r}) is not decodable from utf-8zAThe shebang ({!r}) is not decodable from the script encoding ({})wbposixzchanging mode of %siimz!changing mode of %s from %o to %o)+Zmkpathrrrospathjoinbasenameappendr rrdebugopenOSErrordry_runtokenizedetect_encodingreadlineseekwarn first_line_rematchgroupinforZ python_buildrget_config_varfsencodedecodeUnicodeDecodeError ValueErrorformatwrite writelines readlinescloseZ copy_filenamestatrchmod)rr updated_filesZscriptZadjustZoutfilerencodinglinesZ first_liner7Z post_interprZshebangZoutffileZoldmodeZnewmoderrrr5s                  zbuild_scripts.copy_scriptsN)r r r )r rr)rrr) __name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsrrrrrrrrrr sr c@seZdZddZdS)build_scripts_2to3cCs&tj|\}}|js|j|||fS)N)r rr0Zrun_2to3)rrrGrrrrs zbuild_scripts_2to3.copy_scriptsN)rKrLrMrrrrrrNsrN)r(rerErZ distutilsrZdistutils.corerZdistutils.dep_utilrZdistutils.utilrrrr1compiler6r rNrrrrs       __pycache__/install_lib.cpython-36.opt-2.pyc000064400000010773147221452520014652 0ustar003 \ @sHddlZddlZddlZddlmZddlmZdZGdddeZ dS)N)Command)DistutilsOptionErrorz.pyc @seZdZdZd*d+d,d-d.d/d0gZdd dgZdd iZddZddZddZ ddZ ddZ d d!Z d"d#Z d$d%Zd&d'Zd(d)ZdS)1 install_libz7install all Python modules (extensions and pure Python) install-dir=ddirectory to install to build-dir=b'build directory (where to install from)forcef-force installation (overwrite existing files)compileccompile .py to .pyc [default] no-compileNdon't compile .py files optimize=Olalso compile with optimization: -O1 for "python -O", -O2 for "python -OO", and -O0 to disable [default: -O0] skip-buildskip the build stepscCs(d|_d|_d|_d|_d|_d|_dS)Nr) install_dir build_dirr roptimize skip_build)selfr5/usr/lib64/python3.6/distutils/command/install_lib.pyinitialize_options3s zinstall_lib.initialize_optionsc Cs|jddddddd|jdkr&d |_|jdkr6d |_t|jtsyt|j|_|jdkr^tWn ttfk rtdYnXdS)Ninstall build_librrrr rrrTFrzoptimize must be 0, 1, or 2)r!r)rr)r r )rr)rr)rr)rr"r#)Zset_undefined_optionsrr isinstanceintAssertionError ValueErrorr)rrrrfinalize_options<s$     zinstall_lib.finalize_optionscCs0|j|j}|dk r,|jjr,|j|dS)N)buildr distributionhas_pure_modules byte_compile)routfilesrrrrunVszinstall_lib.runcCs2|js.|jjr|jd|jjr.|jddS)Nbuild_py build_ext)rr*r+Z run_commandhas_ext_modules)rrrrr)fs    zinstall_lib.buildcCs8tjj|jr |j|j|j}n|jd|jdS|S)Nz3'%s' does not exist -- no Python modules to install)ospathisdirrZ copy_treerwarn)rr-rrrr ms  zinstall_lib.installcCsrtjr|jddSddlm}|jdj}|jrH||d|j||j d|j dkrn|||j |j||j |j ddS)Nz%byte-compiling is disabled, skipping.r)r,r )rr prefixdry_run)rr r6verboser7) sysdont_write_bytecoder5Zdistutils.utilr,get_finalized_commandrootrr r7rr8)rfilesr,Z install_rootrrrr,vs     zinstall_lib.byte_compilec Csh|sgS|j|}|j}t||}t|ttj}g}x(|D] } |jtjj|| |dq@W|S)N) r; get_outputsgetattrlenr2sepappendr3join) rZhas_anyZ build_cmdZ cmd_optionZ output_dirZ build_filesrZ prefix_lenZoutputsfilerrr_mutate_outputss    zinstall_lib._mutate_outputscCsvg}xl|D]d}tjjtjj|d}|tkr0q |jrL|jtjj |dd|j dkr |jtjj ||j dq W|S)Nr") optimizationr) r2r3splitextnormcasePYTHON_SOURCE_EXTENSIONrrB importlibutilcache_from_sourcer)rZ py_filenamesZbytecode_filesZpy_fileZextrrr_bytecode_filenamess     zinstall_lib._bytecode_filenamescCsR|j|jjdd|j}|jr*|j|}ng}|j|jjdd|j}|||S)Nr/r!r0)rEr*r+rrrNr1)rZ pure_outputsZbytecode_outputsZ ext_outputsrrrr>s   zinstall_lib.get_outputscCsLg}|jjr&|jd}|j|j|jjrH|jd}|j|j|S)Nr/r0)r*r+r;extendr>r1)rZinputsr/r0rrr get_inputss    zinstall_lib.get_inputs)rrr)rr r )r r r )rrr)rNr)rrr)rNr)__name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsZ negative_optrr(r.r)r r,rErNr>rPrrrrrs*   r) r2importlib.utilrKr9Zdistutils.corerZdistutils.errorsrrJrrrrrs   __pycache__/config.cpython-36.opt-2.pyc000064400000015526147221452520013624 0ustar003 \3@shddlZddlZddlmZddlmZddlmZddlm Z dddZ Gd d d eZ d d d Z dS)N)Command)DistutilsExecError)customize_compiler)logz.cz.cxx)czc++c @seZdZdZd>d?d@dAdBdCdDdEdFg ZddZddZddZd d!Zd"d#Z d$d%Z d&d'Z d(d)Z d*d+Z dGd-d.ZdHd/d0ZdId1d2ZdJd3d4ZdKd5d6ZdLd8d9Zdddgfd:d;ZdMd  r)LANG_EXTopenwriteclose)r&bodyheaderslangfilenamefileheaderr'r'r(_gen_temp_sourcefileks       zconfig._gen_temp_sourcefilecCs<|j|||}d}|jj||g|jj|||d||fS)Nz _configtest.i)r!)rCr%extendr Z preprocess)r&r=r>r!r?srcoutr'r'r( _preprocessxs zconfig._preprocesscCs\|j|||}|jr"t|d||jj|g\}|jj||g|jj|g|d||fS)Nzcompiling '%s':)r!)rCr$ dump_filer Zobject_filenamesr%rDcompile)r&r=r>r!r?rEobjr'r'r(_compileszconfig._compilec Csr|j||||\}}tjjtjj|d} |jj|g| |||d|jjdk r\| |jj} |jj | ||| fS)Nr)r"r#Z target_lang) rKr-pathsplitextbasenamer Zlink_executableZ exe_extensionr%append) r&r=r>r!r"r#r?rErJprogr'r'r(_links    z config._linkc GsX|s|j}g|_tjddj|x0|D](}ytj|Wq(tk rNYq(Xq(WdS)Nz removing: %s )r%rinfojoinr-removeOSError)r& filenamesr@r'r'r(_cleans z config._cleanrc CsRddlm}|jd}y|j||||Wn|k rDd}YnX|j|S)Nr) CompileErrorTF)r4rYr5rGrX)r&r=r>r!r?rYokr'r'r(try_cpps  zconfig.try_cppc Csx|j|j||||\}}t|tr0tj|}t|}d} x&|j} | dkrPP|j| r>d} Pq>W|j |j | S)NFT) r5rGr*r+rerIr:readlinesearchr<rX) r&patternr=r>r!r?rErFrAmatchliner'r'r( search_cpps    zconfig.search_cppc Csdddlm}|jy|j||||d}Wn|k rDd}YnXtj|rRdpTd|j|S)Nr)rYTFzsuccess!zfailure.)r4rYr5rKrrSrX)r&r=r>r!r?rYrZr'r'r( try_compiles  zconfig.try_compilec Cspddlm}m}|jy|j||||||d} Wn||fk rPd} YnXtj| r^dp`d|j| S)Nr)rY LinkErrorTFzsuccess!zfailure.)r4rYrer5rQrrSrX) r&r=r>r!r"r#r?rYrerZr'r'r(try_links   zconfig.try_linkc Csddlm}m}|jy.|j||||||\} } } |j| gd} Wn||tfk rdd} YnXtj| rrdptd|j | S)Nr)rYreTFzsuccess!zfailure.) r4rYrer5rQZspawnrrrSrX) r&r=r>r!r"r#r?rYrerErJZexerZr'r'r(try_runs   zconfig.try_runrc Cst|jg}|r|jd||jd|r<|jd|n|jd||jddj|d}|j|||||S)Nz int %s ();z int main () {z %s();z %s;}r7)r5rOrTrf) r&funcr>r!r"r#ZdeclZcallr=r'r'r( check_funcs   zconfig.check_funccCs |j|jd|||g||S)Nzint main (void) { })r5rf)r&Zlibraryr#r>r!Zother_librariesr'r'r( check_lib6s  zconfig.check_libcCs|jd|g|dS)Nz /* No body */)r=r>r!)r[)r&rBr!r#r?r'r'r( check_headerDs zconfig.check_header)rNr )r Nr )r r r)rrr)rrr)rrr)rrr)rNr)rNr)NNNr)NNNr)NNr)NNNNr)NNNNr)NNNNrr)NNr)__name__ __module__ __qualname__Z descriptionZ user_optionsr)r/r0r5rCrGrKrQrXr[rcrdrfrgrjrkrlr'r'r'r(rsT         rc CsJ|dkrtjd|n tj|t|}ztj|jWd|jXdS)Nz%s)rrSr:readr<)r@headrAr'r'r(rHNs rH)N) r-r]Zdistutils.corerZdistutils.errorsrZdistutils.sysconfigrZ distutilsrr9rrHr'r'r'r( s     ;__pycache__/install_scripts.cpython-36.opt-2.pyc000064400000004010147221452520015556 0ustar003 \@s@ddlZddlmZddlmZddlmZGdddeZdS)N)Command)log)ST_MODEc@sLeZdZdZddddgZdd gZddZddZddZddZ ddZ d S)install_scriptsz%install scripts (Python or otherwise) install-dir=ddirectory to install scripts to build-dir=b'build directory (where to install from)forcef-force installation (overwrite existing files) skip-buildNskip the build stepscCsd|_d|_d|_d|_dS)Nr) install_dirr build_dir skip_build)selfr9/usr/lib64/python3.6/distutils/command/install_scripts.pyinitialize_optionssz"install_scripts.initialize_optionscCs |jdd |jdd d d dS) NZbuild build_scriptsrZinstallrrr r)rr)rr)r r )rr)Zset_undefined_options)rrrrfinalize_options!s  z install_scripts.finalize_optionscCs|js|jd|j|j|j|_tjdkrxT|jD]H}|j rNt j d|q6tj |t dBd@}t j d||tj||q6WdS)Nrposixzchanging mode of %simizchanging mode of %s to %o)rZ run_commandZ copy_treerroutfilesosname get_outputsZdry_runrinfostatrchmod)rfilemoderrrrun)s  zinstall_scripts.runcCs |jjp gS)N)Z distributionscripts)rrrr get_inputs8szinstall_scripts.get_inputscCs |jpgS)N)r)rrrrr;szinstall_scripts.get_outputs)rrr)r r r )r r r)rNr) __name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsrrr$r&rrrrrrsr)rZdistutils.corerZ distutilsrr rrrrrrs   __pycache__/clean.cpython-36.opt-2.pyc000064400000004060147221452520013430 0ustar003 \ @s@ddlZddlmZddlmZddlmZGdddeZdS)N)Command) remove_tree)logc@s>eZdZdZddddddgZdgZddZddZddZdS)cleanz-clean up temporary files from 'build' command build-base=b2base build directory (default: 'build.build-base') build-lib=Ns   __pycache__/build.cpython-36.opt-2.pyc000064400000007616147221452520013457 0ustar003 \t@sPddlZddlZddlmZddlmZddlmZddZGdddeZ dS) N)Command)DistutilsOptionError) get_platformcCsddlm}|dS)Nr)show_compilers)Zdistutils.ccompilerr)rr//usr/lib64/python3.6/distutils/command/build.pyr s rc@seZdZdZd8d9d:ddddefd?d@dAdBdCg ZddgZd$dd%efgZd&d'Z d(d)Z d*d+Z d,d-Z d.d/Z d0d1Zd2d3Zd4e fd5e fd6efd7efgZdS)Dbuildz"build everything needed to install build-base=b base directory for build librarybuild-purelib=N2build directory for platform-neutral distributionsbuild-platlib=3build directory for platform-specific distributions build-lib=z9build directory for all distribution (defaults to either zbuild-purelib or build-platlibbuild-scripts=build directory for scripts build-temp=ttemporary build directoryz plat-name=pz6platform name to build for, if supported (default: %s) compiler=cspecify the compiler type parallel=jnumber of parallel build jobsdebugg;compile extensions and libraries with debugging informationforcef2forcibly build everything (ignore file timestamps) executable=e5specify final destination interpreter path (build.py)z help-compilerzlist available compilerscCsLd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ dS)Nrr) build_base build_purelib build_platlib build_lib build_temp build_scriptsZcompiler plat_namerr executableparallel)selfrrrinitialize_options8szbuild.initialize_optionsc CsZ|jdkrt|_ntjdkr&tdd|jftjdd}ttdrR|d7}|jdkrntj j |j d|_|j dkrtj j |j d||_ |j dkr|jjr|j |_ n|j|_ |jdkrtj j |j d||_|jdkrtj j |j d tjdd|_|jdkrtj jtj|_t|jtrVyt|j|_Wntk rTtd YnXdS) NntzW--plat-name only supported on Windows (try using './configure --help' on your platform)z .%s-%d.%dgettotalrefcountz-pydebuglibZtempz scripts-%d.%dzparallel should be an integer)r,rosnamersys version_infohasattrr'pathjoinr&r(r) distributionZ ext_modulesr*r+r-normpath isinstancer.strint ValueError)r/Zplat_specifierrrrfinalize_optionsHs<                zbuild.finalize_optionscCs x|jD]}|j|q WdS)N)Zget_sub_commandsZ run_command)r/Zcmd_namerrrrunsz build.runcCs |jjS)N)r<has_pure_modules)r/rrrrDszbuild.has_pure_modulescCs |jjS)N)r<has_c_libraries)r/rrrrEszbuild.has_c_librariescCs |jjS)N)r<has_ext_modules)r/rrrrFszbuild.has_ext_modulescCs |jjS)N)r< has_scripts)r/rrrrGszbuild.has_scriptsZbuild_pyZ build_clibZ build_extr+)r r r )r Nr )rNrWbuild directory for all distribution (defaults to either build-purelib or build-platlib)rNrH)rNr)rrr)rrr)rrr)rrr)r r!r")r#r$r%)__name__ __module__ __qualname__Z descriptionrZ user_optionsZboolean_optionsrZ help_optionsr0rBrCrDrErFrGZ sub_commandsrrrrrsR 8 r) r7r5Zdistutils.corerZdistutils.errorsrZdistutils.utilrrrrrrrs    __pycache__/bdist_msi.cpython-36.opt-2.pyc000064400000043332147221452520014330 0ustar003 \@sddlZddlZddlmZddlmZddlmZddlm Z ddl m Z ddl m Z ddlmZddlZdd lmZmZmZdd lmZmZmZmZGd d d eZGd ddeZdS)N)Command) remove_tree)get_python_version) StrictVersion)DistutilsOptionError) get_platform)log)schemasequencetext) DirectoryFeatureDialogadd_datac@sBeZdZddZddZdddZdd d Zdd dZddZdS)PyDialogcOs>tj|f||jd}d|d}|jdd||jddS)N$iHZ BottomLiner)r__init__hlinew)selfargskwZrulerZbmwidthr3/usr/lib64/python3.6/distutils/command/bdist_msi.pyrs  zPyDialog.__init__c Cs|jddddddd|dS)NTitle i@<iz{\VerdanaBold10}%s)r )rtitlerrrr #szPyDialog.titleBackc Cs,|r d}nd}|j|d|jddd|||S)Nr"8) pushbuttonr)rr nextnameactiveflagsrrrback*sz PyDialog.backCancelc Cs,|r d}nd}|j|d|jddd|||S)Nr#r"i0r%r&r')r(r)rr r)r*r+r,rrrcancel5szPyDialog.cancelNextc Cs,|r d}nd}|j|d|jddd|||S)Nr#r"r%r&r')r(r)rr r)r*r+r,rrrr)@sz PyDialog.nextc Cs,|j|t|j|d|jdddd||S)Nr%r&r'r#)r(intrr)rr*r r)ZxposrrrxbuttonKszPyDialog.xbuttonN)r!r")r.r")r0r") __name__ __module__ __qualname__rr r-r/r)r4rrrrrs   rc@seZdZdZdCdddefdEdGdHdIdJdKdLdMg ZddddgZddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1gZd2Zd3d4Z d5d6Z d7d8Z d9d:Z d;d<Z d=d>Zd?d@ZdAdBZdS)N bdist_msiz7create a Microsoft Installer (.msi) binary distribution bdist-dir=N1temporary directory for creating the distributionz plat-name=pz;platform name to embed in generated filenames (default: %s) keep-tempkz/keep the pseudo-installation tree around after z!creating the distribution archivetarget-version=z!require a specific python versionz on the target systemno-target-compilec/do not compile .py to .pyc on the target systemno-target-optimizeo;do not compile .py to .pyo (optimized) on the target system dist-dir=d-directory to put final built distributions in skip-build2skip rebuilding everything (for testing/debugging)install-script=Ubasename of installation script to be run after installation or before deinstallationpre-install-script={Fully qualified filename of a script to be run before any files are installed. This script need not be in the distributionz2.0z2.1z2.2z2.3z2.4z2.5z2.6z2.7z2.8z2.9z3.0z3.1z3.2z3.3z3.4z3.5z3.6z3.7z3.8z3.9XcCsFd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ dS)Nr) bdist_dir plat_name keep_tempZno_target_compileZno_target_optimizetarget_versiondist_dir skip_buildinstall_scriptpre_install_scriptversions)rrrrinitialize_options}szbdist_msi.initialize_optionscCs|jdd |jdkr2|jdj}tjj|d|_t}|j rP|j j rP||_|jr|jg|_ |j r|j j r|j|krt d|fn t|j|_ |jdd d |jrt d|jrx2|j jD]}|jtjj|krPqWt d|jd|_dS) NZbdistrTZmsizMtarget version can only be %s, or the '--skip-build' option must be specifiedrSrPz5the pre-install-script feature is not yet implementedz(install_script '%s' not found in scripts)rTrT)rSrS)rPrP)Zset_undefined_optionsrOget_finalized_command bdist_baseospathjoinrrR distributionhas_ext_modulesrWrTrlist all_versionsrVrUscriptsbasenameinstall_script_key)rrZZ short_versionZscriptrrrfinalize_optionss:        zbdist_msi.finalize_optionscCsz|js|jd|jddd}|j|_|j|_d|_|jd}d|_d|_|jj r|j }|spdt j dd}d |j |f}|jd}tjj|jd ||_tjd |j|jt jjdtjj|jd |jt jd=|j|j|jj}|j|}tjj|}tjj|r"tj||jj }|j!} | s<|j"} | sFd } |j#} dt$| j%} |jj}|j r~d|j |f} nd|} t&j'|t(| t&j)| | |_*t&j+|j*t,d| fg} |j-p|j.}|r| j/d|f|j0r| j/d|j0f| rt1|j*d| |j2|j3|j4|j5|j*j6t7|jdr^d|j pJd|f}|jj8j/||j9svt:|j|j;ddS)Nbuildinstallr")Zreinit_subcommandsr install_libz%d.%dz.%s-%slibzinstalling to %sZPURELIBZUNKNOWNz%d.%d.%dz Python %s %sz Python %sZ DistVersionZ ARPCONTACTZARPURLINFOABOUTProperty dist_filesr8any)dry_run)| jd?d9d@d;dAd=dB| j d2d6d2dC} | j dDdEt|dF||||||d2d2d2 } | jdG| jd4d2dd5| jd6d7dd5| jd8d9d:d;dz [TARGETDIR]z [SourceDir])Zorderingz [TARGETDIR%s]z FEATURE_SELECTED AND &Python%s=3ZSpawnWaitDialogriZFeaturesZ SelectionTreerZFEATUREZPathEditz[FEATURE_SELECTED]1z!FEATURE_SELECTED AND &Python%s<>3ZOtherz$Provide an alternate Python locationZEnableZShowZDisableZHiderrZ DiskCostDlgZOKz&{\DlgFontBold8}Disk Space RequirementszFThe disk space required for the installation of the selected features.5aThe highlighted volumes (if any) do not have enough disk space available for the currently selected features. You can either remove some files from the highlighted volumes, or choose to install less features onto local drive(s), or select different destination drive(s).Z VolumeListZVolumeCostListdiz{120}{70}{70}{70}{70}g?Z AdminInstallzGSelect whether to install [ProductName] for all users of this computer.zInstall for all usersZJUSTMEzInstall just for mez [ALLUSERS]zWhichUsers="ALL"z({\DlgFontBold8}[Progress1] [ProductName]#AzYPlease wait while the Installer [Progress2] [ProductName]. This may take several minutes.Z StatusLabelzStatus:Z ProgressBariz Progress doneZ SetProgressZProgressz)Welcome to the [ProductName] Setup WizardZBodyText?z:Select whether you want to repair or remove [ProductName].ZRepairRadioGrouplrz&Repair [ProductName]ZRemoverzRe&move [ProductName]z [REINSTALL]zMaintenanceForm_Action="Repair"z [Progress1]Z Repairingz [Progress2]ZrepairsZ Reinstallz[REMOVE]zMaintenanceForm_Action="Remove" ZRemoving Zremoves z MaintenanceForm_Action<>"Change")rr)rr)rr)rr)rr)rr)rrrNr)rrrNr")rrrNr")rrrrr)rrr)rrr)rrr)rrr)rNr)rrr rrrr r-r/r)ZeventZcontrolrr(mappingr^rwrWrZ conditionr4Z radiogroupadd)rrxyrrr ZmodalZmodelessZtrack_disk_spaceZfatalr@Z user_exitZ exit_dialogZinuseerrorr/ZcostingZprepZseldlgorderr~rZinstall_other_condZdont_install_other_condZcostZ whichusersgZprogressZmaintrrrrs                                                                zbdist_msi.add_uicCs<|jrd||j|jf}nd||jf}tjj|j|}|S)Nz%s.%s-py%s.msiz %s.%s.msi)rRrPr[r\r]rS)rrZ base_namerrrrrxs  z bdist_msi.get_installer_filename)r9Nr:Pkeep the pseudo-installation tree around after creating the distribution archive)r<r=r6require a specific python version on the target system)r>Nr)r?r@rA)rBrCrD)rErFrG)rHNrI)rJNrK)rLNrM)r5r6r7Z descriptionrZ user_optionsZboolean_optionsrarrXrervrrrrrxrrrrr8SsR    ([66&@r8)rrr[Zdistutils.corerZdistutils.dir_utilrZdistutils.sysconfigrZdistutils.versionrZdistutils.errorsrZdistutils.utilrZ distutilsrrr r r r r rrrr8rrrr s       >__pycache__/build.cpython-36.pyc000064400000007717147221452520012521 0ustar003 \t@sTdZddlZddlZddlmZddlmZddlmZddZ Gdd d eZ dS) zBdistutils.command.build Implements the Distutils 'build' command.N)Command)DistutilsOptionError) get_platformcCsddlm}|dS)Nr)show_compilers)Zdistutils.ccompilerr)rr/usr/lib64/python3.6/build.pyr s rc@seZdZdZd8d9d:ddddefd?d@dAdBdCg ZddgZd$dd%efgZd&d'Z d(d)Z d*d+Z d,d-Z d.d/Z d0d1Zd2d3Zd4e fd5e fd6efd7efgZdS)Dbuildz"build everything needed to install build-base=b base directory for build librarybuild-purelib=N2build directory for platform-neutral distributionsbuild-platlib=3build directory for platform-specific distributions build-lib=z9build directory for all distribution (defaults to either zbuild-purelib or build-platlibbuild-scripts=build directory for scripts build-temp=ttemporary build directoryz plat-name=pz6platform name to build for, if supported (default: %s) compiler=cspecify the compiler type parallel=jnumber of parallel build jobsdebugg;compile extensions and libraries with debugging informationforcef2forcibly build everything (ignore file timestamps) executable=e5specify final destination interpreter path (build.py)z help-compilerzlist available compilerscCsLd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ dS)Nrr) build_base build_purelib build_platlib build_lib build_temp build_scriptsZcompiler plat_namerr executableparallel)selfrrrinitialize_options8szbuild.initialize_optionsc CsZ|jdkrt|_ntjdkr&tdd|jftjdd}ttdrR|d7}|jdkrntj j |j d|_|j dkrtj j |j d||_ |j dkr|jjr|j |_ n|j|_ |jdkrtj j |j d||_|jdkrtj j |j d tjdd|_|jdkrtj jtj|_t|jtrVyt|j|_Wntk rTtd YnXdS) NntzW--plat-name only supported on Windows (try using './configure --help' on your platform)z .%s-%d.%dgettotalrefcountz-pydebuglibZtempz scripts-%d.%dzparallel should be an integer)r,rosnamersys version_infohasattrr'pathjoinr&r(r) distributionZ ext_modulesr*r+r-normpath isinstancer.strint ValueError)r/Zplat_specifierrrrfinalize_optionsHs<                zbuild.finalize_optionscCs x|jD]}|j|q WdS)N)Zget_sub_commandsZ run_command)r/Zcmd_namerrrrunsz build.runcCs |jjS)N)r<has_pure_modules)r/rrrrDszbuild.has_pure_modulescCs |jjS)N)r<has_c_libraries)r/rrrrEszbuild.has_c_librariescCs |jjS)N)r<has_ext_modules)r/rrrrFszbuild.has_ext_modulescCs |jjS)N)r< has_scripts)r/rrrrGszbuild.has_scriptsZbuild_pyZ build_clibZ build_extr+)r r r )r Nr )rNrWbuild directory for all distribution (defaults to either build-purelib or build-platlib)rNrH)rNr)rrr)rrr)rrr)rrr)r r!r")r#r$r%)__name__ __module__ __qualname__ descriptionrZ user_optionsZboolean_optionsrZ help_optionsr0rBrCrDrErFrGZ sub_commandsrrrrrsR 8 r) __doc__r7r5Zdistutils.corerZdistutils.errorsrZdistutils.utilrrrrrrrs    __pycache__/check.cpython-36.pyc000064400000012127147221452520012466 0ustar003 \x @sdZddlmZddlmZyTddlmZddlmZddl m Z ddl m Z ddl m Z Gd d d eZd ZWnek rd ZYnXGd ddeZdS)zCdistutils.command.check Implements the Distutils 'check' command. )Command)DistutilsSetupError)Reporter)Parser)frontend)nodes)StringIOc@seZdZd ddZddZdS) SilentReporterNrasciireplacec Cs"g|_tj||||||||dS)N)messagesr__init__)selfsource report_level halt_levelstreamdebugencoding error_handlerr/usr/lib64/python3.6/check.pyr szSilentReporter.__init__cOs6|jj||||ftj|f|||j|d|S)N)leveltype)r appendrsystem_messageZlevels)rrmessageZchildrenkwargsrrrrszSilentReporter.system_message)Nrr r )__name__ __module__ __qualname__r rrrrrr s r TFc@s`eZdZdZdZdddgZddd gZd d ZddZddZ ddZ ddZ ddZ ddZ dS)checkz6This command checks the meta-data of the package. z"perform some checks on the packagemetadatamVerify meta-datarestructuredtextrEChecks if long string meta-data syntax are reStructuredText-compliantstricts(Will exit with an error if a check failscCsd|_d|_d|_d|_dS)z Sets default values for options.rN)r%r"r( _warnings)rrrrinitialize_options1szcheck.initialize_optionscCsdS)Nr)rrrrfinalize_options8szcheck.finalize_optionscCs|jd7_tj||S)z*Counts the number of warnings that occurs.r+)r,rwarn)rmsgrrrr/;sz check.warncCsL|jr|j|jr0tr"|jn|jr0td|jrH|jdkrHtddS)zRuns the command.zThe docutils package is needed.rzPlease correct your package.N)r"check_metadatar% HAS_DOCUTILScheck_restructuredtextr(rr,)rrrrrun@s z check.runcCs|jj}g}x*dD]"}t||o(t||s|j|qW|rP|jddj||jrh|js|jdn"|j r|j s|jdn |jdd S)zEnsures that all required elements of meta-data are supplied. name, version, URL, (author and author_email) or (maintainer and maintainer_email)). Warns if any are missing. nameversionurlzmissing required meta-data: %sz, z)missing meta-data: if 'author' supplied, z#'author_email' must be supplied tooz-missing meta-data: if 'maintainer' supplied, z''maintainer_email' must be supplied tooz4missing meta-data: either (author and author_email) z%or (maintainer and maintainer_email) zmust be suppliedN)r5r6r7zLmissing meta-data: if 'author' supplied, 'author_email' must be supplied toozTmissing meta-data: if 'maintainer' supplied, 'maintainer_email' must be supplied toozYmissing meta-data: either (author and author_email) or (maintainer and maintainer_email) zimissing meta-data: either (author and author_email) or (maintainer and maintainer_email) must be supplied) distributionr"hasattrgetattrrr/joinZauthorZ author_emailZ maintainerZmaintainer_email)rr"Zmissingattrrrrr1Ps$ zcheck.check_metadatacCs\|jj}xL|j|D]>}|djd}|dkr:|d}nd|d|f}|j|qWdS)z4Checks if the long string fields are reST-compliant.r+lineNz %s (line %s))r8Zget_long_description_check_rst_datagetr/)rdataZwarningr=rrrr3ns  zcheck.check_restructuredtextcCst}t}tjtfdj}d|_d|_d|_t||j |j |j |j |j |jd}tj|||d}|j|d y|j||Wn:tk r}z|jjd d|difWYdd}~XnX|jS) z8Returns warnings when the provided data doesn't compile.)Z componentsN)rrrr)rr+z!Could not finish the parsing: %s.r>r>)rrrZ OptionParserZget_default_valuesZ tab_widthZpep_referencesZrfc_referencesr rrZwarning_streamrZerror_encodingZerror_encoding_error_handlerrdocumentZ note_sourceparseAttributeErrorr r)rrA source_pathparserZsettingsZreporterrDerrrr?ys*  $zcheck._check_rst_dataN)r"r#r$)r%r&r')r(r)r*)rrr __doc__ descriptionZ user_optionsZboolean_optionsr-r.r/r4r1r3r?rrrrr!$s  r!N)rJZdistutils.corerZdistutils.errorsrZdocutils.utilsrZdocutils.parsers.rstrZdocutilsrriorr r2 Exceptionr!rrrrs        __pycache__/bdist_wininst.cpython-36.opt-2.pyc000064400000017720147221452520015235 0ustar003 /f<@slddlZddlZddlmZddlmZddlmZmZddl Tddl m Z ddl m Z Gdd d eZdS) N)Command) get_platform) create_tree remove_tree)*)get_python_version)logc@seZdZdZdZd5dddefd7d9d:d;dd?d@dAdBg Zd dddgZd'd(Zd)d*Z d+d,Z d-d.Z dCd/d0Z d1d2Z d3d4ZdS)D bdist_wininstTz-create an executable installer for MS Windows bdist-dir=N1temporary directory for creating the distributionz plat-name=pz;platform name to embed in generated filenames (default: %s) keep-tempkz/keep the pseudo-installation tree around after z!creating the distribution archivetarget-version=z!require a specific python versionz on the target systemno-target-compilec/do not compile .py to .pyc on the target systemno-target-optimizeo;do not compile .py to .pyo (optimized) on the target system dist-dir=d-directory to put final built distributions inbitmap=b>bitmap to use for the installer instead of python-powered logotitle=t?title to display on the installer background instead of default skip-build2skip rebuilding everything (for testing/debugging)install-script=Ubasename of installation script to be run after installation or before deinstallationpre-install-script={Fully qualified filename of a script to be run before any files are installed. This script need not be in the distributionuser-access-control=specify Vista's UAC handling - 'none'/default=no handling, 'auto'=use UAC if target Python installed for all users, 'force'=always use UACcCsRd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ d|_ dS)Nr) bdist_dir plat_name keep_tempno_target_compileno_target_optimizetarget_versiondist_dirbitmaptitle skip_buildinstall_scriptpre_install_scriptuser_access_control)selfr57/usr/lib64/python3.6/distutils/command/bdist_wininst.pyinitialize_options<sz bdist_wininst.initialize_optionscCs|jdd |jdkrR|jr6|jr6|jjd}|j|_|jdj}tj j |d|_|j s^d|_ |j r|jj rt }|j r|j |krtd|f||_ |jdd d |jrx2|jjD]}|jtj j|krPqWtd|jdS) Nbdistr0ZwininstzMtarget version can only be %s, or the '--skip-build' option must be specifiedr-r(z(install_script '%s' not found in scripts)r0r0)r-r-)r(r()Zset_undefined_optionsr'r0r( distributionZget_command_objget_finalized_command bdist_baseospathjoinr,has_ext_modulesrZDistutilsOptionErrorr1scriptsbasename)r4r8r<Z short_versionscriptr5r5r6finalize_optionsLs4      zbdist_wininst.finalize_optionsc Cstjdkr&|jjs|jjr&td|js6|jd|jddd}|j |_ |j|_d|_ |j |_ |jd}d|_ d|_|jjr|j}|sd tjdd }d |j |f}|jd}tjj|jd ||_x4dD],}|j}|dkr|d}t|d||qWtjd|j |jtjjdtjj|j d|jtjd=ddlm}|} |jj } |j!| d|j d} |j"| | |j#|jjrt$} nd} |jj%j&d| |j'| ftj(d| tj)| |j*st+|j |j,ddS)Nwin32z^distribution contains extensions and/or C libraries; must be compiled on a Windows 32 platformbuildinstall)Zreinit_subcommandsr install_libz%d.%dz.%s-%slibpurelibplatlibheadersrAdataz/Include/$dist_nameZinstall_zinstalling to %sZPURELIB)mktempzip)Zroot_diranyr zremoving temporary file '%s')dry_run)rLrMrNrArO)-sysplatformr:r@Zhas_c_librariesZDistutilsPlatformErrorr0Z run_commandZreinitialize_commandr'rootZwarn_dirr(compileoptimizer, version_infor;r=r>r?Z build_baseZ build_libuppersetattrrinfoZensure_finalizedinsertrunZtempfilerP get_fullnameZ make_archive create_exer.rZ dist_filesappendget_installer_filenamedebugremover)rrS) r4rGrIr,Zplat_specifierrFkeyvaluerPZarchive_basenamefullnamearcnameZ pyversionr5r5r6r^rsd                  zbdist_wininst.runc Cs`g}|jj}|jd|jpdd}dd}xJdD]B}t||d}|r2|d|j||f}|jd|||fq2W|jd|jr|jd|j|jd|||jd|j |jd|j |j r|jd|j |j r|jd|j |j p |jj }|jd||ddl }ddl} d|j|j | jf} |jd| dj|S)Nz [metadata]r9 cSs |jddS)Nriz\n)replace)sr5r5r6escapesz)bdist_wininst.get_inidata..escapeauthor author_email description maintainermaintainer_emailnameurlversionz %s: %sz%s=%sz [Setup]zinstall_script=%szinfo=%sztarget_compile=%dztarget_optimize=%dztarget_version=%szuser_access_control=%sztitle=%srzBuilt %s with distutils-%sz build_info=%s)rmrnrorprqrrrsrt)r:metadataraZlong_descriptiongetattr capitalizer1r*r+r,r3r/r_time distutilsZctime __version__r?) r4linesrur\rlrrrOr/rxryZ build_infor5r5r6 get_inidatas<   zbdist_wininst.get_inidatac Csddl}|j|j|j}|j|}|jd||rPt|dj}t|}nd}t|d} | j |j |rz| j |t |t r|j d}|d}|jrt|jddd } | jj d} WdQRX|| d }n|d}| j ||jd d t||} | j | | j t|djdS) Nrz creating %srbwbmbcsrzlatin-1)encodings zr?r-r()r4rgrr5r5r6rb&s  z$bdist_wininst.get_installer_filenamec Cs t}|jrl|j|krl|jdkr&d}q|jdkr6d}q|jdkrFd}q|jdkrVd}q|jdkrfd }qd }n@yd d lm}Wntk rd }YnX|jd d }|d}tjjt }|j dkr|j dddkr|j dd}nd}tjj |d||f}t |d}z|j S|jXdS)Nz2.4z6.0z7.1z2.5z8.0z3.2z9.0z3.4z10.0z14.0r)CRT_ASSEMBLY_VERSION.z.0rEwinr9zwininst-%s%s.exer})rr,Zmsvcrtr ImportError partitionr=r>dirname__file__r(r?rrclose) r4Z cur_versionZbvrmajorZ directoryZsfixfilenamefr5r5r6r3s8         zbdist_wininst.get_exe_bytes)r Nr Pkeep the pseudo-installation tree around after creating the distribution archive)r rr6require a specific python version on the target system)rNr)rrr)rrr)rrr)rrr)rrr)rNr )r!Nr")r#Nr$)r%Nr&)N)__name__ __module__ __qualname__Z _unsupportedrorZ user_optionsZboolean_optionsr7rDr^r|r`rbrr5r5r5r6r sP&Q. 5 r )rTr=Zdistutils.corerZdistutils.utilrZdistutils.dir_utilrrZdistutils.errorsZdistutils.sysconfigrryrr r5r5r5r6s    __pycache__/install_data.cpython-36.pyc000064400000004402147221452520014045 0ustar003 \ @s<dZddlZddlmZddlmZmZGdddeZdS)zdistutils.command.install_data Implements the Distutils 'install_data' command, for installing platform-independent data files.N)Command) change_root convert_pathc@sHeZdZdZdddgZdgZd d Zd dZddZddZ ddZ dS) install_datazinstall data files install-dir=dIbase directory for installing data files (default: installation base dir)root=Ns __pycache__/clean.cpython-36.opt-1.pyc000064400000004161147221452520013431 0ustar003 \ @sDdZddlZddlmZddlmZddlmZGdddeZdS)zBdistutils.command.clean Implements the Distutils 'clean' command.N)Command) remove_tree)logc@s>eZdZdZddddddgZdgZddZddZddZdS)cleanz-clean up temporary files from 'build' command build-base=b2base build directory (default: 'build.build-base') build-lib=Ns    __pycache__/__init__.cpython-36.opt-2.pyc000064400000000652147221452520014110 0ustar003 \@s.dddddddddd d d d d dddddgZdS)ZbuildZbuild_pyZ build_extZ build_clibZ build_scriptsZcleanZinstallZ install_libZinstall_headersZinstall_scriptsZ install_dataZsdistregisterZbdistZ bdist_dumbZ bdist_rpmZ bdist_wininstZcheckZuploadN)__all__rr2/usr/lib64/python3.6/distutils/command/__init__.pys$__pycache__/register.cpython-36.opt-2.pyc000064400000015753147221452520014205 0ustar003 \-@s`ddlZddlZddlZddlZddlmZddlmZddl Tddl m Z GdddeZ dS)N)warn) PyPIRCCommand)*)logc@seZdZdZejdd gZejdddgZdd d fgZd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZd!ddZdS)"registerz7register the distribution with the Python package indexlist-classifiersN list the valid Trove classifiersstrictBWill stop the registering if the meta-data are not fully compliantverifycheckcCsdS)NT)selfr r 2/usr/lib64/python3.6/distutils/command/register.pyszregister.cCstj|d|_d|_dS)Nr)rinitialize_optionslist_classifiersr )rr r rrs zregister.initialize_optionscCs*tj|d|jfdd}||jjd<dS)Nr)r restructuredtextr )rr)rfinalize_optionsr distributionZcommand_options)rZ check_optionsr r rr$s zregister.finalize_optionscCsX|j|jx|jD]}|j|qW|jr<|jn|jrL|jn|jdS)N) r _set_configZget_sub_commandsZ run_commandZdry_runverify_metadatar classifiers send_metadata)rZcmd_namer r rrun+s  z register.runcCs8tdt|jjd}|j|j|_d|_|jdS)Nzddistutils.command.register.check_metadata is deprecated, use the check command insteadr r)rPendingDeprecationWarningrZget_command_objZensure_finalizedr rr)rr r r rcheck_metadata:s zregister.check_metadatacCsz|j}|ikr@|d|_|d|_|d|_|d|_d|_n6|jd|jfkr^td|j|jdkrp|j|_d|_dS) Nusernamepassword repositoryrealmTZpypiz%s not found in .pypircF)Z _read_pypircrrr r! has_configZDEFAULT_REPOSITORY ValueError)rconfigr r rrDs     zregister._set_configcCs*|jd}tjj|}tj|j|dS)Nz?:action=list_classifiers)r urllibrequestZurlopenrinfo_read_pypi_response)rZurlZresponser r rrUs  zregister.classifierscCs&|j|jd\}}tjd||dS)Nr zServer response (%s): %s)post_to_serverbuild_post_datarr')rcoderesultr r rr\szregister.verify_metadatac Cs|jrd}|j}|j}n d}d}}dj}x:||krf|jdtjt}|sTd}q.||kr.tdq.W|dkr|x|std}qtWx|st j d}qWt j j }t j j|jd }|j|j||||j|jd |\}}|jd ||ftj|d kr|jr||j_nj|jd tj|jd|jtjd}x&|jdkr\td}|s8d}q8W|jdkr|j||n|dkrddi} d| d<| d<| d<d| d<x| dstd| d<qWx| d| dkrNx| dst j d| d<qWx| dst j d| d<qW| d| dkrd| d<d| d<tdqWx| dsltd| d<qRW|j| \}}|d krtjd ||ntjdtjdnT|d krdd!i} d| d<x| dstd"| d<qW|j| \}}tjd ||dS)#N1xz1 2 3 4zWe need to know who you are, so please choose either: 1. use your existing login, 2. register as a new user, 3. have the server generate a new password for you (and email it to you), or 4. quit Your selection [default 1]: z&Please choose one of the four options!z Username: z Password: rZsubmitzServer response (%s): %szAI can store your PyPI login so future submissions will be faster.z (the login will be stored in %s)XZynzSave your login (y/N)?ny2z:actionusernamerZemailZconfirmz Confirm: z!Password and confirm don't match!z EMail: z"You will receive an email shortly.z7Follow the instructions in it to complete registration.3Zpassword_resetzYour email address: )r"rrsplitannouncerINFOinputprintgetpassr%r&ZHTTPPasswordMgrparseZurlparser Z add_passwordr!r)r*rZ _get_rc_filelowerZ _store_pypircr') rZchoicerrchoicesauthhostr+r,datar r rrcs                     zregister.send_metadatacCs|jj}|d|j|j|j|j|j|j|j|j |j |j |j |j |j|j|jd}|ds|ds|drd|d<|S)Nz1.0)z:actionmetadata_versionr6versionZsummaryZ home_pageZauthorZ author_emaillicense descriptionkeywordsplatformrZ download_urlprovidesrequires obsoletesrJrKrLz1.1rD)rZmetadataZget_nameZ get_versionZget_descriptionZget_urlZ get_contactZget_contact_emailZ get_licenceZget_long_descriptionZ get_keywordsZ get_platformsZget_classifiersZget_download_urlZ get_providesZ get_requiresZ get_obsoletes)ractionmetarCr r rr*s* zregister.build_post_datacCsd|kr$|jd|d|jftjd}d|}|d}tj}x|jD]\}}t|tgtffkrp|g}xZ|D]R}t|}|j ||j d||j d|j ||rv|dd krv|j d qvWqJW|j ||j d |j j d }d |tt |d } t jj|j|| } t jjt jj|d} d}y| j| } Wnxt jjk r} z$|jrl| jj}| j| jf} WYdd} ~ XnJt jjk r} zdt| f} WYdd} ~ XnX|jr|j| }d} |jrd jdd|ddf}|j|tj| S)Nr6zRegistering %s to %sz3--------------GHSKFJDLGDS7543FJKLFHRE75642756743254z --z--z* Content-Disposition: form-data; name="%s"z r  zutf-8z/multipart/form-data; boundary=%s; charset=utf-8)z Content-typezContent-length)Z password_mgrr/ir0OK-K)r0rQ)r9r rr:ioStringIOitemstypestrwritegetvalueencodelenr%r&ZRequestZ build_openerZHTTPBasicAuthHandleropenerrorZ HTTPErrorZ show_responsefpreadr+msgZURLErrorr(join)rrCrAboundaryZ sep_boundaryZ end_boundaryZbodykeyvalueZheadersZreqopenerr,erbr r rr)sV         zregister.post_to_server)rNr)r Nr )N)__name__ __module__ __qualname__rGrZ user_optionsZboolean_optionsZ sub_commandsrrrrrrrrr*r)r r r rrs&  zr) r=rUZ urllib.parser%Zurllib.requestwarningsrZdistutils.corerZdistutils.errorsZ distutilsrrr r r rs   __pycache__/config.cpython-36.pyc000064400000024070147221452520012656 0ustar003 \3@sldZddlZddlZddlmZddlmZddlmZddl m Z ddd Z Gd d d eZ dd d Z dS)adistutils.command.config Implements the Distutils 'config' command, a (mostly) empty command class that exists mainly to be sub-classed by specific module distributions and applications. The idea is that while every "config" command is different, at least they're all named the same, and users always see "config" in the list of standard commands. Also, this is a good place to put common configure-like tasks: "try to compile this C code", or "figure out where this header file lives". N)Command)DistutilsExecError)customize_compiler)logz.cz.cxx)czc++c @seZdZdZd>d?d@dAdBdCdDdEdFg ZddZddZddZd d!Zd"d#Z d$d%Z d&d'Z d(d)Z d*d+Z dGd-d.ZdHd/d0ZdId1d2ZdJd3d4ZdKd5d6ZdLd8d9Zdddgfd:d;ZdMd  r)LANG_EXTopenwriteclose)r&bodyheaderslangfilenamefileheaderr'r'r(_gen_temp_sourcefileks       zconfig._gen_temp_sourcefilecCs<|j|||}d}|jj||g|jj|||d||fS)Nz _configtest.i)r!)rDr%extendr Z preprocess)r&r>r?r!r@srcoutr'r'r( _preprocessxs zconfig._preprocesscCs\|j|||}|jr"t|d||jj|g\}|jj||g|jj|g|d||fS)Nzcompiling '%s':)r!)rDr$ dump_filer Zobject_filenamesr%rEcompile)r&r>r?r!r@rFobjr'r'r(_compileszconfig._compilec Csr|j||||\}}tjjtjj|d} |jj|g| |||d|jjdk r\| |jj} |jj | ||| fS)Nr)r"r#Z target_lang) rLr-pathsplitextbasenamer Zlink_executableZ exe_extensionr%append) r&r>r?r!r"r#r@rFrKprogr'r'r(_links    z config._linkc GsX|s|j}g|_tjddj|x0|D](}ytj|Wq(tk rNYq(Xq(WdS)Nz removing: %s )r%rinfojoinr-removeOSError)r& filenamesrAr'r'r(_cleans z config._cleanrc CsRddlm}|jd}y|j||||Wn|k rDd}YnX|j|S)aQConstruct a source file from 'body' (a string containing lines of C/C++ code) and 'headers' (a list of header files to include) and run it through the preprocessor. Return true if the preprocessor succeeded, false if there were any errors. ('body' probably isn't of much use, but what the heck.) r) CompileErrorTF)r5rZr6rHrY)r&r>r?r!r@rZokr'r'r(try_cpps  zconfig.try_cppc Csx|j|j||||\}}t|tr0tj|}t|}d} x&|j} | dkrPP|j| r>d} Pq>W|j |j | S)aConstruct a source file (just like 'try_cpp()'), run it through the preprocessor, and return true if any line of the output matches 'pattern'. 'pattern' should either be a compiled regex object or a string containing a regex. If both 'body' and 'headers' are None, preprocesses an empty file -- which can be useful to determine the symbols the preprocessor and compiler set by default. FT) r6rHr*r+rerJr;readlinesearchr=rY) r&patternr>r?r!r@rFrGrBmatchliner'r'r( search_cpps    zconfig.search_cppc Csdddlm}|jy|j||||d}Wn|k rDd}YnXtj|rRdpTd|j|S)zwTry to compile a source file built from 'body' and 'headers'. Return true on success, false otherwise. r)rZTFzsuccess!zfailure.)r5rZr6rLrrTrY)r&r>r?r!r@rZr[r'r'r( try_compiles  zconfig.try_compilec Cspddlm}m}|jy|j||||||d} Wn||fk rPd} YnXtj| r^dp`d|j| S)zTry to compile and link a source file, built from 'body' and 'headers', to executable form. Return true on success, false otherwise. r)rZ LinkErrorTFzsuccess!zfailure.)r5rZrfr6rRrrTrY) r&r>r?r!r"r#r@rZrfr[r'r'r(try_links   zconfig.try_linkc Csddlm}m}|jy.|j||||||\} } } |j| gd} Wn||tfk rdd} YnXtj| rrdptd|j | S)zTry to compile, link to an executable, and run a program built from 'body' and 'headers'. Return true on success, false otherwise. r)rZrfTFzsuccess!zfailure.) r5rZrfr6rRZspawnrrrTrY) r&r>r?r!r"r#r@rZrfrFrKZexer[r'r'r(try_runs   zconfig.try_runrc Cst|jg}|r|jd||jd|r<|jd|n|jd||jddj|d}|j|||||S)aDetermine if function 'func' is available by constructing a source file that refers to 'func', and compiles and links it. If everything succeeds, returns true; otherwise returns false. The constructed source file starts out by including the header files listed in 'headers'. If 'decl' is true, it then declares 'func' (as "int func()"); you probably shouldn't supply 'headers' and set 'decl' true in the same call, or you might get errors about a conflicting declarations for 'func'. Finally, the constructed 'main()' function either references 'func' or (if 'call' is true) calls it. 'libraries' and 'library_dirs' are used when linking. z int %s ();z int main () {z %s();z %s;}r8)r6rPrUrg) r&funcr?r!r"r#ZdeclZcallr>r'r'r( check_funcs   zconfig.check_funccCs |j|jd|||g||S)aDetermine if 'library' is available to be linked against, without actually checking that any particular symbols are provided by it. 'headers' will be used in constructing the source file to be compiled, but the only effect of this is to check if all the header files listed are available. Any libraries listed in 'other_libraries' will be included in the link, in case 'library' has symbols that depend on other libraries. zint main (void) { })r6rg)r&Zlibraryr#r?r!Zother_librariesr'r'r( check_lib6s  zconfig.check_libcCs|jd|g|dS)zDetermine if the system header file named by 'header_file' exists and can be found by the preprocessor; return true if so, false otherwise. z /* No body */)r>r?r!)r\)r&rCr!r#r@r'r'r( check_headerDs zconfig.check_header)rNr )r Nr )r r r)rrr)rrr)rrr)rrr)rNr)rNr)NNNr)NNNr)NNr)NNNNr)NNNNr)NNNNrr)NNr)__name__ __module__ __qualname__ descriptionZ user_optionsr)r/r0r6rDrHrLrRrYr\rdrergrhrkrlrmr'r'r'r(rsT         rc CsJ|dkrtjd|n tj|t|}ztj|jWd|jXdS)zjDumps a file content into log.info. If head is not None, will be dumped before the file content. Nz%s)rrTr;readr=)rAheadrBr'r'r(rINs rI)N)__doc__r-r^Zdistutils.corerZdistutils.errorsrZdistutils.sysconfigrZ distutilsrr:rrIr'r'r'r( s     ;__pycache__/build_clib.cpython-36.opt-2.pyc000064400000010501147221452520014433 0ustar003 \V@sPddlZddlmZddlTddlmZddlmZddZGdd d eZ dS) N)Command)*)customize_compiler)logcCsddlm}|dS)Nr)show_compilers)distutils.ccompilerr)rr4/usr/lib64/python3.6/distutils/command/build_clib.pyrs rc@sleZdZdZd"d#d$d%d&gZdd gZdddefgZddZddZ ddZ ddZ ddZ ddZ d d!ZdS)' build_clibz/build C/C++ libraries used by Python extensions build-clib=b%directory to build C/C++ libraries to build-temp=t,directory to put temporary build by-productsdebugg"compile with debugging informationforcef2forcibly build everything (ignore file timestamps) compiler=cspecify the compiler typez help-compilerNzlist available compilerscCs:d|_d|_d|_d|_d|_d|_d|_d|_d|_dS)Nr) r build_temp libraries include_dirsdefineundefrrcompiler)selfrrr initialize_options4szbuild_clib.initialize_optionscCsh|jdddd d d |jj|_|jr0|j|j|jdkrH|jjpDg|_t|jtrd|jjtj |_dS) NZbuildrr rrr)rr )rr)rr)rr)rr) Zset_undefined_optionsZ distributionrcheck_library_listr isinstancestrsplitospathsep)r rrr finalize_optionsDs    zbuild_clib.finalize_optionscCs|js dSddlm}||j|j|jd|_t|j|jdk rN|jj|j|j dk rzx |j D]\}}|jj ||q`W|j dk rx|j D]}|jj |qW|j |jdS)Nr) new_compiler)rdry_runr)rrr)rr*rrrZset_include_dirsrZ define_macrorZundefine_macrobuild_libraries)r r)namevalueZmacrorrr run^s        zbuild_clib.runcCst|tstdx|D]|}t|t rs    __pycache__/check.cpython-36.opt-1.pyc000064400000012127147221452520013425 0ustar003 \x @sdZddlmZddlmZyTddlmZddlmZddl m Z ddl m Z ddl m Z Gd d d eZd ZWnek rd ZYnXGd ddeZdS)zCdistutils.command.check Implements the Distutils 'check' command. )Command)DistutilsSetupError)Reporter)Parser)frontend)nodes)StringIOc@seZdZd ddZddZdS) SilentReporterNrasciireplacec Cs"g|_tj||||||||dS)N)messagesr__init__)selfsource report_level halt_levelstreamdebugencoding error_handlerr/usr/lib64/python3.6/check.pyr szSilentReporter.__init__cOs6|jj||||ftj|f|||j|d|S)N)leveltype)r appendrsystem_messageZlevels)rrmessageZchildrenkwargsrrrrszSilentReporter.system_message)Nrr r )__name__ __module__ __qualname__r rrrrrr s r TFc@s`eZdZdZdZdddgZddd gZd d ZddZddZ ddZ ddZ ddZ ddZ dS)checkz6This command checks the meta-data of the package. z"perform some checks on the packagemetadatamVerify meta-datarestructuredtextrEChecks if long string meta-data syntax are reStructuredText-compliantstricts(Will exit with an error if a check failscCsd|_d|_d|_d|_dS)z Sets default values for options.rN)r%r"r( _warnings)rrrrinitialize_options1szcheck.initialize_optionscCsdS)Nr)rrrrfinalize_options8szcheck.finalize_optionscCs|jd7_tj||S)z*Counts the number of warnings that occurs.r+)r,rwarn)rmsgrrrr/;sz check.warncCsL|jr|j|jr0tr"|jn|jr0td|jrH|jdkrHtddS)zRuns the command.zThe docutils package is needed.rzPlease correct your package.N)r"check_metadatar% HAS_DOCUTILScheck_restructuredtextr(rr,)rrrrrun@s z check.runcCs|jj}g}x*dD]"}t||o(t||s|j|qW|rP|jddj||jrh|js|jdn"|j r|j s|jdn |jdd S)zEnsures that all required elements of meta-data are supplied. name, version, URL, (author and author_email) or (maintainer and maintainer_email)). Warns if any are missing. nameversionurlzmissing required meta-data: %sz, z)missing meta-data: if 'author' supplied, z#'author_email' must be supplied tooz-missing meta-data: if 'maintainer' supplied, z''maintainer_email' must be supplied tooz4missing meta-data: either (author and author_email) z%or (maintainer and maintainer_email) zmust be suppliedN)r5r6r7zLmissing meta-data: if 'author' supplied, 'author_email' must be supplied toozTmissing meta-data: if 'maintainer' supplied, 'maintainer_email' must be supplied toozYmissing meta-data: either (author and author_email) or (maintainer and maintainer_email) zimissing meta-data: either (author and author_email) or (maintainer and maintainer_email) must be supplied) distributionr"hasattrgetattrrr/joinZauthorZ author_emailZ maintainerZmaintainer_email)rr"Zmissingattrrrrr1Ps$ zcheck.check_metadatacCs\|jj}xL|j|D]>}|djd}|dkr:|d}nd|d|f}|j|qWdS)z4Checks if the long string fields are reST-compliant.r+lineNz %s (line %s))r8Zget_long_description_check_rst_datagetr/)rdataZwarningr=rrrr3ns  zcheck.check_restructuredtextcCst}t}tjtfdj}d|_d|_d|_t||j |j |j |j |j |jd}tj|||d}|j|d y|j||Wn:tk r}z|jjd d|difWYdd}~XnX|jS) z8Returns warnings when the provided data doesn't compile.)Z componentsN)rrrr)rr+z!Could not finish the parsing: %s.r>r>)rrrZ OptionParserZget_default_valuesZ tab_widthZpep_referencesZrfc_referencesr rrZwarning_streamrZerror_encodingZerror_encoding_error_handlerrdocumentZ note_sourceparseAttributeErrorr r)rrA source_pathparserZsettingsZreporterrDerrrr?ys*  $zcheck._check_rst_dataN)r"r#r$)r%r&r')r(r)r*)rrr __doc__ descriptionZ user_optionsZboolean_optionsr-r.r/r4r1r3r?rrrrr!$s  r!N)rJZdistutils.corerZdistutils.errorsrZdocutils.utilsrZdocutils.parsers.rstrZdocutilsrriorr r2 Exceptionr!rrrrs        __pycache__/sdist.cpython-36.opt-2.pyc000064400000023302147221452520013474 0ustar003 \E@sddlZddlZddlTddlmZddlmZddlmZddlm Z m Z m Z m Z ddl mZddlTddlmZdd lmZdd lmZd d ZGd ddeZdS)N)*)glob)warn)Command)dir_utildep_util file_util archive_util)TextFile)FileList)log) convert_pathcCsdddlm}ddlm}g}x,|jD] }|jd|d||dfq&W|j||jddS)Nr) FancyGetopt)ARCHIVE_FORMATSzformats=z.List of available source distribution formats:)Zdistutils.fancy_getoptrZdistutils.archive_utilrkeysappendsortZ print_help)rrformatsformatr//usr/lib64/python3.6/distutils/command/sdist.py show_formatss   rc@seZdZdZddZdJdKdLdMdNdOdPdQdRdTdUdVdWdXgZd ddddd"gZd*d d+efgZd dd,Z d-efgZ d.d/Z d0d1Z d2d3Z d4d5Zd6d7Zd8d9Zd:d;Zdd?Zd@dAZdBdCZdDdEZdFdGZdHdIZd S)Ysdistz6create a source distribution (tarball, zip file, etc.)cCs|jS)N)metadata_check)selfrrrchecking_metadata%szsdist.checking_metadata template=t5name of manifest template file [default: MANIFEST.in] manifest=m)name of manifest file [default: MANIFEST] use-defaultsNRinclude the default file set in the manifest [default; disable with --no-defaults] no-defaults"don't include the default file setprunespecifically exclude files/directories that should not be distributed (build tree, RCS/CVS dirs, etc.) [default; disable with --no-prune]no-prune$don't automatically exclude anything manifest-onlyoEjust regenerate the manifest and then stop (implies --force-manifest)force-manifestfkforcibly regenerate the manifest and carry on as usual. Deprecated: now the manifest is always regenerated.formats=6formats for source distribution (comma-separated list) keep-tempkz1keep the distribution tree around after creating zarchive file(s) dist-dir=dFdirectory to put the source distribution archive(s) in [default: dist]metadata-check[Ensure that all required elements of meta-data are supplied. Warn if any missing. [default]owner=u@Owner name used when creating a tar file [default: current user]group=gAGroup name used when creating a tar file [default: current group]z help-formatsz#list available distribution formats)z no-defaultszno-prunecheckcCsTd|_d|_d|_d|_d|_d|_dg|_d|_d|_d|_ d|_ d|_ d|_ dS)NrZgztar) templatemanifest use_defaultsr' manifest_onlyZforce_manifestr keep_tempdist_dir archive_filesrownergroup)rrrrinitialize_options`szsdist.initialize_optionscCsZ|jdkrd|_|jdkr d|_|jdtj|j}|rFtd||jdkrVd|_dS)NZMANIFESTz MANIFEST.inrzunknown archive format '%s'Zdist)rCrBZensure_string_listr Zcheck_archive_formatsrZDistutilsOptionErrorrG)rZ bad_formatrrrfinalize_optionsws      zsdist.finalize_optionscCsBt|_x|jD]}|j|qW|j|jr6dS|jdS)N)r filelistZget_sub_commandsZ run_command get_file_listrEmake_distribution)rZcmd_namerrrrunsz sdist.runcCs*tdt|jjd}|j|jdS)Nzadistutils.command.sdist.check_metadata is deprecated, use the check command insteadr@)rPendingDeprecationWarning distributionZget_command_objZensure_finalizedrP)rr@rrrcheck_metadatas  zsdist.check_metadatacCstjj|j}| r<|jr<|j|jj|jjdS|sP|j d|j|jj |j rh|j |rt|j |jr|j|jj|jj|jdS)Nz&manifest template '%s' does not exist z(using default file list)z?manifest template '%s' does not exist (using default file list))ospathisfilerB_manifest_is_not_generated read_manifestrMrZremove_duplicatesrfindallrD add_defaults read_templater'prune_file_listwrite_manifest)rZtemplate_existsrrrrNs(      zsdist.get_file_listcCs2d|jjg}x|D]}t|trn|}d}x*|D]"}tjj|r.d}|jj|Pq.W|s|j ddj |qtjj|r|jj|q|j d|qWdd g}x*|D]"}t tjj t |}|jj|qW|jd }|jjr|jj|jx>|jD]4\} } } } x$| D]} |jjtjj | | q WqW|jjrx||jjD]p}t|tr|t|}tjj |r|jj|n:|\}} x0| D](}t|}tjj |r|jj|qWqHW|jjr|jd }|jj|j|jjr|jd }|jj|j|jjr.|jd }|jj|jdS)NREADME README.txtFTz,standard file not found: should have one of z, zstandard file '%s' not foundz test/test*.pyz setup.cfgbuild_py build_ext build_clib build_scripts)r^r_)rRZ script_name isinstancetuplerTrUexistsrMrrjoinfilterrVrextendget_finalized_commandZhas_pure_modulesZget_source_filesZ data_filesZhas_data_filesstrr Zhas_ext_modulesZhas_c_librariesZ has_scripts)rZ standardsfnZaltsZgot_itZoptionalpatternfilesr`ZpkgZsrc_dirZ build_dir filenamesfilenameitemdirnamer/rarbrcrrrrZs\           "         zsdist.add_defaultscCstjd|jt|jddddddd}zlxf|j}|dkrr?)__name__ __module__ __qualname__Z descriptionrZ user_optionsZboolean_optionsrZ help_optionsZ negative_optZ sub_commandsrKrLrPrSrNrZr[r\r]rWrXrrOrrrrrr!sj  (P *r)rTr~typesrwarningsrZdistutils.corerZ distutilsrrrr Zdistutils.text_filer Zdistutils.errorsZdistutils.filelistr r Zdistutils.utilr rrrrrrs       build.py000064400000013207147221452520006224 0ustar00"""distutils.command.build Implements the Distutils 'build' command.""" import sys, os from distutils.core import Command from distutils.errors import DistutilsOptionError from distutils.util import get_platform def show_compilers(): from distutils.ccompiler import show_compilers show_compilers() class build(Command): description = "build everything needed to install" user_options = [ ('build-base=', 'b', "base directory for build library"), ('build-purelib=', None, "build directory for platform-neutral distributions"), ('build-platlib=', None, "build directory for platform-specific distributions"), ('build-lib=', None, "build directory for all distribution (defaults to either " + "build-purelib or build-platlib"), ('build-scripts=', None, "build directory for scripts"), ('build-temp=', 't', "temporary build directory"), ('plat-name=', 'p', "platform name to build for, if supported " "(default: %s)" % get_platform()), ('compiler=', 'c', "specify the compiler type"), ('parallel=', 'j', "number of parallel build jobs"), ('debug', 'g', "compile extensions and libraries with debugging information"), ('force', 'f', "forcibly build everything (ignore file timestamps)"), ('executable=', 'e', "specify final destination interpreter path (build.py)"), ] boolean_options = ['debug', 'force'] help_options = [ ('help-compiler', None, "list available compilers", show_compilers), ] def initialize_options(self): self.build_base = 'build' # these are decided only after 'build_base' has its final value # (unless overridden by the user or client) self.build_purelib = None self.build_platlib = None self.build_lib = None self.build_temp = None self.build_scripts = None self.compiler = None self.plat_name = None self.debug = None self.force = 0 self.executable = None self.parallel = None def finalize_options(self): if self.plat_name is None: self.plat_name = get_platform() else: # plat-name only supported for windows (other platforms are # supported via ./configure flags, if at all). Avoid misleading # other platforms. if os.name != 'nt': raise DistutilsOptionError( "--plat-name only supported on Windows (try " "using './configure --help' on your platform)") plat_specifier = ".%s-%d.%d" % (self.plat_name, *sys.version_info[:2]) # Make it so Python 2.x and Python 2.x with --with-pydebug don't # share the same build directories. Doing so confuses the build # process for C modules if hasattr(sys, 'gettotalrefcount'): plat_specifier += '-pydebug' # 'build_purelib' and 'build_platlib' just default to 'lib' and # 'lib.' under the base build directory. We only use one of # them for a given distribution, though -- if self.build_purelib is None: self.build_purelib = os.path.join(self.build_base, 'lib') if self.build_platlib is None: self.build_platlib = os.path.join(self.build_base, 'lib' + plat_specifier) # 'build_lib' is the actual directory that we will use for this # particular module distribution -- if user didn't supply it, pick # one of 'build_purelib' or 'build_platlib'. if self.build_lib is None: if self.distribution.ext_modules: self.build_lib = self.build_platlib else: self.build_lib = self.build_purelib # 'build_temp' -- temporary directory for compiler turds, # "build/temp." if self.build_temp is None: self.build_temp = os.path.join(self.build_base, 'temp' + plat_specifier) if self.build_scripts is None: self.build_scripts = os.path.join(self.build_base, 'scripts-%d.%d' % sys.version_info[:2]) if self.executable is None and sys.executable: self.executable = os.path.normpath(sys.executable) if isinstance(self.parallel, str): try: self.parallel = int(self.parallel) except ValueError: raise DistutilsOptionError("parallel should be an integer") def run(self): # Run all relevant sub-commands. This will be some subset of: # - build_py - pure Python modules # - build_clib - standalone C libraries # - build_ext - Python extensions # - build_scripts - (Python) scripts for cmd_name in self.get_sub_commands(): self.run_command(cmd_name) # -- Predicates for the sub-command list --------------------------- def has_pure_modules(self): return self.distribution.has_pure_modules() def has_c_libraries(self): return self.distribution.has_c_libraries() def has_ext_modules(self): return self.distribution.has_ext_modules() def has_scripts(self): return self.distribution.has_scripts() sub_commands = [('build_py', has_pure_modules), ('build_clib', has_c_libraries), ('build_ext', has_ext_modules), ('build_scripts', has_scripts), ] install_headers.py000064400000002422147221452520010263 0ustar00"""distutils.command.install_headers Implements the Distutils 'install_headers' command, to install C/C++ header files to the Python include directory.""" from distutils.core import Command # XXX force is never used class install_headers(Command): description = "install C/C++ header files" user_options = [('install-dir=', 'd', "directory to install header files to"), ('force', 'f', "force installation (overwrite existing files)"), ] boolean_options = ['force'] def initialize_options(self): self.install_dir = None self.force = 0 self.outfiles = [] def finalize_options(self): self.set_undefined_options('install', ('install_headers', 'install_dir'), ('force', 'force')) def run(self): headers = self.distribution.headers if not headers: return self.mkpath(self.install_dir) for header in headers: (out, _) = self.copy_file(header, self.install_dir) self.outfiles.append(out) def get_inputs(self): return self.distribution.headers or [] def get_outputs(self): return self.outfiles bdist_msi.py000064400000104737147221452520007113 0ustar00# Copyright (C) 2005, 2006 Martin von Löwis # Licensed to PSF under a Contributor Agreement. # The bdist_wininst command proper # based on bdist_wininst """ Implements the bdist_msi command. """ import sys, os from distutils.core import Command from distutils.dir_util import remove_tree from distutils.sysconfig import get_python_version from distutils.version import StrictVersion from distutils.errors import DistutilsOptionError from distutils.util import get_platform from distutils import log import msilib from msilib import schema, sequence, text from msilib import Directory, Feature, Dialog, add_data class PyDialog(Dialog): """Dialog class with a fixed layout: controls at the top, then a ruler, then a list of buttons: back, next, cancel. Optionally a bitmap at the left.""" def __init__(self, *args, **kw): """Dialog(database, name, x, y, w, h, attributes, title, first, default, cancel, bitmap=true)""" Dialog.__init__(self, *args) ruler = self.h - 36 bmwidth = 152*ruler/328 #if kw.get("bitmap", True): # self.bitmap("Bitmap", 0, 0, bmwidth, ruler, "PythonWin") self.line("BottomLine", 0, ruler, self.w, 0) def title(self, title): "Set the title text of the dialog at the top." # name, x, y, w, h, flags=Visible|Enabled|Transparent|NoPrefix, # text, in VerdanaBold10 self.text("Title", 15, 10, 320, 60, 0x30003, r"{\VerdanaBold10}%s" % title) def back(self, title, next, name = "Back", active = 1): """Add a back button with a given title, the tab-next button, its name in the Control table, possibly initially disabled. Return the button, so that events can be associated""" if active: flags = 3 # Visible|Enabled else: flags = 1 # Visible return self.pushbutton(name, 180, self.h-27 , 56, 17, flags, title, next) def cancel(self, title, next, name = "Cancel", active = 1): """Add a cancel button with a given title, the tab-next button, its name in the Control table, possibly initially disabled. Return the button, so that events can be associated""" if active: flags = 3 # Visible|Enabled else: flags = 1 # Visible return self.pushbutton(name, 304, self.h-27, 56, 17, flags, title, next) def next(self, title, next, name = "Next", active = 1): """Add a Next button with a given title, the tab-next button, its name in the Control table, possibly initially disabled. Return the button, so that events can be associated""" if active: flags = 3 # Visible|Enabled else: flags = 1 # Visible return self.pushbutton(name, 236, self.h-27, 56, 17, flags, title, next) def xbutton(self, name, title, next, xpos): """Add a button with a given title, the tab-next button, its name in the Control table, giving its x position; the y-position is aligned with the other buttons. Return the button, so that events can be associated""" return self.pushbutton(name, int(self.w*xpos - 28), self.h-27, 56, 17, 3, title, next) class bdist_msi(Command): description = "create a Microsoft Installer (.msi) binary distribution" user_options = [('bdist-dir=', None, "temporary directory for creating the distribution"), ('plat-name=', 'p', "platform name to embed in generated filenames " "(default: %s)" % get_platform()), ('keep-temp', 'k', "keep the pseudo-installation tree around after " + "creating the distribution archive"), ('target-version=', None, "require a specific python version" + " on the target system"), ('no-target-compile', 'c', "do not compile .py to .pyc on the target system"), ('no-target-optimize', 'o', "do not compile .py to .pyo (optimized) " "on the target system"), ('dist-dir=', 'd', "directory to put final built distributions in"), ('skip-build', None, "skip rebuilding everything (for testing/debugging)"), ('install-script=', None, "basename of installation script to be run after " "installation or before deinstallation"), ('pre-install-script=', None, "Fully qualified filename of a script to be run before " "any files are installed. This script need not be in the " "distribution"), ] boolean_options = ['keep-temp', 'no-target-compile', 'no-target-optimize', 'skip-build'] all_versions = ['2.0', '2.1', '2.2', '2.3', '2.4', '2.5', '2.6', '2.7', '2.8', '2.9', '3.0', '3.1', '3.2', '3.3', '3.4', '3.5', '3.6', '3.7', '3.8', '3.9'] other_version = 'X' def initialize_options(self): self.bdist_dir = None self.plat_name = None self.keep_temp = 0 self.no_target_compile = 0 self.no_target_optimize = 0 self.target_version = None self.dist_dir = None self.skip_build = None self.install_script = None self.pre_install_script = None self.versions = None def finalize_options(self): self.set_undefined_options('bdist', ('skip_build', 'skip_build')) if self.bdist_dir is None: bdist_base = self.get_finalized_command('bdist').bdist_base self.bdist_dir = os.path.join(bdist_base, 'msi') short_version = get_python_version() if (not self.target_version) and self.distribution.has_ext_modules(): self.target_version = short_version if self.target_version: self.versions = [self.target_version] if not self.skip_build and self.distribution.has_ext_modules()\ and self.target_version != short_version: raise DistutilsOptionError( "target version can only be %s, or the '--skip-build'" " option must be specified" % (short_version,)) else: self.versions = list(self.all_versions) self.set_undefined_options('bdist', ('dist_dir', 'dist_dir'), ('plat_name', 'plat_name'), ) if self.pre_install_script: raise DistutilsOptionError( "the pre-install-script feature is not yet implemented") if self.install_script: for script in self.distribution.scripts: if self.install_script == os.path.basename(script): break else: raise DistutilsOptionError( "install_script '%s' not found in scripts" % self.install_script) self.install_script_key = None def run(self): if not self.skip_build: self.run_command('build') install = self.reinitialize_command('install', reinit_subcommands=1) install.prefix = self.bdist_dir install.skip_build = self.skip_build install.warn_dir = 0 install_lib = self.reinitialize_command('install_lib') # we do not want to include pyc or pyo files install_lib.compile = 0 install_lib.optimize = 0 if self.distribution.has_ext_modules(): # If we are building an installer for a Python version other # than the one we are currently running, then we need to ensure # our build_lib reflects the other Python version rather than ours. # Note that for target_version!=sys.version, we must have skipped the # build step, so there is no issue with enforcing the build of this # version. target_version = self.target_version if not target_version: assert self.skip_build, "Should have already checked this" target_version = '%d.%d' % sys.version_info[:2] plat_specifier = ".%s-%s" % (self.plat_name, target_version) build = self.get_finalized_command('build') build.build_lib = os.path.join(build.build_base, 'lib' + plat_specifier) log.info("installing to %s", self.bdist_dir) install.ensure_finalized() # avoid warning of 'install_lib' about installing # into a directory not in sys.path sys.path.insert(0, os.path.join(self.bdist_dir, 'PURELIB')) install.run() del sys.path[0] self.mkpath(self.dist_dir) fullname = self.distribution.get_fullname() installer_name = self.get_installer_filename(fullname) installer_name = os.path.abspath(installer_name) if os.path.exists(installer_name): os.unlink(installer_name) metadata = self.distribution.metadata author = metadata.author if not author: author = metadata.maintainer if not author: author = "UNKNOWN" version = metadata.get_version() # ProductVersion must be strictly numeric # XXX need to deal with prerelease versions sversion = "%d.%d.%d" % StrictVersion(version).version # Prefix ProductName with Python x.y, so that # it sorts together with the other Python packages # in Add-Remove-Programs (APR) fullname = self.distribution.get_fullname() if self.target_version: product_name = "Python %s %s" % (self.target_version, fullname) else: product_name = "Python %s" % (fullname) self.db = msilib.init_database(installer_name, schema, product_name, msilib.gen_uuid(), sversion, author) msilib.add_tables(self.db, sequence) props = [('DistVersion', version)] email = metadata.author_email or metadata.maintainer_email if email: props.append(("ARPCONTACT", email)) if metadata.url: props.append(("ARPURLINFOABOUT", metadata.url)) if props: add_data(self.db, 'Property', props) self.add_find_python() self.add_files() self.add_scripts() self.add_ui() self.db.Commit() if hasattr(self.distribution, 'dist_files'): tup = 'bdist_msi', self.target_version or 'any', fullname self.distribution.dist_files.append(tup) if not self.keep_temp: remove_tree(self.bdist_dir, dry_run=self.dry_run) def add_files(self): db = self.db cab = msilib.CAB("distfiles") rootdir = os.path.abspath(self.bdist_dir) root = Directory(db, cab, None, rootdir, "TARGETDIR", "SourceDir") f = Feature(db, "Python", "Python", "Everything", 0, 1, directory="TARGETDIR") items = [(f, root, '')] for version in self.versions + [self.other_version]: target = "TARGETDIR" + version name = default = "Python" + version desc = "Everything" if version is self.other_version: title = "Python from another location" level = 2 else: title = "Python %s from registry" % version level = 1 f = Feature(db, name, title, desc, 1, level, directory=target) dir = Directory(db, cab, root, rootdir, target, default) items.append((f, dir, version)) db.Commit() seen = {} for feature, dir, version in items: todo = [dir] while todo: dir = todo.pop() for file in os.listdir(dir.absolute): afile = os.path.join(dir.absolute, file) if os.path.isdir(afile): short = "%s|%s" % (dir.make_short(file), file) default = file + version newdir = Directory(db, cab, dir, file, default, short) todo.append(newdir) else: if not dir.component: dir.start_component(dir.logical, feature, 0) if afile not in seen: key = seen[afile] = dir.add_file(file) if file==self.install_script: if self.install_script_key: raise DistutilsOptionError( "Multiple files with name %s" % file) self.install_script_key = '[#%s]' % key else: key = seen[afile] add_data(self.db, "DuplicateFile", [(key + version, dir.component, key, None, dir.logical)]) db.Commit() cab.commit(db) def add_find_python(self): """Adds code to the installer to compute the location of Python. Properties PYTHON.MACHINE.X.Y and PYTHON.USER.X.Y will be set from the registry for each version of Python. Properties TARGETDIRX.Y will be set from PYTHON.USER.X.Y if defined, else from PYTHON.MACHINE.X.Y. Properties PYTHONX.Y will be set to TARGETDIRX.Y\\python.exe""" start = 402 for ver in self.versions: install_path = r"SOFTWARE\Python\PythonCore\%s\InstallPath" % ver machine_reg = "python.machine." + ver user_reg = "python.user." + ver machine_prop = "PYTHON.MACHINE." + ver user_prop = "PYTHON.USER." + ver machine_action = "PythonFromMachine" + ver user_action = "PythonFromUser" + ver exe_action = "PythonExe" + ver target_dir_prop = "TARGETDIR" + ver exe_prop = "PYTHON" + ver if msilib.Win64: # type: msidbLocatorTypeRawValue + msidbLocatorType64bit Type = 2+16 else: Type = 2 add_data(self.db, "RegLocator", [(machine_reg, 2, install_path, None, Type), (user_reg, 1, install_path, None, Type)]) add_data(self.db, "AppSearch", [(machine_prop, machine_reg), (user_prop, user_reg)]) add_data(self.db, "CustomAction", [(machine_action, 51+256, target_dir_prop, "[" + machine_prop + "]"), (user_action, 51+256, target_dir_prop, "[" + user_prop + "]"), (exe_action, 51+256, exe_prop, "[" + target_dir_prop + "]\\python.exe"), ]) add_data(self.db, "InstallExecuteSequence", [(machine_action, machine_prop, start), (user_action, user_prop, start + 1), (exe_action, None, start + 2), ]) add_data(self.db, "InstallUISequence", [(machine_action, machine_prop, start), (user_action, user_prop, start + 1), (exe_action, None, start + 2), ]) add_data(self.db, "Condition", [("Python" + ver, 0, "NOT TARGETDIR" + ver)]) start += 4 assert start < 500 def add_scripts(self): if self.install_script: start = 6800 for ver in self.versions + [self.other_version]: install_action = "install_script." + ver exe_prop = "PYTHON" + ver add_data(self.db, "CustomAction", [(install_action, 50, exe_prop, self.install_script_key)]) add_data(self.db, "InstallExecuteSequence", [(install_action, "&Python%s=3" % ver, start)]) start += 1 # XXX pre-install scripts are currently refused in finalize_options() # but if this feature is completed, it will also need to add # entries for each version as the above code does if self.pre_install_script: scriptfn = os.path.join(self.bdist_dir, "preinstall.bat") with open(scriptfn, "w") as f: # The batch file will be executed with [PYTHON], so that %1 # is the path to the Python interpreter; %0 will be the path # of the batch file. # rem =""" # %1 %0 # exit # """ # f.write('rem ="""\n%1 %0\nexit\n"""\n') with open(self.pre_install_script) as fin: f.write(fin.read()) add_data(self.db, "Binary", [("PreInstall", msilib.Binary(scriptfn)) ]) add_data(self.db, "CustomAction", [("PreInstall", 2, "PreInstall", None) ]) add_data(self.db, "InstallExecuteSequence", [("PreInstall", "NOT Installed", 450)]) def add_ui(self): db = self.db x = y = 50 w = 370 h = 300 title = "[ProductName] Setup" # see "Dialog Style Bits" modal = 3 # visible | modal modeless = 1 # visible track_disk_space = 32 # UI customization properties add_data(db, "Property", # See "DefaultUIFont Property" [("DefaultUIFont", "DlgFont8"), # See "ErrorDialog Style Bit" ("ErrorDialog", "ErrorDlg"), ("Progress1", "Install"), # modified in maintenance type dlg ("Progress2", "installs"), ("MaintenanceForm_Action", "Repair"), # possible values: ALL, JUSTME ("WhichUsers", "ALL") ]) # Fonts, see "TextStyle Table" add_data(db, "TextStyle", [("DlgFont8", "Tahoma", 9, None, 0), ("DlgFontBold8", "Tahoma", 8, None, 1), #bold ("VerdanaBold10", "Verdana", 10, None, 1), ("VerdanaRed9", "Verdana", 9, 255, 0), ]) # UI Sequences, see "InstallUISequence Table", "Using a Sequence Table" # Numbers indicate sequence; see sequence.py for how these action integrate add_data(db, "InstallUISequence", [("PrepareDlg", "Not Privileged or Windows9x or Installed", 140), ("WhichUsersDlg", "Privileged and not Windows9x and not Installed", 141), # In the user interface, assume all-users installation if privileged. ("SelectFeaturesDlg", "Not Installed", 1230), # XXX no support for resume installations yet #("ResumeDlg", "Installed AND (RESUME OR Preselected)", 1240), ("MaintenanceTypeDlg", "Installed AND NOT RESUME AND NOT Preselected", 1250), ("ProgressDlg", None, 1280)]) add_data(db, 'ActionText', text.ActionText) add_data(db, 'UIText', text.UIText) ##################################################################### # Standard dialogs: FatalError, UserExit, ExitDialog fatal=PyDialog(db, "FatalError", x, y, w, h, modal, title, "Finish", "Finish", "Finish") fatal.title("[ProductName] Installer ended prematurely") fatal.back("< Back", "Finish", active = 0) fatal.cancel("Cancel", "Back", active = 0) fatal.text("Description1", 15, 70, 320, 80, 0x30003, "[ProductName] setup ended prematurely because of an error. Your system has not been modified. To install this program at a later time, please run the installation again.") fatal.text("Description2", 15, 155, 320, 20, 0x30003, "Click the Finish button to exit the Installer.") c=fatal.next("Finish", "Cancel", name="Finish") c.event("EndDialog", "Exit") user_exit=PyDialog(db, "UserExit", x, y, w, h, modal, title, "Finish", "Finish", "Finish") user_exit.title("[ProductName] Installer was interrupted") user_exit.back("< Back", "Finish", active = 0) user_exit.cancel("Cancel", "Back", active = 0) user_exit.text("Description1", 15, 70, 320, 80, 0x30003, "[ProductName] setup was interrupted. Your system has not been modified. " "To install this program at a later time, please run the installation again.") user_exit.text("Description2", 15, 155, 320, 20, 0x30003, "Click the Finish button to exit the Installer.") c = user_exit.next("Finish", "Cancel", name="Finish") c.event("EndDialog", "Exit") exit_dialog = PyDialog(db, "ExitDialog", x, y, w, h, modal, title, "Finish", "Finish", "Finish") exit_dialog.title("Completing the [ProductName] Installer") exit_dialog.back("< Back", "Finish", active = 0) exit_dialog.cancel("Cancel", "Back", active = 0) exit_dialog.text("Description", 15, 235, 320, 20, 0x30003, "Click the Finish button to exit the Installer.") c = exit_dialog.next("Finish", "Cancel", name="Finish") c.event("EndDialog", "Return") ##################################################################### # Required dialog: FilesInUse, ErrorDlg inuse = PyDialog(db, "FilesInUse", x, y, w, h, 19, # KeepModeless|Modal|Visible title, "Retry", "Retry", "Retry", bitmap=False) inuse.text("Title", 15, 6, 200, 15, 0x30003, r"{\DlgFontBold8}Files in Use") inuse.text("Description", 20, 23, 280, 20, 0x30003, "Some files that need to be updated are currently in use.") inuse.text("Text", 20, 55, 330, 50, 3, "The following applications are using files that need to be updated by this setup. Close these applications and then click Retry to continue the installation or Cancel to exit it.") inuse.control("List", "ListBox", 20, 107, 330, 130, 7, "FileInUseProcess", None, None, None) c=inuse.back("Exit", "Ignore", name="Exit") c.event("EndDialog", "Exit") c=inuse.next("Ignore", "Retry", name="Ignore") c.event("EndDialog", "Ignore") c=inuse.cancel("Retry", "Exit", name="Retry") c.event("EndDialog","Retry") # See "Error Dialog". See "ICE20" for the required names of the controls. error = Dialog(db, "ErrorDlg", 50, 10, 330, 101, 65543, # Error|Minimize|Modal|Visible title, "ErrorText", None, None) error.text("ErrorText", 50,9,280,48,3, "") #error.control("ErrorIcon", "Icon", 15, 9, 24, 24, 5242881, None, "py.ico", None, None) error.pushbutton("N",120,72,81,21,3,"No",None).event("EndDialog","ErrorNo") error.pushbutton("Y",240,72,81,21,3,"Yes",None).event("EndDialog","ErrorYes") error.pushbutton("A",0,72,81,21,3,"Abort",None).event("EndDialog","ErrorAbort") error.pushbutton("C",42,72,81,21,3,"Cancel",None).event("EndDialog","ErrorCancel") error.pushbutton("I",81,72,81,21,3,"Ignore",None).event("EndDialog","ErrorIgnore") error.pushbutton("O",159,72,81,21,3,"Ok",None).event("EndDialog","ErrorOk") error.pushbutton("R",198,72,81,21,3,"Retry",None).event("EndDialog","ErrorRetry") ##################################################################### # Global "Query Cancel" dialog cancel = Dialog(db, "CancelDlg", 50, 10, 260, 85, 3, title, "No", "No", "No") cancel.text("Text", 48, 15, 194, 30, 3, "Are you sure you want to cancel [ProductName] installation?") #cancel.control("Icon", "Icon", 15, 15, 24, 24, 5242881, None, # "py.ico", None, None) c=cancel.pushbutton("Yes", 72, 57, 56, 17, 3, "Yes", "No") c.event("EndDialog", "Exit") c=cancel.pushbutton("No", 132, 57, 56, 17, 3, "No", "Yes") c.event("EndDialog", "Return") ##################################################################### # Global "Wait for costing" dialog costing = Dialog(db, "WaitForCostingDlg", 50, 10, 260, 85, modal, title, "Return", "Return", "Return") costing.text("Text", 48, 15, 194, 30, 3, "Please wait while the installer finishes determining your disk space requirements.") c = costing.pushbutton("Return", 102, 57, 56, 17, 3, "Return", None) c.event("EndDialog", "Exit") ##################################################################### # Preparation dialog: no user input except cancellation prep = PyDialog(db, "PrepareDlg", x, y, w, h, modeless, title, "Cancel", "Cancel", "Cancel") prep.text("Description", 15, 70, 320, 40, 0x30003, "Please wait while the Installer prepares to guide you through the installation.") prep.title("Welcome to the [ProductName] Installer") c=prep.text("ActionText", 15, 110, 320, 20, 0x30003, "Pondering...") c.mapping("ActionText", "Text") c=prep.text("ActionData", 15, 135, 320, 30, 0x30003, None) c.mapping("ActionData", "Text") prep.back("Back", None, active=0) prep.next("Next", None, active=0) c=prep.cancel("Cancel", None) c.event("SpawnDialog", "CancelDlg") ##################################################################### # Feature (Python directory) selection seldlg = PyDialog(db, "SelectFeaturesDlg", x, y, w, h, modal, title, "Next", "Next", "Cancel") seldlg.title("Select Python Installations") seldlg.text("Hint", 15, 30, 300, 20, 3, "Select the Python locations where %s should be installed." % self.distribution.get_fullname()) seldlg.back("< Back", None, active=0) c = seldlg.next("Next >", "Cancel") order = 1 c.event("[TARGETDIR]", "[SourceDir]", ordering=order) for version in self.versions + [self.other_version]: order += 1 c.event("[TARGETDIR]", "[TARGETDIR%s]" % version, "FEATURE_SELECTED AND &Python%s=3" % version, ordering=order) c.event("SpawnWaitDialog", "WaitForCostingDlg", ordering=order + 1) c.event("EndDialog", "Return", ordering=order + 2) c = seldlg.cancel("Cancel", "Features") c.event("SpawnDialog", "CancelDlg") c = seldlg.control("Features", "SelectionTree", 15, 60, 300, 120, 3, "FEATURE", None, "PathEdit", None) c.event("[FEATURE_SELECTED]", "1") ver = self.other_version install_other_cond = "FEATURE_SELECTED AND &Python%s=3" % ver dont_install_other_cond = "FEATURE_SELECTED AND &Python%s<>3" % ver c = seldlg.text("Other", 15, 200, 300, 15, 3, "Provide an alternate Python location") c.condition("Enable", install_other_cond) c.condition("Show", install_other_cond) c.condition("Disable", dont_install_other_cond) c.condition("Hide", dont_install_other_cond) c = seldlg.control("PathEdit", "PathEdit", 15, 215, 300, 16, 1, "TARGETDIR" + ver, None, "Next", None) c.condition("Enable", install_other_cond) c.condition("Show", install_other_cond) c.condition("Disable", dont_install_other_cond) c.condition("Hide", dont_install_other_cond) ##################################################################### # Disk cost cost = PyDialog(db, "DiskCostDlg", x, y, w, h, modal, title, "OK", "OK", "OK", bitmap=False) cost.text("Title", 15, 6, 200, 15, 0x30003, r"{\DlgFontBold8}Disk Space Requirements") cost.text("Description", 20, 20, 280, 20, 0x30003, "The disk space required for the installation of the selected features.") cost.text("Text", 20, 53, 330, 60, 3, "The highlighted volumes (if any) do not have enough disk space " "available for the currently selected features. You can either " "remove some files from the highlighted volumes, or choose to " "install less features onto local drive(s), or select different " "destination drive(s).") cost.control("VolumeList", "VolumeCostList", 20, 100, 330, 150, 393223, None, "{120}{70}{70}{70}{70}", None, None) cost.xbutton("OK", "Ok", None, 0.5).event("EndDialog", "Return") ##################################################################### # WhichUsers Dialog. Only available on NT, and for privileged users. # This must be run before FindRelatedProducts, because that will # take into account whether the previous installation was per-user # or per-machine. We currently don't support going back to this # dialog after "Next" was selected; to support this, we would need to # find how to reset the ALLUSERS property, and how to re-run # FindRelatedProducts. # On Windows9x, the ALLUSERS property is ignored on the command line # and in the Property table, but installer fails according to the documentation # if a dialog attempts to set ALLUSERS. whichusers = PyDialog(db, "WhichUsersDlg", x, y, w, h, modal, title, "AdminInstall", "Next", "Cancel") whichusers.title("Select whether to install [ProductName] for all users of this computer.") # A radio group with two options: allusers, justme g = whichusers.radiogroup("AdminInstall", 15, 60, 260, 50, 3, "WhichUsers", "", "Next") g.add("ALL", 0, 5, 150, 20, "Install for all users") g.add("JUSTME", 0, 25, 150, 20, "Install just for me") whichusers.back("Back", None, active=0) c = whichusers.next("Next >", "Cancel") c.event("[ALLUSERS]", "1", 'WhichUsers="ALL"', 1) c.event("EndDialog", "Return", ordering = 2) c = whichusers.cancel("Cancel", "AdminInstall") c.event("SpawnDialog", "CancelDlg") ##################################################################### # Installation Progress dialog (modeless) progress = PyDialog(db, "ProgressDlg", x, y, w, h, modeless, title, "Cancel", "Cancel", "Cancel", bitmap=False) progress.text("Title", 20, 15, 200, 15, 0x30003, r"{\DlgFontBold8}[Progress1] [ProductName]") progress.text("Text", 35, 65, 300, 30, 3, "Please wait while the Installer [Progress2] [ProductName]. " "This may take several minutes.") progress.text("StatusLabel", 35, 100, 35, 20, 3, "Status:") c=progress.text("ActionText", 70, 100, w-70, 20, 3, "Pondering...") c.mapping("ActionText", "Text") #c=progress.text("ActionData", 35, 140, 300, 20, 3, None) #c.mapping("ActionData", "Text") c=progress.control("ProgressBar", "ProgressBar", 35, 120, 300, 10, 65537, None, "Progress done", None, None) c.mapping("SetProgress", "Progress") progress.back("< Back", "Next", active=False) progress.next("Next >", "Cancel", active=False) progress.cancel("Cancel", "Back").event("SpawnDialog", "CancelDlg") ################################################################### # Maintenance type: repair/uninstall maint = PyDialog(db, "MaintenanceTypeDlg", x, y, w, h, modal, title, "Next", "Next", "Cancel") maint.title("Welcome to the [ProductName] Setup Wizard") maint.text("BodyText", 15, 63, 330, 42, 3, "Select whether you want to repair or remove [ProductName].") g=maint.radiogroup("RepairRadioGroup", 15, 108, 330, 60, 3, "MaintenanceForm_Action", "", "Next") #g.add("Change", 0, 0, 200, 17, "&Change [ProductName]") g.add("Repair", 0, 18, 200, 17, "&Repair [ProductName]") g.add("Remove", 0, 36, 200, 17, "Re&move [ProductName]") maint.back("< Back", None, active=False) c=maint.next("Finish", "Cancel") # Change installation: Change progress dialog to "Change", then ask # for feature selection #c.event("[Progress1]", "Change", 'MaintenanceForm_Action="Change"', 1) #c.event("[Progress2]", "changes", 'MaintenanceForm_Action="Change"', 2) # Reinstall: Change progress dialog to "Repair", then invoke reinstall # Also set list of reinstalled features to "ALL" c.event("[REINSTALL]", "ALL", 'MaintenanceForm_Action="Repair"', 5) c.event("[Progress1]", "Repairing", 'MaintenanceForm_Action="Repair"', 6) c.event("[Progress2]", "repairs", 'MaintenanceForm_Action="Repair"', 7) c.event("Reinstall", "ALL", 'MaintenanceForm_Action="Repair"', 8) # Uninstall: Change progress to "Remove", then invoke uninstall # Also set list of removed features to "ALL" c.event("[REMOVE]", "ALL", 'MaintenanceForm_Action="Remove"', 11) c.event("[Progress1]", "Removing", 'MaintenanceForm_Action="Remove"', 12) c.event("[Progress2]", "removes", 'MaintenanceForm_Action="Remove"', 13) c.event("Remove", "ALL", 'MaintenanceForm_Action="Remove"', 14) # Close dialog when maintenance action scheduled c.event("EndDialog", "Return", 'MaintenanceForm_Action<>"Change"', 20) #c.event("NewDialog", "SelectFeaturesDlg", 'MaintenanceForm_Action="Change"', 21) maint.cancel("Cancel", "RepairRadioGroup").event("SpawnDialog", "CancelDlg") def get_installer_filename(self, fullname): # Factored out to allow overriding in subclasses if self.target_version: base_name = "%s.%s-py%s.msi" % (fullname, self.plat_name, self.target_version) else: base_name = "%s.%s.msi" % (fullname, self.plat_name) installer_name = os.path.join(self.dist_dir, base_name) return installer_name install_data.py000064400000005406147221452520007566 0ustar00"""distutils.command.install_data Implements the Distutils 'install_data' command, for installing platform-independent data files.""" # contributed by Bastian Kleineidam import os from distutils.core import Command from distutils.util import change_root, convert_path class install_data(Command): description = "install data files" user_options = [ ('install-dir=', 'd', "base directory for installing data files " "(default: installation base dir)"), ('root=', None, "install everything relative to this alternate root directory"), ('force', 'f', "force installation (overwrite existing files)"), ] boolean_options = ['force'] def initialize_options(self): self.install_dir = None self.outfiles = [] self.root = None self.force = 0 self.data_files = self.distribution.data_files self.warn_dir = 1 def finalize_options(self): self.set_undefined_options('install', ('install_data', 'install_dir'), ('root', 'root'), ('force', 'force'), ) def run(self): self.mkpath(self.install_dir) for f in self.data_files: if isinstance(f, str): # it's a simple file, so copy it f = convert_path(f) if self.warn_dir: self.warn("setup script did not provide a directory for " "'%s' -- installing right in '%s'" % (f, self.install_dir)) (out, _) = self.copy_file(f, self.install_dir) self.outfiles.append(out) else: # it's a tuple with path to install to and a list of files dir = convert_path(f[0]) if not os.path.isabs(dir): dir = os.path.join(self.install_dir, dir) elif self.root: dir = change_root(self.root, dir) self.mkpath(dir) if f[1] == []: # If there are no files listed, the user must be # trying to create an empty directory, so add the # directory to the list of output files. self.outfiles.append(dir) else: # Copy files, adding them to the list of output files. for data in f[1]: data = convert_path(data) (out, _) = self.copy_file(data, dir) self.outfiles.append(out) def get_inputs(self): return self.data_files or [] def get_outputs(self): return self.outfiles bdist_dumb.py000064400000011461147221452520007241 0ustar00"""distutils.command.bdist_dumb Implements the Distutils 'bdist_dumb' command (create a "dumb" built distribution -- i.e., just an archive to be unpacked under $prefix or $exec_prefix).""" import os from distutils.core import Command from distutils.util import get_platform from distutils.dir_util import remove_tree, ensure_relative from distutils.errors import * from distutils.sysconfig import get_python_version from distutils import log class bdist_dumb(Command): description = "create a \"dumb\" built distribution" user_options = [('bdist-dir=', 'd', "temporary directory for creating the distribution"), ('plat-name=', 'p', "platform name to embed in generated filenames " "(default: %s)" % get_platform()), ('format=', 'f', "archive format to create (tar, gztar, bztar, xztar, " "ztar, zip)"), ('keep-temp', 'k', "keep the pseudo-installation tree around after " + "creating the distribution archive"), ('dist-dir=', 'd', "directory to put final built distributions in"), ('skip-build', None, "skip rebuilding everything (for testing/debugging)"), ('relative', None, "build the archive using relative paths " "(default: false)"), ('owner=', 'u', "Owner name used when creating a tar file" " [default: current user]"), ('group=', 'g', "Group name used when creating a tar file" " [default: current group]"), ] boolean_options = ['keep-temp', 'skip-build', 'relative'] default_format = { 'posix': 'gztar', 'nt': 'zip' } def initialize_options(self): self.bdist_dir = None self.plat_name = None self.format = None self.keep_temp = 0 self.dist_dir = None self.skip_build = None self.relative = 0 self.owner = None self.group = None def finalize_options(self): if self.bdist_dir is None: bdist_base = self.get_finalized_command('bdist').bdist_base self.bdist_dir = os.path.join(bdist_base, 'dumb') if self.format is None: try: self.format = self.default_format[os.name] except KeyError: raise DistutilsPlatformError( "don't know how to create dumb built distributions " "on platform %s" % os.name) self.set_undefined_options('bdist', ('dist_dir', 'dist_dir'), ('plat_name', 'plat_name'), ('skip_build', 'skip_build')) def run(self): if not self.skip_build: self.run_command('build') install = self.reinitialize_command('install', reinit_subcommands=1) install.root = self.bdist_dir install.skip_build = self.skip_build install.warn_dir = 0 log.info("installing to %s", self.bdist_dir) self.run_command('install') # And make an archive relative to the root of the # pseudo-installation tree. archive_basename = "%s.%s" % (self.distribution.get_fullname(), self.plat_name) pseudoinstall_root = os.path.join(self.dist_dir, archive_basename) if not self.relative: archive_root = self.bdist_dir else: if (self.distribution.has_ext_modules() and (install.install_base != install.install_platbase)): raise DistutilsPlatformError( "can't make a dumb built distribution where " "base and platbase are different (%s, %s)" % (repr(install.install_base), repr(install.install_platbase))) else: archive_root = os.path.join(self.bdist_dir, ensure_relative(install.install_base)) # Make the archive filename = self.make_archive(pseudoinstall_root, self.format, root_dir=archive_root, owner=self.owner, group=self.group) if self.distribution.has_ext_modules(): pyversion = get_python_version() else: pyversion = 'any' self.distribution.dist_files.append(('bdist_dumb', pyversion, filename)) if not self.keep_temp: remove_tree(self.bdist_dir, dry_run=self.dry_run) command_template000064400000001171147221452520010004 0ustar00"""distutils.command.x Implements the Distutils 'x' command. """ # created 2000/mm/dd, John Doe __revision__ = "$Id$" from distutils.core import Command class x(Command): # Brief (40-50 characters) description of the command description = "" # List of option tuples: long name, short name (None if no short # name), and help string. user_options = [('', '', ""), ] def initialize_options(self): self. = None self. = None self. = None def finalize_options(self): if self.x is None: self.x = def run(self): config.py000064400000031475147221452520006401 0ustar00"""distutils.command.config Implements the Distutils 'config' command, a (mostly) empty command class that exists mainly to be sub-classed by specific module distributions and applications. The idea is that while every "config" command is different, at least they're all named the same, and users always see "config" in the list of standard commands. Also, this is a good place to put common configure-like tasks: "try to compile this C code", or "figure out where this header file lives". """ import os, re from distutils.core import Command from distutils.errors import DistutilsExecError from distutils.sysconfig import customize_compiler from distutils import log LANG_EXT = {"c": ".c", "c++": ".cxx"} class config(Command): description = "prepare to build" user_options = [ ('compiler=', None, "specify the compiler type"), ('cc=', None, "specify the compiler executable"), ('include-dirs=', 'I', "list of directories to search for header files"), ('define=', 'D', "C preprocessor macros to define"), ('undef=', 'U', "C preprocessor macros to undefine"), ('libraries=', 'l', "external C libraries to link with"), ('library-dirs=', 'L', "directories to search for external C libraries"), ('noisy', None, "show every action (compile, link, run, ...) taken"), ('dump-source', None, "dump generated source files before attempting to compile them"), ] # The three standard command methods: since the "config" command # does nothing by default, these are empty. def initialize_options(self): self.compiler = None self.cc = None self.include_dirs = None self.libraries = None self.library_dirs = None # maximal output for now self.noisy = 1 self.dump_source = 1 # list of temporary files generated along-the-way that we have # to clean at some point self.temp_files = [] def finalize_options(self): if self.include_dirs is None: self.include_dirs = self.distribution.include_dirs or [] elif isinstance(self.include_dirs, str): self.include_dirs = self.include_dirs.split(os.pathsep) if self.libraries is None: self.libraries = [] elif isinstance(self.libraries, str): self.libraries = [self.libraries] if self.library_dirs is None: self.library_dirs = [] elif isinstance(self.library_dirs, str): self.library_dirs = self.library_dirs.split(os.pathsep) def run(self): pass # Utility methods for actual "config" commands. The interfaces are # loosely based on Autoconf macros of similar names. Sub-classes # may use these freely. def _check_compiler(self): """Check that 'self.compiler' really is a CCompiler object; if not, make it one. """ # We do this late, and only on-demand, because this is an expensive # import. from distutils.ccompiler import CCompiler, new_compiler if not isinstance(self.compiler, CCompiler): self.compiler = new_compiler(compiler=self.compiler, dry_run=self.dry_run, force=1) customize_compiler(self.compiler) if self.include_dirs: self.compiler.set_include_dirs(self.include_dirs) if self.libraries: self.compiler.set_libraries(self.libraries) if self.library_dirs: self.compiler.set_library_dirs(self.library_dirs) def _gen_temp_sourcefile(self, body, headers, lang): filename = "_configtest" + LANG_EXT[lang] with open(filename, "w") as file: if headers: for header in headers: file.write("#include <%s>\n" % header) file.write("\n") file.write(body) if body[-1] != "\n": file.write("\n") return filename def _preprocess(self, body, headers, include_dirs, lang): src = self._gen_temp_sourcefile(body, headers, lang) out = "_configtest.i" self.temp_files.extend([src, out]) self.compiler.preprocess(src, out, include_dirs=include_dirs) return (src, out) def _compile(self, body, headers, include_dirs, lang): src = self._gen_temp_sourcefile(body, headers, lang) if self.dump_source: dump_file(src, "compiling '%s':" % src) (obj,) = self.compiler.object_filenames([src]) self.temp_files.extend([src, obj]) self.compiler.compile([src], include_dirs=include_dirs) return (src, obj) def _link(self, body, headers, include_dirs, libraries, library_dirs, lang): (src, obj) = self._compile(body, headers, include_dirs, lang) prog = os.path.splitext(os.path.basename(src))[0] self.compiler.link_executable([obj], prog, libraries=libraries, library_dirs=library_dirs, target_lang=lang) if self.compiler.exe_extension is not None: prog = prog + self.compiler.exe_extension self.temp_files.append(prog) return (src, obj, prog) def _clean(self, *filenames): if not filenames: filenames = self.temp_files self.temp_files = [] log.info("removing: %s", ' '.join(filenames)) for filename in filenames: try: os.remove(filename) except OSError: pass # XXX these ignore the dry-run flag: what to do, what to do? even if # you want a dry-run build, you still need some sort of configuration # info. My inclination is to make it up to the real config command to # consult 'dry_run', and assume a default (minimal) configuration if # true. The problem with trying to do it here is that you'd have to # return either true or false from all the 'try' methods, neither of # which is correct. # XXX need access to the header search path and maybe default macros. def try_cpp(self, body=None, headers=None, include_dirs=None, lang="c"): """Construct a source file from 'body' (a string containing lines of C/C++ code) and 'headers' (a list of header files to include) and run it through the preprocessor. Return true if the preprocessor succeeded, false if there were any errors. ('body' probably isn't of much use, but what the heck.) """ from distutils.ccompiler import CompileError self._check_compiler() ok = True try: self._preprocess(body, headers, include_dirs, lang) except CompileError: ok = False self._clean() return ok def search_cpp(self, pattern, body=None, headers=None, include_dirs=None, lang="c"): """Construct a source file (just like 'try_cpp()'), run it through the preprocessor, and return true if any line of the output matches 'pattern'. 'pattern' should either be a compiled regex object or a string containing a regex. If both 'body' and 'headers' are None, preprocesses an empty file -- which can be useful to determine the symbols the preprocessor and compiler set by default. """ self._check_compiler() src, out = self._preprocess(body, headers, include_dirs, lang) if isinstance(pattern, str): pattern = re.compile(pattern) with open(out) as file: match = False while True: line = file.readline() if line == '': break if pattern.search(line): match = True break self._clean() return match def try_compile(self, body, headers=None, include_dirs=None, lang="c"): """Try to compile a source file built from 'body' and 'headers'. Return true on success, false otherwise. """ from distutils.ccompiler import CompileError self._check_compiler() try: self._compile(body, headers, include_dirs, lang) ok = True except CompileError: ok = False log.info(ok and "success!" or "failure.") self._clean() return ok def try_link(self, body, headers=None, include_dirs=None, libraries=None, library_dirs=None, lang="c"): """Try to compile and link a source file, built from 'body' and 'headers', to executable form. Return true on success, false otherwise. """ from distutils.ccompiler import CompileError, LinkError self._check_compiler() try: self._link(body, headers, include_dirs, libraries, library_dirs, lang) ok = True except (CompileError, LinkError): ok = False log.info(ok and "success!" or "failure.") self._clean() return ok def try_run(self, body, headers=None, include_dirs=None, libraries=None, library_dirs=None, lang="c"): """Try to compile, link to an executable, and run a program built from 'body' and 'headers'. Return true on success, false otherwise. """ from distutils.ccompiler import CompileError, LinkError self._check_compiler() try: src, obj, exe = self._link(body, headers, include_dirs, libraries, library_dirs, lang) self.spawn([exe]) ok = True except (CompileError, LinkError, DistutilsExecError): ok = False log.info(ok and "success!" or "failure.") self._clean() return ok # -- High-level methods -------------------------------------------- # (these are the ones that are actually likely to be useful # when implementing a real-world config command!) def check_func(self, func, headers=None, include_dirs=None, libraries=None, library_dirs=None, decl=0, call=0): """Determine if function 'func' is available by constructing a source file that refers to 'func', and compiles and links it. If everything succeeds, returns true; otherwise returns false. The constructed source file starts out by including the header files listed in 'headers'. If 'decl' is true, it then declares 'func' (as "int func()"); you probably shouldn't supply 'headers' and set 'decl' true in the same call, or you might get errors about a conflicting declarations for 'func'. Finally, the constructed 'main()' function either references 'func' or (if 'call' is true) calls it. 'libraries' and 'library_dirs' are used when linking. """ self._check_compiler() body = [] if decl: body.append("int %s ();" % func) body.append("int main () {") if call: body.append(" %s();" % func) else: body.append(" %s;" % func) body.append("}") body = "\n".join(body) + "\n" return self.try_link(body, headers, include_dirs, libraries, library_dirs) def check_lib(self, library, library_dirs=None, headers=None, include_dirs=None, other_libraries=[]): """Determine if 'library' is available to be linked against, without actually checking that any particular symbols are provided by it. 'headers' will be used in constructing the source file to be compiled, but the only effect of this is to check if all the header files listed are available. Any libraries listed in 'other_libraries' will be included in the link, in case 'library' has symbols that depend on other libraries. """ self._check_compiler() return self.try_link("int main (void) { }", headers, include_dirs, [library] + other_libraries, library_dirs) def check_header(self, header, include_dirs=None, library_dirs=None, lang="c"): """Determine if the system header file named by 'header_file' exists and can be found by the preprocessor; return true if so, false otherwise. """ return self.try_cpp(body="/* No body */", headers=[header], include_dirs=include_dirs) def dump_file(filename, head=None): """Dumps a file content into log.info. If head is not None, will be dumped before the file content. """ if head is None: log.info('%s', filename) else: log.info(head) file = open(filename) try: log.info(file.read()) finally: file.close() wininst-9.0.exe000064400000577000147560526160007273 0ustar00MZ@ !L!This program cannot be run in DOS mode. $6Bry,ry,ry,6uy,l+Ty,l+dy,UAqy,UW}y,ry-y,l+y,l+sy,l+sy,Richry,PELI  6P@`@R@P.text56 `.rdata*P:@@.dataJ@.rsrc@@@tt /u\@uVt$ Ul$W|$S>toj\VUbYYt_WTQB؃u'jWXQButWh SBjՃ WjYYuh\QBt Wh SBjՃ \Fu[_]3@^U SVW=8QB39uuEVhuVVSu ׉EPK:S. MK SFC*NȋEύDEEU+AuEP@u+MI<\Mt}OGGuSBfu}EP,QBeDEE5PU@u+EPuQ EEMȃ8uFPuEPb E}EP@uM+€<\tGuC PCPsEuPjt"uNssQuP9}tE@PE@ PujUE@ E9EV6M4ȋx@uN+NjAu+΍}OOGuʃMȉMMI+ȍEp@u}+ƀ<\t(uVFu+<7/t}OGGuSBfu<\tPuQBEV8V\]Y hXBsYuHQBuQBEMp_^3[qVtUB3ʼnE3V9Et=PPQVuPhhPBVPi dPBP,QB+WVPh jh,YBP5%CdRBM33^UUB3ʼnEVWEPu hP kEHHHHtnHtWHtH()Cu hpYBxE5RB}Pjh5(Cu Wh5(CjPYBY3tu%u Y()Ctu h{V4tRYBY;N;t +V+щ`C+FM+F+~h[YEEPhpPBttuEjhYBPlPBt\3PPPvPujEtQvWPfE p@u+ƍD8PRYMuE4QB3@9ut99ut49ut/;t+39uh%CUuuJ U^[UQEPhpUBu DC uujh$UB(C UQEPhpUBu DC uujh$UB(C øMB3ĉ$$ NU$ V$-tW-t/HP$hhUDRBVhURBVjhhUDRB3@I0)CtPjhrhUDRBhCD$ hcBP0RB5RB D$PhUhlcBhUv1t(8jjhpUHRBPLRB5HRBSW3WWhpU-(C%CPLRBWWhkUPRB (CÍp@u+ƀ(C\tOGGuSBfÍp@u+U(CSYY$5'C5%C/5RB\Ct8thLcBSU5\CY=%Ch8cBSUh"@5$C5(Ch (CWu hcB/Y=%C=Ct:hbBSUhbBh5(Cֹ@C33XuBFMuҋ#Ƌ#_^[3 t3uSVW|$j +[ 7T$Ku_^[U}uE33AE @L@ |EVPPEuYYEPzEYt΍Q}t'PEPEYt ΍U*}u3E ^ËT$u3t$ D$YU@EHPSKLMԋ+M VpWx OωMč:MЋN(M܋N,MN0MN4M؋N8MN)MMMAGMu+MM#+MM;Ms)MMAGMu֋MUvLBj3YM@mAGAGAGHuE +ʃmAGAGAG}w}tAG}vIG;]s7;}#,@B@tB t @XBM +)M 3AыM JʋU#эKOH M+˃HM+ρHE _V8F<^[ËL$3;tMA;tFPQQQA00PP @P P(P,P0P8P u B Je^8~u63WWWFjEPEEvF3F ftH0Fj3Yuk$<tE@BS˃;N$vE@B133@WWWFMӃ FA0 3E@|Bs'}5EMEr܋U^t BBt B`BF t Ft ]jEP]vU F33 s'}EME r܋UF tXFt0EE]jEP]vU F33s'}$EMEr܋UF tˁHN A Ft ]jEP]vU F33Fths'} EMEr܋UF ^@tXFt ]jEP]v"U F33 F t`FV@EU;vE}tdN t4AE؅t*AI+‹U;v+MQMuQ Ftuuv FE)EE)F@~@ Uf@Ft~} 3ɋEAMN EtQU؅tV@;Q s M؈F@tM;MrFtuuvFE M)MM U F t`f@Ft~} 3ɋEAMN EtQ$U؅tV@;Q(s M؈F@tM;MrFtuuv`FE M)MMy U F t`$FtDs'}K EMEr܋UF;t BLB 33F tV3A #щP,F H03PPPMF A0 s'} EME r܋U˸#ȋϋ#ύFB033 ~ : 3PPPMFA0  } R U~tσ+ s'}& EMEr܋UÃFÃOt/HtHtHu,B8B OOg σ+ s'} EME r܋Uˋ%;t BB 3ۉF@3F@EYE9EvEE9EvE}' uuuE)EE)EE )F@s'}EMEr܋UÃF`Ã@FdÃ~`F\w~dw fhNBB+}uEMEr܋Nh M0BÃfDNpFhFh;F\rFhE0B3fLFpFh~hr卆0NlFLRFTPQjFpPj E܅tE@؎B~fh}EMENT3@NLH#ËɉE;wfsK"}eMME;r̋Fh+fMfLFpFhef}uV}MMEH;rڋ+Fh3DFnEÃOOf}uZ}EMEB;rڋjÃ7}EMEB;rڋjà eY+NdVhN`;vpE@B>0NlFLRFTPQv` FpPj E܅tCE@BNhfUHfTNpFhuFdF`9Fh닋E@BUNlFPRFXPQvdF`DFpPj< E܅tE@B}rY}rPEMuH MHMMHP^8~< E^8~}'EM;AtE}t j7}E+G]+_G_^~Et,t(G S+Ã~PvtAFG0Eԃ > u3ɋV҃@V t jX_^[Ã> uPPPZt$$SPO;Ftj׋Get jF(|$;v+PSv4 F(F,N4W+SQ ~, F 3끋D$t@t@tL$H a03jXË39D$vASWs8T$ ځ;uAt3jZ+ы@;D$r_[US]VW{{u <sjjX9tAG<ȃg8+3ɉG<rG8o8GCYYEtjsSoECsY 3jX_^[]ËD$t@t8 u x<u3@3jXUQQSVW39}u ;^;F ;9~$h0%jv(Ѓ E;uj}9{4t(K$3@jPv(V E;u uv(V$YYɋ}jYh0%uSVCL0 0;r/,%;w%++0FLCP++0FPCl}++0FltK$3@Ps4W E~4p3jX_^[Ul$B3ʼnE\ElUxEE|SE3VutWj Y}<33ɉU9}pvEHDE3B}h]E܍J]UUMur3@MM*MMM;M} EfU&~M UɊUUf E`3fM3ҋ+MBMMMM] )U+˃}]u3ҍHBMut Z#3ۃELE<f ]fu;EEMAE܋U ;&M#ˉM;M}uUM<ȋE3+B;Es(EDE<E+Ӆ~AE@@EE;Er3@UU9Ehu }Eԋ]ЉE M L+fLEz*ME@M3fMJ}tM#;Mt E e>EMM 3ҍHBut J#ʋ3ۅuEM EЉ3M\_^3[C`øSBjUXËD$B+ȋËD$D$ P&Yt$Y%,PB%(PB%\QB%XQB%TQB%PQB%LQB%HQB%DQB%@QB%~u蓌Yj hB<{3u3];;u CVVVVV639u ;tԉ]S)YuC @uwSYYttȃ @)CBA$u)tt@)CB@$tBVVVVV 6M9uu#S蕓EPVu S5ESWE E|zuYËUEPuu uס]ËUEPuu uۡ]ËUEPju u]ËUEPuu uġ]ËUEPju u詡]øBá:CVj^u;}ƣ:CjP*YY*CujV5:CYY*CujX^3ҹB*C  B|j^3ҹBW@)Ct;tu1 BB|_3^=CtW5*C=YËUVuB;r"Bw+QMhN Y VQB^]ËUE}P hE H Y]ËE PQB]ËUEB;r=Bw` +PfY]à PQB]ËUME }` QfY]à PQB]QL$+ȃ YQL$+ȃ YU S39]u?SSSSS"3M Vu;t!;uj?SSSSS2RE;wMWEPSuEPEBuu ;tMxE EPSYY_^[ËUEPuuu uh]̋L$ WVSًt$|$u 't+t/uuatt7uD$[^_tuutu[^D$_Ét~Ѓ3‹t܄t,tt uĉ3҉3t 3uwD$[^_UW}3كE 8t3_ËU S39]u e=SSSSS0M Vu;t!;u6=SSSSS0SE;wMWuEuEBuuPuՏ;tMxE EPSݟYY_^[ËUujuu u5]QL$+#ȋ%;r Y$-U WV&3Y;ua<WWWWW/49} t޹EIuuM;wEuEuu PU_ËUVuEPju h0Az^]ËUVuEPuu h0AW^]ËUVuEPju h@A5^]ËUVuEPuu h@A^]ËUSVuW3;uo;WWWWW. BF t7VsVV輙P}F;t PY~~ _^[]j h0BsM3u3;;u:WWWWWx. F @t ~ EsVY}V*YEEՋuVHYËU SVW39} t$9}tu;ur:WWWWW-3_^[ËM;tڃ3u 9Ew͋} }F M}tFEEN t/Ft(;rWu6)~> +}O;]rOt VYu}}t 3ҋu+WuV*YPj ta;wM+;rP})EVP臜YYt)EFKEEAEN +3u N Ej hPB0q39u t)9ut$39u;u 9VVVVV,3>qu%Yuuuu u=EEEudYËUEtM ]ËUEt8uPY]ËUSVWuM3E苸]ut>~4>E}E}YYM\rҍCP|YueE:4EF+ƍDPV{ t3PPPPP*V}E:tEF+ƍDPV{t3PPPPP)VX}E}Yr}_^[tE`pEjYËUSVWuM3{E䋸w8uE v0|6E|uYYMÃM\uuՍCP{YuthE E:wF+ƍDPVz t3PPPPP)V|E:7F+ƍDPVzt3PPPPP(VN|MYu}_^[tE`pEjYËU$SVWuM3rE܋}]t3{43E{E}YYM|rҍF8EE ]s0{3E{EYYMM|u{{Ǎ|q{|b{|S{PEz؃WhVSeF] )uEESvj [0A~wII@;r[ËUQSV3҉U9Ut597vj [0F ~w7NN@;r.;1s(NVtj [0ENuE)^[ËUQSYVWًI tptIHt$F3;ulv3;Z QUThEv3;8/UT#%E F3;j Y;[QXTMjY+HHt4HHtHuu sF3;;;tHF3;;ȋF;w=ml;}3j^;@3;A;FF=|=~ ~03jdYujkdvm9ZAHHt\Ht,v3;muFjv ypujZM .Yu3u SV9}tAjurtsE 98tlu E PSVjuH5CW뾋v3;| UT8v3;|~[/WWWWW"3Uv3;|̓ ȍF/pteHtFHt&Hu)*.39F ؋EF3;yujdYu3u SV9}tjW F3;@7u3Bv3; UE O3@_^[ËU B3ʼnEE SVu3+WtHtE}  QBu QBlfPSfUfPfBfUfP fUfPfUfPffES3WfEEPSMfUщE;=;tPGY;t E;tZuSWEPjUH~!uM>vEECHuY3@e_^[M3Êt]u;t3҉UAB8tMȃdN'AHt~MtOauQ訾YYt;vG8 G sMHtHtHt HuB<b5Em'HtHt EHhĹBW込YYuhBW証YYu}pp;]<'tEuPǽYYt;vG8 G uGHtHtHtHAUaNEd@hHt%HHtHHrYyEx E;uPݼYYt;vG8  ;uP薼YYt;vG8 G uaHtHt ES.HtHt EMHtHt rEIuUuSut}}3U ESu3ۍM]EE;u+)SSSSSP8]tE`p3PW} ;u+)SSSSS8]tE`p3Vu;E;u EE};:ty<%tAMQP)YYt3A9MvF8tpU EMMEFM/U;twF3>#u@FPuEPEPMtBF9]w9]vE+}8]t\MapSME9]u 9]w("&9]vEq(SSSSS8]tE`p3^_[ËUujuuu uA]ËUjjuuu u"]ËUjuuuu u]j hpB_3ۉ]3};;u'SSSSST3y3u ;;t38;tHE;u 'ʉ]8u s'jEPhBJ PuVW9EE E_uYËUj@u u* ]ËUVW}3;u&j_VVVVV8$huu ;t3&_^]ËU S39] u&SSSSS5ME;tVEEEPSu EPEEBJyMxE EPSVYY^[ËUEPuu uj]ËUEPjuu u]ËUEPuuu u]ËUEPjuuu u1]ËUEPuuuu u]ËUEPjuu uA]ËUEPuuu u"]ËUE PuYY]ËUE PuYY]ËUEPu uu ]ËUEPu u ]ËUu ME~EPhueI MH%}tMapËU= CuE BA%]ju~YY]ËUu ME~EPjuH MH}tMapËU= CuE BA]juYY]ËUu ME~EPjucH MH}tMapËU= CuE BA]juYY]ËUu ME~EPjuG MH}tMapËU= CuE BA]juYY]ËUu ME~EPhubG MH%}tMapËU= CuE BA%]ju~YY]ËUu ME~EPjuF MH}tMapËU= CuE BA]juYY]ËUu ME~EPju`F MH}tMapËU= CuE BA]juYY]ËUu ME~EPhuE MH%}tMapËU= CuE BA%]ju~YY]ËUu M E~EPhWuXE MH%W}tMapËU= CuE BA%W]ju~YY]ËUu ME~EPhuD MH%}tMapËU= CuE BA%]ju~YY]ËUu ME~EPj uOD MH }tMapËU= CuE BA ]juYY]ËU}]ËUE]ËUu u9YYu}_t]3@]ËUuoYu}_t]3@]ËUu u~YYu}_t]3@]ËUEPYu}_t]3@]̋V;ttSN@Au[^̋UQUW;vnM  SEVIu;w"$SVU~u ;vM U;t#t+IN@uM U+;w^[_]̋US]Vu u't#jjjjjn^[]W}v}u$jjjjj=_^[]ÃrNE]u+3@wEPWS vËWSU~ UϋtVSU~ U΋\VWU~U΋Dd$;v];sWSU~;wI];]w WSU~+u;v WVU;w2Ut#+JUU U U@u;uu;s+u;vWVUt;rI+uE;vWVUtEUʋ++;|+;sM􉄍xAM;s9u}];sM􉜍xAM;s]}uj}EE9xUEڋ;jhBS]uu oYu u SY=`*C3}jCY}S=DYE;;5P*CwIVSPI t]5VNPYE;t'CH;rPSuSCESPD9}uH;u3Fu u VW5( CQBE;t CH;rPSuUSuCE.}u1uFu VSj5( CQBu ]j2AYË}9=Ct,VVYF9}ulYj=YËUV tЃ;ur^]ËUVu3utу;u r^]ËUMV3;uVVVVV jX C;tډ3^]ËUMV3;uXVVVVV jX C;tډ3^]ËU=*Cth*CaYt u*CY蘷hRBhRB)YYuBh%lARB$RB=*CYth*C Yt jjj*C3]jhBMjM=Ye3C9CCEC} 5|*C4Y}؅tx5x*C3Yu܉}uu;rW39t;rJ6335|*C35x*C3 9}u9Et}}؉Eu܋}hRBRBYhRBRBYE}u(Cjc;Yu3C}tjJ;YLËUjju ]ËUjju ]jjj jjj ËV2VTPVV?VVZVXV蜷V腷hN@&2$B^ËU=CuOuMhYY]øMZf9@u6<@@PEu% f9@ut@v39@3jXhBtK3uEPQBj_}MZf9@u8<@@PEu' f9@ut@v39@Mu3CS{8YujY5ujY)]ma}jgYQBp*CCJ}jAY}j 0YS`Y;tPY0]tMj YQPVh@蓎E9uuP}5E MPQ YYËeE܉E}uPEE3@ËeEHJ}xU}uu }MfofoNfoV fo^0ffOfW f_0fof@fonPfov`fo~pfg@foPfw`fpIuu}]U}u]] ÙȋE3+ʃ3+ʙ3+3+ uJu΃M;t+VSP' EMtw]U +щU+ى]u}MES;u5كMu }MMMU UE+EPRQL Eu }MʃE]u}]j hBHef(E#E=t =t33@ËeeEEHËU3SEEESX5 PZ+tQ3E]UMUE[Et\t3@3[l*C3U}}M f$ffGfG fG0fG@fGPfG`fGpIuЋ}]U}E3+3+u-uEFV苼YiE<+t<0|<9F3ۋuj0YÀ>:u8FVVYk<E<9F<0}>:uFV6YE<9F<0}9]t]E;t#jVj@wztSSSSSGun0uX0@ËU e} SVW}%yH@Eu jd[ult B BE +_jd_FjEÙU}+ЋڍGimÍ%[Ek+E;Ut}}u jd[ult E B E B;~D?%yH@u jd[ult 4B4Buk<M k<M$iM(}u5B B=BkEP5B BYt3PPPPP2EiByB\& B\&9B| )BB=B_^[ËU VE3PuYt VVVVV9uu3XWS3C;Bu ;B95 C C CP CP CPf95 Cu CVP CPRS  CPVVRV CSWr C l C$Pp CPn CPf95d Cuh CVPj CPwSj CPVVwVf CV$TkjXjYE ]}jXE EVVVVVQRSSjYEVVVVVuwSVjYH BB;ȋW};|";;~;}[^;|;;~;}3Gk<Gk<i;u 3;B 3;BjhXB<395 Cu*js,Yu95 Cu  CE<jQ+YjhxB<j.,YeE<j+Yj hBQ<j+Ye}EE Ek<j*YËUVuW3};uj^WWWWW0 j$hVۯE ;tˋ@ME|@Ws j^0뼃| &AwSWh3PQnȃF+yjd}M؋Ǚ_jh+؋EDAڙRP+jQSRPl}U}M|sGEǀ3UȁEyIAu jdYuEluAU2EȁyIAu jdYuEluEEjSuFWfjFhRP贿U}BuBF3A9B} A9|QIN+jF E Sp0 jY3ShuWVjFhRP>SUj3[_^ËUVCtuVYY#^]ËUEV3;uVVVVV!jX B3^]ËUEV3;u\VVVVVjX B3^]ËUEV3;u#VVVVVjX B3^]ËUE S3V;t:9]v:;tW};t E;t@t;j^SSSSS0WU9]tj^SSSSS0764B6?F@Y9] u3;Evj"X6uu 8D _^[]øBøBøBøBËUE3;͈BtA-rHwj X]Ë͌B]DjY;#] uBà uBà ËUVMQY0^]ËUm uj X]M3]ËUVu3;uPPPPPjX p3^]ËU uj X]bM3]ËUVu3;uPPPPPjX 33^]WVS3D$ }GT$ڃD$T$D$ }GT$ڃD$T$ uL$D$3؋D$A؋L$T$D$ ud$ȋD$r;T$wr;D$vN3ҋOu؃[^_SW3D$ }GT$ ڃD$T$ D$ }T$ڃD$T$ uL$D$3D$ 3OyNS؋L$T$D$ ud$d$r;T$wr;D$ v+D$T$+D$ T$Oy؃_[UQSVu3ۉ];uj^SSSSS0)j$hVE ;tˋ@W} ]j^0̋WiҀyʍF3;|+B;|+ȸB;|B+EVQBFi9]uBF3B9G} B9|3JV+QF E j_j<^ V_Fiȋ_Fk<+ȉ3^[ËV:uo 3^Ã~Duj$@YFDt܋FD^ËUVtuV|YY#^]SVD$ uL$D$3؋D$ Aȋ\$T$D$ ud$ȋD$r;T$wr;D$ vN3ҋ^[-t"t t Ht3øøøøËVWh3FWPr3ȋ~~~  ~B F+ο@Ou@Nu_^ËUB3ʼnESWPvQB3@;rƅ t.;w+@P j R详 CCujv vPWPjj躽3SvWPWPWv S蛻DSvWPWPhv Sv$3EtLtL Ƅ@;rVDž3)ЍZ w Lр wL р A;r‹M_3[Ij hB1$BGptltwhuj Y1j Yewhu;5(Bt6tVQBuBtV葭Y(BGh5(BuVQBE뎋uj YËUS3SM Cu CQB8]tEMapE,BD;FG;v}FF>uыuE}urlj{CgjC C4BZf1Af0A@@JuL@;vFF~4C@IuCC Ss3ȋ {95 CXM_^3[DËUjM蓧Ext}@tMapÀ}tE`p3jhBC.Mj}_hu7E;CWh :Y؅Fwh#SuzYYEuvhQBuFh=BtP/Y^hS=QBFp$Bj @YeC CC CC C3E}fLCf E C@3E=} L B@3E=}(B@5(BQBu(B=BtPvY(BSE0j Y%u BtS@YeE,Ã=*CujVY*C3ád*Cøh*CËUSVu3W;to= Cth;t^9uZ;t9uP軨YY;t9uP蚨"YY肨wYY;tD9u@-PV+PC+P5*=Bt9uP\7YY~PE(Bt;t 9uPާY9_tG;t 9uPǧYMuV踧Y_^[]ËUSV5QBW}W֋tP֋tP֋tP֋tP֍_PE{(Bt tPփ{t CtPփMu֋P_^[]ËUW}SV5QBW֋tP֋tP֋tP֋tP֍_PE{(Bt tPփ{t CtPփMu֋P^[_]ËVtt;tWj6Y PY_^Åt7t3V0;t(W8YtV>Yu0BtV3Y^3j hB)$BFpt"~ltpluj Y)j YeFl=BiEEj YuËUVWdHpjZBUt:3;t;t'tVVVVVHp $B_^]áBH  CH  C B B <C C@CjhBw(uj YeFtPQBuF=BtP认YE[>tCuW~uQh\Bud. 3t VVVVV(;t 3ffGfG`;t0dGV{0YP;s,VhYYVXYYLlVPYYlPSP CTlPWh >t P;r L$UB@PVWX蟝t3VVVVV&39\tjS\m 9`tjT`O hudu- t VVVVVh3M_^3[2ËUB3ʼnESW uhPPPhxPSu3E0sHxP\YYxxP.PtW-YYptCHM\D klX1jPd

U]jhhBR3ۉ]}v9SSSSS3,SucNp]jh'YY};j YENl]uM PYE;9] th(Bu YYt  Cj @ YE^lWYFpu2$Bu);BljB Ph Cۊ me-}܋u3j YËuj YW`WYYE E<ËufpËUuQBu]6]ËUV5B5QBօt!BtP5BЅt'tBVQBu VYthdBP$QBtuЉEE^]jYËUV5B5QBօt!BtP5BЅt'tBVQBu VjYthBP$QBtuЉEE^]QBUu5BQB]BËV5BQBu5 CEYV5BQB^ËUu u5 CY]BtP5$ CYЃ BBtPQB Bj hB$tBVQBuVnYEuF\(B3G~t$hdBP$QBӉhBuӉ~pƆCƆKCFhBj _YevhQBE>j >Y}E FluBFlvl2YE3Guj Yj YËVWt~t WW&YHB|ܾ(B_t ~uPӃHB|^[ËUE4(BQB]t$jRBhYj hB 3G}39( Cuj hYYu4(B9tnj:Y;u 3Qj YY]9u,hW蒅YYuWY ] >WYE Ej YËUEV4(B>uP"YujY6QB^]Ã=( Cu3á`*C#P*CËUEHVv3VVVVVkjX395( Cuף B3^]ËUEV3;uVVVVV$jX95( Ctۋ B3^]ËUh@j5( CQBL*Cu]ËM% C%H*CT*C3 P*CX*C@]ËU H*CL*CkU+P r ;r3]ËUMAVu W+y iDMIMS1UVUU] utJ?vj?ZK;KuB sL!\D u#M!JL! uM!Y] S[MMZU ZRSMJ?vj?Z]]+u]j?u K^;vMJM;v;t^M q;qu; s!tDLu!M!1K!LuM!qM qINM qINu ]}u;M ыYN^qNqN;Nu`LML s%}uʻM DD )}uJM YJꍄ ED0E C \*C5 RBh@H SQ֋ \*C C P C@ \*C C@HC CHyCu ` CxueSjp ֡ Cpj5( C|QB H*C CkL*C+ȍLQHQPE H*C; CvmL*CT*CE C=\*C[_^áX*CV5H*CW3;u4kP5L*CW5( CQB;u3xX*C5H*CL*Ck5L*ChAj5( CQBF;tjh hWRBF ;uvW5( C|QB뛃N>~H*CF_^ËUQQMASVqW3C}i0Dj?EZ@@Jujhy hWRBupU;wC+ GAH@PǀIuˋUEO HAJ HAdD3GFCENCu x!P_^[ËU MASVuW} +Q iDMOI;|9M]UE;;MIM?vj?YM_;_uC sML!\D u&M!ML! uM!YO_YOyM+M}}M OL1?vj?_]][Y]YKYKY;YuWLML s}uϻM DD }uOM YO U MD2LU FBD2<38/] )uNK\3uN] K?vj?^EuN?vj?^O;OuB st!\Du#M!NL! uM!Y] OwqwOquuuN?vj?^M yK{YKYK;KuWLML s}uοM 9DD }uNM yN ED3@_^[á C \*Ch@H hQ RB \*C C P C@ \*C C@HC CHyCu ` CxuH=H*C~?pj5( C|QB H*C CkL*C+ȍLQHQP; H*C% CËUL*C8S3;u9H*CVWỦ]kB;gJ MDM܋JM]]]uj@39]Y]؉]]9]U :tIEH?~j?X19x;rClE}93e_C}ԉ];M;tM;d;Vȁ ;1;tˋ];u;I?~j?Y;M9HEEԋ@;u}t! } E E N E EE9xM;9F@uȋU3ۋE;FE;EEeE} uE;u_E;BuWEE;H*CU3_^[j6j2j.j*j&j"jjjjjj jjjX뾋UV395( Cu3`*Cu.E=v]VVVVVˣP*C3@]W};tBuBw WYuVVVVV襾 =P*C`*C3@ 3_^]ËUH*CMkL*CMSI VW} M 3U T*CS;#U# u ];r;uL*CS;#U# u ];r;u[ {u ];r;u1L*C {u ];r;u@؉]u3 SYKC8tT*CCUt|D#M# u)eHD9#U# uEUiDMLD3#u#Mj _G}MT +MN?M~j?^;J;Ju\ }&M|8Ӊ]#\D\Du3M]! ,OM|8!]u ]M!K]}JzyJzyM yJzQJQJ;Ju^LM L}#} u ;οM |D)} u N {MN 7Mt LMuэN L2uy>u; CuM; \*Cu% CMB_^[hPAd5D$l$l$+SVWB1E3PeuEEEEdËMd Y__^[]Q̋t O3 0AuO G3 01űUS] Vs35BWEE{t N3 8tN F3 8tE@fMUS[ EMt_I[LDEEt`E|@GE؃u΀}t$t N3 8itN V3 :YtE_^[]EɋM9csmu)=@*Ct h@*ChtUjR@*CM [`E 9X thBWӋ^`E MH t N3 8sN V3 :sEH_9S RhBW `UQQS]VW33};HBt G}rwj,Y4jYu =BAhpBS CW6 t VVVVV脷h CVj CPBu&hXBhV t3PPPPP@V @Y 9M u H9U t @ff;u9M u8]tMap8]tE`p3^[ËUju u2 ]ËUEVW|Y;8)CsQ<@)C<u5=BS] utHtHuSjSjSj\PB3[` h _^]ËUMS3;VW|[; 8)CsS<@)C@t58t0=Bu+tItIuSjSjSj\PB 3ڷ _^[]ËUEuƷ 諷 ]V3;|";8)Csȃ @)C@u$腷0kVVVVV ^]j hBK}4@)CE39^u6j Y]9^uhF PdYYu]FE09]t@)CD8 PQBE 3ۋ}j sYËUEȃ @)CD PQB]jh0BM3}j ]Yubj Y}}؃@<4@)Cu@)C;Fu\~u9j Y3C]~uhF PbYYu]Fe(}u^ SQBFtSQB@낋}؋uj pYÃ}uF+4@)Cu}uyG+j@j 3YYEta @)C8)C ;s@@ `@E}σ@)CDWYuME EEj Yj hXB3}2E t E @tˀE tuQB;u%uN@ uNhF P_\YYt7F N@Cg58)CpQB33@ËeEgËVW@)C>t1t G PRB@;r6Uc&Y@*C|_^ËUVuV9 PYYt|m ;u3m@;u`3@CF uNSW<C?u SYuFjFXFF ?~>^^N 3_@[3^]ËU}t'Vu F tV7f f&fY^]A @tyt$Ix  QPYYu ËUVMEM >t} ^]ËUG @SVt2u,E+M}C>ul8*uϰ?d}^[]ËUE@]ËUEAQ]ËUEf@]ËUxB3ʼnES] Vu3W}u]u5説3PPPPP4t `p F @u^V YBttȃ @)CA$uttȃ@)C@$g3;] C , If90t@@;u+(;u PBI8t@;u+\@t2t ƅ-t ƅ+ tƅ Dž++ uSj 6 <YtuWSj0 tf~bPjEPFPF蹷u(9t MYuPY|tWSj H tqVYtt `pM_^3[cOÐ !A!AQAAA AL Az!AUEV3;unVVVVV@^]j hBM3u3} ;;u ,VVVVV踔39u;tԉ} W:`YuG @uwWjYttȃ @)CBA$u)tt@)CB@$t蒠VVVVVM9uu"WuuuWUEWV)E Eu _YËUuuu uhA]ËUuuu uhA]ËUuuu uhA]ËUuju uhAk]ËUuju uhAL]ËUuju uhA-]jhBu3ۉ]jY]j_};=:C}W*C9tD@ tPdYtE|(*C PRB*C4|SY*CGE E1jYËUSVuF Ȁ3ۀu@t9FW>+~,WPV#YPc. ;uF yF N _Ff^[]ËUVuu V5Y/V|YtF @tVPYY3^]jhB&3}}jY}3u;5:C*C98t^@ tVPV]]YY3BU*CH t/9UuPJYtE9}utP/Yu E܉}F3uࡌ*C4Vf]YYE}EtEjYj hBL39uu V Y'ui\YuuYEE EUu\YjYËUQVu VaE F YuӜ N /@t 踜"S3ۨt^NF F F ^] u,Z ;t Z@;u u ^YuVhYF WF>HN+I;N~WPu + EM F yM tt@)CB@ tjSSQ#ƒt%FM3GWEPu u+ E9}t N E%_[^ËU9EuFjP;M u+2YYu3]ËE6u 7C Q tՉ&3@]ËUE]ËUEPwEYu߃]Jx A R9YËU}t]A]ËUSU؃tPxYu[]ËUB3ʼnEMEV3W} |dTDž$^0x;u TVVVVV5;t@ @SuzPYBttȃ @)CA$u&ttȃ@)C@$t ϙVVVVV[uJƅct<kdPHwYt0tVVtYPkYYGPwYu <%1 8G 3@ƅ/XLlƅaƅ`ƅjƅSƅbƅsƅk(GPuYtlLk DЉlN*tpFItLutkO6uG84u(48m3u G82u\dtWitRotMxtHXuAj9ht(lt wtS"G8ltks ksSjHu032ۉD8su]u ]FE f/^F<-uBt>]t7F:sŠ:w"*ЋσdzDGJu2ȊЋD<]uHDx+u'lutdtCxj0^9xxdtxf>HcGH`<%u G8%utGxH;ulPYt!tGH;uGtxu?%uDHxnu8 *dxYYVSVPVSy0u T?Yxu* ntJct{tdtOYdtx DT@t l, quAct st{u2 @D4 ocdg~Bit!nxqt jd_x-PƅaM3ۃx-u \-C x+uldtx@ulxklltfx\X 0P|PCS\( e dtpxPaYub:xlldt\xb 0P|PCS\(h  xklltf\xX 0P|PCS\( ^ dtixP`YuX_xet xEIll5\e0P|PCS\(|  dtx-u,\-0P|PCS6  x+u/llu!ldtnxxklltf\xX 0P|PCS\( dtxP6_YudtxXYYqL\<QPDkHP5tB賠YЃulDž@r~ƅjdtVxPMYYct4@tllBtxctLsu |  u4{b3ҋȃBL 3ϋq4)j$P"YttX%PDž?$PPfffCCǃpHH}t3;xYcqX Gr~ƅjF>^uFƅbj EjP, >]u ]FE r/jF<-uHtD]t=F:sŠ:w(*ЋσdzDGJu苽2ȊЋD<]uDTx+u,lu t ƅsdtxx0tdtxxPXYoux88<8k 1xPXYtbx8x8YxX@DЉ8tlt5dtxDdtxYYa8ktfTcFTn<%u F8%udt4FxT;P Yt%tFT;txu>%TxnBdxYYr~3fz `dxYYDžAyj t P3f PWSWP t tjVhBҶ F> t>=upF> tjhBV u M AjhBV u M !jhBV uM F> t8thSSSSS3\huEu uPGt3 ECMH MXXXH_^[jh`BH33}jY]3u;5:C*C9t[@ uHuAFwFPY*C4VW'YY*C@ t PV'YYF둋}hj8$Y *C*C9tIh PYY*Cu4Y*C PQB*C<}_ ;tg ___OE nË}j؍YSVWT$D$L$URPQQh4dAd5B3ĉD$d%D$0XL$,3p t;T$4t;v.4v\ H {uhCjC|d_^[ËL$At3D$H3!Uhp pp> ]D$T$UL$)qqq( ]UVWS33333[_^]ËjǴ33333USVWjjhdAQ_^[]Ul$RQt$ ]U S39] ueSSSSS7YNE;tVuEuEu EPEEBKMxE EPSWYY^[ËUuju um]ËU V39u ueVVVVVX'uEuEu EBPuuU^ËUu juhA]ËUuu uhAu]ËUu juhAY]ËUuu uhA<]ËU S39]u JdSSSSSWVu W};t!;udSSSSSWjE;w}uEuEBuuPuUE;t4;|"MxEEPSYYtE39]\>HH_^[ËUujuu uhA}]ËUuuuu uhA}]ËUS39]u.cSSSSSV[Vu;t9] w c0uuuu VhA;}ub"SSSSS^V^[]ËUujuu u`]ËUQS39]u bSSSSSVVuW9]u;u9] u3;t} ;wCb3buuu;}v-8E@PVhAuLb8"uea8\WVhAE\>u}ua8"u/aM#;}"ua"SSSSS;U_^[ËUujuuu u]ËUujuu uhA}]ËUuuuu uhA}]ËUVuW3;u aWWWWWTF @t F F u VؚYFvvV)YPR F;F uOVYt.VYt"VV<@)C׾YYB@$=u Fd.=u Fd=u Fd=uFdvdjY~d`QӋEYF`[_^ËUcsm9Eu u PYY]3]ËUECCCC]jhB莒3W2Y}9}uC5CyEEC5CxEEY;t txE 9}u33WӀYÃ}tuUY3@GUE BV9Ptk u ;rk M^;s9Pt3]5CdxYzdz`jh B蝑eu ]j_;tt y(B9~\u'5B苝YF\g5BWP v\YDPM %H =Bk ~\; 9Xtj\Ye;tu>=Cu5jh&pAQB3A;u CX5CvYE;t,VvC5CvYE;t VuCYE}uUB]jd~YÃt.t) t$~~W3PPPPP K貏j h@B`3}}؋] LtjY+t"+t+td+uDw}؅uaCC`w\ZÃt<t+HtV3PPPPPqJ뮾CCCC CCEPQuEY3}9EujB9EtP/~Y3Et tuO`MԉG`u@OdMGdu. BM܋ BB9M}Mk W\DEtEuwdSUY]}؃}tj|YSUYt tuEԉG`uEЉGd3ËUEC]ËUQVW5CAtE3Y;uUj_VVVVV8 IS0;hB QBE;uEUj_VVVVV8HhBP$QB;u/U==Yt1jS=YYtNVSPE t3PPPPPC>u5C%C't*C3Y[_^5C%CUEC]ËUQMS3VU 9Et ]EE>"u39E"FE<tBU PF Yt} t M E FU Mt2}u t utBe>< t< uFN>}t EE3C3FA>\t>"u&u}t F8"u 339EEtIt\BuU tU}u< tK< tGt=Pt#(Yt M E FM E  YtFU FVtBU ME^[t ËU S3VW9*CuZhCVSCPBp*C5C;tE8uuUEPSS} E =?sJMsB;r6P_Y;t)UEPWV}E HC5C3_^[ËUC SV5PBW33;u.֋;t C#gE;t9] w9] u;tWu+Y;t9W@Y9] t*;E vj"X"Wu u t SSSSSB<3_^[]ËUQVW3;uIj^WWWWW0}=wE;;t89} tu YE;tUPmFjV ;uI I)uVPX t WWWWW;E;t03_^jhB\339u;u@IVVVVV<3>Wu_YY;tjpYuuYEE E4joYj hBـj~pY3ۉ]3};;uHj^0SSSSS=<uwM ;t 9]w ;u 9]u3@3;t;tuJY;t=VY@9]t.;Ev E"#Vuu  ;t SSSSS]:]E E\jnYjhBjoY3u3];;uGj_8VVVVVe;}3E ;t039u;tuYE;tXPJGjWæ ;uxG mGE*uWP2 ;t VVVVV9E ;t8uE EvjmYËULB3ʼnES3VuW]ԉ]]]؉]܉u]9^F9u PF0hPESP.j1jWEfjWE[jWEPjhEA$E9]|9]s;k9]b9]YEԉ3M܈@=|EPvQB/}%EE~-8]t(E:tx M G;~@@8XuۋESSvPhu܉EjS MESvWQW@PhvS$ESvWPEW@PhvS$`E}3҃}fU؉Mč_ZMMȈ~S8]tNMM:tBI;ʉM'HMEfAAM̋M 9M~MAAM8YuhQPSjPWDEjQP2$;tKPQBu@-P+P+PEEEĉEEȉEЉuvYmuiuauYuQ3ۃCˍ;tPQBdžBdžPBdžBdž3M_^3[Wuuuju օ5PBSSWuu u֋ȉM;E t)9];MuuWuu u;~Ej3Xr9D =w;tjPeY;t 3;tAuVWuu uPBt"SS9]uSSuuuVSu QBEVYuEYY]]9]u@E9] u@E u耟YEu3!;E SSMQuPu 螟E;tԋ5PBSSuPu u։E;u3~=w8=w;tPOY;t 3;tuSWf uWuuu u։E;u3%uEuPWu uu#uWwYuuuuu uPB9]t uaYE;t 9EtPNYƍe_^[M3ËUuMu(Mu$u uuuuu ( }tMapËUQQB3ʼnECSV3W;u:EP3FVhBVPBt5C4uESP Pj?uESP Pj@uSEP PjAuESPxP PjBuESP] PjCuESPE Pj(uESP- Pj)uESPP PjuESP Pj uESP PhuESP Ph ]SEjPP _[ËUVuvvv v}vuvm6fv ^v$Vv(Nv,Fv0>v46v.v8&v<@v@vD vHvLvPvTvXv\v`vdvhvlvpvtvxv|@wlaVK@5*,^]ËUSVW} Bt@hj<{YYu3@EtV+VYYdž;t PQB73_^[]28tSV<0|<9 ,0A8u^[<;up8uUVut5; CtPPYF;CtP>Yv;5CtV,Y^]ËUS]V3W]u9su9suuuE C:j0j2zYY};u3@wj Yjy3YE;u uYщ09sjyYE;u3FuuYY0u{>VjWEjPPEFPjWEjP; EFPjWEEjP#< Et VY뎋E0|9 0@8u7;u~>u CE CH CuHE3AEt5QBtP֋tPօuYYEEE3_^[28tSV<0|<9 ,0A8u^[<;up8uUVut~F ;CtP YF;CtPYF; CtPYF;$CtPYF;(CtPYF ;,CtPYv$;50CtVY^]ËUSVuW3}u}9~u9~u}} C6j0jwYY;u3@ujJwYE;u Suj Y CEu IK@MC3@39}tM;tPQB;t#PQBuYYEE3_^[3QHl; Bt $BHpu><CËUES3VW;t} ;w0j^0SSSSS#E Ù+‹E<7E0YYu M9 }Nu ^;] ~_^3Ʌ[]ÁNPBFFËU B3ʼnEVtS>tNhBV+YYt=hBVYYujEPj wPBt/uVYM3^OjEPhwPBu3׍EhBPYYuQB뻋U3fMf;Bt @@r3@]3]ËV3#,aB<w ,A<wtЊ u׋^3 BA|Z~aw@ËU|B3ʼnEVW}OׁƜjxEPF%PWPBu!F@2EPv1YYuWYt N~~FЃM_3^U|B3ʼnEVjxEPE%j PPBu3.U9Et} t6WVrY;_t3@M3^ËU|B3ʼnESVW}MׁƜyPBjxEPF%PWӅu f3@bEPvYYjxEPF%PWӅtEP6YYu N~RFuOF t,PEP6z u6N~qY;F u!~VuWYt V~N#;jxEPF%PWӅEP6AY3Yu/NF9^t FG9^ t;6qY;F u.j9^u49^ t/EP6YYuSWYYtN9^u~FЃM_^3[U|B3ʼnEVW}#LׁƜjxEPF%PWPBu!F@[EP6TYYu 9Fu0j~u0~ t*EP6.YYuPW$YYt N~~FЃM_3^voYj@hӜAFPBFuf6ov@Fof@~YYFtjXjhߝAF PBFt tuf6do@YFtjXjhAF PBFufËUSVWJ]Ɯu NC@~t8tWjhB ftS8tNt 8tS~Vj@hB} tb?t ?tPI?t0?t+WvnYj@hӜAFPBFufFPBFF~˃#ˋn}PQBjvPBE tfNffNfHfx]tm=PBf9u%hBj@Sk t"3PPPPPj@Shvׅt,j@C@Phvׅtj jSu;3@3_^[]Åt 3ɅL  +t 3ɅL ff;t5+t3҅T…uFI+t3ɅL 3Ë;to+t3҅T…uVFQ+t3҅T…u9FQ+t3҅T…uFI+t3ɅL 3ËVW^;tx+t3DqB+t3DqB+t3DqB+t 3D3A;BtyB+t3DqB+t3DhqB+t3DIqB+t 3D3"A;BtyB+t3Dq B +t3Dq B +t3Dq B +t 3D3A ;B tyB +t3Dqq B +t3DRqB+t3D3qB+t 3D3 A;BtyB+t3DqB+t3DqB+t3DqB+t 3D3A;BtyB+t3D[qB+t3D<qB+t3DqB+t 3D3A;BtyB+t3DqB+t3DqB+t3DqB+t 3D3kA;BtyB+t3DEqB+t3D&qB+t3DqB+t 3D3 ׃$(AA;BtzBq+t3DqB+t3DtqB+t3DUqB+t 3D3.A;BtyB+t3DqB+t3DqB+t3DqB+t 3D3A;BtyB+t3D}qB+t3D^qB+t3D?qB+t 3D3A;BtyB+t3DqB+t3DqB+t3DqB+t 3D3A;BtyB+t3DgqB+t3DHqB+t3D)qB+t 3D3A;BtyB+t3DqB+t3DqB+t3DqB+t 3D3u{A;BtkB+t3DuYqB+t3Du>qB+t3Du#AJ+t3ɅL 3u3_^ËA;BtmB+t3DuqB+t3DuqB+t3DuqB+t 3D3uA;BtzBq+t3D[qB+t3D<qB+t3DqB+t 3D3A;BtyB+t3DqB+t3DqB+t3DqB+t 3D3kA;BtyB+t3DEqB+t3D&qB+t3DqB+t 3D3A;BtyB+t3DqB+t3DqB+t3D|qB+t 3D3UA;BtyB+t3D/qB+t3DqB+t3DqB+t 3D3A;BtyB+t3DqB+t3DqB+t3DfqB+t 3D3?AJ+/3ɅL A;BtyB+t3DqB+t3DqB+t3DqB+t 3D3A;BtzBq+t3DkqB+t3DLqB+t3D-qB+t 3D3A;BtyB+t3DqB+t3DqB+t3DqB+t 3D3{A;BtyB+t3DUqB+t3D6qB+t3DqB+t 3D3A;BtyB+t3DqB+t3DqB+t3DqB+t 3D3eA;BtyB+t3D?qB+t3D qB+t3DqB+t 3D3A;BtyB+t3DqB+t3DqB+t3DvqB+t 3D3OfAf;B?A;BtzBq+t3DqB+t3DqB+t3DqB+t 3D3A;BtyB+t3DqB+t3DkqB+t3DLqB+t 3D3%A;BtyB+t3DqB+t3DqB+t3DqB+t 3D3A;BtyB+t3DtqB+t3DUqB+t3D6qB+t 3D3A;BtyB+t3DqB+t3DqB+t3DqB+t 3D3A;BtyB+t3D^qB+t3D?qB+t3D qB+t 3D3A;BtyB+t3DqB+t3DqB+t3DqB+t 3D3nqB+t3DOqB+3DIRAAAA٫AAzA[ARAAAжAǪAtAdAEA=Yt1jW37YYtPVWP t3PPPPP4~f>u5C豦%C#t*C3Y[_^5C苦%CVPB3;u3^f9t@@f9u@@f9u+@S@WSI6Yu VPB_[^SVWM UEfU f;t@@fuf9t3]ËUSuM薢M3;u8]tE`p39]u.OSSSSS8]tE`p9] tV;vSSSSS?E9XuuQu u [6pQu Quhp EPZ ;u8]tE`p8]tMap^[ËUjuu u]ËUS39]u3AVWu6FV-YY;t"uVW!4 t SSSSSo3_^[]ËUQQSV3W=Cu;teQBVVVVjPVVӉE;tTjP4YYE;tCVVuPj7VVӅt6EVPW1YY}9ut u2Yu;u3_^[ÃuYj hB'M3;v.jX3;E @ul WWWWW3M u;u3F3ۉ]wi=`*CuKu E;P*Cw7jY}u*$YEE_];tuWS ;uaVj5( CQB;uL9=Ct3VG+YrE;P E3u jUY;u E;t &ËUM S3;v(j3X;EsWSSSSS 3AMVW9]t uCYVueYYt;s+VjS _^[]ËUEu 3]V3;|;8)CrVVVVV X3ȃ @)CD@^]j hB%339u;uyVVVVV_ëj [PjάYYu謫Ps>YE PVu蔫P @E脫PW>E EK%^ Pj٬YYËUEPu uX ]ËUEPu uX ]ËUE PjuX ]ËUEPu uX ]ËUE PjuX ]ËU BU39 C#щ C]áB39 CËUSVu 3W};u;vE;t3E;tvj^SSSSS0yVuME9XfEf;v6;t;v WSV誗 *8]tMap_^[;t2;w,nj"^SSSSS08]yE`pmE;t8]%E`pM QSWVjMQS] pQB;t9] ^M;tt} ^]ËUG @SVt2u,E+M}C>u8*uϰ?d}^[]ËUxB3ʼnES] Vu3W}u薙u5l3PPPPPt `p F @u^VFYBttȃ @)CA$uttȃ@)C@$g3;]P C39 ʀ Xw  Bk @Bj^;jY; $A3t ƒ tHt4+t$HHtV K ? 3 $  *u,k ʍDЉ*u&k ʍDЉzItUhtDltwbS;luC8, <6u{4uCC<3u{2uCCYYu ËUVMEM >t} ^]ËUG @SVt2u,E+M}C>uS8*uϰ?d}^[]ËUEAQ]ËUB3ʼnEES] VuWu3;u3WWWWWAt `pF @u^V8YBttȃ @)CA$uttȃ@)C@$i;apu9E3pF39N, %uRj PV ~08$u%9uh@0WP 9u`j PV蹌 HQ9u(;9$d;~$1B 9u 99ƒ tIt5t%HHt~r gXL*9u@j PVS HQ9uL;9$dx;~099j*S14;lj  k ʍDЉi ^ *9u@:j PVh HQ94;lj Ƅ8*< k ʍDЉ ItUhtDltw  >luFn b V <6u~4uFF3 <3u~2uFF @Dž 9?Q@jQi9} Dž u$gu9u]l9~9~̋]VY;t뛃cY4Ht@xPPtP5pBiYЋt%9uP5|B5YYYgu!;uP5xB YYY8-uDžDž$sHHDž'DžQƅ0Džc9099u ;jtd9cc9u)099u jT4Qd @tO9u@c949u@sc94E@tD9u@'c|9tD4x9u@\c89u5099uSQ43@t;|;s؃ځڋu3ۃ} Dž9~ u!u t-RPSW09~N뽍E+Ft ΀900@c94tO;u TB$8+ ;tE0@@}uE#u M EE#;tD=t)=@t"=t)=@t"=t=@uEM#;u E]EE@]E#=@=tw;E;yvv0fE3H&HREEjSS6 tSSS6#ƒjEP6 utk}uYEE;bPjSS6 CSSS6#ƒE%=u6[@Y]j^0d=uSj6P) EASS65) EEE+PD=P6H 9}ۋ @)CD$2M0 @)CD$M ʈ8]u!Etȃ @)CD }#;u|EtvuHQBSuEjPuWu 8QBu4@M}ED% u$L& t9]t@MED& SMQuP4QB{M;p;MgMD};t M9 u ]EÉ]E;M<< t CAMEH;sA8 u AAM uEmEjEPjEP4QBu 9ur9w}v1轡E"t MMEt e]MuE^tMEtEM؃ىEM}tEЃ`pEU_[ËU3Puu u9 CuhBPC]ËUjuu uu&]ËU= Cjuu uuhBj]ËUjuu uu]ËUQeVEPu u u9Et薠t 荠M^ËU B3ʼnEjEPhuEPBu EPnSYM3MËU4B3ʼnEEME؋ESEЋVE܋EW3M̉}};E _5QBMQP֋(QBt^}uXEPu օtK}uEuEu ulYF;~[wSD6=w/_;t8-WWuujuӋ;u3P3UY;t E}9}t؍6PWuDK VuuujuӅt];tWWuSVuWu QBt`][QB9}uWWWWVuWu Ӌ;t=t7=t0=t)=t"'3SSSSS豀Eu 3;|;8)Cr 뻋<@)CL1tPfY]D0tu uYYE萌 ME EuYUWVSM tMu} AZ I& t' t#:r:w:r:w:u u3:t rً[^_%xQB%|QB%QB%QB%QB%QB%QB%QB%QB%QB%QB%QB%QB%QB%QB%QB%QB%QB%QB%QB%QB%QB%QB%QB%QB%QB%QB%QB%QB%QB%QB%QB%QB%QB%RB%RB%RB% RB%RB%RB%RB%RB% RB%tQB%pQB%hQB%dQB%`QB%QB% QB%QB%QB%QB%PB%PB%PB%PB%PB%PB%PB%PB%PB%PB%PB%PB%PB%PB%PB%PB%PB%PB%PB%0QB%PB%PB%lQBUVut!;u t;uuu$u uuuG|^]ËVWjV3Y@PYYt,Єt"uFG@Fut R:>Y3_^j hB3u܉uЉuj菰Y]hBVEPA ;tu VVVVV{;9uVuYY}໬SB9u t u YEWM܍D EjPR u؅WuVX 3;t QQQQQ{WYD8EԊ<\upj\WYY9ESuV|X 3;tpSSSSSza};tVWYY>VSBSYYu*LB 2&\ 2BVfv6|lVD. v^Dv`TB4$ ~6N`r0F`l (6N^nz"th>~p^LZ.d>P$@@ @{kAZxAz7BCBՉ@ITCreateDirectory (%s)MapViewOfFile (%s)CreateFileMapping (%s)CreateFile (%s)inflateEnd returns %dinflate returns %dinflateInit2 returns %d1.2.3\message_boxdirectory_createdfile_createdget_root_hkeyget_special_folder_pathcreate_shortcutCSIDL_FONTSCSIDL_PROGRAMSCSIDL_COMMON_PROGRAMSCSIDL_STARTUPCSIDL_COMMON_STARTUPCSIDL_DESKTOPDIRECTORYCSIDL_COMMON_DESKTOPDIRECTORYCSIDL_APPDATACSIDL_STARTMENUCSIDL_COMMON_STARTMENULib\site-packages\DATAScripts\SCRIPTSHEADERSPLATLIBPURELIBInstallation failed.no such folder (%s)unknown CSIDL (%s)sSHGetSpecialFolderPathAfunction not availableshell32.dllFailed to create shortcut '%s' - error 0x%xSetWorkingDirectory() error 0x%xSetIconLocation() error 0x%xSetArguments() error 0x%xSetDescription() failed, error 0x%xSetPath() failed, error 0x%xQueryInterface(IPersistFile) error 0x%xCoCreateInstance failed, error 0x%xsss|sssiCoInitialize failed, error 0x%xissiSOFTWARE\Python\PythonCore\%d.%d\InstallPathPYTHONHOME=%sOSErrorValueErrorbuiltinsPyLong_FromVoidPtrPyErr_FormatPyArg_ParseTuplePy_BuildValuePyCFunction_NewPyObject_GetAttrStringPyObject_SetAttrStringPyImport_ImportModuleRunning Script...Could not open postinstall-script %s Py_FinalizePyRun_SimpleStringPySys_SetArgvPy_Initialize*** Could not load Python ***PyErr_PrintPy_SetProgramNameOut of memory!Running the pre-installation script failed Can't load Python for pre-install script (%d)Runtime Error100 Made Dir: %s .py200 File Copy: %s Error200 File Overwrite: %s Could not create temporary file~duInvalid cfgdata magic number (see bdist_wininst.py)Times RomanSetup %sCould not register window classSetup.exeSetupWindowClassThis Wizard will install %s on your computer. Click Next to continue or Cancel to exit the Setup Wizard.Software\Python\PythonCore\%s\InstallPathPython Version %s (found in registry)Software\Python\PythonCoreDon't know Python's installation typeStrangepython%d%d.dllPython Version %d.%dCannot installNo Python installation found in the registry.Python version %s required, which was not found in the registry.Python %s is required for this package. Select installation to use:UninstallString"%s\Remove%s.exe" -u "%s\%s-wininst.log"wb%s\Remove%s.exe040 Reg DB Value: [%s\%s]%s=%s Could not set key valueDisplayNamePython %d.%d %s020 Reg DB Key: [%s]%s Could not create key%s-py%d.%d999 Root Key: %s Source: %s *** Installation started %Y/%m/%d %H:%M *** a%s\%s-wininst.logCould not open keyYou do not seem to have sufficient access rights on this machine to install this softwareHKEY_CURRENT_USERHKEY_LOCAL_MACHINE*** Installation finished %Y/%m/%d %H:%M *** Postinstall script finished. Click the Finish button to exit the Setup wizard.*** run_installscript: internal error 0x%X *** 300 Run Script: [%s]%s \Scripts\-installPlease wait while running postinstall script...IsUserAnAdminSetupFailed to start elevated process (ShellExecute returned %d)runasif exist "%s" goto Repeat del "%s" :Repeat w%s.batCould not delete keyCould not delete valueuninstall-script*** Could not run installation script ***-removeUninstall Finished!%d files and %d directories removed%d files and %d directories removed %d files or directories could not be removed%d Run Script: %s%d Reg DB Value: %s%d Reg DB Key: %s%d File Overwrite: %s%d File Copy: %s%d Made Dir: %sYou do not seem to have sufficient access rights on this machine to uninstall this software%d Root Key: %sOut of memoryAre you sure you want to remove this package from your computer?Please confirmcould not open logfiler2. arg is not -u-uWrong number of args%s%cimport py_compile; py_compile.compile (r'%s')Py_OptimizeFlagPySys_GetObjectCompiling files to .pyo...Loading python...Compiling files to .pyc...Failed to unzip installation filesInstalling files...Running pre-installation scriptReady to installClick Next to begin the installation of %s. If you want to review or change any of your installation settings, click Back. Click Cancel to exit the wizard.Bad user_access_control valueoopsnoneautoforceuser_access_controlinstall_scriptmetadatanametarget_versiontarget_optimizetarget_compilebuild_infoinfotitleSetup program invalid or damagedThis program is normally started by windowsRemoveCould not open archive0w,aQ mjp5c飕d2yҗ+L |~-d jHqA}mQDžӃVlkdzbeO\lcc=  n;^iLA`rqgjm Zjz  ' }Dңhi]Wbgeq6lknv+ӉZzJgo߹ホCՎ`~ѡ8ROggW?K6H+ L J6`zA`Ugn1yiFafo%6hRw G "/&U;( Z+j\1е,[d&c윣ju m ?6grWJz+{8 Ғ |! ӆBhn[&wowGZpj;f\ eibkaElx TN³9a&g`MGiIwn>JjѮZf @;7SŞϲG0򽽊º0S$6к)WTg#.zfJah]+o*7 Z-A1b62S-+ldEw}ZVǖAOIъ OM~-QJ#SpxAaU׮.7׵Y-6]]wll?AԞZ͢$ Faw$eڪ]]FD(koipvk19Z* ,  m86F߲]qTp0ek*1u4yީ%8S1bSWĔՖk1**ykʬHpo].*F6fcTT"eM©g0&):{ϼkZ> 8$,52F*sw1pHkQ6Fzw]cN̵J #pAF]#l8?1(BOgT~yUbL8^#ܖTZ1ObbSyOIV~P-{b-R4٠~^eGnHl/Su6: #jT$+e?yHf'*b#ٽЧ ?&~?$pi;FBzw[keZ~7 Sv8H 3?r$7jnԄYFܨ |OQ;օ U d S - =G\ p&Gw)` /a߫i5&LsZ<#0zMzFM8,9; :R:(q-v,.7/pXqYs3r%w+OQvrtEux܉~OK }!b|tyBxʠz{.lD~m8onlk[wjR1h58ib?mcf+aQ`צedd"fig HINSKyuJcO NZLݘMFGN@E$DD2AsX@*IBCPhTg3U>uW ַVS:R|P~Q9ZS [fYX4])\ZEo^m/_5qϱ٥s\ۼqދ!K7 kfֶԁ-b3Πjp]$^'~*I@VW<âM˟ŏ{ tDCm-@wm.B+(铜>Td"ŀǼϭ~8y$owJ1}05_K^ iϏ은BI#ƈdX܁T̓cQ: rՆ⩗ fn|xK)o%ƭ/3vUuA?)C:|sĵ@͂ Ͳ;bIUeh"׻_HS1޼^Z4eg Wb27_k%8ם(ŊO}do׸Jj3wVcXWP0qB{߭gCru&op-?'Bs ưGz>2[Ȏg; i8P/ _Y=чe:ZO?(3wwXR @hQ+ğH*0"ZOWoI}@mNП5+#*'G| AH=XX?#1jvʬ`p^Y<L~i/{kHwâ hs)aLoD~Pf7VM'(@ﰤ ہg9x+n&;f?/X)T`D1 ߨMߒ.FgTp'Hq/L0UEc?kǃh6ry7]P\@TN%s7@'>$!AxUʰ\3;Y^U~PGl!;b F2ȂpԞ(Q_V:1X: n3 m:@/)IJNv"2x+ٗ Kx.HҥfAj^y9*O]#kM`~b_R 7zFh!1߈Vc0a"j6nS Nr)Υ{t*F8#vufz`rs"WG9^EMvc΍&DAdQy/4Aڱ&S֚E biLQ<6'5P..T&q]w4.6IE? v\[YI>U!lDa>Ԫ΋ϩ7~8A]&nv|oY yKiw\¹9~$ 66nQfq>,o,IӔ 渱{I .H>C-Yn馑gQz tafw0a, Qmpjc5dۈ2yܸو L+~|-dj qHA}mԵQӅlVdkbze\Ocl=c ;n Li^`Agqr<KG k5Blۻ֬@2lE\u ϫ=Y&0Q:Qa!V#Ϻ(_ ٲ $/o|XhLaf-=vAq *q3xɢ4 j m=-dlc\kkQlabe0bNl{WeP|b-I|LeMaX:QΣtԻ0JߥA=ؕפmCij4ngF`D-s3 L_ |Pq<'A  Wh% of a^)ɘИ"רY=. \;l  tҚG9w&sc d; mj>zjZ '}DhibW]egl6qnkv+zZgJoC`֣ѓ~8ORѻgWg?H6K +گ L6JAz``ègU1nFiyaf%oҠRh6 w G"U&/ź; (+Z\j1,ٞ[ޮd°c&ujm 6?rgWJz{+ 8Ҏվ | !Bhݳڃn&[owGwZjpf; \ebiaklE x NT9§g&a`IiGM>nwۮjJZ@ f7;𩼮S޻G0齽ʺŠS0$6TW)#gfz.aJ]h*o+ 7 Z-1A26b+-Sdl}wEVZOAي»IˬO ~M-JQS#xpaA.U7Y-۩6˚w]]llA?Z$㧲F waރ$Ųe]]DFok(vpi91k *Z  ,8mF6]pTqke0*1¶u4%y<8syjHA}X*ݹ1SbSW§ٖծ1k**kypH]oF*.f6TTcMe"¤0g)&Ůޟ:{kZ >8,$5*F21wsHpQkzF6c]wN̵ׄJ# pȄA#]F8l1?(gOB~TUyLbˁ8#^TO1ZbbySIOP~V{-b-4R^~Ge­lHnuS/:6# $Tj?e+y䏼Hf*'˼Ѝb# &??~p$iBF;[wzek~ZS 7H8v ?3$rj7nFY |OQ; U dؓS - \G=&pGw`)/ ai5&sL <:R=Pe6^X7}o5641W0ճ2k3$k%'1&-[#bML"'{ "!$*x(+)`F(> q-q,v.Ț/7pqXsYr3w%vQO+tru՛E~xKO} |b!ytxBz{l.m~Do8nkljw[h1Ri85bcm?a+f`Qeddf"giH IKSNJuyOcN LZMݥFĚGE@ND$A2D@XsBI*CThPU3gWu>V SR:P|Q~Z9[ SYfX]4\)^oEZ_/m5qs<\kg2z &J8 좞V`a/6i\lU,zB\uHƒ=&FW A+Ox]`غ7W>9q߳!7Kk ֩fض-bѠ3pj$]^Ĝ'*~@IWVÕ<ӂMʏş{ Dt͆mC-@mw+B.(>dT"ş~Ϝ8yo$w1J}50K_ ^ϋiBۉI#dXфTQc:r Р fΫnx|)Ko%3/uUv?A)ġ:C|sд@͉ ;IbeU"hH_S1ފZ^ھ4ge ȋbW72%k_ܝ8Ŵ(}OodJֿjw3XcVPW0Bq{gǧurCo&p-?О'sB zGɠ2>[ ;g/P8i_ Y=嗇e:ϏOZw3(?RXw@ Qh+HZ"0*WOIo@}m5N#+'*GA |􏒨HX=#?X1vjʨ`^pYL'!$UxAׯ3\Y;U^GP~b;!lڇF 2p(ԐQV_:X1: 3n :m@I)/NJ2"v+x xKH.jAf^O*9y]#Mk~`bю_޶ Rz7hFм!10cV"ajحn6 SrN){t*8Fv#fu`zrϮsɛW"G9E^vMcD&dA/yQA4S&ֿ EbLil!>aDƋΪ~7A8n&]|vYoᡱ Kyi׫w¡\~9$66 Qnf>q,o,ӹI 散 I{.C>HnY-Qg̰t zfainvalid literal/length codeinvalid distance codeinvalid distance too far back`Psp0  ` @ X ;x8 h( H T+t4  d$ D \ S|< l,  L R#r2  b" B Z Cz: j*  J V@3v6 f& F  ^ c~> n. N `Qq1  a! A Y ;y9 i)  I U+u5  e% E ] S}= m-  M S#s3  c# C [ C{; k+  K W@3w7 g' G  _ c? o/ O `Psp0  ` @ X ;x8 h( H T+t4  d$ D \ S|< l,  L R#r2  b" B Z Cz: j*  J V@3v6 f& F  ^ c~> n. N `Qq1  a! A Y ;y9 i)  I U+u5  e% E ] S}= m-  M S#s3  c# C [ C{; k+  K W@3w7 g' G  _ c? o/ O A@!  @a`10  @     incorrect length checkincorrect data checkinvalid distances setinvalid literal/lengths setinvalid bit length repeatinvalid code lengths settoo many length or distance symbolsinvalid stored block lengthsinvalid block typeheader crc mismatchunknown header flags setincorrect header checkinvalid window sizeunknown compression method inflate 1.2.3 Copyright 1995-2005 Mark Adler  #+3;CScs !1Aa  0@`@@incompatible versionbuffer errorinsufficient memorydata errorstream errorfile errorstream endneed dictionaryhB\B$UBPB@B4B BBB$UBfFK I*TK ITTK IO :i+00SBi+00@_dP/N !:i+00'":i+00 E%6NKKº}`fUܭHb0RF#/xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF΋!  Hx5i+.b`ODV A H FM^2mFT d_N" (2W]/4*&{-zeG'{-ph}OUBl OU3(9O> G e+.bchOU4^ ;ݧB}/NKfNr@"=3H$Oڠ'my4[ J1B&M[Or G:ᠷqEJ ǬMWs5i+.bs5i+.bs5i+.bw~s5i+.b%e{HqC,㐲RO$[Dt.|I)sO>+dWnO@;>V;>V Wt חb@J7<}iFϦODa'wj5Ob0wDObAGQ`{FL!mv`[c'wj5Obd'wj5Ob6J[CAVgqe'wj5Ob5i!Lz)zR88`[|^1/`[@L\J7@呰 חbu`ެ@`ެ.PRO—-T'tE`ެA`tpZdl?<W4plTI?rPB,ɨ=O${aPo0p,oiyŜ?Oɝa4Oص,OꙠς`RWpO6OyѦjc(=O0%G`묡51Mlg~6JNfs3K@~Oq!2)wKL+2V4K@~OqT'B6Q:.7V`ƆEz5K@~OqiI~+.ͩ pO]_eOkm'WFAOлP0 P0 P0 M]`gI6FOEг]K $^5N$̈&HS3M17i;'$9Y:Oh7%9Y:Oh7&9Y:Oh7'9Y:Oh7ի|I˃(9Y:Oh7!FsGF{H@FS2IEt$#CȫR e.{ JOe/P($IZ^9$\E9 O奄`OO\;x8WFTpj@wiKw^ևA)!\_[C+dWnO4DLe+.bSmb`ߌ #Or'>O.jxO^QmOd4'>Or3߷;`[MO KLb`wG:J'i>VMYFDAt;&OF} Ҩ\I;%S| *E yЎf|txM NI{@ >KJ\FЗ4mc-NvEc7VfCNItwׄ8A!ӱJ'8EK}4@ VqC(DW@XzvF@S>LNdL֬+ o.Eцݷ"JL :̿,LB)隇A }jL^6CTw]+.DJQS[bHNAFPCU .4zl'K@-tК#FlHiawhM0Y3S!AbostA^?UX2NfHyu 5ꥂG)]/qNnN9jI=W.I|Kg 4cH~%]bM I]7BWGCQl2$HܨEye64ۅ>eL:er='oOU{p OsCů$53QB`ϝ]v+qAO;ل.CZ0YcwN]ND.Q1RWHΨ}'CBg (#l^"`G3qs03NvFZ9\;û@Z|KJ$M>MEQ wmjKDWw? ec E kjO}c^NIe2mG)fpNr-O&oO}N8úGˢ)qKmHB" C[E|ti!OL'`gp+J=$?xԒhKGM]k>+$%|QOz)(BqF[͟WÅm]rLwx,4Ku@ +׉#G`` WG 35A AlG ؂تI`FtQ<[MEĀd_NM&uf4L3lEZIC~"@0(9A8L"k1%B T #F@FDF[Fʙ^AiXשFh Mm8gh z0Gd<O8m xO4yO"FFFMm8gh 0F1F2F3F%F)F*F0:s*Dw=IF y.Y+F&FEFGFHF:/ۆ/O:/ۆ/O:/ۆ/O:/ۆ/O:/ۆ/O:/ۆ/Oǝv\Wސy(_FFFFFFU 8r+C+n44FâRX0eu{ڮP9Vu{0ne0E Kvne yOܦϫ|x O jIOQnO09$-1.E^*onePone |~|?ne? PE^#1$-?W2$-?W2$-pw~?neg@ne˳j@ne˳j@ne?W2$-~{S^BEy|KDphKΔӳOհrIOxhO{lhO\`OOrOh7y) Oh7BTyI6 E9A!8ҏFs%E~2]rgO!B> 9}Nr*GݓkFN]ͷghhϓgAc*^Z%Ȕ2AeqKW';?B@ J$SQ`Ɔ(œO>1s-O(hHjxOi QD(ߥl+ rˆLmCBUa{Ӱ~C.`1 y/DĊY F;3bpc(Jg Дէ{E] E)ПS-oEH?syYz(XGA'qQU AJ s Y!WOZ{*lg(M2(TfC'>|a.  O;O.K[K8H]҇26 -&{-r: %wCjW'tVamy!@iaWBVm`ɠI-`:Bn5OCښL%2J4{[kYs=BMQ!B\[/B{NsASÖ.̆I#t9JDf?kјH"tŻ-Gs?zZAe!`[ǽ6NXX$  KiiőԞ(LqmjK H(.~,-Y@o3\.Q Cpg{L\l%IT߁KI s<_z\ LKo(t;sM|@)^vJYӞ~+IzÊChsxDpWJ?,CP0DOAoZ\q"tDk׾ TLrTIkE a`NNe76_I|kHrYM>s: .jxOˡd:aDX7iii9P5}+EutX(T6QB~ۜC]_#ͼ_Ld=xr|խhG2`?uIp4Bf6חKt3 SNwL1"(iv@ YGح+ObC4`[ԄLr?RJ{,AsEOWL"O7v8yOhKKt&1Zs~:6 B}Ftr⋪GMv2̤ pDʹfD.b[GvtH; zr\GڙYkH?x9J4uY&HxHϣ'GVBeUNOyדسDg,ݠeL3"5/QqCAwSk5 X;-3B{_41lxƱLb VBPoz5zD #D@Fgm[M/BT|\?@zpDF[0 49Z I}AaB}KX䌠%D|DZ#&oI Qd5CvSdn0@DH&'E4VwҁnB*O&-bfMlV!jt€I$[a#FVODJ hFXapf_:qJ?򥸱PpZdFK6eJ7`, :i+00Fh3MnMܙS{5)xKt O3CKsw`$D&l;0MHֿRUBu(dT&arrCuƋ.|uU:WPHw[ێ Z܊M`* !sG3^F0MJSkyZ 8y M3,/KqI\M;TQI![Y ,!PCsg?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~_.,._;=C=;EncodePointerKERNEL32.DLLDecodePointerFlsFreeFlsSetValueFlsGetValueFlsAllocruntime error TLOSS error SING error DOMAIN error R6034 An application has made an attempt to load the C runtime library incorrectly. Please contact the application's support team for more information. R6033 - Attempt to use MSIL code from this assembly during native code initialization This indicates a bug in your application. It is most likely the result of calling an MSIL-compiled (/clr) function from a native constructor or from DllMain. R6032 - not enough space for locale information R6031 - Attempt to initialize the CRT more than once. This indicates a bug in your application. R6030 - CRT not initialized R6028 - unable to initialize heap R6027 - not enough space for lowio initialization R6026 - not enough space for stdio initialization R6025 - pure virtual function call R6024 - not enough space for _onexit/atexit table R6019 - unable to open console device R6018 - unexpected heap error R6017 - unexpected multithread lock error R6016 - not enough space for thread data This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. R6009 - not enough space for environment R6008 - not enough space for arguments R6002 - floating point support not loaded Microsoft Visual C++ Runtime Library ...Runtime Error! Program: (null)(null)EEE50P( 8PX700WP `h````xpxxxxccsUTF-8UTF-16LEUNICODE SystemFunction036ADVAPI32.DLL ((((( H h(((( H H  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~united-statesunited-kingdomtrinidad & tobagosouth-koreasouth-africasouth koreasouth africaslovakpuerto-ricopr-chinapr chinanznew-zealandhong-konghollandgreat britainenglandczechchinabritainamericausausukswissswedish-finlandspanish-venezuelaspanish-uruguayspanish-puerto ricospanish-peruspanish-paraguayspanish-panamaspanish-nicaraguaspanish-modernspanish-mexicanspanish-hondurasspanish-guatemalaspanish-el salvadorspanish-ecuadorspanish-dominican republicspanish-costa ricaspanish-colombiaspanish-chilespanish-boliviaspanish-argentinaportuguese-braziliannorwegian-nynorsknorwegian-bokmalnorwegianitalian-swissirish-englishgerman-swissgerman-luxembourggerman-lichtensteingerman-austrianfrench-swissfrench-luxembourgfrench-canadianfrench-belgianenglish-usaenglish-usenglish-ukenglish-trinidad y tobagoenglish-south africaenglish-nzenglish-jamaicaenglish-ireenglish-caribbeanenglish-canenglish-belizeenglish-ausenglish-americandutch-belgianchinese-traditionalchinese-singaporechinese-simplifiedchinese-hongkongchinesechichhcanadianbelgianaustralianamerican-englishamerican englishamericanBENUBENUBENUBENABNLBBENCBZHH|BZHItBCHS`BZHHLBCHS8BZHI$BCHTBNLBBENUBENABENLBENCBENBBENIBENJBENZBENShBENT\BENGPBENUDBENU4BFRB$BFRCBFRLBFRSBDEABDECBDELBDESBENIBITSBNORxBNORdBNONLBPTB8BESS(BESBBESLBESOBESCBESDBESFBESEBESGBESHxBESMhBESNTBESIDBESA0BESZ BESR BESUBESYBESVBSVFBDESBENGBENUBENUBUSABGBRBCHNBCZEBGBRBGBRBNLDxBHKGlBNZLhBNZL\BCHNPBCHNDBPRIBCB2DBDB(PLXP0Rp4PP2(RDtRzfTN>2&\ 2BVfv6|lVD. v^Dv`TB4$ ~6N`r0F`l (6N^nz"th>~p^LZ.d>PPropertySheetACreatePropertySheetPageACOMCTL32.dllSetLastErrormCreateDirectoryAGetFileAttributesAMapViewOfFilezCreateFileMappingADCloseHandleSetFileTimeDosDateTimeToFileTimeGetLastErroryCreateFileAKUnmapViewOfFilelstrlenAMultiByteToWideChar"GetProcAddressLoadLibraryADeleteFileAnReadFileSetFilePointerGetFileSizeMFreeLibrarySetStdHandle>GetStdHandleLocalFreeHFormatMessageA\GetTempFileNameA^GetTempPathAGetModuleHandleAzGetVersionExAResumeThreadSetPriorityClassGetCurrentProcessGetCurrentThreadSetThreadPriorityCreateProcessAGetModuleFileNameARemoveDirectoryAGetPrivateProfileIntAGetPrivateProfileStringAGetModuleFileNameWKERNEL32.dllMessageBoxA$GetFocuswsprintfAvSetDlgItemTextA^SendMessageALReleaseDCGetDCDispatchMessageATranslateMessagePeekMessageAEndPaintoGetSystemMetricsBeginPaintDefWindowProcAUpdateWindowShowWindowgCreateWindowExA3RegisterClassALoadCursorAMoveWindowGetWindowRectPostMessageAUGetParentYSendDlgItemMessageAGetDlgItempSetCursorUSER32.dll4CreateDIBitmapDeleteObjectSetTextColorTextOutAfSetBkMode^SelectObject:CreateFontARCreateSolidBrushGDI32.dllfRegQueryValueA*RegCloseKeygRegQueryValueExAHRegEnumKeyExAZRegOpenKeyExAwRegSetValueExA2RegCreateKeyExA7RegDeleteKeyAARegDeleteValueAADVAPI32.dllShellExecuteASHELL32.dllkCoUninitializeCoCreateInstance=CoInitializeole32.dllSGetSystemTimeAsFileTimeHeapFreeHeapAllocFileTimeToSystemTimeFileTimeToLocalFileTimeGetFileInformationByHandleCPeekNamedPipeGetFileTypeEnterCriticalSectionLeaveCriticalSectionlGetTimeFormatAGetDateFormatAHeapReAllocGetModuleHandleW+SleepExitProcesspGetCommandLineA<GetStartupInfoA7TerminateProcessHUnhandledExceptionFilterSetUnhandledExceptionFilterIsDebuggerPresentWideCharToMultiByteoGetTimeZoneInformation\GetCPInfoInterlockedIncrementInterlockedDecrementSGetACPGetOEMCPIsValidCodePage>TlsGetValue<TlsAlloc?TlsSetValue=TlsFreeGetCurrentThreadIdHeapCreateHeapDestroyaVirtualFreeDeleteCriticalSection FatalAppExitA^VirtualAllocWriteFileSetEnvironmentVariableASetEnvironmentVariableWSetHandleCountGetConsoleCPGetConsoleModeRtlUnwindSetConsoleCtrlHandlerInterlockedExchangeInitializeCriticalSectionAndSpinCountKFreeEnvironmentStringsAGetEnvironmentStringsLFreeEnvironmentStringsWGetEnvironmentStringsWYQueryPerformanceCounterjGetTickCountGetCurrentProcessIdLCMapStringALCMapStringW@GetStringTypeACGetStringTypeWrGetUserDefaultLCIDGetLocaleInfoAEnumSystemLocalesAIsValidLocaleBFlushFileBuffersWriteConsoleAGetConsoleOutputCPWriteConsoleWHeapSizeGetLocaleInfoWVCompareStringWSCompareStringASetEndOfFile&GetProcessHeap(UB$UBUB$UBUB$UB UBUBTB$UB(UBTBUBTBUB$UB UBUBTB$UBSoftware\Microsoft\Windows\CurrentVersion\UninstallTB TBTBTBtTB\TBLTB4TB$TBTBTB1@SB@SB@SBu@@SB@@SB@@Software\Microsoft\Windows\CurrentVersion\UninstallN@D*C*CBBBBBBBBBBBtBlB`B\BXBTBPBLBHBDB@B PAPADDINGXXPADDINGwininst-14.0-amd64.exe000064400002174000147560526160010253 0ustar00MZ@  !L!This program cannot be run in DOS mode. $%KKK|kK|k`K|kKVWKHKNKOKKKKJfK_CKZK_IKRichKPEd *PX" pȗ@p `d@ XZ` lT.text `.rdata*@@.dataKl@.pdataZ\|@@.gfidst0 @@.rsrcX@ @@.relocl` @BHtt +|>+B|.PK8t33ۉ\$@fB;\.LcLMcF*A8LcLA>PKuA<$PKuAF.AN LcAFLID$HcHT$DIT$HIHHHHD$`H D pHuHL$pHHT$pHL$PHH8u<\tHL$pHH8ufHL$psHcHD$pHHD$XE3HD$H2HIIF8uIUE3҅HHHHD$HL9uMD$HL$pIH\$PHD$p8t8/u\HuHL$pHH<u<\H\$Xt_ENHvHD$0HT$pAF LfD$(3AFfD$ Ht'ANED$ENHT$`L$ HD|$@HFD.AED|$@BD.D;T$D3HT$HHIMHIF8uHL$pHHD8uLD3AH„uED$HL$pIcIIE+HD8uH\$P<\t </tHL$pHHD8uf:\t:/uHAMcHL$p@HH3zL$I[8Is@I{HIA_A^A]A\]HEHEH\$Ht$WH0IHHE3H\$ LHHŞH\$@Ht$HH0_HHPL@LH SVWH0HHpHE3Ht$ LHHyH0_^[H\$Ht$WH0IHHKLLHHHD$`HHD$(Hd$ >H\$@Ht$HHH0_H\$Hl$Ht$WH0IIHHH\$(LHd$ LHHHߣH\$@Hl$HHt$PHH0_H\$Ht$WH0IHHH\$(LHd$ HLHHHHt$HHH\$@H0_HHPL@LH SVWH0HHpH+LHt$(Hd$ HLHHHHH0_^[LD$LL$ SUVWH8IHl$xHHHl$(LHd$ LHHHˢHH8_^][H\$Ht$WH0IHHH\$(LHd$ IHHH\$@Ht$HH0_HHPL@LH SVWH0HHpH7Ht$(LHd$ IHHfH0_^[/H\$Hl$WH AHHHtwtnviH\uU80|W83~#8nt 8ruHH ;f HH/AHT$0HQ< u HHD$0 HHuHl$@H\$8H _@SH HH HtH6%HH [HݎHuHH\$WH HٹY9HHH H\$0HOHH=H _H\$Hl$ VWAVHHXdH3H$Hf3E3LH@AHuH AE3HHD$ DBHH qH!|$ E3DB*H53Hۃ LH׏HL$0HL$0AօtLDKcHޏHL$0HT$0H Hd$ LcDBLH ƞHvHrH$H3qtL$I[0Ik8IA^_^H\$Hl$Ht$WH0HHHÀ<ud$(DKHd$ L33Hɋ7HHu3+l$(DKLH|$ 33vu HbHH\$@Hl$HHt$PH0_HHXHhHpHx ATAVAWH DHHPHHH=HHH*HHHHHLHHL3H9 u3GHt?Ht:Ht5Mt0Mt+Ht&EH UAI2ՋH\$@Hl$HHt$PH|$XH A_A^A\H(HLD$@Hu3HT$@H H(H(HLD$@Hu3HT$@TH әH(H\$WHPH`H3H$@H=HuBH IHuH _H@JHFHHLD$ HHH=t3H=kHT$ H行tH rH H GHkHcHE33DHT$01tHT$0H }˘H HLD$ 3H$@H3qH$`HP_H\$UH$@HH_H3HHd$h3Hd$pHڃd$XHd$xHd$PHd$`yHMH DHD$XHHD$@LMHD$pHD$8LEHD$xHD$0H(HD$hHD$(HEHD$ wu3HD$PDHD$ L 3H Ty H_HL$PLD$`HCHy H9HL$PHUHy HHL$PHUHP8y HHT$hHtHL$PHPXy HHT$pHt#HL$PDD$XHy HHT$xHtHL$PHPHy HیLEHED$(A3HD$ 3HL$`HUDHP0yFLEHH ;D*HL$`HtHPHL$PHtHPdHL$`HPHL$PHPòH ֈHH3_nH$H]LHHIKHIKMK HMCH<bu3-DL$`HLD$hHT$0̱H HHH hH%*H\$UH$@HH|\H3HLKD$0H,HOHHHHD ÔHD͓HHL$@HD$ LL$0HLEHT$@t#LL$0HLEHT$@t3GHMHH9uFfHMHH9u3ҊH„u3HMDBHH3lH$H]H\$UVWATAUAVAWH HIH0HQHHHVHL H[HHHXHLHUHHHD$h̫HUHLHRHL3HD$pHHMMHMMH HHt[HHHHHH-fHґHHc3HHAHLHAHv rHl$hHD$pHx3H-L5XL=yH\$`H A_A^A]A\_^]@UVWATAUAVAWHpHl$ HHYH3HEHHMHŅHtHMHHE`HمHLMHHL:HHL'HxHHHHHEHHHE3H9MMMMHwH9MmHdH9MZHJ8 BH u"HJ HHXLFH LbUHHm3HAL+HI >Ht3HHHGH;|HӹAH0H Ht HHH;|HUλ)uUDE,A@HcHAH;w HH蘔H+H|$ H~HcH: Hc:AՋAԋ HMHH3thHHePA_A^A]A\_^]H\$T$UVWATAUAVAWH@I!L33IM͂Hd$0E3D$(DźD$ HL<H؋ܨLΨHӋH$HӹuHHtMIHHϋw# HHqIչ&H$3H ;s 3H GHc*E3HHtCE3D$E33HHL$DL|$ H$HD<HIH$H@A_A^A]A\_^]HHXHhHpHx ATAVAWH LLHDHIL1HIHHIH HTIHHMt;Ht6Ht1Ht,Ht'H uAItIՋ؅t׋H\$@Hl$HHt$PH|$XH A_A^A\HHXHhHpHx ATAVAWHHiTH3H$H=332Hd$0E3D$(HD$ LEAH@L0H֋LH֋ߤJHHu-dDH*HL$PHL$PHH.HˋI׹IԹs3HxDG-Hc(HHtdd$@H̄H+Š H„uE3E33HԣHd$ HS,LL$@DHQD$@H˃,H H HGIH$H3cL$I[ Ik(Is0I{8IA_A^A\H\$WH`H|RH3H$P3HtEHD$0DD$(DHD$@3ҹHD$ mHT$@HL$PD蛜HL$@(D$PHL$PHcLH+HD$PHHJH LAHT$P3H$PH3cH$xH`_LISMCMK SVWH@HQH3H$0HIsHt$(HT$0Hd$ LAHH躍tot%H HH!E3H pHc^DI9L$hLH GQHT$0%A0LɂHHT$0yH FHtHrL$h H$h.sHtBHwHGu/H$h~ H HtL$hHH$0H3?aH@_^[HHXHpHPWH@H`H ԉE3@@EA4HHu3lHT$XHHd$(E3Ƀd$ 3HˋEAHHHtHd$ E3E3HAQHHHÉ5H\$PHt$`H@_H\$WH0H=HtQH=uGLHȃd$(HEH IPMHT$ ACHHH^pH\$@H0_HHXHhHpHx AVH`HNH3H$PH 3C+T +T"H- HcHH-ޙ|PK!;{V4tHq3LcCEtHcCHH+I+H LsA+A+ЉuIcH+"HHHT$@LH'E3HL$@tnEE3Hl$0Hfl$(fl$ AHxHHtYMcHHHH@8,uHKH譋HHH5ИڟşH3H$PH3U^L$`I[IkIs I{(IA^HhHL$0HL$0E3D$ E3HL$03%uHh@SUVWAVHHLH3H$Ht HT$p.H^E3E3ȸgfffH~HD$hD҃d$`3҃d$Xd$Pd$Hd$@d$8d$0AAʉ\$(AD$ HH`HHrHL5HHA<uL$ DMH:H$HA<u \$ DMH HHHHT$pH'3H$H3\HA^_^][HHXHpHxLx UH8/H+HKH3HHPD$`3HD$h3Ht$pHu3HD$xHE[L=\}HuHL$`HEL}şfuH iLJ}E3HP}L[H\}HMj3*HL?Ht$XLEH\$PE3Ht$HIHt$@3ɉ|$8D$0t$(t$ AHȺHHoHHH3%[L$I[IsI{ M{(I]H\$WHPHIH3HD$@HT$0Hq3DT$0ȋD$4D\$LD$`HzHM(HD$PAE3HD$ HUHu{D$DHHtVHL$PHD$DHD$(E3E3H\$ 3u0LME3ILHLcIHL$PHd$8Hd$0Hd$(Hd$ HL$HLL$@LD$`HL$HWHMPH3vWL$`I[0Is8IA^_]H\$WH0HD$@AE3HD$ HHRH3ۋu HL$@ËH\$HH0_@SH HQHH;tKH=uu:HQ1ALlyHmyVHHHH QH [̋ }~HVPu=}HEP}H|RHl$H|$Ld$ AUAVAWPH+HDH3H$@HNt+fD;IfD;3HF}HtE3HD$ ArЙHϋHH]HƙHHCHd$ E3AH}LHvHd$ HLcAHϋU|t8L|HxH$@L$@H!|EuGt&Ls|H,xH$@H$@HUxALxxHHAE3HEϺpTHd$ E3AHIHLA;u\EOE3HȺpLnHSLnH>n{DvIME3HȺpHd$ AMcMHL-{IH+HH N HuMźHHd$ MAHHcLHtgMHD$ AHkL zILyH wu"D zH wDyH MuI ym1utL3B *L0H„uHD$0IB<0uHD$0A|\tHL$0HH9u%mfHL$0HH9uM@3AH„uLD$0HYAy8uOHd$ E3ɺAeIHA;u EN wAE3pH3H$@H3RL$PIk(I{0Mc8IA_A^A]HHXHxL`Lh UAVAWHXHH@H3HH LHuHHuL=vLHDIHd$@HD$`HD$8E3Hd$0E3D$(d$ XtEu$HjuE3HEH3ՔE3LuHIL% xL-xMMHuHL$pHuHL$pHjxHu9LLD$pHjuHzPHRHL$XjHL$XHL$XLLluHL$p H wHT$pH wLyHguH wHduLwHguD vHMĉD$ HL$`HD$PHD$@HHD$hE3HD$8E3Hd$0D$(d$ t \E3L uHHzHL$`oAD9t$PuH wLMHtD vHvDuHtHL$pHD$ HHL$pHH<uHL$hHtAEΉD$(E3HD$pHHD$ tE3LtHHT$pH `vHD$pHD$(LMH\$ HxtMHtMHL$p`HtHL$pKHcrLH zuMH;HMLd$(MLl$ HHtHL$p HD$pHǀ<8uHL$hHD$pAHLt|$(HEHD$ E3 tE3LsHHT$p‘HL$pMHL$(LH WuHsH\$ &AHH3ML$I[ I{(Mc0Mk8IA_A^]HXHB<H3H$@HL$ 5HL$ 蛽HL$ 葽LLsHL$0H tHT$0H tHt:H$@H3MHX@UVW@xH+H;H3H$0IHNtxt4Hd$ MDBLƺHHt$ E3DBw>H$0H3]LH@_^]HsHtE3HD$ Ar-L&sHrHL$0ԏLD$0H LrHAy1t0Ay8AE3HȺpbH=u$sƏE3E3HȺp2HE3E3HȺkuHLrHHA<uB|\tIHH9uefHA<uHHNHB-^H WrHHt9tLqHӎ=GrLqHH?u H qK=r=kqtKLqHoH tLqVqHHt3HwH=qtW=fntNLqHH 3tLqHHtHH3ZJHHpLpLx UHhHpH^8H3HE`HNu=p=lHd$HHqL%qHD$@=3HpD PHuHL$PHH9uqqfAHL$PHH9uL l3AH„uH IpHtLL$PLjHp 3?HLLL$0HD$PLD$8HD$8HL$PDtHHpELt$0MtMƺH?LpH*I袸I)|eH[oHtE3HD$ Ar=fou#H`LbHHLEE3E3HU)Ay8uAE3HȺp'3HM`H3iGL$pIsMs M{(I]H\$UHl$H H5H3HEHnHL$$3DBd_HeHM33HEHEHED@`_3D$ hD$$gHd$PHL$ HD$(H`HD$HHD$0kąHL$ D$$HEH4HD$HHD$0lHL$ D$$HEHlHD$HHD$0mlHL$ D$$HEHHD$HHD$0n@3E`HEHeHMHeeHEHEHEH]E EHMH3EH$0H ]H(H b_Hu3H(HdnH[Hd^HtH(HHH:4H3H$=lu3RLlHgHL$@ HD$0AE3HD$ HT$@HuHL$0H$H3EHĨHH3H3H$D$(L 2_Hd$ LmHm3 /DH}mHL$0ZALmHT$03PH$H3pDHH\$Hl$AV@"pH+H3H3H$0H~~L5^HD$(H-7mLL$0MƉ\$ HH$m APHT$0H jH,~LL$0HD$(HlMƉ\$ H˃DHT$0H mH}L mHD$(HlMD$ PHL }HlAHdL }HlA:jHAgHjHu}MHD$(H~lLD$ HHK}L iHD$(H`lMD$ PH VlH}L fHD$(HFlMD$ HH|L iHD$(H(lMD$ HHHÀ;u\HlH huuuuLHkH htu[uKtBˀ=ht7HkH }htt E3LkHHkKHXisH hH {HtTH hHt3H$0H3AL$@I[IkIA^HHH+Њ: u Hu3H\$UH$HH/H3HAHU3LEHjHHjHHjHH4LEHHj!LEHHjLHHjHhHL$pD3YHD$P\$pHD$HH3EHD$pf]HD$@E3HZE3HD$83H\$0D$(D\$  tUHL$XSHȍSqHȺHL$PHL$XWHL$XHH3?H$ H]H\$Hl$Ht$ WH0Hl[HHPHH]HHPHH HHPHtH B:HD$HAHD$ E3HW}tE3LycHH͂=HL$HHS}twE3LiHHHL$H}H>H\$@Hl$PHt$XH0_H\$Hl$Ht$ WH0Hk[HHOHH]HHOHH=HHOHH 59HWAHD$HE3HD$ |tE3LibHH=HL$HHS|tgE3LhHHHL$H~|H.H\$@Hl$PHt$XH0_@SH :NHHuH [H ׷uHH [H%}@SH :NHHuH [H 蛷uHH [H%|H\$Ht$WHPH+H3HD$@[`NHu3HH]FNHHtHH5UHH+HDA+uHEuHd$8HfHd$ LL$ LD$(HD$0HH\$(tHHfH|$ Ht!?tE3LfHHH褬H+ HÄuHL$@H3;H\$hHt$pHP_HHXHpHx UATAUAVAWHx`gH+Hu*H3HPE3HT$@3Dt$0!t$43LEn t HCfHJ:JfA:$ t A $H~H~Hj~IG AAE+AH+EoD+AD+EgHGEVDIAI@IG#AF@H(A_A^A]A\_^][E3HtfHQ(Ht]DBDADA LA BtALHHHHB`HBX3LDB BLB LB@ǂø3HtHA(Ht HP,P4pH\$Hl$Ht$WH HHtXHy(HtOy3ƃ0}tCw*HW8Ht9_(t HI@U8Hg8H͉w_(hH\$0Hl$8Ht$@H _H\$Ht$WH HMA81AXHuA~Ha Hy0uHa@Hy"HA0Hy8u Hs"HA8HI@AS0HHuG1H{(H`8HtHK@HS8Hc(H\$0Ht$8H _ELº$EHtJLI(MtAy Aa@AaD3Ã+EADEA wEQDAA#AA@͸HiqAh HAXHWyHA`AlHHXHhHpHx AVH HY(E3AHHL9s8u!K(DHH@P0HC8HuD9s,u K({,Ls0{,;rHK8H+HDPDs4C,R+{4H֋K4;GHK8DH+O+tHK8DI+HOk4{4C4;C,ADƉC4C0;C,sljC03H\$0Hl$8Ht$@H|$HH A^@USVWATAUAVAWHHXHy(3LHH9QH9u 9Q? u DQELYL DiDw@wDL]LMDUHDmDUPUH_lLh ;-TtC\HXA_A^A]A\_^[]ø;s&EAIDLMA̓rDwAt HyAt HyHO Ht AGt'OHUXDuXAADuYLM3҉GD!ExAIDLMA̓ rHG HtDpGt5OHUXADuXAEYAAEZDu[G3LMD!EAIDLMA̓;rHO HtAƉAAHG H Gt#OHUXDuXAADuYG3LMDGHG HtHPLMG _HA;AG݅HG HLHMP+WHH;vp+nEAIDLMA̓;rHG DwHHtDpGt#OHUXDuXAADuYG3D=L}DIIK3L}GtMuODIb3҉GLMD+L)_HLM9WH:WHGEڋF<HG HtHP HtOH;H(sD<GH3EtA;rGt MuODILM3҉GD+LLMEtMHG HtHP WHGEuڋF<HG HtHP0HtOH;H8sD<GH3EtA;rGMkx9Wu, pEAIDLMA̓;rGtEAunLMDEPDUHL]ID$ sHHOlDGxLHG`GtHDL|$(HL$ HG 3҉E؅t HmLMLhDEPH_lDUHL]AruArlM\$AET$IM $El$Dw@wD? M\$M $ET$El$BDw@wDDEPL]DUHLMAL_XHAH#A;EAIADLMA̓HAH#HGX;wDAAE‹AȉE`AAAE#ADCDADD;viL}EADMaAIDEbAAAAL}E#AADHGXBDED;wLhMaA+3҉+AOHu  t @t H=jLMȃOPWPtC!EAIDLMA̓;rۋʸ+A#AGHGH3҉ L_`HAH#A:EAI DLMA̓HAH#HG`;wDAAE‹AȉE`AAAE#ADCDADD;veL}EADMaAIDEbAAAAL}E#AADHG`BDED;wMaA+LMLhDEPDUHL]+A@t HXhOLȃOPWPtO-H$igEAIDLMA̓;rۋʸ+A#AGL3EZOLAA+;+;O09HgZtWt.9W!EAIDLMA̓ rE+ED$DGEt?9WIAtH+u#O OH+L]3DUHLMGAD$LADUPAEA%A9WAE;Ot H\hPD9W9W !EAIDLMA̓ rD;wHhEGHAIAL]DUHG4;v W,+++HW8GH;v GHIH+ыA;AGD++DUHI+ӉGHBAIÃu3L]A9WHM\$ET$M $El$Dw@wDEL}DEL}3HE]PID$EHAD$M<$El$Dw@wD9W,u A;\$t+?&IT$DE+D$Iy3҅t A+\$A\$EA+D$AD$ _9Wt>t:9WIT$tH+uODIOH+De3҉GAD$L?t?DuAGظɃ@? DЋEAѹWDAT$HD@SH HA(HHt-LA8Mt$HP8HtHI@AHS(HK@S8Hc(3H [H\$Ht$WH IHHtMHY(HtDC0t/Ht*S4H+HS8D8DC4K0HS8I+H8HtC03H\$0Ht$8H _H\$Hl$Ht$WH AHHHtHY(Ht {t; tH\$0Hl$8Ht$@H _Ã; uDƹ;CtH.DHt C 3HtHA(Ht@t HP b@3øD E3LEttQVDE3f@+щVDr"DN@F@ABD0ADN@sVDHN|!HT$0HHN|DGG )GDW H~|t#DOHDW 3DO H\$8Ht$@H _3HtHI(Ht9 u9ADu øH\$Hl$Ht$WAVAWH HHHHHz(HHB0HHz8HK@AAAHHu E3L9w8t&O(AEHK@S0LHu HK@HS87HHEKDBIMC E K0M0C@E@KPMPHI@ A H0I0@@A@HPIP@`A`IHpIII+uHHI@ A H0I0@@A@HPIPH@`HA`HHHOXH;rAHH;w5H+H+HHRHHFXHG`H+H+HHRHHF`HH+H+HHRHHMtO(HW8AIET4Lv83Hu(H\$@Hl$HHt$PH A_A^_HtHA(Htǀø3Ht-HA(Ht$8uPH8u +PHøH\$UVWATAUAVAWHl$HHH3HEL}HHUM3ELEwLMD҉MDbLEL}AHH EfTAvAEtHIIfDdEI+uA8MAAf9TEuDE;sA;AGEuHD$ @D$ IMIEM+uE 3HMH3H$HA_A^A]A\_^]EE;vHEf9u EIE;rA;AEABALE+0EAvE3҅~E;fDUIʺD fD fD II+u3Et+Hf9tLEfEOfDdE3EIE;rE3ۅtBA;tH5e[AHuH\5H[H+H5~[H+AHuIL}IAIEAD\$$ED\$(AHEAMEHUD]ACEu ATwA;uAPv pDd$(AA*ĈD$!HM AA;} 3fL$"D$ ~ ND$ JD$ `3fD$"D$ ALmA+̾D]AA+ADD+uLmAHASuE3ۅt B#AۋL$$AL$$fTEu E;HM AHEDHL$$D]HUHuD;DeD#D;eD\$(AHMEۋEDDA+D\$(DH HME;sBL]+х~ AE;rLmEAAED]u AT{A;u APiIEHUDeB4IEHuB|IMHEH+HfBDL$$%C%xD%bD%dDffH; uHfuH7@SH H3AHA@HȺ H [H%AHL$H8't)H HD$8HjHD$8HHHSHHD$@H HkH HHkH HL HkH HL H tH8H(H(̉L$H(&tD$0)H HD$(HHD$(HHHkH HkH T$0HH _sNH(LD$T$L$H8M&tD$@)H HD$8HHD$8HHmHH7 |$HvH|$PuD$H|$Hv D$HȉD$HD$HHkH T$@HD$ D$ D$ D$H9D$ s"D$ L$ HLD$PIHH Pr?H8H\$ WH@H>HHT$PHE3>Ht2Hd$8HL$XHT$PLHL$0LHL$`HL$(3H\$ r>H\$hH@_@SVWH@HC>H3E3HT$`H1>Ht9Hd$8HL$hHT$`LHL$0LHL$pHL$(3H\$ >ǃ|H@_^[@SH SH;tl H J uVXt H tD 3H [ù1̹&H(3H(H( H(H(H(H\$WH0u @2@|$ l؋ u uJH?H a?t H??H (?q@@|$ #HH8t"HjtHH E3AP3HH8tH:tH 61LD3H hNuG@u3ұ!%ù|$ uH\$@H0_H(H(S@SH ELH GhD3H [4H(H(2HHыH3ƒ?HLHAй@?+HI3HHLcAOL*OHHtHHӋ HӋH\$0Ht$8H _H\$Hl$Ht$WH AL NLNHHNHHtHaDŋH H6H\$0Hl$8Ht$@H _HE3¹@?E+HIH L3H;HHу ILH@L;ūu9SH HlH HtHt8H#HHiH;uH [H@ƒ?+3HH3LHAй@?+HI3H@ƒ?+3HH3HFH!HH\$Ht$WH H!HAAaHHH:E3LA @:tAA<;wI?IrA<v~v t5IAAH8uHmHtHH@:t&H#CC{uC AAHt$8HH\$0H _ḦT$SH H!HAatAHT$8HH [H\$Ht$WH 3HHHtHE3VH ;@HtH ZHOHFHxHHH$C@qH1cHH\$0Ht$8H _@SH H3ɈKcH Ht!HD8 tHA8uEtHHH [H\$WH aB3HDOH;;DGDC;ukHHuCHH\$0H _H!HAa@SH@H+H3HD$8E3LL$5DYLaHLED\$5HyAIIHIH D*A0ELHuEtIA-LD$5IE+HHHL$8H3H@[@SH@HH3HD$8E3LL$4DQLaHLDT$4IHIH D*A0ELHuLD$4IE+HHHL$8H3CH@[HWHHHeXQH3D@ADA H̃ HAHAXDDL{LlE3HtD uHfL]D^H/D$0QHD$(HQHH D8HeWQHHE3HWHHt B,<vLLAH̃IHWHHHQLAH\$Ht$WH AHWHHHEtEHt@HcH E3<HCHȉ{Htt$H+׊HHuc HaaHt$8HH\$0H _HH Z1<ḦT$SH H!HAatAHT$8HH [H\$Ht$WH 3H@qHفaH1HtEE3VH ;HtH 0VHOHFHxHHHu CAHt$8HH\$0H _@SH HH3DKcH 8 t HA8uHHH [@SH aHوQ;ugHHu CH#HH [@SH HA w"9tD;IcHLH:HH [H\$H|$UHH`Mȸ!E#HvHeHeMH8?P@u>H:HM)HPHHMrHHME(MU$uV3HMYfofsf~E<t=uSH8tGHHHMb))M'?uHx@u܁HeM(M}u3}t=u H`8ufMHUHMHMHuOH}HtHHHHHEHcHHHHHHtSDHMHNHHȊt%A HA:uDHD8tHuފHH\$pH|$xH`]H\$WH0HIHL$ HH<H\$@HH0_H\$WH0HIHL$ HHH\$@HH0_H\$WH0HIHL$ HHH\$@HH0_@SH HHIHH [@SH HHAHH [@SH HHIHH [@SH HHIHH [@SH HHAHH [@SH yH(H:u RH9u HHH [H\$WH A@HD8AZtVH9uH!T$0HT$0AaA1E3H AP6HtH P@xHHHvHH\$8H _H\$Ht$WH yHHg3Ht`H91uLTB<v CE3H ?AP6HtH PHOHFHxHHHHt$8HH\$0H _H\$Ht$WH yHH\3HtU8tQH9u8EE3H AP5Ht"HD8t HA8uHHHHHYH\$0HHt$8H _@SH yH+H9t BvtaHHHH [H\$WH 9 HHt;H:t5E3H AP4HHt 3Ht HcHLHH\$0H _̀yt B<~AH3HHA HAHALAH\$WH HyHt4HAHA%HGH_HHOHHOHGHGHuH\$0H _̋&ШHcH d@HuHH\$WH HHHt?E3H AP 3HtHH NHHHPHxHHu CAH\$0H _HHXUVWATAUAVAWHhH\$HLHd$@)pH\$H)xUI}tAEt EeuH u&HL$0IH uAE DAQE3DAAADEoA%`EwAAɁ#ωMt%;t.ׁ3AƁsZ @ 7HL$00 HMHHHME(EfD$@\$HDEoE3ɅA3HL$0#AE{HME(EHT$0HMfEbHUHL$@THiHM׀8tW8At:P{|$HpxDEof@ ؉\$HQHH3KH_ uH,HL$0zHUHME(EHGHMfEHUHL$@HGHL$@HL$0 ШШ HMHT$0HME'(EHM fES(EHT$@HMfE(u]oDmwIDeϺ!UD#!U!U!UHMHMHMHMHMDeυEte%=u.HL$0!(D$0HL$0fE!(D$0fEEt$%=uHL$0!(D$0fEHL$0~!(|$03ɺ(}E%=CLM!UL`D$ <`t'!UHL$0HeHUHe;(D$0fE9!UHUHMHMHL$0}t|$8~D$8AD Deϋ Шt8t.HMHT$@HL$0D$0S(D$0fD$@'HL$0|$Htx~@ ؉\$HI}tQH|$@t>>u2 HMIHL$0D$0HT$0HL$@ AED$@eE3L!mD9mt_3HM<HDHHMHHL$0D$0HT$0HL$@pt (D$@(u>E3H APi-LHtH @`E3IHM<0}+E%=u{HCHMUHUHL$0D$0(D$0HL$0,fD$0(D$0HUHL$0fD$0(D$0HL$0,fD$0(D$0fD$0,Et]%=uOH|CHMD$0HUHL$0@(D$0HL$0,fD$0iHT$0HL$@H=CHL$@cHCf|$0HL$0LHT$0HL$@HM (HMHzHHL$0D$0(D$0HL$0)fD$0HT$0HL$@E3}oAE3D9ewAEAAEDžt!Et%=tHUHL$@FxHMШt8HHL$@!&8|$Htx~L$H@ ȉL$H+HMШtLHHL$@&L|$Htx~L$H@ ȉL$HHM?|$Htx~L$H@ ȉL$HШtMt(D$@AEf(t$@]oDmwIHL$@@A|EA#=huHT$@HPEukA#=pt=`uX3HM0(D$@HL$0{fD$0(D$0HUHL$0fD$0(D$0H@H%A;uU(D$@HCHHM8HHk}HHv8@RHHcCE3ADAA`AEAAEEAAD#t%3ɋ%A=t H@gEt%3ɋ%A=t H@=EEEA%t/3ɋ%A=tH@HL$@EuA#=xE3AE3EAEAAE%tc3ɋׁAƁu3AƁt/H>HMCHT$@HL$0D$0(t$0HT$@HMj 0)t$@EAAEDž ШEAAAEDžtV3ɋA#=EEt8H ?HMHT$@HL$0D$0(t$0A)t$@Et A#=tZEAAE׋Ɂtlt A#=t*EAAEυtNA#=tt>A#=u2Hq>HMHT$@HL$0D$0|(t$0)t$@ШEAIJAEDžt!3ɋ"<@AEEt H>fEAAEDžt)3ɋ"<3EEt H=/EEEEtN@3EEt2H=HM/HT$@HL$0D$0(t$0)t$@3Ɂ3EEE%t: u2Hu=HMHT$@HL$0D$0@(t$0)t$@s-HM=HMHT$@HL$0D$0(t$06L$HI[@A(sA({IA_A^A]A\_^]̋Ѓ̋Ѓ̋Ѓ̋־Ѓ̋ƾЃ̋Ѓ̋Ѓ̋ Ѓ̋%Ëz%H\$Ht$WH H9AHHtaH!AjHtat]E3H FtAP$Ht0DHH9"#HtH3>HH3HHu CAH\$0Ht$8H _̋½Ѓ̋Ѓ̋ 3``̋Ѓ̋~% ËrЃH\$Ht$WHPH!HAayH8@8Zt3,HH8DA0A w(H HT$@HHHHnHd$ HT$ d$(HL$0H_+HH+H~H `9 t HT$0yHT$0H@HUH;ucH#CH:{ HHt$hHH\$`HP_@SH0HHـ8X8ZHL$ |$(ufHһ8tZ8@t`8ZtHR(D$ H=:HfD$ HHL$ ШH:HE(D$ MHH^HH9HKaШH7HEHH7H oHH0[H\$Ht$H|$UAVAWHHpHE3HLD88e!AHu<[HMTWHMEx(EHM]fEHUeFL}ttH0HMbυt`HZD88tT3HMn[HMHHHME (EHMв]fE8HUHM}~L9>teFt E<(HMrHHME(EHMв)fE(EfEHUHM(EfEHUHMZ(m EAHML9:t?(HHME7(EH`9HMfEz(EfE[EкHM(EHM]fE"HUIL\$pII[ Is(I{0IA_A^]@SH@HH&+ШuHHL$ H 9tUHH 0t02t5uHPHUHL$02HHL$ B"H4HL$ HL$ HG6HL$ iD$ HH@[H\$UVWHHPHHH E8HeHeH ϷE0NweCmEvHGv:Iv,KvMPHk6HM2HN6HA6H06H6΃O7SX_HH *ÃNNGwyFsktJ$t!H5HMHMH*6HHMHHɺH HMH5먃HIv#KvMH5Ht5wH`5kH<5_ORtxStgUtVWtEw1HH HMfH~)EH HR5H65H5H4H4HeeE9L i ]LEHUHM']uH+HME[H1؃IHH @HM7fH~)EHu.HJ3HMH3HMA@]0M8Ct"At_uDEw<u7H3H,4HMHUHME(EfEH>t, HM HHME\HUHMO(E`H>uAt'H3HMt'H3HMrtHt2HML *HLEHU\& HMHHHH\$pHP_^]@SH 3H HH [H\$WH0HH8HAHHL$ ШtbtTtFt8t* ttu[H%=H%4H%+H%"H%H%Hn%H]%uHHL$ D$  _HH\$@H0_HHXHpHx L@UATAUAVAWHhH3)p)xLHy!UMHHu@u@80 8$Deu,ELEHUoHMH9ut E}HLHuHu@u@uD@+A:AM!U+!U(}ϋǃ+tuШGH9utGH=T$uH(EHM߲ fE(EHMHfE(EfEH $EEEEШMtCH=#uH f}HM(EHMHfE(})}LmaH#uHHM`Lm(}>Ű Шt9H9ut H=>#H/#uHHMAAH]HHS8$u*ELEHUoHM H9uFAAHD88AM+#H@80tHHuoHMH/(EHUHMfEH}(u)ut. fuHM(EHUHMfEt(u)uMt. f}HM(EHUHMfEA(u)uE3@Et HD8.tnH+HMuHUHMEHHM(EfED8(t# ~HUHME(u)uFHD8(t[HM#fofsf~M׀tx~M@ ȉM(uHvtHHf@tHM(uϋ`Шt8 < ucEHMMHUHME(u)u2 < u+HM}tx~M@ ȉM(u@t-H-HMHUHME(u)u@t-Ht-HMHUHMEV(u)uD8mtHI-fuHM(u)uD8mtH*-fuHMl(EfEϿEM9.tqA~uFM9/tA HMIHME(EHM fE(EIfE@AFt AEA HM8IM9/t, HM#IEHM_HUHMR }D8mtm (E$E9uI96tnA~uPI91tKHMIHME(EHM fE(EIH8HMsI91tHM[IĺI(|$pL$Is8HI[0I{HA(sIA_A^A]A\]LSHPHMK3L>IK!D$8ISIK!D$HL$ HHHP[H\$UHH`HHMH388?tI8XtHUHHHH9MuH0'H$nH )HMIeLMHHML$ LyHMHHUE끺HMHUHDHH\$pH`]H\$Ht$ UHHPTH s* HM3҉;-. EH?:HH8uOH8u#HMHͩ HH8u먀8$HMu f/!E3H3E3HMв8H}ut s E e }M~ (EBHIHM;H}=EtE(EHUHMfE+H(EfEЀ8@tKHME (EfEH$HM(EHUHMfE(EfEЋu؋MU tH}t uAtA uH} H\8t8@tRHD Zt'u#AuHeHUeHMHUH}uHHt$xHH\$`HP]H\$Ht$H|$UHH`L3DHA8QDVuMH5#LAuAH%A< w*M/LmHcHt HMHM3A@+tA<wLHAHcHMHL$AA:uAMLA:uEt%HtHM#ZHM@Ht2HM~HHMHHHMEHE HMLL\$`HI[IsI{ I]@SH HH p9_u5y_u/HH ZHAH JvHH#CcHH [@SH H0HH [H\$Ht$H|$UHHPHDAAAt  r3HHee HHTt{tmt_tturH4%`H%WHMAH&%HHMHHME(EfE"H$H$H$HMHeet (EfEHMHUHM(EHHHäHE$ H\$`HH|$pHt$hHP]@SH H>HH [H\$UHHPHpHHee8<0<1~-<3~ <4t5<5t,6<w{Ha"HP"H?"H."HMHHϩu+H#"HM6HUHME(E(EHHH\$`HP]H\$Ht$Lt$UHHPDUHH wIHeAADUIEH QD EAAE+7E;"9AEtHAHH AA;vKHeHUAE,AHMEDU`HMY(EHMHfE|(EHM>fEH}(EfE8$u IHe ^fEHMw(EHHfE8t IH4 AHMm(EAHH7EHeHUAD6AE>EDUHMqL5¡AEu2H8&uHLHH H8*uHSHH IH H#CcHt$hHH\$`Lt$pHP]H\$Ht$H|$UHH`E3HHH aAP4HHtH @`3HHHeLMHeLǶd$ HUHM!E!E(EHM fE(EHMHfE(EL\$`IsHI{ I[I]HHXHpHxUATAUAVAWHhHH3H UL8u#SHMIH,6<v9_t D1HA6H A)u(8t D1HA=H ޟAFvD ADGD;tD}A$D#H]ED}EA$9@HhHMHUHMEJH_HM(EfE8tAM HMHHHME (EHUHMfE3HUHME(EH fE HH О<@ԞL!UH΃`H H]HMt$ <`!ULMHUH](EfEA|@HMv HMHHHME (EHUHMfE(E3fEz!ULMHUH]=}w@8umEAD D}VHMWHUsHM}t@8p~M@ ȉMߋ@t)HMHUHMEB(EfE'HM}t@8p~M@ ȉMI9$t=(HMHUHME(EHM)fE(EfEE3H APLHtX`HLIHM'HM(HMH-HHMEi(EHM)fEHUHMH z`<`tEtHUHM' Y@HMtHHM#}t@8p~M@ ȉMߋHM@t#HHM##}t@8p~M@ ȉMMt(EAM' H&L$HI[0Is8I{@IA_A^A]A\]@SH 3HxHH [H\$WH H9Hu2HHXHHH\$0H _̃y$ ÊAH\$WH HQ3HtH:HtHHXH踥HH\$0H _H\$Ht$WH HyHHHXH胥HӄuH~HHXHgHH\$0Ht$8H _̋Q3t BHcHAH\$WHPH3HL$0_`HL$@HHHL$ D$ D$ 'H'H\$`HHP_H\$Ht$WH HzHHEtHH认HzHHDHA H;sRH;v3WH ęAHtH HtHKHtHHCH+HCHs H+HA HC HHCH\$0Ht$8H _H 1u3ÍB< wƒ/HH E3A@%tٍB<w4AADHH A:u֊HH ҘA:uAÃHHXHpHx L@UHH`HHHe!M3HeH!MH{A/1~d9C2HcHtHMHӠH}BHHMdHUHME(E!MHuЄHMu HM>HMHE HtHa;uE|HuHHHE3HM3%H0fH~)EHEHt.{1u(~HM衼HUHME(E)EHtHUHM(EL\$`HI[IsI{(I]H˺HHB΃BZ_ pHHsOD9t^tI/6~/8CHcHbHHӠn?CH+HJCHMЃHHcHӠ*mp?t0@~EBCu7DH HMm ;HHy0t E3H뽃TGSP+;uCHMHfHcHӠƿHu(EH$qhHcHMH( yH ʔHH 01t0΃w(EHUHwH+H (EHUHMfEMHM(,HMEqHUHM$HM,HMEHHUHMHM,HMEHUHM3HM)HMEHUHM(E'H3HMm(EHM fE(EHUHMfE[(ECHMHHcHӠE3HM3zfH~EHEuVMWY/_vHHA`DF~uJK@CHMHHcHӠ@t'HƊHMHHxuـ@u HHcECHMЃHHcHӠ茸H1HM8?u)HHMH8@uHHHHMHHM}CCCoCHM9HHcHӠ6[H}m @SH L HHH [@SH L HHH [H\$H|$UHHPLHHe!UHA$tt=tHHH"HMqH?t HMܿLL >IHULHELEfsf~EA@<$t^H˺lILGA5AtntZtHuIL ILH?tH5HM H0H IL@H HMHMHXHME裵(EHMHfE2(EHH\$PH@]H\$WH@HH $uH譫E3u HL$ >HL$ EtHx8t HHxD$ HHxL%xL-x $HH$HĀA_A^A]A\_^]LSHPIcMKIcL%D$ !D$8IS!D$HHvHHP[H\$H|$UHHPHxH8tW8Zu HeHeEHwjHMŻHrHHMHHME莦&HIHMHMENEв)H蔦H\$`HH|$hHP]H(LQwA@A3A8_u MAL0wA,A<A8$ME2L wAB$I@8PLDMLvE8t|A,Ft&A8Jt/A8K|A8M~A8O~A8QfMLvKMLvA,0< w!A/HLLjv ]I/5~gAM+CA+A+ MELuAA<wREA0AAɁ ʋ A"DAtAt At6S+@&ٺr|MLQuKAA<ML1u0t{A+tlA+t`A+tSA+tDA+t4A+t$A+tA;xph` A 39uMúLtٺ~EAAMËLgt AA"DA}Sº Att t3@At"AtAt Au  H(@SH HsHـ8t$8AtHHHs QHH [@SH HfHH [@SH0HH踣HL$ rHHG}H}HRs8@u HHCsHH0[H\$H|$UHH`HyH s8THeLMHeLLjd$ HUHM!E!E(EHM fE(EHMHfE苡(EHr8@HH趢HortxHM[`HMHݗHHME(EHM'fEEHUHHr8@u HHq:8@tHj#8u H蜢}HHq8@uH\$Ht$ UWATAVAWH$HHH)H3HE3IIHLMue| MtHtH`HL$X3HL$0DB RMHt$0H|$8Ld$@Au Dd$HHuD$HHD$0LHD$PHT$PHhHMHD$(MHD$`HD$ HTHM3HcHtKAt"HuHD$@H;u)x*H;v%{MtqHtyfD&HD$@H;tqfD$FHwLD8d$pt HL$XHH399L$I[0IsHIA_A^A\_]HuHD$@H;ufDd~H\$UVWAVAWH$HH'H3Hp IIHLMuzs MtHtH HL$Xp3HL$0DB QHd$@MHt$0H|$8Au Dt$HHuD$HHD$0LHD$PHT$PH HMHD$(MHD$`HD$ OHMC}HcHtIAt"HuHD$@H;u(x(H;v#uMtkHtyHD$@H;tlHuH|$pt HL$XHp H37H$HĀA_A^_^]HuHD$@H;uD>H\$Ht$ UWATAVAWH$HH%H3Hp E3IIHLMu y~ MtHtH HL$X3HL$0DB kOMHt$0H|$8Ld$@Au Dd$HHuD$HHD$0LHD$PHT$PH HMHD$(MHD$`HD$ lQHM_HcHtKAt"HuHD$@H;u)x*H;v%{MtqHtyfD&HD$@H;tqfD$FHDtLD8d$pt HL$XHp H35L$I[0IsHIA_A^A\_]HuHD$@H;ufDd~H\$UVWAVAWH$HH>$H3HIIHLMu^w} MtHtH`HL$X3HL$0DB MHd$@MHt$0H|$8Au Dt$HHuD$HHD$0LHD$PHT$PHhHMHD$(MHD$`HD$ (MHMw|HcHtIAt"HuHD$@H;u(x(H;v#uMtkHtyHD$@H;tlHrH|$pt HL$XHH324H$@HA_A^_^]HuHD$@H;uD>H\$Ht$ UWATAVAWH$HH"H3HE3IIHLMuuf{ MtHtH`HL$Xc3HL$0DB LMHt$0H|$8Ld$@Au Dd$HHuD$HHD$0LHD$PHT$PHhHMHD$(MHD$`HD$ NHM跉HcHtKAt"HuHD$@H;u)x*H;v%{MtqHtyfD&HD$@H;tqfD$FHpLD8d$pt HL$XHH32L$I[0IsHIA_A^A\_]HuHD$@H;ufDd~@SH0HMttH @IʐH H0[@SH0|LuHA HI DALHc cv#ns2txuWDAuxP1VH @IʐH@H0[@SH0|LuHA HI AHc cvPU2}xuYDAcEHH NdEHH cEHH .dH\$HAXLHAHDHDHu HHLALMBHAB8Et63AB8A0D؀9~Aɀa:IBHIJHE+BHIBHH\$EBPH\$HAXLHAHDHDHu HHLALMBHAB8Et63AB8A0D؀9~Aɀa:IBHIJHE+BHIBHH\$EBPH\$HAXLHAHDHDHu HHLALMBHAB8Et63AB8A0D؀9~Aɀa:IBHIJHE+BHIBHH\$EBPH\$HAXLHAHDHDHu HHLALMBHAB8Et63AB8A0D؀9~Aɀa:IBHIJHE+BHIBHH\$EBPH\$HAXLHAHDHDHu HHLALMBHAB8Et63AB8A0D؀9~Aɀa:IBHIJHE+BHIBHH\$EBPH\$HAXLHAHDHDHu HHLALMBHAB8Et63AB8A0D؀9~Aɀa:IBHIJHE+BHIBHH\$EBPH\$HAXLHAHDHDHu HHLALMBHAB8Et63AB8A0D؀9~Aɀa:IBHIJHE+BHIBHH\$EBPH\$HAXLHAHDHDHu HHLALMBHAB8Et63AB8A0D؀9~Aɀa:IBHIJHE+BHIBHH\$EBPH\$HAXLHAHDHDHu HHLALMBHAB8Et63AB8A0D؀9~Aɀa:IBHIJHE+BHIBHH\$EBPH\$HAXLHAHDHDHu HHLALMBHAB8Et63AB8A0D؀9~Aɀa:IBHIJHE+BHIBHH\$EBPH\$HAXLHAHDHDHu HHLALMBHAB8Et63AB8A0D؀9~Aɀa:IBHIJHE+BHIBHH\$EBPH\$HAXLHAHDHDHu HHLALMBHAB8Et63AB8A0D؀9~Aɀa:IBHIJHE+BHIBHH\$EBPH\$HAXALLHHHDHu HHLALMBHAB8Mt73AB8IH0L؀9~Aɀa:IBHIJHE+BHIBHH\$EBPH\$HAXALLHHHDHu HHLALMBHAB8Mt73AB8IH0L؀9~Aɀa:IBHIJHE+BHIBHH\$EBPH\$HAXALLHHHDHu HHLALMBHAB8Mt73AB8IH0L؀9~Aɀa:IBHIJHE+BHIBHH\$EBPH\$HAXALLHHHDHu HHLALMBHAB8Mt73AB8IH0L؀9~Aɀa:IBHIJHE+BHIBHH\$EBPH\$HAXALLHHHDHu HHLALMBHAB8Mt73AB8IH0L؀9~Aɀa:IBHIJHE+BHIBHH\$EBPH\$HAXALLHHHDHu HHLALMBHAB8Mt73AB8IH0L؀9~Aɀa:IBHIJHE+BHIBHH\$EBPH\$HAXALLHHHDHu HHLALMBHAB8Mt73AB8IH0L؀9~Aɀa:IBHIJHE+BHIBHH\$EBPH\$HAXALLHHHDHu HHLALMBHAB8Mt73AB8IH0L؀9~Aɀa:IBHIJHE+BHIBHH\$EBPH\$HAXALLHHHDHu HHLALMBHAB8Mt73AB8IH0L؀9~Aɀa:IBHIJHE+BHIBHH\$EBPH\$HAXALLHHHDHu HHLALMBHAB8Mt73AB8IH0L؀9~Aɀa:IBHIJHE+BHIBHH\$EBPH\$HAXALLHHHDHu HHLALMBHAB8Mt73AB8IH0L؀9~Aɀa:IBHIJHE+BHIBHH\$EBPH\$HAXALLHHHDHu HHLALMBHAB8Mt73AB8IH0L؀9~Aɀa:IBHIJHE+BHIBHH\$EBPE~~HHXHhHpHx AVH IADH3HH t HHxtHALtt ;}ƃ H\$0Hl$8Ht$@H|$HH A^EHHXHhHpHx AVH IDAH3HH t HHxtHAf;tt ;} H\$0Hl$8Ht$@H|$HH A^H\$E3HE~ELIBI9BuAztAA AHH@HHHHA9tAE;|H\$E~hH\$H|$@HE3LIBI9BuAztA$A AH@H@HHfHHA9tAE;|H\$H|$HD$(HAHD$0HA HHLALIHHHHHHHHHHHHHHHHD$(HAHD$0HA HHLALIHHHHD$(HAHD$0HA HHLALIHHHHD$(HAHD$0HA HHLALIHHHHD$(HAHD$0HA HHLALIHHHHHHHHHHD$(HAHD$0HA HHLALIHHH3HHAHAHAHA HA(HA0A8fA@APATHXH`H3HHAHAHAHA HA(HA0A8A@fABAPATHXH`H3HHAHAHA HAHA(HA0A8fA@APATHXH`HHhHD$(HAHD$0HA HLLI3HHAHAHA HAHA(HA0A8fA@APATHXH`HHhHD$(HAHD$0HA HLLI3HHAHAHA HAHA(HA0A8A@fABAPATHXH`HHhHD$(HAHD$0HA HLLI3HHAHAHA HAHA(HA0A8A@fABAPATHXH`HHhHD$(HAHD$0HA HLLI@SH H3H HKHKHK HKHK(HK0K8fK@KPKTHXH`HHhHD$PHCHD$XHC LLKp+HCHH [@SH H3H HKHKHK HKHK(HK0K8fK@KPKTHXH`HHhHD$PHCHD$XHC LLKpHxL@+HCHH [@SH H3H HKHKHK HKHK(HK0K8fK@KPKTHXH`HHhHD$PHCHD$XHC LLKp*HCHH [@SH H3H HKHKHK HKHK(HK0K8fK@KPKTHXH`HHhHD$PHCHD$XHC LLKpE*HCHH [@SH H3H HKHKHK HKHK(HK0K8fK@KPKTHXH`HHhHD$PHCHD$XHC LLKpHxL)HCHH [@SH H3H HKHKHK HKHK(HK0K8fK@KPKTHXH`HHhHD$PHCHD$XHC LLKp-)HCHH [@SH H3H HKHKHK HKHK(HK0K8K@fKBKPKTHXH`HHhHD$PHCHD$XHC LLKp(HCHH [@SH H3H HKHKHK HKHK(HK0K8K@fKBKPKTHXH`HHhHD$PHCHD$XHC LLKpHxL(HCHH [@SH H3H HKHKHK HKHK(HK0K8K@fKBKPKTHXH`HHhHD$PHCHD$XHC LLKp'HCHH [@SH H3H HKHKHK HKHK(HK0K8K@fKBKPKTHXH`HHhHD$PHCHD$XHC LLKp'HCHH [@SH H3H HKHKHK HKHK(HK0K8K@fKBKPKTHXH`HHhHD$PHCHD$XHC LLKpHxLu&HCHH [@SH H3H HKHKHK HKHK(HK0K8K@fKBKPKTHXH`HHhHD$PHCHD$XHC LLKp%HCHH [HHHHHHHH@SH HHH落CHH [HAH"HHH@SH HH`!H`H [@SH HH`!H`H [@SH HH`c!H`H [@SH HH`?!H`H [@SH HH`!H`H [@SH HH` H`H [@SH HH` H`H [@SH HH` H`H [@SH HH` H`H [@SH HH`g H`H [@SH HH`C H`H [@SH HH` H`H [@SH HH`H`H [@SH HH`H`H [@SH HH`H`H [@SH HH`H`H [@SH HH`kH`H [@SH HH`GH`H [@SH HH`#H`H [@SH HH`H`H [@SH HH`H`H [@SH HH`H`H [@SH HH`H`H [@SH HH`oH`H [@SH HH`KH`H [@SH HH`'H`H [@SH HH`H`H [@SH HH`H`H [@SH HH`H`H [@SH HH`H`H [HIH:u At@SH HHSHH [H\$WH HHH ,H'HHHH#H\$0H _H\$Ht$WHH{H3H$HHH8H{HSHL$8@HoHHD$@HK LKLHT$0H M LD$0LCHL$(HL$`HD$ MHL$`KH$pH$|$Pt HL$8H@蹸H$H3L$I[Is I_H 8H $H H H H\$Ht$WH`HcH3H$PHHH8HcHSHL$8@HWHHD$@HK LKLHT$0H M LD$0LCHL$(HL$`HD$ MiHL$`H$XH$|$Pt HL$8H@衷H$PH3L$`I[Is I_H H\$Ht$WH`HkH3H$PHHH8HkHSHL$8@H_HHD$@HK LKLHT$0H M LD$0LCHL$(HL$`HD$ MHL$`w(H$`H$|$Pt HL$8H@詶H$PH3L$`I[Is I_H H\$Ht$WHHsH3H$HHH8HsHSHL$8@HgHHD$@HK LKLHT$0H M LD$0LCHL$(HL$`HD$ MHL$`H$hH$|$Pt HL$8H@豵H$H3L$I[Is I_H $~H\$Ht$WHH{H3H$HHH8H{HSHL$8@HoHHD$@HK LKLHT$0H M LD$0LCHL$(HL$`HD$ M-HL$`$H$pH$|$Pt HL$8H@蹴H$H3L$I[Is I_H ,}H 0}H (}H\$Ht$WHHsH3H$HHH8HsHSHL$8@HgHHD$@HK LKLHT$0H M LD$0LCHL$(HL$`HD$ MAHL$`3(H$hH$|$Pt HL$8H@豳H$H3L$I[Is I_H 0|''''''''''''xHxu2Ãu |t3҉ HHH|HP4xHxu2Ãu |t3҉ HHH|HP4xHxu2Ãu |t3҉ HHH|HP4xHxu2Ãu |t3҉ HHH|HP4ppppppppHHHDA:t HuHt2 ,Et HuHHɀ90tD8uHɊHHˆuÍBL [[uEtD6H\$H@Hl$PH A^_^HHXHhVWAVH HqHHHPD6&DE HIH`H+-HG8"tHD$@H;GrHG@2>uEtD6H\$H@Hl$PH A^_^HHXHhVWAVH HqHHHPD6&DE HIH`H+_-HG8"tHD$@H;GrHG@2>uEtD6H\$H@Hl$PH A^_^HHXHhVWAVH HqHHHPD6&DE HIH`H+,HG8"tHD$@H;GrHG@2>uEtD6H\$H@Hl$PH A^_^HHXHhVWAVH HqHHHPD6&DE HIH`H+W,HG8"tHD$@H;GrHG@2>uEtD6H\$H@Hl$PH A^_^HHXHhVWAVH HqHHHPD6&DE HIH`H++HG8"tHD$@H;GrHG@2>uEtD6H\$H@Hl$PH A^_^HHXHhHp WH HqHHA HP.&HIH`Hq,HG8"tHD$0H;GrHG2>ut.H\$8Hl$@Ht$HH _HHXHhHp WH HqHHA HP.&HIH`H+HG8"tHD$0H;GrHG2>ut.H\$8Hl$@Ht$HH _HHXHhHp WH HqHHA HP.&HIH`Hq+HG8"tHD$0H;GrHG2>ut.H\$8Hl$@Ht$HH _HHXHhHp WH HqHHA HP.&HIH`H*HG8"tHD$0H;GrHG2>ut.H\$8Hl$@Ht$HH _HHXHhHp WH HqHHA HP.&HIH`Hq*HG8"tHD$0H;GrHG2>ut.H\$8Hl$@Ht$HH _HHXHhHp WH HqHHA HP.&HIH`H)HG8"tHD$0H;GrHG2>ut.H\$8Hl$@Ht$HH _H\$Hl$WH HHhHuN  GuH{tppH-3IcPc,RHC{(YCAS,, D.{A*HtIxu |ujAy K0ARCA< t(<#t<+t<-t <0u?K09K03K0-K0 'K0!A.@k@k0>k<@kT Ht6HCKAhHCH0t&C(H\$@Hl$HHt$PH A_A^_H\$Hl$WH HHhHu uH{tppH-DcPc,NHC{(UCAS,, K08K02K0,K0 &K0 Hs0@s@{8s<@sT Ht[HCKAHC9s,t{,u+ppwC(H\$0Hl$8Ht$@H _H\$Hl$Ht$WAVAWH 3HH9hub8H9itL=f@xxu |HLs4Hs8| A..HCkPk,CAHC9k(CAS,, D.{A*HtISxu |ujAy K0ARCA< t(<#t<+t<-t <0u?K09K03K0-K0 'K0!A.@k@k0>k<@kT Ht6HCKAhHCHtp)C(H\$@Hl$HHt$PH A_A^_H\$Hl$WH HhHu#HytppH-l=cPc,NHC{(UCAS,, E.f{B*HtI<xu |upAy K0AXCBA;t,#t!+t-t 0u?K09K03K0-D c0'K0!A.@k@k0>k<@kT Ht:HCfKBfXHCH]t;C(H\$@Hl$HHt$PH|$XH A^A]A\HHXHpHxLp AWH 3HH9huH9qtppL=&6Dw!sPs,HC9s(CBS,fA+fZwCBBL8΍B8C,tkt^t(tHFHH+ f{B*tHS8H4HC HC HHωK8s8f{B*tHS4HC HC HK4K0ىK4CBA;t0#t%+t-t0K0|K0vK0pD s0jK0dHs0@s@{8s<@sTPDCBCTHhH t HhH9ptHhAf;u{(C(tZHCfKBfFHCpp#C(H\$0Ht$8H|$@Lt$HH A_[HHXHhHpHx AVH 3HH9hudH9qtppL54o!sPs,HC9s(CBS,f+fZwCBBL0΍B 1K,tkt^t(tHFHt*f{B*tHS8H<HC HC HHωK8s8f{B*tHS4HC HC HK4K0ىK4CB;t2#t(+t-t0K0K0zK0t k0oK0iHs0@s@{8s<@sTUSBCTHhHAH9Au@8qtC(+{(&C(HhH@HhHfHhHteHCfKBf?HC9s,t{,u1ppC(H\$0Hl$8Ht$@H|$HH A^HHXHhHpHx ATAUAVH 3HH9huPH9itL-1Dg!xx$u |HLs4Hs8| A..HCkPk,fCBfHC9k(CBS,fA+fZwCBBL(͍B )K,H.~C,b$t{tot(t;HFH.)f{B*Ht H色xu |9.}I>E.f{B*HtI蠭xu |upAy K0AXCBA;t,#t!+t-t 0u?K09K03K0-D c0'K0!A.@k@k0>k<@kT HJ t:HCfKBfXHCH5t@C(H\$@Hl$HHt$PH|$XH A^A]A\HHXHhHpHx AVH 3HH9hu( H9qtppL5r.o!sPs,HC9s(CBS,f+fZwCBBL0΍B0C,tkt^t(tHgGH(f{B*tHS8HHC HC HHωK8s8f{B*tHS4HC HC HK4K0ىK4CB;t2#t(+t-t0K0K0zK0t k0oK0iHs0@s@{8s<@sTUSBCTHhHAH9Au@8qtC(+{(&C(HhH@HhHfHhHtZHCfKBfAHCppC(H\$0Hl$8Ht$@H|$HH A^ Q0 Q0 Q0 Q0 Q0 Q0 Q0 Q0 Q0 Q0 Q0 Q0ø9xu 9|t3ø9xu 9|t3ø9xu 9|t3ø9xu 9|t3ð̰̰̰̋xu |uÃu |t2Ëxu |uÃu |t2Ëxu |uÃu |t2Ëxu |uÃu |t22222̃|u 9xt3̃|u 9xt3̃|u 9xt3̃|u 9xt32222̃a8̃a8̃a8̃a8̃a8̃a8̃a8̃a8̃a8̃a8̃a8̃a8̊AA< t(<#t<+t<-t <0uI0I0I0 I0 I0̊AA< t(<#t<+t<-t <0uI0I0I0 I0 I0̊AA< t(<#t<+t<-t <0uI0I0I0 I0 I0̊AA< t(<#t<+t<-t <0uI0I0I0 I0 I0̊AA< t(<#t<+t<-t <0uI0I0I0 I0 I0̊AA< t(<#t<+t<-t <0uI0I0I0 I0 I0AB t,#t!+t-t 0uI0I0I0 I0 I0AB t,#t!+t-t 0uI0I0I0 I0 I0AB t,#t!+t-t 0uI0I0I0 I0 I0AB t,#t!+t-t 0uI0I0I0 I0 I0AB t,#t!+t-t 0uI0I0I0 I0 I0AB t,#t!+t-t 0uI0I0I0 I0 I0@SH 3Hp tCHhSAH tHhHxtHhyu C(C(M2H [@SH Hًxu |tu |ua3Hk tAHhSAH tHhHxtHhyu C(C(2H [@SH 3H tCHhSAH tHhHxtHhxu C(C(E2H [@SH 3H tHHhDCAHAH9AuytC($K(C(HAHhHDHhH2H [@SH Hًxu |tu |ud3H tDHhSAHAH9AuytC(σK(C(HAHhHHhH~72H [@SH 3H tHHhDCAHAH9AuytC($K(C(HAHhHDHhH2H [@SH ATHIBHhP tHhHxtHhtf;uK(C(H [@SH Hًxu |tZu |tLDCBCTHhH tHhHxt HhA tf;uK(C(H [@SH ATHIBHhP tHhHxtHhsf;uK(C(H [DIBLATHhHAH9AuytA@((AH(!A@(HAIhHfD IhHHыxu |tYu |tKDBBBTHhHAH9AuytB(&J( B(HAHhHfDHhHDIBLATHhHAH9AuytA@((AH(!A@(HAIhHfD IhH@SH 3H(tAHhSAH tHhHxtHhjtu C(C(H [@SH 3H`tAHhSAH tHhHxtHhtu C(C(H [@SH 3HtAHhSAH tHhHxtHhsu C(C(H [@SH 3HtFHhDCAHAH9AuytC($K(C(HAHhHDHhHH [@SH 3HtFHhDCAHAH9AuytC($K(C(HAHhHDHhHH [@SH 3H@tFHhDCAHAH9AuytC($K(C(HAHhHDHhHH [@SH ATHIBHhP tHhHxtHhpf;uK(C(H [@SH ATHIBHhP tHhHxtHhof;uK(C(H [@SH ATHIBHhP tHhHxtHhoof;uK(C(H [DIBLATHhHAH9AuytA@((AH(!A@(HAIhHfD IhHDIBLATHhHAH9AuytA@((AH(!A@(HAIhHfD IhHDIBLATHhHAH9AuytA@((AH(!A@(HAIhHfD IhH@SH HAHQAATHHf PtdHhH tHhHxtHh#pu C(C(HCHKAHCu2H [@SH HAHQAATHHf PtdHhH tHhHxtHhou C(C(HCHKAHCua2H [@SH HAHQAATHHf PtdHhH tHhHxtHhnu C(C(HCHKAHCu2H [H(HAHDAAATHHfB @thHhHAH9AuytB($J(B(HAHhHDHhHHBHJAHBu52H(H(HAHDAAATHHfB @thHhHAH9AuytB($J(B(HAHhHDHhHHBHJAHBuV2H(H(HAHDAAATHHfB @thHhHAH9AuytB($J(B(HAHhHDHhHHBHJAHBu2H(ATATATATATAT̃I83HA0A@AHCHk(LhHD$ LHT$PIDK0AtAuLDƲ0I3Hȍ}|C0AtLDƲ IDžAH\$XHl$`Ht$hH0A_A^_H\$Hl$Ht$ WAVAWH0AAHAd]ACt3DGSt_XtoZtac3>g~itgnt[ot8ptstutRxuePMjUA8A< EǺ1I0AtK0H]I0 E3KX(u2[|u D9xB{@8S03fD$P3D$RAt.AtD$P-AtD$P+AtD$P IKAAuAtEE2AEut*DxHCHk(LhHD$ LHT$0ID蛉K0AtAuLDAIw3H跄}|C0AtLDAIwAHL$8H3fL\$@I[8Ik@IsHIA_A^A]A\_H\$Hl$Ht$ WATAUAVAWH@HAUH3HD$8ABXHٍnD~d[;Ct2DGSt^;toZtac34 g~itgnt[ot8ptstutRxuePM$`UA8A< EǺ1I0AtK0HTI0 E3G&u2l{@_S03D$03fD$4Do At2At G-fD$0At+At fDl$0IKBAf+fAuAtEE2A0f+fAEut/fDd|0If;t f;t2A$afD|0Is4+sP+ uLK(DHhA^vHCHk(LhHD$ LHT$0ID藈K0AtAuLDAIv3Hׂ}|C0AtLDAIuAHL$8H3cL\$@I[8Ik@IsHIA_A^A]A\_H\$Hl$Ht$ WATAUAVAWH@HuRH3HD$8ABXHٍnD~d[;Ct2DGSt^;toZtac32g~itgnt[ot8ptstutRxuePM ^UA8A< EǺ1I0AtK0HRI0 E3E%u2|u D9xi{@_S03D$03fD$4Do At2At G-fD$0At+At fDl$0IKBAf+fAuAtEE2A0f+fAEut/fDd|0If;t f;t2A$afD|0Is4+sP+ uLK(DHhA|sHCHk(LhHD$ LHT$0ID赅K0AtAuLDAI/s3H}|C0AtLDAIsAHL$8H3aL\$@I[8Ik@IsHIA_A^A]A\_H\$Hl$Ht$ WATAUAVAWH@HOH3HD$8ABXHٍnD~d[;Ct2DGSt^;toZtac30 g~itgnt[ot8ptstutRxuePM \UA8A< EǺ1I0AtK0HPI0 E3D%%u2l{@_S03D$03fD$4Do At2At G-fD$0At+At fDl$0IKBAf+fAuAtEE2A0f+fAEut/fDd|0If;t f;t2A$afD|0Is4+sP+ uLK(DHhApHCHk(LhHD$ LHT$0IDK0AtAuLDAIep3H }|C0AtLDAI9pAHL$8H3M^L\$@I[8Ik@IsHIA_A^A]A\_̀yA*t HQ4MHA HA PQ4y I0ډQ4@SH yA*HtHQ4H [铔]t$xu |uC4y K0؉C4H [ÀyA*t HQ4ՔHA HA PQ4y I0ډQ4̀yA*t HQ4)HA HA PQ4y I0ډQ4@SH yA*HtHQ4H [o^^t$xu |uC4y K0؉C4H [ÀyA*t HQ4鱕HA HA PQ4y I0ډQ4fyB*t HQ4HA HA PQ4y I0ډQ4@SH fyB*HtHQ4H [F^t$xu |uC4y K0؉C4H [fyB*t HQ4逖HA HA PQ4y I0ډQ4fyB*t HQ4ЖHA HA PQ4y I0ډQ4@SH fyB*HtHQ4H [%_t$xu |uC4y K0؉C4H [fyB*t HQ4LHA HA PQ4y I0ډQ4̸ ̸ ̸ ̸ ̸̸̸̸HHHHH}HuHmHeÃ2ttt!tt u)øøøÃttރt3A;,A-A/AO1A2A4Ac6A7A9Aw;A=A>H\$Ht$WH HA HHA HxHt3HwHt*DAt7ttt(t&3"tt tHHt*HtHtH;uHcG(HG(G(fO(G@H\$0Ht$8H _H\$WH 3HT$8H\$8Hu2xu |uZ_ȋO</tt7ttt(t&3"tt tHHt*HtHtH;uHcG(HG(G(fO(G@H\$0Ht$8H _H\$Ht$WH HHY HA HpuSX ^2O<,t>t7ttt(t&3"tt tHHt*HtHtH;uHcG(HG(G(fO(G@H\$0Ht$8H _H\$WH 3HT$8H\$8Hu2xu |u[W]ȋO</tt7ttt(t&3"tt tHHt*HtHtH;uHcG(HG(G(fO(G@H\$0Ht$8H _H\$Ht$WH HHY HA Hp,uUP[2O<,t>t7ttt(t&3"tt tHHt*HtHtH;uHcG(HG(G(fO(G@H\$0Ht$8H _H\$WH 3HT$8H\$8Hu2xu |4uTXZȋO</tt7ttt(t&3"tt tHHt*HtHtH;uHcG(HG(G(fO(G@H\$0Ht$8H _H\$Ht$WH HHY HA HppuRX2O<,t>t7ttt(t&3"tt tHHt*HtHtH;uHcG(HG(G(fO(G@H\$0Ht$8H _H\$WH 3HT$8H\$8H&u2xu |xuQWȋO</tt7ttt(t&3"tt tHHt*HtHtH;uHcG(HG(G(fO(G@H\$0Ht$8H _̋Q0tQ0E3AP̋Q0tQ0E3APa̋Q0tQ0E3APE̋Q0tQ0E3AP̋Q0tQ0E3APE̋Q0tQ0E3AP)̋Q0tQ0E3AP̋Q0tQ0E3AP)̋Q0tQ0E3AP ̋Q0tQ0E3AP̋Q0tQ0E3AP ̋Q0tQ0E3AP̺A< AQ8i̺A< AQ8̺A< AQ8̺A< AQ8e̺A< AQ8̺A< AQ8̺A< AQ8a̺A< AQ8̺A< AQ8̺A< AQ8]̺A< AQ8̺A< AQ8H\$Ht$WH HA HHA q8DAHHHcCT茇H?u HHHHcCPH\$0Ht$8H _H\$Ht$WH HA HHA q8DAD>D2HcH @HːK4H\$HH0_H\$WH0|HuHA HQ DBDA4HIHT$@3H|$@DG SbxPHD$@HHHKx{f8$uud}p ;DC9>2HcH @HːK8H\$HH0_HA HA PQ8HA HA PQ8HA HA PQ8HA HA PQ8H(H Hu88>2H(H(( H(H9uU8>2H(H(H9u-8=2H(H(H9u8=2H(H8:D$`uDDJBH8ÉD$ #u7u=2H8:D$`uDDJBH8ÉD$ U%u|75=2H8:D$`uDfDJBH8ÉD$ 'u;7<2H8:D$`uDfDJBH8ÉD$ (u6<2@SH y,HHI<%|u]Hd$0,0< wGA HT$0~Y~3HD$08$u)xuH3A`  ǃ| ǃ||uXHKHT$8Hd$8A YxHT$8H HBHCux#:$ud} ;O H [5;2@SH y,HHI<%|u]Hd$0,0< wGA HT$0zX~3HD$08$u)xuH3A`  ǃ| ǃ||uXHKHT$8Hd$8A XxHT$8H HBHCux#:$ud} ;O H [4:2@SH y,HHIf%|ubHd$0f0f wHA HT$0X~4HD$0f8$u)xuH3A` ǃ| ǃ||uYHKHT$8Hd$8A *XxHT$8H HBHCu x$f:$ud} ;O H [392@SH y,HHIf%|ubHd$0f0f wHA HT$0W~4HD$0f8$u)xuH3A` ǃ| ǃ||uYHKHT$8Hd$8A WxHT$8H HBHCu x$f:$ud} ;O H [282̰̰̰̰H(y,ty,t2X82H(H(y,ty,ts2,82H(H(y,ty,tG282H(H(y,ty,t272H(H(y,Hty,t172]|uRxuIHc LLHJN HN M;t*AHB I@tt tuHB IѰH(H(y,Hty,t`172]|uRxuIHc LLHJN HN M;t*AHB I@tt tuHB IѰH(H(y,Hty,t062]|uRxuIHc LLHJN HN M;t*AHB I@tt tuHB IѰH(H(y,Hty,tH062]|uRxuIHc LLHJN HN M;t*AHB I@tt tuHB IѰH(̰̰̰̰@SH0|xuwHc cv/P52YDA/4ְH0[@SH0|xuwHc cv.42YDAHL$@H3H\$hHt$pHP_H\$Ht$WHPHJH3HD$@yTHtnAP~gHqH3t~DHT$4d$0HL$0AHv~u1DD$0Et'HCLK(HhHD$ HT$4 ;{Pu'K(!HCLI(DCPHhHSHHD$ j HL$@H3H\$hHt$pHP_H\$Ht$WHPHrH3HD$@yTHtnAP~gHqH3t~DHT$4d$0HL$0AHv覭u1DD$0Et'HCLK(HhHD$ HT$4;{Pu'K(!HCLI(DCPHhHSHHD$ HL$@H3H\$hHt$pHP_H\$Ht$WHPHH3HD$@yTHtnAP~gHqH3t~DHT$4d$0HL$0AHvάu1DD$0Et'HCLK(HhHD$ HT$4;{Pu'K(!HCLI(DCPHhHSHHD$ HL$@H3+H\$hHt$pHP_H\$Hl$VWAVH0E3HD8qTAPHqHALKHL$PfDt$PHILc@fHc~WHhDD$PH t HhL9pt HhArf;uK(C(HH;{Pu'K(!HCLI(DCPHhHSHHD$ H\$XHl$`H0A^_^H\$Hl$VWAVH0E3HD8qTAPHqHALKHL$PfDt$PHILc@zHc~WHhDD$PH t HhL9pt HhA膸f;uK(C(HH;{Pu'K(!HCLI(DCPHhHSHHD$ H\$XHl$`H0A^_^H\$Hl$VWAVH0E3HD8qTAPHqHALKHL$PfDt$PHILc@莦Hc~WHhDD$PH t HhL9pt HhA蚷f;uK(C(HH;{Pu'K(!HCLI(DCPHhHSHHD$ H\$XHl$`H0A^_^H\$Hl$Ht$ WH03H@8iTAPHqHLKHL$@fl$@HILc@裥HcЅ~WHhDD$@HAH9Au@8itC(&K( C(HAHhHfDHhHHH;{Pu'K(!HCLI(DCPHhHSHHD$ H\$HHl$PHt$XH0_H\$Hl$Ht$ WH03H@8iTAPHqHLKHL$@fl$@HILc@賤HcЅ~WHhDD$@HAH9Au@8itC(&K( C(HAHhHfDHhHHH;{Pu'K(!HCLI(DCPHhHSHHD$ H\$HHl$PHt$XH0_H\$Hl$Ht$ WH03H@8iTAPHqHLKHL$@fl$@HILc@ãHcЅ~WHhDD$@HAH9Au@8itC(&K( C(HAHhHfDHhHHH;{Pu'K(!HCLI(DCPHhHSHHD$ H\$HHl$PHt$XH0_H\$Hl$Ht$WAVAWH HILHDPA AtHHxuEH|$`IcHD?'H;tuHAH t HHxtH u  u5?*u8HH t HHxtH?еu IL;u?uEtD?H\$@Hl$HHt$PH A_A^_H\$Hl$Ht$ WAVAWH HILHDPA AtHHxuEH|$`Ic/'L&H HAH9AuytA)MA GH+ALH H;LBK6L9I$HI$LpI$xt/ L;tD7>uEtD>H\$PHl$XHt$`H A_A^A]A\_HDHBA%@UHH`HE0HELMLE(HUHM Huz"JMtHEHUHELMHEHUHELEHE HEHUHE(HEHM0HEHEӖH`]@UHH`HE0HELMLE(HUHM Hu5!JMtHEHUHELMHEHUHELEHE HEHUHE(HEHM0HEHEGH`]@UHH`HE0HELMLE(HUHM Hub!JMtHEHUHELMHEHUHELEHE HEHUHE(HEHM0HEHE;H`]@UHH`HE0HELMLE(HUHM Hu JMtHEHUHELMHEHUHELEHE HEHUHE(HEHM0HEHEH`]@UHH`HE0HELMLE(HUHM HuJ JMtHEHUHELMHEHUHELEHE HEHUHE(HEHM0HEHEH`]@UHH`HE0HELMLE(HUHM HuJMtHEHUHELMHEHUHELEHE HEHUHE(HEHM0HEHEWH`]H\$Hl$Ht$WATAWH0H|$pIIHLMuHuM3HMHM;vQ:LL$pLEHI̋0H$HD$(HD$xHD$ 赚uo8"0LL$pLHID8H$HD$(HD$xHD$ dD7uH;u8"u@D86yu*"Ar+HHl$XH\$PHt$`H0A_A\_HHXHhHpHx ATAUAWH0E3IIHLL9l$pMuHuMAHMHM;vQLL$pLEHI̋0H$HD$(HD$xHD$ up8"0LL$pLHID8H$HD$(HD$xHD$ 訚fDlwuH;uC8"uA9D87yfD/u*"" HHl$XH\$PHt$`H|$hH0A_A]A\H\$Ht$ UWATAVAWH$HHtH3HE3IIHLMuJMtHtH`HL$0G3HL$PDB MHt$PH|$XLd$`Au Dd$hHuD$hHD$PLHD$pHT$pHhHMHD$(MHD$8HD$ \HMHcHu/HLD8d$HHD$0AtMHu3t/HLD8d$HHD$0HD$`H;upxpH;vkMtHt_yD&VHD$`H;uHDd7EHtHD$`H;u2HDd7]LD8d$Ht HD$0*D$0H,LD8d$Ht HL$0HH3L$I[0IsHIA_A^A\_]H\$Ht$ UWATAVAWH$HH@H3Hp E3IIHLMu]MtHtH HL$03HL$PDB MHt$PH|$XLd$`Au Dd$hHuD$hHD$PLHD$pHT$pH HMHD$(MHD$8HD$ HMHcHu/HLD8d$HHD$0AtMHu3t/HLD8d$HHD$0HD$`H;upxpH;vkMtHt_yD&VHD$`H;uHDd7EHtHD$`H;u2HDd7)LD8d$Ht HD$0*D$0HLD8d$Ht HL$0Hp H3L$I[0IsHIA_A^A\_]@SH0HMtHHHH BtGEEDHH t8tA3AADOЀ w!@σ;@9EDDHAH̍G<w @σG<w @σAA;t-A;s(E A;r u;vAAH@8HHH H@t@88t?Au}L+HEAtj"AuA\At'}t HEHKHtHHQ}t HEHKHtHH*Atހ}t HMHCHtH HL\$@I[0Is@I{HIA_A^A]A\]H\$Hl$Ht$ WATAUAVAWHPE3AEHL9*u&HOHtHH3cEt A@"wHHL$(gL'ELd$ A$ID$ HHHu@A@f-uf+u HHH DŽ$jA`A0Af DFAfA;f:s A+fA;f;f;$s +f;f;s +pfA;kp f;s A+Qf;M f;s +4f;0p f;s -f  f; A f;cHvf;A f;Kf f;A f;1Hvf;A f;Hvf;A f;Pf;A f;Hvf;r{A f;HFf;rgA f;@f;rQA f;f;r;A f;H&f;r'A f;s~f;sA+u)CfvCfvACfw ɾt EuyD~sHAHHHBfAt:EDDHHftDf9t?AA0AEDDHAH3AAA`ADfA;f:s A+fA;yfA;jf;s A+ofA;jf;s A+Pf f;GH f;s +0 f;'H f;rAvf;H f;r̍Avf;H f;rAvf;H f;rf f;H f;rAvf;H f;vAvf;H f;^Pf;H f;DAvf;r{H f;0AFf;rgH f;@f;rQH f;f;r;H f;A&f;r'H f;sf;sA+u)CfvCfvACfw A;t0A;s+ E;r u;vEDHHHHE3HLd$ ftf9tt-@uL'D8l$@CHD$(2A֋Kto2"@uAa@t)D8l$@t HD$(HOHtHHWD8l$@t HD$(HOHtHH.@tAD8l$@t HL$(HWHtHH AL\$PI[0Ik@IsHIA_A^A]A\_H\$Ht$H|$ UATAUAVAWHH@H:EEHu&IHKHtHH3Et A@"wHHM`L+E3HULm8A}IEEnHz@~LEAՋ豢HU HHHA#Ņt H@8H3E@@-u@+u H@8HHLm8AG< w @ǃ#G<w @ǃG<w @ǃAt EuDE{>HHHH BtOEEDHH t8t AIMcI3ILȍOЀ w"DA>@9EDDHAHčG<w DAG<w DAAAt:E;s5A M;ruAH;v IIELH@8HHpL#H@t@88tC@u}L+HEI֋Gtt"@uMg@t,}t HEHKHtHHHX}t HEHKHtHHH,@tIހ}t HMHCHtH HIL\$@I[0Is@I{HIA_A^A]A\]H\$Hl$Ht$ WATAUAVAWHE3AEHL9*u&HOHtHH3AEt A@"wHHL$x]L'ML$A$ID$ HHHu@A@f-uf+u HHHD$tjf DŽ$ 0D$Pf `D$(p AD$hf DVD$0p D$X AD$8 Af D$pf D$@p D$`PD$HZD$lD$ D$$ D$,*D$4@D$D$lf;rvf;\$ *D$$f;rbf;\$,D$4f;rNf;\$<D$Df;r:f;\$LD$Tf;r&f;\$\sf;\$ds DE+AAu-CfvCfvACDfwA AAt?E;s: M;ruAH;vIIEL0HHHHE3HL$ftf9tZ@u"L'D8$xHD$xgI֋t\"@uIq@t1D8$t HD$xHOHtHHHbD8$t HD$xHOHtHHH1@tID8$t HL$xHWHtHH IL$I[0Ik@IsHIA_A^A]A\_H\$WH0AILHHL$ HADHH\$@H0_H\$WH0AILHHL$ HADHH\$@H0_H\$WH0AILHHL$ lHE3DHH\$@H0_H\$WH0AILHHL$ DHE3DH[H\$@H0_H\$WH0AILHHL$ HADHH\$@H0_H\$WH0AILHHL$ HADHH\$@H0_H\$WH0AILHHL$ |HE3DH{H\$@H0_H\$WH0AILHHL$ THE3DHsH\$@H0_HLAMtIHHLAMtIHHQHtHHHQHtHHHHHHHHH\$WH Ht&Hx~L‹ϺHHcH xH\$0H _H(.H(øH̸H̍A< w0ÍA<wWÍA<w7Ã̺0f;f:s +f;k`f;sB f;rҺf;]B f;rf f;GB f;rPvf;3B f;rPvf;B f;zPvf;B f;bPvf;B f;Jf f;B f;0Pvf;B f;Pvf;B f;Pf;B f;Pvf;rwB f;PFf;rcB f;@f;rMB f;f;r7B f;P&f;r#B f;s}f;ou(Afv AfvÍAfw HHHHH(H Ht8t:H(H(HHftf9tVH(H(H9u52H(H(H9u 2H(̺0f;f:s+úf;[`f;[B f;rֺf;EB f;rf f;/B f;rPvf;B f;rPvf;B f;rPvf;B f;jPvf;B f;Rf f;B f;8Pvf;B f; Pvf;B f;Pf;r{B f;Pvf;rgB f;PFf;rSB f;@f;r=B f;f;r'B f;P&f;rB f;HH\$WH HcMtIHy# 5x#H\$0H _H\$WH HcMtIx~ ԐHx# x#H\$0H _@SH0ALHHL$ 3HAD33H0[H\$WH0AILHHL$ HADHH\$@H0_H\$WH0AILHHL$ HADHH\$@H0_H\$WH0AILHHL$ HADHH\$@H0_H\$WH0AILHHL$ HHADHGH\$@H0_@SH0ALHHL$ HE3D3H0[H\$WH0AILHHL$ HE3DHH\$@H0_H\$WH0AILHHL$ HE3DHH\$@H0_H\$WH0AILHHL$ dHE3DHcH\$@H0_H\$WH0AILHHL$ (HE3DH'H\$@H0_@SH0ALHHL$ HAD3'H0[H\$WH0AILHHL$ HADHH\$@H0_H\$WH0AILHHL$ HADHH\$@H0_H\$WH0AILHHL$ XHADHoH\$@H0_H\$WH0AILHHL$ HADH;H\$@H0_@SH0ALHHL$ HE3D3H0[H\$WH0AILHHL$ HE3DHH\$@H0_H\$WH0AILHHL$ tHE3DHH\$@H0_H\$WH0AILHHL$ 8HE3DHWH\$@H0_H\$WH0AILHHL$ HE3DHH\$@H0_@SH0ALHHL$ HAD3H0[@SH0ALHHL$ HAD3H0[@SH0ALHHL$ SHAD3SH0[@SH0ALHHL$ #HE3D3;H0[@SH0ALHHL$ HE3D3H0[@SH0ALHHL$ HE3D3H0[@SH0ALHHL$ HAD3H0[@SH0ALHHL$ wHAD3H0[@SH0ALHHL$ GHAD3gH0[@SH0ALHHL$ HE3D3/H0[@SH0ALHHL$ HE3D3H0[@SH0ALHHL$ HE3D3H0[@SH 3HHL$0HD$0P_T$0EHtH [@SH03HHL$ HD$ PHT$ HHEHtHHH0[@SH HHuB3fu3HL$0HD$00LD$0H*!NbLHBzՔIIHHH?HHiʀD+AkdKH [@SH HHu3mu3HL$0HD$0LD$0H*!NbLHBzՔIIHHH?HHo@H;iʀHD+AkdKH [@SH 3HHL$0HD$0PT$0EHtH [@SH03HHL$ HD$ PHT$ HHEHtHHH0[WH\$Ht$WH HU3HHtHHdHEHH\$0Ht$8H _H\$Ht$WH H 3HHtHHHEHH\$0Ht$8H _@USWHH@HHHu=H@_[]úA$跮HtЃ?}΁?ne8HM8ee0}AHM蜈HM0軈 =}wY+M0HU M H誏[9E8mH1]EHU )E Hw(C 7HHX ;9E8tHtMM0+C +}0AAk<+ȉ yA<<AD AADADKAAkHcE8HUH)EHҌC ]HH賌Hc;9E0tHtE E8HC HcE H+IIHHHHH?Hk<+ȉ y AAHCHCH9{tH;CwH3HUStHFЈEP<0u@׈UPϊE`L}EAA B< wƒ0!B<wƒWB<wƒ7A;wKAM;tAEIHCHCMH9{tH;CwH3HRMȃtHF@NJЈEPL}HIHH:HCHCH9{tH;CwH3HmRtHF@HMXHEPL;uC<0u?AHCMHCH9{tH;CwH3H$RtHFЈEP<0u@׈UPB< wƒ0!B<wƒWB<wƒ7A;wDAL;mtAEIHCHCH9{tH;CwH3HQtHF@NJЈEPEu!HMׄ]``HKHCH9{tH;CwB<vHt HJH=}HCHEHHCH9{tH;CwH3HQȃtHF@ψMP@ǀEtPt et pu E`@8}`DHCHCH9{tH;CwH3HPtHF@<-EPA,+u2HCHCH9{tH;CwH3HuPtHF@NJȈEPD0ukrHCHCH9{tH;CwHHBH;BtHHBu@ψMHHKHCH9{tH;CwvH HAH;tHHAL;tfIC@88uLH;uL;tPE;~ mD;}\AɃADE;D;|D+EUEE]@Nj)"LEXHMHH$LEXHMHHH$H@A_A^A]A\_^]LD$HL$USVWATAUAVAWHHhL 3MHMtH9zu謘eHBAHEHHBH9zt H;BvIAI;AtHIAfA;uHEHUHEAHEfMAHErFEwELsHCH9{t H;Cv HHBH;BtHHBfA;uAfM'FuUMf-AABfAu=LsHCH9{t H;Cv!H HAH;AtHHAfA;ufUBAfA_BfA@0@}PDf;LKIAHCH9{tH;CvLI@I;@tnHI@fA;tYAfAuJLsEHCDuPH9{t H;Cv H HAH;AtHHAfA;ufULMHUUAHKHCH9{tH;Cw"fA+fA;wH HAH;t HHAUMeA0LeЋωMMDfA;ucA@ADHCHCH9{tH;Cw9H HAH;At,DHHAfE;t0AfUfD;ufUAE`jAA`EAAA E`/fA;\f:s A+Ff;)fA;8f;U`s A+"f;f;s -f f;p f;s -f  f; f;s - f f;p f;s -f  f; f;s - nf f;ep f;s -f If f;@p f;s -f $ f; f;s - f f;p f;s -f Pf;Zf;s -Pf;f;s - f;*f;s - n@f;riJf;s -@Pf;rKf;s -2f;r-f;s#-f;s+u)BfvBfvBfw A;wYEM;tAMLCAHCMH9{t H;Cv#H HAH;AtHHAfA;u׋MfUHuHLmXD}PLuHMeHH;LCHCH9{t H;Cv$HHBH;BtHHBf;ufMѸ0M;unf;uiuELCA+HCuH9{tH;Cw=H HAH;At0DHHAfD;t0AfUfD;uD@׸0fU`AAAf;f:s ƒ0fA;pf;jf;s +hf;_A f;s +Hf f;?A f;rHvf;+A f;r̍Hvf;A f;rHvf;A f;rHvf;A f;rf f;A f;vHvf;A f;^Hvf;A f;FPf;A f;,Hvf;r{A f;HFf;rgA f;@f;rQA f;f;r;A f;H&f;r'A f;sf;sA+u)BfvBfvBfw A;wUEM;tAMLcHCH9{t H;Cv H HAH;AtHHAfA;ufU0LmXD}PLuMeuEu!HMcAbHKHCH9{tH;Cw*AfA+f;wH HAH;tHHAAHCHEHHCH9{t H;Cv$HHBH;BtHHBf;u@fMEtPt et pu AE‰}DAPLCHCH9{t H;Cv$H HAH;AtHHAf;uf-fUʸAf+DMfuALCHCH9{t H;Cv$HHBH;BtHHBf;ufM0@}`f;ueE`HCHCH9{tH;Cw:H HAH;At-HHAf;t0fUf;ufM0f;f:s +f;k`f;sP f;rҸf;]P f;rf f;GP f;rBvf;3P f;rBvf;P f;zBvf;P f;bBvf;P f;Jf f;P f;0Bvf;P f;Bvf;P f;Pf;P f;Bvf;rwP f;BFf;rcP f;@f;rMP f;f;r7P f;B&f;r#P f;s}f;ou)AfvAfvAfw Ƀ sdCE`DBDUE;EHCHCH9{t H;CHHBH;BtHHBf;AQDUĺ0AAA`Af A Af A Af f;@f:s ++fA; fA;jf;s A+f;f;s +fA;p f;s A+fA; f;s A+fA;p f;s A+fA; f;s A+ifA;dp f;s A+Jf f;Ap f;s -f % f; f;s - f f;p f;s -f Pf;Zf;s -Pf;f;s - f;*f;s - o@f;rjJf;s -@Qf;rLf;s -3f;r.f;s$-f;sA+u)AfvAfvAfw Ƀ sGHCHCH9{t H;Cv%HHBH;BtHHBfA;uϺ0fMBLmXAPDMDUDE`LuMeD}PuEtAEuZHMm\tALCHCH9{t H;Cv$HHBH;BtHHBf;ufMAHKHCH9{tH;Cw"fA+ȸf;wH HAH;tHHAM;tfIF@88uLI;uM;tPE;~ mD;}\AɃADE;D;|E+EUEEu@Nj)"LEHMHFLEHMHHhA_A^A]A\_^[]LI[IsMCWATAVH@ICISICL%}HIKL3AB:'$tB:'$HCH{HCtH;CwH3H!ȃtHF2HAHuHKH{HCtH;CwA<vHɃt HJHMHCHD$pHH{HCtH;Cw*H;H!tHGHL$ Y2A3AB:'$tB:'$HCH{HCtH;CwH3H!ȃtHF2HAHuHKH{HCtH;CwA<vHɃt HJHLH\$`Ht$hH@A^A\_HL$ XLMCSH@ICISICHIKLE3EAA:$%tA:(%AHBHBL9ZtH;BwL IAI;AtHIAuAIA IuHJHBL9ZtH;BwvH HAH;tHHAHBHD$`HHBL9ZtH;BwLI@I;@tHI@uAA MAA:,%tA:4%HBHBL9ZtH;BwL IAI;AtHIAuAIA IuHJHBL9ZtH;BwvLIHI;tHIHH@[HL$ JXHL$ 9XLI[IkIs MCWATAUAVAWH@3ISICIKHICLL%D}AfB;'$tfB;'$L{HCH9kt H;Cv H3Hȸf;tL~HfAHuHKAHCH9ktH;CwfA+fA;wHHJHhHHCH$HHCH9ktH;Cv1HL$ &SH;Hf;tLfAHAfB;'$tfB;'%L{HCH9kt H;Cv H3Hȸf;tL~HfAH uHKHCH9ktH;CwfA+fA;wHHJHwGL\$@I[0Ik8IsHIA_A^A]A\_HL$ 6RLI[IkIs MCWH@ICISICH=IKLE3۽EA[AfA;8D%tfA;8L%HZHBL9Zt H;BvA L IAI;AtHIAf;uAIfA IuHJHBL9ZtH;Bwf+f;wH HAH;tHHAHBHD$`HHBL9Zt H;BvA4HL$ xULI@I;@tHI@f;uAfA MAfA;8X%tfA;8h%HZHBL9Zt H;BvA L IAI;AtHIAf;uAIfA I uHJHBL9ZtH;Bwf+f;wH HAH;tHHAH\$PHl$XHt$hH@_HL$ TLI[IsMCWAUAVH@ICISICL-HIKH3B:.$tB:.$HCH{HCtH;CwL3IsȃtIF2HƈHuHKH{HCtH;CwA<vHɃt HJH*FHCHD$pHH{HCtH;Cw*H3HtHFHL$ S\2<(tHL$ S;HCH{HCtH;CwH3HtHF2HӈH< t?HKH{HCtH;CwA<vHɃt HJHOEHHt<HKH{HCtH;CwA<vHɃt HJHEsA)D87tf?tXAЃ vAvAv _HCH{HCtH;CwH3HtHF2A:uD87H\$`Ht$hH@A^A]_LI[MCWH@ICISHICHIK3L }B: <%tB: @%HCH{HCtH;CwLI@I;@tHI@u2HˆHuHKH{HCtH;CwvH HAH;tHHAHCHD$`HH{HCtH;CwHHBH;BtHHBu2Ɉ(t-HL$ MQHL$ qM=HCH{HCtH;CwHHBH;BtHHBu2ɈHHS t:HKH{HKtH;Kw<vH HAH;tHHAHHt7HKH{HKtH;Kw<vH HAH;tHHAyA)D8tl?t^AЃ vAvAv _HCH{HCtH;CwHHBH;BtHHBu2ɈA:uD8H\$PH@_LI[IkIs MCWATAUAVAWH@3ISICIKHICHL%D}AfB;&%tfB;&%L{HCH9kt H;CvL3IfA;tM~HfHuHKAHCH9ktH;CwfA+fA;wHHJHt?HCH$HHCH9ktH;Cv-HL$ FL~H3HfA;tL~ff(tHL$ LCL{HCH9kt H;CvH3HfA;tL~HfH-t=HKHCH9ktH;CwfA+fA;wHHJH>HHt:HKHCH9ktH;CwfA+fA;wHHJH>>yf?)tnf9/t_AЃ vAvAv _L{HCH9kt H;CvH3HfA;tL~ff)uf?)L\$@I[0Ik8IsHIA_A^A]A\_LI[IkIs MCWAVAWH@3ISICIKHICHL MDvAfB; t%tfB; |%LsHCH9st H;Cv LI@I;@tHI@fA;uHfHuHKHCH9stH;CwfA+f;wH HAH;tHHAHCHD$pHHCH9stH;Cv4HL$ JHHBH;BtHHBfA;uff(tHL$ IVLsHCH9st H;Cv HHBH;BtHHBfA;ufHHt>HKHKH9stH;KwfA+f;wH HAH;tHHAHHt>HKHCH9stH;CwfA+f;wHHJH; tHHJf?)tuf97tfAЃ vAvAv _LsHCH9st H;Cv HHBH;BtHHBfA;uff)uf?)H\$`Hl$hHt$xH@A_A^_H\$Hl$Ht$WAVAWH 3H-HLA:/%t :/%u:HFHFH9^tH;FwL6I#tIFHAHuHl$HH\$@Ht$PH A_A^_H\$E3HELAA:%t A:%uBHBHBL9BtH;BwLIBI;BtHIBuAIA IuAH\$AH\$Hl$Ht$WAVAWH 3H-HLAf;/%t f;/%uFHFHFH9^t H;FvL6I/f;tIFHfAHuHl$HH\$@Ht$PH A_A^_H\$E3HELAfA;&t fA;&uPHBHBL9Bt H;BvA%LIBI;BtHIBf;uAIfA IuAH\$AH\$Hl$Ht$WAVAWH 3H-gHLA:/%t :/%u:HFHFH9^tH;FwL6I tIFHAHuHl$HH\$@Ht$PH A_A^_H\$E3HELAA:%t A:%uBHBHBL9BtH;BwLIBI;BtHIBuAIA IuAH\$AH\$Hl$Ht$WAVAWH 3H-[HLAf;/%t f;/%uFHFHFH9^t H;FvL6I f;tIFHfAH uHl$HH\$@Ht$PH A_A^_H\$E3HɝELAfA;%t fA;%uPHBHBL9Bt H;BvA%LIBI;BtHIBf;uAIfA I uAH\$AH8Lʃ3tmtMt:t"8 A8 8HT$ LD$ IɈD$(|tHT$ LD$ IɈD$(Vq38 돃tNt=t u838 AA-38A3A A3H8H8Lʃ3tqtPt9t(H8H?H H8H?HT$ LD$ ID$(`sHT$ LD$ ID$(U|3H늃tZtIt+uD3H8H?H I438H?I3IHI3H8H\$Ht$H|$ UATAUAVAWHHPE3EEHL9"tL9bu)nsHCHt L9cuD 3 Et A@"wHHMHCHEHHCL9ctH;CwH3H1 tHFAAHE@σx~LEAYHEHHQA#ƅt2HCHCL9ct H;CvAH;HtHG@EA@@-u@+u0HCHCL9ctH;CwH;H~t HG@AMA G< w @ǃ#G<w @ǃG<w @ǃtAEEiHCHCL9ctH;CwgL;IЃtUIGHuLEDDHCHCL9ct H;CvAfH;HAt HG@MAHAEAEDHKHCL9ctH;Cw$B<vHtHJHU3AMc3HIHU8LOЀ w DA&G<w DAG<w DAAAtqE;slA M;ruAH;v IIELHCH{HCtH;Cv@2|H;HtHG@HU8AV@2IE3LcHCL9{tH;CwG<vH@A;t LbHS2@uAHEH;CtHCD8D8}t HE؃HCHL9{D8I֋ktzuj"@uMm@t/D8}t HE؃HCHt L9{uD8H^D8}t HE؃HCHt L9{uD8H/@tID8}t HM؃HKHt L9{uD9IL\$PI[0Is@I{HIA_A^A]A\]H\$Hl$Ht$ WATAUAVAWHE3AEHL92tL9ru)ui.oHGHt L9wuD03Et A@"wHH$HGMH$HAHGL9wtH;GwYH7HfA;t HFf;\$XD$`f;r*f;\$hs#f;\$ps DAAAu-CfvCfvACDfwA AAt~E;sy M;ruAI;v IIELHwHGL9gt H;GvA*HHAH;AtHHAf;tںAHOHGL$L9gtH;Gw!f+޸f;wHHAH;tHHA@u/L;otHGD D8$H$I֋T6S"@uI}@t7D8$tH$HGHt L9guD HnD8$tH$HGHt L9guD H7@tID8$tH$HOHt L9guD!IL$I[0Ik@IsHIA_A^A]A\_HHXHhHpHx ATAVAWH MMHHMtVH|$`H+LIA:+t:u]HGHHGtH;GwH7HptHF2HAII;uH\$@Hl$HHt$PH|$XH A_A^A\2H\$H|$MILMt]LL$(L+HHAA:t:uOIAIyIAtI;AwMI@I;@tHI@u2HA HH;uH\$H|$2H\$Hl$Ht$WATAUAVAWH E3MMHHAMt_H|$pH+Af;+tf;ugHGHGL9ot H;GvAL7IUf;tIFAHfAHI;uH\$PHl$XHt$`H A_A^A]A\_2H\$Ht$H|$3IILDMtcLL$(L+fA;tf;u^IAIAI9qt I;Av$MI@I;@tHI@f;uIf HL;uH\$Ht$H|$2HHXWH@LA8HQHLHWHH3@@x蚏HKpLD$XH @8|$PtHtC@8{2t;HCxHCxHHHu`OUH@D$X@2H\$`H@_HHXWH@LA@HQHLHWHH3@@x:HKxLD$XH @8|$PtNtI@8{:tAHHHHHuNsTH@D$X@2H\$`H@_HHXWH@LA8HQHLHWHH3@@xrHKXLD$XH@8|$PtEt@@8{4t8HC`HC`HHHuNS HCh@D$X@2H\$`H@_HHXWH@LA@HQHLHWHH3@@xHK`LD$XH@8|$PtEt@@8{H$H$IWHfE;tHKAHS H$MEuL;t {4uEtHD$0HChH$H@A_A^A]A\_^]H\$UVWATAUAVAWH03DH@8qH(HAxHAxL@Mu9V?2H AH(H(HHL@MuW9?2H AH(H(HA`HA`L@Mu9>2 HAh AH(H(HAhHAhL@Mu8>2 HAp AH(H(HAxHAxL@Mu8Z>2HH IH(H(HHL@Mu[8>2HH IH(H(HA`HA`L@Mu8=2 HAhH IH(H(HAhHAhL@Mu7=2 HApH IH(HHLALIHHLALIHHHHD$(HAHD$0HA HHLALIHHLALIHHLALIHHLALIHD$(HAHD$0HA HHLALIHHLALIHHLALIHHHHHHHHLALIHHHHHLALIHHLALIHHLALIHHLALIHH@SH aHH3LAH4DB cHHc c(c0fCCC,H [3HHALAHA8AAHA A(A,A0HHaHLALIMtAHHaHLALIMtAHHaHLALIMtAHHaHLALIMtAH@SH LH3Aa(LADB LI HL c,Hc8c@cHHD$PfC0C2CDHHHCpHD$XHCxHH [@SH LHAJ3Ia0LA LI(DB HTx c4Hc@cHcPHD$PfC8C:CLHHHCxHD$XHHH [HD$(L3ALALI HQ(HQPQ0Q4HQ8Q@QDQHHAXHD$0HA`HHQhHQpHD$(LAJ3ILA LI(HQ0HQXQ8Qss AEDAA6EtEDA96t"AAAALHLALI E;uEtA>ss AE|AA6DDAC AIDssAEDA`A6@WA>LI^;A63IMtGHu '0HL;wHEL3T'" -EEDDLAAA IHL I E;u!A;6I~EHHDEHDAE6HE3HT$0E3HL$8DD$ D$@EF$EuD;F!dDABD$@3EʅEAAstVD;uAAKdDCȉL$@HD$8C EABDDIHЋHCHBTDH ;ƋD$@ut@AsCD;uAdDAAD$@AAËTDHЉTDD$@H څuDD$ AsHT$0AE; Dd$$D3IAMtEHu %.HL;w HT$DXL3 g%" +D+d$,HRDd$$D$(D+tkAE"tYtWEEtODDDAAAALIHLALI E;uEtA>ssAEDA3A6A6EtEDA96t"AAAADHATH DE;uEtA>ss AE|AA6HH3iL$I[0Is8I{HIA_A^A]A\]HDLtHE3ED9t(@AAATI AHLʉQI E;uEtAssELAHEIHLD$$D\$ E3ɺs2H̋HAH‰H ADLЋLALLT$D$ DH\$Ht$WH 3H9qt2HAqfq@qHq q(@q,q0@80u y[t3HCCq[H{HK Z[u2HK%8HA8CHC8*u H@{HCHXDHo[HKIt@HH?H H@IɁ;DA0AEMDDL$ AEىL$$@AHAD$pHH$Et HDHtEuEt[-t%=tDL$ D\$x=u:@7@8$tEu8\$ptADL$ D\$x DL$ D\$xËL$$HHt9AVIHI#HH;9AA+A+A+(IA8^t@H?H @gEAA@rHAAMHAA$HHL$xEt HDHtEuEt9t=t =u"D @A8\$xtEu 8$uDAAHIHAVHHH#HH;v%HɁ;~ j~AHHI#HH#It0@ŁH H HH#H4H H N@ ω 3H$H0A_A^A]A\_^]H\$Hl$Ht$WATAUAVAWH0H$DAEALъFA\$?҃A+D;w29vDAE3D9!vA3EAAH HEAE{ECAuFB|ABLH HEAE3EtC|ED"E;uHG|AGlA+AA+EAKIEDCTH#HALI#HLEu DuAE2E3EtC|AD"E;uAIDH$H\$`Hl$hHt$pH0A_A^A]A\_HE3D8BtAI?LÄAADL u33ELtAQ D$t3̸H;vH 3tB 3tBHAHAHAH+HAH+HH\$UVWATAUAVAWH$Hp HH3H` DLEBHL$XHT$pHыIE3DPE҉D$TLJEHA^&D;EEEABD+LHBDT$PHLL$xHD$hA+LRL$0M;:A EtzEEAATHiʚ;AHLTI E;uLL$xEt6Pss!PDTDPADPEDPDPEthEEt-AAAċTHLቌTDPI E;uEt.AssADTDPADP EDPEEAC AID$HM;EAD$8ȉD$@;ˋG3҉D$<ȋA""A#"HLÍHH CH "HHLHHuEDP EEELAAATIHLTI E;uEPss$PDTDPADPEDPAATLIDPMt@HTL;wHL3"DPE EELAAATIHLTI E;uA;DHTELHHDHTIDHL$`EHT$HDEAEDD$DEE"A‹4u!E;EzDDAEʅEAAstfE;uAAJDC ȉC EAHHBHC HBDH ;tHT$H딅tNAsE;uADAAAAӋHЉDH څuDD$DAsHL$`HT$HAE;EIDPMt@HTL;wHL3f"zDPtAL$@L^@+L$D;EDG3Dl$8AEA""A#"ًHLÍHH >H "HHLHHuEDPEEELAAATIHLTI E;uEt?Pss$PDTDPADPEDPADPATLIDPMt@HTL;wHL3L"`DP EEELAAATIHLTI E;uA;DHTELHTELDDEAEHHDEHT$HEAAtu!E;EzDDAEʅEAAsthE;uAAKDCȉCEAH֋ȋHBHCHBDH ;tHT$H뒅tNAsE;uADAAAAӋHЉDH څuAs7HT$HAE;EIDPMt@HTL;wHL39"MDPDd$DDl$8E+&Dd$D&D$RDL$P+L$HL$PD$8DL$0D+t@AIH."uuE3DuLEDHQDE"A9DuLEE3DHHQDAMHxtEtEELAAAIHLI E;uEhss$DDADBE3DuLEDHPHD$pLD$XHAD8ptAI?L0AAD0AUDt$H$tAEuA AL$Dt$HtAȋr+A;DS#|$0Dt$H\$0Ht$8H _3H9̋AËAËA0E3x~{AP~%t ;ti t3ËA(tQtQ;IEII(-t?t6ttt't'I"tt ׺HÊA,HHH̋A0E3x~{AP~%t ;ti t3ËA(tQtQ;IEII(-t?t6ttt't'I"tt ׺HÊA,HHH̊AÅA3QH ҉QH̊ÅA%ÊA%ËA0ËA0@SVWH H>H3H$H Bu(E3HNE3DT$ LD$$DM?tDEtE3H^EEHfAAH AHHL‰I E;uEtssDDE3DT$ LD$$DH>2gL$D6A~H^LBD HI>u'E3LD$$E3DT$ DHc>tDEtE3EEfDAAH AHHL‰I E;uEtssDDE3DT$ LD$$DH=2A;L$L$L$HFt LjLD ELzDLE3H$PAAډL$ EAlu;KDT$L$ EڋE߃stQ;uȍSDT$ щT$ LL$$M EALLA L MEI A;΋L$ uEtCs;uDT$HL$ HT$$HEË LDL$ I EEustlA;DLD$$IHN<H$PL$L$L$L$H$H36H _^[D2HLu+E3LD$$DE3HDT$ <HÃtH$uH$HH$E3H$EHyEAAËH AHHLʉI D;uH$EtAss"ELAH$H$HEE3LD$$DT$ H7;2̋HH\$UVWATAUAVAWH$HHH3H̉T$(DL%E3LD$,DD$ F&A&EDG3Dl$$AEH< "BL'Bt'HLHL$DD$@B'HL$DHHLHIL$@D$Du 3A6~EEr3M^DDHAAAI AHHL‰I E;uE1Ass EDAE3ɉt$@LD$DA6I92A6A~I^LAIMtGHu \0HIw HT$D3AϿ*"u#3LD$DE3ɉt$@A6H 9h_EES3LDDAAH AIHL‰I E;uEAss EDAE3ɉt$@LD$DA6H82;Mnt HT$DMD DL|$DIE3HT$0AAىEfDË E33H蟗@@ wtmtat+t2g3@8ySH$HĀA_A^_^]H\$UVWAVAWHHHAH3HEHIIMAA;fD{Ht"eHUH EȉC(HMD38kDLE3I/MH0 HM3fCC$HM؋C tS$HMC(tk3DNLEHEAHEIHE蹵tJHc}~ +HcUċMH HHSwAA;v"u͓ 2_ FfD{s 3fDfCt,Hd$(HEE3HD$ E33I+tHcEHCAHMH3XQH$HĀA_A^_^]H\$UVWAVAWHHH?H3HEHIIMAA;fD{Ht"eHUH EȉC(HMD3TiDLE3IKMHL HM3fCHC(HHMHHC HHS(HMHC0Htk3DNLEHEAHEIHEɳtJHc}~ +HcUċMH HHSwAA;v"uݑ 2_VfD{s 3fDfCt,Hd$(HEE3HD$ E33I;tHcEHCAHMH3hOH$HĀA_A^_^]H\$UVWAVAWHHH=H3HEHIIMȑAA;fD{Ht"eHUH EȉC(HMD3dgDLE3I[MH\HM3fCHC HHMHHCHt~HS HMHC(Htg3DNLEHEAHEIHEݱtFc}uHMwKAA;v"u 2]5nfD{s 3fDfCt*Hd$(HEE3HD$ E33IStECAHMH3MH$HĀA_A^_^]@UHHpH<H3HEHMЅu H uxHUHMtVLE3HUۏtBDUD]L$0DMDEUMDT$(D\$ tuݎ XHMH3LHp]@UHHpH`;H3HEHMЅu H uHzHUHM>tWLE3HU"tCDUD]L$0DMDEUMDT$(D\$ fsHu# e融HHMH3KHp]@SH@HD$xE EHD$p DH$DD$\$xD\$pH@[r@SH@HD$xE EHD$p DH$DD$\$xD\$pH@[rHD$8E EDHD$0 DT$8DHD$(DT$0DDT$(ZrHD$8E EDHD$0 DT$8DHD$(DT$0DDT$(*r̋HHHLAHHLA̋HHHLA̋HËHËHËHËHËHHHLAHHHH@SH H9Ht H H H [@SH HH úH#H [H9Ë g@SHPHHH [HcLHHA?IH BD8u JLKND(3M u13HL$ DB$UbHCD$ L$0HD$@IA 3HP[@SH`HHH yZHcLHHA?IH BD8uS WLKND(3M u>3HL$ DB8aHCD$ L$0HD$@IL$PA I03H`[̋ g@SHPHHH YHcLHHA?IH BD8u觊 LLKND(3M eu33HL$ DB0aHCD$ L$0HD$@IA 3HP[̋ f̋ f̋ f̋ e̋ f̋ e@SHPHHH YHcLHHA?IH BD8u߉ LLKND(3M qu33HL$ DB0M`HCD$ L$0HD$@IA 3HP[HHXHhHpHx AVH MIHHV0OLHHσ f^HHt 10H%%8"t3E3H3ɉ00^IH\$0Hl$8Ht$@H|$HH A^@SH H9Ht H H H [H(H(H("yu=w 菈2H(H(H"Hy~g2HcIH HȰH H(H\$Ht$WH L3AAuSMtGAAfv fafwfAx:tDEI@IHEf91tf9\tf9/uf9qt@@fff#иf f Mte.IvHHtPH-H]t9H*H]t&H'H]tH$H]uf@Ht$8ff8f fff H\$0H _HHH@SH H3҉fAfv fafw:fy:u,f9Qu^2!fAfw UH [H@SH Hu2`.uHHtHH\t9H H\t&H H\tHHs\uH [E3HHtH Afv fafw fz:tAHJHEfD9uf:\tf:/ufD9Bt2H3Hf9AuHfA\fA/fD9 tfD9upfD9ItfD9AubfD9At[fD9ItTHAftHfA;t fA;tHf9t1Hf9t(ftfA;t fA;tHf9tf9Pu2f\t f/t3øH\$Hl$VWAVH@H1H3H$0HHZE3HI„(軄AHL$ HD0YHHt 蘄($菄8"uQ腄E3H3ɉ(YHHHt2HHfD94GuHt HtH;wAH趲@H$0H3BL$@I[(Ik0IA^_^H9@SH HH oH#H [@USHHhHUHډM Hu螃!跃3HMDB$=ZEЋEMKC HcU uZ r txX;`V}PHLTR?HHHID8t-HE U(HELM(HEU0LEHEHU0HM  躈Hh[]@USHHxHUHډM Hu讂!ǂ3HMDB0MYEMEKC HcU uh 耂 txX;nU}PHLbQ?HHHID8t-HE U(HELM(HEU0LEHEHU0HM  ȇHx[]@USHHxHUHډM Hu躁!Ӂ3HMDB8YXEMEKMC K0HcU uj 肁 txX;pT}PHLdP?HHHID8t-HE U(HELM(HEU0LEHEHU0HM,  ʆHx[]@USHHxHUHډM Hu辀!׀3HMDB0]WEMEKC HcU ux 萀 txX;~S}PHLrO?HHHID8t-HE U(HELM(HEU0LEHEHU0HMz  ؅Hx[]@SH HHu a7Hd$0HT$0WHL$0u |H2HL$0{H [@SH HHu 7Hd$0HT$0EWHL$0u {HHL$0{H [@SH HHu 7Hd$0HT$0VHL$0u _{HHL$0F{H [@SH HHu 7Hd$0HT$0VHL$0u {HbHL$0zH [ /zH9 t HH;u3H̸csm;t3ËH\$Hl$Ht$WH HE3HHu3HHHHH;t 98t HH;uIHtHxHtHu L@GHHkHspH0HLAHH;u8s8tw8tf8tU8tD8t38t"8t8uOCFC=C4C+C"CCCCHcS׉sHL@GHkH\$0Hl$8Ht$@H _2H(auu =@t2H(@SHPH<)H3H$@HٹS{LHPHwYLL$@E3HT$@ H$4 HH;t HfuA+D$3DD$0LL$0LD$ IDBHT$@|H$@H39HP[H\$Hl$Ht$WAVAWH0Hٹ`3u =?AH-?AL\HT3Ʌ>L5%?f5&AIA}yAuLVIHHfA94NuHAH̋=̉ =H&HыH3ƒ?HL&HAй@?+HI3E3HALL+IIH;MGMtIHHIM;uHHa&H3@C?HHH )CH\$WH H/&HH3 C?HHu3H{HH\$0H _L%LAй@?+IM3L BHDuHuHHEHH}@LM@HD$ E3H}H3HbL}@AHUHIHHu Kx{ 8:NHHEHHLM@HD$ AuE@ȉS;HHM;HߋVHU8H}8HRttHM81HU8HHH9:t H@HH98u ;HH:HM8sH}8HsH\$`H0A_A^_^]H\$UVWAVAWHH0ADvqw)}HBAH3fuH5:3H:Htf9>uHHEHH}@LM@HD$ E3H}H3HL}@AHUHIHHu v{ 8:NHHEHHLM@HD$ qAuE@ȉ9HH9HߋVHU8H}8HrtHM81HU8HHH9:t H@HH98u 9HH9HM8rH}8H}rH\$`H0A_A^_^]EH H%'uEH H%/tHHXHhHpHx ATAVAWH L|$`MILHI'IHtLI@2;"u@@"@H7IHtH3HË8tIHtHH@t@u@ t@ uHt GH@2;; t; uH;MtI>II$3H;\t;"u1u@t {"uH 3@@Ht\HIutD@u< t;< t7t+HtH TtIHHtHIHiHtHI%MtI&I$H\$@Hl$HHt$PH|$XH A_A^A\HHXHpHxL` AWLT$03II2IHtLHDA"fD9!uEAAHIMt fAIHftEuf tf uMt fApH@A\f91f9 tf9 uHf91HtLHHAHfD99tfD9!u7Au@t fD9auH @D@MtfE8IIuft/@u f t$f tEtMtfAIIHrMtfA0II*HtH2HH\$Ht$H|$ Ld$(A_HH6HH 6HHHHHHHH@SH HH nH#H [@SH HH nH#H [H 3HH9t HRHH:uH 3HH9t HRHH:uHH!HH!HH!uCnCnHHHHH5H5H5H5@SH HH mH#H [@SH HH mH#H [H( |H(2@SH HLLH;r3uHHEHH}@LM@HD$ E3H}H3HXL}@AHUHIHHuAp{ 83NHHEHHLM@HD$ AuE@HG3=3HU8H}8HKltHM8lHH}8l?HU8HHH9:t H@HH98u 23H}8H2kHH}8kH\$`H0A_A^_^]H\$UVWAVAWHH0ADvYo8u*H:AH3PmH523H2Htf9>uHHEHH}@LM@HD$ E3H}H3HL}@AHUHIHHun{ 83NHHEHHLM@HD$ VAuE@H11HU8H}8HjtHM8jHH}8j?HU8HHH9:t H@HH98u x13H}8Hw1fjHH}8ZjH\$`H0A_A^_^]H a1H a1H(H:Hu 3H:H(H(H:Hu WH:H(@SH Hs:3Hu+H9m:u3ju%H J:HEHH [@SH H3:3Hu+H9:u3uH :HEHH [H\$WH 3H9=9t3HpyHHu'HHuH9H93iHhH\$0H _H\$WH 3H9=y9t3CyHHu'HHuHP9HA93hHhH\$0H _3=tHHH€<uHHʊuE3Af=tHHHfD9QuH QHfuH\$Hl$Ht$WAVAWH03L<=tHHH@84uHHȊuHJiHHtlLA86taHHA84.uHA>=t5HiHHt%MHHh3ɅuHI?IgLHI3rgH3fgH\$PHHt$`Hl$XH0A_A^_E3Ht$ E33qH\$Hl$Ht$WAVAWH03Lf=tHHHf94AuH AHfuHJhHHtpLfA96tdHHfA94nuHfA>=t5HhHHt&MHH'3ɅuII?IfM4nH3lfH3`fH\$PHHt$`Hl$XH0A_A^_E3Ht$ E33 pHt;H\$WH HHHHfHHHuHeH\$0H _Ht;H\$WH HHHHeHHHuHeH\$0H _kugvH\$Hl$VH@H56HHd$8AHd$03҃d$(3LHd$ iHctɺH gHHt[Hd$8AHd$03L3ɉl$(HD$ Sit13H 3dHH>s3H\$PHl$XH@^HdLH\$Hl$VH0H5B5Hupsd$(AL3Hd$ 3eHctغHLfHHtKLAl$(33HD$ et-3H`3=dHH>u3H\$@Hl$HH0^HdkMHH eMHH 銛HHH<uHHHfu.H@f.LȍU@LH;teu*H@ssf_tmHLLÍU?:t6uJHsDftf,u9HLLú:uyf,fI^0H\$PHl$XHt$`H0A_A^_E3L|$ E333YE3L|$ E333XE3L|$ E333XE3L|$ E333X@SH {DAЀɃt6t9t tR?XAAD AH [H(HHH;LDH~AJAHB A@ J0AH0B@A@@JPAHPB`A@`MJpIAHHuAJAHB A@ J0AH0B@A@@HBPI@PakyH(@SHPH@H3H$@كw:Ht5HD$0D$(LHD$ 3A3NtHT$0z3H$@H3"HP[@USVWATAUAVAWH$HHHH3H0L3HT$HIH\$XMLHHu%3H0H3HHA_A^A]A\_^[]iHAUt$0HHL$8LHHHL$@LIHD$P7f?Cu0f9wu*LHIPMtA6ITHHE3HfD9 wuHsLLIM+B+uHuHD$@LL+B+uHu{Kz3HDHL$`Au}ELD$`L|$8HL$`It'`t[LD$`I>E3MHHfD9;AJLHL$0Mƺ-#HH= LD$0fDl0AHHtI^fD9+tHfD9+HtH$H3H$XHA_A^A]A\_^]3Ll$(L$@AHD$ UHT$0HtHtALw(t@IHD$0H+DA+u HEutLD$0HHHuAI ~=0I8CE3Ll$ E333KH\$ UVWATAUAVAWH$H0HH3H ILcH莗LpAHT$`HLHD$@HD$(HD$ UvE3Hu,3H H3uH$H0A_A^A]A\_^]IHL$`HHD>(LL+F A+u HEutHD$`HHfD9XuH ]@LHwHL>(LD$`HL$HHSJ(HL$PO L$DHHw3ۅf|$`CIEHD>(uf9\$bu J(HpJ(AD$@DÉG HIO A9G tIAI HHH|EtIcIII Au|G EHzD$0LAD$(AQHEp3HD$ )it@HMpf!HIHcHrHHMpA2˅AOA_G AAGGAu D$@G AuD$@GKdHHHDH3ۅt8HD$HHD>(J(>HD$PIJ(>D$DG H H9L$Ht?HD>8u.HL>8N>HL>0D>J(7>H\>(J(AEHD>(Ll>8SE3H\$ E333GHHH 3HH H HËH(vzA3G tH(HiH @ƒ?+3HH3Hl=H\$LL$ WH II H 6H\$0H _H\$Ht$LL$ WATAUAVAWH@IM IHHu H@H5oDA?HH3:AHH|$0HH3ZHH\$ HGHLH|$(LH\$8A@AA+3HH3HH\$ H;r H9uH;sJHH;tHg<H5ƃ?D+A3HH3IHHIHHQIHHQr΃?H33HHHCBIHH5DA?LL3 AIHBH3HM;uI;t MLL$(ILL$0LHD$8HHD$ H$3ۋ~H\$pHt$xH@A_A^A]A\_HH(HLHH LHP HH?H(HH(HLHH LHP HHH(LHAй@?+HI3HH̋HHHLA̋HËHËHHH@SH HH :H#H [H\$Hl$Ht$WATAUAVAWH H3LH8HuH7LHI3I3EA?AHHHFHLLA@AHA+HI3HH;raH9tHAI3HHHM@LIEA?AHLHBM3I3IHM;uI;tMILHHtH9LLA?D+IAHI3HH)IHHiIHHi3H\$PHl$XHt$`H A_A^A]A\_̋ i|HHXHhHpHx ATAVAWH H3LHHuLA@H+ALK?H[I3M3HI3IHL;H+ݸHH;HHGAD$HHDH;rED$HH3L8Mu(H{AHH~3L8MQLM AI?A+HHHI+I3HIHIL;HGHtHHHIH;uLAÃ?+IGHAHI3MAIHʃ?+IHH3HH)AHtƒ?+IIL3HLBHVƒ?D+IAHH3H3HYH\$@Hl$HHt$PH|$XH A_A^A\̋ z̋ )z̋ !zHH!@SH HH c7H#H [HH BHH }LIKH8ICICMKMCIS D$PIKD$XH8E3LHuHAH9u$Ha@ƒ?+IL3MMHMH3HT$HL$UHH@HEHELM(HEHELEHUHM E(EH@]HHJH(H 1TH =HH(̰̰H( H(ð̰@SH H@3ۃ?+HH3H>H~HHHSH [3 @SH H OuH <H H;t 5H$H u|5H q3H`g5H dHUT5H YHJA5HDH [̰E3HALL+IIH;MGMtIHHIM;uHuH ~{H(HH(H(H(H=H FU|H(裌H(HyH6HEAH(H 5HxHEHHH(@SH HHH5HzHEBHZH [@SH 轊HXHt HG:5LMtHT$(vHT$(gHHtt;t+؀|$8t HD$ 3H\$PHl$XHt$`H@_HdHHXHPUVWATAUAVAWH0LL HE33LhHH'Eut=AwHt$pHtm3H)u3H#2IILƄt6<"uIMIAuHtH+II3HHu*31IH1Ht^3H跕uPHgHHD8.t"tIID8(uD)313H{u3x1Hp1H'H=3HRtH=ߍHG1IHMtLIG8,33LÄt8<"uHIHAuHtH+ʺH$,HHu)3=*3H3*HtS3HuEI.d;t"tHHǀ?u3)3Hu3I6)H&H=`3HuI> HJI3H)H\$PHHl$XH0A^_^Hd$ E3E333Z3HHXHhHp WAVAWH0LLHE33LxHH5t/AH\$`HHtr3HXu II>IILft=f"uHIHAfuHtH+ʺH*HHu*3(IH(Ht[3HuMI.lfD9;tf"tfHHfD9?u3fD8u(3H裋u3I6](H'H=3HuI> HτIIH)(H\$PHHl$XHt$hH0A_A^_E3L|$ E3331H8Hd$@L3HL$@觉t t3HD$@H8Hd$ E3E3331H8Hd$@L?3HL$@{t t3HD$@H8Hd$ E3E333;1H\$WH H3ۋӋLNJtW<"uHIHAuHt>H+ʺH(HtH"tHH8uH3&H3H\$0H _H\$WH H3ۋӋLftcf"uHIHAfuHtEH+ʺHl(Ht$Hf"tfHHf9ufH3d&H3H\$0H _̋A̋y̋H .̋H b̋H ̋H J̋MH 鯈̋H 颈̋MH 铈̋MH ̋H ̋MH HHH<uHHHfHT$(HT$(HDžt;t+؀|$8t HL$ Ht$XH\$PH@_@SHP3Hu%+L$`d$xd$@d$0DD$(D$ @DLHT$`HL$xD ؉D$@|$xt0t#HcL$`HHHd?HH€d8L$`t B%uD$`HP[@SHP3Hu%*L$`d$xd$@d$0DD$(D$ @DLHT$`HL$x ؉D$@|$xt0t#HcL$`HHH?HH€d8L$`?t $uD$`HP[H\$WHPEL3H$HuO$* 3Htً$tAtd$@d$DL$0DL$(DT$ DHHL$@ D$D|$@t,t!Hc HHH?HH€d8 Zt H\$`HP_H\$WHPEL3H$Huo#') 3Htً$tAtd$@d$DL$0DL$(DT$ DHHL$@ D$D|$@t,t!Hc HHH?HH€d8 zt H\$`HP_HD$8E MHDHD$0H DT$8DHD$(DT$0DDT$(<HD$8E MHDHD$0H DT$8DHD$(DT$0DDT$(8 HD$8E MHDHD$0H DT$8DHD$(DT$0DDT$(HD$8E MHDHD$0H DT$8DHD$(DT$0DDT$(LI[IkIs WAVAWH0Lc3MAA?H IIHIAHHBD8A@Eu"IK\$P D$PA#u?A#A@t>tt u #;uD>E@zE#‹ˋ=@t=t3;VEKA;vv\8A\$PHT$PA~DtEA;tW|$PuDE3A誉HtzE33A蘉Hu 1 MvD$P=u  =uE3IAMHtD>E33A5HttY\$PtuD$PAD$P~(DHcHT$PD+HAaF;3H\$XHl$`Ht$hH0A_A^_E3H\$ E333[%HHA@MA @LHd$0D$(A@E@ ARD$ HHH(DtHt!t$.'A"%@H(H(#tetVtGt8tEt!t';tf$! H(H\$Hl$VWAVH0HEAtFt t#-&"%@C#t^=tP=tB=t4=tB=t=t&;tx1#! CtJt>t2t&@t'"&3{@ 3c@s C@t u@uHL$Xu9t$Xt@+t8A#@uC@@tkkK  s K sk@ tk @tkHl$`HH\$PH0A^_^Hd$ E3E333<"H(tKt?t3t'@t!$3 3H(H8s2H8@tHL$@u |$@Hd$ E3E333!H\$Ht$WH HcH _HHH?HHL8HuxytAH舄HHu8tMF3HT$0ft$0DF^uf|$0uH׋~tE33ҋ+Ht3H\$8Ht$@H _HĉPL@LH H(H@DH(LECMK SH@d$(MKIC MKD\$0L$0EˋH@[HHXHhHpWHPH`HHHPIAuC$DH\$@H։D$0LË$H͉D$($D$ HˋH\$`Hl$hHt$pHP_H8AD$(DL$`ELHL$ DAIH8HĉPL@LH H(H@D2H(LECMK SH@d$(MKIC MKD\$0L$0EˋH@[{HHXHxL@UATAUAVAWHhHEMDMwHDEoHAHMfsfI~I L}E@EEAuw GPuT iHd$0LM׋MAHUEHeH]H ]\$(L$ IH EEH]DuHELHA#;uFAt@Hd$0LM׋MADuEHU\$(L$ HM_H MHELHu3HcL=H?HHIǀd8IuQȋHcL=GHʃ?HHI πd8I_ ~]u@uIHcL=HH?H]ILj\8HcH?HHID9At+Du3LmELMMHUE)EEMtDbAHcEHʃ?HHI ψD9HcHƒ?HHI A$d=D=Hu AtHcH?HHIǀL8 A#;AIHMLMHd$0ADEL$(ML$ HM_DuHUH 6HHu3HcH?HHIǀd8_HcH?HHIHT(3L$I[0I{8IA_A^A]A\]H8AD$(DL$`ELHL$ DAI[H8H\$Ht$WH0HHu3H\$@Ht$HH0_HHÀ<uHK%HHtLHSHuHHd$ E3E333H\$ UVWATAUAVAWH0LcLIHP?MIHJHL8(H$Mt A> uL88d88O$IIM; In<< tHHHI;s} uH HH Hd$ LL$xAHT$pHHtf|$xt_HJD88HtL$p u M JL8:@|$p u I;u ,AHA||$p H:tH/ HH$I;J D98@u D98 HI+ދH$H0A_A^A]A\_^]@SUVWATAUAVAWH8LcLIMI?HLA KHL8(H$Mt fD9 uL88d88N$BHHI;Hj fnf;tfHHHI;sfD9MuHfD HH|fHd$ L$AH$HH$LA KD88Hte$fA;ufD H$I;7 f$f 3K HψD:HH|KDL89 H(̋ H\$WH Hu3UHu @u ;u@xtHH;tHuH\$0H _̉L$H8Hcуuo  txX;usPHLi?HHHID8t-HD$@T$PT$XLL$PHT$XHD$ LD$ HL$H  H8H\$WH HcHu3WHu @u ;u@xtuHhH;t\Hu؋HLz?HHHI D8t 3H\$0H _HHHHH\$WH H?HuJH \,3Hu H3+VHHHtHCHH H\$0H _Ht7SH L3H uHH [@SH HHwEu0w Eu$o AA$u s@ HHCEtHf9+tEuf93GAHKHHHf9+tf;=Hf9+tAHKH}\u H /JAHrKHZ\u H/'AH_KH7\uH/Hf9+t8H\$@HHl$HHt$PH0_H\$H|$LL$ UHH`HAHMz@E؉Eu3`DEHMDD$ HuHM(E AHE(`HE(H`(HE(H`HE(H EHM(AHE(H\$pH|$xH`]H\$H|$LL$ UHH`HAHMf@E؉Eu3`DEHMDD$ HuHM(E AHE(`HE(H`(HE(H`HE(H EHM(AHE(H\$pH|$xH`]MH MH EMH 鹸MH 魸MH 顸MH IZMH =ZMH 1ZHD$(E EHDH DT$(6HD$(E EHDH DT$(̋@t2Ã@)̀:t2 ̀:t2 ̋t2 ‰̋t2̀:t2i ̀:t2q ̀:Lt2uIAHËt2HHXHhHp WHPHIHHA3@D$0D$8:tGDD$0HL$pDD$ Hu&D$4 GD$p_H_(H_HH߉GHl$hHH\$`Ht$xHP_HHXHhHp WHPHIHHA3@D$0D$8:tGDD$0HL$pDD$ Hu& D$4 GD$p_H_(H_HH߉GHl$hHH\$`Ht$xHP_H\$WH H_HH3?HHE33HHH\$0H _HH%@ƒ?+3HH3H\$Ht$LL$ WH II؋ ,HLHƒ?@+IL3LSH L>LAЃ?+ڋ3HI3HĻ,H\$0Ht$8H _HH(HLHH LHP HHGH(HIHыH3ƒ?HL1HAй@?+HI3̋HHH̋HHË +@SH LHA@?+HHHH QI3HS6LAЃ?+3ҊHI3HH [Ë *@SH LsLAл@?+IH M3ȍSL zL=AЃ?+3ҊHI3HTH [HL I3LIHIL ILIHIL ILIHIL ILIHVeL ILIHNEL ILIH>%L IL}IH6L yILeIHfIL qIL]IH^IL qI L]IH^IL iI LUIHVIL qI L]IH^IeL yI LeIHfIEL yI LeIHfI%L qIL]IH^IL mIL]IH^IL yILeIHfIL qIL]IH^IL yILeIHfIL ILmIHnIeL ILmIHEL iILUIHVI%L ILmIHnIL IIL5IH6IL aILMIHNIL aILMIHNIL aILMIHNIL YILEIHFIeL IIL9IH6IEL =IL-IH.I%L 9IL%IH&IL 9IL%IH&IH\$Hl$Ht$WAVAWH HHH;L=7IHtHttmM,3IAzHHu <WuE33IYH3HuHIHIHt HHu(HH;j3H\$@Hl$HHt$PH A_A^_HH\$Hl$Ht$WATAUAVAWH DL=MILK0LHAIH3у?HH;%HtHM;uIHtH;tzsM,3IARHHu WuE33I1H3L=cHu HIHIHt HXHuUHI;dL3HtJIH Ht2L@Aȃ?+ъHHI3K0-LבLΑA¹@?+HI3K03H\$PHl$XHt$`H A_A^A]A\_HHXHhHpHx AVH L5rI3Ht HH;HDsI,3HAHHu!WuE33HHHHuHI3HIHt HHH\$0Hl$8Ht$@H|$HH A^HHXHhHpHx ATAVAWH IHLI;L%7IHtHttmM,3IA"HHu WuE33IH3HuHIHIHt H.HuHH;j3Hu3 IHH\$@Hl$HHt$PH|$XH A_A^A\@SH 3AHmHu!2WuE33HH [H%I3H [@SH L GA3L:AH;A*HHtHHH [HH [HHXHhHpHx AVHPAIL @LL@H@HHtWHH$DH$LHL$@H$HL$8H$HL$0$L$(IHD$ 23IDϋ$LƉD$(H$HD$ H\$`Hl$hHt$pH|$xHPA^HHXHhHp HHWH@IIL %@L@H@HHtHHL$PLLƋ0HD$PHD$0LL$$LD$0HT$(D$$HL$ D$(H\$XHl$`Ht$hH@_H\$WH HL ?L?H-HHHtHXJH\$0H _H\$Ht$WH HL >HjL>-HHtHHӋ HӋH\$0Ht$8H _HHXHhHpHx AVH@IIL >LLr>Hs> HHt7HH$LHL$0LƋL$xՉL$(HL$pHL$ I,3ILϋD$xLƉD$(HD$pHD$ H\$PHl$XHt$`H|$hH@A^@SH L = L=H=HHtHHH [HHHXHhHpHx AVH AIL =LL=H= HHtHlDLƋI xZ3H\$0Hl$8Ht$@H|$HH A^HHXHhHpHx AVH AIL l=LLZ=H[= HHtHDLƋI3IwDLƋH\$0Hl$8Ht$@H|$HH A^H\$WH HL =L =H =HHtH_H HH\$0H _HHXHhHpHx AVH0IIL <LL<H<%HHt*HL$hLωL$(LHL$`HL$ I,3IuLϋD$hLƉD$(HD$`HD$ SH\$@Hl$HHt$PH|$XH0A^H\$Ht$WH L H<HH><L*<yHHtHDH E3DNjHYH\$0Ht$8H _H\$Ht$WH HL #<HH<L<HHt$HHHHH\$0Ht$8H _HH\$Hl$Ht$WH AL ;L;HHHHtH`DŋH H9H\$0Hl$8Ht$@H _H\$WH HL p;L\;H];,HHtHH3HȺH\$0H _HHXHhHpHx AVH EAHL +;L;H;HHtHxEDH׋ DH׋4GH\$0Hl$8Ht$@H|$HH A^HHXHhHpHx AVHPAIL :LLv:Hw:!HHtWHH$DH$LHL$@H$HL$8H$HL$0$L$(IHD$ 23IDDϋ$LƉD$(H$HD$ ,H\$`Hl$hHt$pH|$xHPA^H\$Ht$WH L 9HH9L9AHHtH HHFH\$0Ht$8H _H\$Hl$Ht$WH IL 9L9HH9HHt+HLNjHHH\$0Hl$8Ht$@H _HHHXHhHpHx AVH AIHL 39LL!9H"9THHt5HDLHIHH\$0Hl$8Ht$@H|$HH A^HBHHXHhHpHx AVH AIHL 8LL8H8HHt5HDLHIHH\$0Hl$8Ht$@H|$HH A^HH\$WH L a8LQ8HN8]HHt H(H\$0H _@SH L /8L8H 8HHt HH [H\$Ht$WH L 8HH8L8HHt#HHHH\$0Ht$8H _HH\$WH HL 7L7H7lHHtH7HH\$0H _@SH L 6L6H6#3Ht'L 6L6H6KHtH [H(L 4L3H3HH(H(L U6LA6HB6HH(H\$WH L 3L3H3cHHu3MH*HHtL Y4 LE4HF4%HHuHHHH\$0H _H|$H$H=M¹@?+3Hȹ H3HH|$H\$WHPHH3HD$@L 3L3H3HHuvL U4LA4HB4aHHtH,HHu283HHD$0D$8 Hd$ LD$0A HAQׅtʊD$8$HL$@H3qH\$`HP_H\$WH L3ۅt\L _2LK2HL2HHt(Hȉ\$0z3HL$0׃zu H  2H\$8H _@SH u/HH HtHtH#HHH;uذH [H\$WH0d$ _\$$;tnHcHHHuUH tH vH Y4tD$ H]H H0oH HH KH8H$놹)D$ H\$@H0_HL$HAHHD$`HH#;LDAA HA@A#AHuH\$Ht$WH HًA$<uJAtC9+yaHqH1~/DH(u;t KCtc3H\$0Ht$8H _@SH HHu H [@ktC tH }@u3H [̹HHXHpWAVAWH@``|H=ēHcL4AH|$(I;tqHH\$hH\$0HuWH1C t<uH+A;t*D$$$u CtH T$ A;AD׉T$ Hl1H녹4D$ DD$$H\$`Ht$pH@A_A^_H\$HL$WH HHu 1HH1H\$8H _H@@SH HًA t'AtHIc3HCHCH [ÅttøøHHXHhHpHx AVHHH"E3fD9t$bHD$hHHcHp H98L8;=̡O=št^AH;tEH;t?t:u H Ot(HH?HHHH HHA(A8HHHHuL$I[IkIs I{(IA^H\$Ht$H|$AVH 3E3HcH HÃ?HHHHC(HHv K8C8υtt  HHHHv Hf3tHs(uK8@.u)K8#K8@HC(HHt I@I5H\$0Ht$8H|$@H A^@SH  33?u I H [H\$WH 3H=H ;Ht 諧H$;HHrٰH\$0H _H@H(HuoAH(@SH E3HtHt MufD{3H [LL+CfAMIftHuHufD;"3@SH 3Ht HtMufH [LL+CfAMIftHuHuf"@UH Hl$ HxLɃL AI+IML#I;LBI 9tHH;uI+I;uILIM+IL+LWt u H I;uI9tHH;uI+wHH+HIML#I;LBK L;t 9tHH;uI+I;uLIM+WIL+Lfoftfu HI;uI9tHH;uI+eHIL;t 8tHH;uI+H ]@UH Hl$ H+wLLt)HQHH;tE3fD9 t HH;uH+H H+HML#II;LBE3IKXL;tfD9 t HH;uI+HI;uPIIPI+HH+WLJu u H I;uKP fD9 t HH;uI+HwHt+HQHH;8E3fD9 +HH;uH+HML#II;LBE3IKXL;tfD9 t HH;uI+HI;tIIPI+WHH+LJfofufu HI;uKP fD9 t HH;uI+H QIL;tE3fD9t HH;uI+HH ]LHI;t 8tHI;uH+LQHI;tf8t HI;uH+H@UH Hl$ HLLA I+LIML#II;LBIL;t 8tHH;uI+I;uJI+J HƒH+HWtu H H;uK9tHH;uI+wHH ]@UH Hl$ HLLt)H QIL;tE3fD9t HH;uI+H H+HML#III;LBE3K XL;tfD9t HH;uI+HI;uSI@II+HH+WLJuu H I;uKP fD9 t HH;uI+HwHH ]LLAI+LIML#II;LBIL;t 8tHH;uI+I;uJI+J HWɃH+Hfoftfu HH;uK9tHH;uI+HLLt%H QIL;tE3fD9t HH;uI+HÃH+HML#III;LBE3K XL;tfD9t HH;uI+HI;uSI@II+WHH+LJfofufu HI;uKP fD9 t HH;uI+HHw@UH Hl$ HotH ]@UH Hl$ HouH ]foftfofuofof@UH Hl$ HWH ]W@UH Hl$ HwqLɃL AI+IML#I;LBI 9tHH;uI+I;LIM+IL+LWt u H I;uI9tHH;uI+wH+HIML#I;LBK L;t 9tHH;uI+I;u^LIM+WIL+Lfoftfu HI;uI9tHH;uH9tHH;uI+HH ]@UH Hl$ HpLLt+HQHH;E3fD9 HH;u H+HML#II;LBE3IKXL;tfD9 t HH;uI+HI;HIIPI+HH+WLJu u H I;uKP fD9 t HH;uI+Hwt+HQHH;E3fD9 HH;uH+HML#II;LBE3IKXL;tfD9 t HH;uI+HI;usIIPI+WHH+LJfofufu HI;uKP fD9 t HH;uI+!HQHH;tE3fD9 t HH;uH+HHH ]@SH 3HiE3H H ʺtRà rӰ 3$2H [HcH H"H H%G@SH HH H / u߰H [HcH HΓH H%H YH%H IH%H\$T$UVWATAUAVAWH03LHugH=H軏LHt^I;tY@8pL5@L;5@l$puIiLHߌAMtPH95͌tGYHHHH$H0A_A^A]A\_^]@uѺI讽3HaȻL5UMuHH95Ku+Ix3H3蒻H95'tL5MtMIM+I96t4HMI!1uHA<=tA84t HH93I+H I+HHHxWI96tRI @uM<IDIHI94uAHI)3HHtfHk]@HHSH;s HHH;sAI3L萺MtMgI >HtVLHVVu0HH?u3=HH\$@Ht$HH|$PH0A^蟷Hd$ E3E333胷HHXHhHpHx AVH03HHu3HHH9/t HH@H9(uH芷HHt{H9/tQLL+HHHf9,puHNY3I>vI >HtYLHVu4HH9/u3MHH\$@Hl$HHt$PH|$XH0A^誶E3Hl$ E333菶H\$Hl$Ht$WH H=HHHH?t4HLH*uH<=t<t HH;H+H H+HHHl$8HH\$0Ht$@H _HHXHhHpHx AVH H=E3HHHL97t5HLHE(uHfH;HH#HAH;w HH_H+H\$@HH;HH#E3HHtHIHI3LEtt$(LEH\$ FLD$0LEt$(H\$ 蝵LE3M9vAII $fI$IʅHK9uLuAL]DfEdM9AAHHAMfD9tA;h+A'A;AC;tEC!A;tdAC&;t%AC:;HHojuXHw it%t#tAAbAڸmt tAAHHjuHwp%} A+ƒA…uFJ-3HׅtIIB<uHcIH5_>-Hu-HW~BHHD$8HH 3L 8$HHH+HHH/HD7qHKEtEHF80tWDFAyAC-Ad|QASkœDA |gfffASkDDC$u90uHQAE^|$Ht HD$03Hd$ E3E333JyLI[IsWH@t$x3H IICMCICHHD$pIC!DD$4LL$03H׃|$0-DH+HHDH\t%H$LL$0HD$(DHD$ HH\$PHt$XH@_HHXHhHpHx AVH@HT$xHHHMA@ANɀ|$pt;u3HcA>-Hf0A>-u-HHA~$LIB<uIHKH\0HIcFH؅~|HkLIB<uIHH\HD$(HH ANyB|$pu;}߅tHƀ<.uHcLFHHd\LcǺ0HH|$8t HD$ H\$P3Hl$XHt$`H|$hH@A^LI[IkIsAVHPH 3ICIICMCH$H$IC(Dt$DLL$@D$3Ƀ|$@-HAH+HH1HDHWtD$DD;|E;$}H\$Hl$Ht$WATAUAVAWH`MIHLHu^ntMtMtL$Mtы$At CvE2AH$@u*Qt!ILH?LƀDt$ sHA)tXt tL2=AHUEDmE4fHt)I;AHMHHAHHMHd$8HEHd$0LEMAD$(3HD$ H1bDHMLMHd$ HUDSb3҅tkK+MωKD9urbA u4HMЍB HT$ DBHUfELMb3҅t,}r.CCI;K D1>KL0=C\`HHMH3H$HĀA_A^A]A\_^]HHXHhHpHx AVH 3AHHAHHH;sEDp 7f;u)Cf uAfA;uCCHH;s _Hl$8HH\$0Ht$@H|$HH A^H\$Ht$WH Hcًu2ZHH5/H?HHD8tβHH8u H|9tH HT$8HL (`H\$0Ht$@H _H\$Hl$VWAVPtIH+HZ H3H$@HLcIAHH x.A?I#IcHcINt(L;soH|$@H;s$H< u C HLjHH$?H;rHd$ HD$@+LL$0DHT$@I_tD$0C;rH;r4^HH$@H3L$PI[ Ik0IA^_^H\$Hl$VWAVPlHH+HR H3H$@HLcIAHH p-A?I'IgHgINt(L;H\$@H;s1Hf uG f HfHH$>H;rHd$ HD$@H+LL$0HHT$@ID^tD$0G;rH;r]HH$@H3L$PI[ Ik0IA^_^H\$Hl$VWATAVAWpLGH+H2 H3H$`LcHIEHH P,A?MIMIHNd(3#HCM;HD$PI;s-Hf u fHfHH$H;rHd$8HL$PHd$0LD$PH+D$(U H$HHL$ Dȹ34]tI3t3Hd$ H$LL$@DHID+I]tt$@;r͋A+ljCI;3[HH$`H3BL$pI[0Ik@IA_A^A\_^H\$Ht$L$WATAUAVAWH ELHcكu[ [ xt;.slHLIL-*?HKDL08tEq7KDD08u[ j[ EIԋ@8F[ ^[ aH\$XHt$`H A_A^A]A\_H\$ UVWATAUAVAWHH`3ELcHEu3HuZ8Z`wMH)A?MIILmJ B\19C<w AШtBD18 t3ADBAH}VH)JBD086HH98uHS)JB8|09H=)J HUJL1([t{ˀ+!}N$>3L]I; E/AfA;u3]fA uA AfA;uÉ]IM;s XELmEHMLAxH~(J BD18tM˄t2tuyEHMLAEHMLAEHMLAkJL1(LM!}3H!D$ EHHEYu HXEЋ}EEHEH uhEt-uX XM=XH'JBD08@t >{X\X E+H$H`A_A^A]A\_^]HHXHpHx HPUHH HkHUDBAuX HEHHEH AAt W"HEHAt+HE`HEHHEAtHHHHE`HEHHE`HE`HEPu8H]A H;tH]H;u u HMHU@]!@H\$0Ht$@H|$HH ]HHXHpHx HPUHH H3HUDBAuV HEHHEH AAt V"HEHAt+HE`HEHHEAtHHHHE`HEHHE`HE`HEPu8H]AӶH;tH]H;u u HMHU'H\$0Ht$@H|$HH ]HHXHp HPHWH HHL$8LcȋQHL$83ۋHA9H+yHHD$8H ɉH~)HT$8DAHRLHD$8;HHD$0lAAvIHH$?IHHH H ]A8 t3ADBmHuHL$8IAHT$0AH\$@Ht$HH _HHXHp HPfHWH HHL$8LcȋQHL$83ۋHA9H+yHHD$8H H~+HT$8DAHREHD$8;HHD$0flAAvIH?#?IHHH H TA8 t3ADBdHuHL$8IAHT$0AH\$@Ht$HH _H\$Ht$WH HHDCAuS KC t |S"׋CtcCtHCHcKccCu,γH;t迳H;u uHH@$_@H\$0Ht$8H _H\$Ht$WH HHDCAuR KC t R"ՋCtcCtHCHcKccCu,H;tղH;u uHH>]H\$0Ht$8H _H(迤HT$0HHL$0HJHD$0HH(HH\$WH f;u3Jf;sHH+3fL$@LL$0f|$0HT$@ODPtD$0#H\$8H _ËRuHHcH#E3Ht$H|$Lt$ UHHHH3HEDHcIHMҽG=wHEHyHU@.t@uDJ@}E @}DE3T$0ELEfEHEЋH HEL$(HMHD$ vu8Et HEȃ3EA#ƀ}t HMȃHMH32L$IsI{ Ms(I]HE3HALL+IIH;MGMtIHIM;uE3HALL+IIH;MGMtIHIM;uHH)$pH$3$$H$H$H$H$H(HuRO U ~$3H(H(Hu"OT R$3H(H(HuNT $3H(H(MLHtFMtFHtHt9Aw3H#IcLHHA<uHHMu&3H(MtqN*TH(I;v "H(L#IMIH(sKHdJDAAQ+AADAAAADɋD+ʙAH\$Ht$WH HI3HHtHHdHEHH\$0Ht$8H _H\$Ht$WH H3HHtHHHEHH\$0Ht$8H _H\$WH HHHu2MRnA$#HtLcA@W}LH&AL;y-2AAi€yFD3D;|&AD+D;|D+AӸD;|AD+AˉSLE.EAAi€SDH"LEIJEHI9|E+˸E.DKIcA+S /$Ic ʃk+ȸųAKA iSDAAkHHt$LD$8L )HHL$@4uH33H=HH\$0H _H\$UVWAUAVHH0H-E3HM8Du8HDu@~HM@ H Ht&LHL+F A+uHEuWj=HHHD84 uH=3HeD=H YHHD84;uHWL#>:HDhE͍P@LA/D83t HHu;-@@tHHBiU8<+t,0< wH;:uLHHBU8k<щU8<9 HÊ<0};:u"HHBU8ЉU8<9 HÊ<0}@tډU8D83AE@tHNMLú@i t ,HFD0]8x]@^H\$`H0A^A]_^]E3Lt$ E333EE3Lt$ E333EE3Lt$ E333EE3Lt$ E333EE3Lt$ E333wE@USVWHHH3HM(u(H؉u0u88HM0iHM8CH _>;H kH5Ln>k Nt9u@u H@p?H@0HE@AHD$8LHC3Ht$0D$(?HD$ >t9u@u HC@p?HC@0](z]0`]8^HH_^[]E3Ht$ E333CE3Ht$ E333CE3Ht$ E333CH\$Ht$WH@H3H3H$0L 3A5HT$0HL$ 蕛uH|$0N"tHDHL$ 9HHu 3C9LD$ L AHHL$(LtH39HD$0HH;HDHt@87t H TH8H$0H3L$@I[IsI_H(u)HN{u s{H(@SH Hٹ{HعT{H [H(zx-{H(HT$LBIL9sztHcB HrLHT$BH Htf9t HHfHD$@HD$`HD$HH\$Ht$ HT$UWAVHH@HH3HEfMHnt=HM(wnt/H](HfnHcL5 HHPn?HIH0@933ɉ]]Mu)DDCHUHMt DEEAEDE@uHE(IcLHLL9s9XuD;@ LHE(DEAHHcхxHHDHHE(yDED@HE(`HE(HEHMH3;H\$pHt$xH@A^_]HHXHhHpHx AVH Hf;BROuHuHHG u_Hlt8Hlt+HlHcL5HHl?HIH@8t H`HGHHH9suJHcG Hr@HG HtHHf9(tHHHHf(GgOH\$0Hl$8Ht$@H|$HH A^H\$HT$WH H3Hu8w>"HHpHH\$0H _H\$WH BHڋ u}HkLcHLJAIvMIA?HIMLAx9u$AAvII?HHIB=t7=ltCKuuH{uH@HH;Cu {tHHCH Ht @88t HH@8CcK@H\$0H _H\$HT$WH Hڋ3HuG7=HHӋHvH\$0H _H(##t$=t=t+ H(H(%H(HHHHXHhHpHx ATAVAWHPE3ILHAHtMu3fD!Hu]6Cfwf Afwf Hft9f;t2HT$(THT$(Hv@Hftf;t+@8l$8t HL$ H\$PHl$XHt$`H@_H\$Hl$Ht$WAVAWH03HHHu(-3Ht>E|$(DH>AH|$ AAL3g%Lcu'S'IH2$HHt=Dt$(ALHD$ 3A"%u&'HHHH#H\$PHl$XHt$`H0A_A^_H\$Hl$Ht$WAVAWH@3HHHu"',3HtFDH|$8DH|$0Alj|$(AH>AH|$ L3]'Lcu&Q&I3#HHtGH|$8AH|$0LDt$(3AHD$ 'u%&HHHH"H\$`Hl$hHt$pH@A_A^_Hx"HH@SH HH _"H#H [3H9HH!H3H9@SH HH "H#H [H\$Hl$Ht$WH @#3HHtLHH;t=Hx0HOE3IJHOH7G G g @wH@HGH;uH3!H\$0HHt$@Hl$8H _HtJH\$Ht$WH HHHH;tHa%H@H;uHLcewA;0tqt~!3HM}}}1RHMP,HMoHc}+AQDCAADAAAADɋD+ʙ HcHAHcHimHcHHHcEH RH IHkH\$`Hl$hHt$pH|$xHPA^HHXHhHpHx AVHPALHC@|3tHt H@t @uJ؃@tdH|$(LL$0L6|$ 3Lt$03H\$8t$@|$DHHtE3Hu|$DHt H'Au3@HDMH>H\$`Hl$hHt$pH|$xHPA^E MHH c=E MHH =E MHH ;=E MHH =E MHH =E MHH =@SH DIHLHQ3uN߃@t^H|$(LL$0L|$ 3Lt$03H\$8t$@|$DHHtME3HH˅t /|$D?u3>HDMH;H\$`H|$xHl$hHt$pHPA^HHXHhHpHx AVHPALH?@d3tHt H@t p=u2߃@t^H|$(LL$0L|$ 3Lt$03H\$8t$@|$DHHtME3HvH˅t/|$Dt>u3=HDMH;H\$`H|$xHl$hHt$pHPA^H;s3H;H;s3H;H\$HT$UVWATAUAVAWHH`3HHu_WH:H99EH}tWH HUPfEP*?@}R^H HuLME33 LEHDu HH9;LeHuHuLLeHIH}PH+LLIIHHHI;HGIHt%LIHA8<uIHLIL;uLMPAIIΟHHtwJLHUHHUXI;tVHH+HMMMIC8<(uH+IHUPMHEHEXHMHUJ9IIHEXM;uHEHDH3 ILH+HHI;HGHtI HMH;uH AH$H`A_A^A]A\_^]E3H|$ E333LH\$UVWATAUAVAWHHHӼH3HE3HUHHu_WH:H99EH}tXH HUE*?f}H HuLME33 LEHeDu HH9;LeHuHuLLeHIH}H+LLIIHHHI;HGIHt&LIHfA9L҃ uA7AIEA>A3AHAAH̋A3E3HAE3H3H\$WH@HHL$ bHD$0Ht xuAE3H=3ɀ|$8t HD$ H\$PH@_̋A3E3HAE3H̋A3E3HAE3H̋A3E3HAE3H̋A3AW{HAAWH_A3EAIHAHEA1̋A3E3HAE3HHH@SH HH Ht H#H [3H9@SH HH Ht H#H [H(H(3HHf9AuH AHf9uHAH33H9HHXHhHpHx AVH@=E3HHHfD90tHHfD94FuH4FHfD96uLt$8H+Lt$0HHLDDt$(3Lt$ 3HctLHHHt/Lt$8DLt$0LÉl$(33HD$ tHIIHfIHt HoH\$PHHt$`Hl$XH|$hH@A^H\$Hl$Ht$WH >3HHt[HHf94HuHHHf90uH+HHH,HHHtLHHlH3HH\$0HHt$@Hl$8H _HHHHHHH@SH HH cH#H [@SH HH GH#H [HH!HH!@SH HH H#H [@SH HH H#H [H({DHT$0HHL$0HFHD$0@ H(H(KDHT$0HHL$0HEHD$0@H(H(DHT$0HHL$0HEHD$0H(H(H(CHT$0HHL$0HrEHD$0@H(HH@LI[IkIs WATAUAVAWHH~H3H$L83IKHI[DDDMLa H\$XsA9$u3Ld$ AIKߡHb3HD$X~E3LcH֋13LOH֋3H;Hֹ3L$H9\$XMM MHI͋ÈH=|A $H$$$IH8MM\$@D$PA$D$8D$0HL$(3ɉD$ D@/hqA$HH8MM\$@AD$8D$0HL$(3ɉD$ g,9t$P~58$t,H$8t Q HcB( ;~H8YuA$I\$0AD$(MHL$`HL$ 3Dd$PIfA^]AHD$hD;~?8$t6H$8t*QHcAfEG;~H8YuIIAAOA I0AG AO0A@IPAG@AOPA`AG`LApHAG HApAAI AGA0AO I@AG0APAO@I`AGPAO`IGpAxAGxA|fAG|AxAAAA ANA0AF A@AN0APAF@A`ANPApAF`ANpAFxA|fAF|A~AF~xE M0E @M0PE@`MPpE`MpEx|fE|~E~HHtN;uCHHnHAI+YHI+JH>HD$X0HHD$`HHD$hHIHHHDg$HL$XIIHIMHHtHxUHHHWHHHMYH3qH$H31L$I[8Ik@IsHIA_A^A]A\_HDHH@SH HH +H#H [HH!@SH HH H#H [HSH HHIH; tHK H; tHK(H; tHK0H; tHK8H; tHK@H; ztHKHH; ptmHKhH; ~t[HKpH; ttIHKxH; jt7HH; ]t"HH; Pt HH; CtH [H\$Ht$H|$UATAUAVAWHH@3HMHDH]H9@uH9HuDL5YtAAe3LMuAI͋?3L]Mu IPH9@RHI3L,Mu IIH@IFLHD$ AHMA5IN AHL$ LHMAՋIN(AHL$ LHMA HMIF0ALHD$ AՙAMn8LLl$ HM AQ贙APHM LIF@HD$ AQ蓙AQHM LIFHHD$ AQr HMIFPALHD$ 3S HMIFQALHD$ 34 HMIFRATLHD$ 3 IFSAULHD$ 3HM HMIFTAVLHD$ 3ט HMIFUAWLHD$ 3踘 HMIFVARLHD$ 3虘 HMIFWASLHD$ 3zAHM LIFhHD$ AQYAHM LIFpHD$ AQ8AHM LIFxHD$ AQAHM LIHD$ AQAPHM LIHD$ AQϗ IAQHD$ LHMAQ諗 t*IcIWIOIGgIU38 A< w0 AI8u;uLIHALuAHAHAN@ AF H0AN0@@AF@HPANP@`AF`@pAD A HDIDAHHIHHHINHHHINHHHXINXHHH`IN`E,$MtE/HHtHHt$uHHL3LLL\$@I[0Is8I{@IA_A^A]A\]E3HD8 t A< w0 HD8 uÀ;uLIHALuHtfSH HH H; t^HKH; tLHKH; t:HKXH; ;t(HK`H; 1tH [HHXHhHpWATAUAVAWH@3HHHHXH9HuH9@uDL5DLHuSHzAHAN@ AF H0AN0@@AF@HPANP@`AF`@pAD A HDIDs3L)Mu ImA$H9HH>3LMAHL$0HHALLt$ INAHL$ LHL$0ՋMnALLl$ HL$0 ǓAHL$0 LIFXHD$ AQ襓AHL$0 LIF`HD$ AQ胓 tII,IIU3 A< w0 H8uS;uLIHALuHLIHIFHIFH͘IFXHʘIF`A,$MtA/HHtHHt$uHsHgL3LLL\$@I[0Ik8Is@IA_A^A]A\_E3HD8 t A< w0 HD8 uÀ;uLIHALuHv̺j̺ ^̺R̺F̺ :HH@SH HH H#H [3H9HH!H\$Ht$WH 3HHHH+HHH;HGHtH 2HH[H;uH\$0Ht$8H _HH\$WH HPHu HA;HHtHH6u H3HHH\$0H _ǃ\H3H\$Ht$H|$ UATAUAVAWHH@LPLE3HUILe0IEl$1AHE0AMи%I$E+Mºk+ȋIHMHD$ K EMIG8MHHMHD$ ' HMI`EHMƺHD$  EMIMHHMHD$ ڏ AHm0EA8IEeHGMEM HD$ HM蛏EH|$ MHM 耏 EM HMHD$ HM[ HMH`EMHD$ < HAIpI0Mƍ{&HD$ DύSHM _I8DEl$HD$ MHMADHM {IMHD$ 辎 HMIDMHD$ 蟎 DcI@EMHD$ AHM{ {IHDMHD$ AHMX HMIPDHD$ MA3 DKIXM3HD$ HMEHM EeIAMHD$ IDHD$ MHMAύIDHL$ MHMA 词L\$@ I[8Is@I{HIA_A^A]A\]3H9@SH HH /H#H [HH\$Hl$VH HًHK8uHKpxHjH0U[H@HHHPH`)HH H0HUHPHDH8H,H\$0Hl$8H ^H\$WH HPHu H<RHHu3HH>uHH&3ǃ\H 3H H\$0H _E3LfD9Ht)MfE9tAf9tIAfuHfD9H+HMu3ftf;uHHIu +@UATAUAVAWH`Hl$0H]`HuhH}pHzH3HE DEHMHMFuHEp EMċ҃d$(Hd$ Lcu3IHHOH;HHtuHOH;HH#H=HGw:H;HH#HAH;w HHH+H\$0HtyH;HH#_HHtH3HtHL3H[EDt$(MH\$ .tLDHA3HtHK9u}t HEHM H3IH]`HuhH}pHe0A_A^A]A\]AHHtHHtHHtHHtHA8AHÈH9Pt HHtHxt HPHtH IuH yH\$Hl$Ht$WH HHHtyH fH;tmHHta8u\HHt9uH~HHt9udHHLH@HHtG8uBHHHH+HH+HH H(H{8HvH9GtHHt9u HHtHOHt 9uHH HuHH\$0Hl$8Ht$@H _fHtH<8H;t\øHt0SH H8HH;t\u H H [HtH7H;t\øH(HADIHHtDHHtDHHtDHHtDHA8AH!H9Pt HHtD Hxt HPHtD H IuH 5H(H\$WH 'H xt HHu6HHө&HعHuSHH\$0H _H\$WH HHtIHtDHH;uH9HH-Ht"H{uHH;tHH3H\$0H _H\$WHH̀H3H$IHHL$0U~2IHD$03IfB9H\$Ht$WH0HzH3H$ H AxLD$0HKHҁ3usFIH HT$0u-IIfB94OuIHXLǺUu4KCЃH$ H3hL$0I[Is I_E3Ht$ E333SH\$Ht$WH 3HHHtVf91tQHlSStAHdSH@u$HX DNLD$0t0D$0+HcLIK&蘡u IL$II y}u;~Hl$HHt$PH\$@H|$XH A_A^A\HHXHhHpHx ATAVAWH0IHLE3HIDcLXL3H{fE'HfD9 tLAT$H rEHHfD9 tMHfD9 t D9cuALH A@tHHfD9 t D9cIH؅|HtHH IfD&IfG9$OuIMǺUH$DH@LźHt{HA@LǺHtZ_H観HuP.H薳HtA@LHAQ|tA HEA3H\$PHl$XHt$`H|$hH0A_A^A\E3Ld$ E333H\$Hl$Ht$ WH HuH3H$HHHHLD$ Axȋҁ3ۅuCCHHT$ 蟞u$H Nf;1tHHcH rwwЃH$H3L$ I[Ik Is(I_H\$WH HHL3HHf9HHH`uu!ODNLD$0 1t-D$09HO/OLD$0A u3D$0uH\$8Ht$@H _E3L HAAfA;tDIIcH r3H\$Ht$WH 8LD$0A  HwE3҅u3S;\$0tHtDLEAIIBfv fafw AHHHfE9AuD;tH\$8Ht$@H _HHXHhHpHx AVH 3MHx0I+HcHHHTזt+y_w;~2H\$0Hl$8Ht$@H|$HH A^HHHHI@USVWATAVAWHH@HlH3HEILLH3HEEHME3HHILHHtfD9 t<H :LDeHHtyfD9 tsHHtfD9 t HM HMD9e=:LH 6HHtfD9 t HMwHMlHHtQfD9 tKHHHHfD9$HuHAH 7EuDeEEED9eIIHUHH#Q؅MMtAMHE3AqUDHtdMH E3DM@DLǺIt9MLDκ-tHDNDF3HMH3{H@A_A^A\_^[]H(HT$0HHL$0H HD$0HH(H\$Hl$Ht$WH IHHHt3HBHI;sK 3AHt pH3HHHHHtH;sH+H 8L3裓HH\$0Hl$8Ht$@H _H9H(&HH$H(H%H H\$Hl$Ht$WH HHH;u\HH+HtHՄt HH;uH;tH;t-HH{tH3Ht H3HHCH;u2H\$0Hl$8Ht$@H _H\$Ht$WH HH;t&HZH;Ht HX3HHCH;uH\$0Ht$8H _Hh@ƒ?+3HH3HihHыH3ƒ?HLQhHAй@?+HI3H1h@ƒ?+3HH3HE3HALL+IIH;MGMtIHHIM;uHH uH\$WH H.HHtHYHӅt3H\$0H _@SH 3Hg˃?H3H3HH [H\$WH H3lHDgƒ?HH3ՐH˹@+HH3H=3HH\$0H _Hf@ƒ?+3HH3H\$LL$ WH I Hf˃?H3{Hˋ%HH\$0H _HH(HLHH LHP HHH(HqfHыH3ƒ?HLYfHAй@?+HI3̋HËHË I̋ HfH3Џ?HH\$WH ٹHeƒ?ȅHuLH3~LxH3qHHr@+3HH3IHu3Ht HӸH\$0H _̃t/t ttt3HHHHՎE3HALL+IIH;MGMtIHHIM;uH HH 9Jt HH;u3HH(w r HH(HLH(MKMCD$8ISD$@IKH(H H H H H(O HH(H(; HH(HSVWATAUAWHHE3D!h@@$t"t ttqAviDk LHu"HH HH 9yt HH;u33HuǶ耼HY@2@$?t3t t tt3"HHHHڌH$@t 2@tHcʃ?H3HLL;I$Mu@t AO=VA w@As:IEH$HD$0IeuV@$D$ @u2Hh HIEH a HHHD$(H;t1H`HH6bƒ?@+3HH3HA @t |$t3auHIHҋSAIHuЋA׃ wAsH$IEu$HHHA_A]A\_^[H\$H|$Lt$AWH0LHBHD`2E3AO[tu:=ъu1H t #HHt3L`AЃ?ML38IL|$ It@+IM3L0!t I  HHtL=L98u&H L HHtL8IHUH HLMJH;t9xt HH;u3HZHPLItN I;t9zuL2HHJI;uIw r HH\$@H|$HLt$PH0A_@SH I3LL8L$Pt-LRM3A vW0AHI…tH;rH;rAx"0 AIAA AIAIM;r3H [H\$WH 3ILLҋ@8|$PtO-f LROM3A vfWf0fAHItH;rH;rfA;ر"萷'fA:IAA fAIfAIM;r3H\$0H _@SH HI3LL8L$Pt-LRHME3I vW0AHIHtH;rH;rA2" AIAA AIAIM;r3H [H\$WH 3HILLҋ@8|$PtO-Hf LROME3I vfWf0fAHIHtH;rH;rfA;莰"F'fA:IAA fAIfAIM;r3H\$0H _@SH0EDHu6H0[MtDL$`AHHHL;w "AB";wDL$`AEH0[@SH03EDHu輯tH0[MtDL$`fAHHHL;w 胯"AB";wDL$`AEH0[@SH0ELHuBH0[MtDL$`AHHHL;w "AB";wDL$`IEH0[L@SH03ELHuȮ耴H0[MtDL$`fAHHHL;w 菮"AB";wDL$`IEH0[j@SH03HA uHyEȈD$ IHH0[H83A uHyD$ H8@SH03HA uHyEȈD$ IHH0[H83A uHyD$ H8@SH03HA uyEȈD$ IHH0[H83A uyD$ H8@SH03HA uyEȈD$ IHH0[H83A uyD$ EH8@SH03HA uyEȈD$ IHH0[H83A uyD$ }H8@SH03HA uyEȈD$ I]HH0[H83A uyD$ H8@SH0ED$ IHHH0[H8D$ H8@SH0ED$ IH&HH0[H8D$ *H8@SH0ED$ IHHH0[H8D$ H8@SH0ED$ IHrHH0[H8D$ H8HHXHpHxLp AWH0IHL H3ۋMuT uIHtHHtH+LHtNHH88uHH'IHu MHHuHtH> H\$ E3E333ðH\$@Ht$HH|$PLt$XH0A_HHXHpHxLp AWH0IHL D3ۋMuPvIHtHHtHLHtOHHf9xuHǺH"IHu MHHuHtH> H\$ E3E333辯H\$@Ht$HH|$PLt$XH0A_H\$Ht$H|$AVH0HLHu)gH\$@Ht$HH|$PH0A^H!HtH"MtI-HHu3HHÀ<uHH$IHu LHHu HtHHd$ E3E333ˮHHXHhHpHx AVH03HLHu.艨AH\$@Hl$HHt$PH|$XH0A^H)HtH*MtIHHu3HHf9,XuHúHCIHu LHHu HtHE3Hl$ E333@SH H3Hu躧s3<3H=tӹ hHHع HH [@SH H3HuN3<3H=tӹ HHع :HH [H\$Ht$WH H@HHtWHtRHHǀ<>uH8t?H HH<uH;v<9=uLHt HH;HHH3H\$0Ht$8H _H\$Hl$Ht$WH Hl@3HHtXHtSHHf9,~uH9(tAH HHf9,AuH;vfHFE3I֋YHP3H\$@Hl$HHt$PH A_A^_賛8u ɛ 辛Hˋ8yE3HӋHLzHuz OHHT$L$USHHHLcAu xtD;$nskIL j?IHHID8tHHy՚ AHEDE0HELM0HE DELEHEHUHM(蒚 誚 bHH[]H\$Ht$L$WATAUAVAWH EDHcكuF ^ xt;ImslHLIL-6i?HKDL08tEuKDD08u ڙ EAԋ0v趙 Ι 臟H\$XHt$`H A_A^A]A\_H\$Ht$L$WATAUAVAWH ELHcكuZ r xw;]lsoHLIL-Jh?HKDL08tHtHKDD08u EIԋHuHǘ ߘ 蘞HH\$XHt$`H A_A^A]A\_H\$Ht$WH HcAˋVwHu菘 7DNjHЃtHLfg?HHHId8H\$0Ht$8H _H\$Ht$WH HcAHvHu HSDLD$HHH"u8qHD$HHtHLf?HHHI Ȁd8H\$0Ht$8H _LI[IsWH0d$X3AHcD$\MCIS HDHuSd$XLD$X3HDωD$\HetH|$X~!HT$ E3E3HB 묋D$XH\$@Ht$HH0_H(ELD$Hu$]HHD$HH(#cH(d$0HT$0 D$0H(H(Huj#luى l3H(H(u * Bx.; is&HcH eH?HHHD8@ 褛3H(H(bMLE3ɅuyMtlHu貕kH(HtL+A Afwf DA@fwfA HIt ftfA;tADD+AH(H(HHXHhHpHx AVH@E3IHHAMHu躚HtIHL$ HD$(L98u:H+>Cfwf Afwf HHtDft?f;t8HT$(=BHT$(-BHvHHt ftf;t+D8t$8t HL$ H\$PHl$XHt$`H|$hH@A^DE3ACAʙL+HcHB+ tyDHD@E;~̓HHXHhHpHx AV3L54DHACHU+LcIHN 1I+BJfwf A Afwf IHt ftf;t+tyEXEPE;~ IHADH\$Hl$Ht$ H|$(A^E3LLMtDL+C Afwf ABfwf IIt ftf;tDD+AH\$Hl$Ht$WH0IcDHu u Huy3yE3H-AC +AHcH+)tyDPDHE;~ՃxHUHHlHH~;}HLHuGH\$@Hl$HHt$PH0_Hd$ E3E333H(Ht"xHH=sHH 63H(H\$LL$ WH II؋ TmHHcHHHLt`?HID8t$pH|3ۅu)H9 mH\$0H _HH(HLHH LHP HHSH(̋HHH̋HË m@SH HL_HcHHH?HID8t&\oHt3jHяz H [̋ )l̉L$H8Hcуu K lxX;9csPHL-_?HHHID8t-HD$@T$PT$XLL$PHT$XHD$ LD$ HL$HA 蛕H8H(\LLE3ɅutHu諏dH(HtIwL+CBfwf A Afwf IIt ftf;t+H(H(HHXHhHpHx AVHP3IHLMu3Hu跔HtL;vՎ莔IHL$0HD$8H0HuCL+A >Afwf Bfwf HHt ftf;t+-t$(DMH|$ Nu BX@8l$Ht HD$0H\$`Hl$hHt$pH|$xHPA^̋ [jVE3HHXHhHpWH`HHIHHIHu3HtHu訍aH;v臍@cHD$HH0HuLL$HLHHV;@HL$HD$8L͉|$0AHt$(|$ Qu "X|$Xt HD$@L\$`I[IkIs I_@SH ;3҅uf_uH [@SH :3҅uf_uH [@SH@HL$ fHD$(HQ%|$8t HL$ H@[̺:̺:f u@ú@j:̺ ^:@SH I:3҅uf_uH [@SH :3҅uf_uH [ú9̺9̺9̺W9̺9̺9̺9̺9@SH@3HL$ 0HD$(HQ%|$8t HL$ H@[̺V9̺J93f;f u@ú@"9̺ 9̺ 9̺8̺8̺W8̺8̺8̺8̺83H9@UATAUAVAWH`Hl$PH]@HuHH}PH6H3HEHc]`MHUEH~HI_O;ÍX|DuxEuHDp DMA҃d$(Hd$ gLc{IIHHJH;HHtrHJH;HH#H=HBw7H;HH#HAH;wIHFsH+Ht$PHH;HH#˅HHtH3HDd$(DMHt$ AHd$@EHd$8LHd$0AL}d$(IHd$ HcbAEtREpN;DHd$@EHd$8LHd$0AՉD$(IHEhHD$ 觮 HHHJH;HHtvHJH;HH#I;HBw>H;HH#HAH;w HHqH+H\$PHH;HH#uHHtH3HtsHd$@EHd$8LHd$0AՉ|$(IH\$ ڭt2Hd$83H!T$0DϋEpLA΅uf!T$(H!T$  u`HK9u觃3HtHN9u菃HMH3EEH]@HuHH}PHeA_A^A]A\]ÉD$(HEhHD$ HK9uGH\$Ht$WHpHIHAHL$P$HL$XD$@Lˋ$DljD$8H֋$D$0H$HD$($D$ 3|$ht HL$PL\$pI[IsI_@SH 3Hu^HtEAOHH;w -"MtIQHA0DEtHA0DHAEx:5|0HȀ89t91uAAIIB8\uIHQp3H [@USVWATAUAVAWH$HHHM2H3HH AHD$XLD$PT$8D$HHT$HLLL$@I4AMHHHH#HH#HE#AAKK,ȉ|$dEVrEH D#|$hDd$ A։T$`3Džp;UE3BDdB9?ED;ud$(D[EA AAAIA+HA+DAt3D+AAE;AA;AA;u EtA2AEArA;DBE;tWEE+C<A;rHD;sFTdE3A@;sTd3A#ԋED#AAA CTdA;tT$`3Et ddA;uEAFDEE3Dž4ADd$ D0DDt$`hd$(D[EˍBAAA IEE+AHA+ދDdDAt3D+B E;AA;AA;u EtA2AEArA;DBE;t\EE+C<A;rMD;sFTdE3A@;sTd3A#D#AAAA AE‰TdCA;tT$`3Et ddA;uEAFDEE3403Džp; E3BDdB9ED;ud$(t3A D+D;AA;s DDdE3A;sTd3A3ЋA͉TdA;tT$`AHE3AD+Dt$`HLWD@θEIDD0M7H4L;Hk d$(BDdt3A D+E;AA;A;u EtA2Aubu^ArA;DBE;t?A;s DDdE3A;sTd3C3ЋA͉TdA;tT$`EAFDEE3Dt$`+H3HLVD~@ϸL3V"詅D0EAHD$4DD$$&ED;DGDl$0AE""#"ً3HLÍHVH H "HHLHHjDAuE3D0EE3LE3B4AIHLB4I AE;uEt40ss0D4D0AE3D02D0A4MIED0Mt@H4L;wHiL3T-~"D0EE3LE3B4AIHLB4I AE;uE;H4ELH4LDEEEEHHDE3E3HT$(DECtA…u!E;B!EzD3EEAAstfE;uAOCȉA9EAHHBHA9HBDH A;tHT$(딅tNAslE;uAAAAAӋHЉDH څuAsHT$(AE;EID0Mt@H4L;wHgL3R|"ׁD0Dd$$Dl$0E+HDd$$5D$4|$ +A"t{EE3DE3B4AIHLB4I AE;uEtA0ss)0D4D0AE3D0E3D0D0{AL$0HԧD$(DD$$&ED;DGDl$4AE""#"ً3HLÍHTQH mH "HHLHHdeDAu E3Dt$`EE3LE3BLdAIHLBLdI AE;uEt)|$`ssD$`DDdDt$`AE3Dt$`2sDt$`gA\$dMIED\$`Mt<HL$dL;wHdL3=Py"QDt$`EE3LE3BLdAIHLBLdI AE;uE;HL$dELHT$dLDEEEEHHDE3E3HT$HDECtA…u!E;B!ErD3EEAAstfE;uAOCȉA9EAHHBHA9HBDH A;tHT$H딅tNAsZE;uAAAAAӋHЉDH څuAs HT$HAE;EIDt$`Mt<HL$dL;wHbL3>Nw"R}Dt$`Dd$$Dl$4E+H+Dd$$bL$0D$(+A"tbEt~E3DE3BLdAIHLBLdI AE;uEtH|$`s|$ s.D$`DDdDt$`ADt$`.Ht$@d$`Hދ|$ Ht$@d$`H}Dt$`|$ Ht$@HEtgE3E3BDdH ALHFDdAI E;uEt;|$`ssD$`DDdD$`%Ld$`HL$dE3ɺH0HL$`{ 1H^EE3E3B4H ALHF4AI E;uEtZ0ss0D40;L0H4E3ɺ'u0H^HD$PL$88x wHD$XHȋH;HBHH;A DT$`EE3E3BDdHiʚ;AHLBLdI AE;uEt;|$`ssD$`DDdD$`%Ld$`HL$dE3ɺ\H0HL$`WzDLD+AAD*AH0DE;rA DD;uHH+I;IOHH;HH3K2HĸA_A^A]A\_^[]@SH H9<uC H9CHH [H(ytq9H(DLLD;t23Et#HBL B9LuA;uDE3LLD;t2AEtHBLB9L uA;u39H\$Ht$H|$AVH LH3HLI@H|$@BD3FH\$0Ht$8AIH A^@USVWATAUAVAWH$(HHuH3HHL$8MHL$`LL$PMLD$p7D$`E3<uDl$hHL$`78D$hH\$8HHMwH# HIHɃ AHu,Iu'H@L+IEoCo HL$88tAG_7HAH#H\$8D$8D$XHT$XL‰t$LI4MHMI#IL#LE#A*8a7,DuAEI D#DuADd$0A҉U3Dž($p ;aEAȋD9$JED;uD[Dl$8EˋAAA+IڋHA+ADAtA+AAD;AǃsAsuAEuAAEArA;DBE;t\EE+C<A;rGD;sFTE3A@;sT3A#ԋED#AAA CTA;tUAE3AEtADlA;uEAFDEDu E3EDmDžTDd$0ADPD D(td$8D[EˍBAADIE+AHA+ڋDDAt3+B D;AăsAsu EtA2AEArA;DBE;t\EE+C<A;rMD;sFTE3A@;sT3D#AAA#AD DTAECA;tUE3AEtDlA;uEAFDEDu E3EDmT,3Dž($p ; EAȋD9$ED;uADl$8tA+;AA;s DDE3A;sT3A3ЋA͉TA;tUAH$E3AD+DuHL DD@EǸI$E3DPD M=HTL;H$XBDl$8DtA+A;AssuAEuAAuhudArA;DBE;t>A;s DDE3A;sT3C3ЋA͉TA;tUE3AFEDEDu E3EDmAH$+3ҋHLBD~@EǸ$IL3Bl"qDPEAHD$HDD$@&ED;DGDl$DAE""#"ً3HLÍH$ 0BH IH "HH$LHH@VD A$uE3DP EE3LE3BTAIHLBTI AE;uEt4PssPDTDPAE3DP2DPATMIEDPMt@HTL;wH$JUL3@Yj"pDP EE3LE3BTAIHLBTI AE;uE;HTEL$HTLDEEEEH$HDE3E3HT$8DECtA…u!E;B!EzD3EEAAstgE;uAAJBȉBEAHHBHBHBDH A;tHT$8듅tNAs~E;uAAAAAӋHЉDH څuAs0HT$8AE;EIDPMt@HTL;wH:SL3>Ih"nDPDd$@Dl$DE+HٔDd$@4D$HE3|$0+A"EEEDAAATIHLTI E;uEtNPss6PDTDPADPE3EDPEDPuDPiAL$DHD$8DD$@&ED;DGDl$HAE""#"ً3HLÍH$ j=H H "HH$LHHzQ $u E3DuEE3LE3BLAIHLBLI AE;uEt%}ssEDDDuAE3Du2hDu]A]LID}Mt:HML;wH$PL3_HHL$@VE3HL$@E33fVuVW\;G蜤HHuKW`W3 ۅ$DHL$@HHuH3踅HHH\$0Hl$8Ht$HH _H\$ UVWH0HH3HD$(3AHEyV\3t!ruVV %؅tf@D$":.f\$ f|$&D$ .Ht~Df>HHL$ sE3HL$ E33UuUU\;GMHHuUV3 茄$DHL$ HHuH3iHHHL$(H3H\$hH0_^]H\$Hl$Ht$WH E33E3HaT3uTU3X;غG蓢HHuBUWU DHHHt HHHH賃HH\$0Hl$8Ht$@H _H\$Hl$Ht$WH E33E3HS3u+TdT3X;غGHHuTT DHHHt HHHHHH\$0Hl$8Ht$@H _H\$WH AHEuFTY35LE3ɋR;r T"݅u^SSHH\$0H _H\$WH AHEuSY35LE3ɋR;r S"݅uR+SHH\$0H _ALLIE3H%8RALLIE3H%(R@SH0H H3HD$(vS.S X343ۅuC)f@D$":\fL$ HL$ f\$&SËHL$(H3H0[H8d$(DHd$ H3A^H8H8d$(AHd$ >H8H8d$(DHd$ H3AZH8H8d$(AHd$ :H8fL$UHHPf;HMHEL8MuUBfwif cMf;s)-uUAHEUH,AHE DL$(LEIHD$ $UtU }t HMHP]35HXH1H3HD$@3LH LswD HH |HL IL AuAAɃHT uIEEu3HL$@H3HXI E3H\$WH@HHHuPsV3bHtH;sIHL$ xHL$0yuH%HSHH;w DuHH+ʃH+Hˀ|$8t HL$ HH\$PH@_H('T3ɄH(@UAVAWHpHl$@H]PHuXH}`LehHH3HE LMHAHMƼHEE3E3ID` qHcu3HHHJH;HHtyHJH;HH#H=HBw>H;HH#HAH;w HH99H+H\$@HH;HH#KHHtH3HtODLËIKqt;DEpAAHHd$8Hd$0I#DD$(AHT$ L3dO3HtHK9uJ}t HEHM H3 H]PHuXH}`LehHe0A_A^]@SUVWATAVAWHH+H3H$H$03AMLH>LL$@D$ DIHc؅tCWH+L3HIJH9>HCLcLD$@HZ3)MzE3ɉ|$ DIILcIϺKHHt%LD|$ DIIat HHHHIt;u;E3E3IoLctQIϋQKHHtELIYo랅u)|$0LD$0DI9ot D$0H$H3 HA_A^A\_^][E3H|$ E333RD 3DE+uH+fEtHD DE+tEyH(HuvL/RHH(L3H "H(H%KH(Hu:LQHH(L3H r"H(H%KHHXHpHxLp AWH MAHHٹ 轊KD8DHH3t IK0!HuHtHxHHIKD8 車H\$0Ht$8H|$@Lt$HH A_HHXHpHxLp AWH MAHHٹ 3KD8DHH3t IK0!HudHtHxPHIJD8 H\$0Ht$8H|$@Lt$HH A_HHXHhHpHx AWH0HAAHHH8Au TH HIXt3H膪tHt;t!HH<uH;rHt"dLHHVGum3NiHt?HxHHt6HHuQIG3HFHHtLI Gt6 H\$@Hl$HHt$PH|$XH0A_Hd$ E3E333OHd$ E3E333OH\$Hl$Ht$WATAUAVAWH0IcL% E3HHAAM94uAA@G3I]EIHfD93uAIHt3HXtHt=t#HHfD94CuH;rHtfD6"dLHHv|uo3NHt?HxPHt6HHuIIF3HDHHtLI+|t7 H\$`Hl$hHt$pH0A_A^A]A\_E3Lt$ E3333NE3Lt$ E333NH\$Ht$WH0HHٺ.HHuM2H\$@Ht$HH0_H;rH+H;v3HqHDB$kHtH+A$HHL=uHd$ E3E333MH\$Ht$WH0HHٺ.e6LHuM2H\$@Ht$HH0_H;rH+HH;vIp3HDB$kHtLA$L+HIHI+LΚuHd$ E3E333LH H H%DH\$WH HcH=4H<uD3HBHH\$0H _H\$WH HcH=H<uVD3HsBHH\$0H _H\$Ht$WH0bHHt~HйHwcHޅtt uutsHH+EA$LH_u1HH< uf .0D 2H\$@Ht$HH0_Hd$ E3E333yKHHXHhHpHx AVH0HcHE3L94uAVL;HH#HAH;w HH%H+H\$PHL;HH#8HHtH3HtTD|$(DMH\$ A]9t2Hd$@EHd$8LHd$0UHMD|$(H\$ 'Y3HtHK9u 73HtHO9u7HM(H3WHe8A_A^A]A\_^[]H\$Ht$WH`HIHAHL$@$HL$HD$8Lˋ$DljD$0HH$HD$($D$ |$Xt HL$@H\$pHt$xH`_38tH;t H<u@SH HC3H [@SH d$0Hً d$4KHL$0D$09u D$49Cu3H [@SH d$8Hكd$<HL$8wt"HD$8HL$8L$8Huu3H [E3D$HT$HHH#H@CH;AH;rHH;v~HH?H;s+HtbMtHHD$D$FiH= t&H=@tH;u0HE'HE HEHE HEHE HE HE 0HEHu8H }@t3HE!P HE0HEHHEH`HE!P`HEHPHHMAA A#A HE0HHEHHHEH`HUB`A#B`HEHHPP3LMDBHMAtH3AtH3 AtH3 AtH3 AtH3 t0ttu(H `H3 H+H3H+ H#}@tAPHAPHH\$8Ht$@H|$HH ]HHHD$xD$0HD$(HD$pHD$ HHH(tAw&" !H(\$ T$SHPL IE39tAH ~HH;|3 IcHIDH$HD$(Ht\D$pD$0D$tD$4D$xD$8D$|D$<$D$@$D$D\$ XHL$ uD$@6 $HP[@SH =؃?MH [H\$Ht$ WH HHD$8с## ωL$0=t%@t L$0t$8H\$@Ht$HH _@SH H? ËH [H(?H(D$HL$H0ff#D$ HD$ fD$H0f#ff fL$D$(D$WLf.z u3HD$LI0fDT$H uE3ɹf/AAu$D$ D$ yD$ D$tT$D$f#fD$Et f fD$D$D$HD$H0f#D$?f fD$D$JL$L$HD$H0f#º?f fD$D$D$ff#ȁA ùD$HD$H0ff#f+D$HD$H0D$f#ff fD$D$D$HD$H0f#D$fff fD$D$D$HD$HH u uÁu uAHH0fA#fA;uAfA;uut3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%D%6%(%%%^%P%B%4%&%% %%%%%%%%%%~%p%b%T%F%8%*%%%`%%dLcAF@UH H} u"HcMHHHH?HH€d8MH|H ]@UH HHEHH ]E@UH HH ]E@UH HH ]E@UH H3H ]E@UH H3H ]E@UH HHEHH ]kE@UH HH ]RE@UH Hꀽt 5EH ]@UH HH ]E@UH0H H0]D@UH0H H0]D@UH H H ]D@UH H H ]D@UH0H H0]D@UH0H H0]D@UH HHM@fH ]@UH HH ]LD@UH HHEHH ]@UH HMPH ]@UH HMPH ]|@UH HHEHH ]b@UH HHEHH ]C@UH H H ]C@UH H H ]C@UH H H ]C@UH0HHM0yu HM0eH0]@UH HH8t 8t3H ]@UH HH8t 8t3H ]@UH HH3Ɂ8H ]ooppooooorj`j`oNo>o2o&ooopokll$l8lNl^lrlllllllllmm&m>mw0kkvvvvvrvXv>v2v&vvvuuuuuuuluXuDu,uukkkkxklk\kvDkk kjjjjjjjvtwttttpppppqq8qRqhq~qqqqqqqr*rBrZrrrrrrrrrrss&s6sDsTsvssssssssstt&t8tHtZtjttt0pmtmhmnnnnnnnnrndnVnDn2n n nmmmmmmmm\pnpLp@@ܕ@@̕@2@@@@}@4@@3@+dWnOA AlGRWpO6a'wj5ObFÅm]rLwx,aOMG  ķ]v+qAO pO]և+DW^ Oor;owLf[MEĀv*cMjVDEs"@0(9A8L7ʸ!A9mG-*+$%|QOz)(BF\G aUFEzfCNItwׄtxM NI{@ >K]TKFad4Cz "zOy|I)sO>BqB 7 EC)t0ō*M^2mFT }jL^6CTv]=D%OcgP0 V A H FFPB,ɨ=$HܨEye64Bl OUᏢWU]O ɊFiyŜ?Oɝa3K@~OqK M;rG¸E\\GNˇbo-XCMtY&h~vIsB U[6J[CS[bHNAF"JL G:7՝5F3+zFO${aύtA^?UX&I}!<OGFV;&OF}P($IZ^9&M[OrWG 35w~s5i+.bi;'~.gC\[bGEրEv+0PoSi)!@'QL.JifrtgHU;aއ-+ o.Eцf@"nO :i+00.PRO—-2NfHyu M7?eEd9Ē^F{w@=TR%9O'HKlqt} {ҜJ3F̉.|-!CQ7o֩Cmy4[ _eOkmM]`g.H iVFO#A,\V׉#G`` E%6QM\vWNVM.^R FHsp^QmOpNr-O&oORO%e{HqC,㟽$\E9 Ot<&KA>=a-kQG^),=Nk.4qa޼^Ol^\`U;MW.I|Kg+*U6F:(Y;J\FЗ4mc/4*&{-@`ެ)F#Ϋ>/ICVJNztI6FOEг@wiKw^ Ҩ\I;%Sjc(=O'>OСFVe\Kz~|Tn9{ŞC $&;ل.CZ0YctXT9bq^F*O !:i+00iI~+.ͩ _@^A% xSiMEQ 3߷;`[}N8úGˢ)w]+.DJQ3(9O>ܥ>G2A`tpZdfapHUeі[/tAxC(DW@Xzvi>VMYFDAtKpȞ&Aõ*.7V`Ɔ'":i+00hXt_vJ)v ؂تI'9Y:Oh7 e.{ JOe/+dWnOF]K $Lb`wG:J'Ws5i+.b!\_[CP2nD\HC*v CBg (#4DLe+.b1 ъ*Bp2r%9Y:Oh7ա΋!  Hl?<W>OrAGQ`{FL>!OL'`g$$/4EjfqJ1B*)l6ٿMp.лչL@mIh.6]PO,1Dl4L~ɋ@J7<}iFs5i+.b1IkLIC'+I~vph}OUEK}4@ VqzeG'{-F4plTI?rF֔hJuAtXJQ x;>VfNr@"=3uw-NFEH/дtF5K@~OqF9tRNNgɆ󝚫N_3haO1FIFS2IEt$c^NIe2$53QB`ϝk(ԺCy&|=HF5ꥂG)]/qNnwmjKDWw? jY>4'r`F$<;{dFP0 F:̿,LB)隇AxWObDcq# ۅ>eL:er=mG)fR IC0hxU*TK Ix5i+.b^5N$̈cpH|t$ HNOiNㄐi3O < zO1I( W0\"F-V ևA)F Wt חb@Z|KJAVgq@L\J7.jxO`OK #@;>VFhP}N<)ѪF $aOBd-@y#uLKdqkPCU .4z]bM I]Ft Ox_xrd_w~LNdL֬F4Ku@ +К#FlHi"k1%B T #8ƪd_NM&uf4Lc'wj5Obx8WFTpj7BWGCQl2FiM^eQI+Idʏ[FFFFF F F!FFF0:s *Dw= F`k;Yi+-z1OY ȿ4<OV% X$5I?#3:O4j;Yi+-zj;Yi+-zi;Yi+-zv nr=F>FDF[F"FFF0F1F2F3F%F)F*F0:s*Dw=IF y.Y+FGFHF:/ۆ/O:/ۆ/O:/ۆ/O:/ۆ/O:/ۆ/O:/ۆ/OFFFFU 8r+C+n4@FacH&8FvCj?e~ҦFFF&FF F FFk!Pi)? F F F F FFFFFPF%FQFFFF@Fʙ^AiXשFh Mm8gh z0Gd<O8m xO4yOԒMm8gh &FEFǝv\Wސy(_FF4F Z'B>âRX0eu{ڮP9Vu{0ne0E Kvne yOܦϫ|x O jIOQnO09$-1.E^*onePone |~|?ne? PE^#1$-?W2$-?W2$-pw~?neg@ne˳j@ne˳j@ne?W2$-~{S^BEy|KDphKΔӳOհrIOC'zO{TxhO{lhO6ǀ_`\`OOrOh7y) Oh7BTyI6 EZ{ْ?i]?9A!8ҏFs%E~2]r?jdN&6u^gO!B> 9}Nr*GݓkFN]ͷghhϓgAc*^Z%Ȕ2AeqKW';?B@ J$SQ`Ɔ(œO>1s-O(hHjxOi QD(ߥl+ rˆLmCBUa{Ӱ~C.`1 y/DĊY F;aAdƼ403bpc(Jg Дէ{E] E)ПS-oEH?syYz(y K@AXGA'qQU AJ s Y!WOZ{*lg(M2(TfC'>|a.  O;O.K[K8H]҇26 -&{-r: %wCjW'tVamy!@iaWBVm`ɠI-`:Bn5OC(K鞟^ﯘ=ѕK0:ښL%2J4{[kYs=BMQ!B\[/B{NsASÖ.̆I#t9JDf?kјH"tŻ-Gs?zZAe!`[ǽ6NXX$  KiiőԞ(LqmjK H(.~,-Y@o3\.Q Cpg{LKI s<_z\ LKo(t;sM|@)^vJYӞ~+IzÊChsxDpWJ?,CP0DOAoZ\q"tDk׾ TLrTIkE a`NNe76_I|kHrYM>s: .jxOˡd:aDX7iii9P5}+EutX(T6QB~ۜC]_#ͼ_Ld=xr|խhG2`?uIp4Bf6חKt3OtaG'"v0 SNwL1"(iv@ YGح+ObC4`[ԄLr?RJ{,AsEOWL"O7v8yOhKKt&1Zs~:6 B}Ftr⋪GMv2̤ pDʹfD.b[GvtH; zr\GڙYkH?FA&OA;,Ui6 IJ"x9J4ܵ;EfDװqmrE.1!YuY&HxHϣ'GVBeUNOخ|)IE@0lyדسDg,ݠeL3"5/QqCAwSk5 X;-3B{_41lxpOh6ǾƱLb VBPoz5zD #D@Fgm[M/BT|\?@zpDF[0 49Z I}AaB}KX䌠%D|DZ#`ڽWvGE>ςZ#@k{X8&oI Qd5CvSdn0@DH&'E4VwҁnB*O&-bfMlV!j hFXapf_:qJ?򥸿2cpF^W5}3ƔHjiOY<0G== 6eFpqFwHҶe_K#q}kdO-pV+UN;;z5Og5е.Í}DwMm3sG%`4n.8E40yvF'6я]A.VGމJ=PpZd1FOЊ ĽFK6eJ7`, :i+00Fh3MnMܙS{5)xKt O3CKsw`$D&l;0MHֿRUBu(dT&arrCuƋ.|uU:WPHw[ێ Z܊M`* !sG3^F0MJSkyZ 8y M3,/KqI\M;TQ'CHCh4-6C$/`zLbeLWwR"F)JȬ պFD-ʀr33yHȅF/_~_INK R(N伽I@܏Uo#RH kM?'kaIõ}EFVxCEg{Sl"vM`3)/#RW$ZI/Փg3wB$hŨ"IΕL?vk΄e}IƼ8-F"DDm'Cb**+C ,R[09|)J=AxB:RC%jAyiȳO^7q2hK_Lrz=*Fŗ5WIZgnMI/~o& IFk"t% 0H Ng4f/`CU7%(Lx#h>5qM?w;E9eZJ 57BxsCU3@@@@@@8@advapi32api-ms-win-core-fibers-l1-1-1api-ms-win-core-synch-l1-2-0kernel32EventRegisterEventSetInformationEventUnregisterEventWriteTransferFlsAllocFlsFreeFlsGetValueFlsSetValueInitializeCriticalSectionExP @` @h @x @ @ @ @ @ @ @ @ @ @@ @ @ @ @ @$ @( @, @0 @8 @D @H @L @P @T @X @\ @` @d @h @l @p @t @x @| @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @8 @X @x @ @ @ @@ @H@h@@@@@@@@@ @0@P@p@@@@@8@`@@@@@@@0@P@h@@__based(__cdecl__pascal__stdcall__thiscall__fastcall__vectorcall__clrcall__eabi__ptr64__restrict__unalignedrestrict( new delete=>><<!==!=[]operator->*++---+&->*/%<<=>>=,()~^|&&||*=+=-=/=%=>>=<<=&=|=^=`vftable'`vbtable'`vcall'`typeof'`local static guard'`string'`vbase destructor'`vector deleting destructor'`default constructor closure'`scalar deleting destructor'`vector constructor iterator'`vector destructor iterator'`vector vbase constructor iterator'`virtual displacement map'`eh vector constructor iterator'`eh vector destructor iterator'`eh vector vbase constructor iterator'`copy constructor closure'`udt returning'`EH`RTTI`local vftable'`local vftable constructor closure' new[] delete[]`omni callsig'`placement delete closure'`placement delete[] closure'`managed vector constructor iterator'`managed vector destructor iterator'`eh vector copy constructor iterator'`eh vector vbase copy constructor iterator'`dynamic initializer for '`dynamic atexit destructor for '`vector copy constructor iterator'`vector vbase copy constructor iterator'`managed vector copy constructor iterator'`local static thread guard'operator "" Type Descriptor' Base Class Descriptor at ( Base Class Array' Class Hierarchy Descriptor' Complete Object Locator'CV: ::template-parameter-generic-type-`'`anonymous namespace'''`non-type-template-parametervoid`template-parameter...NULL%d`template-type-parameter-`generic-class-parameter-`generic-method-parameter-}' }' `vtordispex{`vtordisp{`adjustor{`local static destructor helper'`template static data member constructor helper'`template static data member destructor helper'static virtual private: protected: public: [thunk]:extern "C" ) char short int long unsigned void volatilestd::nullptr_t std::nullptr_t,..., throw(cpuamp, charshortintlongfloatdoublebool__int8__int16__int32__int64__int128char16_tchar32_twchar_t__w64 UNKNOWNsigned const volatile`unknown ecsu'union struct class coclass cointerface enum volatile const & && cli::array<cli::pin_ptr<)[{flat}{for s @,@,@,@ @'@@@@(@\@@ @'@@@@'@@\@ @ (@@@ ?? EEE50P( 8PX700WP `h````xpxxxxEEE00P('8PW700PP (`h`hhhxwpwpp(null)(null)        ! 5A CPR S WY l m pr   )    Tc-^k@tFМ, a\)cd4҇f;lDِe,BbE"&'O@V$gmsmrd'c%{pk>_nj f29.EZ%qVJ.C|!@Ί Ą' |Ô%I@T̿aYܫ\ DgR)`*! VG6K]_܀ @َЀk#cd8L2WBJa"=UD~ $s%rс@b;zO]3AOmm!3VV%(w;I-G 8NhU]i<$qE}A'JnWb쪉"f37>,ެdNj5jVg@;*xh2kůid&_U JW {,Ji)Ǫv6 UړǚK%v t:H孎cY˗i&>r䴆["93uzKG-wn@  _l%Bɝ s|-Ciu+-,W@zbjUUYԾX1EL9MLy;-"m^8{yrvxyN\lo};obwQ4Y+XW߯_w[R/=OB R E]B.4o?nz(wKgg;ɭVl H[=J6RMq! EJjت|Lu<@rd 6x)Q9%0+L ;<(wXC=sF|bt!ۮ.P9B4Ҁy7P,=87MsgmQĢR:#שsDp:RRN/M׫ Ob{!@fu)/wdq=v/}fL3. iLs&`@< q!-7ڊ1BALlȸ|Rabڇ3ah𔽚j-6zƞ) ?IϦw#[/r5D¨N2Lɭ3v2!L.2>p6\BF8҇i>o@@w,=q/ cQrFZ**F΍$'#+GK ŎQ1VÎX/4Bycg6fvPbag ;s?.❲ac*&pa%¹u !,`j;҉s}`+i7$fnIoۍut^6n16B(Ȏy$dAՙ,C瀢.=k=yICyJ"pפldNnEtTWtøBncW[5laQۺNPqc+/ޝ"^̯p?m- }oi^,dH94X<H'W&|.ڋu;-Hm~$P  %-5 > H R ] i u -C Y p        %  d'@Bʚ;minkernel\crts\ucrt\inc\corecrt_internal_strtox.h__crt_strtox::floating_point_value::as_double_is_double__crt_strtox::floating_point_value::as_float!_is_doubleINFinfINITYinityNANnanINFinfINITYinityNANnanINFinfINITYinityNANnanINFinfINITYinityNANnanSNAN)snan)IND)ind)SNAN)snan)IND)ind)SNAN)snan)IND)ind)SNAN)snan)IND)ind)Visual C++ CRT: Not enough memory to complete call to strerror.Visual C++ CRT: Not enough memory to complete call to strerror..exe.cmd.bat.com./\?*   Runtime Error! Program: <program name unknown>... Microsoft Visual C++ Runtime Library(@\)@\/ )@/mscoree.dllCorExitProcess)@v@)@(@v@*@(@\@ *@(@@8*@(@l@P*@(@`@LC_ALLLC_COLLATELC_CTYPELC_MONETARYLC_NUMERICLC_TIME  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~=;;=C_.,_.@`@@d@X@\@@<@`@|@@@'@|'@@4@@@4@L@@D@H@@@@\\\.\.TMPTMPmsvcrt.dllccsUTF-8UTF-16LEUNICODEccsUTF-8UTF-16LEUNICODE@-@-@@-@.@`.@.@/@@P/@/@/@0@`0@0@ 1@p1@@8@1@api-ms-win-appmodel-runtime-l1-1-1api-ms-win-core-datetime-l1-1-1api-ms-win-core-file-l2-1-1api-ms-win-core-localization-l1-2-1api-ms-win-core-localization-obsolete-l1-2-0api-ms-win-core-processthreads-l1-1-2api-ms-win-core-string-l1-1-0api-ms-win-core-sysinfo-l1-2-1api-ms-win-core-winrt-l1-1-0api-ms-win-core-xstate-l2-1-0api-ms-win-rtcore-ntuser-window-l1-1-0api-ms-win-security-systemfunctions-l1-1-0ext-ms-win-kernel32-package-current-l1-1-0ext-ms-win-ntuser-dialogbox-l1-1-0ext-ms-win-ntuser-windowstation-l1-1-0user32AreFileApisANSICompareStringExEnumSystemLocalesEx GetActiveWindowGetCurrentPackageIdGetDateFormatEx GetEnabledXStateFeaturesGetFileInformationByHandleExGetLastActivePopupGetLocaleInfoExGetProcessWindowStation GetSystemTimePreciseAsFileTimeGetTimeFormatExGetUserDefaultLocaleNameGetUserObjectInformationW GetXStateFeaturesMaskIsValidLocaleNameLCMapStringExLCIDToLocaleNameLocaleNameToLCID LocateXStateFeatureMessageBoxAMessageBoxW RoInitialize RoUninitializeSetThreadStackGuarantee SystemFunction036am/pma/p - : +% 8@$8@(8@,8@08@48@88@<8@D8@P8@X8@h8@t8@8@8@8@8@8@8@8@8@8@8@8@8@8@8@8@8@8@8@8@8@8@9@9@9@(9@49@89@@9@P9@h9@x9@9@9@9@9@9@9@9@9@9@9@9@:@ :@8:@@:@H:@P:@X:@`:@h:@p:@x:@:@:@:@:@:@:@:@X:@:@:@;@;@(;@8;@P;@d;@l;@x;@;@;@;@SunMonTueWedThuFriSatSundayMondayTuesdayWednesdayThursdayFridaySaturdayJanFebMarAprMayJunJulAugSepOctNovDecJanuaryFebruaryMarchAprilJuneJulyAugustSeptemberOctoberNovemberDecemberAMPMMM/dd/yydddd, MMMM dd, yyyyHH:mm:ssSunMonTueWedThuFriSatSundayMondayTuesdayWednesdayThursdayFridaySaturdayJanFebMarAprMayJunJulAugSepOctNovDecJanuaryFebruaryMarchAprilJuneJulyAugustSeptemberOctoberNovemberDecemberAMPMMM/dd/yydddd, MMMM dd, yyyyHH:mm:ssen-USINFinfNANnanNAN(SNAN)nan(snan)NAN(IND)nan(ind)e+000 ((((( H   !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~ ((((( H ( 0SunMonTueWedThuFriSatJanFebMarAprMayJunJulAugSepOctNovDecTZE@F@F@8F@HF@hF@F@F@F@F@F@G@(G@@G@XG@hG@xG@G@G@G@G@G@G@G@H@(H@hG@PH@`H@xH@H@H@H@H@H@hG@H@hG@I@ I@8I@XI@pI@hG@No errorOperation not permittedNo such file or directoryNo such processInterrupted function callInput/output errorNo such device or addressArg list too longExec format errorBad file descriptorNo child processesResource temporarily unavailableNot enough spacePermission deniedBad addressUnknown errorResource deviceFile existsImproper linkNo such deviceNot a directoryIs a directoryInvalid argumentToo many open files in systemToo many open filesInappropriate I/O control operationFile too largeNo space left on deviceInvalid seekRead-only file systemToo many linksBroken pipeDomain errorResult too largeResource deadlock avoidedFilename too longNo locks availableFunction not implementedDirectory not emptyIllegal byte sequence+I@I@I@I@ja-JPzh-CNko-KRzh-TWO@ENUO@ENUO@ENUO@ENAP@NLBP@ENC0P@ZHH8P@ZHI@P@CHSPP@ZHHxP@CHSP@ZHIP@CHTP@NLBQ@ENU8Q@ENAPQ@ENLpQ@ENCQ@ENBQ@ENIQ@ENJQ@ENZR@ENS0R@ENThR@ENGR@ENUR@ENUR@FRBR@FRCR@FRLS@FRS8S@DEAXS@DECS@DELS@DESS@ENIS@ITST@NOR T@NORHT@NONpT@PTBT@ESST@ESBT@ESLU@ESO0U@ESCXU@ESDU@ESFU@ESEU@ESGV@ESH(V@ESMHV@ESNhV@ESIV@ESAV@ESZV@ESRV@ESU W@ESY@W@ESVhW@SVFW@DESW@ENGW@ENUW@ENUAW@USAW@GBRW@CHNW@CZEW@GBRX@GBR X@NLD0X@HKGHX@NZL`X@NZLhX@CHNX@CHNX@PRIX@SVKX@ZAFX@KORX@ZAFY@KOR0Y@TTOW@GBRXY@GBRxY@USAW@USAamericanamerican englishamerican-englishaustralianbelgiancanadianchhchichinesechinese-hongkongchinese-simplifiedchinese-singaporechinese-traditionaldutch-belgianenglish-americanenglish-ausenglish-belizeenglish-canenglish-caribbeanenglish-ireenglish-jamaicaenglish-nzenglish-south africaenglish-trinidad y tobagoenglish-ukenglish-usenglish-usafrench-belgianfrench-canadianfrench-luxembourgfrench-swissgerman-austriangerman-lichtensteingerman-luxembourggerman-swissirish-englishitalian-swissnorwegiannorwegian-bokmalnorwegian-nynorskportuguese-brazilianspanish-argentinaspanish-boliviaspanish-chilespanish-colombiaspanish-costa ricaspanish-dominican republicspanish-ecuadorspanish-el salvadorspanish-guatemalaspanish-hondurasspanish-mexicanspanish-modernspanish-nicaraguaspanish-panamaspanish-paraguayspanish-peruspanish-puerto ricospanish-uruguayspanish-venezuelaswedish-finlandswissukususaamericabritainchinaczechenglandgreat britainhollandhong-kongnew-zealandnzpr chinapr-chinapuerto-ricoslovaksouth africasouth koreasouth-africasouth-koreatrinidad & tobagounited-kingdomunited-statesACPOCP  6 - h@h@h@h@(h@0h@8h@@h@ Hh@ Ph@ Xh@ `h@ hh@ph@xh@h@h@h@h@h@h@h@h@h@h@h@h@h@h@h@ h@!i@"W@#i@$i@%i@& i@'(i@)0i@*8i@+@i@,Hi@-Pi@/Xi@6`i@7hi@8pi@9xi@>i@?i@@i@Ai@Ci@Di@Fi@Gi@Ii@Ji@Ki@Ni@Oi@Pi@Vi@Wi@Zj@ej@j@j@(j@8j@I@Hj@Xj@hj@xj@ ;@ j@ j@ j@j@j@j@I@I@j@j@k@k@(k@8k@Hk@Xk@hk@xk@k@k@ k@!k@"k@#k@$k@%k@&l@'l@)(l@*8l@+Hl@,Xl@-pl@/l@2l@4l@5l@6l@7l@8l@9l@:m@;m@> m@?0m@@@m@APm@C`m@Dxm@Em@Fm@Gm@Im@Jm@Km@Lm@Nm@On@Pn@R(n@V8n@WHn@ZXn@ehn@kxn@ln@n@n@I@n@ n@ n@ n@n@o@o@(o@8o@Po@,`o@;xo@>o@Co@ko@ o@ o@ o@ o@ p@ p@ p@; 8p@k Hp@Xp@hp@xp@ p@ p@ p@p@;p@p@p@p@ q@ q@ (q@8q@;Pq@`q@ pq@ q@ q@q@;q@q@ q@ q@q@;r@ r@ 0r@ @r@; Pr@$`r@ $pr@ $r@;$r@(r@ (r@ (r@,r@ ,r@ ,r@0s@ 0s@ 0 s@40s@ 4@s@ 4Ps@8`s@ 8ps@<s@ <s@@s@ @s@ Ds@ Hs@ Ls@ Ps@|t@|t@arbgcazh-CHScsdadeelenesfifrhehuisitjakonlnoplptroruhrsksqsvthtruridbesletlvltfavihyazeumkafkafohimskkkyswuzttpagutateknmrsamnglkoksyrdivar-SAbg-BGca-EScs-CZda-DKde-DEel-GRfi-FIfr-FRhe-ILhu-HUis-ISit-ITnl-NLnb-NOpl-PLpt-BRro-ROru-RUhr-HRsk-SKsq-ALsv-SEth-THtr-TRur-PKid-IDuk-UAbe-BYsl-SIet-EElv-LVlt-LTfa-IRvi-VNhy-AMaz-AZ-Latneu-ESmk-MKtn-ZAxh-ZAzu-ZAaf-ZAka-GEfo-FOhi-INmt-MTse-NOms-MYkk-KZky-KGsw-KEuz-UZ-Latntt-RUbn-INpa-INgu-INta-INte-INkn-INml-INmr-INsa-INmn-MNcy-GBgl-ESkok-INsyr-SYdiv-MVquz-BOns-ZAmi-NZar-IQde-CHen-GBes-MXfr-BEit-CHnl-BEnn-NOpt-PTsr-SP-Latnsv-FIaz-AZ-Cyrlse-SEms-BNuz-UZ-Cyrlquz-ECar-EGzh-HKde-ATen-AUes-ESfr-CAsr-SP-Cyrlse-FIquz-PEar-LYzh-SGde-LUen-CAes-GTfr-CHhr-BAsmj-NOar-DZzh-MOde-LIen-NZes-CRfr-LUbs-BA-Latnsmj-SEar-MAen-IEes-PAfr-MCsr-BA-Latnsma-NOar-TNen-ZAes-DOsr-BA-Cyrlsma-SEar-OMen-JMes-VEsms-FIar-YEen-CBes-COsmn-FIar-SYen-BZes-PEar-JOen-TTes-ARar-LBen-ZWes-ECar-KWen-PHes-CLar-AEes-UYar-BHes-PYar-QAes-BOes-SVes-HNes-NIes-PRzh-CHTsrj@B`i@,`@qh@p@@@@@@Ђ@@@@@ @0@C@@P@`@Hi@)p@@ki@!@ch@@D@}Ѓ@h@@E(h@@G@0h@@H8h@(@8@H@IX@h@j@Ax@@h@@JHh@@@@Ȅ@؄@@@@@(@8@KH@X@Ph@ h@x@@@@@ȅ@؅@@@@@(@8@H@X@h@x@@i@#@ePi@*@l0i@&@hXh@ Ȇ@Lpi@.؆@s`h@ @@@@M(@8@i@>H@i@7X@hh@ h@Nxi@/x@th@@@Zph@ @O@i@(@ji@ȇ@axh@؇@Ph@@@Qh@@Rhi@-@ri@1(@xi@:8@h@i@?H@X@Si@2h@y(i@%x@g i@$@f@Xi@+@m@i@=Ȉ@i@;؈@i@0@@w@u@Uh@(@8@TH@h@X@i@6h@~h@x@Vh@@W@@@ȉ@h@؉@Xh@@Yi@<@@@v(@h@8@[i@"H@dX@h@x@@@@h@@\t@Ȋ@@@@h@(@8@]i@3H@zj@@X@i@8h@i@9x@h@@^@nh@@_i@5@|W@ ȋ@bh@؋@`i@4@@{8i@'@i(@o8@H@X@h@x@@@F@paf-zaar-aear-bhar-dzar-egar-iqar-joar-kwar-lbar-lyar-maar-omar-qaar-saar-syar-tnar-yeaz-az-cyrlaz-az-latnbe-bybg-bgbn-inbs-ba-latnca-escs-czcy-gbda-dkde-atde-chde-dede-lide-ludiv-mvel-gren-auen-bzen-caen-cben-gben-ieen-jmen-nzen-phen-tten-usen-zaen-zwes-ares-boes-cles-coes-cres-does-eces-eses-gtes-hnes-mxes-nies-paes-pees-pres-pyes-sves-uyes-veet-eeeu-esfa-irfi-fifo-fofr-befr-cafr-chfr-frfr-lufr-mcgl-esgu-inhe-ilhi-inhr-bahr-hrhu-huhy-amid-idis-isit-chit-itja-jpka-gekk-kzkn-inkok-inko-krky-kglt-ltlv-lvmi-nzmk-mkml-inmn-mnmr-inms-bnms-mymt-mtnb-nonl-benl-nlnn-nons-zapa-inpl-plpt-brpt-ptquz-boquz-ecquz-pero-roru-rusa-inse-fise-nose-sesk-sksl-sisma-nosma-sesmj-nosmj-sesmn-fisms-fisq-alsr-ba-cyrlsr-ba-latnsr-sp-cyrlsr-sp-latnsv-fisv-sesw-kesyr-syta-inte-inth-thtn-zatr-trtt-ruuk-uaur-pkuz-uz-cyrluz-uz-latnvi-vnxh-zazh-chszh-chtzh-cnzh-hkzh-mozh-sgzh-twzu-za01#INF1#QNAN1#SNAN1#IND:Yw/Ml;Zx0Nm?&{?x?5q(7>PD?%>b?>@??`??UUUUUU???UUUUUU????TUUUU?ƺ?Q#Ib?]4? ?0wG?`!?@?@Y?]??i?`÷?0?v?0ϸ?@'?m?ع?Щ0?_?pߺ?6?䍻?0?@:?p??}?? ?0>?0i?@A?pc?l?D???0Q ?P-?PIO?@p?0?@'?I?X?S?`:7?`X?x?p|??Н??0s?;?P[?`&|???pw?`? ?P?p(?7?0kE?S?+b?p?@~?`? R??๷???P?2? ??pD ?B?9(?*6?PD? " = .3i=W~ =imb;D=W>6Z= y+>>IԭwJ=07?v>Gb=M>Q= z >p=QW.>n[>p)=m6W>OJK>C>*f>8=pT=: r>]'p>qw>` '>M>[^j7>Kb|j>:bβ> >ޔ0>1k>A >+^=lg=)>,ļ,+>De}=7W`@>`z >~|'e>_M>`>1<. />:+>Os&>൏= MǛ/#> yHs=nX>JR!>11Y@/>58d%>_>)MJ$> " > H *>eVM>cQ6 !>6'Yx=%R>jtm}S=` '>Z>U&>䮿Y >?h/>77:ݸ$>a~>I{,>Y)>6{1n>Ur Vr.>Tz3&>Ra+f)>0'C>6Z d >' 4 >yU>^!-=j c?>cQ.> 5b#)>^x8o2>Lj[;>vj"=:1J<>s|d>f3>fvw=>;H9>&X;>7Y9>> 'S5>*StO9>T'4>K Z >`'>%%>΋.>Tu .(!>ʧY3p >%@~+>!n03>Pu?>d׌5>>t"v:>R=>X̤/> Ң;>[ >["`=>7>ː#>>6>\.>9Ir,>X>z8>4&/> VYS9>HVo6>a"$>S= 5>VaR:>V8>(. 0>D=Yc%>2x.&>>=K~Je#>!Ix[>dn-/!> 9٭7>qb(>aIbQ=cQ6 1>v+M<7>=*>!ư*>f[t0>To ->Or=)a ?>ė=l(>> "I c(>\, =F ET5>m0;>9lߙ%>6>ȨmG4>?7>*y W3>ay;>V >bp(=>?gҀ8:>})36,>8!> ;>PӽD8>j`&‘+>+&z*>nOv>h=O>yu`=GQ~f=oj37>k>/>dn9>hS=q)i5>m"e=?~X3>6>Tz36>J`?>!T4<> 0A8>cքBC?>6t9^ c:>VB4>ٲ6>*:8'>0<>Rm=1>"3>PkY)>'._M >5*=4<,BF>^G*>`JK&>.yCB )>O 'L>[.xJ>Hfy\PD>!MԩL>|b=})>\ >vc [1>H')>dL?>Z|F>Ni;>_j+>yC>O@L)>uzKs@>D>He@>5A3>N;kUr=CA > p.>EK>VR>>e kE>fvwM>`7nH> eF>tH/>ѤL>ev[%>J A>@ _A>pP&V6E>`"(5~7>ҹ@0$>y{@>W9oM>W L> փJ>W p0> lD>#,=>B_!">}tM>'>+Ai=1I!>u|KN> c0iN>/پA>+h->|ۈ:>r-4@>%>b?>@ ??? ?۠c?qBJeD? #D%?|?E??z?g1?Pt?t:W?sy:?????ہv`?#?4,Tw?ru\?AA?[,'?tn ?ƿD\n? V?m?^?BZ&?qq?I єX???.9&???+?{>e?к?#+?3=l}?e?O贁N?JH7?ـl@6 ?"1K ?(?^?pp?/?cj`?Y0Q?mЦm?JhAW?AA?Ň*,?Kz??3?-hk?N?U$?? /?r p?w \?H?,4?)I ?ՐO ???7zR?0?:bο?k??J?'t?aa?xO?ݾz?[R֯?Jv?gв9?H"?{Gz?f`Y4m?`?vS?beF?M0':?%f-?QY^& ??feт???B?,?u?{?U)#`?;;?"z8$?c,?f"?88?E[u?Hi?*_]?x+R?FyF?W[:?j\/?+J#?Xw?0 ?`*?h/?KN?K%?P- ?,M?7Z?@+??)A?[r??MΡ8}?5'Ps?'|h?p"^?w~S?$I$I?[`>?߼xV4?*"*?x!?UHy?g G ?  ?p}?Ljm Zjz  ' }Dңhi]Wbgeq6lknv+ӉZzJgo߹ホCՎ`~ѡ8ROggW?K6H+ L J6`zA`Ugn1yiFafo%6hRw G "/&U;( Z+j\1е,[d&c윣ju m ?6grWJz+{8 Ғ |! ӆBhn[&wowGZpj;f\ eibkaElx TN³9a&g`MGiIwn>JjѮZf @;7SŞϲG0򽽊º0S$6к)WTg#.zfJah]+o*7 Z-A1b62S-+ldEw}ZVǖAOIъ OM~-QJ#SpxAaU׮.7׵Y-6]]wll?AԞZ͢$ Faw$eڪ]]FD(koipvk19Z* ,  m86F߲]qTp0ek*1u4yީ%8S1bSWĔՖk1**ykʬHpo].*F6fcTT"eM©g0&):{ϼkZ> 8$,52F*sw1pHkQ6Fzw]cN̵J #pAF]#l8?1(BOgT~yUbL8^#ܖTZ1ObbSyOIV~P-{b-R4٠~^eGnHl/Su6: #jT$+e?yHf'*b#ٽЧ ?&~?$pi;FBzw[keZ~7 Sv8H 3?r$7jnԄYFܨ |OQ;օ U d S - =G\ p&Gw)` /a߫i5&LsZ<#0zMzFM8,9; :R:(q-v,.7/pXqYs3r%w+OQvrtEux܉~OK }!b|tyBxʠz{.lD~m8onlk[wjR1h58ib?mcf+aQ`צedd"fig HINSKyuJcO NZLݘMFGN@E$DD2AsX@*IBCPhTg3U>uW ַVS:R|P~Q9ZS [fYX4])\ZEo^m/_5qϱ٥s\ۼqދ!K7 kfֶԁ-b3Πjp]$^'~*I@VW<âM˟ŏ{ tDCm-@wm.B+(铜>Td"ŀǼϭ~8y$owJ1}05_K^ iϏ은BI#ƈdX܁T̓cQ: rՆ⩗ fn|xK)o%ƭ/3vUuA?)C:|sĵ@͂ Ͳ;bIUeh"׻_HS1޼^Z4eg Wb27_k%8ם(ŊO}do׸Jj3wVcXWP0qB{߭gCru&op-?'Bs ưGz>2[Ȏg; i8P/ _Y=чe:ZO?(3wwXR @hQ+ğH*0"ZOWoI}@mNП5+#*'G| AH=XX?#1jvʬ`p^Y<L~i/{kHwâ hs)aLoD~Pf7VM'(@ﰤ ہg9x+n&;f?/X)T`D1 ߨMߒ.FgTp'Hq/L0UEc?kǃh6ry7]P\@TN%s7@'>$!AxUʰ\3;Y^U~PGl!;b F2ȂpԞ(Q_V:1X: n3 m:@/)IJNv"2x+ٗ Kx.HҥfAj^y9*O]#kM`~b_R 7zFh!1߈Vc0a"j6nS Nr)Υ{t*F8#vufz`rs"WG9^EMvc΍&DAdQy/4Aڱ&S֚E biLQ<6'5P..T&q]w4.6IE? v\[YI>U!lDa>Ԫ΋ϩ7~8A]&nv|oY yKiw\¹9~$ 66nQfq>,o,IӔ 渱{I .H>C-Yn馑gQz tafw0a, Qmpjc5dۈ2yܸو L+~|-dj qHA}mԵQӅlVdkbze\Ocl=c ;n Li^`Agqr<KG k5Blۻ֬@2lE\u ϫ=Y&0Q:Qa!V#Ϻ(_ ٲ $/o|XhLaf-=vAq *q3xɢ4 j m=-dlc\kkQlabe0bNl{WeP|b-I|LeMaX:QΣtԻ0JߥA=ؕפmCij4ngF`D-s3 L_ |Pq<'A  Wh% of a^)ɘИ"רY=. \;l  tҚG9w&sc d; mj>zjZ '}DhibW]egl6qnkv+zZgJoC`֣ѓ~8ORѻgWg?H6K +گ L6JAz``ègU1nFiyaf%oҠRh6 w G"U&/ź; (+Z\j1,ٞ[ޮd°c&ujm 6?rgWJz{+ 8Ҏվ | !Bhݳڃn&[owGwZjpf; \ebiaklE x NT9§g&a`IiGM>nwۮjJZ@ f7;𩼮S޻G0齽ʺŠS0$6TW)#gfz.aJ]h*o+ 7 Z-1A26b+-Sdl}wEVZOAي»IˬO ~M-JQS#xpaA.U7Y-۩6˚w]]llA?Z$㧲F waރ$Ųe]]DFok(vpi91k *Z  ,8mF6]pTqke0*1¶u4%y<8syjHA}X*ݹ1SbSW§ٖծ1k**kypH]oF*.f6TTcMe"¤0g)&Ůޟ:{kZ >8,$5*F21wsHpQkzF6c]wN̵ׄJ# pȄA#]F8l1?(gOB~TUyLbˁ8#^TO1ZbbySIOP~V{-b-4R^~Ge­lHnuS/:6# $Tj?e+y䏼Hf*'˼Ѝb# &??~p$iBF;[wzek~ZS 7H8v ?3$rj7nFY |OQ; U dؓS - \G=&pGw`)/ ai5&sL <:R=Pe6^X7}o5641W0ճ2k3$k%'1&-[#bML"'{ "!$*x(+)`F(> q-q,v.Ț/7pqXsYr3w%vQO+tru՛E~xKO} |b!ytxBz{l.m~Do8nkljw[h1Ri85bcm?a+f`Qeddf"giH IKSNJuyOcN LZMݥFĚGE@ND$A2D@XsBI*CThPU3gWu>V SR:P|Q~Z9[ SYfX]4\)^oEZ_/m5qs<\kg2z &J8 좞V`a/6i\lU,zB\uHƒ=&FW A+Ox]`غ7W>9q߳!7Kk ֩fض-bѠ3pj$]^Ĝ'*~@IWVÕ<ӂMʏş{ Dt͆mC-@mw+B.(>dT"ş~Ϝ8yo$w1J}50K_ ^ϋiBۉI#dXфTQc:r Р fΫnx|)Ko%3/uUv?A)ġ:C|sд@͉ ;IbeU"hH_S1ފZ^ھ4ge ȋbW72%k_ܝ8Ŵ(}OodJֿjw3XcVPW0Bq{gǧurCo&p-?О'sB zGɠ2>[ ;g/P8i_ Y=嗇e:ϏOZw3(?RXw@ Qh+HZ"0*WOIo@}m5N#+'*GA |􏒨HX=#?X1vjʨ`^pYL'!$UxAׯ3\Y;U^GP~b;!lڇF 2p(ԐQV_:X1: 3n :m@I)/NJ2"v+x xKH.jAf^O*9y]#Mk~`bю_޶ Rz7hFм!10cV"ajحn6 SrN){t*8Fv#fu`zrϮsɛW"G9E^vMcD&dA/yQA4S&ֿ EbLil!>aDƋΪ~7A8n&]|vYoᡱ Kyi׫w¡\~9$66 Qnf>q,o,ӹI 散 I{.C>HnY-Qg̰t zfa`Psp0  ` @ X ;x8 h( H T+t4  d$ D \ S|< l,  L R#r2  b" B Z Cz: j*  J V@3v6 f& F  ^ c~> n. N `Qq1  a! A Y ;y9 i)  I U+u5  e% E ] S}= m-  M S#s3  c# C [ C{; k+  K W@3w7 g' G  _ c? o/ O `Psp0  ` @ X ;x8 h( H T+t4  d$ D \ S|< l,  L R#r2  b" B Z Cz: j*  J V@3v6 f& F  ^ c~> n. N `Qq1  a! A Y ;y9 i)  I U+u5  e% E ] S}= m-  M S#s3  c# C [ C{; k+  K W@3w7 g' G  _ c? o/ O A@!  @a`10  @     @@HN #+3;CScs !1Aa  0@` inflate 1.2.8 Copyright 1995-2013 Mark Adler @0@@@@P@`@p@@@@invalid distance too far backinvalid distance codeinvalid literal/length codeincorrect header checkunknown compression methodinvalid window sizeunknown header flags setheader crc mismatchinvalid block typeinvalid stored block lengthstoo many length or distance symbolsinvalid code lengths setinvalid bit length repeatinvalid code -- missing end-of-blockinvalid literal/lengths setinvalid distances setincorrect data checkincorrect length checkneed dictionarystream endfile errorstream errordata errorinsufficient memorybuffer errorincompatible version *PXZ *PX pp *PX @@@@ЍH `xЍ@H@H `x@H88@`H `x`@H@RSDSm>0JHȧE:\CPython\cpython35\lib\distutils\command\wininst-14.0-amd64.pdbGCTLp.text$mnp .text$mn$00 .text$x.idata$5.00cfg.CRT$XCA.CRT$XCAA.CRT$XCZ.CRT$XIA.CRT$XIAA.CRT$XIAC .CRT$XIC.CRT$XIZ.CRT$XPA.CRT$XPX0.CRT$XPXA8.CRT$XPZ@.CRT$XTAH.CRT$XTZPX.rdatal.rdata$rd.rdata$zzzdbgx.rtc$IAA.rtc$IZZ.rtc$TAA.rtc$TZZ|p.xdatad.idata$2d.idata$3d.idata$4`j .idata$6 .data.data$r=.bssZ.pdata0 .gfids$x0 .gfids$y@ 0.rsrc$010A (.rsrc$02dT42p dT4pd4 p7 &t;&d:&49&2P@d 4R pRp`0d 4R pd T 4Rpd 4R pRp`0bp ` P 0d 4R pRp`0T42 p20  4 2p' T9482 p `@d T 4Rp t d T 42BB 4, *p@@&4ZXP@&4ZXP@ 4 2 p`P* %4# p`P@h 4r p ` P t d T 422 t# d" T! 4 @ 4 p@P+p`0@0d 4 rp  4 Rp. t1d0T/4.,@P p`P0@9 ((t(d(4(P@ 4 p@@!0@0( d342, p P@P  4 Rp204 "1"t0"T/"*@@7 &&&t&4&P@+@@#p`P@0) 32d1.P@` 4&$P@B@@+T 4  @0&4dbP@d T 4Rpd T 4Rp2020d4  p@@= ,t,d,4, P@PR0t4t d4t d4) t*d)4(&P@  B p`P0dT42pd42 p t dT42  p`0P20d42 pdT42pd42 p d T 42p* 4  p`P@BbB  b  4 rprp`020B2020BB  4 Rp|7LL2PBBB20 "|7››PB202020  4 rPdT42pBBBBBB  4 2PBB4PBd42 pd42 pt42 P"" dT4rpBBBBB20 dT4rp20202020BBBd42 p20B20B20202020 t dT42 t dT42  4 2p t d T 4R  4 2p  4 2p  4 2pd42 pdT42p  2020 t dT42 t d T 42 d T 4 2p d T 4 2p t d4|)*RP t d4|*+RPd T 4Rpbp ` P 0d42 p  4 2p  2020d42 p  4 2pd42 pr0@8r0@8  4 2p  4 2ptd42dT42p2020202020  4 2pd42 pd42 p202020  20d42 p20  4 Rp  4 Rp  4 Rp  4 2pd42 p  4 2p20d4  P20- td4P@td4P +t*d)4(&P  4 rP  4 rptd4P 480 p`P1 #t!#d #4#P@- t#d"4!P@??x 4h4& p `PBr020  4 P  4 Rp20  4 Pt 4  P11x-h't'd'4'Pd 4 P04p`Ptd 4 P td 4 rPt 4  P td4P# #t#d#4#PR0d 4  pt 4  Pd 4R p20  4 p00202020td4P202020t4 P20R020r0t4 Pd42 p  4 2p  4 2pdT42pdT42pd42 p t dT4220  4 2p  4 2pd 4 R p|0102P20t d 4 R|012P20B t dT4220202042 p|55H2P  4 2p2020bb  4 2p|55`2P  4 2p|+686y2Pd42 pd42 p t d T 42 t d T 4R t d T 422020 t d T 4 r  4 Rp  4 rp  R0  4 2pbbb dT4p dT4p dT4p  P  P  P2 !d!4! p P@  4 Rp t d T 4 R2 !d!4! p P@p  P  P  P2 !d!4! p P@R0 d T 4 Rp2 !d!4! p P@p20B  4 2p20  4 2pPPPPPP, 4 p`P@2 !d!4! p P@R0  4 Rp  t d 4R t d 4 R, 4 p`P@p2 !d!4! p P@pB20 d T 42p20202020T42 p202020T 4 2 p `B d T 4 Rp  4 2pd42 pd42 p  4 p20d42 pd4  p@@20$d4 p@BB20 d T 4 2p20202020  td422020d T42pB+ dT4rp@8d42 pd42 pd42 pt4  20d42 pT 4 R p `20$d4 p@BB2020T42 p202020T 4 2 p `B d T 4 Rp  4 2pd42 pd42 p  4 p20d42 pd4  p@@20$d4 p@BB2020  td422020d T42pB+ dT4rp@8d42 pd42 pd42 pt4  20d42 pT 4 R p `20$d4 p@BB  4 Rp  4 RpR020d42 b2020 d T 42p202020T 4 2 p `2020B d T 4 Rpd42 pd42 pd42 pd4  p d T 4 2p  4 2pd4  p@@20$d4 p@PBB  4 Rp  4 RpR020d42 b2020 t d T 422020d T42p2020B+ dT4rp@8d42 pd42 pd42 ptd4  d T 4 2p  4 2pT 4 R p `20$d4 p@PBB t d T 42202020T42 p2020BT 4 2 p `B d T 4 Rp  4 2pd42 pd42 p  4 p20d42 pd4  p@@20B d T 4 2p202020 t dT42d T42pB+ dT4rp@8d42 pd42 pd42 pt4  20d42 pd T 4 Rp20, 4 p`P@2 !d!4! p P@B20B  4 Rp  4 RpR020d42 b2020 d T 42p2020BT 4 2 p `2020B d T 4 Rpd42 pd42 pd42 pd4  p d T 4 2p  4 2pd4  p@@20B20B  4 Rp  4 RpR020d42 b2020 t d T 42d T42p2020B+ dT4rp@8d42 pd42 pd42 ptd4  d T 4 2p  4 2pd T 4 Rp204444444444 t dT42" "t "d"T"4"24t 4dT42pR0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R044444444R0R0R0R0R0R0R0R0R0R044R0R0R0R0R0R0R0R0R0444444R0R0R0R0R0R0R0R0R0R044R0R0R0R0R0R0R0R0R04442 p|MM2P42 p|MM2P42 p|JMTM2P42 p| MM2P42 p|LL2P42 p| NN2P20dT42p2020BT 4 2 p `B d T 4 Rp  4 2pd42 pd42 p  4 p20d42 pd4  p@@2020 t dT42d T42pB+ dT4rp@8d42 pd42 pd42 pt4  20d42 pd T 4 Rp20444444 P@!( ( Ԅtd4 {! {T 2p! d 4 70! 70BBBd 4 Rp| a42Pd 4 Rp|8N2PP d T 4 2pd42 pB42 p|.9h2PB2020B2020  4 2pR0  4 RpR0  4 RpR0  4 RpR0  4 RpR0  4 RpR0  4 RpR0  4 RpR0  4 RpR0  4 RpR0  4 RpR0  4 RpR0  4 Rp  4 2p  4 2p  4 2pBR0  4 RpR0  4 RpR0  4 RpR0  4 Rp  4 Rp  4 Rp  4 Rp  4 Rp  4 Rp  4 Rp  4 Rp  4 RpBB td4rP td4rPBB dT4p dT4p20R0202020R0d42 pd42 p  rp0P  rp0Pd42 pd42 pr0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r02020r0r0d42 pb  P t"d!4 P  P- t(d'4&"P@2020 TG> `!tFs !4Ds !s !s ?4?!4@ ^P!!t>dA4@ ^P!!t>4@ ^P!!t>4@ ^P! Dp`0@!A!!GGTJ@BCv!!v!!!! @ABCTJ!0 4~ p`P@YYCQDIFATG64HIp`!EIl"!Il"bb t dT42 t d T 42 4R p ` P dT 4 Rp@ /t/d/4/~!P@0 4xn p`P@`   4 Rp20  4 2p20  4 2p2020PP- t(d'4&"P@ t"d!4 PB20B20d42 p  4 2p2020  4 2p  4 2pd42 pd42 pd T 4 rp  4 2p  4 2p20Bd42 p2020d42 pB20) t"d!4 P@BB20Bd42 p  4 2p2020  4 2pd42 pd 4R pBd T 4 rp  4 2p  4 2pB  4 2p  4 2p d T 4 2pd42 pd42 p t dT42  4 2pd42 p202020t4 PBB20d42 p  4 2p20  4 2p  4 2pd42 pd42 pd T 4 rp  4 2p  4 2pB  4 2p  4 2p20  4 2pd42 pd 4R pBd T 4 rp  4 2p  4 2p20dT42p  4 2pdT42pd42 p d T 4 2p 4R p`PB20B td4P  4 rp  4 rp 4r p`P 4 2 p`PB  4 2pB dT4p  4 rp  4 rp t dT42 T4 R p `B td4rP  4 rp  4 rp 4R p`P d T 4 2pB dT4p  4 rp  4 rp42 p|z  2P42 p|: D 2P 4m hp@0B 4m hp@0B 4m hp@0B 4m hp@0B 4m hp@0B 4m hp@0B 4m hp@0B 4m hp@0B p ` 0 Pbb p ` 0 P 4r p`P p ` 0 P  4 2pd 4 rpd 4 rpbbbb  4 2p d T 4 rp d T 4 rp  r04 r pd T 4 rp dT 4 rp  4 2p t d T 42  4 2p d T 42p d T 42p  4 2p d T 4 2p  4 2p d T 42p d T 42p  t444t d444  4 Rpd T 4Rpd T 4Rp  4 Rp20b  4 Rp  4 Rpd T 4Rpd T 4RpB  0P  0P  0P  0P20202020BB t dT4220d42 p20' TN4MH p `@0202020 d4 p P20 d4 p P20 d4 p P20 d4 p P 0 P 0 P 0 P 0 P2020$4 p`P@xT 4 r p$4 p`P@xT 4 r p$4 p`P@xT 4 r p$4 p`P@xT 4 r p0B0B0B0B P@h P@hd 4 p|:,, 2Pd 4 p|)s*2Pd4p|n++2Pd 4 p|*3+2Pr0r0dT42p d T 4 RpB J0@@  4 2p4 R p`P4 R p`P20B4 R p`P4 R p`P t d T 422020 td42020BBB  4 2p  4 2pBd42 pBd42 p42 p42 p2020BB d T 4 Rp d T 4 RpT 4 r `T 4R `  4 2pB  4 2p t dT42d42 pBBB  4 2p2020B20  td42|q9r$xrq~r?2P2P4 2 p `|uuX2PBB t4d 4R p20  Rp0P *0@@2 0|@k2P2P P t d T 42- I p`0P@0bp`P0d T 4Rp d T 4 Rp0 4qf p`P@  dT 4 Rp) 4K@ p`P@B2p|~~2P202020202020BB  4 p20B42 p|xx2P42 p|w+wo2P  20|MwVw2P42 p|wx2PBr P  b2020 t d T 42B d T 4 2pB42 p|-7)2P d4rp|vʓC2PBBBBB2020 20|Xee20BBd T 4 rpbb  4 2p 4Rp ` P dT4 RpT 4 R p `20202020  t d 4 R|Тm`RP d T 4 Rp2020  t d 4 R|̣iyRPb  4 2pb  4 2pBd 4 r pbbdT 4 p# #t#4#PB0|rPB0|IvrP  4 p|;_ rP  4 p|?srPBBBbT 4 R p `d42 p d T 4 Rpr 0r 0d 4R p4 2 `|7n2P 4 p ` P4 b p ` P 0 4R p`P b p`P0b  4 2p  4 2pBB42 p|-m2P  20  4 2p202020B20bR0bR0bR0bR0bbbbR0R0R0R0  4 Rp  4 Rp  4 Rp  4 RpbbB20B. d4 p P@  4 rp t d T 4R20|Lz2PdT42p2020dT 4 pdT 4 pt4Pt4P  4 Rpd T 4Rp  4 2p  4 2p  4 2pd42 pt2020 tdT 4 d T 4 rp t d T 4 r20 t dT42 t dT42  4 2p t d T 4Rd42 pd42 pdT42p  4 2p tdT 4  t dT42d42 pdT42p t dT42 t dT42  4 2p20d42 p  4 2p20BB  4 2p 4 p@@  4 2p20 t dT42 d T 42p t d T 42 d T 4 2p20  4 2p20Bd42p|l2P  4 Rp|A*2P42 p|v2P20d42 pd4 r p|(C6]2P2P2020| !2P  4 2p tdT4td42B20202P2P2P2P2P2P2P2P2P2020 4R p ` P dT 4 Rpt d 4RdT42p t d T 4R t dT42  4 2pBB  4 2pd42 p2020  20  4 2pr PBB  P  RPBBB  rP  4 2p2020d42 p42 p|2P42 p|2P42 p|Iy2P42 p|1?2P2020Bbb td4P dT4p dT4p dT4ptd T4d42 pd42 p204 p ` P' E4C p`P@`BbBBBd4 Pd4 P  4 2p  4 2pd pPd pP tdT 4   4 Rp  4 pbd4p dT4pBP@ tdT 4 dT 4 p tdT4 t d T 4 rd 4 r pdT 4 42 p|ii2P20!T4 r p `@0  B4R p|ij'jj'2P20  4 2p  2042 p|#n.nA2PBB  2p`P04 R p| ooYooY2PBBB d 4 2p|wws2P 4 p`Pd42 p( 4 p`P@p t dT42- T4 p `@@- T4 p `@@1 T4 p `@`  4 Rpd42 pd42 pt d42Pt d42Pd 42pd 42pB  4 2p(tdP@pBBBBd42 pd42 p20d42 p  4 2p  4 2p2020d42 pd42 pB|7=2P20| 2PB|Ӗ2P202020  4 2p  p`0P4 R p`P$d+4*( p@0d T 4 Rp dT4p42 p|2P t dT42(d4rpP@842 p|2P  4 2pBBb td 4 r tdT4  4 2p20R0@($dK4JH p@0dT42pdT42pdT42pdT42p  4 2pdT42p  4 2pdT42pBd T 4 rp d T 4 Rp dT 4 rpBt d 4R| Q72P t d 4 R|72Ptd42 t dT42dT42pd42pt d 4R|2P2020  4 2p"  p`0P@h'  p`0P@pB2020  4 2p  4 2p tdT 4  tdT 4  tdT 4  tdT 4 2020B 4 p ` P( 4 p`P@pd42 p  4 2pdT42p t d T 4 R% 490 p`P@pd42 p  4 2pdT42p dT 4 Rp% 4[R p`P@2020d42 p  4 2p|2PB% T4r p `@8r0dT42p+t4 P@p4 rp`Pd42 pB42 p|x2P  4 rpd 4 r p t d T 4 rdT42pB2020B1 dT4p@BBB20202020 td4rP2 02020 dT4rp  20  4 2pT42` td4rP  4 2p2020d42 p- 5td43 P@PBdT42p  20  4 2p|2P  4 2p t d T 4 R t d T 42  4 2p' T4 p `@  4 2p$d*4)& p@  4! p@d42 p 4 rp@8  4 2p r p`0P@0 t dT42  4 2p( d*4)$ p@  4 2p$d(4'$ p@  4 2p) d)T(4'$p@20d42 pd42 pBdT42pBdT42pd42 p  4 2p20|z2P  4 2p|2PBBB t 4R|IG2P p`0|#2PB  4 2p|g 2PB42 p|2H2PbR0bR0bR0bR0bR0bR0bR0bR0bR0bR0R020R020R0  4 2pR0  4 2pbb20|++2P20|%,0,2P  t d 4R|-#.1.F.RP  t d 4R|.%/3/H/RP  t d 4R|'o(`}((`RP  t d 4R|(t)y))yRPd42 pdT42pd 4R pd T 4Rpt d 4R t d T 4R2020B0@HB20d 4 r p  4 Rp|4 5452P2PBB 0 P d T 42pBB42 p|M55)2Pd 4R pB d 4 2p|*9Z9C2P d 4 2p|:H:Z2Pd42 pd42 pBBBB t d T 4 rBd T 4Rp tdT4b20B42 p|ABq2PB tdT 4 dT4p20202020r0r0d4 p- Utd4S P@X20d42 p-  p`0P@td4220B-  p`0P@t d42P t d 4 2P  b  bB42 p|xx2P2020BBbbbbR0@(d T42p 4 Rp`P@(  4 2pdT42p  4 2pdT42p  P@@  4 rpB$  p`P0@- Etd4C P@`BBBBBBBd42 pBBd 4 r p|ǑRP  4 2pd 4R pd 4R p  4 2p|CZ2P  td42|d2P  td42|S2P t d T 4R dT 4 Rp  4 2p t d T 4Rd 4R p tdT 4 d4 p' US p`0P@x202020  hB20B  t d 4 2|V__2PdT 4 p 4P Lp@P0d42 p& h p`0P@& h p`0P@0  hbb  hbb' h 4! p `P@+ x h4# p `P@B h4R p`P 0t d42P20 d 42 p|jqEq2PB20  4 2p|ͻ2P0B20"ejPheZmhin e~ohd"pXi@p@jpooppooooorj`j`oNo>o2o&ooopokll$l8lNl^lrlllllllllmm&m>mw0kkvvvvvrvXv>v2v&vvvuuuuuuuluXuDu,uukkkkxklk\kvDkk kjjjjjjjvtwttttpppppqq8qRqhq~qqqqqqqr*rBrZrrrrrrrrrrss&s6sDsTsvssssssssstt&t8tHtZtjttt0pmtmhmnnnnnnnnrndnVnDn2n n nmmmmmmmm\pnpLpPropertySheetACreatePropertySheetPageACOMCTL32.dllSetLastErrorSetFileTimelstrlenAUnmapViewOfFileVGetLastError7GetFileAttributesACreateFileACloseHandleCreateFileMappingACreateDirectoryADosDateTimeToFileTimeMapViewOfFileTReadFilehGetModuleFileNameA#SetPriorityClassGetCurrentProcessGetStdHandleLoadLibraryExAiGetModuleFileNameWCSetThreadPriority SetFilePointerResumeThreadjGetModuleHandleAMultiByteToWideCharGetTempPathAGetCurrentThreadLoadLibraryADeleteFileA0SetStdHandleGetProcAddressLocalFreeBGetFileSizeRemoveDirectoryAFreeLibraryCreateProcessAFormatMessageAGetTempFileNameAGetPrivateProfileIntAGetPrivateProfileStringAKERNEL32.dllEndPaintBeginPaintReleaseDC_UpdateWindow|GetParentoPeekMessageA>GetDlgItemSetCursorSendMessageASetDlgItemTextASendDlgItemMessageAGTranslateMessagepCreateWindowExADefWindowProcARegisterClassAWMoveWindowJMessageBoxA(ShowWindowwsprintfAGetSystemMetricssPostMessageA6GetDC"LoadCursorADGetFocusGetWindowRectDispatchMessageAUSER32.dllVCreateSolidBrushDeleteObjectSetBkModeTextOutASetTextColor7CreateDIBitmapSelectObject=CreateFontAGDI32.dllrRegEnumKeyExAkRegDeleteValueARegOpenKeyExARegSetValueExARegQueryValueA\RegCreateKeyExARegQueryValueExAaRegDeleteKeyATRegCloseKeyADVAPI32.dll3ShellExecuteASHELL32.dllSCoInitializeCoUninitializeCoCreateInstanceole32.dllRtlCaptureContextRtlLookupFunctionEntryRtlVirtualUnwindUnhandledExceptionFilterRSetUnhandledExceptionFilterpTerminateProcesspIsProcessorFeaturePresent0QueryPerformanceCounterGetCurrentProcessIdGetCurrentThreadIdGetSystemTimeAsFileTimeTInitializeSListHeadjIsDebuggerPresentGetStartupInfoWmGetModuleHandleWRtlUnwindExZInterlockedPushEntrySListXInterlockedFlushSList)EnterCriticalSectionLeaveCriticalSectionDeleteCriticalSectionQInitializeCriticalSectionAndSpinCountTlsAllocTlsGetValueTlsSetValueTlsFreeLoadLibraryExWWideCharToMultiByteGetCommandLineAGetCommandLineWCreateFileW&GetDriveTypeWEGetFileTypePeekNamedPipemSystemTimeToTzSpecificLocalTimecFileTimeToSystemTimeWriteFileWExitProcesslGetModuleHandleExWGetACPGetConsoleModeRReadConsoleW<HeapFree8HeapAllocGetDateFormatWGetTimeFormatWCompareStringWLCMapStringWZGetLocaleInfoWwIsValidLocaleGetUserDefaultLCIDLEnumSystemLocalesWSetEnvironmentVariableASetEnvironmentVariableW?HeapReAllocGetConsoleCPGetStringTypeWGetTimeZoneInformationSetCurrentDirectoryW GetCurrentDirectoryWPGetFullPathNameWMGetFullPathNameAOutputDebugStringAOutputDebugStringWWaitForSingleObjectExCreateThreadnFindClosesFindFirstFileExAtFindFirstFileExWFindNextFileAFindNextFileWuIsValidCodePageGetOEMCPGetCPInfo.GetEnvironmentStringsWFreeEnvironmentStringsWGetProcessHeapSetConsoleCtrlHandler9GetFileAttributesExWSetEndOfFile SetFilePointerExFlushFileBuffersWriteConsoleWAHeapSizeGetTempPathWDRaiseException2-+] f/     DB@ @=@(@(@(@(@(@0@?@@A@`5@@@C@=@BB@PSTPDT@@@ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@`y!@~ڣ @ڣ AϢ[@~QQ^ _j21~ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZЊ@@@@@@@@@@Ԋ@@@@@@@@0@..u@@@@@@@ȫ@ԫ@@@ Ь@@@@(@@@P@h@x@Software\Microsoft\Windows\CurrentVersion\UninstallSoftware\Microsoft\Windows\CurrentVersion\Uninstall`@L @p@ @@X#@@@@@@"@@@@@@@@ȫ@ԫ@@@.?AVDNameNode@@@.?AVcharNode@@@.?AVpcharNode@@@.?AVpDNameNode@@@.?AVDNameStatusNode@@@.?AVpairNode@@@.?AVtype_info@@J\ >@(<RLTXhBxT2H  K L " "X#8h#$@$K&XL&(p(**m+p+n-p-L.L. 0 00 0K10L1 3< 3L3`L34h48686667799::<:::@?@?C(C:DP{>>>>>>??3?x?????@$@@@1B^p,@^^,^K_d-L__8-_x`-x` a, aa\-a&b -(bb|-bcX+cd`+diP(is(sw@)w),P-т,Ԃol-pl(\)T(T)x(;h)<ڇ(܇z)|,(,)(ȏt)ȏ ( )v(x7)'a'd'M'řX*ș * F*H+šx*Ě*C*D8+ $- $0&`}%# D_#`}l&Рt& '+d&,G#H|# +,%},@|&-,Ȩ?,@(#@!ԯ$,%,e"h"" #P#_t#x#Il"I|"|"@(Q($ 8%|T&%M'&!v!v!""$" ^P!^~X!~l!!!0H"9H!X4($4"&$H%8'Li`$l&t%X'L$L'&%('D$D'%U'XL$"l%dT$g&p8$&qX%t)D',l$5&8%Pd'PD$&d%:P'<W#Xq$tH&V"  $  %$X$%$ &s s  !$ !$]0!"d0&`H((Lj$l@%$"%$P8(P|(|8))$%0%(V&X0'E|$`&%nt' $ $' % '      ! ! # #M#x P##h #|$-|$:%-<%%-%&.&&-& '- ''-'{(-|( )- ))-)*0*L+L1L+,1,,0,-d0-.-00-V-t0X-~-0-q.l/t.g/x/h/e0/h0[1/\11.1`3.`33 /3k5/l55,/574/77L/79T/9H:/H::/:; 0;;<L0<<>/>?/@A0AC00CD0DHE0HEE|1EE1FF/FG. GG\0GUH|0`HHl0(II0IVJ.XJzJ/|JJ.JJt.JJ|.J(L.4LL.LM.4N=O.HOcO.dOTP$.TPFQ0.HQDRH.DR6S<.8SST.SS\.S>Tl.@TTd.TV1VV1V\W1\WY1YZ1@Z[2[],24]^@2^`l2``\2``2aad2aa2aa2aIb2Lbc1c5e1Heie3lee$3ee 3ef3 ff2ff2LgEh,3HhKiD3Lii2ii3ij\3jhkl3kk2k=l2@lZl2\lvl2\mm2mm2mm2mln3nn3ndo|3o*p3,pxp3pp3 q-q30qDq3Dqr4rr4s\s3\ss3ss38t|t3tt4tu4uuX4vv4v=w6@wiw6lwx7xx6xyh6y6y68y^yp6$z?zH6@z[z86\zwzX6z:{x6<{Y|6|}P6}/}@60}K}`6P}}4}'~6(~~x5~546'4($H5$Ɔ4Ȇ4̈,5̈1h54Љ$5Љ5?5@~5@7K7L77:7X77 h7#`7D~P7H7?,8HX48`<8JD88$8К8t8Dl8DkL8|8ޜ8ß8ğ8998X9Χ9Ч99*9d8p9 9Ъ89ǫx9ȫ988X9S9XD:Ǯt:Ȯ::h@;3:4:;;w ;xƷ;ȷ0;<:X; ::l:%`;0 : R9Tɾh;̾b;d;;;x; ;D<<<4< (<=<@<|x<|p<<~<<Q<T<0,=0lD=l8=P==C$=Dw =x== < 6<8k<l<<<*<,_<`<<<==@Z|=\="\=$Sd=Tl=t=3>4== >\>uh>x%<>(L>X>(>A4A,Ax$AA@l@l8@8:@<@>>b>d|>>i>l>> ?s?t ,? dD?d P? h?x?t?t?g?hW?X?4?4?C@D,@8@4@@4P@\@d@>l@@t@>@a@d>ZdA#A$oA|`A`A B\BxB3(B4tPB|BBuBxB B  B  B B9BlBBB B<sBBCz0C|nXCpDC~pC"C,DDXDQDTzD|CDC`zC|8D Dd )!C,!!C" "C "#D# $$D$$,D$!%HD0%K%@DL%%C% &C &&C&?'C@'y'C|''C''E'(E((F(H)EH):*E<*_*E*C:EH:;EH<AEApCLEpCEhEEgMEhMMFM,O0E,OKOELOjO(ElOO EOO FOPFP5RpF8RRXFRRdFSBT8FHTUHFUU0FUU(FU(WF0WWFW(YF(YuYFxYYFZ]]$\>?,\`?'@`\@bAL\dAAD\A$B\$BJB\lBB\BqCx\tCD\D9E\TETF\TFF\FF\FF](GTG]TGG]G!H]H7L0]8LL ]LMX]M _] _>_]@_T_]`g`]h`sp]s[t`]\tv]vw]xx^xx^(ycy^dyy^y!zD^`zwzT^xzz\^zzL^z+|^,|}^}-~^0~~^~I^L^h^ht^|^׀d^؀l^_āb_l_$_L_,_|_1t_4ևX`؇z`|lj`ȉ7`8ы`ԋx aԌ`Ԍ`܍ `܍aq,`t_/_0G_X_ޒ__;_Hn_p_e0ahXaHa|a a \a ˟a̟a(a ^a(\a:aP`b'b(ϦbЦ54b8tpj\V\q@YYt_Wp@؃u'jWp@utWhhr@jՃ WjYYuhp@t Whhr@jՃ \Fu[_]3@^U SVW=p@39uuEVhuVVSu ׃Ep@uu uu  uPt Pp@/9u u jU YYt.VhjVVSu ׃Eu%9u u hr@u jU YY9u t u jU YYEPuup@}EPPPWp@9uu Wp@\VuVjVWp@W=p@׃u9u t8u hr@&VVVjSp@SE׋E;u9u tu hr@jU 3_^[U8}S]VWj8EjPpZE EȋE@E̋Ej8hs@E؍Ej3P]F2}t t*Phr@EjP4;YYtt Phr@j׃ 3EPJYt,t Phr@j׃ 339uuuu SY FSp@_^[U(ES]L+A Q+ƒ9PKWM}:t3efy V3@^_[ËE}4N*>PKE?PK9V. u MN VGF*OMUDE܍PYHEPYM <\ths@PXYYPp@eEE8t;EE0XPuE0Pq@EEMȃ8EuGPuPhq@ t /u\@uPJXYM<\tNu3fF P3fFPvuPjt"uOvvQuP^}tE@PE@ PujUE@ E9E=0M3WsEPWE_M+؍PMWM<\t)PhWYM</ths@PGWYYE\t/u@KSPPhq@]3UE Ph @u  @ u]u jmhD@@ ]UE Ph @u  @ u]u j5hD@@ ]U=4@VWu hh@p@t3hP@Pp@4@EPh @u  @ tY=4@uh8@5,@@YY;3|@u6h\@WUhH@h5@SRYD$tjPYYt$`p@=4@tB=@t9h,@WUhH@h5@SYtjVAYYV`p@3_^][8@tPq@Yt$@q@%4@Y8@U SV5p@W}hظ@Whĸ@Wh@WEh@WEh@WEh@WE395<@u3J;tC9ut>9ut99ut49ut/;t+39u h`@Uu u U_^[ÁP<@SUV3Wt$3;t@A=$r@PVhS5@VVUS5@׉t$5<@$h cD$6D$D$ h@P,r@D$(P$ttD$t$D$ 6h@P,r@D$,Pjjt$US5@6h5@0r@vuD$_^][PUhV5,r@Wh @hP@PE֍Pq@=p@uׅ5@E5$@h @PփE5p@PPEPhօtEPPEPhօt3,hȵ@P4DuP%DP_^USV3WSSDq@ q@5q@@Թ@QWPE֡q@ PWuh @$;u0p@Pth@P,r@tPuVYEYV`p@q@=q@@Pסq@5q@@P֡q@ Pסq@ Pփ9]ht@4C$p@uq@jSq@PEuq@jjuEӋED8Pq@؃(t:ht@SBu;ujPq@uÀ$8SSq@$ h`@Yuq@EY_^[UQQSV5p@W}hظ@Whĸ@Wh@WEh@WEhع@WE֋3;t;9Et69Et19Et,;t(h`@UW u U tU_^[USV5p@W}h@Wht@Wh\@WEhL@WEh<@WEh(@WEh@WEh@WE3E;9u9u9u9ut{9utv9utqh@ӋY;t?h@WUh@W@U,@Ȱ@jVUP6WU(@rE@E @E@EP@3jX_^[UV5r@W3jWWEWPօtEPr@EP r@jWWEWP_^U@El@=tEX@VW3MWQWjWW\@WVP p@;t5ujWh@Lr@PPr@3Wh@VLr@PPr@@@=q@SVuhԻ@P׍hԹ@Pq@$@EPq@q@EPӍEPPh@hPq@q@P5$@h`@h@5$@ӃHuh@5$@5@5$@Vhx@P׃ EPEP3PhPPPPu p@tjh`@PLr@PPr@up@}uPh\@hH@5$@Ӄh@5@5$@h8@P׍P>@PPjjh,@up@tjh@PLr@PPr@Ph,@Ph\@h@5$@Vuh@P׍h@Pq@Pj5@E5d@q@@uq@VuVuh@P׍P > @@PPjjVup@tjh@PLr@PPr@PVPh\@h@5$@ӃjX[_^U=} NV} K} W39=4@)@ƅ=@ S0r@hp@hu}Ed@}Ӎh @P=hX@P<VP<$@;tQh @h@@Pq@WWDq@ q@5q@@Թ@QWPE փuPPh0@Lr@PPr@q@ PWu փ uPPh @Lr@PPr@hjq@Pr@Eh @EHYt{V4th@RYY;N;t +V+щ0@+FMh+F+~q@YPhp@tmSjh@Pp@tT3PPPvPSjEtLvWPq@u(|W@q@MuEp@jXh@p@PYY3_^[̋T$3;tMB;tFHJJJB0HH H H(H,H0H8H<0@HlHPHL3ø̋D$ W3;81|$8Vt$ ;9~ ~u F ]@~(9~$uF$]@F(h0%jPV ;u^_ËL$;ωF}xB0P}|VH$x4^_PF(PV$~^_ø_SUl$ ]VWC43;u(K$M(jPQU ;ljC4u _^][9{(uK${0{,S(}K(+;r*u {4+ȃK(_^]C0K,3[+K0;ȉL$vȉL$S0{4u +ʃL$+t(u {4ȋ+ʃ_C0C(^C,]3[Ë{0C(;Љ{0uC0S,;sщS,_^]3[̋D$8SX|H q8u Ha; u H PUk3UUUR$CjD$4D$4D$5KPQ5$Cl$C Ct@0CL$%3ҹL$рtD$L@\}@C$L$;vL$LD$AH}@h3UUUSLT$L$X҃ CA0 l$1D$L@0}@D$s'nO|$FD$t$r<CtL$LA\}@tT$LB}@K tCt%D$D$$D$%KjD$(PQ" C33 sOF D$rK tACt7D$D$$ȋD$'jD$(L$)T$*KPQ8" C33s(TO|$FD$t$rًK tЁQK A Ct%D$D$$jT$(D$)CRP! C3D$3Ktvs-O|$FD$t$rًK ɉC@tACt%D$D$$D$%KjD$(PQ5! C3D$3K tAKK@;ωL$vωL$S tHR҉T$8t=S zs@R+49;v+׋ʋT$8t$ʃL$|$t$StD$KPVQ L$(CD$ S@++щ|$t$S@K@C@Kt3ɍ1AL$K ɉT$,t-Q҉T$8t"S@;Q sL$8|$D$8D$,C@D$8L$,tL$;rKtT$CRVPCD$ L$+L$,ɉ|$t$K tAC@K31AL$K ɉT$,t-Q$҉T$8t"S@;Q(sL$8|$D$8D$,C@D$8L$,tL$;rKtT$CRVPCD$ L$+L$,ɉ|$t$K tA$KtOs' O|$FD$t$rًK;tT$LB}@R 3l$C tK H,S B0jjjLL$XCA0D$   s'_ O|$F D$t$rًȋЁ3Ҋt$L$LCA03D$3 K  jjjT$XCB0D$  |$P Kt̓+D$T s$ O|$Ft$r݋ȃKȃMws$H]@ D$ CLs@CT CP{@CXD$ D$ T$LB|@D$ ̓+ D$s+d$ O|$F D$t$rًЋҁ;tL$LA|@. 3K@D$3K@ɉL$;vωL$T$ ;vʉL$R t$|$(ʋT$L$t$|$ +t$t$(щT$S@++щ|$ |$t$(t$S@ s# O|$Ft$r݋ȃЉK`ȃK\K`BSdD$ʃChKh;K\s[s#_ O|$Ft$r݋ShU{@3ɊD$fLSpKhAKh;K\rKh;s*3 $d$ShU{@fLSpShB;ЉShr千0KlCLRCTPQjCpPjXD$4D$t L$LA|@1 T$LB|@! ChK`Sd9ShKTKLJ#Ћ ;ՉL$@v<A KTOºKLF|$J#Ћ ;Չt$L$@wċT$@fsR;L$s&L$OF;|$t$rfT$B+KhfTKpKhAD$KhHuh͍Q;L$s+L$OFQ;|$t$r+KhɉD$bLKnL$,ȃfՉT$uJJ;s-d$$O|$‹T$FJ;t$r׋ȃDJ;s)O|$‹T$FJ;t$r׋ȃ +D$,{dSh{`;׉D$tT$,{hfT{p{hGI{hu|$S`Kd9Kh;0KlCLRS`CTPQ RCpPj D$4t8L$LD$Ap|@T$LBT|@L$L|$AT|@vSlKlSPRCXPQK`CdPTKpRjP D$4tD$L@<|@D$)D$rg|$ r]D$LT$ L$(PT$0H L$R0xPK8k<|D$TH P0xC8k<L$(T$ t$|$D$KTKLJ#Ћ;͉T$@v<KTOºKLF|$J#Ћ;͉t$T$@wĄΉL$3ɊʉT$,L$L$J#L$@ыKLL$,T$@;ՉL$v[IT3ɊL$,O‹T$F|$ʺL$t$J#L$.ыKL ՉL$@L$;wT$@++L$@҉D$K@u w t  g@tT$LB |@LSHKHtE;s%KHOF;|$t$rۋKHK@J#ʉK@KH+KXKPJ#Ћ;͉T$@v<,KXOºKPF|$J#Ћ;͉t$T$@wΉL$3ɊʉT$,L$L$J#L$@ыKPL$,T$@;ՉL$v^3ɊL$,O‹T$F|$ʺL$t$J#L$.ыKP ՉL$@L$;wT$@++@D$tL$LA|@L$@KDSHKHtI;s%KHOF;|$t$rۋKHKDJ#ʉKDKH+D$T$ K,+L$09KDvT$LB{@-L$ T$0+ыKD;v<+ʋS0;ʉL$v+ʋS4S(L$+ S4+S0L$T$,S@;ʉT$8vT$(+ыK@T$,L$8L$T$ ;vʉL$+щT$ T$8+щS@L$,L$(T$,AL$(L$BIT$,L$uۋK@ncL$(S@AL$(L$ >K s'O|$F D$t$rًL$0+L$ T$LJSхɉL$0St8CSL$(D$0Pt +QR +QR L$XCA0D$ KT$ ɉT$0u'3Ҋt$L$8ʋʉL$8;Kt L$LA{@`3D$3KK s'O|$F D$t$r;CtSL$LA{@ d_^][8ËL$LT$(Q T$ y_1Q^k@3L$@ȋD$@L$H#L$$̉D$+٨t‹L$;؉L$s(jBT$;sjBT$+M#͋l$L$D+;l$+;l$HnL$,D$Iu*D$(+ȋD$T;+ʼnD$Td$AAFMus;sS+D$(+l$D$T;sc+ʼnD$TAAFMuL$,D$l$TI;s<+l$TD$@AAFMu+ȋD$T;s+ʼnD$TAAFMuD$+ȋD$Tv7PEAAFQAFT$TAAFMT$Tu݋T$D$Tt^AAF|$TvPIFH+ō$H@FH@FH@FL$TL$TwۅtH@F|$Tv@Fl$;T$0sQ;t$4EL$PD$A{@,L$PA|@ t E D$P@ |@E ++ً˸L$PH#BFA D$0+ƒAD$4+A}8_^]<][<̃|$3҉D$+Dž~|$AB;rt$HT$(ЉD$<$T$(u =֋$ D$DL$ +T$8fLG$*ÅD$@D$fD$t]t$ d$t L$@D$8#;tD$73ۉD$D$ЋˋL$ Jtut H#ȋuT$(T$ȉ$_^]3[|_^][|̋L$S\$Wu1D$ʁrr_ [Vt$u ^_[Ãs3t FKur3Ҿ^_[ Án^U [IVVVVVVVVV V V V V VVHw3ҹǿ3MF]VVVVVVVVV V V V V VVʃHtt FKu3ҹǾ3^_ [QSVt&It3Ҋ3ЁP@3ANu߃ UW3܋,P@ҋP@3Ջ؉D$,P@Y3%3P@3Ӌދ,P@P@3ŋډT$,P@Y3Ł3P@3Ã܋,P@ҋP@3Ջ؉D$,P@Y3%3P@3Ӄދ,P@P@3ʼnT$,P@Y3ŋ,P@33ËЃҋP@D$3P@,P@3%3P@3Ӌދ,P@P@3ŋ,P@Y3ʼnT$3P@3Ã܋,P@ҋP@3ՉD$,P@Y%3Ջ,P@33Ӌދ,P@P@3,P@T$P@3Ń3à OrH3܋,P@D$|$"u:Fu:t<"u>"uFu:t< v]ЍEPp@EtE> vFuj XPVSSdp@PAEPp@E MPQYYËeup@%p@%q@hh YY3%0q@%8q@B2 اȧlTD|`4,8JXl|Τ0FZh|H$^4֣ȣn TL>6ک^nzΪB$0:Ωĩ~ĨΨب",6>FNV`jt|bئ̦vh`T>2&Хĥ΢CreateDirectory (%s)MapViewOfFile (%s)CreateFileMapping (%s)CreateFile (%s)inflateEnd returns %dinflate returns %dinflateInit2 returns %d1.2.3\`Psp0  ` @ X ;x8 h( H T+t4  d$ D \ S|< l,  L R#r2  b" B Z Cz: j*  J V@3v6 f& F  ^ c~> n. N `Qq1  a! A Y ;y9 i)  I U+u5  e% E ] S}= m-  M S#s3  c# C [ C{; k+  K W@3w7 g' G  _ c? o/ O `Psp0  ` @ X ;x8 h( H T+t4  d$ D \ S|< l,  L R#r2  b" B Z Cz: j*  J V@3v6 f& F  ^ c~> n. N `Qq1  a! A Y ;y9 i)  I U+u5  e% E ] S}= m-  M S#s3  c# C [ C{; k+  K W@3w7 g' G  _ c? o/ O A@!  @a`10  @     incorrect length checkincorrect data checkinvalid distance too far backinvalid distance codeinvalid literal/length codeinvalid distances setinvalid bit length repeatinvalid literal/lengths settoo many length or distance symbolsinvalid code lengths setinvalid stored block lengthsinvalid block typeheader crc mismatchunknown header flags setincorrect header checkinvalid window sizeunknown compression method~@~@~@}@}@}@}@}@}@~@incompatible versionbuffer errorinsufficient memorydata errorstream errorfile errorstream endneed dictionary inflate 1.2.3 Copyright 1995-2005 Mark Adler  #+3;CScs !1Aa  0@`@@0w,aQ mjp5c飕d2yҗ+L |~-d jHqA}mQDžӃVlkdzbeO\lcc=  n;^iLA`rqgjm Zjz  ' }Dңhi]Wbgeq6lknv+ӉZzJgo߹ホCՎ`~ѡ8ROggW?K6H+ L J6`zA`Ugn1yiFafo%6hRw G "/&U;( Z+j\1е,[d&c윣ju m ?6grWJz+{8 Ғ |! ӆBhn[&wowGZpj;f\ eibkaElx TN³9a&g`MGiIwn>JjѮZf @;7SŞϲG0򽽊º0S$6к)WTg#.zfJah]+o*7 Z-A1b62S-+ldEw}ZVǖAOIъ OM~-QJ#SpxAaU׮.7׵Y-6]]wll?AԞZ͢$ Faw$eڪ]]FD(koipvk19Z* ,  m86F߲]qTp0ek*1u4yީ%8S1bSWĔՖk1**ykʬHpo].*F6fcTT"eM©g0&):{ϼkZ> 8$,52F*sw1pHkQ6Fzw]cN̵J #pAF]#l8?1(BOgT~yUbL8^#ܖTZ1ObbSyOIV~P-{b-R4٠~^eGnHl/Su6: #jT$+e?yHf'*b#ٽЧ ?&~?$pi;FBzw[keZ~7 Sv8H 3?r$7jnԄYFܨ |OQ;օ U d S - =G\ p&Gw)` /a߫i5&LsZ<#0zMzFM8,9; :R:(q-v,.7/pXqYs3r%w+OQvrtEux܉~OK }!b|tyBxʠz{.lD~m8onlk[wjR1h58ib?mcf+aQ`צedd"fig HINSKyuJcO NZLݘMFGN@E$DD2AsX@*IBCPhTg3U>uW ַVS:R|P~Q9ZS [fYX4])\ZEo^m/_5qϱ٥s\ۼqދ!K7 kfֶԁ-b3Πjp]$^'~*I@VW<âM˟ŏ{ tDCm-@wm.B+(铜>Td"ŀǼϭ~8y$owJ1}05_K^ iϏ은BI#ƈdX܁T̓cQ: rՆ⩗ fn|xK)o%ƭ/3vUuA?)C:|sĵ@͂ Ͳ;bIUeh"׻_HS1޼^Z4eg Wb27_k%8ם(ŊO}do׸Jj3wVcXWP0qB{߭gCru&op-?'Bs ưGz>2[Ȏg; i8P/ _Y=чe:ZO?(3wwXR @hQ+ğH*0"ZOWoI}@mNП5+#*'G| AH=XX?#1jvʬ`p^Y<L~i/{kHwâ hs)aLoD~Pf7VM'(@ﰤ ہg9x+n&;f?/X)T`D1 ߨMߒ.FgTp'Hq/L0UEc?kǃh6ry7]P\@TN%s7@'>$!AxUʰ\3;Y^U~PGl!;b F2ȂpԞ(Q_V:1X: n3 m:@/)IJNv"2x+ٗ Kx.HҥfAj^y9*O]#kM`~b_R 7zFh!1߈Vc0a"j6nS Nr)Υ{t*F8#vufz`rs"WG9^EMvc΍&DAdQy/4Aڱ&S֚E biLQ<6'5P..T&q]w4.6IE? v\[YI>U!lDa>Ԫ΋ϩ7~8A]&nv|oY yKiw\¹9~$ 66nQfq>,o,IӔ 渱{I .H>C-Yn馑gQz tafw0a, Qmpjc5dۈ2yܸو L+~|-dj qHA}mԵQӅlVdkbze\Ocl=c ;n Li^`Agqr<KG k5Blۻ֬@2lE\u ϫ=Y&0Q:Qa!V#Ϻ(_ ٲ $/o|XhLaf-=vAq *q3xɢ4 j m=-dlc\kkQlabe0bNl{WeP|b-I|LeMaX:QΣtԻ0JߥA=ؕפmCij4ngF`D-s3 L_ |Pq<'A  Wh% of a^)ɘИ"רY=. \;l  tҚG9w&sc d; mj>zjZ '}DhibW]egl6qnkv+zZgJoC`֣ѓ~8ORѻgWg?H6K +گ L6JAz``ègU1nFiyaf%oҠRh6 w G"U&/ź; (+Z\j1,ٞ[ޮd°c&ujm 6?rgWJz{+ 8Ҏվ | !Bhݳڃn&[owGwZjpf; \ebiaklE x NT9§g&a`IiGM>nwۮjJZ@ f7;𩼮S޻G0齽ʺŠS0$6TW)#gfz.aJ]h*o+ 7 Z-1A26b+-Sdl}wEVZOAي»IˬO ~M-JQS#xpaA.U7Y-۩6˚w]]llA?Z$㧲F waރ$Ųe]]DFok(vpi91k *Z  ,8mF6]pTqke0*1¶u4%y<8syjHA}X*ݹ1SbSW§ٖծ1k**kypH]oF*.f6TTcMe"¤0g)&Ůޟ:{kZ >8,$5*F21wsHpQkzF6c]wN̵ׄJ# pȄA#]F8l1?(gOB~TUyLbˁ8#^TO1ZbbySIOP~V{-b-4R^~Ge­lHnuS/:6# $Tj?e+y䏼Hf*'˼Ѝb# &??~p$iBF;[wzek~ZS 7H8v ?3$rj7nFY |OQ; U dؓS - \G=&pGw`)/ ai5&sL <:R=Pe6^X7}o5641W0ճ2k3$k%'1&-[#bML"'{ "!$*x(+)`F(> q-q,v.Ț/7pqXsYr3w%vQO+tru՛E~xKO} |b!ytxBz{l.m~Do8nkljw[h1Ri85bcm?a+f`Qeddf"giH IKSNJuyOcN LZMݥFĚGE@ND$A2D@XsBI*CThPU3gWu>V SR:P|Q~Z9[ SYfX]4\)^oEZ_/m5qs<\kg2z &J8 좞V`a/6i\lU,zB\uHƒ=&FW A+Ox]`غ7W>9q߳!7Kk ֩fض-bѠ3pj$]^Ĝ'*~@IWVÕ<ӂMʏş{ Dt͆mC-@mw+B.(>dT"ş~Ϝ8yo$w1J}50K_ ^ϋiBۉI#dXфTQc:r Р fΫnx|)Ko%3/uUv?A)ġ:C|sд@͉ ;IbeU"hH_S1ފZ^ھ4ge ȋbW72%k_ܝ8Ŵ(}OodJֿjw3XcVPW0Bq{gǧurCo&p-?О'sB zGɠ2>[ ;g/P8i_ Y=嗇e:ϏOZw3(?RXw@ Qh+HZ"0*WOIo@}m5N#+'*GA |􏒨HX=#?X1vjʨ`^pYL'!$UxAׯ3\Y;U^GP~b;!lڇF 2p(ԐQV_:X1: 3n :m@I)/NJ2"v+x xKH.jAf^O*9y]#Mk~`bю_޶ Rz7hFм!10cV"ajحn6 SrN){t*8Fv#fu`zrϮsɛW"G9E^vMcD&dA/yQA4S&ֿ EbLil!>aDƋΪ~7A8n&]|vYoᡱ Kyi׫w¡\~9$66 Qnf>q,o,ӹI 散 I{.C>HnY-Qg̰t zfaFF Fn@1n@ޢXrh(pXp,(qt4p@Tp$rq(*pB2 اȧlTD|`4,8JXl|Τ0FZh|H$^4֣ȣn TL>6ک^nzΪB$0:Ωĩ~ĨΨب",6>FNV`jt|bئ̦vh`T>2&Хĥ΢SCoUninitialize CoCreateInstance-CoInitializeole32.dllIPropertySheetACreatePropertySheetPageACOMCTL32.dllqSetLastError-CreateDirectoryA GetFileAttributesAMapViewOfFile5CreateFileMappingACloseHandlelSetFileTime_DosDateTimeToFileTimeGetLastError4CreateFileAUnmapViewOfFilelstrlenA>GetProcAddressLoadLibraryAMultiByteToWideCharLocalFreeFormatMessageAFreeLibrary&GetModuleHandleAuGetVersionExAWDeleteFileA4GetPrivateProfileIntA:GetPrivateProfileStringA,ResumeThreadwSetPriorityClassGetCurrentProcessGetCurrentThreadSetThreadPriorityDCreateProcessA$GetModuleFileNameA'RemoveDirectoryAGetFileSizecGetTempFileNameAeGetTempPathAKERNEL32.dllMessageBoxAGetFocusSendMessageAEndPaintFGetSystemMetrics BeginPaintDefWindowProcAPostMessageA,SetDlgItemTextAwsprintfA5GetParentSendDlgItemMessageAReleaseDCGetDCMoveWindow\GetWindowRectGetDlgItemDispatchMessageATranslateMessagePeekMessageA&SetCursorLoadCursorAUpdateWindowjShowWindowYCreateWindowExARegisterClassAUSER32.dllSDeleteObjectSetTextColorTextOutASetBkModeSelectObject6CreateFontA0CreateDIBitmapMCreateSolidBrushGDI32.dll[RegCloseKeyrRegOpenKeyExA{RegQueryValueExAgRegEnumKeyExAzRegQueryValueARegSetValueExA_RegCreateKeyExAbRegDeleteKeyAdRegDeleteValueAADVAPI32.dllrShellExecuteASHELL32.dllstrchrmemcpymemsetstrncatstrcatstrlenstrcpystrcmpstrrchrXfprintf_vsnprintfmalloc_snprintfstrncpy^freesscanf_putenvremove]freaddftellbfseekWfopenLfcloseOfflush_freopen_iobffwritestrftimelocaltimetimesprintf_fstatstrtol_pctype_isctypea__mb_cur_maxqsortreallocRfgetsstrncmpc__p___argvb__p___argcMSVCRT.dll_exitH_XcptFilterIexit_acmdlnX__getmainargs_initterm__setusermatherr_adjust_fdivj__p__commodeo__p__fmode__set_app_type_except_handler3_controlfpPGetStartupInfoA_strnicmp_strcmpi_strdup_tempnam_close_read_open@D@@D@@D@@@ز@D@@IJ@@IJ@@D@@@ز@D@@ @@l@T@<@,@@@@@@б@@@@@~@@@@@Software\Microsoft\Windows\CurrentVersion\UninstallSoftware\Microsoft\Windows\CurrentVersion\Uninstallmessage_boxdirectory_createdfile_createdget_root_hkeyget_special_folder_pathcreate_shortcutCSIDL_FONTSCSIDL_PROGRAMSCSIDL_COMMON_PROGRAMSCSIDL_STARTUPCSIDL_COMMON_STARTUPCSIDL_DESKTOPDIRECTORYCSIDL_COMMON_DESKTOPDIRECTORYCSIDL_APPDATACSIDL_STARTMENUCSIDL_COMMON_STARTMENULib\site-packages\DATAScripts\SCRIPTSHEADERSPLATLIBPURELIBsno such folder (%s)unknown CSIDL (%s)function not availableSHGetSpecialFolderPathAshell32.dllFailed to create shortcut '%s' - error 0x%xSetWorkingDirectory() error 0x%xSetIconLocation() error 0x%xSetArguments() error 0x%xSetDescription() failed, error 0x%xSetPath() failed, error 0x%xQueryInterface(IPersistFile) error 0x%xCoCreateInstance failed, error 0x%xsss|sssiCoInitialize failed, error 0x%xissi100 Made Dir: %s .py200 File Copy: %s Error200 File Overwrite: %s Runtime ErrorTimes RomanThis Wizard will install %s on your computer. Click Next to continue or Cancel to exit the Setup Wizard.Don't know Python's installation typeStrange\python%d%d.dllPython Version %d.%dCannot installNo Python installation found in the registry.Python version %s required, which was not found in the registry.Python %s is required for this package. Select installation to use:Software\Python\PythonCore\%s\InstallPathPython Version %s (found in registry)Software\Python\PythonCoreCompiling files to .pyo...Loading python...Compiling files to .pyc...Failed to unzip installation filesInstalling files...Running pre-installation scriptReady to installClick Next to begin the installation of %s. If you want to review or change any of your installation settings, click Back. Click Cancel to exit the wizard.Py_OptimizeFlagPySys_GetObjectPyRun_SimpleStringPy_FinalizePy_SetProgramNamePy_Initialize%s%cimport py_compile; py_compile.compile (r'%s')SOFTWARE\Python\PythonCore\%d.%d\InstallPathPYTHONHOME=%sOut of memory!rbRunning the pre-installation script failed Can't load Python for pre-install script (%d)aPyErr_PrintOSErrorValueError__builtin__PyLong_FromVoidPtrPyErr_FormatPyArg_ParseTuplePy_BuildValuePyCFunction_NewPyObject_GetAttrStringPyObject_SetAttrStringPyImport_ImportModuleUninstallString"%s\Remove%s.exe" -u "%s\%s-wininst.log"wb%s\Remove%s.exe040 Reg DB Value: [%s\%s]%s=%s Could not set key valueDisplayNamePython %d.%d %s020 Reg DB Key: [%s]%s Could not create key%s-py%d.%d999 Root Key: %s Source: %s *** Installation started %Y/%m/%d %H:%M *** %s\%s-wininst.logCould not open keyYou do not seem to have sufficient access rights on this machine to install this softwareHKEY_CURRENT_USERHKEY_LOCAL_MACHINEPostinstall script finished. Click the Finish button to exit the Setup wizard.*** Could not load Python ****** run_installscript: internal error 0x%X *** freopen stdoutfreopen stderr300 Run Script: [%s]%s \Scripts\-installPlease wait while running postinstall script...Installation failed.Running Script...Could not open postinstall-script %s PySys_SetArgv*** Installation finished %Y/%m/%d %H:%M *** IsUserAnAdminSetupFailed to start elevated process (ShellExecute returned %d)runasBad user_access_control valueoopsnoneautoforceuser_access_controlinstall_scriptmetadatanametarget_versiontarget_optimizetarget_compilebuild_infoinfotitleSetup %sCould not register window classSetup.exeSetupWindowClassif exist "%s" goto Repeat del "%s" :Repeat w%s.batCould not delete keyCould not delete valueuninstall-script-removeUninstall Finished!%d files and %d directories removed%d files and %d directories removed %d files or directories could not be removedYou do not seem to have sufficient access rights on this machine to uninstall this software%d Run Script: %s%d Reg DB Value: %s%d Reg DB Key: %s%d File Overwrite: %s%d File Copy: %s%d Made Dir: %s%d Root Key: %sAre you sure you want to remove this package from your computer?Please confirmOut of memorycould not open logfiler2. arg is not -u-uWrong number of argsSetup program invalid or damagedThis program is normally started by windowsRemoveCould not open archiveCould not create temporary file~duInvalid cfgdata magic number (see bdist_wininst.py) 8nhklmn     0 8Z@(n, BBB999111)))cR[RABZRYRZRAB[R[RAB[RAAB[ && &&&@JQ1AA1ZQ1111ZQ1AAZ@JQ1AAZQ1AAJ eu eu @ABZ@J@G@F@F@G@AABX@J@AABX@J@J@AA1X@J@G@HRX@G@AAG@ZRX@AAG@JQJed%ed%ed@AA1ZQ1AA1X@J@HQ1AA1X@1A1ZQ1AA1ZQ1A1J  & & RAABZRABZR[R[RABZRYRBZRABZRBW@J@J &R[R[R[R[R[RABZR[R[R[ & & & & & & &@J@J@J@J@HQ1AA1X@J@J@J@J@J@J@G@J@G@JQJ@ABZQ11Z@J@AAG@J@G@GQ1J@AA1ZQ1YQ1[@J@AAG@J@G@1W@J&@I@G@J@J@J@J@G@J@G@Z@J@AA1X@J@HRABX@J@HQ1AA1X@J@J  &  %& & & &RAABZR[RZRAAABZR[R[RABZR[R[@H{SetupMS Sans SerifP} This Wizard will install %s on your computer. Click Next to continue or Cancel to exit the Setup Wizard.P}PhnP}@H{SetupMS Sans SerifP} Select python installation to use:PP}7Python Directory:P}jPhnPP}BInstallation Directory:@B2Find other ...@H{SetupMS Sans SerifP} Click Next to begin the installation. If you want to review or change any of your installation settings, click Back. Click Cancel to exit the Wizard.P}msctls_progress32Progress1P}Installation progress:Phn@H{SetupMS Sans SerifP} Click the Finish button to exit the Setup wizard.PhnP}(wininst-10.0-amd64.exe000064400000662000147560526160010247 0ustar00MZ@ !L!This program cannot be run in DOS mode. $,fBfBfBv(fBfBfBfBfBfBfCDfBhfBfBfBRichfBPEdܯO#  F@e`@.textDF `.rdataL`J@@.data\@@.pdata4@@.rsrcP@@Ht9t9/\DˆHuH\$Hl$Ht$WH IHHH;\H|HHtuH4Ru/3H*RuHtHJUHL Hֹ@u!QHtHULƹ\HmH\$0Hl$8Ht$@H _H\$Hl$Ht$WATAUHPH$EMHDHd$0E3E3HD$(l$ QHHQuLIHuwPt ,QFHtcH׹ӅtKHd$0E3E3HD$(D$ PHHu)HtHHTLǹ H׹3Ht H׹$$LD$@YPLL$@LD$@HT$@HIPHEuCPHd$(E33EADl$ /PHHPHuHrHSPHd$ E3E3AQHOHHOHuH3H.SHL\$PI[ Ik(Is0IA]A\_H\$Hl$WHAHHA3HL$ DBXzGH\$ D$($L@SHL$ DKWSD$8Hl$02UH$tHt2HRHL$ iW;tHtHRD3HL$ mtHtHRD3HNL$I[IkI_EuLc$9zH\$UVWATAUAVAWH$`HHz.H3HLIEADE+dED+LHT$xAA|PKHL$HB Ll$`t3E3Dl$@fE;lHcHHc~*B'LcL>PKuA>PKuN .HcHHD$PFFIFH ;T$DIVHIcHHUHDII+HD$p HuH3H}HUHHр|\HT$XtH}HHQfGHM MHcHD HD$hHD$HH8t?LI9HT$PH3HLAI IMILL$HI9uMFHT$PHMH|Ll$XHM:H3H}H|$hHB|)\Ll$`tXF DNLl$0fD$(FHUL3fD$ Ht*NEFDNHT$pLl$(L$ H3MtDL$@EDHAAՋL$@ADL$@;T$DLD$xE3HT$HMIJ\HNHHH>LD$ HNH\H=>t3H=*'HT$ HMitH rH /lHPNGH&HcE3H3DHT$0}>tHT$0H 1NonH oHMLD$ t[3H$@H3ByH$`HP_H\$UH$@HH(H3HHeHd$hd$XHd$xHd$PHd$`3HUJyHOH oDZHD$XLMLEHD$@HD$hHNHD$8HD$xHHD$0HEHD$(HD$pHD$ Zu3HD$PL ȌH 3DHD$ Iy H>N_HL$PLD$`H0Hy HM9HL$PHUHy HMHL$PHUHP8y HgMHUHtHL$PHPXy H#MHT$hHt#HL$PDD$XHy HLHT$xHtHL$PHPHy HLLD$pHEA33D$(HD$ EHL$`HHUDP0yGLD$pH FmHLDYHL$`HtHPHL$PHtHPXHcHL$`HPHL$PHP7HH KkHH3vH$H]LHHIKHMK IKMCHLHvXu3-FDL$`LD$hHT$0HFH L)kHHH m"H%vhH\$H|$UH$PHH$H3HHLkHpLHD$ [FHoH>DHD 6jDgHKHL$0FLL$ LEHT$0HAt#LL$ LEHT$0HAt3?3HH}HHHfG3H}3Ɋ HDuHMCHH3tL$I[I{ I]H\$UVWATAUAVAWH H%LHTCHKHHACHKHL.CHKHHCHKHLCHaKHHHD$hBH9KHLBHKHLB3HD$pHHMMHMMH JHHt[HJHHpJHH>fH-!HHiHc3HHAHHLAH rHl$hHD$pH-thL%UHe3L-}UH\$`H A_A^A]A\_^]@USVWATAUAVAWHHl$ H"H3HE`HHJMMcHHMAHJHHEAHJHLmAHJHHHE VAHIHLHE?AHMHIH+AHMHIHEAHMH[IHE(A3H9MMHM{HrH9M(hH_H9MUHE8 =3Hu H~ILHH`FH fLDI!CUHMH 63A!k3E~0L56M+IJ 0Htr3IHI;|LuL%c6AIA3E~I Ht5yHI;|HU0λ}uMDEDA@HcHAH;w HH"H+H|$ H~HHf8 U A֋S HM`H3pHexA_A^A]A\_^[]H\$Hl$Ht$WATAUAVAWHPI!DL33IM$Hd$0E3DHȺD$(LD$ >H؋==H$*=HӋHD$@=Hӹ=H QHHtMEIHHϋ<赁HGHH`H$<HT$@<3H7=;s 3H#=GHcwE3HHtDE3E33HD$=HL$DHLl$ =D$HE,H=I=L\$PI[0Ik8Is@IA_A^A]A\_HHXHhHpHx ATAUAVH LHFLL=HFIL9=HRFIH&=HOFIH=HFIH=HMt;Ht6Ht1Ht,Ht'H `AIXIՋ؅t׋H\$@Hl$HHt$PH|$XH A^A]A\H\$Hl$VWATAUAVHHH3H$H33M"Hd$0E3EAHD$(LD$ [<H:L:H֋Lu:H֋j:H kNBHHu-<HEHL$PD=HL$PHH2Hˋ :Iչ:Iֹ93H:DG-HcDuHHtgd$@HEH+Š H„uE3E33H;Hd$ HS,LL$@DH:D\$@HA,AHGt H DH ;I:H$H3%lL$I[8Ik@IA^A]A\_^H\$WH`HH3H$P3HtEHD$0D$(HD$@DD3ҹHD$ 8HT$@HL$PDHL$@8D$PHL$P/:LHcH+HL PHH ]LDHT$PA;3H$PH3@kH$H`_LISMCMK VWH8HH3H$ IsLHL$ L蟂tmt$H `HHCH _Hc~DE3A;L$XH _LǺ;9HT$ C:L-CHT$ HA0:yH \`HtHBL$XzH$X.赀HtBH=BHu/H$X| H `HtL$XHwByH$ H3iH8_^HHXHhHp WH@H`E3H@EA@ 8HHu3iHT$`H6Hd$(d$ E33HEA7HH7HtHd$ E3E3AQH7HH7.HH\$PHl$XHt$hH@_H\$WH0H=JHtQH=^uG9LJd$(EH IPHMAHHT$ S5HHH^9H\$@H0_@SUVWATAUAVH`H#H3H$PL$E3+TM+TMuM1"HcHف|PK;{V4tH#A3D9stHcCHH+HcCH+H I+SH{+AHcH+pHHHT$@4H@HL$@LE34tgDE3Lt$0AHHfDt$(fDt$ {HHtPLcHH}|H3HHH觺HIEI4$55H?3H$PH3fH`A^A]A\_^][HhHL$07HL$07HL$0E3E33D$ 7uHh@SUVWHHQH3H$Ht X7&HT$pP7HJ7E3ɋиgfffE33H ~?HL$h3ɉL$`L$XL$PL$HL$@L$8L$0D$(D$ 2HH2HHv2H3H=CL CPHDHɉL$ HO2HI2H3P H=qCL jCDHHɉL$ H2HH1H 2HT$pHG63H$H3 eH_^][H\$Ht$UWAUH$@yH+HH3HHQH33D$`HD$hHt$p13HuHD$xx5HEq1L-B>HL$`LmHuHES5fuH VL>H=E34H=HML43\1H65)5Ht$XH\$PHt$HHt$@|$8D$0LEE3I3ɉt$(t$ 4HȺH4H4HHH3cL$I[(Is0IA]_]H\$WHPHkH3HD$@HT$0H=43}4p4DT$0L$"H L 2HL$ LH3t H8fH=2u ~H~ H8H 6\SHt%Ht H!AH=Hn!tH;!3H8H|$DLDAAu,DиD;rDED;D}HuBzAsFEtAIDEAuD;rDиqAkAA .qAn^A AP[AIDACEDACEDACEDACEDACEDACEDACEDACEDACEDACEDACEDACEDACEDACEDACEDEEAiDAiDHE AAHAAIDACEDACEDACEDACEDACEDACEDACEDACEDACEDACEDACEDACEDACEDACEDACEDEH@EtAIDEAuAiDAiDAE AH|$H\$DADAqADAEAEqi+DAiD+ںED+CD;r DD;rD=r;rH\$A _WH!H\$Ht$H|$DEHH5AEt#t AHH3DD3AuA !AHD3AHADHAD3HD3AD3 D3CEAHADHAD3HD3AD3 D3CEAHADHAD3HD3AD3 D3C EAHADHAD3HD3AD3 D3CEAHADHAD3HD3AD3 D3CAEHAHDAD3HH D3AAD3 D3CEAHADHAD3HD3AD3 D3CAHADHAD3HD3AD3 HArUEID3AHEAHADHAD3HD3AD3 IuEt AHH3DD3AuH\$Ht$H|$AAHHXHhHpHx DѽD#EDЋAH5#DDAEt+t&AHHH3ADD3AuHZA AAHD3SAHADHAD3HD3AD3D3CEAHADHAD3HD3AD3D3C EAHADHAD3HD3AD3D3CEAHADHAD3HD3AD3D3CEAHADHAD3HD3AD3D3CAEHAHDAD3HH D3AAD3D3CEAHADHAD3HD3AD3D3AHADHAD3HD3AD3HArYEIHAD3EAHADHAD3HD3AD3IuHEt&AHHH3ADD3AuH\$Ht$H|$ AAA#AA#Hl$A3tt3HuH(LLLL+A CIAIIuH(HHXHpHxUHhH0HVH3HE AED$ L HH |HT$ HMgHUHL$ YHT$ HMK@t HM"t&HUHL$ &@tHL$ u3ދHM H30L$0I[IsI{ I] Hu3@SUVWATAUAVAWH8Hi(DqH9LALMXHu`Dm4]@DUDLII+DMhIHH+ЋE,A$E0HT$$HE8HD$LMlMLL$H4$$HT$ AsGAHAJAH#"uG@ʸA#AEAAD+EuIAEAt+D;sHAAʸ#DD+AsGAHAJA$H#ȋ4'@A$ʺH $#Ћ4@։$D+tD;s'HAAD;sHAAʸD+#A+D$;-+;$v HT$LJEu*$+LA;D+IIAAulA+D;sG$A+LA;sXD+M+ICAuLJE;s;AE+IIAAuLA;sD+IIAAuML+Av7AKJAAIIA@AAAHA@AAuEtuAAH4$IAAv AAIALL$YIH+ȊAHIA@AAA@AAwEt#AH4$IAAvAIA LL$H4$I;sBM;s=HT$ t E %H2Ht2HK2ID$ EAE+AE|$H+D+D+HGAI$I@Et$ID$ADUD#ÉE@H8A_A^A]A\_^][3HtaHQ(HtXBAA HA D@DALHB HB HB,B4HB@HHHHB`HBX3BDøH\$Hl$Ht$WH HHtZHy(HtQy3Ń0}t |/*HW8Ht9_(t HI@V8Hg8HΉo_(H\$0Hl$8Ht$@H _H\$Ht$WH HMA81AXHuAHa Hy0uHa@H!HA0HA8H !HAHDHK@HC8S0HHuF1HC(H`8HtHK@HS8Hc(H\$0Ht$8H _ELºEHtJLI(MtAy Aa@AaD3Ã+EADEA wʸEQDAA#AA@͸H/Ah AlHAXH7HA`HHXHhHpHx ATH HY(E3HL9c8u!K(DHN@V0HC8HuD9c,u K(Lc0{,+n{,HV;rHK8DH+#Dc4C,S+{4K4;GHK8H+D#+tHVHK8DI+#k4{4C4K,;ADĉC4C0;sljC03H\$0Hl$8Ht$@H|$HH A\ÉT$USVWATAUAVAWHHXE3ۋLHHy(HL9YL9u D9YDg@wD D]HDENMVM.E~LUDMXLmD}EDM`C ;8t`vHXA_A^A]A\_^[]EAEIALmD;rDgAt H7`At H7KHO Ht AGt$DeAHUDeًOAE3ۉGEA"E@AEIALmD rHG HtD`Gt6ADeHUAEAADeۈEڋO&E3ۉGEA"EAEIALmD;rHO HtAĉAHG AH Gt(DeAHUDeًOAE3ۉGASEAGHG HtLXG_HA;AG߅HG HLHMPH+WH;vs+qEAEIALmD;rHG DgHHtD`Gt$DeAHUDeًOAE3ۉGEA>DIIGtODIG)_HD+LE3LmD9_HD_HGtyEAMHG E(IHtHP HtOH;H(sD,GHEtA;rGtHUODE3ۉGD+HEELm HG HtLX D_HG1EtjAMHG E(IHtHP0HtOH;H8sD,GHEtA;rGtHUODbE3ۉGD+HEEDmHHE]`E~IFEXAFHEIwD3Dg@9w,u?|A;^rI`SD9_u) 9EtAEIALmD;rGtRAuIE333HUAGfDe؋OGE3AEDE`DMXLUHG D_HtH@GAAȸB+k;uzA$<tH2IF XAÃD9_(u7O(E333ɉGgAAԉGAFLAA D'7;O(vHM2떺H'2IF HG HtLX0LmDE`DMXLU]PGtSt g΃A+"EAEIALmD rAA;t H>12OHEAgDoHE<E;EGE;EGE8HUEIAH]DMXLUE+E+LD)oHLm]PDMXLUEAEIALmD rAAĺ#AAA#AEGAFL D9_  E333eDE`DMXLUE3ۉGAFL ASZQD9_t;θ#A+E)AEIALmDrAA΃GAătBttuHF$tMt*OJD9_"E/AEIALmD rE+EFDGEt4OAIH+D9_t4DMXLUE3ۉGASAFLAAEDM`A%AD9_AE;Ot H3#7EAD9_D9_"EYAEIALmD rD;gH"EGHAIADMXLUG4;v W,+++ЋGHHW8;v GHIH+ыA;AGD++I+DMXGHBAIuLUQAD9_HGtTVDE3ʃf@+щVDr%N@LL$0F@AIAN@VDsHN|HT$0!DGHHN|G )GDW H~|t#DOHDW DO 3H\$8Ht$@H _3HtHI(Ht9 u9ADu øH\$Hl$Ht$WATAUH HLH=H4Hz(H'HB0HHz8HK@AAAHHu 3H9o8t&O(AEHK@S0HHu HK@HS8IHAXu AHHd L_XHHHL;rMu\L}Et A|A$E'LE3I_A ~LEA̺pLEI@AHtD#HuPA-uA+uD#HEWAMA$CEu(A0tA 8;xt ;XtA&A AuA0u;xt;XuDcHM@3҃ADAEJAȃt Ã0At.AD$A<w A;sA;r"u;vMuH@uMIE3\AD#HA@u@u<ƃtw u)A;v$["@t@$AMtI@t߀}t HMMtM>@8}t HE3L\$@I[0Is@I{HIA_A^A]A\]H83EL9D$ Hu H 3iH8H8d$ IELHHGH8H8=QELHD$ u H 3H8H8IELHHD$ H8Ht7SH LH 3<uYHoYH [@SH HH Hu 肂?H HALE3H [H%H\$Ht$WH HHw|HHEH MHu K?H (L3uHHu,9GtH荂t X X HgX 3H\$0Ht$8H _H\$UVWATAVHH0HeH=1HHu@HukXXHHu_Dr=A1Ht HȻH+H;}HH H;sHTHHH蛌HEHHtLHSHzʎHL轎L;hH;_J\ HIHEHH3LHHHEHA=E4HEHII+LI HHMHAtHMHHkH= d$(He@Hd$ L3D3DuW*Ht$d$(Hd$ DL33tEdIc̺^HE@HtDL33Dd$(HD$ su HM@Ht>HM@>HM@DfD4AHM@HD+HAL33Dd$(HD$ %tHM@3BtHM@H2P(3H\$`H0A^A\_^]@SH Hٹ)3HbعH [H\$Ht$WH HH3ۋHuUE-ƑHHtU腐H\$0Ht$8H _H\$Ht$ WATAUAVAWHHkH3H$HHct$L3ۋHuOU(U"3DB0Hu%UT ;5eLLIL=bAMkXKBL AA#fK Ft!uT oJ !A;t ttKT8u fO7wfDwf__ H_(H_ H_u_K H\$(HD$HHD$ E3E33J !#L$HO_ _fDwK HT$`J !MTGDt$`t $ fG9\$tu 9\$xuH_ hHT$@HL$tYHT$PHL$@AD$\DT$ZDL$XDD$VT$RL$PL$0D$(DT$ 輕HG 9\$lu 9\$puHG dHT$@HL$lHT$PHL$@fD$\DT$ZDL$XDD$VT$RL$PL$0D$(DT$ BHG9\$du 9\$huHG \HT$@HL$d tiHT$PHL$@tUD$\DT$ZDL$XDD$VT$RL$PL$0D$(DT$ ДHG($GGfG_y(RR AH$H3L$I[@IsHIA_A^A]A\_HHPHHL@LH SVWATH(H33HuQA3HtLd$`G@H讦t*t%HcHHLHkXIH H HLB8u%ttHcHHHkXI A8tP@u*HtME3HT$XH諛H׋'H^H(A\_^[LD$LL$ H(LL$H@H(LD$LL$ H(LL$HDH(HHPL@LH H(LHE3H(LD$LL$ H(LL$H$H(HHPL@LH H(LHE3H(H @SH u;LHcȺ<HHu$PHˉHhHuv3HHH0HHt H;E3HEHILIHIHkXLIt ItMuIH0Iu3H [H(;=t艦H H(@SH HH H;r>HtH;w2HH*H+HHHH?L謊kH [HK0H [H%@SH Hڃ}zkH [HJ0H [H%HaH;r5HH;w)qH+H*HHHH?LH0H%} rވHJ0H%ffHL$L\$M3LT$L+MBeL%M;sfAMAM;uL$L\$HLD$LL$ USVWHHXHeH3IHDB(HMHu0M=\HtHtLM@HMH;HEBGE3H}؉]H}ڗHtMx HE HU3HX_^[]LL$ H8HD$`HD$ H8ffLM t$H+t(HItu IHHHIv&I~LLIM3IMtIHItx$tuHItiHtbHItV$tSHItGHt@HIt4$t1HIt%tHIt$tHIu"-/H HL$ *3LEHHHHHH\$HHt$PH|$XH0A\A@@SH ILHHu.$AHIHHt3.H [HT$LD$LL$ USWHHPHeH3HHMDB(Hu;.(KHtLM0HME3HEEBH]H]xM؋x HM HU3.HP_[]LD$LL$ H(LL$H8H(LMCMK H8IC E3ICH8LL$ H8HD$`HD$ H8LMK H8IC(ICIc_H8LH8IC0ICIC(IC<H8LMCMK H8IC E3ICH8LL$ H8HD$`HD$ H8HHHHPL@LH H(HPH(HHHHPL@LH H(HPH(HHPL@LH H(L@`H(HHPL@LH H(L@lH(@SH@HcHL$ yHD$ ~LD$ ?DH@DXA|$8t HD$0AH@[@SH@=HcuH3X%YHL$ 3HD$ ~LD$ A?DH@DXA|$8t HD$0AH@[@SH@HcHL$ HD$ ~LD$ >DH@DXA|$8t HD$0AH@[@SH@=HcuHKXVHL$ 3HD$ ~LD$ [>DH@DXA|$8t HD$0AH@[@SH@HcHL$ HD$ ~LD$ =DH@DXA|$8t HD$0AH@[@SH@=#HcuHgXVHL$ 3*HD$ ~LD$ w=DH@DXA|$8t HD$0AH@[@SH@HcHL$ HD$ ~LD$ =DH@DXA|$8t HD$0AH@[@SH@=?HcuHXVHL$ 3FHD$ ~LD$ <DH@DXA|$8t HD$0AH@[@SH@HcHL$ HD$ ~LD$ .<DH@DXA|$8t HD$0AH@[@SH@=WHcuHX%YHL$ 3\HD$ ~LD$ ;DH@DXA|$8t HD$0AH@[@SH@HcHL$ HD$ ~LD$ B;DH@DXA|$8t HD$0AH@[@SH@=oHcuHXVHL$ 3vHD$ ~LD$ :DH@DXA|$8t HD$0AH@[@SH@HcHL$ HD$ ~LD$ ^:DH@DXA|$8t HD$0AH@[@SH@=HcuHςXVHL$ 3HD$ ~LD$ 9DH@DXA|$8t HD$0AH@[@SH@HcHL$ -HD$ ~LD$ z9DH@DXA|$8t HD$0AH@[@SH@=HcuHX%YHL$ 3HD$ ~LD$ 8DH@DXA|$8t HD$0AH@[@SH@HcHL$ AHD$ ~LD$ W8DH@DXAW|$8t HD$0AH@[@SH@=HcuHX%WYHL$ 3HD$ ~LD$ W 8DH@DXAW|$8t HD$0AH@[@SH@HcHL$ UHD$ ~LD$ 7DH@DXA|$8t HD$0AH@[@SH@=˕HcuHX%YHL$ 3HD$ ~LD$ 7DH@DXA|$8t HD$0AH@[@SH@HcHL$ iHD$ ~LD$ 6DH@DXA |$8t HD$0AH@[@SH@=HcuH'X VHL$ 3HD$ ~LD$ 76DH@DXA |$8t HD$0AH@[3Ã@SH@HcHL$ qHD$ ~LD$ 5DH@DXA38L$8t HD$0Eu_uH@[@SH 3҅u_uH [@SH@HcHL$ HD$ ~LD$ 5DH@DXA38L$8t HD$0Eu_uH@[@SH 3҅u_uH [LH;t MtL+A HIADJuH;Hl$ WATAUH H\$@Ht$HLt$PN4MIHLffIIL;wDHHAՅHOHH;vLHH;t$HtH+fD HIȈDJuH+I;wLt$PHt$HH\$@Hl$XH A]A\_@UATAVHMILHu!HtHA^A\]MtMtHH$0H$8H$@L$LjL$LLE3ff3III+HHpHw&MLIINt NHHIHAԅ~6LHL;t+ML+fffffA HIADJuIIAԅ~3LIM;t(MM+ffA HIADJuIHAԅ~3LII;t(LM+ffA HIADJuIIfH;vHH;sHHAԅ~H;wHI;w HHAԅ~H+H;v HHAԅH;w6LHt!LL+A HIADJuH;uH{HH;s#H+H;vHHAԅtH;rfDH+I;v HHAԅtIHH+I+H;|&L;sNt JII;"LI;sJ\ NIL;LL$H$@H$8H$0L$HA^A\]H\$Ht$WH HHHu HjHu\HwCH HHDL3LHHuo9tPHIFt+HvH7F 3H\$0Ht$8H _qHTXH;H@SVWATAUH0I؋LLHHut 3!3t3Ht҅tH\$xHC@H#qt*t%HcHHLDHkXIH zH zHLB8u%ttHcHHHkXI A8t[H 3H|$ HtTΉt$htGKxHHH HȉL$`uM;u3H|$ A $ILd$( tA$HHH0A]A\_^[ffMtuH+LItB H:uWItNtJHuJ ffwHJ H;uHII~vHLI3It H3HHÄt't#HttHtt tuH3@SH H HtHHHtH [@SH ̹U̹T@SH })HHBHH2HBHHH [H;s-H\$WH HHHHtHH;rH\$0H _H\$WH 3HHH;suH HtHH;rH\$0H _H(HuHAHtH3H(H(HuHHtH3H(H\$WH H=.tH #覾tսH&H uZH *HˇH=̇HHtHH;rH=ǮtH 9tE33AP3H\$0H _H\$Ht$DD$WATAUAVAWH@EDS="D%H $>HHD$0HH  HHD$ LHt$(LHD$8HH|$ H;rp 'H9uH;r_HH&HH ƄHH L;uL;tLH\$(HH\$0LHD$8HHD$ HH GHH 4EtpQEu&WQASA"H\$pHt$xH@A_A^A]A\_E33fE3APX33DBK̺3D9@SH >x<E3AP@SH =su>G<H [MZf9 t3Hc @ HHȁ9PEu f9Au3v 9H\$WHHL$00AMZH=fD9t31HcHǁ8PEu f9Hu3ۃv 9É$:u"=u=`;'u"=bu=5;躹Yy `HHy Zսy Gt21D$lT$pA DEL3H$uD$ u$uH$HĠ_H(/H(RHL$HH H؀HD$XE3HT$`HL$XCdHD$PH|$PtAHD$8HD$HHD$0HD$@HD$(HHD$ LL$PLD$XHT$`3c"H$HdH$HHHJH~H$H~ ~H_HD$hH_HD$p€~3H =~u } H^HĈH }H\$Ht$UWATH$HHH_H3HAكtEd$pHL$t3A覩L\$pHEHML\$HHD$P LHT$@IE3bHt7Hd$8HT$@HL$`HL$0HL$XLHL$(HMMHL$ 3\bHHHHHt$p|$tHEi3ɋWHL$HDuu t`HH3IL$I[(Is0IA\_]H\$WH HH ~HHHHH\$0H _H H%~H(AAHP|HH(H%~H8HD$`HD$ H\$Hl$Ht$WH0HH ~AIH'~DLHHHt!LT$`LT$ H\$@Hl$HHt$PH0_HD$`HD$ JH8Hd$ E3E333wH8H8Hd$ E3E333WHd$ E3E333H8HD$`HD$ -H8@SH +H [@SH H [@SH H [HSVWATAUAVAWHPE3EADpDpDpAN@KLH$  H$M H$h  D5AD=_D=_H ȿHHD$@HD80H wHt$HHH XHt~HDHHeBH6HHuDLHPH AhLt$ E3E333RH Ht L5H ')|! k<$LfD956tk<ȉ$fD95rt#xtDŽ$+k<$D$D$H$HD$8Lt$0?t$(I$HD$ ELy~3ҋk{tD9$u I$Dp?I$D0H$HD$8Lt$0t$(ID$HD$ ELz~3ҋ{tD9$u ID$Dp?ID$D0$Z $< $6 GD~ELǍV@I $(I?-uDnHH聻DEiD$0@9<+:| @:?:udHHCkR3H(HHXHhHpHx ATH IHHHt?Ht?HtHt2EtAu'IcL%vRI 6HHHu35HtH;v"MHH3H\$0Hl$8Ht$@H|$HH A\HyQHuQHeQHQL Q3ID@; t+IЃ-rAw ÁDAFHADH(Hu HSHH(H(Hu HRHH(@SH Hu HRHLRHtLP;AH [@SH cHu RHu HjRH3H [@SH HHu !CHu H/RH3H [@SH Hu Hu HQH3H [@SH HHu CHu HQH3H [H\$Ht$WH 3HHHugS\A$HtDA@W}.ʸy-AЋFiyD3D;|%D+D;|D+D;|D+SE.L w]AAH]SD[iҀD…LDȺIIHD9|ʸE.HcʉSE+D[ /c L$Iиųk+AKA иSiDAAЉSk聅Hd;PAELl;XHd$ E3E333@SUVWATAUAVHH7,H3H$IHt Ht 3HcHHDH"3DfHA8LAAxC6Ax_+HtHHHLL+x8;oAL%.I $MHuI $L;tHfIAL;~HHHxHHu }; A4HL$0LLź藍uaLD$0AHψD0HtH݀;t HÀ;HhH$H3{HA^A]A\_^][Hd$ E3E333!t$(H!t$ HT$0E3AHHt3HoHt-HUHL$0輍tLD$0HHuE3H ~EQD3MHHXHhHpHx ATH Hw+Ht&AAAL$iHHu( 3H\$0Hl$8Ht$@H|$HH A\IԹ`,HHu H褂IԹ  HCHu H 脂H;Ht%H7H;tHA`t'HH LƋHtHHSHt%HK'H H H3HCD HCD HH\$Ht$H|$ ATAUAVH0LD3v3eHHD$``HH' uHHtH;tHA`s'H MAHHHD$ HMt)HT3IX MAAẺ LA HHHuLD%2uCHH 7L 7I(H:I@H6;A 9; KHIHHH\$PHt$XH|$hH0A^A]A\H(E33D$0HHLHt)H<sH KLD$0A3\HH(H(H KGH%KH(HKL)3I; tHr3HHIDH\$Hl$Ht$ WATAUHPHb&H3H$@3HHNuNu =)\H-KALhHA3ɅL-KAf5MInDA|$u*LItE3E333Ht$ I#HHHtH(H5?Hu H>HtH(H5>HHtHM+HILl$pMcHtE=MHI?3ɅuHfB94hfB9 hHHHuH5u>H+HE3L9mHcHLxEtfL9ltHLHHHDHL9luHcHH;H >A%Ht{rH5=H+HsLdM.\EyߍG;tLcHL;^HHHHcL$LlM.Hy=D9l$xtuIH zHHtUIMHHuQHD$pHHGfD*HEIE>u*HwEt IwM.E3E333Ll$ IqwM.HHfuH+HHH\$Ht$WH H~<LcHHHHt4ILHuH<=t4<t.HHHuH9<H+HHt$8H\$0H _H+<HH\$Ht$WH H3HHt[H9 t HH8uAHcHHHuH hH HtH+HHH ;HuH'HH\$0Ht$8H _H\$T$UVWATAUAVAWH0E3LAHuL!M=IHHD$pHL;D8hH5 ;EAH;5;utHAHu IYHL9.uHcHHHuH hHEHtH+HHHH/HuL/H|$pl$xH5:Ht8L9-:t/Ftj H$H0A_A^A]A\_^]Et3߹H*:HtL(L9-+:uH:HtL(H59HHtHHA+LcHt?HMI0uHA|=A8\HHHuH59H+HE3L9mHcHL,tEtfL9ltHLHHHDHL9luHcHH;H .9A_Ht{rH59H+HsLdM.\EyߍG;LcHL;pHHZHcL$LlM.H8D9l$xttIlHHHHtVINMHHP{uRHHI+HT$pD*HEIE*:u*HrEt IrM.E3E333Ll$ IrM.@SH Ht HtMuDs_H [LM+ACItHuHu:"3@SH R9;gDG؋H [ËVD PDHHXHhHpHx ATH =-D3HAHhrHHu(t$8=DDD;AAGA;uHl$8Ht$@H|$HHH\$0H A\HHXHhHpHx ATH 3HHAE3HHiHHu*9Cv"]8DD;sCAAGA;uHl$8Ht$@H|$HHH\$0H A\HHXHhHpHx ATH 3HHAHH謭HHu/Ht*9Cv"7DD;BAAGA;uHl$8Ht$@H|$HHH\$0H A\H\$Hl$Ht$WATAUH 3IHALLHIHHu/Ht*9xBv"J7DD;`BAAGA;uHl$HHt$PHH\$@H A]A\_ffHHHtfHt_uI~IHMHLHI3I#tHPtQtGHt9t/Ht!tt uHDHDHDHDHDHDHDHD3Ht9t HHH;rH\$Ht$H|$UHH@HًHMIk3Hu8@8ut HE3H\$PHt$XH|$`H@]HU9ruH_@8utHM ft3DtH@83t ;u HC;tH;l@8ut HEHfE3 LI[IkIs ISWATAUAVAWH@MyM1AIy8M+MLHfIcqHIKMCH;7HH\ CL;CL;{;tHL$0IIЅ~t}csmu(H=]tH ]mtH]KAIIrYID$@SLcMHD$(ID$(ILIHD$ 3sYH;793MA 3E3M+Ǩ t;39v5HOAL;rL;v H;sHLul DIcqHH;7sUHHHߋCL;r9CL;s1EtD;+t1t;kt(;uHT$xFAD$HDCMAH;7rL\$@I[0Ik@IsHIA_A^A]A\_H\$Ht$H|$ATH L%"33Iu&HcƺH H:>H HU2t&H$|ɸH\$0Ht$8H|$@H A\HcHI$3H\$Hl$Ht$WH $H$"H+Ht{tH1HckH#HHuH!HKHt ;u1HHuH\$0Hl$8Ht$@H _HcH!HH H%2H(H3]1H( H\$Ht$H|$AUH HcپH=6uN,ʪHHL-9!I|ty({HHub 3X fHI|u-0uH?j& 3 I\$jH \!1H\$0Ht$8H|$@H A]H\$WH HcH= HH<uuH轭H H\$0H _H%H1HHXHhHpHx ATH MQ8HMAHIHHII\L:_DDUAA#AfDDEtLMHHH\$0Hl$8Ht$@H|$HH A\H\$Hl$Ht$WH Hڅxg; oWs_HcH-wWHHHkXHDH<u;=u%tt u -HDH3 H\$0Hl$8Ht$@H _H\$Hl$WH xq; VsiHcH-VHHHkXHDDtEH<t>=u'tt u 3-HDH 3 H\$0Hl$8H _H(u Mx1; Vs)HcH VHƒHHkXHDtH| T AHH(HHXHpHxL` AVH HcLIL5UHkXK4|3 u4O |3 uHL3k-#D3 tK HL\.H\$0Ht$8H|$@Ld$HH A^HcH "UHƒHHkXHHLH%.H\$Ht$H|$ATAUAVH@HDE3^ suI3HT|$$@LcJHH\$0JH H;C{ u< { u!HKN,u DhDl$(C EudHK;-Ct HK3-HHEu?CH3LTK+H.袋.HLIIH?LDDd$ HXHHSD;XJHD$0HtsHcLSIЃmS I H H;s@H0@ ` HXHD$0|$ HcHHHkXID[DD|$ }AH\$`Ht$hH|$pH@A^A]A\HHXHpHx ATH0HE3D`AAD$ Esˀy+u+Su@uHc|$HuD H֋HHHLIRHkXIȈ\IȀd8IȀd8D$ H\$@Ht$PH|$XH0A\@USVWATAUAVAWHHxHe H3HE3McHc}}}F\LPF DA:LcmhA;,LcupA;DWE;H AQDL A+A;}b%} A+ƒA…uAkd;u#lAiҐ;AG$%} A+ƒA…uAkd;ulAiҐ;u~E謶HMKHMjHM艺+AQDCADe]D}DmDuDAAADAAD+ʙALHcHFHcHimHIcHHcEH RIIE3҅D$@A tfD$\YA@A T$HDt MI:A rIA tLt$pA@tMFEFA@tMcFEFLt$pA@t MyIADu A rEEyA AE;EODt$`IHH#ʉL$HAAυMt 3IIcHLB09~AƈHLt$pH+HÉD$DEt ;0HD$D0uAgu=A5E;EOA~%A]HcEHEHtH؋AIH IAHcHEHMDHL$0L$xLƉL$(HMHD|$ AtEuH tHUHAguuH L~HUHЀ;-uAHHE3҉D$DD9T$\FA@t1AsD$L- AtD$L+|$HAtD$L |$HDd$THt$hD+d$DD+A uLL$@LAԱ LL$@HL$LLƋIAtAuLL$@LAԱ0|$D39D$Pti~eHDHHMAHE3҅u+Ut$LD$hLL$@HE3҅uHt$h%Ht$hADD$@LL$@LƋHE3DD$@Ex AtLL$@LAԱ +E3DD$@HEHtH*SDD$@E3LUH}T$XAL fD'EYD8Ut HMAHH3JH$ HA_A^A]A\_^]AIt7Aht(Alt AwuA 뗀?lu HA AA yA<6u4uHAZ<3u2uHABIEDC AD|HEA*uAID$TfAD$T AčDHЉD$TFA tAA#t1A+t"A-tA0$AAA AADT$xDT$\DT$TDT$HEDDT$P迪謚38EH(Hu蚪臚AH(HHXHpHx HPATAUAVH MMHL33HuD13MtHA[G@Hbt*t%HcHHL>HkXIH H HL^>B8u%ttHcHHHkXI A8t蚩臙u(H(LL$`MIHA֋H׋H[H\$@Ht$PH|$XH A^A]A\H8LL$ MLHH H8H8LL$ MLHH zH8H8LL$ MLHH #VH8H8LD$ LHH E32H8H8LD$ LHH E3H8H8LD$ LHH E3H8H\$Ht$WH03Oc_\$ ;1O}eHcH ?H<tPH At `tlj|$$|1H>H H0zH >H ML>I$돹H\$@Ht$HH0_H\$Ht$WH A3H$<u?At69+y~-HSDNj0;uCyCK HKcHt$8H H\$0H _@SH HHu H [4gt C@tH]^3H [H\$Ht$H|$ATAUAWH0D33N3A\$ ;MLcH=J<thJBt^XHc=J At3Au6A;t#Ɖt$$EuAtA;AD|$(H=J@XpADH\$PHt$XH|$`H0A_A]A\H\$HL$WH HHuWHHWH\$8H _̹HHXHhHp HWH HHKHcu肥 K 4@t f"3t{HCHKC{C u/7UH0H;t)UH`H;u QuH譿C+HS+kHBHC$ȉC~Dŋ&.W K?t#tHHH49HHkXH H |A t3ҋDBEHHKD$0HT$0D-;D$0H\$8Hl$@Ht$HH _H\$Ht$WH IIHH; udM9u=H HHu3KHD$PHLHtmE3tfHe@?lHuE3E|$kt$\E3߃E|$<t>D$Lt$\D9D$`tD+t6H\$hD$4HD$ AcAd* RAg~vAitXAn<Dt$4AƄuDt$LHME HEHDt$4Ht$pLd$`ADl$9I3Ht$pR Ad-$T$@ Iك-u HD$xH@8+u(Ll$`Dd$HDt$4ID+DQE3ɋD$<Dd$HLl$`Dt$4D9L$P@EDb3^AĹD+tSHD$xL$XLM@<HHELD$xHUHHD$ $IAȋD$D$Xt$\D9L$PtD+t6H\$`D$4H&D$%~nA;HT$`辛E~fD D 螀 A;t HT$`芛ArE3 E@t fD#qD#iA;t IԋIA;IIsE>Au' pD8et HMD$h\$h38Mt HEHpH3H$HĀA_A^A]A\_^]H\$WH HcHtYH+u @u ;u@`tH贽H;t訽HWu 53ۋܼLHHAHH MkXBDt N3H\$0H _H\$L$VWATH Hcكu~ ~ xe;As]HHHL%BHkXIL8t7RID8t v~ ν}~ U~ BnH\$PH A\_^@SH AHt"AtHI.$c3HHCCH [H\$ UVWATAUAVAWH$0"0H+HH3H 3EL!|$DHcEu3Hu}!8}mLLHIAJ Ld$PMkXAt8L|$`@@@t@u AШtAD t 3ҋDBgtqHJAD耎3HT$\HH9YJ I ?}t @p,!|$XI݉D$\EM@ 3 D$LH"JA|Pt ADLL$aAD$`AdPHT$`It4IH+IHHL$@AHHAHHL$@Hd$8Hd$0L$\HD$`LD$@A3D$(HHD$ DNHL$PHd$ HEH LL$XHT$`I E"A+|$DD9d$X|$LLd$PHd$ HD$` J LL$XHT$`I A|$XD$Dz@t@uE3f fD$@AHDd$LDd$L@t@u:L$@Θf;D$@ugEt!A AfDd$@諘f;D$@uDD$DLd$PA+A;s&H!J ADLJADP\$LR\$LHJ AD3M@ES D|$DH 3AA+A;s'A$I< u AHHHHHrH!\$ H DD+HD$PH [H D|$DL|$`I LL$HH /|$HH H+HcD$HH; Aĺ A+A;F@EH D|$DH 3AA+A;s2A$If ufAHHHfHHrH!\$ H DD+HD$PH y H D|$DL|$`I LL$HH M|$HH H+HcD$HH;*Aĺ A+A;;EpA HL$p3AA+A;s/A$If u fDHHHfHHrHd$8Hd$0HD$p+LD$pD$(U +3DH HD$ %D3HD$PHd$ HcH EH X H HD$`LL$HH D+t t$HD;D;AA A+A;L|$`t\uK]w rw1I H!|$ LL$HEI{|$H3뤋PwxHD$PH HAD@t A}2vv =+|$DH H3H$H0A_A^A]A\_^]H\$L$VWATAUAVH ALHcuv pv xs;= skHLIL5 HkXKLtEKDtDIԋ v v Z v u eH\$XH A^A]A\_^@SH@HL$ HD$ DH@BY%|$8t HL$0H@[@SH@HL$ 3HD$ DH@BY%|$8t HL$0H@[̺骓̺鞓̺钓̺醓̺z̺n̺b̺V̺J̺>̺2̺&̺̺̺̺̺W̺Wޒ̺Ғ̺ƒ̺ 麒̺ 鮒3f;@SH 艒3҅uf_uH [@SH ]3҅uf_uH [@SH 13҅uf_uH [@SH 3҅uf_uH [LEIA@wA  HAw EtD;tD+AH\$Ht$H|$UHH@HHHMI?Hu(rb}t HEkHtHExuHHT}tKHM>H+ >HU虑HU苑HDžt;t+؀}t HMH\$PHt$XH|$`H@]H(=]u-Hu=r*bH(HtH(E3H(H\$Hl$VWATAUAWH0-IE3E3E3ۀ: EyEHLuI߀; t;at/;rt#;wtqa37 3A  IA׊A@ȃSytj  tGt>t' tuEE׃@@@Ez@utmEu`E׃ `TtMt:t) tu4A 7Eu*E)EuEA u  s3 Iߊ EI߀; tH ]AHHI߀; t;=I߀; tHd]AHBu HMHM]AHu H*H:]AHHI߀; t;HL$hEDID$ 袙D=!FD$hH&HfHf(FnHH\$`Hl$pH0A_A]A\_^H\$Ht$WH03ۍKS3|$ ;="HcHH<tfH@uU@uLGwO$HHb LI@t HЋ H|yX賢HHcHvH HtUH0uH SH LCI$$H5H H0L IcHtccHcH#Hc(KHH\$@Ht$HH0_ffHM3M3Hd$ LD$("HfDHL$HT$DD$I ffHHXHhHpWHPH`H3IHDB(HHIHuJm7]RHtHL$ LLHD$(D$8BH\$0H\$ L$(x HL$  HT$ 36H\$`Hl$hHt$pHP_ME3=HHXHhHpWHPH`H3IHDB(HHI4Huls\,Hd$0Hd$ HL$ LLHD$(D$8BH\$`Hl$hHt$pHP_LHH E3[MLHH CLHH ?sE3+MLHH $sH\$Ht$H|$UATAUHHP3MLHHMDC(3IH]<Huk{[vMtHtLMHLE@L;AHGHMEBHuHuЉEAՋHt3x!MxHEЈHU3kt9]B\&ÍCL\$PI[ Is(I{0IA]A\]H8LL$(Hd$ MLHH HH8H8HD$`HD$(LL$ MLHH HH8@SH0HMtGHtBHt=HD$`HD$(LL$ MLHH adpyu 3j" &jZH0[H8LL$ E3H8HHXHhHpHx ATH0IIHHMMuHuH3HHI;vMiLFH cHD$hLHD$(HD$`HHD$ ul^i8"Pi~GiH XcLD HD$hLHD$(HD$`HHD$ GDuHui8"u3hD )y(uh" hXH\$@Hl$HHt$PH|$XH0A\H8HD$`HD$(Hd$ H8H8LL$(Hd$ MLHH oHH8H8HD$`HD$(LL$ MLHH o`HH8H\$Ht$WH HHuhWA@t AA uxHAHH DG$HW\GGu_Hڼt=u5H uacHqAσtl t?tt^H\$ H $HHH^HvH HHt`H6HNH HHt8HH&H ~HHtHH_3褝EuH-t$t t~~bqRHH\$@Ht$HH|$PH0A\H\$Ht$WATAUAVAWH03|$`3уtbtMtXtSt.tt5 bQ@L%H L%H |L%H lrHHurHHLcP9YtHIHHH;rIHHH;s9Yt3LaM,$ L%H |$`*LIu3Mu AMK̅t3<t t tL|$(,LL|$(HuDdžDt$`u9 %OщL$ O;}*HcHHHd‰T$ NpI$t3肛;u AA;t t L; DH\$hHt$pH0A_A^A]A\_H H\$Hl$Ht$WH HH HHu_OeHu~H @MHHtHMHjHHu+_HI_Op5_JHHZoH7H;t HyHׅuB_ 7_3H\$0Hl$8Ht$@H _@SUVWATAUAVHHH3H$H$0AEL LL$@DAH|$@3D$ GDu\zux!l$ E3DAI Lct\UIHHtILDAIνDl$ DtIcHؒHHHu1tHIH$H3FHA^A]A\_^][AELHLc utH3Hd$ E3E333M̽;uTH#E3E3AHct'Hϋ1HHtDLAuH H#B:!T$0LD$0DAD$0SH H\$Hl$Ht$WATAUH LH H HHH;HH+LcIHȔHI;sOH;HBHH;r HđHuHV H;rGH讑Ht:HHH<H=IHOHHI3H\$@Hl$HHt$PH A]A\_@SH J轐HHQHHHuCH#3H [H\$Ht$H|$ATAUAVH L/BH LH {HI;HI+LoII艓HI;sUH;HBHH;rI腐3Hu3HV H;rIIiHt9u ǃ*9u ǃ9ǺD‰AЉ LIIAH3H\$0Hl$8Ht$@H _øcsm;u 3H\$WH 39=u+cH|H]HHD؀; w ;t3t);"u 3 tHH< w HÊuHH\$0H _H\$Hl$Ht$WH0=%ubH3Hu<=tHjH\uGHc觊HHmHtH;tPH,;=pt.HcHlHHtsLHH:uKHHcH؀;uHLHH%<H'>3H\$@Hl$HHt$PH0_Hd$ E3E333DH mH%H HHXHhHpHx ATAUAVH Ll$`MIAeLHAHtLI3;"u3@"HË9AEHtH3HËtAEHtHH@tu@ t@ uHt GH3;; t; uH;MtI<$IA3H;\t;"u6utHC8"uH 33҅Ht\HAEutOu< tG< tCt78HttHÈHAEH tHAEAEHYHtHAEMtI$$AH\$@Hl$HHt$PH|$XH A^A]A\H\$Ht$ WH0="u_H=4A3H&ԾHH=Ht;uHHD$HLL$@E33HHD$ Hct$@HH;s\HcL$HHsQHH;rHH݆HHt8LHD$HLL$@HHHD$ gD\$@H=A3D۽H\$PHt$XH0_HHXHhHpHx ATH@E3HHHfD9 tHfD9#uHfD9#uLd$8H+Ld$0HL3DK3Dd$(Ld$ :HctQHHHtALd$8Ld$0DKL33ɉl$(HD$ u HIHH H3H\$PHl$XHt$`H|$hH@A\H\$WH HHd$0H2-+H;t HHtvHL$0H\$0dDI3DI3THL$8DI3KL\$8L3HL#H3-+L;LDLILH\$@H _̃%I3DB %L3DB F3DB L3DB *3DB L3DB @SH 3MMuHuHu3-HtHtMuMu;P'@H [LLIuM+ACI„t*Iu#L+CAIÄt ItIuMuAMyIu \A@P뚈O"ffH+LtB :uVHtWHuIJ ffwHJ H;uI~LHHI3ItHH3ffft't#HttHtt tu3HHH\$Ht$WH =H+HtmHuH9*t_@uVHHtJHtEH΄HH Ht2辄H;vH <9=uLH-@tHHHD83H\$0Ht$8H _H\$Hl$Ht$WH0IHHHu(!N >H\$@Hl$HHt$PH0_H!HtHuHuHtIHHu3HHHEHtH;v"LHHtHd$ E3E333IAI)IAIH0HtD u?H8H`HHHPHPH@H04HD$X0H0IH@IH8HHIHPD$P $HL$XIIIITH0HtH5H0H@Hi:H8HHH; HP3H$H3eL$I[8Ik@IsHIA_A^A]A\_H(WHH; tOulUHȋ H(HuH H(CWHH; =tuUHȋAH(H( WHH; tǝuTHȋAH(H(VHH; ͡tuTHHA H(˅tȀ9t Hu+ЍB@UATAUAVAWHPHl$@H]@HuHH}PHH3HE]`3MEU~*DIA@88t HEuAA+;ÍX|DexEuHD`DMẢ|$(H|$ 0Lcu3I~^3HBIHrOKL-Hw*HAH;wIHbH+H|$@HtHHt HHtDMƺADl$(H|$ LDu!t$(H!t$ AELAįHc"AEt7Mp ;HEhL$(ELAAHD$ |~g3HBHHrXHL6I;w5HAH;w HHfH+H\$@HHHtH3HtnELAAΉt$(H\$ 3ɅtHM HDAHD$ =EM?HM HDAHD$ EM@HM HDAHD$ EMAHM H DAHD$ EMBHM H(DAHD$ EM'HM H0DAHD$ EM(HM H8DAHD$ w H@HD$ EMHMEAVEMHM HHEAHD$ 5HMA HPEAHD$ HMA  H\E3HD$ EM0HMEi HpDADXHD$ EM0 HxHMDAHD$ EM1HM HDAHD$ EM2HM HDAHD$ aEM3HM HDAHD$ @EM4HM HDAHD$  HhEM5HMDAHD$ EM(HM HDAHD$ EM)HM HDAHD$ EM*HM HDAHD$ EM+HM HDAHD$ zEM,HM HDAHD$ YEM-HM HDAHD$ 8EM.HM HDAHD$ EMBHM HDAHD$ EMCHM HDAHD$ HHD$ EMDHMDAEMEHM HDAHD$ EMFHM HDAHD$ rEMGHM HDAHD$ QEMHHM HDAHD$ 0EMIHM HDAHD$ EMJHM HDAHD$ EMKHM H DAHD$ EMLHM H(DAHD$ EMMHM H0DAHD$ EM6 H8HD$ HMDAjEM7HM H@DAHD$ IEM8HM HHDAHD$ (EM9HM HPDAHD$ EM:HM HXDAHD$ EM;HM H`DAHD$ EMHM HxDAHD$ bEM?HM HDAHD$ AEM@D HHD$ HMA EMAHM HDAHD$ EM&HM HDAHD$ EM'HM HDAHD$ EMHM HEAHD$ EMHM HEAHD$ {HMA HEAHD$ X H\$`Ht$hH|$pH@A]A\]HSH HHIRHKIHK@HK 7HK(.HK0%H HK@HKH HKPHKXHK`HKhHK8HKpHKxHHHHHHHxHlH`HTHHHH [HHXHhHpWATAUAVAWH@3HHHHX9Yu9YuDDH-AAVcHHuAH(HLLbLHu Hȉ9^HbLH~>HL$0AADHl$ .HMHL$ HL$0ADAԋ L}HL$0ADA L|$ A HEXHL$0AQDHD$ A HE`HL$0AQDHD$ tH(AHII3<0|<9 ,0I8uQ<;uLA@AIuHLHEHHEHHEHЍHEXH͍HE`E&MtEeHHtHHt uHH(LLH(3L\$@I[0Ik8Is@IA_A^A]A\_E3HD8 t<0|<9,0HD8 u<;uLA@AIuHSH HHIH; tqHK H; t_HK(H; tMHK0H; t;HK8H; t)HK@H; ~tHKHH; ttHKhH; tHKpH; xtHKxH; ntHH; atHH; TtHH; GtH [H\$Ht$H|$UATAUAVAWHH@3HHMDH]9Yu9YuDL%eAA_LHu )_LHu I؉9^=H^LHu IIщ~8AID$HMAQDHD$ IL$ AHL$ AQHMDNj]IL$(AHL$ AQHMD ;AHM ID$0AQDHD$ AM|$8HMAQD L|$ AP ID$@HMAQDHD$ AQ ID$HHMAQDHD$ HMA ID$PD3HD$ HMA ID$QD3HD$ sHMAT ID$RD3HD$ S ID$SHMAUD3HD$ 3HM ID$TAVD3HD$ HMAW ID$UD3HD$ HMAR ID$VD3HD$ HMAS ID$WD3HD$ AHM ID$hAQDHD$ AHM ID$pAQDHD$ oAHM ID$xAQDHD$ MAHM I$AQDHD$ (APHM I$AQDHD$  AQI$HMAQDHD$ t InIIII3<0|<9 ,0H8u)<;uLA@AIuH·IM3H(HI $H(HHIL$H(HHIL$H(HHXIL$XH(HH`IL$`AMtAEH HtHHt uH(H L LL(3L\$@I[0Is8I{@IA_A^A]A\]H(38H 4H9t~u 6HH(HUH(7HH; t~u5HH@H(3@SH E3LHt HtMuD& H [D8tHHuHuEI+ABItHuHuE%"3H8HrH3HD$ E3LL $LL$LL$LL$LDIBIAu$ AIEAIBtIcHL$ H3ZH8HHXHhHpHx ATAUAVH 3MLx?t=IM>+HcLMK舲u KLIM y}u;~Hl$HHt$PH|$XËH\$@H A^A]A\@SH IHC$C H [H\$WH HHHtS9tNH&t>H &Hu!O$DHLD$0 lt-D$09HB/O$LD$0A ?u3D$0u)H\$8H _E3Hz%A@f; tDHA r3̊LE3'BI<w B<wAEFLЄuA3ҊHCtCtCucH [H3ҊHA|Z~aw@SH HH #S3H‰St*SH CucH [H3ҊHA|Z~awH\$Hl$VWATH0MHH-H@Hu KHF@H3HCHt8tLCH HcHti8tdHCHt8t HsH{H $Lú@trHCHt8t H1ZHPHKHt49t/Q3ɺHKH BCucCC C${HHHH#tZ?tUHHtBHHu%K$DHLD$P [;|$P;H-/K$LD$PA * |$PuK {HtC fEC$f}fEMf9Eu.L@IMt1Hd$ E3E333e ̋K A@Mĺt=K$MD$@A@t A I$EAZ3H\$XHl$`H0A\_^ffH+Ir"tf: u,HIuMIuMt: u HIuH3ÐIt7HH; u[HAH;D uLHAH;D u=HAH;D u.H IuIMItHH; uHIuIHHHH HHH;H8HeH3HD$ E3LL$L\$L\$L\$L!DIBIAuAAHuIEEu3HL$ H3iH8I@SUVWATAUAVHPH6eH3HD$HALL'3H9HH OAHHH&HHzHHHHdH˅HHHDHH|HHr$HLHiHt"H5HHcH<H3H*L+H;tbL;t]HH HЄLHt@8uH\$H|$DYAًLAp"ApE3ҺAst AASuAst AASu…iAdtfD:t;Aot5Aut/Axt)AXt#AdtD:tAotAut AxtAXukAdt D:tAotAutAxt AAXuAdt D:tAotAutAxt AXtA;t3MAI3r3 uA99,;uAAAA;tAҋ E3E:AAH\$H|$@SH B@It HzuA%Jx HHSu H [̅~LH\$Hl$Ht$WH II@LH@?tH\$0Hl$8Ht$@H _H\$Hl$Ht$WH A@@IIHt IxuA7~3MLHHŃ?u8*uLHֱ?H\$0Hl$8Ht$@H _HHH@H\$UVWATAUAVAWH$H` HEH3HX 3HHMLHUHL$`IM}D|$P|$D}蓚AAH}Hu+B/@8|$xt HL$pAOC@HbMHVA;t(t#LcL cIAHMkXM  LL @A@8u)A;ttHcHƒHHkXI B8t,@8|$x]HD$pLMtH]D߉D$L}Aum|$TME$$McËH}ED|$@}|$HD}ȉuLEEAMLM[AD$u AI%Ac" IcH @M HED\$TE3H]DD]A A@A;MvAc IcH @HD9-DD e~g~inopslu`x:'Ac/ IcH @MuHD9HHAt0HD]HD]QH A+fD9tHuH+HHHD)QH A+D8tIÅu+A|$HEAEAQQD$X0T$PD$YAEyuD ku I>I%Ac: IcH @MHH8uE3D$LA tfD$DA@A T$PAsHu MIAcIcH @MueHD9u ;KA sLtAc~IcH @Mu"HD9u HLA A@tQu MIAcIcH @MuHD9AHLu EIAcIcH @MtHDlA@t4u McIYAcIcH @MtHLc2u EI%AcYIcH @M@HDA@t MyIAAr A rEyA A;OD}IHH#ʉL$PA+Mt 3IIcHLB09~ALjI+D}H|$H+IۉD$TDt ;0I+D\$T0uEEĺHNE31LEH]y D$HIu AguAD\$H:;O|$H~)]Hc;"E3HEHtH؋D$HD9Uu IIHE AcIcH @HHHMH nMAHc[HL$`DHL$0MLƉL$(L$HHӉL$ HMAt|$HuH 8Mb[HT$`HAgu E3uH M>[HT$`HE3;-uAHHr#D$TAtD$X+|$PAtD$X |$PDeHuD+d$TD+A uLL$LLAԱ NLL$LHL$XLƋAtAuLL$LLAԱ0|$T39Et^~ZHDHP HMAHu&UЅtLELL$LHP uHuHuD$LLL$LLƋHD$LxAtLL$LLAԱ E3HMHt Le؋|$H|AItJAht;AltAwA A9lDT$@u MA AA AD <6uAy4u ID <3uAy2uIAIDHUA I耐HMLELIAA+LMMHH @H8DT$@|$H|$HDƄ*D Ač|HЉ|$HADT$HA*u AIHUA ȈHMLELIAA+LMMu\#9$AdDT$@A;DOHE3H @DT$@HD9 7EA*AHgHH @HDT$@MAىME AčLHЉMA tEA#t5A+t'A-tDT$@A0AAE AADUDT$DDUDT$PE|$HDUpMuA;tfM;ut\HT$`ADUNst(HULD$LAHED HHEEHULD$LAM|$HLMDT$@E!uD$LUEA3t A;D]uNEuILMcEx>HJtttt t tu]L2IIHM;~3D$LAD]A}LLeA|$xt HD$p*@8|$x@8|$xt HL$pHX H3H$ H` A_A^A]A\_^]H\$L$VWATH Hcu ;={s}HHHL%{HkXILtW%IDt+s%H Su T3ۅt% V& H\$PH A\_^H\$WH HcAHT$8$Hu HWT$8LD$EA IcEHTE+bDE;D}AHc DeXHAHHkXIƀd8Dd8HcHƒHHkXI Ƌƀd8D8@8}u @tHc HHHkXIƀL A#;AHMEEDEHMPH|$0D$(ALMD$ A=EHu59ELcIAHMkXIBd sHcHʃHHkXI H .E3E333H|$ *HĉPL@LH SWHHH`E3HAEuHD$pHD@DD$(D$ @DLHT$0HL$4D$8|$4t9t(Hc\$0HHHHkHkXH€d\$0\$0t #8oHH_[H\$WH@d$03H|$pHu3Htك|$xtAtDL$(DD$ DLHHL$0؉D$4|$0t,t!HcHHHkHkXH€drjH\$PH@_LECMK SH@d$(MKIC MKD\$0L$0EˋH@[H8ADL$`ELD$(HL$ DAIH8HHXHpHxL` UHH@HHHMIIwE3HuD8et HE3|HMD9auLHHNHu+M:D8et HE/HtAHHDL tWHuADLlD8'uACfHf f;Qr f;QwfQ$f;Qrf;QwfQDtDHAELtPHuA_HD8&uAQfAHfD AfD;Ar f;AwfA+f;Ar%f;AwfAADt Af;ufHD8et HMH\$PHt$XH|$`Ld$hH@]E3HHXHpHxL` UHH@E3IHHMu3HMIuL]E9cuLHHHu+n[D8et HEHtAHHFDt/HuAFDu^JD8'uA ff HHFDt%HuAHD8&uA ff Hf;u$ftHuD8eHED8et HMH\$PHt$XH|$`Ld$hH@]E3HT$L$USVWATAUAVAWHHXHcAE]uV38- 3;fHLL sIK HkXD1lv8_D>6HtDl18AEAADm`tu ШtL`ШtA;AB؋lLHuS hMH3DBgL LK L\0@K IA D0HL0 A:AK AAIVE`DD0 EtbK L09A:tQtM K AHE`DD09Au.K L0:A:tt K HE`ADD0:K LMDH 1H|$ <HcU܅|H;qLDK D05At A> uL0d0IcIMIHEL;A AE<A:t HIHEHL;sIE8 uI~LK LMHUXH 1AIH|$ <u A<uf9}taLK D0Ht}X tD#K EXD1 ;I;u }X u +MHAH2}X LctLXD#HL;m K D0@uL0 AEHDE+}`EHuHI;rHB8Vt BVuR*u;uHcH]K D0Ht;HÈL0 |K HÈD19uK HÈD1:HcH+MHAHcELmPA+DMƉD$(3ҹLl$ u:Du:;Ë]HJ @E|0HҺ t fA9uL0d0IcIMIHE`L;eA AEf.fA;tfHI HE`HL;sIEf9u ILK LMHUH 1AIH|$ f9u99}LK D0Ht; f9Ut@fD#EK D1 EK D19K T0:LI;u f9Uuf7MHHDBf Lf9Ut LfD#HL;m`"K D0@uL0 AEfHDE+]LmPM;tIqAD܋Y8u Amu뵋,38h UHXA_A^A]A\_^[]H\$Ht$L$WATAUAVAWH ALHcu:3ۉ 3ۅ;=v_LLIL=s_AMkXKBL tiAuW] KBD tDIՋz  zS @H\$XHt$`H A_A^A]A\_H(dHt g,tA@AH蟷ų̋+D#AD#D D+@UATAUAVAWHPHl$@H]@HuHH}PHH3HEHEDD`ME3E3AA35Hcu3~g3HBHHrXHL6Hw1HAH;w HHz{H+H\$@HtoHHtHHHtDLAA:5t9E`A3H|$8LAH|$0u |$(H|$ D$(L|$ 6HK9unHMH3fH]@HuHH}PHeA_A^A]A\]H\$Ht$WHPHHL$0IAjD$HL$0LDNjD\$ e|$Ht HL$@H\$`Ht$hHP_H(HuHH(LH :3H(H%3̹αH\$Ht$WH@HHL$ AAiHD$(DA|utHD$ H@BY#3t|$8t HL$0H\$PHt$XH@_H‹AHE3n̋AE33ZH‹AHE3B̋AE33.H‹AHE3̋AE33H‹AHA̋AA3H‹AHA̋AA3H‹AHA̋AA3gH‹AHAWK̋AAW33HAEAHA3EAH‹AHE3̋AE33H‹AHE3̋AE33H\$WH@HL$ HgL\$(Mt2A{u(AE3Hl|$8t#HL$0|$8t HD$03H\$PH@_3HHXHhHp WATAUAVAWH@LHHHEMfMtM.Mu*螴|$8t HD$03Et A|A$AuLD$ 3I]A ~LD$ @κLD$ I@@Ht@3H뾋$@-u@+u@3HEu&@0tA 6;xt ;XtA$AAu@0u;xt;Xu@sHM@Mc3HILL@EOAȃt @փ0At/F@<w A;sI;r%uI;vMu H@uMIE3pIHϋH@3HH@u%@uFŃtHH;w u,H;v'"@tH@$HHHMtI@tH߀|$8t HL$0HL\$@I[0Ik@IsHIA_A^A]A\_H83EL94D$ Hu H 3mH8H8d$ IELHHKH8H8=A4ELHD$ u H 3H8H8IELHHD$ H8@SH d$@LD$@HHu9D$@tHt L$@HH [LMt;E IAAwA  HAw It EtD;tD+A3HHXHpHxL` UHH@MHHMHMIScHu+ }t HEHtIwHExu!MHH)}tTHMGH+ 7HUHUHItt;t+؀}t HM3H\$PHt$XH|$`Ld$hH@]H(=U2u6Hu5"H(HtIwH(qE3H(H\$Ht$WH AMLҋHuؿįMtT$PHHHL;w 袿"AA";w3M…t A-MBKM3ҋ vW0AHItI;rI;rA@hAIAAAA IIM;r3H\$0Ht$8H _H8A uy D$ d$ H8H83A uyAAD$ H8H8d$ H8H\$Ht$WH AMLHHu胾oMtT$PHHHL;w M"ȍF";w3M…tA-MBKHM3HHH vW0AHIHtI;rI;rAdAIAAAA IIM;r3H\$0Ht$8H _H83A u HyAAD$ H8H8d$ H8HHXHhHpHx ATH0IcIDE~HIh HHcD$hH|$`~ HHL t tD$(DLƋAH|$ )+ظHHDH\$@Hl$HHt$PH|$XH0A\̋…tȀ9t Hu+ЍB@USVWATAUAVAWHhHl$0H H3HE(L3DEMULLeA~CIA+׃8t IDžuы+~)IA+8t Iׅu+;}3;|DEuIDpt;u WA;~AJA;~ ;HUA)t~)}r8]HEt8XtAM:r:HvH8~-}r8]HEt8XtA $:r :HsH8DMź AΉ\$(H\$ (LcI~f3HBIHrWKL?Hw0HAH;wIH7mH+Ld$0MA$waLHtILMDMźAD|$(Ld$ Y'LEDκ AΉ\$(H\$ 3'Lc~g3HBIHrXKL-Hw1HAH;w HHmlH+H|$0Ht{`HHtHHHtRLEDκADl$(H|$ &tUMEMDl$(H|$ &HO9u_IL$9u_HM(H3WHe8A_A^A]A\_^[]H\$Ht$WH`HHL$@IA[D$$HL$@D\$8D$0H$HD$($LDNj։D$ V|$Xt HL$PH\$pHt$xH`_H\$Ht$H|$UHH`HHHMIIZHu8]t HE3Hu(蒸}t HExHtHwHEPuLMLHH:@HMLΉD$8\$0AH|$(\$ u 넃}t HML\$`I[IsI{ I]̃=)uE3H\$Ht$H|$ ATAUAVH MMHLgHx0H|$H3Hu脷q9HhH MMHHA֋H׋HhH\$@Ht$PH|$XH A^A]A\MLHH CMLHH +MLHH (LHH E3LHH ˰E3LHH E3HHHd$0d$(AH HE3ɺ@DD$ -"HVHHH(H EHt Ht;#H(HHXHhHpHx ATAUAWH H33DG9LHtPDG3ҋ#Ht=HH+H #AWHE/#HHu1讵 裵H\$@Hl$HHt$PH|$XH A_A]A\ú^DDI;HEMNj_7t HH+H~i8u ? HAԋa"LH3"Uy]E3HՋ>HTAH HHHHu%ִ H!HE3IՋH3H\$Ht$ L$WATAUH HHcu葴 G ;=Hs~HLIL-HHkXKDL0tW3Hu> IKDD0tHӋ B ˳ 跣H\$HHt$XH A]A\_H(HcH(H\$Ht$WH HcAHug RDE3Hu* 3t oHHHGHHHkXdH\$0Ht$8H _H\$L$VWATAUAVH ADHcu Ȳ xs;=3GskHLIL54GHkXKLtEDKDtDAԋb w a 9 &H\$XH A^A]A\_^H\$LcHFMAIMkXJ BD8F\ADA@tXtHt(t uHBLJBd8BL80BLJBd8BL8BdBLJ Bd8EuA%@H\$H(@t'tt' 7-3H(H(Hu  -3H(H\$Ht$ L$WATAUH Hc@t0t(t tt菰u z }xi;=DsaHLIL-DHkXKDLt:KDDt Ӌ  q H\$PHt$XH A]A\_E3AHtfD9t HHH;r%%%% %"%$%&%(%*%,%.%0%2%4%6%8%:%<%>%@%B%D%F%H%J%L%N%P%R%T%V%X%Z%\%^%`%b%d%f%h%"%%%%%<%.% %%%%%%%%%%%%x%j%\%N%@%2%$%%%%%%%BH8Mхt+;tA;u"HD$xDL$pLD$hHT$`IHD$ ̋H8H\$WH H3HHW0LHt4HȊt&<"uH AIHÊutAH|S3H\$0H _HHXHpHx ATAUAVH0HHE3L!pANYu3L3HL$`atuL!t$ E3E333.̅uHL$`Ht3uH\$`5Ht3Ht"3H HH FHEHt HLHBL0 DHHLAHHuLd\A8$u9H%L;t_LAH҅tIHd$ E3E3339A<$/t,LIH蟅tHd$ E3E333Ht(LIHrtHd$ E3E333ٚHL$5 D95'B5n D5'Z Z  R +=v:HDQ3BMM+LA IYu3 3Ht8 t,Hd$ E3E333 Hd$ E3E333HL$`P3PHH\$PHt$XH|$hH0A^A]A\H\$Ht$WH03O3ۉ\$ ;RQ}\HcH.AH<tGHBt=[HAH AtHy(talj|$$H@H \똹H\$@Ht$HH0_H\$Ht$WH@HًHL$ I3KHu'跩褙@8|$8t HD$03~LD$(A9xuHh^@8|$8tbHL$0T BDt%HÊ t ;uH{Hu H;HDHÄu8L$8t HL$0HH\$PHt$XH@_E3@SH Hu ΘPuu譨'u!tt跨茨 3H [H(wH(@UH HAH ]@UH H&H ]@UH@HML}H@]@UH HHMPYH ]@UH HHM0YH ]@UH HHMHYH ]@UH HHM@iYH ]@UH HHMxOYH ]@UH Hꃽt gH ]@UH HHHыuNH ]@UH@H.H@]@UH HH ]@UH HH ]@UH HH ]@UH H H ]@UH H H ]@UH H H ]@UH H qH ]@UH H QH ]@UH H 6H ]@UH H H ]@UH H H ]@UH H H ]@UH H H ]@UH H H ]@UH H H ]@UH H eH ]@UH HHE`H ]@UH HH H ]@UH H H ]@UH H H ]@UH H H ]@UH H} u'HcUHHHHLA9HkXIdUHH ]@UH HHMH3VH ]@UH HTH ]@UH HHcM HH;H'L'\'l'x'''''''' ((2(D(Z(n(((*110'0000000z0j0T0D0*00///////x/`/8/*/'''&&&& 1&&&x&j&\&F&6& & &%"/:1/...+,,,4,N,l,|,,,,,,,---0-B-V-r------- .&.2.<.H.Z.h.v......+(((H*:*$***))))))))z)f)Z)F)2)")))((+++@@H@h@8?@K@@ܯObttCreateDirectory (%s)MapViewOfFile (%s)CreateFileMapping (%s)CreateFile (%s)inflateEnd returns %dinflate returns %dinflateInit2 returns %d1.2.5\message_boxdirectory_createdfile_createdget_root_hkeyget_special_folder_pathcreate_shortcutCSIDL_FONTSCSIDL_PROGRAMSCSIDL_COMMON_PROGRAMSCSIDL_STARTUPCSIDL_COMMON_STARTUPCSIDL_DESKTOPDIRECTORYCSIDL_COMMON_DESKTOPDIRECTORYCSIDL_APPDATACSIDL_STARTMENUCSIDL_COMMON_STARTMENULib\site-packages\DATAScripts\SCRIPTSHEADERSPLATLIBPURELIBInstallation failed.no such folder (%s)unknown CSIDL (%s)sSHGetSpecialFolderPathAfunction not availableshell32.dllFailed to create shortcut '%s' - error 0x%xSetWorkingDirectory() error 0x%xSetIconLocation() error 0x%xSetArguments() error 0x%xSetDescription() failed, error 0x%xSetPath() failed, error 0x%xQueryInterface(IPersistFile) error 0x%xCoCreateInstance failed, error 0x%xsss|sssiCoInitialize failed, error 0x%xissiSOFTWARE\Python\PythonCore\%d.%d\InstallPathPYTHONHOME=%sOSErrorValueErrorbuiltinsPyLong_FromVoidPtrPyErr_FormatPyArg_ParseTuplePy_BuildValuePyCFunction_NewPyObject_GetAttrStringPyObject_SetAttrStringPyImport_ImportModuleRunning Script...Could not open postinstall-script %s Py_FinalizePyRun_SimpleStringPySys_SetArgvPy_Initialize*** Could not load Python ***PyErr_PrintPy_SetProgramNameOut of memory!Running the pre-installation script failed Can't load Python for pre-install script (%d)Runtime Error100 Made Dir: %s .py200 File Copy: %s Error200 File Overwrite: %s Could not create temporary file~duInvalid cfgdata magic number (see bdist_wininst.py)Times RomanSetup %sCould not register window classSetup.exeSetupWindowClassThis Wizard will install %s on your computer. Click Next to continue or Cancel to exit the Setup Wizard.Software\Python\PythonCore\%s\InstallPathPython Version %s (found in registry)Software\Python\PythonCoreDon't know Python's installation typeStrangepython%d%d.dllPython Version %d.%dCannot installNo Python installation found in the registry.Python version %s required, which was not found in the registry.Python %s is required for this package. Select installation to use:UninstallString"%s\Remove%s.exe" -u "%s\%s-wininst.log"wb%s\Remove%s.exe040 Reg DB Value: [%s\%s]%s=%s Could not set key valueDisplayNamePython %d.%d %s020 Reg DB Key: [%s]%s Could not create key%s-py%d.%d999 Root Key: %s Source: %s *** Installation started %Y/%m/%d %H:%M *** a%s\%s-wininst.logCould not open keyYou do not seem to have sufficient access rights on this machine to install this softwareHKEY_CURRENT_USERHKEY_LOCAL_MACHINE*** Installation finished %Y/%m/%d %H:%M *** Postinstall script finished. Click the Finish button to exit the Setup wizard.*** run_installscript: internal error 0x%X *** 300 Run Script: [%s]%s \Scripts\Please wait while running postinstall script...-installIsUserAnAdminSetupFailed to start elevated process (ShellExecute returned %d)runasif exist "%s" goto Repeat del "%s" :Repeat w%s.batCould not delete keyCould not delete valueuninstall-script*** Could not run installation script ***-removeUninstall Finished!%d files and %d directories removed%d files and %d directories removed %d files or directories could not be removedYou do not seem to have sufficient access rights on this machine to uninstall this software%d Run Script: %s%d Reg DB Value: %s%d Reg DB Key: %s%d File Overwrite: %s%d File Copy: %s%d Made Dir: %s%d Root Key: %sAre you sure you want to remove this package from your computer?Please confirmOut of memorycould not open logfiler2. arg is not -u-uWrong number of args%s%cimport py_compile; py_compile.compile (r'%s')Py_OptimizeFlagPySys_GetObjectCompiling files to .pyo...Loading python...Compiling files to .pyc...Failed to unzip installation filesInstalling files...Running pre-installation scriptReady to installClick Next to begin the installation of %s. If you want to review or change any of your installation settings, click Back. Click Cancel to exit the wizard.Bad user_access_control valueoopsnoneautoforceuser_access_controlinstall_scriptnamemetadatatarget_versiontarget_optimizetarget_compilebuild_infoinfotitleSetup program invalid or damagedThis program is normally started by windowsRemoveCould not open archive0w,aQ mjp5c飕d2yҗ+L |~-d jHqA}mQDžӃVlkdzbeO\lcc=  n;^iLA`rqgjm Zjz  ' }Dңhi]Wbgeq6lknv+ӉZzJgo߹ホCՎ`~ѡ8ROggW?K6H+ L J6`zA`Ugn1yiFafo%6hRw G "/&U;( Z+j\1е,[d&c윣ju m ?6grWJz+{8 Ғ |! ӆBhn[&wowGZpj;f\ eibkaElx TN³9a&g`MGiIwn>JjѮZf @;7SŞϲG0򽽊º0S$6к)WTg#.zfJah]+o*7 Z-A1b62S-+ldEw}ZVǖAOIъ OM~-QJ#SpxAaU׮.7׵Y-6]]wll?AԞZ͢$ Faw$eڪ]]FD(koipvk19Z* ,  m86F߲]qTp0ek*1u4yީ%8S1bSWĔՖk1**ykʬHpo].*F6fcTT"eM©g0&):{ϼkZ> 8$,52F*sw1pHkQ6Fzw]cN̵J #pAF]#l8?1(BOgT~yUbL8^#ܖTZ1ObbSyOIV~P-{b-R4٠~^eGnHl/Su6: #jT$+e?yHf'*b#ٽЧ ?&~?$pi;FBzw[keZ~7 Sv8H 3?r$7jnԄYFܨ |OQ;օ U d S - =G\ p&Gw)` /a߫i5&LsZ<#0zMzFM8,9; :R:(q-v,.7/pXqYs3r%w+OQvrtEux܉~OK }!b|tyBxʠz{.lD~m8onlk[wjR1h58ib?mcf+aQ`צedd"fig HINSKyuJcO NZLݘMFGN@E$DD2AsX@*IBCPhTg3U>uW ַVS:R|P~Q9ZS [fYX4])\ZEo^m/_5qϱ٥s\ۼqދ!K7 kfֶԁ-b3Πjp]$^'~*I@VW<âM˟ŏ{ tDCm-@wm.B+(铜>Td"ŀǼϭ~8y$owJ1}05_K^ iϏ은BI#ƈdX܁T̓cQ: rՆ⩗ fn|xK)o%ƭ/3vUuA?)C:|sĵ@͂ Ͳ;bIUeh"׻_HS1޼^Z4eg Wb27_k%8ם(ŊO}do׸Jj3wVcXWP0qB{߭gCru&op-?'Bs ưGz>2[Ȏg; i8P/ _Y=чe:ZO?(3wwXR @hQ+ğH*0"ZOWoI}@mNП5+#*'G| AH=XX?#1jvʬ`p^Y<L~i/{kHwâ hs)aLoD~Pf7VM'(@ﰤ ہg9x+n&;f?/X)T`D1 ߨMߒ.FgTp'Hq/L0UEc?kǃh6ry7]P\@TN%s7@'>$!AxUʰ\3;Y^U~PGl!;b F2ȂpԞ(Q_V:1X: n3 m:@/)IJNv"2x+ٗ Kx.HҥfAj^y9*O]#kM`~b_R 7zFh!1߈Vc0a"j6nS Nr)Υ{t*F8#vufz`rs"WG9^EMvc΍&DAdQy/4Aڱ&S֚E biLQ<6'5P..T&q]w4.6IE? v\[YI>U!lDa>Ԫ΋ϩ7~8A]&nv|oY yKiw\¹9~$ 66nQfq>,o,IӔ 渱{I .H>C-Yn馑gQz tafw0a, Qmpjc5dۈ2yܸو L+~|-dj qHA}mԵQӅlVdkbze\Ocl=c ;n Li^`Agqr<KG k5Blۻ֬@2lE\u ϫ=Y&0Q:Qa!V#Ϻ(_ ٲ $/o|XhLaf-=vAq *q3xɢ4 j m=-dlc\kkQlabe0bNl{WeP|b-I|LeMaX:QΣtԻ0JߥA=ؕפmCij4ngF`D-s3 L_ |Pq<'A  Wh% of a^)ɘИ"רY=. \;l  tҚG9w&sc d; mj>zjZ '}DhibW]egl6qnkv+zZgJoC`֣ѓ~8ORѻgWg?H6K +گ L6JAz``ègU1nFiyaf%oҠRh6 w G"U&/ź; (+Z\j1,ٞ[ޮd°c&ujm 6?rgWJz{+ 8Ҏվ | !Bhݳڃn&[owGwZjpf; \ebiaklE x NT9§g&a`IiGM>nwۮjJZ@ f7;𩼮S޻G0齽ʺŠS0$6TW)#gfz.aJ]h*o+ 7 Z-1A26b+-Sdl}wEVZOAي»IˬO ~M-JQS#xpaA.U7Y-۩6˚w]]llA?Z$㧲F waރ$Ųe]]DFok(vpi91k *Z  ,8mF6]pTqke0*1¶u4%y<8syjHA}X*ݹ1SbSW§ٖծ1k**kypH]oF*.f6TTcMe"¤0g)&Ůޟ:{kZ >8,$5*F21wsHpQkzF6c]wN̵ׄJ# pȄA#]F8l1?(gOB~TUyLbˁ8#^TO1ZbbySIOP~V{-b-4R^~Ge­lHnuS/:6# $Tj?e+y䏼Hf*'˼Ѝb# &??~p$iBF;[wzek~ZS 7H8v ?3$rj7nFY |OQ; U dؓS - \G=&pGw`)/ ai5&sL <:R=Pe6^X7}o5641W0ճ2k3$k%'1&-[#bML"'{ "!$*x(+)`F(> q-q,v.Ț/7pqXsYr3w%vQO+tru՛E~xKO} |b!ytxBz{l.m~Do8nkljw[h1Ri85bcm?a+f`Qeddf"giH IKSNJuyOcN LZMݥFĚGE@ND$A2D@XsBI*CThPU3gWu>V SR:P|Q~Z9[ SYfX]4\)^oEZ_/m5qs<\kg2z &J8 좞V`a/6i\lU,zB\uHƒ=&FW A+Ox]`غ7W>9q߳!7Kk ֩fض-bѠ3pj$]^Ĝ'*~@IWVÕ<ӂMʏş{ Dt͆mC-@mw+B.(>dT"ş~Ϝ8yo$w1J}50K_ ^ϋiBۉI#dXфTQc:r Р fΫnx|)Ko%3/uUv?A)ġ:C|sд@͉ ;IbeU"hH_S1ފZ^ھ4ge ȋbW72%k_ܝ8Ŵ(}OodJֿjw3XcVPW0Bq{gǧurCo&p-?О'sB zGɠ2>[ ;g/P8i_ Y=嗇e:ϏOZw3(?RXw@ Qh+HZ"0*WOIo@}m5N#+'*GA |􏒨HX=#?X1vjʨ`^pYL'!$UxAׯ3\Y;U^GP~b;!lڇF 2p(ԐQV_:X1: 3n :m@I)/NJ2"v+x xKH.jAf^O*9y]#Mk~`bю_޶ Rz7hFм!10cV"ajحn6 SrN){t*8Fv#fu`zrϮsɛW"G9E^vMcD&dA/yQA4S&ֿ EbLil!>aDƋΪ~7A8n&]|vYoᡱ Kyi׫w¡\~9$66 Qnf>q,o,ӹI 散 I{.C>HnY-Qg̰t zfainvalid distance too far backinvalid distance codeinvalid literal/length code`Psp0  ` @ X ;x8 h( H T+t4  d$ D \ S|< l,  L R#r2  b" B Z Cz: j*  J V@3v6 f& F  ^ c~> n. N `Qq1  a! A Y ;y9 i)  I U+u5  e% E ] S}= m-  M S#s3  c# C [ C{; k+  K W@3w7 g' G  _ c? o/ O `Psp0  ` @ X ;x8 h( H T+t4  d$ D \ S|< l,  L R#r2  b" B Z Cz: j*  J V@3v6 f& F  ^ c~> n. N `Qq1  a! A Y ;y9 i)  I U+u5  e% E ] S}= m-  M S#s3  c# C [ C{; k+  K W@3w7 g' G  _ c? o/ O A@!  @a`10  @     incorrect length checkincorrect data checktoo many length or distance symbolsinvalid distances setinvalid literal/lengths setinvalid code -- missing end-of-blockinvalid bit length repeatinvalid code lengths setheader crc mismatchinvalid block typeinvalid stored block lengthsincorrect header checkinvalid window sizeunknown header flags setunknown compression method inflate 1.2.5 Copyright 1995-2010 Mark Adler  #+3;CScsI !1Aa  0@`@@incompatible versionbuffer errorinsufficient memorydata errorstream errorfile errorstream endneed dictionaryХ@@h@@@@x@h@P@h@fFK I*TK ITTK IO :i+00SBi+00@_dP/N !:i+00'":i+00 E%6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF΋!  Hx5i+.b`ODV A H FM^2mFT d_N" (2W]/4*&{-zeG'{-ph}OUBl OU3(9O> G e+.bchOU4^ ;ݧB}/NKfNr@"=3H$Oڠ'my4[ J1B&M[Or G:ᠷqEJ ǬMWs5i+.bs5i+.bs5i+.bw~s5i+.b%e{HqC,40L]0RO$[Dt.+*U6F:(Y;a-kQG^)|I)sO>+dWnO@;>V;>V Wt חb@J7<}iFϦODa'wj5Ob0wDObAGQ`{FL!mv`[c'wj5Obd'wj5Ob6J[CAVgqe'wj5Ob5i!Lz)zR88`[|^1/`[@L\J7@呰 חbu`ެ@`ެ.PRO—-T'tE`ެA`tpZdl?<W4plTI?rPB,ɨ=O${aPo0p,oiyŜ?Oɝa4Oص,OꙠς`RWpO6OyѦjc(=O0%G`묡51Mlg~6JNfsv]=D%Ocg3K@~Oq!2)wKL+2V4K@~OqT'B6Q:.7V`ƆEz5K@~OqiI~+.ͩ pO]_eOkm'WFAOлP0 P0 P0 M]`gI6FOEг]K $^5N$̈&HS3M17i;'$9Y:Oh7%9Y:Oh7&9Y:Oh7'9Y:Oh7ի|I˃(9Y:Oh7!FsGF{H@FS2IEt$#CȫR e.{ JOe/P($IZ^9$\E9 O奄`OO\;x8WFTpj zO1I( @wiKw^ևA)!\_[C+dWnO4DLe+.bSmb`ߌ #Or'>O.jxO^QmOd4'>Or3߷;`[MO KLb`wG:J'i>VMYFDAt;&OF} Ҩ\I;%S| *E yЎf|txM NI{@ >KJ\FЗ4mc-NvEc7VfCNItwׄ8A!ӱJ'8EK}4@ VqC(DW@XzvF@S>LNdL֬+ o.Eцݷ"JL :̿,LB)隇A }jL^6CTw]+.DJQS[bHNAFPCU .4zl'K@-tК#FlHiawhM0Y3S!AbostA^?UX2NfHyu 5ꥂG)]/qNnN9jI=W.I|Kg 4cH~%]bM I]7BWGCQl2$HܨEye64ۅ>eL:er='oOU{p OsCů$53QB`ϝ]v+qAO;ل.CZ0YcwN]ND.Q1RWHΨ}'CBg (#l^"`G3qs03NvFZ9\;û@Z|KJ$M>MEQ wmjKDWw? ec E kjO}c^NIe2mG)f\"gJ]lV`W0\"F-V pNr-O&oO}N8úGˢ)qKmHB" C[E|tKpȞ&Aõ*iG2 HNOiNㄫ9O'HKlqto%yL%4FxWObDcq# (O\iN`|\1IkLICN_3haO1FI&I}!<OGFVXia;B8n29֔hJuAtXJQ xd_w~8ƏWU]O Ɋ36(A#)V)F#Ϋ>%'GoGG+}.аvLX] p`OK #7 EC)t0ō*ƾ{,D Jև+DW^ Oor9tRNNgɆ>!OL'`g+$%|QOz)(B _@^A% xSDMt Nn 8Åm]rLwx,4Ku@ +׉#G`` WG 35A AlG ؂تI`FtQ<[MEĀd_NM&uf4L3lEZIC~"@0(9A8L"k1%B T #=E\\GNˇbR FHspSi)!@'QL.JiFFFFFF F F!FFFF&FF F FFk!Pi)?F0:s *Dw= F F F F F FFFFFPF%FQFFFF`k;Yi+-z1OY ȿ4<OV% X$5I?#3:O4j;Yi+-zj;Yi+-zi;Yi+-zv nr=F>F@FDF[Fʙ^AiXשFh Mm8gh z0Gd<O8m xO4yO"FFFMm8gh 0F1F2F3F%F)F*F0:s*Dw=IF y.Y+F&FEFGFHF:/ۆ/O:/ۆ/O:/ۆ/O:/ۆ/O:/ۆ/O:/ۆ/Oǝv\Wސy(_FFFFFFU 8r+C+n44FâRX0eu{ڮP9Vu{0ne0E Kvne yOܦϫ|x O jIOQnO09$-1.E^*onePone |~|?ne? PE^#1$-?W2$-?W2$-pw~?neg@ne˳j@ne˳j@ne?W2$-~{S^BEy|KDphKΔӳOհrIOC'zO{TxhO{lhO6ǀ_`\`OOrOh7y) Oh7BTyI6 E&jnLFB}sg'Dx+h\t<6M>?i]?9A!8ҏFs%E~2]r?jdN&6u^gO!B> 9}Nr*GݓkFN]ͷghhϓgAc*^Z%Ȕ2AeqKW';?B@ J$SQ`Ɔ(œO>1s-O(hHjxOi QD(ߥl+ rˆLmCBUa{Ӱ~C.`1 y/DĊY F;aAdƼ403bpc(Jg Дէ{E] E)ПS-oEH?syYz(y K@AXGA'qQU AJ s Y!WOZ{*lg(M2(TfC'>|a.  O;O.K[K8H]҇26 -&{-r: %wCjW'tVamy!@iaWBVm`ɠI-`:Bn5OC(K鞟^ﯘ=ѕK0:ښL%2J4{[kYs=BMQ!B\[/B{NsASÖ.̆I#t9JDf?kјH"tŻ-Gs?zZAe!`[ǽ6NXX$  KiiőԞ(LqmjK H(.~,-Y@o3\.Q Cpg{LKI s<_z\ LKo(t;sM|@)^vJYӞ~+IzÊChsxDpWJ?,CP0DOAoZ\q"tDk׾ TLrTIkE a`NNe76_I|kHrYM>s: .jxOˡd:aDX7iii9P5}+EutX(T6QB~ۜC]_#ͼ_Ld=xr|խhG2`?uIp4Bf6חKt3OtaG'"v0 SNwL1"(iv@ YGح+ObC4`[ԄLr?RJ{,AsEOWL"O7v8yOhKKt&1Zs~:6 B}Ftr⋪GMv2̤ pDʹfD.b[GvtH; zr\GڙYkH?FA&OA;,Ui6 IJ"x9J4ܵ;EfDװqmrE.1!YuY&HxHϣ'GVBeUNOخ|)IE@0lyדسDg,ݠeL3"5/QqCAwSk5 X;-3B{_41lxpOh6ǾƱLb VBPoz5zD #D@Fgm[M/BT|\?@zpDF[0 49Z I}AaB}KX䌠%D|DZ#`ڽWvGE>ςZ#@k{X8&oI Qd5CvSdn0@DH&'E4VwҁnB*O&-bfMlV!j hFXapf_:qJ?򥸿2cpF^W5}3ƔHjiOY<0G== 6eFpqFwHҶe_K#q}kdO-p;z5Og5е.Í}DwMm3sG%`4n.8E40PpZdFK6eJ7`, :i+00Fh3MnMܙS{5)xKt O3CKsw`$D&l;0MHֿRUBu(dT&arrCuƋ.|uU:WPHw[ێ Z܊M`* !sG3^F0MJSkyZ 8y M3,/KqI\M;TQ'CHCh4-6C$/`zLbeLWwR"!5C34a@Y?JTwZ8KMn錕Ra/pam/pmCorExitProcessmscoree.dll@a@a@TZSunMonTueWedThuFriSatJanFebMarAprMayJunJulAugSepOctNovDecHH:mm:ssdddd, MMMM dd, yyyyMM/dd/yyPMAMDecemberNovemberOctoberSeptemberAugustJulyJuneAprilMarchFebruaryJanuaryDecNovOctSepAugJulJunMayAprMarFebJanSaturdayFridayThursdayWednesdayTuesdayMondaySundaySatFriThuWedTueMonSunHH:mm:ssdddd, MMMM dd, yyyyMM/dd/yyPMAMDecemberNovemberOctoberSeptemberAugustJulyJuneAprilMarchFebruaryJanuaryDecNovOctSepAugJulJunMayAprMarFebJanSaturdayFridayThursdayWednesdayTuesdayMondaySundaySatFriThuWedTueMonSunLC_TIMELC_NUMERICLC_MONETARYLC_CTYPELC_COLLATELC_ALL@t @@M@H@@M@L@@M@@@M@h@@M@$@  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~_.,._;=C=;runtime error TLOSS error SING error DOMAIN error R6033 - Attempt to use MSIL code from this assembly during native code initialization This indicates a bug in your application. It is most likely the result of calling an MSIL-compiled (/clr) function from a native constructor or from DllMain. R6032 - not enough space for locale information R6031 - Attempt to initialize the CRT more than once. This indicates a bug in your application. R6030 - CRT not initialized R6028 - unable to initialize heap R6027 - not enough space for lowio initialization R6026 - not enough space for stdio initialization R6025 - pure virtual function call R6024 - not enough space for _onexit/atexit table R6019 - unable to open console device R6018 - unexpected heap error R6017 - unexpected multithread lock error R6016 - not enough space for thread data R6010 - abort() has been called R6009 - not enough space for environment R6008 - not enough space for arguments R6002 - floating point support not loaded @`@ @ @P@@@@@@@@@P@@@@ @!@x@y@zx@p@P@Microsoft Visual C++ Runtime Library ...<program name unknown>Runtime Error! Program: (null)(null)EEE50P( 8PX700WP `h````xpxxxxccsUTF-8UTF-16LEUNICODESystemFunction036ADVAPI32.DLL  ((((( H h(((( H H  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~united-statesunited-kingdomtrinidad & tobagosouth-koreasouth-africasouth koreasouth africaslovakpuerto-ricopr-chinapr chinanznew-zealandhong-konghollandgreat britainenglandczechchinabritainamericausausukswissswedish-finlandspanish-venezuelaspanish-uruguayspanish-puerto ricospanish-peruspanish-paraguayspanish-panamaspanish-nicaraguaspanish-modernspanish-mexicanspanish-hondurasspanish-guatemalaspanish-el salvadorspanish-ecuadorspanish-dominican republicspanish-costa ricaspanish-colombiaspanish-chilespanish-boliviaspanish-argentinaportuguese-braziliannorwegian-nynorsknorwegian-bokmalnorwegianitalian-swissirish-englishgerman-swissgerman-luxembourggerman-lichtensteingerman-austrianfrench-swissfrench-luxembourgfrench-canadianfrench-belgianenglish-usaenglish-usenglish-ukenglish-trinidad y tobagoenglish-south africaenglish-nzenglish-jamaicaenglish-ireenglish-caribbeanenglish-canenglish-belizeenglish-ausenglish-americandutch-belgianchinese-traditionalchinese-singaporechinese-simplifiedchinese-hongkongchinesechichhcanadianbelgianaustralianamerican-englishamerican englishamerican@ENU@ENUx@ENUh@ENA`@NLBP@ENCL@ZHHH@ZHI@@CHS(@ZHH@CHS@ZHI@CHT@NLB@ENU@ENA@ENL@ENCp@ENB`@ENIP@ENJ@@ENZ(@ENS@ENT@ENG@ENU@ENU@FRB@FRC@FRL@FRS@DEAh@DECP@DEL@@DES0@ENI @ITS@NOR@NOR@NON@PTB@ESS@ESB@ESLx@ESO`@ESC@@ESD0@ESF@ESE@ESG@ESH@ESM@ESN@ESI@ESA@ESZx@ESR`@ESUP@ESY8@ESV(@SVF@DES@ENG@ENU@ENU@USA@GBR@CHN@CZE@GBR@GBR@NLD@HKG@NZL@NZL@CHN@CHN@PRIx@SVKh@ZAFX@KORH@ZAF8@KOR @TTO@GBR@GBR@USA@USA  6 - OCPACPNorwegian-NynorskGetProcessWindowStationGetUserObjectInformationWGetLastActivePopupGetActiveWindowMessageBoxWUSER32.DLLEEE00P('8PW700PP (`h`hhhxppwppCONOUT$TMPRSDS# ,H0FHC:\python-dev\porting\cpython\lib\distutils\command\wininst-9.0-amd64.pdbdT42p dT4pT4 p0 4=4 p`PȑT42 p20  4 2pd T 4Rp 4, *pȑ@&4ZXPȑ+tZ4YV Pȑ 4 2 p`P' %# p`0Pȑ dT4p t d T 42+ T$4# p `ȑ 4 pȑP*p`ȑ d T 4 rp  4 Rp$ , p`P0ȑP p`P0ȑ4 #d#4# p Pȑ 4 pȑ@!0ȑ0& 44, p`PȑP  4 Rp204 "t1"d0"4/"*ȑ@3 "tY"dX"4W"RPȑ+ȑ@) t3d241.Pȑ`Bȑȑȑ&4dbPȑd T 4Rpd T 4Rp2020d 4 r p= ,t,d,4, PȑP' T9482 p `ȑ t d T 42BB&p`P0ȑ04$"P/ d T 4 pȑ0bt4t d4td T4B) t*d)4(&Pȑ  b p`P0dT42pd42 p t dT42  p`0P20dT42pd42 p d T 42p* 4 p`Pȑ20B  R0  rp0Pd42 p2020 td4rPbbbb  2020d42 p4 R p`P2P20x-|0M2Pd42 px-ߟKMrP, d4 p1tfM2PBp`0x-$MBBBBB20B2020p ` 0 P  bdT 4 pbdT 4 pbbbb  4 2p2P42 px-íͭM d T 4 2p2Ptd42x-ƯگMB tdT 4  tdT 4  dT4p  t4 t d T 4 R' E4C p`Pȑh# #t#d#4#Pbbb2Pt d 4 Rx-UwM|M20p0PBb  b  bbb  bBBBBr0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r020r020!! d 4T 2p!0!, , ԁtd40  Pd42 p2P  Rp`0x-M20202042 p  4 2pBB  4 2p2P d4rpx-N20202P  4 px-%NB  . d4 p Pȑ  4 2pBbd T 4Rpbbb202020rP p`0x-eCNeCNT 4 R p ` dT4p2PBx-L`^N2PBx-yN2P20x-NdT42pd42 pBBB t dT42BB2020202020d42 p20d42 pdT42p/ td4Pȑp2P  4 2px-"yNr04r p`Pȑ82P  t d 4Rx-NBd42 p202P20x-CYNB2P2P  4 2px-&0OEl O  4 2p202P2P42px-;O B[O2020d pP  20202P2P2 0x-< ` vO{  O2P2P  4 2px-0 9 OP W Obp`P0 t d T 4Rd 4R p dT 4 Rp&  p`P0ȑ0 4MB p`Pȑ$  p`P0ȑ t dT422P2P2P t d 4 Rx-0[O/ P L,PBB- dQTP4OJpȑ@B  4 2p20dT42pd42 p 4R p ` Pd42 pd42 p 4R p ` P2020 t dT42 t dT42 t dT42 d T 42pt d 4 rP d T 4 rptd42dT42pB2Ptd42x-?1}1GP  4 2p t dT42dT42pT42 pB2P  td42x-44eP2P2P td 4 rx-55P\56P2Pt d 4Rx-78P"  p`0Pȑh tT4d42 pt42   2020dT42pdT42p0 4dZ p`PȑB2P t d 42x-pK,LQbbbbbb2Pd 4R px-BMMQd42 p202P2P t d 4 Rx-NBO8QN[OhQ2P42 px-OOQd T42pd42 p20BBd42 p0 4ZP p`Pȑpd42 p20BBd42 p0 4ZP p`Pȑp  4 2p2P4 2 p `x-vwQ206 %4q%f p`Pȑ 2P4 2 p `x-aQr0r020202020t d 4 rPB T4 R p `2Pd 4R px-RrQdT 4 pdT 4 p td4PbbR0b t d T 4Rbbbd42 p Bx-юՎՎB Bx-B2Pd42 px-͏QBB2Pt d 4Rx-ǑْR2P d4 R px-iRdT42p$  p`P0ȑ d T 42p202P t d 42x-t8RB  4 2p  4 2p  4 2p2P Bx-PRBBdT42p  4 2pd T 4Rp t d T 42d 4 R p t d T 4 r  4 2p20d42 pd T 4Rpd T 4Rp2P20x-)4rRRP  t d 4Rx-xR*RRP  t d 4Rx-u R/R1 dT4pȑBBBB- Etd4C PȑHd4 p- 5td43r Pȑ0d4 p td 4 rP2 0T42 p  20 dT4rp2 0 td4rPBB20bȑ  t d T 4220  4 2p$d4 pȑd T42p$T4 pȑ 4 pȑ202020T 4 R p `bȑ  p`P0ȑH202020BdT 4 pBd 4R pT 4 R p t d T 4RdT42p td4Pd 4R pT 4 r p  4 2pd42 pB2PBp0x-RBBBBB4p ` Pbd 4  pd 4R p20dT42pdT42p0 4dZ p`Pȑ  t420dT42pdT42p0 4 p`PȑX 2P4 2 p `x-SR  4 2p2P4 2 p `x-S20  4 2p2P42 px-S td 4 P  b2P20x-6S  20t P$ $4$p`PRPp0x-QSRP  4 rpx-Sr 0b  t d 4 rP  t d 4 rP  p ` 0 P2P d 4 2px-*"+SB- Etd4C Pȑ@d 4  pBd 4 r p  4 rp dT4rpbbbb20  t d 4 rPBd42 pbbbd42 pbb t d T 4R$ 53 p`0PȑXd4 ptd4P2P t d 42x-!>G>TB t d T 422Pd 4 2px-AATBd42 p2P4 2 p `x- C;C4T4BB2Pd 4 2px-UE|EMTb  4 2pRP t d 4 Rx- JJfTJJfT2P2Pd 4R px-SK}KT"KKTd 4 r p20B %P`0!(`$T*Hd *h` +`$+8d%+ e:+*+n+^+L++*+*%%*****r*`**>'L'\'l'x'''''''' ((2(D(Z(n(((*110'0000000z0j0T0D0*00///////x/`/8/*/'''&&&& 1&&&x&j&\&F&6& & &%"/:1/...+,,,4,N,l,|,,,,,,,---0-B-V-r------- .&.2.<.H.Z.h.v......+(((H*:*$***))))))))z)f)Z)F)2)")))((+++PropertySheetACreatePropertySheetPageACOMCTL32.dllSetLastError|CreateDirectoryAGetFileAttributesAYMapViewOfFileCreateFileMappingARCloseHandlexSetFileTimeDosDateTimeToFileTimeGetLastErrorCreateFileAUnmapViewOfFile`lstrlenAiMultiByteToWideCharLGetProcAddress>LoadLibraryADeleteFileAReadFiletSetFilePointerGetFileSizehFreeLibrarySetStdHandlekGetStdHandleJLocalFreecFormatMessageAGetTempFileNameAGetTempPathAGetModuleHandleAGetVersionExAResumeThreadSetPriorityClassGetCurrentProcessGetCurrentThreadSetThreadPriorityCreateProcessAGetModuleFileNameARemoveDirectoryABGetPrivateProfileIntAHGetPrivateProfileStringAGetModuleFileNameWKERNEL32.dllMessageBoxA.GetFocus:wsprintfASetDlgItemTextA{SendMessageAiReleaseDC#GetDC6PeekMessageADispatchMessageATranslateMessageEndPaintGetSystemMetricsBeginPaintDefWindowProcAUpdateWindowShowWindowmCreateWindowExAORegisterClassALoadCursorAMoveWindowGetWindowRect9PostMessageAfGetParentvSendDlgItemMessageA)GetDlgItemSetCursorUSER32.dll6CreateDIBitmapDeleteObjectSetTextColorTextOutASetBkModewSelectObject<CreateFontATCreateSolidBrushGDI32.dlllRegQueryValueANRegEnumKeyExA0RegCloseKeymRegQueryValueExA`RegOpenKeyExA}RegSetValueExA8RegCreateKeyExA=RegDeleteKeyAGRegDeleteValueAADVAPI32.dllShellExecuteASHELL32.dllpCoUninitializeCoCreateInstanceBCoInitializeole32.dllGetSystemTimeAsFileTimeHeapFreeHeapAlloc+FileTimeToSystemTime*FileTimeToLocalFileTimeGetFileInformationByHandlePeekNamedPipeGetFileTypeEnterCriticalSection;LeaveCriticalSectionGetDateFormatAGetTimeFormatAHeapReAllocGetModuleHandleWExitProcessDecodePointerGetCommandLineAjGetStartupInfoWTerminateProcessUnhandledExceptionFilterSetUnhandledExceptionFilterIsDebuggerPresent&RtlVirtualUnwindRtlLookupFunctionEntryRtlCaptureContextEncodePointer WideCharToMultiByteGetTimeZoneInformationxGetCPInfonGetACP>GetOEMCP IsValidCodePageZFlsGetValue[FlsSetValueYFlsFreeGetCurrentThreadIdXFlsAllocHeapSetInformationGetVersionHeapCreateHeapDestroy4WriteFileeSetEnvironmentVariableWdSetEnvironmentVariableASleep%RtlUnwindExInitializeCriticalSectionAndSpinCountDeleteCriticalSection&FatalAppExitA|SetHandleCountGetConsoleCPGetConsoleMode;SetConsoleCtrlHandlerALoadLibraryW GetLocaleInfoWgFreeEnvironmentStringsWGetEnvironmentStringsWQueryPerformanceCounterGetTickCountGetCurrentProcessId/LCMapStringWpGetStringTypeWGetUserDefaultLCID GetLocaleInfoAEnumSystemLocalesAIsValidLocale]FlushFileBuffers3WriteConsoleWHeapSizedCompareStringWCreateFileWaSetEndOfFileQGetProcessHeapSoftware\Microsoft\Windows\CurrentVersion\Uninstall h@h@h@h@h@h@h@g@g@h@ h@g@h@g@h@h@h@g@g@h@g@ g@g@xg@`g@Hg@8g@ g@g@g@f@@f@@@f@@f@4N@f@xN@f@(@Software\Microsoft\Windows\CurrentVersion\Uninstall2-+] f@@pPSTPDTF@F@        ! 5A CPR S WY l m pr   )     abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZH@`y!@~ڣ @ڣ AϢ[@~QQ^ _j21~C@@@@@@@@@@@x@l@`@\@X@T@P@L@H@D@@@<@8@4@0@(@@ @@L@@@@@@@@@@@@x@ p@h@`@X@P@H@@@0@ @@@@@@@@@@@@@x@p@h@`@X@H@0@ @@@@@@@@@@|@t@`@8@ @M@M@M@M@M@U@@@@M@P@P@H@@ X@H@-@-@-@-@-@-@-@-@-@-@;Zx0Nm:Yw/Ml..U@U@xq@xq@xq@xq@xq@xq@xq@xq@xq@U@|q@|q@|q@|q@|q@|q@|q@@@.$ $Y4lXJh`p=|@&(o p # #$ $%<%'X'(|(%*(***c+d+,,<-<-..!0$00(01<13P3"4p$44|4"9$9G=H===2@4@t@t@AAeAhAA$BC4CDLDE`EFtFPF|PFbGdGKK-M0M4N4NvNxNNN-R0RS$SV4VWTWZ\Z&[d@[I^lL^a|a'b(bc0cgghh]iijj3 4$d,փ@Ph00ddǑȑϓГ ehŗȗi  BDwx$ݛ,040<hLhhƣȣ(508\8\y@|HPX`EhЧp ѨxԨrgh~&(]`ɬ̬z|np@/l0htp0  EH (08H:<]`9<'(  opS T(:0<8#@$HPX`shtp_x`KL.DY\{{}0j jwxK@LX78klW0 H*P4Xx14104oPpx  ;<kl"$N,P4<DL\1dht0080@Py`,,_`$ 1 , 4  4 P  D   L   d  l  x     & ( @, @ML Psp t p p  y |D L 0cX d` { t | 7$ T$$ $_% `%( (]) `)) )* ** *!+ $++, +h,H ,p-L x-u/` x//| /0 00 01 11 1|2 |2)3 ,33 3L4( L448 5$7x $78  8: := =3>(4>?8???H@??P??X?Z@l@JJ K KPLPLsLtLLLLLLLMM'M (MMMMNDPNNTNOlOOOeQhQQ R2R4RYR\RoR pRRR(c$(ccHccXc d`d#dh$dhdphduuvvSwTwww~~@[HtṔX́`$h`6p8~68ćЇȈWъ,Ԋ 4 z<|D܌L܌d-l0eth|ߎ%(EhH\ \pp-$0bXlppKTHH ( V4!H$ehhpx @HӥA Dܨ0ܨGLHEtHJLll$,+4,d<JDLlB|Dµĵ34"$hh , G4L<[D\Tpx<!$QT\,\HPX ``hh$|$ad!DFPNP7$84X)`,ShTupxx34!$OP E H4 H tY\?@u4Dvdl|y|NP!!# #C*,D*_+L`++|+--z-|---?.000230303R3T33 3333<4?5$@55<56D66T66\66d67l77|88888<<<<==k>>7? 8?Z?(\?@0@ATAAABBsCtCBDDDDDDDEGGG1H 4HK4KKKLLMM"M0MKM`KMfMfMMMMMMMM8MM@MNPN%N%NCNCN^N^NyNHyNNpNNNNNNNOXOO O;O;OVO[OvOvOO\ OOT OO OO OP  P'P ,PGP GPeP ePP0 PPp PPh PQ QQQ8Q8Q`QdhQQ\QQQQQQ QQQRRRR8RP8RNRPRrR@rRRDRRlRRRR,RSlSSS6S6SQS<QSSSSSTDTTT4TL4TMTMTfTfTT,TT|TTt(@pnklmn ( 8 H X hx  $ZZ(n, BBB999111)))cR[RABZRYRZRAB[R[RAB[RAAB[ && &&&@JQ1AA1ZQ1111ZQ1AAZ@JQ1AAZQ1AAJ eu eu @ABZ@J@G@F@F@G@AABX@J@AABX@J@J@AA1X@J@G@HRX@G@AAG@ZRX@AAG@JQJed%ed%ed@AA1ZQ1AA1X@J@HQ1AA1X@1A1ZQ1AA1ZQ1A1J  & & RAABZRABZR[R[RABZRYRBZRABZRBW@J@J &R[R[R[R[R[RABZR[R[R[ & & & & & & &@J@J@J@J@HQ1AA1X@J@J@J@J@J@J@G@J@G@JQJ@ABZQ11Z@J@AAG@J@G@GQ1J@AA1ZQ1YQ1[@J@AAG@J@G@1W@J&@I@G@J@J@J@J@G@J@G@Z@J@AA1X@J@HRABX@J@HQ1AA1X@J@J  &  %& & & &RAABZR[RZRAAABZR[R[RABZR[R[@H{SetupMS Sans SerifP} This Wizard will install %s on your computer. Click Next to continue or Cancel to exit the Setup Wizard.P}PhnP}@H{SetupMS Sans SerifP} Select python installation to use:PP}7Python Directory:P}jPhnPP}BInstallation Directory:@B2Find other ...@H{SetupMS Sans SerifP} Click Next to begin the installation. If you want to review or change any of your installation settings, click Back. Click Cancel to exit the Wizard.P}msctls_progress32Progress1P}Installation progress:PhnPA@H{SetupMS Sans SerifP} Click the Finish button to exit the Setup wizard.PhnP}( PAPADDINGXXPADDINGwininst-8.0.exe000064400000170000147560526160007257 0ustar00MZ@ !L!This program cannot be run in DOS mode. $tpj\VXq@YYt_Wp@؃u'jWp@utWhr@jՃ WjYYuhp@t Whr@jՃ \Fu[_]3@^U SVW=p@39uuEVhuVVSu ׃Ep@uu uu  uPt Pp@/9u u jU YYt.VhjVVSu ׃Eu%9u u hs@u jU YY9u t u jU YYEPuup@}EPPPWp@9uu Wp@\VuVjVWp@W=p@׃u9u t8u hr@&VVVjSq@SE׋E;u9u tu hr@jU 3_^[U8}S]VWj8EjPdSE EȋE@E̋Ej8hhs@E؍Ej3P]F2}t t*PhPs@EjP4;YYtt PhPK?PKV. uMN VGF*OȋEˍDEEPUQEHEEPQM <\tEhps@PQYYEPq@eDEE8t;EE0sQPuE04q@EEMȃ8EuGPuEPdq@ EEPQYM<\tGuF PFPvEuPjt"uOvvQuPF}tE@PE@ PujUE@ E9EkKM3PsEEPvP_EM+؍EPMbPM<\t#EPMPYM</tEhps@P/PYYM<\tjPq@S8VVq@$ hPx@Yt$q@D$Y_^][ U|@3ʼnE39EVt>PPQVuPhp@VPq@ p@Pq@+WVPq@ jhx@P5@@{V4tRDy@Y;N;t +V+щ0@+FM+F+~hq@YEEPh\p@tnuEjh@y@PXp@tV3PPPvPujEtKvWPq@uB|WHq@MuE q@3@p@P y@Y3_3^RBŔUV5r@W3EPr@EPr@jWWWEPօu_^UP|@3ʼnE} EEtuuu Pxr@SVWMQP|r@j]r@j Yhxy@3QQQQQQQjhQQQPHp@=Dp@PSjSE4p@ @VsAYPVjjSPp@hu8p@VOAYPVj j uuuPUl$|@3ʼnElExSVW=p@xQh3ShE|hz@Pd\tׅt3\SSSSpPEPSxDžpPp@\t;DžpPt8tEPVZ>YY5Dr@EPEhhz@P֍EP|hh~@hWuE~@ur@h@P4h~@P4h@Pu4@;tQh @h~@Pq@SVV4r@5q@E֋=q@@Px@Su׃uPPh~@@r@PEEPEPh`@Wփ;t֍EPEPhL@Wփ;uWgPp@;tGtBE=EPEPh8@Wփ;uWEPEPh$@Wփ;uW YEE;Eu3vp@tEEp@~P}Y9]Etuuuh@PDr@uuh@PDr@j@h@EPS9ut99ut49ut/;t+39uh@UuuJ U^[UQEPh4u@u $@ uujht@@ UQEPh4u@u $@ uujht@@ ø'|@3ĉ$$ NU$ V$-tX-t0H~j$hhUPr@VhUr@VjhhUPr@b3@6@tPjhrhUPr@h@D$ hЂ@PDr@5r@ D$PhUh@hUv1t(8jjhpUTr@PXr@5Tr@W3WWhpU-@D@PXr@WWhkUPr@@WN%<0\Yt hps@W%YYW%U0YY(S5`@5H@5r@ء,@t8th@hU5,@Y=D@h@hUh@5@5@WSTu hd@uY=D@=t@ @t9hH@hUh4@h5@+tjpYWp@=D@tB=p@t9h@hUh4@h5@tj%YWp@[_3$^]3^$UtSVWj,3ۍESP&$3]}j0^VESP] $Su}`p@5(p@EȍEP]E%@Ek։EEP}ElEP)@։EEP}EmEu>@։EEP}EnEf0@SEE4`p@EEEEEEPE ]]]E,p@_^[ø#|@3ĉ$SUVW5@=p@UD$Pt@Sh@؃@VjPYD$ @5@D$UPShЃ@V׋͍D$@@5@jPh@Shă@V5@-p@jh@V5@t@jh@V5@p@j hP@Sh@V5@jPh@Sh@h@5@hh@Shp@Vh @$P@@YY5@ q@@_^][tPp@@tP u B J^8e~0NlFLRFTPQv` FpPj EtCE@@NhfUHfTNpFhuFdF`9Fh 닋E@@^NlFPRFXPQvdF`DFpPj EtE@@}r\}rSEMuH MHMMHP^8~<E^8~}'EM;AtE}t j}E+G]+_G_^~Et,t(G S+Ã~PvtB FG0Eԃ > u3ɋV҃@VH@H@OI@I@PJ@J@K@L@L@M@&M@3M@M@)MMMAGMu+MM#+MM;Ms)MMAGMu֋MUvLBj3YM@mAGAGAGHuE +ʃmAGAGAG}w}tAG}vIG;]s7;}#,@0@@P@ t @h@M +)M 3AыM JʋU#эKOH M+˃HM+ρHE _V8F<^[Ul$|@3ʼnE\E|UxS]lVutWjE3Y}<339}p]ԉUvKDEU3B3ۃ}h]JEUUMur3@MM*MMM;M} EfU)~M UɊUUf fM feE`3ҋ+MBMMM M] )U+˃}]u3ҍHBMut Z#3ۃELEEMM 3ҍHBut J#ʋ3ۅuEME؉3M\_^3[`US]VuW3@;u$E ;r+;+M û3]E[QQQQQQQQQ Q Q Q Q QQHw3Ҿǿ3MIQQQQQQQQQ Q Q Q Q QQHt+KAu;r+3&KAuƹ3ҋNj3 _^[]UQ}SVWйtt3#3@BMu} j_UU3#ы@3@#3@3@3#@3@#3@3@3#ы@3@#3@3@3#@3@#3@3@3#ы@3@#3@3@3#@3@3@#3@3#ы@3@#m 3@3@3#@3@3@#3@Mk9}rDUU3)}#ы@3@3@#3@MuŃ}t3#3@FMu_^[ËT$u3t$ D$Y%\q@%`q@%hq@%lq@%pq@; |@uQL$+ȃ Y*QL$+ȃ Y%q@QL$+#ȋ%;r Y$-h!k@@$@5@@h@h@h@q@@}jYjXh8@3ۉ]]EPp@EEdp@jVWp@t;u3Fhp@3F@;u j]Y/@u 5@hr@hr@*YYt .5@@;uhr@hr@YY@uSWp@=@th@dYt jjj@r@0u< wLt}uBt < wFuEtEj XPVjh@ @=@u[Pr@<"u 39MMP r@YtFuF놋E MPQEYYËeEܣ@=@uPr@=@ur@E@3@ËeE-f=@MZt3Q<@@PEu@ t uԃ@v39@t@v39@j@Pq@jTq@YY@@0r@ @,r@ @(r@@=@u hl@$r@Y=@u j r@Y35U(@ @@@5@=@f@f @f@f@f%@f-@@E@E@E@(@@@@ @|@@p@ @jlYjp@hȰ@p@= @ujHYh lp@Pp@%q@jh`@5@5$q@YEu u q@YajYe5@։E5@։EEPEPuEu5Tq@֣@uփ@E EjYt$XYHVW(@(@;NjstЃ;r_^VW0@0@;NjstЃ;r_^%r@̋L$f9MZt3ËA<8PEu3fx ̋D$H<ASVq3҅WDv|$H ;r X;r (;r3_^[jh@ne@RsYt=E+PRYYt+@$ЃE E3=ËeE3T%r@%r@hl@d5D$l$l$+SVW|@1E3PeuEEEEdËMd Y__^[]Qt$t$t$t$he@h|@Vhh3V t VVVVV^3U|@eeSWN@;ǻt t У@`VEPp@u3up@3p@3p@3EPp@E3E3;uO@ u 5|@։5@^_[%Lq@%q@%q@%q@%(q@%,q@%0q@ȹֹ>. nRB0zbrζ 2@Tl0@TdԵzʾt`B&ڽĽĵRF8"jLVdlv6$ƺкں$2<JT\dlt~ʻԻ޻",BP`jrм  ظȸzjXJ6*޷ηp^+f@Uh@CreateDirectory (%s)MapViewOfFile (%s)CreateFileMapping (%s)CreateFile (%s)inflateEnd returns %dinflate returns %dinflateInit2 returns %d1.2.3\message_boxdirectory_createdfile_createdget_root_hkeyget_special_folder_pathcreate_shortcutCSIDL_FONTSCSIDL_PROGRAMSCSIDL_COMMON_PROGRAMSCSIDL_STARTUPCSIDL_COMMON_STARTUPCSIDL_DESKTOPDIRECTORYCSIDL_COMMON_DESKTOPDIRECTORYCSIDL_APPDATACSIDL_STARTMENUCSIDL_COMMON_STARTMENULib\site-packages\DATAScripts\SCRIPTSHEADERSPLATLIBPURELIBInstallation failed.no such folder (%s)unknown CSIDL (%s)sSHGetSpecialFolderPathAfunction not availableshell32.dllFailed to create shortcut '%s' - error 0x%xSetWorkingDirectory() error 0x%xSetIconLocation() error 0x%xSetArguments() error 0x%xSetDescription() failed, error 0x%xSetPath() failed, error 0x%xQueryInterface(IPersistFile) error 0x%xCoCreateInstance failed, error 0x%xsss|sssiCoInitialize failed, error 0x%xissilSOFTWARE\Python\PythonCore\%d.%d\InstallPathPYTHONHOME=%sOSErrorValueError__builtin__PyErr_FormatPyArg_ParseTuplePy_BuildValuePyCFunction_NewPyObject_GetAttrStringPyObject_SetAttrStringPyImport_ImportModuleRunning Script...Could not open postinstall-script %s Py_FinalizePyRun_SimpleStringPySys_SetArgvPy_InitializePyErr_PrintPy_SetProgramNameOut of memory!rbRunning the pre-installation script failed Can't load Python for pre-install scriptaRuntime Error100 Made Dir: %s .py200 File Copy: %s Error200 File Overwrite: %s Could not create temporary file~duInvalid cfgdata magic number (see bdist_wininst.py)Times RomanSetup %sCould not register window classSetup.exeSetupWindowClassThis Wizard will install %s on your computer. Click Next to continue or Cancel to exit the Setup Wizard.Software\Python\PythonCore\%s\InstallPathPython Version %s (found in registry)Software\Python\PythonCoreDon't know Python's installation typeStrangepython%d%d.dllPython Version %d.%dCannot installNo Python installation found in the registry.Python version %s required, which was not found in the registry.Python %s is required for this package. Select installation to use:UninstallString"%s\Remove%s.exe" -u "%s\%s-wininst.log"wb%s\Remove%s.exe040 Reg DB Value: [%s\%s]%s=%s Could not set key valueDisplayNamePython %d.%d %s020 Reg DB Key: [%s]%s Could not create key%s-py%d.%d999 Root Key: %s Source: %s *** Installation started %Y/%m/%d %H:%M *** %s\%s-wininst.logCould not open keyYou do not seem to have sufficient access rights on this machine to install this softwareHKEY_CURRENT_USERHKEY_LOCAL_MACHINE*** Installation finished %Y/%m/%d %H:%M *** Postinstall script finished. Click the Finish button to exit the Setup wizard.*** Could not load Python ****** run_installscript: internal error 0x%X *** freopen stdoutfreopen stderr300 Run Script: [%s]%s \Scripts\-installPlease wait while running postinstall script...if exist "%s" goto Repeat del "%s" :Repeat w%s.batCould not delete keyCould not delete valueuninstall-script-removeUninstall Finished!%d files and %d directories removed%d files and %d directories removed %d files or directories could not be removed%d Run Script: %s%d Reg DB Value: %s%d Reg DB Key: %s%d File Overwrite: %s%d File Copy: %s%d Made Dir: %sYou do not seem to have sufficient access rights on this machine to uninstall this software%d Root Key: %sAre you sure you want to remove this package from your computer?Please confirmOut of memorycould not open logfiler2. arg is not -u-uWrong number of args%s%cimport py_compile; py_compile.compile (r'%s')Py_OptimizeFlagPySys_GetObjectCompiling files to .pyo...Loading python...Compiling files to .pyc...Failed to unzip installation filesInstalling files...Running pre-installation scriptReady to installClick Next to begin the installation of %s. If you want to review or change any of your installation settings, click Back. Click Cancel to exit the wizard.install_scriptmetadatanametarget_versiontarget_optimizetarget_compilebuild_infoinfoSetuptitleSetup program invalid or damagedThis program is normally started by windowsRemoveCould not open archive`Psp0  ` @ X ;x8 h( H T+t4  d$ D \ S|< l,  L R#r2  b" B Z Cz: j*  J V@3v6 f& F  ^ c~> n. N `Qq1  a! A Y ;y9 i)  I U+u5  e% E ] S}= m-  M S#s3  c# C [ C{; k+  K W@3w7 g' G  _ c? o/ O `Psp0  ` @ X ;x8 h( H T+t4  d$ D \ S|< l,  L R#r2  b" B Z Cz: j*  J V@3v6 f& F  ^ c~> n. N `Qq1  a! A Y ;y9 i)  I U+u5  e% E ] S}= m-  M S#s3  c# C [ C{; k+  K W@3w7 g' G  _ c? o/ O A@!  @a`10  @     incorrect length checkincorrect data checkinvalid distance too far backinvalid distance codeinvalid literal/length codeinvalid distances setinvalid literal/lengths setinvalid bit length repeatinvalid code lengths settoo many length or distance symbolsinvalid stored block lengthsinvalid block typeheader crc mismatchunknown header flags setincorrect header checkinvalid window sizeunknown compression methodincompatible versionbuffer errorinsufficient memorydata errorstream errorfile errorstream endneed dictionary0@$@t@@@@@؎@@t@ inflate 1.2.3 Copyright 1995-2005 Mark Adler  #+3;CScs !1Aa  0@`@@0w,aQ mjp5c飕d2yҗ+L |~-d jHqA}mQDžӃVlkdzbeO\lcc=  n;^iLA`rqgjm Zjz  ' }Dңhi]Wbgeq6lknv+ӉZzJgo߹ホCՎ`~ѡ8ROggW?K6H+ L J6`zA`Ugn1yiFafo%6hRw G "/&U;( Z+j\1е,[d&c윣ju m ?6grWJz+{8 Ғ |! ӆBhn[&wowGZpj;f\ eibkaElx TN³9a&g`MGiIwn>JjѮZf @;7SŞϲG0򽽊º0S$6к)WTg#.zfJah]+o*7 Z-A1b62S-+ldEw}ZVǖAOIъ OM~-QJ#SpxAaU׮.7׵Y-6]]wll?AԞZ͢$ Faw$eڪ]]FD(koipvk19Z* ,  m86F߲]qTp0ek*1u4yީ%8S1bSWĔՖk1**ykʬHpo].*F6fcTT"eM©g0&):{ϼkZ> 8$,52F*sw1pHkQ6Fzw]cN̵J #pAF]#l8?1(BOgT~yUbL8^#ܖTZ1ObbSyOIV~P-{b-R4٠~^eGnHl/Su6: #jT$+e?yHf'*b#ٽЧ ?&~?$pi;FBzw[keZ~7 Sv8H 3?r$7jnԄYFܨ |OQ;օ U d S - =G\ p&Gw)` /a߫i5&LsZ<#0zMzFM8,9; :R:(q-v,.7/pXqYs3r%w+OQvrtEux܉~OK }!b|tyBxʠz{.lD~m8onlk[wjR1h58ib?mcf+aQ`צedd"fig HINSKyuJcO NZLݘMFGN@E$DD2AsX@*IBCPhTg3U>uW ַVS:R|P~Q9ZS [fYX4])\ZEo^m/_5qϱ٥s\ۼqދ!K7 kfֶԁ-b3Πjp]$^'~*I@VW<âM˟ŏ{ tDCm-@wm.B+(铜>Td"ŀǼϭ~8y$owJ1}05_K^ iϏ은BI#ƈdX܁T̓cQ: rՆ⩗ fn|xK)o%ƭ/3vUuA?)C:|sĵ@͂ Ͳ;bIUeh"׻_HS1޼^Z4eg Wb27_k%8ם(ŊO}do׸Jj3wVcXWP0qB{߭gCru&op-?'Bs ưGz>2[Ȏg; i8P/ _Y=чe:ZO?(3wwXR @hQ+ğH*0"ZOWoI}@mNП5+#*'G| AH=XX?#1jvʬ`p^Y<L~i/{kHwâ hs)aLoD~Pf7VM'(@ﰤ ہg9x+n&;f?/X)T`D1 ߨMߒ.FgTp'Hq/L0UEc?kǃh6ry7]P\@TN%s7@'>$!AxUʰ\3;Y^U~PGl!;b F2ȂpԞ(Q_V:1X: n3 m:@/)IJNv"2x+ٗ Kx.HҥfAj^y9*O]#kM`~b_R 7zFh!1߈Vc0a"j6nS Nr)Υ{t*F8#vufz`rs"WG9^EMvc΍&DAdQy/4Aڱ&S֚E biLQ<6'5P..T&q]w4.6IE? v\[YI>U!lDa>Ԫ΋ϩ7~8A]&nv|oY yKiw\¹9~$ 66nQfq>,o,IӔ 渱{I .H>C-Yn馑gQz tafw0a, Qmpjc5dۈ2yܸو L+~|-dj qHA}mԵQӅlVdkbze\Ocl=c ;n Li^`Agqr<KG k5Blۻ֬@2lE\u ϫ=Y&0Q:Qa!V#Ϻ(_ ٲ $/o|XhLaf-=vAq *q3xɢ4 j m=-dlc\kkQlabe0bNl{WeP|b-I|LeMaX:QΣtԻ0JߥA=ؕפmCij4ngF`D-s3 L_ |Pq<'A  Wh% of a^)ɘИ"רY=. \;l  tҚG9w&sc d; mj>zjZ '}DhibW]egl6qnkv+zZgJoC`֣ѓ~8ORѻgWg?H6K +گ L6JAz``ègU1nFiyaf%oҠRh6 w G"U&/ź; (+Z\j1,ٞ[ޮd°c&ujm 6?rgWJz{+ 8Ҏվ | !Bhݳڃn&[owGwZjpf; \ebiaklE x NT9§g&a`IiGM>nwۮjJZ@ f7;𩼮S޻G0齽ʺŠS0$6TW)#gfz.aJ]h*o+ 7 Z-1A26b+-Sdl}wEVZOAي»IˬO ~M-JQS#xpaA.U7Y-۩6˚w]]llA?Z$㧲F waރ$Ųe]]DFok(vpi91k *Z  ,8mF6]pTqke0*1¶u4%y<8syjHA}X*ݹ1SbSW§ٖծ1k**kypH]oF*.f6TTcMe"¤0g)&Ůޟ:{kZ >8,$5*F21wsHpQkzF6c]wN̵ׄJ# pȄA#]F8l1?(gOB~TUyLbˁ8#^TO1ZbbySIOP~V{-b-4R^~Ge­lHnuS/:6# $Tj?e+y䏼Hf*'˼Ѝb# &??~p$iBF;[wzek~ZS 7H8v ?3$rj7nFY |OQ; U dؓS - \G=&pGw`)/ ai5&sL <:R=Pe6^X7}o5641W0ճ2k3$k%'1&-[#bML"'{ "!$*x(+)`F(> q-q,v.Ț/7pqXsYr3w%vQO+tru՛E~xKO} |b!ytxBz{l.m~Do8nkljw[h1Ri85bcm?a+f`Qeddf"giH IKSNJuyOcN LZMݥFĚGE@ND$A2D@XsBI*CThPU3gWu>V SR:P|Q~Z9[ SYfX]4\)^oEZ_/m5qs<\kg2z &J8 좞V`a/6i\lU,zB\uHƒ=&FW A+Ox]`غ7W>9q߳!7Kk ֩fض-bѠ3pj$]^Ĝ'*~@IWVÕ<ӂMʏş{ Dt͆mC-@mw+B.(>dT"ş~Ϝ8yo$w1J}50K_ ^ϋiBۉI#dXфTQc:r Р fΫnx|)Ko%3/uUv?A)ġ:C|sд@͉ ;IbeU"hH_S1ފZ^ھ4ge ȋbW72%k_ܝ8Ŵ(}OodJֿjw3XcVPW0Bq{gǧurCo&p-?О'sB zGɠ2>[ ;g/P8i_ Y=嗇e:ϏOZw3(?RXw@ Qh+HZ"0*WOIo@}m5N#+'*GA |􏒨HX=#?X1vjʨ`^pYL'!$UxAׯ3\Y;U^GP~b;!lڇF 2p(ԐQV_:X1: 3n :m@I)/NJ2"v+x xKH.jAf^O*9y]#Mk~`bю_޶ Rz7hFм!10cV"ajحn6 SrN){t*8Fv#fu`zrϮsɛW"G9E^vMcD&dA/yQA4S&ֿ EbLil!>aDƋΪ~7A8n&]|vYoᡱ Kyi׫w¡\~9$66 Qnf>q,o,ӹI 散 I{.C>HnY-Qg̰t zfaFF F@(@H|@ @l. nRB0zbrζ 2@Tl0@TdԵzʾt`B&ڽĽĵRF8"jLVdlv6$ƺкں$2<JT\dlt~ʻԻ޻",BP`jrм  ظȸzjXJ6*޷ηp^dPropertySheetACreatePropertySheetPageACOMCTL32.dll(SetLastErrorKCreateDirectoryA^GetFileAttributesAhMapViewOfFileTCreateFileMappingA4CloseHandleSetFileTimeDosDateTimeToFileTimeqGetLastErrorSCreateFileAqUnmapViewOfFilelstrlenAGetProcAddressRLoadLibraryAuMultiByteToWideCharFreeLibrary\LocalFreeFormatMessageAcGetFileSizeGetTempFileNameAGetTempPathAGetModuleHandleAResumeThread1SetPriorityClassBGetCurrentProcessEGetCurrentThreadDSetThreadPriorityfCreateProcessA}GetModuleFileNameADeleteFileARemoveDirectoryAGetPrivateProfileIntAGetPrivateProfileStringAKERNEL32.dllMessageBoxAGetFocuswsprintfASSetDlgItemTextA;SendMessageA*ReleaseDC GetDCDispatchMessageATranslateMessagePeekMessageAEndPaint]GetSystemMetrics BeginPaintDefWindowProcAUpdateWindowShowWindow`CreateWindowExARegisterClassALoadCursorAMoveWindowtGetWindowRectPostMessageAEGetParent6SendDlgItemMessageAGetDlgItemMSetCursorUSER32.dll3CreateDIBitmapDeleteObject<SetTextColorNTextOutASetBkModeSelectObject9CreateFontAPCreateSolidBrushGDI32.dllRegQueryValueARegCloseKeyRegQueryValueExARegEnumKeyExARegOpenKeyExARegSetValueExARegCreateKeyExARegDeleteKeyARegDeleteValueAADVAPI32.dlliCoUninitializeCoCreateInstance;CoInitializeole32.dllWstrchr/memcpy3memsetastrncatUstrcat`strlenZstrcpyz_localtime64_time64nstrtolfree$malloc6_putenv_fstat64i32fprintf__iob_funcDremovefreadftellfseekfopenfclosefflushfreopenq_snprintfdstrncpyXstrcmphstrrchr_vsnprintfSsscanffwrite_strftimeOsprintf isspace>qsortCreallocfgetscstrncmp__argv__argcMSVCR80.dll_amsg_exit__getmainargs/_cexit_exitg_XcptFilter+_ismbbleadexit_acmdln _initterm _initterm_e?_configthreadlocale__setusermatherr_adjust_fdiv__p__commode__p__fmodem_encode_pointer__set_app_typeN_crt_debugger_hook_unlock__dllonexit|_lock"_onexitc_decode_pointerv_except_handler4_common_invoke_watsonB_controlfp_s)InterlockedExchangeVSleep&InterlockedCompareExchangeGetStartupInfoA^TerminateProcessnUnhandledExceptionFilterJSetUnhandledExceptionFilter9IsDebuggerPresentQueryPerformanceCounterGetTickCountFGetCurrentThreadIdCGetCurrentProcessIdGetSystemTimeAsFileTime_strnicmp_strdup_stricmp<_close=_read#_open_tempnamt@t@t@t@t@t@t@t@t@t@t@t@t@t@t@t@t@t@t@t@Software\Microsoft\Windows\CurrentVersion\Uninstallt@ t@pt@Pt@8t@ t@t@s@s@s@s@@s@t@s@@s@>@s@<>@ts@@Software\Microsoft\Windows\CurrentVersion\UninstallN@D(@pnklmn ( 8 H X hx  $ZR(n, BBB999111)))cR[RABZRYRZRAB[R[RAB[RAAB[ && &&&@JQ1AA1ZQ1111ZQ1AAZ@JQ1AAZQ1AAJ eu eu @ABZ@J@G@F@F@G@AABX@J@AABX@J@J@AA1X@J@G@HRX@G@AAG@ZRX@AAG@JQJed%ed%ed@AA1ZQ1AA1X@J@HQ1AA1X@1A1ZQ1AA1ZQ1A1J  & & RAABZRABZR[R[RABZRYRBZRABZRBW@J@J &R[R[R[R[R[RABZR[R[R[ & & & & & & &@J@J@J@J@HQ1AA1X@J@J@J@J@J@J@G@J@G@JQJ@ABZQ11Z@J@AAG@J@G@GQ1J@AA1ZQ1YQ1[@J@AAG@J@G@1W@J&@I@G@J@J@J@J@G@J@G@Z@J@AA1X@J@HRABX@J@HQ1AA1X@J@J  &  %& & & &RAABZR[RZRAAABZR[R[RABZR[R[@H{SetupMS Sans SerifP} This Wizard will install %s on your computer. Click Next to continue or Cancel to exit the Setup Wizard.P}PhnP}@H{SetupMS Sans SerifP} Select python installation to use:PP}7Python Directory:P}jPhnPP}BInstallation Directory:@B2Find other ...@H{SetupMS Sans SerifP} Click Next to begin the installation. If you want to review or change any of your installation settings, click Back. Click Cancel to exit the Wizard.P}msctls_progress32Progress1P}Installation progress:PhnPA@H{SetupMS Sans SerifP} Click the Finish button to exit the Setup wizard.PhnP}( PAPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGX__pycache__/install_scripts.cpython-35.pyc000064400000004443147560526160014637 0ustar00 Yf@s\dZddlZddlmZddlmZddlmZGdddeZdS)zudistutils.command.install_scripts Implements the Distutils 'install_scripts' command, for installing Python scripts.N)Command)log)ST_MODEc@speZdZdZddddgZdd gZddZddZddZddZ ddZ d S)install_scriptsz%install scripts (Python or otherwise) install-dir=ddirectory to install scripts to build-dir=b'build directory (where to install from)forcef-force installation (overwrite existing files) skip-buildNskip the build stepscCs(d|_d|_d|_d|_dS)Nr) install_dirr build_dir skip_build)selfrF/opt/alt/python35/lib64/python3.5/distutils/command/install_scripts.pyinitialize_optionss   z"install_scripts.initialize_optionscCs*|jdd |jdd d d dS) NZbuild build_scriptsrZinstallrrr r)rr)rr)r r )rr)Zset_undefined_options)rrrrfinalize_options!s  z install_scripts.finalize_optionscCs|js|jd|j|j|j|_tjdkrxn|jD]`}|j rot j d|qMtj |t dBd@}t j d||tj||qMWdS)Nrposixzchanging mode of %simizchanging mode of %s to %o)rZ run_commandZ copy_treerroutfilesosname get_outputsZdry_runrinfostatrchmod)rfilemoderrrrun)s   zinstall_scripts.runcCs|jjpgS)N)Z distributionscripts)rrrr get_inputs8szinstall_scripts.get_inputscCs |jp gS)N)r)rrrrr;szinstall_scripts.get_outputs)rrr)r r r )r r r)rNr) __name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsrrr$r&rrrrrrs       r) __doc__rZdistutils.corerZ distutilsrr rrrrrrs  __pycache__/install_scripts.cpython-35.opt-2.pyc000064400000004211147560526160015570 0ustar00 ]@sVddlZddlmZddlmZddlmZGdddeZdS)N)Command)log)ST_MODEc@speZdZdZddddgZdd gZddZddZddZddZ ddZ d S)install_scriptsz%install scripts (Python or otherwise) install-dir=ddirectory to install scripts to build-dir=b'build directory (where to install from)forcef-force installation (overwrite existing files) skip-buildNskip the build stepscCs(d|_d|_d|_d|_dS)Nr) install_dirr build_dir skip_build)selfr4/opt/alt/python35/lib64/python3.5/install_scripts.pyinitialize_optionss   z"install_scripts.initialize_optionscCs*|jdd |jdd d d dS) NZbuild build_scriptsrinstallrrr r)rr)rr)r r )rr)Zset_undefined_options)rrrrfinalize_options!s  z install_scripts.finalize_optionscCs|js|jd|j|j|j|_tjdkrxn|jD]`}|j rot j d|qMtj |t dBd@}t j d||tj||qMWdS)Nrposixzchanging mode of %simizchanging mode of %s to %o)rZ run_commandZ copy_treerroutfilesosname get_outputsdry_runrinfostatrchmod)rfilemoderrrrun)s   zinstall_scripts.runcCs|jjpgS)N)Z distributionscripts)rrrr get_inputs8szinstall_scripts.get_inputscCs |jp gS)N)r)rrrrr;szinstall_scripts.get_outputs)rrr)r r r )r r r)rNr) __name__ __module__ __qualname__ descriptionZ user_optionsZboolean_optionsrrr&r(rrrrrrs       r)rZdistutils.corerZ distutilsrr"rrrrrrs __pycache__/bdist_rpm.cpython-35.opt-1.pyc000064400000033346147560526160014350 0ustar00 YfT@sdZddlZddlZddlZddlmZddlmZddlm Z ddl m Z ddl Tddl mZdd lmZGd d d eZdS) zwdistutils.command.bdist_rpm Implements the Distutils 'bdist_rpm' command (create RPM source and binary distributions).N)Command)DEBUG) get_platform) write_file)*)get_python_version)logc+@seZdZdZdfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~ddddddddddddddddg)Zd4d9d=d2dUgZd7d4d;d9d?d=iZdXdYZdZd[Zd\d]Z d^d_Z d`daZ dbdcZ dddeZ dS) bdist_rpmzcreate an RPM distribution bdist-base=N/base directory for creating built distributions rpm-base=dbase directory for creating RPMs (defaults to "rpm" under --bdist-base; must be specified for RPM 2) dist-dir=dDdirectory to put final RPM files in (and .spec files if --spec-only)python=Mpath to Python interpreter to hard-code in the .spec file (default: "python") fix-pythonLhard-code the exact path to the current Python interpreter in the .spec file spec-onlyonly regenerate spec file source-onlyonly generate source RPM binary-onlyonly generate binary RPM use-bzip27use bzip2 instead of gzip to create source distributiondistribution-name=gname of the (Linux) distribution to which this RPM applies (*not* the name of the module distribution!)group=9package classification [default: "Development/Libraries"]release=RPM release numberserial=RPM serial numbervendor=aRPM "vendor" (eg. "Joe Blow ") [default: maintainer or author from setup script] packager=ARPM packager (eg. "Jane Doe ")[default: vendor] doc-files=6list of documentation files (space or comma-separated) changelog= RPM changelogicon=name of icon file provides=%capabilities provided by this package requires=%capabilities required by this package conflicts=-capabilities which conflict with this packagebuild-requires=+capabilities required to build this package obsoletes=*capabilities made obsolete by this package no-autoreq+do not automatically calculate dependencies keep-tempk"don't clean up RPM build directory no-keep-temp&clean up RPM build directory [default]use-rpm-opt-flags8compile with RPM_OPT_FLAGS when building from source RPMno-rpm-opt-flags&do not pass any RPM CFLAGS to compiler rpm3-mode"RPM 3 compatibility mode (default) rpm2-modeRPM 2 compatibility mode prep-script=3Specify a script for the PREP phase of RPM building build-script=4Specify a script for the BUILD phase of RPM building pre-install=:Specify a script for the pre-INSTALL phase of RPM buildinginstall-script=6Specify a script for the INSTALL phase of RPM building post-install=;Specify a script for the post-INSTALL phase of RPM buildingpre-uninstall=rnroREADME README.txtrk1rlrirprqrrrsrtrurvrwrxryrzr|r}r~rrr)rr)Z ensure_stringrZ get_contactZget_contact_emailZensure_string_list isinstancerolistrrexistsappend_format_changelogrpZensure_filename)rZreadmerrrrs>    !                  zbdist_rpm.finalize_package_datac CstrPtdtd|jtd|jtd|jtd|j|jrr|j}|j|nNi}x;d(D]3}t j j |j |||<|j||qW|d}t j j |d |j j}|jt||jfd ||jrdS|j jdd}|jd }|jrOdg|_n dg|_|jd ||j _|jd}|d}|j|||jrt j j|jr|j|j|ntd|jtjddg} t j jdst j jdr(dg} |jrA| jdn&|j rZ| jdn | jd| j!dd|j"g|j#r| j!ddt j j$|j g|j%s| jd|j&r| jd| j|d} | d } d!| d"} d#| | |f} t j'| }zg}d}xP|j(}|sNP|j)j*}|j|d$|dkr;|d}q;W|j+}|rt,d%t-| Wd|j+X|j.| |j/s|j j0rt1}nd&}|j sbt j j |d |}|j2||jt j j |j|}|j jjd'||f|jsx|D]}t j j |d |}t j j|rr|j2||jt j j |jt j j3|}|j jjd'||fqrWdS))Nzbefore _get_package_data():zvendor =z packager =z doc_files =z changelog =SOURCESSPECSBUILDRPMSSRPMSz%s.specz writing '%s'sdistZbztarZgztarrzicon file '%s' does not existz building RPMsrz/usr/bin/rpmbuildz /bin/rpmbuildZrpmbuildz-bsz-bbz-baz--definez __python %sz _topdir %sz--cleanz--quietz%{name}-%{version}-%{release}z.src.rpmz%{arch}/z .%{arch}.rpmz%rpm -q --qf '%s %s\n' --specfile '%s'r_zFailed to execute: %sanyr )rrrrr)4rprintrmrnrorprerbZmkpathrrrrarget_nameZexecuter_make_spec_fileZ dist_filesZreinitialize_commandrhZformatsZ run_commandZget_archive_filesZ copy_filerqrZDistutilsFileErrorrinforgrrfextendrcrabspathrr\popenreadlinestripsplitcloseZDistutilsExecErrorreprZspawnZdry_runrrZ move_filebasename)rZspec_dirZrpm_dirrZ spec_pathZsaved_dist_filesrsourceZ source_dirZrpm_cmdZ nvr_stringZsrc_rpmZ non_src_rpmZq_cmdoutZ binary_rpmsZ source_rpmlinelZstatusZ pyversionZsrpmfilenamerrrrruns                                          z bdist_rpm.runcCs"tjj|jtjj|S)N)rrrrbr)rrrrr _dist_pathszbdist_rpm._dist_pathc CsKd|jjd|jjjddd|jjd|jjdddd|jjg}tjd }d jd d |j D}d }d}|j||}||kr|j d|j d|d |j dddg|j r|j dn |j d|j d|jj d|jddg|jsy|jjs|j dn|j d|jxxdKD]p}t||j}t|tr|j d"|d#j|fq|d$k r|j d"||fqW|jjd%kr7|j d&|jj|jrT|j d'|j|jrz|j d(d#j|j|jr|j d)tjj|j|jr|j d*|j dd+|jjgd,|jtjjtj d-f}d.|} |j!rd/| } d0|} dLd4d5| fd6d7| fdMdNdOdPdQdRg } x| D]|\} } }t|| }|s|r_|j ddE| g|r|j t"|dFj#j$d q_|j |q_W|j ddGdHg|j%r|j dId#j|j%|j&rG|j ddJg|j |j&|S)SziGenerate the text of an RPM spec file and return it as a list of strings (one per line). z %define name z%define version -_z%define unmangled_version z%define release z Summary: zrpm --eval %{__os_install_post} cSs g|]}d|jqS)z %s \)r).0rrrr s z-bdist_rpm._make_spec_file..zbrp-python-bytecompile \ z%brp-python-bytecompile %{__python} \ z2# Workaround for http://bugs.python.org/issue14443z%define __os_install_post z Name: %{name}zVersion: %{version}zRelease: %{release}z-Source0: %{name}-%{unmangled_version}.tar.bz2z,Source0: %{name}-%{unmangled_version}.tar.gzz License: zGroup: z>BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildrootzPrefix: %{_prefix}zBuildArch: noarchz BuildArch: %sVendorPackagerProvidesRequires Conflicts Obsoletesz%s: %s NZUNKNOWNzUrl: zDistribution: zBuildRequires: zIcon: z AutoReq: 0z %descriptionz%s %srz%s buildzenv CFLAGS="$RPM_OPT_FLAGS" z>%s install -O1 --root=$RPM_BUILD_ROOT --record=INSTALLED_FILESr{rr&%setup -n %{name}-%{unmangled_version}ZbuildrsZinstallrtcleanrurm -rf $RPM_BUILD_ROOT verifyscriptrvprerwpostrxpreunrypostunrz%rz%files -f INSTALLED_FILESz%defattr(-,root,root)z%doc z %changelog)rrrrrr)r{rrr)rrur)rrvN)rrwN)rrxN)rryN)rrzN)'rrZ get_versionreplacerkZget_description subprocessZ getoutputr splitlinesrrrhZ get_licenserjrrgetattrlowerrrZget_urlrirrqrrrrZget_long_descriptionrcrargvropenreadrrorp)rZ spec_fileZ vendor_hookZproblemZfixedZ fixed_hookZfieldvalZdef_setup_callZ def_buildZ install_cmdZscript_optionsZrpm_optattrdefaultrrrrs          #        &       (    zbdist_rpm._make_spec_filecCs|s |Sg}x|jjdD]i}|j}|ddkr^|jd|gq&|ddkr~|j|q&|jd|q&W|ds|d=|S)zKFormat the changelog correctly and convert it to a list of strings rrrrrz )rrrr)rrpZ new_changelogrrrrr3s  zbdist_rpm._format_changelog)r Nr )r Nr )rrr)rNr)rNr)rNr)rNr)rNr)rNr)rNr)rNr )r!Nr")r#Nr$)r%Nr&)r'Nr()r)Nr*)r+Nr,)r-Nr.)r/Nr0)r1Nr2)r3Nr4)r5Nr6)r7Nr8)r9Nr:)r;r<r=)r>Nr?)r@NrA)rBNrC)rDNrE)rFNrG)rHNrI)rJNrK)rLNrM)rNNrO)rPNrQ)rRNrS)rTNrU)rVNrW)rXNrY)rZNr[)r\r]r^)__name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsZ negative_optrrrrrrrrrrrr s      -  -  r )__doc__rrrZdistutils.corerZdistutils.debugrZdistutils.utilrZdistutils.file_utilrZdistutils.errorsZdistutils.sysconfigrZ distutilsrr rrrrs$ __pycache__/install_headers.cpython-35.opt-2.pyc000064400000003151147560526160015516 0ustar00 ]@s*ddlmZGdddeZdS))Commandc@sgeZdZdZddgZdgZdd Zd d Zd d ZddZ ddZ dS)install_headerszinstall C/C++ header files install-dir=d$directory to install header files toforcef-force installation (overwrite existing files)cCsd|_d|_g|_dS)Nr) install_dirroutfiles)selfr 4/opt/alt/python35/lib64/python3.5/install_headers.pyinitialize_optionss  z"install_headers.initialize_optionscCs|jddddS)Ninstallrr r)rr )rr)Zset_undefined_options)r r r rfinalize_optionss z install_headers.finalize_optionscCsf|jj}|sdS|j|jx9|D]1}|j||j\}}|jj|q-WdS)N) distributionheadersZmkpathr Z copy_filer append)r rheaderout_r r rrun!s  zinstall_headers.runcCs|jjpgS)N)rr)r r r r get_inputs+szinstall_headers.get_inputscCs|jS)N)r )r r r r get_outputs.szinstall_headers.get_outputsN)rrr)rrr ) __name__ __module__ __qualname__ descriptionZ user_optionsZboolean_optionsrrrrrr r r rr s      rN)Zdistutils.corerrr r r rs__pycache__/build.cpython-35.pyc000064400000010272147560526160012516 0ustar00 Yfc@stdZddlZddlZddlmZddlmZddlmZddZ Gdd d eZ dS) zBdistutils.command.build Implements the Distutils 'build' command.N)Command)DistutilsOptionError) get_platformcCsddlm}|dS)Nr)show_compilers)Zdistutils.ccompilerr)rrd?d@dAg ZddgZd$dd%efgZd&d'Z d(d)Z d*d+Z d,d-Z d.d/Z d0d1Zd2d3Zd4e fd5e fd6efd7efgZdS)Bbuildz"build everything needed to install build-base=b base directory for build librarybuild-purelib=N2build directory for platform-neutral distributionsbuild-platlib=3build directory for platform-specific distributionsz build-lib=z9build directory for all distribution (defaults to either zbuild-purelib or build-platlibbuild-scripts=build directory for scripts build-temp=ttemporary build directoryz plat-name=pz6platform name to build for, if supported (default: %s) compiler=cspecify the compiler type parallel=jnumber of parallel build jobsdebugg;compile extensions and libraries with debugging informationforcef2forcibly build everything (ignore file timestamps) executable=e5specify final destination interpreter path (build.py)z help-compilerzlist available compilerscCspd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ dS)Nrr) build_base build_purelib build_platlib build_lib build_temp build_scriptsZcompiler plat_namerr executableparallel)selfrrrinitialize_options8s           zbuild.initialize_optionsc Cs|jdkrt|_ntjdkr9tdd|jtjddf}ttdrr|d7}|jdkrtj j |j d|_|j dkrtj j |j d||_ |j dkr|jjr|j |_ n |j|_ |jdkr.tj j |j d ||_|jdkritj j |j d tjdd|_|jdkrtj jtj|_t|jtryt|j|_Wntk rtd YnXdS) NntzW--plat-name only supported on Windows (try using './configure --help' on your platform)z.%s-%srgettotalrefcountz-pydebuglibZtempzscripts-zparallel should be an integer)r+rosnamersysversionhasattrr&pathjoinr%r'r( distributionZ ext_modulesr)r*r,normpath isinstancer-strint ValueError)r.Zplat_specifierrrrfinalize_optionsHs<      zbuild.finalize_optionscCs(x!|jD]}|j|q WdS)N)Zget_sub_commandsZ run_command)r.Zcmd_namerrrrunsz build.runcCs |jjS)N)r;has_pure_modules)r.rrrrCszbuild.has_pure_modulescCs |jjS)N)r;has_c_libraries)r.rrrrDszbuild.has_c_librariescCs |jjS)N)r;has_ext_modules)r.rrrrEszbuild.has_ext_modulescCs |jjS)N)r; has_scripts)r.rrrrFszbuild.has_scriptsZbuild_pyZ build_clibZ build_extr*)r r r )r Nr )rNr)rNr)rrr)rrr)rrr)rrr)rr r!)r"r#r$)__name__ __module__ __qualname__Z descriptionrZ user_optionsZboolean_optionsrZ help_optionsr/rArBrCrDrErFZ sub_commandsrrrrrsR      8       r) __doc__r6r4Zdistutils.corerZdistutils.errorsrZdistutils.utilrrrrrrrs  __pycache__/build_clib.cpython-35.opt-2.pyc000064400000011305147560526160014445 0ustar00 ]V@slddlZddlmZddlTddlmZddlmZddZGdd d eZ dS) N)Command)*)customize_compiler)logcCsddlm}|dS)Nr)show_compilers)distutils.ccompilerr)rr//opt/alt/python35/lib64/python3.5/build_clib.pyrsrc@seZdZdZd"d#d$d%d&gZdd gZdddefgZddZddZ ddZ ddZ ddZ ddZ d d!ZdS)' build_clibz/build C/C++ libraries used by Python extensions build-clib=b%directory to build C/C++ libraries to build-temp=t,directory to put temporary build by-productsdebugg"compile with debugging informationforcef2forcibly build everything (ignore file timestamps) compiler=cspecify the compiler typez help-compilerNzlist available compilerscCsUd|_d|_d|_d|_d|_d|_d|_d|_d|_dS)Nr) r build_temp libraries include_dirsdefineundefrrcompiler)selfrrr initialize_options4s        zbuild_clib.initialize_optionscCs|jdddd d d |jj|_|jrD|j|j|jdkrh|jjpbg|_t|jtr|jjtj |_dS) NZbuildrr rrr)rr )rr)rr)rr)rr) Zset_undefined_optionsZ distributionrcheck_library_listr isinstancestrsplitospathsep)r rrr finalize_optionsDs  zbuild_clib.finalize_optionscCs|js dSddlm}|d|jd|jd|j|_t|j|jdk rs|jj|j|j dk rx*|j D]\}}|jj ||qW|j dk rx!|j D]}|jj |qW|j |jdS)Nr) new_compilerrdry_runr)rrr)rr*rrrZset_include_dirsrZ define_macrorZundefine_macrobuild_libraries)r r)namevalueZmacrorrr run^s    zbuild_clib.runcCst|tstdx|D]}t|t rVt|dkrVtd|\}}t|ts}tdd|kstjdkrtj|krtd|dt|ts"tdq"WdS) Nz+'libraries' option must be a list of tuplesz*each element of 'libraries' must a 2-tuplezNfirst element of each tuple in 'libraries' must be a string (the library name)/z;bad library name '%s': may not contain directory separatorsrzMsecond element of each tuple in 'libraries' must be a dictionary (build info)) r#listDistutilsSetupErrortuplelenr$r&sepdict)r rlibr, build_inforrr r"vs"   "   *zbuild_clib.check_library_listcCs>|js dSg}x$|jD]\}}|j|qW|S)N)rappend)r Z lib_nameslib_namer8rrr get_library_namess  zbuild_clib.get_library_namescCs|j|jg}xe|jD]Z\}}|jd}|dks]t|ttf rmtd||j|q W|S)Nsourceszfin 'libraries' option (library '%s'), 'sources' must be present and must be a list of source filenames)r"rgetr#r1r3r2extend)r filenamesr:r8r<rrr get_source_filess" zbuild_clib.get_source_filesc Csx|D]\}}|jd}|dksDt|ttf rTtd|t|}tjd||jd}|jd}|jj|d|j d|d|d|j }|jj ||d|j d|j qWdS)Nr<zfin 'libraries' option (library '%s'), 'sources' must be present and must be a list of source filenameszbuilding '%s' librarymacrosrZ output_dirr) r=r#r1r3r2rinforcompilerrZcreate_static_libr )r rr:r8r<rArZobjectsrrr r+s$"     zbuild_clib.build_libraries)r r r )rrr)rrr)rrr)rrr)__name__ __module__ __qualname__ descriptionZ user_optionsZboolean_optionsrZ help_optionsr!r(r.r"r;r@r+rrrr r s*       $ r ) r&Zdistutils.corerZdistutils.errorsZdistutils.sysconfigrZ distutilsrrr rrrr s   __pycache__/bdist_wininst.cpython-35.pyc000064400000021426147560526160014302 0ustar00 Yf;@sdZddlZddlZddlmZddlmZddlmZm Z ddl Tddl m Z ddl mZGd d d eZdS) zzdistutils.command.bdist_wininst Implements the Distutils 'bdist_wininst' command: create a windows installer exe-program.N)Command) get_platform) create_tree remove_tree)*)get_python_version)logc@seZdZdZd4dddefdd d d fd dd dfd5d6d7d8d9d:d;d<d=g ZddddgZd&d'Zd(d)Zd*d+Z d,d-Z dd.d/Z d0d1Z d2d3Z dS)> bdist_wininstz-create an executable installer for MS Windows bdist-dir=N1temporary directory for creating the distributionz plat-name=pz;platform name to embed in generated filenames (default: %s)z keep-tempkz/keep the pseudo-installation tree around after z!creating the distribution archiveztarget-version=z!require a specific python versionz on the target systemno-target-compilec/do not compile .py to .pyc on the target systemno-target-optimizeo:do not compile .py to .pyo (optimized)on the target system dist-dir=d-directory to put final built distributions inbitmap=b>bitmap to use for the installer instead of python-powered logotitle=t?title to display on the installer background instead of default skip-build2skip rebuilding everything (for testing/debugging)install-script=Tbasename of installation script to be run afterinstallation or before deinstallationpre-install-script={Fully qualified filename of a script to be run before any files are installed. This script need not be in the distributionuser-access-control=specify Vista's UAC handling - 'none'/default=no handling, 'auto'=use UAC if target Python installed for all users, 'force'=always use UACcCsyd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ d|_ dS)Nr) bdist_dir plat_name keep_tempno_target_compileno_target_optimizetarget_versiondist_dirbitmaptitle skip_buildinstall_scriptpre_install_scriptuser_access_control)selfr3D/opt/alt/python35/lib64/python3.5/distutils/command/bdist_wininst.pyinitialize_options:s            z bdist_wininst.initialize_optionscCsG|jdd |jdkry|jrO|jrO|jjd}|j|_|jdj}tj j |d|_|j sd|_ |j r|jj rt }|j r|j |krtd|f||_ |jdd d |jrCxC|jjD]"}|jtj j|kr Pq Wtd|jdS) Nbdistr.ZwininstzMtarget version can only be %s, or the '--skip-build' option must be specifiedr+r&z(install_script '%s' not found in scripts)r.r.)r+r+)r&r&)Zset_undefined_optionsr%r.r& distributionZget_command_objget_finalized_command bdist_baseospathjoinr*has_ext_modulesrZDistutilsOptionErrorr/scriptsbasename)r2r6r:Z short_versionscriptr3r3r4finalize_optionsJs4        zbdist_wininst.finalize_optionsc Cstjdkr9|jjs-|jjr9td|jsO|jd|jddd}|j |_ |j|_d|_ |j |_ |jd}d|_ d|_|jjr9|j}|s|jstd tjdd }d |j |f}|jd}tjj|jd ||_xDdD]<}|j}|dkrh|d}t|d||q@Wtjd|j |jtjjdtjj|j d|jtjd=ddlm }|} |jj!} |j"| dd|j } |j#| | |j$|jjrJt%} nd} |jj&j'd| |j(| ftj)d| tj*| |j+st,|j d|j-dS)Nwin32z^distribution contains extensions and/or C libraries; must be compiled on a Windows 32 platformbuildinstallZreinit_subcommandsr install_libz Should have already checked thisz.%s-%slibpurelibplatlibheadersr?dataz/Include/$dist_nameZinstall_zinstalling to %sZPURELIB)mktempzipZroot_diranyr zremoving temporary file '%s'dry_run)rJrKrLr?rM).sysplatformr8r>Zhas_c_librariesZDistutilsPlatformErrorr.Z run_commandZreinitialize_commandr%rootZwarn_dirr&compileoptimizer*AssertionErrorversionr9r;r<r=Z build_baseZ build_libuppersetattrrinfoZensure_finalizedinsertrunZtempfilerN get_fullnameZ make_archive create_exer,rZ dist_filesappendget_installer_filenamedebugremover'rrQ) r2rErGr*Zplat_specifierrDkeyvaluerNZarchive_basenamefullnamearcnameZ pyversionr3r3r4r]psf                %       zbdist_wininst.runc Csg}|jj}|jd|jp+dd}dd}x{dddd d d d d gD][}t||d}|r]|d|j||f}|jd|||fq]W|jd|jr|jd|j|jd|||jd|j |jd|j |j rD|jd|j |j ra|jd|j |j pv|jj }|jd||ddl }ddl} d|j|j | jf} |jd| dj|S)Nz [metadata]r7 cSs|jddS)Nrhz\n)replace)sr3r3r4escapesz)bdist_wininst.get_inidata..escapeZauthorZ author_email descriptionZ maintainerZmaintainer_emailnameZurlrXz %s: %sz%s=%sz [Setup]zinstall_script=%szinfo=%sztarget_compile=%dztarget_optimize=%dztarget_version=%szuser_access_control=%sztitle=%srzBuilt %s with distutils-%sz build_info=%s)r8metadatar`Zlong_descriptiongetattr capitalizer/r(r)r*r1r-r^time distutilsZctime __version__r=) r2linesrnr[rkrmrMr-rqrrZ build_infor3r3r4 get_inidatas<   !      zbdist_wininst.get_inidatac Csddl}|j|j|j}|j|}|jd||rrt|dj}t|}nd}t|d} | j |j |r| j |t |t r|j d}|d}|jr&t|jddd } | jj d } WdQRX|| d }n |d}| j ||jd d t||} | j | | j t|djdS) Nrz creating %srbwbmbcssrencodingzlatin-1s zs __pycache__/build_scripts.cpython-35.opt-1.pyc000064400000011120147560526160015215 0ustar00 YfW@sdZddlZddlZddlmZddlmZddlmZddl m Z ddl m Z m Z ddlmZddlZejd ZGd d d eZGd d d ee ZdS)zRdistutils.command.build_scripts Implements the Distutils 'build_scripts' command.N)ST_MODE) sysconfig)Command)newer) convert_path Mixin2to3)logs^#!.*python[0-9.]*([ ].*)?$c@sjeZdZdZdddgZdgZd d Zd dZddZddZ ddZ dS) build_scriptsz("build" scripts (copy and fixup #! line) build-dir=ddirectory to "build" (copy) toforcef1forcibly build everything (ignore file timestamps executable=e*specify final destination interpreter pathcCs1d|_d|_d|_d|_d|_dS)N) build_dirscriptsr executableoutfiles)selfrD/opt/alt/python35/lib64/python3.5/distutils/command/build_scripts.pyinitialize_optionss     z build_scripts.initialize_optionscCs)|jdddd|jj|_dS) NZbuildr rr r)r r)r r )rr)Zset_undefined_optionsZ distributionr)rrrrfinalize_options%s  zbuild_scripts.finalize_optionscCs|jS)N)r)rrrrget_source_files,szbuild_scripts.get_source_filescCs|js dS|jdS)N)r copy_scripts)rrrrrun/s zbuild_scripts.runc"Cs|j|jg}g}x|jD]}d}t|}tjj|jtjj|}|j||j rt || rt j d|q&yt |d}Wn$tk r|jsd}Yn|Xtj|j\}}|jd|j} | s!|jd|q&tj| } | rQd}| jdpNd } |rt jd ||j|j||jstjs|j} n:tjjtjd d tjd tjdf} tj| } d| | d} y| jdWn'tk r-t dj!| YnXy| j|Wn*tk rkt dj!| |YnXt |d'}|j"| |j#|j$WdQRX|r|j%q&|r|j%|j||j&||q&Wtj'dkr|x|D]y}|jr!t jd|qtj(|t)d@}|dBd@}||krt jd|||tj*||qW||fS)a"Copy each script listed in 'self.scripts'; if it's marked as a Python script in the Unix way (first line matches 'first_line_re', ie. starts with "\#!" and contains "python"), then adjust the first line to refer to the current Python interpreter as we copy. Fznot copying %s (up-to-date)rbNrz%s is an empty file (skipping)Tzcopying and adjusting %s -> %sBINDIRz python%s%sVERSIONEXEs#!s zutf-8z.The shebang ({!r}) is not decodable from utf-8zAThe shebang ({!r}) is not decodable from the script encoding ({})wbposixzchanging mode of %siimz!changing mode of %s from %o to %o)+Zmkpathrrrospathjoinbasenameappendr rrdebugopenOSErrordry_runtokenizedetect_encodingreadlineseekwarn first_line_rematchgroupinforZ python_buildrget_config_varfsencodedecodeUnicodeDecodeError ValueErrorformatwrite writelines readlinescloseZ copy_filenamestatrchmod)rr updated_filesZscriptZadjustZoutfilerencodinglinesZ first_liner6Z post_interprZshebangZoutffileZoldmodeZnewmoderrrr5s $                         zbuild_scripts.copy_scriptsN)r r r )r rr)rrr) __name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsrrrrrrrrrr s       r c@seZdZddZdS)build_scripts_2to3cCs5tj|\}}|js+|j|||fS)N)r rr/Zrun_2to3)rrrFrrrrs  zbuild_scripts_2to3.copy_scriptsN)rJrKrLrrrrrrMs rM)__doc__r'rerDrZ distutilsrZdistutils.corerZdistutils.dep_utilrZdistutils.utilrrrr0compiler5r rMrrrrs __pycache__/register.cpython-35.pyc000064400000021751147560526160013247 0ustar00 Yf-@sdZddlZddlZddlZddlZddlZddlZddlm Z ddl m Z ddl Tddl mZGddde ZdS) zhdistutils.command.register Implements the Distutils 'register' command (register with the repository). N)warn) PyPIRCCommand)*)logc@seZdZdZejdd gZejdddgZdd d fgZd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZdddZdS)!registerz7register the distribution with the Python package indexlist-classifiersN list the valid Trove classifiersstrictBWill stop the registering if the meta-data are not fully compliantverifycheckcCsdS)NT)selfr r ?/opt/alt/python35/lib64/python3.5/distutils/command/register.pyszregister.cCs#tj|d|_d|_dS)Nr)rinitialize_optionslist_classifiersr )rr r rrs  zregister.initialize_optionscCs<tj|dd|jfddi}||jjds$  __pycache__/bdist_msi.cpython-35.opt-2.pyc000064400000047174147560526160014347 0ustar00 ]@sddlZddlZddlmZddlmZddlmZddlm Z ddl m Z ddl m Z ddlmZddlZdd lmZmZmZdd lmZmZmZmZGd d d eZGd ddeZdS)N)Command) remove_tree)get_python_version) StrictVersion)DistutilsOptionError) get_platform)log)schemasequencetext) DirectoryFeatureDialogadd_datac@sjeZdZddZddZddddZd dd d Zd dd dZddZdS)PyDialogcOsKtj|||jd}d|d}|jdd||jddS)N$iHZ BottomLiner)r__init__hlinew)selfargskwZrulerZbmwidthr./opt/alt/python35/lib64/python3.5/bdist_msi.pyrs zPyDialog.__init__c Cs'|jddddddd|dS)NTitle i@<iz{\VerdanaBold10}%s)r )rtitlerrrr #szPyDialog.titleBackc Cs>|rd}nd}|j|d|jddd|||S)Nr"8) pushbuttonr)rr nextnameactiveflagsrrrback*s z PyDialog.backCancelc Cs>|rd}nd}|j|d|jddd|||S)Nr#r"i0r%r&r')r(r)rr r)r*r+r,rrrcancel5s zPyDialog.cancelNextc Cs>|rd}nd}|j|d|jddd|||S)Nr#r"r%r&r')r(r)rr r)r*r+r,rrrr)@s z PyDialog.nextc Cs:|j|t|j|d|jdddd||S)Nr%r&r'r#)r(intrr)rr*r r)ZxposrrrxbuttonKszPyDialog.xbuttonN) __name__ __module__ __qualname__rr r-r/r)r4rrrrrs     rc@s]eZdZdZdddfdddefdd d d fd dd dfdddfdddfdddfdddfdddfdddfg ZddddgZddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1gZd2Zd3d4Z d5d6Z d7d8Z d9d:Z d;d<Z d=d>Zd?d@ZdAdBZdS)C bdist_msiz7create a Microsoft Installer (.msi) binary distributionz bdist-dir=Nz1temporary directory for creating the distributionz plat-name=pz;platform name to embed in generated filenames (default: %s)z keep-tempkz/keep the pseudo-installation tree around after z!creating the distribution archiveztarget-version=z!require a specific python versionz on the target systemzno-target-compilecz/do not compile .py to .pyc on the target systemzno-target-optimizeoz:do not compile .py to .pyo (optimized)on the target systemz dist-dir=dz-directory to put final built distributions inz skip-buildz2skip rebuilding everything (for testing/debugging)zinstall-script=zTbasename of installation script to be run afterinstallation or before deinstallationzpre-install-script=z{Fully qualified filename of a script to be run before any files are installed. This script need not be in the distributionz2.0z2.1z2.2z2.3z2.4z2.5z2.6z2.7z2.8z2.9z3.0z3.1z3.2z3.3z3.4z3.5z3.6z3.7z3.8z3.9XcCsgd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ dS)Nr) bdist_dir plat_name keep_tempZno_target_compileZno_target_optimizetarget_versiondist_dir skip_buildinstall_scriptpre_install_scriptversions)rrrrinitialize_options}s          zbdist_msi.initialize_optionscCs`|jdd |jdkrI|jdj}tjj|d|_t}|j rt|j j rt||_|jr|jg|_ |j r|j j r|j|krt d|fnt|j|_ |jdd d |jrt d|jrSxC|j jD]"}|jtjj|krPqWt d|jd|_dS) NZbdistrDZmsizMtarget version can only be %s, or the '--skip-build' option must be specifiedrCr@z5the pre-install-script feature is not yet implementedz(install_script '%s' not found in scripts)rDrD)rCrC)r@r@)Zset_undefined_optionsr?get_finalized_command bdist_baseospathjoinrrB distributionhas_ext_modulesrGrDrlist all_versionsrFrEscriptsbasenameinstall_script_key)rrJZ short_versionZscriptrrrfinalize_optionss:        zbdist_msi.finalize_optionscCs\|js|jd|jddd}|j|_|j|_d|_|jd}d|_d|_|jj r|j }|st j dd}d|j |f}|jd}tjj|jd ||_tjd |j|jt jjdtjj|jd |jt jd=|j|j|jj}|j|}tjj|}tjj|rtj||jj }|j!} | s|j"} | sd } |j#} d t$| j } |jj}|j rd|j |f} n d|} t%j&|t'| t%j(| | |_)t%j*|j)t+d| fg} |j,ps|j-}|r| j.d|f|j/r| j.d|j/f| rt0|j)d| |j1|j2|j3|j4|j)j5t6|jdr9d|j pd|f}|jj7j.||j8sXt9|jd|j:dS)NbuildinstallZreinit_subcommandsr"r install_libr#z.%s-%slibzinstalling to %sZPURELIBZUNKNOWNz%d.%d.%dz Python %s %sz Python %sZ DistVersionZ ARPCONTACTZARPURLINFOABOUTProperty dist_filesr8anydry_run);rDZ run_commandZreinitialize_commandr?prefixZwarn_dircompileoptimizerNrOrBsysversionr@rIrKrLrMZ build_baseZ build_librinfoZensure_finalizedinsertrunZmkpathrC get_fullnameget_installer_filenameabspathexistsunlinkmetadataauthorZ maintainerZ get_versionrmsilibZ init_databaser Zgen_uuiddbZ add_tablesr Z author_emailZmaintainer_emailappendZurlradd_find_python add_files add_scriptsadd_uiCommithasattrr[rArr])rrWrXrBZplat_specifierrVfullnameinstaller_namerkrlrbZsversionZ product_nameZpropsZemailtuprrrres|         %                  z bdist_msi.runc Cs|j}tjd}tjj|j}t||d|dd}t|ddddddd}||d fg}x|j |j gD]}d|}d|} } d} ||j krd } d } nd |} d} t|| | | d| d|}t|||||| }|j |||fqW|j i}x|D]\}}}|g}x^|r|j }xEtj|jD]1}tjj|j|}tjj|r d |j||f}||} t||||| |}|j |q|js+|j|j|d||kr|j|}||<||jkr|jrvtd|d||_q||}t|jd|||j|d|jfgqWqiW|j qNW|j|dS)NZ distfiles TARGETDIRZ SourceDirPythonZ Everythingrr"Z directoryzPython from another locationzPython %s from registryz%s|%szMultiple files with name %sz[#%s]Z DuplicateFile)rnrmZCABrKrLrhr?r r rG other_versionrortpoplistdirZabsoluterMisdirZ make_shortZ componentZstart_componentZlogicalZadd_filerErTrrZcommit)rrnZcabZrootdirrootfitemsrbtargetr*defaultZdescr leveldirseenZfeatureZtodofileZafileZshortZnewdirkeyrrrrq s\    !           +zbdist_msi.add_filesc Csd}x|jD]}d|}d|}d|}d|}d|}d|}d|} d |} d |} d |} tjrd} nd } t|jd|d |d| f|d|d| fgt|jd||f||fgt|jd|d| d|df| d | d|df| d!| d| dfgt|jd|||f| ||df| d|d fgt|jd|||f| ||df| d|d fgt|jdd|dd|fg|d7}qWdS)"Niz)SOFTWARE\Python\PythonCore\%s\InstallPathzpython.machine.z python.user.zPYTHON.MACHINE.z PYTHON.USER.ZPythonFromMachineZPythonFromUserZ PythonExeryPYTHONr|Z RegLocatorr"Z AppSearch CustomAction3[]z ]\python.exeInstallExecuteSequenceInstallUISequence Conditionrzrz NOT TARGETDIRi3i3i3)rGrmZWin64rrn)rstartverZ install_pathZ machine_regZuser_regZ machine_propZ user_propZmachine_actionZ user_actionZ exe_actionZtarget_dir_propexe_propZTyperrrrpCsJ                       zbdist_msi.add_find_pythoncCsK|jrd}x|j|jgD]l}d|}d|}t|jd|d||jfgt|jd|d||fg|d7}q#W|jrGtjj |j d }t |d }|j d |j t |jj |jt|jd d tj|fgt|jddgt|jddgdS)Nizinstall_script.rr2rz &Python%s=3r"zpreinstall.batrzrem =""" %1 %0 exit """ Binary PreInstallr| NOT Installed)rr|rN)rrr)rErGr}rrnrTrFrKrLrMr?openwritereadclosermr)rrrZinstall_actionrZscriptfnrrrrrrys,            zbdist_msi.add_scriptscCsG|j}d}}d}d}d}d}d}d} t|dddddddgt|dddddgt|d dddddgt|d/tjt|d0tjt|d1||||||d2d2d2 } | jd3| jd4d2d5d| jd6d7d5d| jd8d9d:d;d<d=d>| jd?d9d@d;dAd=dB| j d2d6dCd2} | j dDdEt|dF||||||d2d2d2 } | jdG| jd4d2d5d| jd6d7d5d| jd8d9d:d;d<d=dH| jd?d9d@d;dAd=dB| j d2d6dCd2} | j dDdEt|dI||||||d2d2d2 } | jdJ| jd4d2d5d| jd6d7d5d| jdKd9dLd;dAd=dB| j d2d6dCd2} | j dDdMt|dN||||dO|dPdPdPdQdR }|jdSd9dTdUd9d=dV|jdKdAdWdXdAd=dY|jdZdAd[d\ddd]|j d^d_dAd`d\dadbdcddd |jdEdddCdE} | j dDdE|j dddPdCdd} | j dDdd|jdPdEdCdP} | j dDdPt |d ddd\dedf|dgdd }|jdgdddXdhddi|j djdkdldmdnddodj dDdp|j dqdrdldmdnddsdj dDdt|j duddldmdnddvdj dDdw|j dxdydldmdndd6dj dDdz|j d{dmdldmdnddddj dDd||j d}d~dldmdndddj dDd|j dddldmdnddPdj dDdt |dddddd|dododo }|jdZdhd9dddd|j dsdldddddsdo} | j dDdE|j doddddddods} | j dDdMt |ddddd||dMdMdM }|jdZdhd9dddd|j dMddddddMd} | j dDdEt|d!||||||d6d6d6 }|jdKd9d:d;dd=d|jd|jd/d9dd;dAd=d} | jd/dZ|jdd9dd;dd=d} | jddZ|jd7dd5d|j ddd5d|jd6d} | j ddt|d'||||||ddd6 }|jd|jdd9dddAdd|jj|jd4dd5d|j dd6} d}| j ddd|xF|j|jgD]1}|d7}| j dd|d|d|qW| j ddd|d| j dDdMd|d|jd6d} | j dd|j ddd9dddkddddd } | j dd|j}d|}d|}|jdd9dUdd9dd} | jd|| jd|| jd|| jd||j ddd9ddddd|ddd } | jd|| jd|| jd|| jd|t|d||||||ddddQdR }|jdSd9dTdUd9d=d|jdKdAdAdXdAd=d|jdZdAdd\ddd|j dddAdd\dddddd |jddddj dDdMt|d$||||||ddd6 }|jd|jdd9ddddddid }|jdddddAd|jdddddAd|jd7dd5d|j dd6} | j dddd| j dDdMdd|jd6d} | j ddt|d-||||||d6d6d6dQdR }|jdSdAd9dUd9d=d|jdZdddddd|jdddddAdd|jd/d:d|d:dAdd} | jd/dZ|j ddddkddddddd } | jdd|jd4dd5dR|j dd6d5dR|jd6d7j ddt|d*||||||ddd6 }|jd|jdd9dd\dydd|jdd9dd\ddddid }|jddddUdd|jddddUdd|jd4dd5dR|j d2d6} | j dddd| j ddddT| j ddddb| j dddd| j dddd| j dddd| j dddd| j dddd| j dDdMddA|jd6dj dddS(Nriri,z[ProductName] Setupr#r" rZ DefaultUIFontDlgFont8 ErrorDialogErrorDlg Progress1Install Progress2installsMaintenanceForm_ActionRepair WhichUsersALLZ TextStyleTahoma r DlgFontBold8 VerdanaBold10Verdanar VerdanaRed9r PrepareDlg(Not Privileged or Windows9x or Installed WhichUsersDlg.Privileged and not Windows9x and not InstalledSelectFeaturesDlg Not InstalledMaintenanceTypeDlg,Installed AND NOT RESUME AND NOT Preselected ProgressDlg ActionTextUITextZ FatalErrorZFinishz)[ProductName] Installer ended prematurelyz< Backr+r.r!Z Description1rFi@Piz[ProductName] setup ended prematurely because of an error. Your system has not been modified. To install this program at a later time, please run the installation again.Z Description2z.Click the Finish button to exit the Installer.r*Z EndDialogZExitZUserExitz'[ProductName] Installer was interruptedz[ProductName] setup was interrupted. Your system has not been modified. To install this program at a later time, please run the installation again.Z ExitDialogz&Completing the [ProductName] InstallerZ DescriptionZReturnZ FilesInUseZRetryZbitmapFrz{\DlgFontBold8}Files in Useiz8Some files that need to be updated are currently in use.ZText7iJzThe following applications are using files that need to be updated by this setup. Close these applications and then click Retry to continue the installation or Cancel to exit it.ZListZListBoxkZFileInUseProcessIgnoreeiZ ErrorText0r{NxHQZNoZErrorNoYZYesZErrorYesAZAbortZ ErrorAbortC*Z ErrorCancelIZ ErrorIgnoreOZOkZErrorOkRZ ErrorRetryZ CancelDlgiUz;Are you sure you want to cancel [ProductName] installation?9r&r'ZWaitForCostingDlgzRPlease wait while the installer finishes determining your disk space requirements.f(zOPlease wait while the Installer prepares to guide you through the installation.z&Welcome to the [ProductName] Installernz Pondering...Z ActionDatar0Z SpawnDialogzSelect Python InstallationsZHintz9Select the Python locations where %s should be installed.zNext >z [TARGETDIR]z [SourceDir]Zorderingz [TARGETDIR%s]z FEATURE_SELECTED AND &Python%s=3ZSpawnWaitDialogr|ZFeaturesZ SelectionTreerZFEATUREZPathEditz[FEATURE_SELECTED]1z!FEATURE_SELECTED AND &Python%s<>3ZOtherz$Provide an alternate Python locationZEnableZShowZDisableZHiderryZ DiskCostDlgZOKz&{\DlgFontBold8}Disk Space RequirementszFThe disk space required for the installation of the selected features.5aThe highlighted volumes (if any) do not have enough disk space available for the currently selected features. You can either remove some files from the highlighted volumes, or choose to install less features onto local drive(s), or select different destination drive(s).Z VolumeListZVolumeCostListdiz{120}{70}{70}{70}{70}g?Z AdminInstallzGSelect whether to install [ProductName] for all users of this computer.zInstall for all usersZJUSTMEzInstall just for mez [ALLUSERS]zWhichUsers="ALL"z({\DlgFontBold8}[Progress1] [ProductName]#AzYPlease wait while the Installer [Progress2] [ProductName]. This may take several minutes.Z StatusLabelzStatus:Z ProgressBariz Progress doneZ SetProgressZProgressz)Welcome to the [ProductName] Setup WizardZBodyText?z:Select whether you want to repair or remove [ProductName].ZRepairRadioGrouplrz&Repair [ProductName]ZRemoverzRe&move [ProductName]z [REINSTALL]zMaintenanceForm_Action="Repair"z [Progress1]Z Repairingz [Progress2]ZrepairsZ Reinstallz[REMOVE]zMaintenanceForm_Action="Remove" ZRemoving Zremoves z MaintenanceForm_Action<>"Change")rr)rr)rr)rr)rr)rr)rrrNr)rrrNr")rrrNr")rrrrr)rrr)rrr)rrr)rrr)rNr)rnrr rrrr r-r/r)eventZcontrolrr(mappingrNrfrGr}Z conditionr4Z radiogroupadd)rrnxyrrr ZmodalZmodelessZtrack_disk_spacefatalr;Z user_exitZ exit_dialogZinuseerrorr/ZcostingZprepZseldlgorderrbrZinstall_other_condZdont_install_other_condZcostZ whichusersgZprogressZmaintrrrrss                .......$$$ !!        "  % zbdist_msi.add_uicCsT|jr%d||j|jf}nd||jf}tjj|j|}|S)Nz%s.%s-py%s.msiz %s.%s.msi)rBr@rKrLrMrC)rrv base_namerwrrrrgs   z bdist_msi.get_installer_filename)r5r6r7 descriptionrZ user_optionsZboolean_optionsrQr}rHrUrerqrprrrsrgrrrrr8SsP      ( [ 6 6 & ?r8)rarKZdistutils.corerZdistutils.dir_utilrZdistutils.sysconfigrZdistutils.versionrZdistutils.errorsrZdistutils.utilrZ distutilsrrmr r r r r rrrr8rrrr s ">__pycache__/config.cpython-35.pyc000064400000025403147560526160012666 0ustar00 Yf$3@sdZddlZddlZddlZddlmZddlmZddlm Z ddl m Z ddd d iZ Gd d d eZ dd dZdS)adistutils.command.config Implements the Distutils 'config' command, a (mostly) empty command class that exists mainly to be sub-classed by specific module distributions and applications. The idea is that while every "config" command is different, at least they're all named the same, and users always see "config" in the list of standard commands. Also, this is a good place to put common configure-like tasks: "try to compile this C code", or "figure out where this header file lives". N)Command)DistutilsExecError)customize_compiler)logcz.czc++z.cxxc @sieZdZdZd>d?d@dAdBdCdDdEdFg ZddZddZddZd d!Zd"d#Z d$d%Z d&d'Z d(d)Z d*d+Z dddd,d-d.Zdddd,d/d0Zddd,d1d2Zddddd,d3d4Zddddd,d5d6Zddddd7d7d8d9Zdddgd:d;Zddd,d<d=ZdS)Gconfigzprepare to build compiler=Nspecify the compiler typecc=specify the compiler executable include-dirs=I.list of directories to search for header filesdefine=DC preprocessor macros to defineundef=U!C preprocessor macros to undefine libraries=l!external C libraries to link with library-dirs=L.directories to search for external C librariesnoisy1show every action (compile, link, run, ...) taken dump-source=dump generated source files before attempting to compile themcCsLd|_d|_d|_d|_d|_d|_d|_g|_dS)N)compilerZcc include_dirs libraries library_dirsr dump_source temp_files)selfr'=/opt/alt/python35/lib64/python3.5/distutils/command/config.pyinitialize_options3s       zconfig.initialize_optionscCs|jdkr'|jjpg|_n*t|jtrQ|jjtj|_|jdkrlg|_n!t|jtr|jg|_|jdkrg|_n*t|jtr|jjtj|_dS)N) r!Z distribution isinstancestrsplitospathsepr"r#)r&r'r'r(finalize_optionsBs  zconfig.finalize_optionscCsdS)Nr')r&r'r'r(runRsz config.runcCsddlm}m}t|j|s|d|jd|jdd|_t|j|jru|jj|j|j r|jj |j |j r|jj |j dS)z^Check that 'self.compiler' really is a CCompiler object; if not, make it one. r) CCompiler new_compilerr dry_runZforcerN) distutils.ccompilerr1r2r*r r3rr!Zset_include_dirsr"Z set_librariesr#Zset_library_dirs)r&r1r2r'r'r(_check_compilerYs    zconfig._check_compilercCsdt|}t|d}|rRx|D]}|jd|q*W|jd|j||ddkr||jd|j|S)NZ _configtestwz#include <%s>  r)LANG_EXTopenwriteclose)r&bodyheaderslangfilenamefileheaderr'r'r(_gen_temp_sourcefileks     zconfig._gen_temp_sourcefilecCsT|j|||}d}|jj||g|jj||d|||fS)Nz _configtest.ir!)rCr%extendr Z preprocess)r&r=r>r!r?srcoutr'r'r( _preprocessxs zconfig._preprocesscCs|j|||}|jr/t|d||jj|g\}|jj||g|jj|gd|||fS)Nzcompiling '%s':r!)rCr$ dump_filer Zobject_filenamesr%rDcompile)r&r=r>r!r?rEobjr'r'r(_compiles zconfig._compilec Cs|j||||\}}tjjtjj|d} |jj|g| d|d|d||jjdk r| |jj} |jj | ||| fS)Nrr"r#Z target_lang) rKr-pathsplitextbasenamer Zlink_executableZ exe_extensionr%append) r&r=r>r!r"r#r?rErJprogr'r'r(_links"z config._linkc Gsl|s|j}g|_tjddj|x4|D],}ytj|Wq8tk rcYq8Xq8WdS)Nz removing: %s )r%rinfojoinr-removeOSError)r& filenamesr@r'r'r(_cleans    z config._cleanrc Cscddlm}|jd}y|j||||Wn|k rTd}YnX|j|S)aQConstruct a source file from 'body' (a string containing lines of C/C++ code) and 'headers' (a list of header files to include) and run it through the preprocessor. Return true if the preprocessor succeeded, false if there were any errors. ('body' probably isn't of much use, but what the heck.) r) CompileErrorTF)r4rYr5rGrX)r&r=r>r!r?rYokr'r'r(try_cpps    zconfig.try_cppc Cs|j|j||||\}}t|trFtj|}t|}d} x3|j} | dkrtP|j| r[d} Pq[W|j |j | S)aConstruct a source file (just like 'try_cpp()'), run it through the preprocessor, and return true if any line of the output matches 'pattern'. 'pattern' should either be a compiled regex object or a string containing a regex. If both 'body' and 'headers' are None, preprocesses an empty file -- which can be useful to determine the symbols the preprocessor and compiler set by default. FT) r5rGr*r+rerIr:readlinesearchr<rX) r&patternr=r>r!r?rErFrAmatchliner'r'r( search_cpps      zconfig.search_cppc Cs|ddlm}|jy |j||||d}Wn|k rTd}YnXtj|rgdpjd|j|S)zwTry to compile a source file built from 'body' and 'headers'. Return true on success, false otherwise. r)rYTFzsuccess!zfailure.)r4rYr5rKrrSrX)r&r=r>r!r?rYrZr'r'r( try_compiles     zconfig.try_compilec Csddlm}m}|jy&|j||||||d} Wn||fk rfd} YnXtj| rydp|d|j| S)zTry to compile and link a source file, built from 'body' and 'headers', to executable form. Return true on success, false otherwise. r)rY LinkErrorTFzsuccess!zfailure.)r4rYrer5rQrrSrX) r&r=r>r!r"r#r?rYrerZr'r'r(try_links     zconfig.try_linkc Csddlm}m}|jyA|j||||||\} } } |j| gd} Wn!||tfk rd} YnXtj| rdpd|j | S)zTry to compile, link to an executable, and run a program built from 'body' and 'headers'. Return true on success, false otherwise. r)rYreTFzsuccess!zfailure.) r4rYrer5rQZspawnrrrSrX) r&r=r>r!r"r#r?rYrerErJZexerZr'r'r(try_runs    zconfig.try_runrc Cs|jg}|r'|jd||jd|rN|jd|n|jd||jddj|d}|j|||||S)aDetermine if function 'func' is available by constructing a source file that refers to 'func', and compiles and links it. If everything succeeds, returns true; otherwise returns false. The constructed source file starts out by including the header files listed in 'headers'. If 'decl' is true, it then declares 'func' (as "int func()"); you probably shouldn't supply 'headers' and set 'decl' true in the same call, or you might get errors about a conflicting declarations for 'func'. Finally, the constructed 'main()' function either references 'func' or (if 'call' is true) calls it. 'libraries' and 'library_dirs' are used when linking. z int %s ();z int main () {z %s();z %s;}r7)r5rOrTrf) r&funcr>r!r"r#ZdeclZcallr=r'r'r( check_funcs   zconfig.check_funccCs*|j|jd|||g||S)aDetermine if 'library' is available to be linked against, without actually checking that any particular symbols are provided by it. 'headers' will be used in constructing the source file to be compiled, but the only effect of this is to check if all the header files listed are available. Any libraries listed in 'other_libraries' will be included in the link, in case 'library' has symbols that depend on other libraries. zint main (void) { })r5rf)r&Zlibraryr#r>r!Zother_librariesr'r'r( check_lib6s zconfig.check_libcCs|jddd|gd|S)zDetermine if the system header file named by 'header_file' exists and can be found by the preprocessor; return true if so, false otherwise. r=z /* No body */r>r!)r[)r&rBr!r#r?r'r'r( check_headerDszconfig.check_header)rNr )r Nr )r r r)rrr)rrr)rrr)rrr)rNr)rNr)__name__ __module__ __qualname__Z descriptionZ user_optionsr)r/r0r5rCrGrKrQrXr[rcrdrfrgrjrkrlr'r'r'r(rsT             rc Csb|dkr tjd|n tj|t|}ztj|jWd|jXdS)zjDumps a file content into log.info. If head is not None, will be dumped before the file content. Nz%s)rrSr:readr<)r@headrAr'r'r(rHNs   rH)__doc__sysr-r]Zdistutils.corerZdistutils.errorsrZdistutils.sysconfigrZ distutilsrr9rrHr'r'r'r( s$:__pycache__/bdist.cpython-35.pyc000064400000007711147560526160012530 0ustar00 Yf@sbdZddlZddlmZddlTddlmZddZGdd d eZdS) zidistutils.command.bdist Implements the Distutils 'bdist' command (create a built [binary] distribution).N)Command)*) get_platformcCslddlm}g}x6tjD]+}|jd|dtj|dfq W||}|jddS)zFPrint list of available formats (arguments to "--format" option). r) FancyGetoptzformats=Nz'List of available distribution formats:)Zdistutils.fancy_getoptrbdistformat_commandsappendformat_commandZ print_help)rformatsformatZpretty_printerr dd?dd@d dAd!dBd"dCddDd#dEi Z d0d1Z d2d3Zd4d5Zd S)Frz$create a built (binary) distribution bdist-base=b4temporary directory for creating built distributionsz plat-name=pz;platform name to embed in generated filenames (default: %s)formats=N/formats for distribution (comma-separated list) dist-dir=d=directory to put final built distributions in [default: dist] skip-build2skip rebuilding everything (for testing/debugging)owner=u@Owner name used when creating a tar file [default: current user]group=gAGroup name used when creating a tar file [default: current group]z help-formatsz$lists available distribution formats bdist_rpmposixZgztarntzipZrpmZbztarZxztarZztarZtarZwininstZmsiRPM distribution bdist_dumbgzip'ed tar filebzip2'ed tar filexz'ed tar filecompressed tar filetar file bdist_wininstWindows executable installerZIP file bdist_msiMicrosoft InstallercCsCd|_d|_d|_d|_d|_d|_d|_dS)Nr) bdist_base plat_namer dist_dir skip_buildgroupowner)selfr r rinitialize_optionsQs      zbdist.initialize_optionsc Cs|jdkr<|jr't|_n|jdj|_|jdkr||jdj}tjj|d|j|_|j d|j dkry|j tj g|_ Wn%t k rtdtj YnX|jdkrd|_dS)NZbuildzbdist.r z;don't know how to create built distributions on platform %sZdist)r2r4rZget_finalized_commandr1 build_baseospathjoinZensure_string_listr default_formatnameKeyErrorZDistutilsPlatformErrorr3)r7r9r r rfinalize_optionsZs$    zbdist.finalize_optionsc Cs g}xR|jD]G}y|j|j|dWqtk rVtd|YqXqWxtt|jD]}||}|j|}||jkr|j||_ |dkr|j |_ |j |_ |||ddkrd|_ |j |qqWdS)Nrzinvalid format '%s'r&r)r r r r?ZDistutilsOptionErrorrangelenZreinitialize_commandno_format_optionr r6r5Z keep_tempZ run_command)r7Zcommandsr iZcmd_nameZsub_cmdr r rrunvs"      z bdist.run)rrr)rNr)rrr)rNr)rrr)rrr )r!)r!r%)r&r')r&r()r&r))r&r*)r&r+)r,r-)r&r.)r/r0)__name__ __module__ __qualname__Z descriptionrZ user_optionsZboolean_optionsrZ help_optionsrCr=rr r8r@rEr r r rrsJ       r) __doc__r:Zdistutils.corerZdistutils.errorsZdistutils.utilrrrr r r rs    __pycache__/register.cpython-35.opt-2.pyc000064400000017344147560526160014212 0ustar00 ]-@sddlZddlZddlZddlZddlZddlZddlmZddl m Z ddl Tddl m Z Gddde ZdS)N)warn) PyPIRCCommand)*)logc@seZdZdZejdd gZejdddgZdd d fgZd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZdddZdS)!registerz7register the distribution with the Python package indexlist-classifiersN list the valid Trove classifiersstrictBWill stop the registering if the meta-data are not fully compliantverifycheckcCsdS)NT)selfr r -/opt/alt/python35/lib64/python3.5/register.pyszregister.cCs#tj|d|_d|_dS)Nr)rinitialize_optionslist_classifiersr )rr r rrs  zregister.initialize_optionscCs<tj|dd|jfddi}||jjdioStringIOitemstypestrwritegetvalueencodelenr&r'ZRequestZ build_openerZHTTPBasicAuthHandleropenerror HTTPErrorZ show_responsefpreadr.msgURLErrorr*join)rrIrGboundaryZ sep_boundaryZ end_boundaryZbodykeyvalueZheadersZreqZopenerr/erfr r rr,sV      $           $%   zregister.post_to_server)rNr)r Nr )__name__ __module__ __qualname__rLrZ user_optionsZboolean_optionsZ sub_commandsrrrrrrrrr-r,r r r rrs&         z r)osstringrArXZ urllib.parser&Zurllib.requestwarningsrZdistutils.corerZdistutils.errorsZ distutilsrrr r r rs$  __pycache__/install.cpython-35.pyc000064400000035174147560526160013075 0ustar00 Yfg @sdZddlZddlZddlmZddlmZddlmZddl m Z ddl m Z ddl mZdd lmZmZmZdd lmZdd l mZdd lmZdd lmZdZddddddddddiZdddddddddddiddddddd ddddid!eiZerdd"dd"dd#dd$dd%ied&d?Zd@dAZdBdCZdDdEZdFdGZdHdIZdJdKZdLdMZdNdOZdPdQZdRdSZdTdUZdVdWZdXefdYefdZefd[efd\d]d^fgZdS)oinstallz'install everything from build directoryprefix=Ninstallation prefix exec-prefix=.(Unix only) prefix for platform-specific fileshome=+(Unix only) home directory to install under install-base=;base installation directory (instead of --prefix or --home)zinstall-platbase=z8base installation directory for platform-specific files z$(instead of --exec-prefix or --home)root=/opt/alt/python35/lib64/python3.5/distutils/command/install.pyinitialize_optionss2                       zinstall.initialize_optionscCsr|js|js|jr=|js-|jr=tdd|jrd|jsX|jrdtd|jr|js|js|js|js|jrtdtjdkr|jr|j dd|_|j dtjdkr|j n |j |j d t jjd }td d \}}y t j}Wntk rcd }YnXd|jjd|jjd|jjd|d|d dd|d |dd|d |d|d |d|i |_tr|j|jd<|j|jd<|j|j d|j|jd<|j|jd=z %s: %sr) rZdistutils.fancy_getoptrrdebug user_options negative_opt translategetattr)rUmsgrZoptZopt_namevalrVrVrWrjss  zinstall.dump_dirscCs|jdk s|jdk r|jdkrK|jdkrK|jdksx|jdksx|jdksx|jdkrtddS|j r|j dkrt d|j |_|_|j dn|j dk r|j |_|_|j dn|jdkr^|jdk r+tdtjjtj|_tjjtj|_n|jdkry|j|_|j|_|j|_|j ddS)z&Finalizes options for posix platforms.NzPinstall-base or install-platbase supplied, but installation scheme is incompletez$User base directory is not specifiedrrz*must not supply exec-prefix without prefixr)rBrCrHrErFrGrIrJr r=rKr select_schemerAr?r@rgr{normpathrm)rUrVrVrWrks<       zinstall.finalize_unixc Cs|jrN|jdkr$td|j|_|_|jtjdn|jdk r|j|_|_|jdnv|j dkrtj j t j |_ |j |_|_y|jtjWn%t k rtdtjYnXdS)z)Finalizes options for non-posix platformsNz$User base directory is not specifiedZ_userrz)I don't know how to install stuff on '%s')r=rKrrBrCrrgrhrAr?r{rrmKeyError)rUrVrVrWrls"   zinstall.finalize_othercCsRt|}xAtD]9}d|}t||dkrt||||qWdS)z=Sets the install directories by applying the install schemes.install_N)INSTALL_SCHEMES SCHEME_KEYSrsetattr)rUrhschemekeyZattrnamerVrVrWrs    zinstall.select_schemecCsx{|D]s}t||}|dk rtjdksFtjdkrXtjj|}t||j}t|||qWdS)NrYr)rrgrhr{ expanduserr rrr)rUZattrsattrrrVrVrW _expand_attrss  zinstall._expand_attrscCs|jdddgdS)zNCalls `os.path.expanduser` on install_base, install_platbase and root.rBrCrDN)r)rUrVrVrWrtszinstall.expand_basedirscCs#|jddddddgdS)z+Calls `os.path.expanduser` on install dirs.rErFrHrGrIrJN)r)rUrVrVrWrvs zinstall.expand_dirscGs>x7|D]/}d|}t||tt||qWdS)z!Call `convert_path` over `names`.rN)rrr)rUnamesrhrrVrVrWrxs  zinstall.convert_pathscCs|jdkr|jj|_|jdk rt|jtrT|jjd|_t|jdkr}|jd}}n3t|jdkr|j\}}n tdt|}n d}d}||_||_ dS)z4Set `path_file` and `extra_dirs` using `extra_path`.N,r>rr_zY'extra_path' option must be a list, tuple, or comma-separated string with 1 or 2 elementsrZ) rNrq isinstancestrrolenr r path_filer})rUrr}rVrVrWrys   zinstall.handle_extra_pathc GsDx=|D]5}d|}t||t|jt||qWdS)z:Change the install directories pointed by name using root.rN)rr rDr)rUrrhrrVrVrWr~s  zinstall.change_rootscCs|js dSttjjd}x`|jjD]O\}}|j|r5tjj| r5|j d|tj |dq5WdS)zCreate directories under ~.N~zos.makedirs('%s', 0o700)i) r=rrgr{rrritems startswithisdirZ debug_printmakedirs)rUrArhr{rVrVrWrw s "zinstall.create_home_pathcCs|jsO|jd|jjdj}|jrO|tkrOtdx!|jD]}|j|q\W|j r|j |j r |j }|j rt|j }x2tt|D]}|||d||szinstall.)rNr)rNr)rNr)r Nr!)r"Nr#)r$Nr%)r&Nr')r(Nr))r*Nr+)r,Nr-)r.r/r0)r1Nr2)r3r4r5)r6r7r8)r9Nr:)r;Nr<) __name__ __module__ __qualname__Z descriptionrZboolean_optionsrsrrrrXrrjrkrlrrrtrvrxryr~rwrrrrrrrrZ sub_commandsrVrVrVrWrIs      M  (       ,          r)rrrrr)__doc__rmrgZ distutilsrZdistutils.corerZdistutils.debugrZdistutils.sysconfigrZdistutils.errorsrZdistutils.file_utilrZdistutils.utilrr r r r Zsiter rrsZWINDOWS_SCHEMErrrrVrVrVrWs\      __pycache__/build_scripts.cpython-35.opt-2.pyc000064400000010262147560526160015224 0ustar00 ]W@sddlZddlZddlmZddlmZddlmZddlm Z ddl m Z m Z ddlm Z ddlZejdZGd d d eZGd d d ee ZdS) N)ST_MODE) sysconfig)Command)newer) convert_path Mixin2to3)logs^#!.*python[0-9.]*([ ].*)?$c@sjeZdZdZdddgZdgZd d Zd dZddZddZ ddZ dS) build_scriptsz("build" scripts (copy and fixup #! line) build-dir=ddirectory to "build" (copy) toforcef1forcibly build everything (ignore file timestamps executable=e*specify final destination interpreter pathcCs1d|_d|_d|_d|_d|_dS)N) build_dirscriptsr executableoutfiles)selfr2/opt/alt/python35/lib64/python3.5/build_scripts.pyinitialize_optionss     z build_scripts.initialize_optionscCs)|jdddd|jj|_dS) NZbuildr rr r)r r)r r )rr)Zset_undefined_optionsZ distributionr)rrrrfinalize_options%s  zbuild_scripts.finalize_optionscCs|jS)N)r)rrrrget_source_files,szbuild_scripts.get_source_filescCs|js dS|jdS)N)r copy_scripts)rrrrrun/s zbuild_scripts.runc"Cs|j|jg}g}x|jD]}d}t|}tjj|jtjj|}|j||j rt || rt j d|q&yt |d}Wn$tk r|jsd}Yn|Xtj|j\}}|jd|j} | s!|jd|q&tj| } | rQd}| jdpNd} |rt jd ||j|j||jstjs|j} n:tjjtjd d tjd tjd f} tj| } d| | d} y| jdWn'tk r-t dj!| YnXy| j|Wn*tk rkt dj!| |YnXt |d'}|j"| |j#|j$WdQRX|r|j%q&|r|j%|j||j&||q&Wtj'dkr|x|D]y}|jr!t jd|qtj(|t)d@}|dBd@}||krt jd|||tj*||qW||fS)NFznot copying %s (up-to-date)rbrz%s is an empty file (skipping)Tzcopying and adjusting %s -> %sBINDIRz python%s%sVERSIONEXEs#!s zutf-8z.The shebang ({!r}) is not decodable from utf-8zAThe shebang ({!r}) is not decodable from the script encoding ({})wbposixzchanging mode of %siimz!changing mode of %s from %o to %o)+Zmkpathrrrospathjoinbasenameappendr rrdebugopenOSErrordry_runtokenizedetect_encodingreadlineseekwarn first_line_rematchgroupinforZ python_buildrget_config_varfsencodedecodeUnicodeDecodeError ValueErrorformatwrite writelines readlinescloseZ copy_filenamestatrchmod)rr updated_filesZscriptZadjustZoutfilerencodinglinesZ first_liner6Z post_interprZshebangZoutffileZoldmodeZnewmoderrrr5s $                         zbuild_scripts.copy_scriptsN)r r r )r rr)rrr) __name__ __module__ __qualname__ descriptionZ user_optionsZboolean_optionsrrrrrrrrrr s       r c@seZdZddZdS)build_scripts_2to3cCs5tj|\}}|js+|j|||fS)N)r rr/Zrun_2to3)rrrFrrrrs  zbuild_scripts_2to3.copy_scriptsN)rJrKrLrrrrrrNs rN)r'rerDrZ distutilsrZdistutils.corerZdistutils.dep_utilrZdistutils.utilrrrr0compiler5r rNrrrrs __pycache__/build_clib.cpython-35.opt-1.pyc000064400000012403147560526160014444 0ustar00 YfV@srdZddlZddlmZddlTddlmZddlmZddZ Gd d d eZ dS) zdistutils.command.build_clib Implements the Distutils 'build_clib' command, to build a C/C++ library that is included in the module distribution and needed by an extension module.N)Command)*)customize_compiler)logcCsddlm}|dS)Nr)show_compilers)distutils.ccompilerr)rrA/opt/alt/python35/lib64/python3.5/distutils/command/build_clib.pyrsrc@seZdZdZd"d#d$d%d&gZdd gZdddefgZddZddZ ddZ ddZ ddZ ddZ d d!ZdS)' build_clibz/build C/C++ libraries used by Python extensions build-clib=b%directory to build C/C++ libraries to build-temp=t,directory to put temporary build by-productsdebugg"compile with debugging informationforcef2forcibly build everything (ignore file timestamps) compiler=cspecify the compiler typez help-compilerNzlist available compilerscCsUd|_d|_d|_d|_d|_d|_d|_d|_d|_dS)Nr) r build_temp libraries include_dirsdefineundefrrcompiler)selfrrr initialize_options4s        zbuild_clib.initialize_optionscCs|jdddd d d |jj|_|jrD|j|j|jdkrh|jjpbg|_t|jtr|jjtj |_dS) NZbuildrr rrr)rr )rr)rr)rr)rr) Zset_undefined_optionsZ distributionrcheck_library_listr isinstancestrsplitospathsep)r rrr finalize_optionsDs  zbuild_clib.finalize_optionscCs|js dSddlm}|d|jd|jd|j|_t|j|jdk rs|jj|j|j dk rx*|j D]\}}|jj ||qW|j dk rx!|j D]}|jj |qW|j |jdS)Nr) new_compilerrdry_runr)rrr)rr*rrrZset_include_dirsrZ define_macrorZundefine_macrobuild_libraries)r r)namevalueZmacrorrr run^s    zbuild_clib.runcCst|tstdx|D]}t|t rVt|dkrVtd|\}}t|ts}tdd|kstjdkrtj|krtd|dt|ts"tdq"Wd S) a`Ensure that the list of libraries is valid. `library` is presumably provided as a command option 'libraries'. This method checks that it is a list of 2-tuples, where the tuples are (library_name, build_info_dict). Raise DistutilsSetupError if the structure is invalid anywhere; just returns otherwise. z+'libraries' option must be a list of tuplesz*each element of 'libraries' must a 2-tuplezNfirst element of each tuple in 'libraries' must be a string (the library name)/z;bad library name '%s': may not contain directory separatorsrzMsecond element of each tuple in 'libraries' must be a dictionary (build info)N) r#listDistutilsSetupErrortuplelenr$r&sepdict)r rlibr, build_inforrr r"vs"   "   *zbuild_clib.check_library_listcCs>|js dSg}x$|jD]\}}|j|qW|S)N)rappend)r Z lib_nameslib_namer8rrr get_library_namess  zbuild_clib.get_library_namescCs|j|jg}xe|jD]Z\}}|jd}|dks]t|ttf rmtd||j|q W|S)Nsourceszfin 'libraries' option (library '%s'), 'sources' must be present and must be a list of source filenames)r"rgetr#r1r3r2extend)r filenamesr:r8r<rrr get_source_filess" zbuild_clib.get_source_filesc Csx|D]\}}|jd}|dksDt|ttf rTtd|t|}tjd||jd}|jd}|jj|d|j d|d|d|j }|jj ||d|j d|j qWdS)Nr<zfin 'libraries' option (library '%s'), 'sources' must be present and must be a list of source filenameszbuilding '%s' librarymacrosrZ output_dirr) r=r#r1r3r2rinforcompilerrZcreate_static_libr )r rr:r8r<rArZobjectsrrr r+s$"     zbuild_clib.build_libraries)r r r )rrr)rrr)rrr)rrr)__name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsrZ help_optionsr!r(r.r"r;r@r+rrrr r s*       $ r ) __doc__r&Zdistutils.corerZdistutils.errorsZdistutils.sysconfigrZ distutilsrrr rrrr s   __pycache__/clean.cpython-35.pyc000064400000004432147560526160012502 0ustar00 Yf @s\dZddlZddlmZddlmZddlmZGdddeZdS)zBdistutils.command.clean Implements the Distutils 'clean' command.N)Command) remove_tree)logc@s[eZdZdZddddddgZdgZddZddZddZdS)cleanz-clean up temporary files from 'build' command build-base=b2base build directory (default: 'build.build-base') build-lib=N}tjj|rt|d|jqctj d|qcW|jsy'tj |jtjd|jWntk rYnXdS)Ndry_runz%'%s' does not exist -- can't clean itz removing '%s')ospathexistsrrrrdebugrrrrwarnrmdirrinfoOSError)rZ directoryrrrrun1s$        z clean.run)rrr)r Nr )r r r )rNr)rNr)rrr) __name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsrrr(rrrrr s"     r) __doc__r Zdistutils.corerZdistutils.dir_utilrZ distutilsrrrrrrs  __pycache__/bdist_msi.cpython-35.pyc000064400000052374147560526160013405 0ustar00 Yf@sdZddlZddlZddlmZddlmZddlmZddl m Z ddl m Z ddl mZdd lmZddlZdd lmZmZmZdd lmZmZmZmZGd d d eZGdddeZdS)z# Implements the bdist_msi command. N)Command) remove_tree)get_python_version) StrictVersion)DistutilsOptionError) get_platform)log)schemasequencetext) DirectoryFeatureDialogadd_datac@speZdZdZddZddZdddd Zd dd d Zd dddZddZ dS)PyDialogzDialog class with a fixed layout: controls at the top, then a ruler, then a list of buttons: back, next, cancel. Optionally a bitmap at the left.cOsKtj|||jd}d|d}|jdd||jddS)zbDialog(database, name, x, y, w, h, attributes, title, first, default, cancel, bitmap=true)$iHZ BottomLinerN)r__init__hlinew)selfargskwZrulerZbmwidthr@/opt/alt/python35/lib64/python3.5/distutils/command/bdist_msi.pyrs zPyDialog.__init__c Cs'|jddddddd|dS) z,Set the title text of the dialog at the top.Title i@<iz{\VerdanaBold10}%sN)r )rtitlerrrr #szPyDialog.titleBackc Cs>|rd}nd}|j|d|jddd|||S)zAdd a back button with a given title, the tab-next button, its name in the Control table, possibly initially disabled. Return the button, so that events can be associatedr"8) pushbuttonr)rr nextnameactiveflagsrrrback*s z PyDialog.backCancelc Cs>|rd}nd}|j|d|jddd|||S)zAdd a cancel button with a given title, the tab-next button, its name in the Control table, possibly initially disabled. Return the button, so that events can be associatedr#r"i0r%r&r')r(r)rr r)r*r+r,rrrcancel5s zPyDialog.cancelNextc Cs>|rd}nd}|j|d|jddd|||S)zAdd a Next button with a given title, the tab-next button, its name in the Control table, possibly initially disabled. Return the button, so that events can be associatedr#r"r%r&r')r(r)rr r)r*r+r,rrrr)@s z PyDialog.nextc Cs:|j|t|j|d|jdddd||S)zAdd a button with a given title, the tab-next button, its name in the Control table, giving its x position; the y-position is aligned with the other buttons. Return the button, so that events can be associatedr%r&r'r#)r(intrr)rr*r r)ZxposrrrxbuttonKszPyDialog.xbuttonN) __name__ __module__ __qualname____doc__rr r-r/r)r4rrrrrs     rc@s]eZdZdZdddfdddefdd d d fd dd dfdddfdddfdddfdddfdddfdddfg ZddddgZddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1gZd2Zd3d4Z d5d6Z d7d8Z d9d:Z d;d<Z d=d>Zd?d@ZdAdBZdS)C bdist_msiz7create a Microsoft Installer (.msi) binary distributionz bdist-dir=Nz1temporary directory for creating the distributionz plat-name=pz;platform name to embed in generated filenames (default: %s)z keep-tempkz/keep the pseudo-installation tree around after z!creating the distribution archiveztarget-version=z!require a specific python versionz on the target systemzno-target-compilecz/do not compile .py to .pyc on the target systemzno-target-optimizeoz:do not compile .py to .pyo (optimized)on the target systemz dist-dir=dz-directory to put final built distributions inz skip-buildz2skip rebuilding everything (for testing/debugging)zinstall-script=zTbasename of installation script to be run afterinstallation or before deinstallationzpre-install-script=z{Fully qualified filename of a script to be run before any files are installed. This script need not be in the distributionz2.0z2.1z2.2z2.3z2.4z2.5z2.6z2.7z2.8z2.9z3.0z3.1z3.2z3.3z3.4z3.5z3.6z3.7z3.8z3.9XcCsgd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ dS)Nr) bdist_dir plat_name keep_tempZno_target_compileZno_target_optimizetarget_versiondist_dir skip_buildinstall_scriptpre_install_scriptversions)rrrrinitialize_options}s          zbdist_msi.initialize_optionscCs`|jdd |jdkrI|jdj}tjj|d|_t}|j rt|j j rt||_|jr|jg|_ |j r|j j r|j|krt d|fnt|j|_ |jdd d |jrt d|jrSxC|j jD]"}|jtjj|krPqWt d|jd|_dS) NZbdistrEZmsizMtarget version can only be %s, or the '--skip-build' option must be specifiedrDrAz5the pre-install-script feature is not yet implementedz(install_script '%s' not found in scripts)rErE)rDrD)rArA)Zset_undefined_optionsr@get_finalized_command bdist_baseospathjoinrrC distributionhas_ext_modulesrHrErlist all_versionsrGrFscriptsbasenameinstall_script_key)rrKZ short_versionZscriptrrrfinalize_optionss:        zbdist_msi.finalize_optionscCsq|js|jd|jddd}|j|_|j|_d|_|jd}d|_d|_|jj r|j }|s|jst dt j dd}d |j|f}|jd}tjj|jd ||_tjd |j|jt jjdtjj|jd |jt jd=|j|j|jj}|j|}tjj|}tjj|rtj ||jj!}|j"} | s|j#} | sd } |j$} dt%| j } |jj}|j r&d|j |f} n d|} t&j'|t(| t&j)| | |_*t&j+|j*t,d| fg} |j-p|j.}|r| j/d|f|j0r| j/d|j0f| rt1|j*d| |j2|j3|j4|j5|j*j6t7|jdrNd|j p2d|f}|jj8j/||j9smt:|jd|j;dS)NbuildinstallZreinit_subcommandsr"r install_libz Should have already checked thisr#z.%s-%slibzinstalling to %sZPURELIBZUNKNOWNz%d.%d.%dz Python %s %sz Python %sZ DistVersionZ ARPCONTACTZARPURLINFOABOUTProperty dist_filesr9anydry_run)| jd?d9d@d;dAd=dB| j d2d6dCd2} | j dDdEt|dF||||||d2d2d2 } | jdG| jd4d2d5d| jd6d7d5d| jd8d9d:d;d<d=dH| jd?d9d@d;dAd=dB| j d2d6dCd2} | j dDdEt|dI||||||d2d2d2 } | jdJ| jd4d2d5d| jd6d7d5d| jdKd9dLd;dAd=dB| j d2d6dCd2} | j dDdMt|dN||||dO|dPdPdPdQdR }|jdSd9dTdUd9d=dV|jdKdAdWdXdAd=dY|jdZdAd[d\ddd]|j d^d_dAd`d\dadbdcddd |jdEdddCdE} | j dDdE|j dddPdCdd} | j dDdd|jdPdEdCdP} | j dDdPt |d ddd\dedf|dgdd }|jdgdddXdhddi|j djdkdldmdnddodj dDdp|j dqdrdldmdnddsdj dDdt|j duddldmdnddvdj dDdw|j dxdydldmdndd6dj dDdz|j d{dmdldmdnddddj dDd||j d}d~dldmdndddj dDd|j dddldmdnddPdj dDdt |dddddd|dododo }|jdZdhd9dddd|j dsdldddddsdo} | j dDdE|j doddddddods} | j dDdMt |ddddd||dMdMdM }|jdZdhd9dddd|j dMddddddMd} | j dDdEt|d!||||||d6d6d6 }|jdKd9d:d;dd=d|jd|jd/d9dd;dAd=d} | jd/dZ|jdd9dd;dd=d} | jddZ|jd7dd5d|j ddd5d|jd6d} | j ddt|d'||||||ddd6 }|jd|jdd9dddAdd|jj|jd4dd5d|j dd6} d}| j ddd|xF|j|jgD]1}|d7}| j dd|d|d|qW| j ddd|d| j dDdMd|d|jd6d} | j dd|j ddd9dddkddddd } | j dd|j}d|}d|}|jdd9dUdd9dd} | jd|| jd|| jd|| jd||j ddd9ddddd|ddd } | jd|| jd|| jd|| jd|t|d||||||ddddQdR }|jdSd9dTdUd9d=d|jdKdAdAdXdAd=d|jdZdAdd\ddd|j dddAdd\dddddd |jddddj dDdMt|d$||||||ddd6 }|jd|jdd9ddddddid }|jdddddAd|jdddddAd|jd7dd5d|j dd6} | j dddd| j dDdMdd|jd6d} | j ddt|d-||||||d6d6d6dQdR }|jdSdAd9dUd9d=d|jdZdddddd|jdddddAdd|jd/d:d|d:dAdd} | jd/dZ|j ddddkddddddd } | jdd|jd4dd5dR|j dd6d5dR|jd6d7j ddt|d*||||||ddd6 }|jd|jdd9dd\dydd|jdd9dd\ddddid }|jddddUdd|jddddUdd|jd4dd5dR|j d2d6} | j dddd| j ddddT| j ddddb| j dddd| j dddd| j dddd| j dddd| j dddd| j dDdMddA|jd6dj dddS(Nriri,z[ProductName] Setupr#r" r[ DefaultUIFontDlgFont8 ErrorDialogErrorDlg Progress1Install Progress2installsMaintenanceForm_ActionRepair WhichUsersALLZ TextStyleTahoma r DlgFontBold8 VerdanaBold10Verdanar VerdanaRed9r PrepareDlg(Not Privileged or Windows9x or Installed WhichUsersDlg.Privileged and not Windows9x and not InstalledSelectFeaturesDlg Not InstalledMaintenanceTypeDlg,Installed AND NOT RESUME AND NOT Preselected ProgressDlg ActionTextUITextZ FatalErrorZFinishz)[ProductName] Installer ended prematurelyz< Backr+r.r!Z Description1rFi@Piz[ProductName] setup ended prematurely because of an error. Your system has not been modified. To install this program at a later time, please run the installation again.Z Description2z.Click the Finish button to exit the Installer.r*Z EndDialogZExitZUserExitz'[ProductName] Installer was interruptedz[ProductName] setup was interrupted. Your system has not been modified. To install this program at a later time, please run the installation again.Z ExitDialogz&Completing the [ProductName] InstallerZ DescriptionZReturnZ FilesInUseZRetryZbitmapFrz{\DlgFontBold8}Files in Useiz8Some files that need to be updated are currently in use.ZText7iJzThe following applications are using files that need to be updated by this setup. Close these applications and then click Retry to continue the installation or Cancel to exit it.ZListZListBoxkZFileInUseProcessIgnoreeiZ ErrorText0r}NxHQZNoZErrorNoYZYesZErrorYesAZAbortZ ErrorAbortC*Z ErrorCancelIZ ErrorIgnoreOZOkZErrorOkRZ ErrorRetryZ CancelDlgiUz;Are you sure you want to cancel [ProductName] installation?9r&r'ZWaitForCostingDlgzRPlease wait while the installer finishes determining your disk space requirements.f(zOPlease wait while the Installer prepares to guide you through the installation.z&Welcome to the [ProductName] Installernz Pondering...Z ActionDatar0Z SpawnDialogzSelect Python InstallationsZHintz9Select the Python locations where %s should be installed.zNext >z [TARGETDIR]z [SourceDir]Zorderingz [TARGETDIR%s]z FEATURE_SELECTED AND &Python%s=3ZSpawnWaitDialogr~ZFeaturesZ SelectionTreerZFEATUREZPathEditz[FEATURE_SELECTED]1z!FEATURE_SELECTED AND &Python%s<>3ZOtherz$Provide an alternate Python locationZEnableZShowZDisableZHiderr{Z DiskCostDlgZOKz&{\DlgFontBold8}Disk Space RequirementszFThe disk space required for the installation of the selected features.5aThe highlighted volumes (if any) do not have enough disk space available for the currently selected features. You can either remove some files from the highlighted volumes, or choose to install less features onto local drive(s), or select different destination drive(s).Z VolumeListZVolumeCostListdiz{120}{70}{70}{70}{70}g?Z AdminInstallzGSelect whether to install [ProductName] for all users of this computer.zInstall for all usersZJUSTMEzInstall just for mez [ALLUSERS]zWhichUsers="ALL"z({\DlgFontBold8}[Progress1] [ProductName]#AzYPlease wait while the Installer [Progress2] [ProductName]. This may take several minutes.Z StatusLabelzStatus:Z ProgressBariz Progress doneZ SetProgressZProgressz)Welcome to the [ProductName] Setup WizardZBodyText?z:Select whether you want to repair or remove [ProductName].ZRepairRadioGrouplrz&Repair [ProductName]ZRemoverzRe&move [ProductName]z [REINSTALL]zMaintenanceForm_Action="Repair"z [Progress1]Z Repairingz [Progress2]ZrepairsZ Reinstallz[REMOVE]zMaintenanceForm_Action="Remove" ZRemoving Zremoves z MaintenanceForm_Action<>"Change")rr)rr)rr)rr)rr)rr)rrrNr)rrrNr")rrrNr")rrrrr)rrr)rrr)rrr)rrr)rNr)rprr rrrr r-r/r)ZeventZcontrolrr(mappingrOrhrHrZ conditionr4Z radiogroupadd)rrpxyrrr ZmodalZmodelessZtrack_disk_spaceZfatalr<Z user_exitZ exit_dialogZinuseerrorr/ZcostingZprepZseldlgorderrdrZinstall_other_condZdont_install_other_condZcostZ whichusersgZprogressZmaintrrrrus                .......$$$ !!        "  % zbdist_msi.add_uicCsT|jr%d||j|jf}nd||jf}tjj|j|}|S)Nz%s.%s-py%s.msiz %s.%s.msi)rCrArLrMrNrD)rrxZ base_nameryrrrris   z bdist_msi.get_installer_filename)r5r6r7Z descriptionrZ user_optionsZboolean_optionsrRrrIrVrgrsrrrtrurirrrrr9SsP      ( [ 6 6 & ?r9)r8rcrLZdistutils.corerZdistutils.dir_utilrZdistutils.sysconfigrZdistutils.versionrZdistutils.errorsrZdistutils.utilrZ distutilsrror r r r r rrrr9rrrrs ">__pycache__/install_data.cpython-35.opt-2.pyc000064400000004465147560526160015025 0ustar00 ] @sLddlZddlmZddlmZmZGdddeZdS)N)Command) change_root convert_pathc@sjeZdZdZdddgZdgZd d Zd dZddZddZ ddZ dS) install_datazinstall data files install-dir=dIbase directory for installing data files (default: installation base dir)root=Ns __pycache__/clean.cpython-35.opt-1.pyc000064400000004432147560526160013441 0ustar00 Yf @s\dZddlZddlmZddlmZddlmZGdddeZdS)zBdistutils.command.clean Implements the Distutils 'clean' command.N)Command) remove_tree)logc@s[eZdZdZddddddgZdgZddZddZddZdS)cleanz-clean up temporary files from 'build' command build-base=b2base build directory (default: 'build.build-base') build-lib=N}tjj|rt|d|jqctj d|qcW|jsy'tj |jtjd|jWntk rYnXdS)Ndry_runz%'%s' does not exist -- can't clean itz removing '%s')ospathexistsrrrrdebugrrrrwarnrmdirrinfoOSError)rZ directoryrrrrun1s$        z clean.run)rrr)r Nr )r r r )rNr)rNr)rrr) __name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsrrr(rrrrr s"     r) __doc__r Zdistutils.corerZdistutils.dir_utilrZ distutilsrrrrrrs  __pycache__/install.cpython-35.opt-2.pyc000064400000033107147560526160014027 0ustar00 Yfg @sddlZddlZddlmZddlmZddlmZddlm Z ddl m Z ddl m Z ddlmZmZmZdd lmZdd l mZdd lmZdd lmZd ZddddddddddiZdddddddddddidddddddddddid eiZerdd!dd!dd"dd#dd$ied%d?Zd@dAZdBdCZdDdEZdFdGZdHdIZdJdKZdLdMZdNdOZdPdQZdRdSZdTdUZdVdWZdXefdYefdZefd[efd\d]d^fgZdS)oinstallz'install everything from build directoryprefix=Ninstallation prefix exec-prefix=.(Unix only) prefix for platform-specific fileshome=+(Unix only) home directory to install under install-base=;base installation directory (instead of --prefix or --home)zinstall-platbase=z8base installation directory for platform-specific files z$(instead of --exec-prefix or --home)root==z %s: %sr) rZdistutils.fancy_getoptrrdebug user_options negative_opt translategetattr)rUmsgroptZopt_namevalrVrVrWrjss  zinstall.dump_dirscCs|jdk s|jdk r|jdkrK|jdkrK|jdksx|jdksx|jdksx|jdkrtddS|j r|j dkrt d|j |_|_|j dn|j dk r|j |_|_|j dn|jdkr^|jdk r+tdtjjtj|_tjjtj|_n|jdkry|j|_|j|_|j|_|j ddS)NzPinstall-base or install-platbase supplied, but installation scheme is incompletez$User base directory is not specifiedrrz*must not supply exec-prefix without prefixr)rBrCrHrErFrGrIrJr r=rKr select_schemerAr?r@rgr|normpathrm)rUrVrVrWrks<       zinstall.finalize_unixc Cs|jrN|jdkr$td|j|_|_|jtjdn|jdk r|j|_|_|jdnv|j dkrtj j t j |_ |j |_|_y|jtjWn%t k rtdtjYnXdS)Nz$User base directory is not specified_userrz)I don't know how to install stuff on '%s')r=rKrrBrCrrgrhrAr?r|rrmKeyError)rUrVrVrWrls"   zinstall.finalize_othercCsRt|}xAtD]9}d|}t||dkrt||||qWdS)Ninstall_)INSTALL_SCHEMES SCHEME_KEYSrsetattr)rUrhschemekeyZattrnamerVrVrWrs    zinstall.select_schemecCsx{|D]s}t||}|dk rtjdksFtjdkrXtjj|}t||j}t|||qWdS)NrYr)rrgrhr| expanduserr rsr)rUZattrsattrrrVrVrW _expand_attrss  zinstall._expand_attrscCs|jdddgdS)NrBrCrD)r)rUrVrVrWruszinstall.expand_basedirscCs#|jddddddgdS)NrErFrHrGrIrJ)r)rUrVrVrWrws zinstall.expand_dirscGs>x7|D]/}d|}t||tt||qWdS)Nr)rrr)rUnamesrhrrVrVrWrys  zinstall.convert_pathscCs|jdkr|jj|_|jdk rt|jtrT|jjd|_t|jdkr}|jd}}n3t|jdkr|j\}}n tdt|}n d}d}||_||_ dS)N,r>rr_zY'extra_path' option must be a list, tuple, or comma-separated string with 1 or 2 elementsrZ) rNrq isinstancestrrolenr r path_filer~)rUrr~rVrVrWrzs   zinstall.handle_extra_pathc GsDx=|D]5}d|}t||t|jt||qWdS)Nr)rr rDr)rUrrhrrVrVrWrs  zinstall.change_rootscCs|js dSttjjd}x`|jjD]O\}}|j|r5tjj| r5|j d|tj |dq5WdS)N~zos.makedirs('%s', 0o700)i) r=rrgr|rrsitems startswithisdirZ debug_printmakedirs)rUrArhr|rVrVrWrx s "zinstall.create_home_pathcCs|jsO|jd|jjdj}|jrO|tkrOtdx!|jD]}|j|q\W|j r|j |j r |j }|j rt|j }x2tt|D]}|||d||szinstall.)rNr)rNr)rNr)r Nr!)r"Nr#)r$Nr%)r&Nr')r(Nr))r*Nr+)r,Nr-)r.r/r0)r1Nr2)r3r4r5)r6r7r8)r9Nr:)r;Nr<) __name__ __module__ __qualname__ descriptionrZboolean_optionsrtrrrrXrrjrkrlrrrurwryrzrrxrrrrrrrrZ sub_commandsrVrVrVrWrIs      M  (       ,          r)rrrrr)rmrgZ distutilsrZdistutils.corerZdistutils.debugrZdistutils.sysconfigrZdistutils.errorsrZdistutils.file_utilrZdistutils.utilrr r r r Zsiter rrtZWINDOWS_SCHEMErrrrVrVrVrWsZ      __pycache__/bdist_rpm.cpython-35.pyc000064400000033464147560526160013412 0ustar00 YfT@sdZddlZddlZddlZddlmZddlmZddlm Z ddl m Z ddl Tddl mZdd lmZGd d d eZdS) zwdistutils.command.bdist_rpm Implements the Distutils 'bdist_rpm' command (create RPM source and binary distributions).N)Command)DEBUG) get_platform) write_file)*)get_python_version)logc+@seZdZdZdfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~ddddddddddddddddg)Zd4d9d=d2dUgZd7d4d;d9d?d=iZdXdYZdZd[Zd\d]Z d^d_Z d`daZ dbdcZ dddeZ dS) bdist_rpmzcreate an RPM distribution bdist-base=N/base directory for creating built distributions rpm-base=dbase directory for creating RPMs (defaults to "rpm" under --bdist-base; must be specified for RPM 2) dist-dir=dDdirectory to put final RPM files in (and .spec files if --spec-only)python=Mpath to Python interpreter to hard-code in the .spec file (default: "python") fix-pythonLhard-code the exact path to the current Python interpreter in the .spec file spec-onlyonly regenerate spec file source-onlyonly generate source RPM binary-onlyonly generate binary RPM use-bzip27use bzip2 instead of gzip to create source distributiondistribution-name=gname of the (Linux) distribution to which this RPM applies (*not* the name of the module distribution!)group=9package classification [default: "Development/Libraries"]release=RPM release numberserial=RPM serial numbervendor=aRPM "vendor" (eg. "Joe Blow ") [default: maintainer or author from setup script] packager=ARPM packager (eg. "Jane Doe ")[default: vendor] doc-files=6list of documentation files (space or comma-separated) changelog= RPM changelogicon=name of icon file provides=%capabilities provided by this package requires=%capabilities required by this package conflicts=-capabilities which conflict with this packagebuild-requires=+capabilities required to build this package obsoletes=*capabilities made obsolete by this package no-autoreq+do not automatically calculate dependencies keep-tempk"don't clean up RPM build directory no-keep-temp&clean up RPM build directory [default]use-rpm-opt-flags8compile with RPM_OPT_FLAGS when building from source RPMno-rpm-opt-flags&do not pass any RPM CFLAGS to compiler rpm3-mode"RPM 3 compatibility mode (default) rpm2-modeRPM 2 compatibility mode prep-script=3Specify a script for the PREP phase of RPM building build-script=4Specify a script for the BUILD phase of RPM building pre-install=:Specify a script for the pre-INSTALL phase of RPM buildinginstall-script=6Specify a script for the INSTALL phase of RPM building post-install=;Specify a script for the post-INSTALL phase of RPM buildingpre-uninstall=rnroREADME README.txtrk1rlrirprqrrrsrtrurvrwrxryrzr|r}r~rrr)rr)Z ensure_stringrZ get_contactZget_contact_emailZensure_string_list isinstancerolistrrexistsappend_format_changelogrpZensure_filename)rZreadmerrrrs>    !                  zbdist_rpm.finalize_package_datac Cs.trPtdtd|jtd|jtd|jtd|j|jrr|j}|j|nNi}x;d)D]3}t j j |j |||<|j||qW|d}t j j |d |j j}|jt||jfd ||jrdS|j jdd}|jd }|jrOdg|_n dg|_|jd ||j _|jd}|d}|j|||jrt j j|jr|j|j|ntd|jtjddg} t j jdst j jdr(dg} |jrA| jdn&|j rZ| jdn | jd| j!dd|j"g|j#r| j!ddt j j$|j g|j%s| jd|j&r| jd| j|d} | d } d!| d"} d#| | |f} t j'| }zg}d}xh|j(}|sNP|j)j*}t+|d$ksxt,|j|d%|dkr;|d}q;W|j-}|rt.d&t/| Wd|j-X|j0| |j1s*|j j2r t3}nd'}|j st j j |d |}t j j|sKt,|j4||jt j j |j|}|j jjd(||f|js*x|D]}t j j |d |}t j j|r|j4||jt j j |jt j j5|}|j jjd(||fqWdS)*Nzbefore _get_package_data():zvendor =z packager =z doc_files =z changelog =SOURCESSPECSBUILDRPMSSRPMSz%s.specz writing '%s'sdistZbztarZgztarrzicon file '%s' does not existz building RPMsrz/usr/bin/rpmbuildz /bin/rpmbuildZrpmbuildz-bsz-bbz-baz--definez __python %sz _topdir %sz--cleanz--quietz%{name}-%{version}-%{release}z.src.rpmz%{arch}/z .%{arch}.rpmz%rpm -q --qf '%s %s\n' --specfile '%s'r_zFailed to execute: %sanyr )rrrrr)6rprintrmrnrorprerbZmkpathrrrrarget_nameZexecuter_make_spec_fileZ dist_filesZreinitialize_commandrhZformatsZ run_commandZget_archive_filesZ copy_filerqrZDistutilsFileErrorrinforgrrfextendrcrabspathrr\popenreadlinestripsplitlenAssertionErrorcloseZDistutilsExecErrorreprZspawnZdry_runrrZ move_filebasename)rZspec_dirZrpm_dirrZ spec_pathZsaved_dist_filesrsourceZ source_dirZrpm_cmdZ nvr_stringZsrc_rpmZ non_src_rpmZq_cmdoutZ binary_rpmsZ source_rpmlinelZstatusZ pyversionZsrpmfilenamerrrrruns                                          z bdist_rpm.runcCs"tjj|jtjj|S)N)rrrrbr)rrrrr _dist_pathszbdist_rpm._dist_pathc CsKd|jjd|jjjddd|jjd|jjdddd|jjg}tjd }d jd d |j D}d }d}|j||}||kr|j d|j d|d |j dddg|j r|j dn |j d|j d|jj d|jddg|jsy|jjs|j dn|j d|jxxdKD]p}t||j}t|tr|j d"|d#j|fq|d$k r|j d"||fqW|jjd%kr7|j d&|jj|jrT|j d'|j|jrz|j d(d#j|j|jr|j d)tjj|j|jr|j d*|j dd+|jjgd,|jtjjtj d-f}d.|} |j!rd/| } d0|} dLd4d5| fd6d7| fdMdNdOdPdQdRg } x| D]|\} } }t|| }|s|r_|j ddE| g|r|j t"|dFj#j$d q_|j |q_W|j ddGdHg|j%r|j dId#j|j%|j&rG|j ddJg|j |j&|S)SziGenerate the text of an RPM spec file and return it as a list of strings (one per line). z %define name z%define version -_z%define unmangled_version z%define release z Summary: zrpm --eval %{__os_install_post} cSs g|]}d|jqS)z %s \)r).0rrrr s z-bdist_rpm._make_spec_file..zbrp-python-bytecompile \ z%brp-python-bytecompile %{__python} \ z2# Workaround for http://bugs.python.org/issue14443z%define __os_install_post z Name: %{name}zVersion: %{version}zRelease: %{release}z-Source0: %{name}-%{unmangled_version}.tar.bz2z,Source0: %{name}-%{unmangled_version}.tar.gzz License: zGroup: z>BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildrootzPrefix: %{_prefix}zBuildArch: noarchz BuildArch: %sVendorPackagerProvidesRequires Conflicts Obsoletesz%s: %s NZUNKNOWNzUrl: zDistribution: zBuildRequires: zIcon: z AutoReq: 0z %descriptionz%s %srz%s buildzenv CFLAGS="$RPM_OPT_FLAGS" z>%s install -O1 --root=$RPM_BUILD_ROOT --record=INSTALLED_FILESr{rr&%setup -n %{name}-%{unmangled_version}ZbuildrsZinstallrtcleanrurm -rf $RPM_BUILD_ROOT verifyscriptrvprerwpostrxpreunrypostunrz%rz%files -f INSTALLED_FILESz%defattr(-,root,root)z%doc z %changelog)rrrrrr)r{rrr)rrur)rrvN)rrwN)rrxN)rryN)rrzN)'rrZ get_versionreplacerkZget_description subprocessZ getoutputr splitlinesrrrhZ get_licenserjrrgetattrlowerrrZget_urlrirrqrrrrZget_long_descriptionrcrargvropenreadrrorp)rZ spec_fileZ vendor_hookZproblemZfixedZ fixed_hookZfieldvalZdef_setup_callZ def_buildZ install_cmdZscript_optionsZrpm_optattrdefaultrrrrs          #        &       (    zbdist_rpm._make_spec_filecCs|s |Sg}x|jjdD]i}|j}|ddkr^|jd|gq&|ddkr~|j|q&|jd|q&W|ds|d=|S)zKFormat the changelog correctly and convert it to a list of strings rrrrrz )rrrr)rrpZ new_changelogrrrrr3s  zbdist_rpm._format_changelog)r Nr )r Nr )rrr)rNr)rNr)rNr)rNr)rNr)rNr)rNr)rNr )r!Nr")r#Nr$)r%Nr&)r'Nr()r)Nr*)r+Nr,)r-Nr.)r/Nr0)r1Nr2)r3Nr4)r5Nr6)r7Nr8)r9Nr:)r;r<r=)r>Nr?)r@NrA)rBNrC)rDNrE)rFNrG)rHNrI)rJNrK)rLNrM)rNNrO)rPNrQ)rRNrS)rTNrU)rVNrW)rXNrY)rZNr[)r\r]r^)__name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsZ negative_optrrrrrrrrrrrr s      -  -  r )__doc__rrrZdistutils.corerZdistutils.debugrZdistutils.utilrZdistutils.file_utilrZdistutils.errorsZdistutils.sysconfigrZ distutilsrr rrrrs$ __pycache__/config.cpython-35.opt-2.pyc000064400000016773147560526160013640 0ustar00 ]$3@sddlZddlZddlZddlmZddlmZddlmZddl m Z dddd iZ Gd d d eZ dd d Z dS)N)Command)DistutilsExecError)customize_compiler)logcz.czc++z.cxxc @sieZdZdZd>d?d@dAdBdCdDdEdFg ZddZddZddZd d!Zd"d#Z d$d%Z d&d'Z d(d)Z d*d+Z dddd,d-d.Zdddd,d/d0Zddd,d1d2Zddddd,d3d4Zddddd,d5d6Zddddd7d7d8d9Zdddgd:d;Zddd,d<d=ZdS)Gconfigzprepare to build compiler=Nspecify the compiler typecc=specify the compiler executable include-dirs=I.list of directories to search for header filesdefine=DC preprocessor macros to defineundef=U!C preprocessor macros to undefine libraries=l!external C libraries to link with library-dirs=L.directories to search for external C librariesnoisy1show every action (compile, link, run, ...) taken dump-source=dump generated source files before attempting to compile themcCsLd|_d|_d|_d|_d|_d|_d|_g|_dS)N)compilerZcc include_dirs libraries library_dirsr dump_source temp_files)selfr'+/opt/alt/python35/lib64/python3.5/config.pyinitialize_options3s       zconfig.initialize_optionscCs|jdkr'|jjpg|_n*t|jtrQ|jjtj|_|jdkrlg|_n!t|jtr|jg|_|jdkrg|_n*t|jtr|jjtj|_dS)N) r!Z distribution isinstancestrsplitospathsepr"r#)r&r'r'r(finalize_optionsBs  zconfig.finalize_optionscCsdS)Nr')r&r'r'r(runRsz config.runcCsddlm}m}t|j|s|d|jd|jdd|_t|j|jru|jj|j|j r|jj |j |j r|jj |j dS)Nr) CCompiler new_compilerr dry_runforcer) distutils.ccompilerr1r2r*r r3rr!Zset_include_dirsr"Z set_librariesr#Zset_library_dirs)r&r1r2r'r'r(_check_compilerYs    zconfig._check_compilercCsdt|}t|d}|rRx|D]}|jd|q*W|jd|j||ddkr||jd|j|S)NZ _configtestwz#include <%s>  r)LANG_EXTopenwriteclose)r&bodyheaderslangfilenamefileheaderr'r'r(_gen_temp_sourcefileks     zconfig._gen_temp_sourcefilecCsT|j|||}d}|jj||g|jj||d|||fS)Nz _configtest.ir!)rDr%extendr Z preprocess)r&r>r?r!r@srcoutr'r'r( _preprocessxs zconfig._preprocesscCs|j|||}|jr/t|d||jj|g\}|jj||g|jj|gd|||fS)Nzcompiling '%s':r!)rDr$ dump_filer Zobject_filenamesr%rEcompile)r&r>r?r!r@rFobjr'r'r(_compiles zconfig._compilec Cs|j||||\}}tjjtjj|d} |jj|g| d|d|d||jjdk r| |jj} |jj | ||| fS)Nrr"r#Z target_lang) rLr-pathsplitextbasenamer Zlink_executableZ exe_extensionr%append) r&r>r?r!r"r#r@rFrKprogr'r'r(_links"z config._linkc Gsl|s|j}g|_tjddj|x4|D],}ytj|Wq8tk rcYq8Xq8WdS)Nz removing: %s )r%rinfojoinr-removeOSError)r& filenamesrAr'r'r(_cleans    z config._cleanrc Cscddlm}|jd}y|j||||Wn|k rTd}YnX|j|S)Nr) CompileErrorTF)r5rZr6rHrY)r&r>r?r!r@rZokr'r'r(try_cpps    zconfig.try_cppc Cs|j|j||||\}}t|trFtj|}t|}d} x3|j} | dkrtP|j| r[d} Pq[W|j |j | S)NFT) r6rHr*r+rerJr;readlinesearchr=rY) r&patternr>r?r!r@rFrGrBmatchliner'r'r( search_cpps      zconfig.search_cppc Cs|ddlm}|jy |j||||d}Wn|k rTd}YnXtj|rgdpjd|j|S)Nr)rZTFzsuccess!zfailure.)r5rZr6rLrrTrY)r&r>r?r!r@rZr[r'r'r( try_compiles     zconfig.try_compilec Csddlm}m}|jy&|j||||||d} Wn||fk rfd} YnXtj| rydp|d|j| S)Nr)rZ LinkErrorTFzsuccess!zfailure.)r5rZrfr6rRrrTrY) r&r>r?r!r"r#r@rZrfr[r'r'r(try_links     zconfig.try_linkc Csddlm}m}|jyA|j||||||\} } } |j| gd} Wn!||tfk rd} YnXtj| rdpd|j | S)Nr)rZrfTFzsuccess!zfailure.) r5rZrfr6rRspawnrrrTrY) r&r>r?r!r"r#r@rZrfrFrKZexer[r'r'r(try_runs    zconfig.try_runrc Cs|jg}|r'|jd||jd|rN|jd|n|jd||jddj|d}|j|||||S)Nz int %s ();z int main () {z %s();z %s;}r8)r6rPrUrg) r&funcr?r!r"r#Zdeclcallr>r'r'r( check_funcs   zconfig.check_funccCs*|j|jd|||g||S)Nzint main (void) { })r6rg)r&Zlibraryr#r?r!Zother_librariesr'r'r( check_lib6s zconfig.check_libcCs|jddd|gd|S)Nr>z /* No body */r?r!)r\)r&rCr!r#r@r'r'r( check_headerDszconfig.check_header)rNr )r Nr )r r r)rrr)rrr)rrr)rrr)rNr)rNr)__name__ __module__ __qualname__ descriptionZ user_optionsr)r/r0r6rDrHrLrRrYr\rdrergrirmrnror'r'r'r(rsT             rc Csb|dkr tjd|n tj|t|}ztj|jWd|jXdS)Nz%s)rrTr;readr=)rAheadrBr'r'r(rINs   rI)sysr-r^Zdistutils.corerZdistutils.errorsrZdistutils.sysconfigrZ distutilsrr:rrIr'r'r'r( s$:__pycache__/upload.cpython-35.opt-1.pyc000064400000013060147560526160013640 0ustar00 Yf@sdZddlZddlZddlZddlZddlmZddlmZm Z m Z ddl m Z ddl mZmZddlmZddlmZdd lmZGd d d eZdS) zm distutils.command.upload Implements the Distutils 'upload' subcommand (upload package to a package index). N)standard_b64encode)urlopenRequest HTTPError)urlparse)DistutilsErrorDistutilsOptionError) PyPIRCCommand)spawn)logc@sieZdZdZejddgZejdgZdd Zd d Zd d Z ddZ dS)uploadzupload binary package to PyPIsignssign files to upload using gpg identity=iGPG identity used to sign filescCs>tj|d|_d|_d|_d|_d|_dS)NrF)r initialize_optionsusernamepassword show_responser identity)selfr=/opt/alt/python35/lib64/python3.5/distutils/command/upload.pyr s      zupload.initialize_optionscCstj||jr,|j r,td|j}|ikrx|d|_|d|_|d|_|d|_ |j r|j jr|j j|_dS)Nz.Must use --sign for --identity to have meaningrr repositoryrealm) r finalize_optionsrr rZ _read_pypircrrrr distribution)rconfigrrrr(s        zupload.finalize_optionscCsU|jjsd}t|x0|jjD]"\}}}|j|||q+WdS)Nz'No dist file created in earlier command)rZ dist_filesr upload_file)rmsgcommand pyversionfilenamerrrrun:s   z upload.runc$4Cst|j\}}}}}} |s3|s3| rFtd|j|dIkrbtd||jrddd|g} |jrd|jg| d d |d?t/t5|d@|i}t6|jdA|dB|}y%t7|}|j8} |j9}!Wnwt:k r}"z|"j;} |"j9}!WYdd}"~"XnAt<k r}"z!|j2t/|"t3j=WYdd}"~"XnX| dCkr|j2dD| |!ft3j4|j>r|j?|}#dEj@dFdG|#dFdGf}|j2|t3j4n/dH| |!f}|j2|t3j=tA|dS)KNzIncompatible url %shttphttpszunsupported schema Zgpgz --detach-signz-az --local-userdry_runrbz:actionZ file_uploadZprotocol_version1nameversioncontentZfiletyper$Z md5_digestZmetadata_versionz1.0ZsummaryZ home_pageZauthorZ author_emaillicense descriptionkeywordsplatformZ classifiersZ download_urlZprovidesZrequiresZ obsoletesrZ bdist_rpmzbuilt for %s %sZ bdist_dumbz built for %sZtersecommentz.ascZ gpg_signature:asciizBasic z3--------------GHSKFJDLGDS7543FJKLFHRE75642756743254s --s-- z+ Content-Disposition: form-data; name="%s"z; filename="%s"rzutf-8s s s zSubmitting %s to %sz Content-typez multipart/form-data; boundary=%szContent-lengthZ AuthorizationdataheaderszServer response (%s): %s -KzUpload failed (%s): %s)r'r()BrrAssertionErrorr rr r*openreadcloserZmetadataZget_nameZ get_versionospathbasenamehashlibZmd5Z hexdigestZget_descriptionZget_urlZ get_contactZget_contact_emailZ get_licenceZget_long_descriptionZ get_keywordsZ get_platformsZget_classifiersZget_download_urlZ get_providesZ get_requiresZ get_obsoletesr3distrrencoderdecodeioBytesIOitems isinstancelisttypetuplestrwritegetvalueZannouncer INFOlenrrZgetcoder"rcodeOSErrorZERRORrZ_read_pypi_responsejoinr)$rr#r$r%ZschemaZnetlocZurlZparamsZqueryZ fragmentsZgpg_argsfr/metar8r5rGr.idZ user_passZauthboundaryZ sep_boundaryZ end_boundaryZbodykeyvaluetitler"r9ZrequestresultZstatusreasonetextrrrr!As!                                                zupload.upload_fileN)r rr)rrr) __name__ __module__ __qualname__r1r Z user_optionsZboolean_optionsrrr&r!rrrrr s     r )__doc__rCrJr3rFbase64rZurllib.requestrrrZ urllib.parserZdistutils.errorsrrZdistutils.corer Zdistutils.spawnr Z distutilsr r rrrrs    __pycache__/bdist_wininst.cpython-35.opt-1.pyc000064400000021315147560526160015236 0ustar00 Yf;@sdZddlZddlZddlmZddlmZddlmZm Z ddl Tddl m Z ddl mZGd d d eZdS) zzdistutils.command.bdist_wininst Implements the Distutils 'bdist_wininst' command: create a windows installer exe-program.N)Command) get_platform) create_tree remove_tree)*)get_python_version)logc@seZdZdZd4dddefdd d d fd dd dfd5d6d7d8d9d:d;d<d=g ZddddgZd&d'Zd(d)Zd*d+Z d,d-Z dd.d/Z d0d1Z d2d3Z dS)> bdist_wininstz-create an executable installer for MS Windows bdist-dir=N1temporary directory for creating the distributionz plat-name=pz;platform name to embed in generated filenames (default: %s)z keep-tempkz/keep the pseudo-installation tree around after z!creating the distribution archiveztarget-version=z!require a specific python versionz on the target systemno-target-compilec/do not compile .py to .pyc on the target systemno-target-optimizeo:do not compile .py to .pyo (optimized)on the target system dist-dir=d-directory to put final built distributions inbitmap=b>bitmap to use for the installer instead of python-powered logotitle=t?title to display on the installer background instead of default skip-build2skip rebuilding everything (for testing/debugging)install-script=Tbasename of installation script to be run afterinstallation or before deinstallationpre-install-script={Fully qualified filename of a script to be run before any files are installed. This script need not be in the distributionuser-access-control=specify Vista's UAC handling - 'none'/default=no handling, 'auto'=use UAC if target Python installed for all users, 'force'=always use UACcCsyd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ d|_ dS)Nr) bdist_dir plat_name keep_tempno_target_compileno_target_optimizetarget_versiondist_dirbitmaptitle skip_buildinstall_scriptpre_install_scriptuser_access_control)selfr3D/opt/alt/python35/lib64/python3.5/distutils/command/bdist_wininst.pyinitialize_options:s            z bdist_wininst.initialize_optionscCsG|jdd |jdkry|jrO|jrO|jjd}|j|_|jdj}tj j |d|_|j sd|_ |j r|jj rt }|j r|j |krtd|f||_ |jdd d |jrCxC|jjD]"}|jtj j|kr Pq Wtd|jdS) Nbdistr.ZwininstzMtarget version can only be %s, or the '--skip-build' option must be specifiedr+r&z(install_script '%s' not found in scripts)r.r.)r+r+)r&r&)Zset_undefined_optionsr%r.r& distributionZget_command_objget_finalized_command bdist_baseospathjoinr*has_ext_modulesrZDistutilsOptionErrorr/scriptsbasename)r2r6r:Z short_versionscriptr3r3r4finalize_optionsJs4        zbdist_wininst.finalize_optionsc Cstjdkr9|jjs-|jjr9td|jsO|jd|jddd}|j |_ |j|_d|_ |j |_ |jd}d|_ d|_|jjr$|j}|stjdd }d |j |f}|jd}tjj|jd ||_xDdD]<}|j}|dkrS|d}t|d||q+Wtjd|j |jtjjdtjj|j d|jtjd=ddlm}|} |jj } |j!| dd|j } |j"| | |j#|jjr5t$} nd} |jj%j&d| |j'| ftj(d| tj)| |j*st+|j d|j,dS)Nwin32z^distribution contains extensions and/or C libraries; must be compiled on a Windows 32 platformbuildinstallZreinit_subcommandsr install_libz.%s-%slibpurelibplatlibheadersr?dataz/Include/$dist_nameZinstall_zinstalling to %sZPURELIB)mktempzipZroot_diranyr zremoving temporary file '%s'dry_run)rJrKrLr?rM)-sysplatformr8r>Zhas_c_librariesZDistutilsPlatformErrorr.Z run_commandZreinitialize_commandr%rootZwarn_dirr&compileoptimizer*versionr9r;r<r=Z build_baseZ build_libuppersetattrrinfoZensure_finalizedinsertrunZtempfilerN get_fullnameZ make_archive create_exer,rZ dist_filesappendget_installer_filenamedebugremover'rrQ) r2rErGr*Zplat_specifierrDkeyvaluerNZarchive_basenamefullnamearcnameZ pyversionr3r3r4r\psd                %       zbdist_wininst.runc Csg}|jj}|jd|jp+dd}dd}x{dddd d d d d gD][}t||d}|r]|d|j||f}|jd|||fq]W|jd|jr|jd|j|jd|||jd|j |jd|j |j rD|jd|j |j ra|jd|j |j pv|jj }|jd||ddl }ddl} d|j|j | jf} |jd| dj|S)Nz [metadata]r7 cSs|jddS)Nrgz\n)replace)sr3r3r4escapesz)bdist_wininst.get_inidata..escapeZauthorZ author_email descriptionZ maintainerZmaintainer_emailnameZurlrWz %s: %sz%s=%sz [Setup]zinstall_script=%szinfo=%sztarget_compile=%dztarget_optimize=%dztarget_version=%szuser_access_control=%sztitle=%srzBuilt %s with distutils-%sz build_info=%s)r8metadatar_Zlong_descriptiongetattr capitalizer/r(r)r*r1r-r]time distutilsZctime __version__r=) r2linesrmrZrjrlrMr-rprqZ build_infor3r3r4 get_inidatas<   !      zbdist_wininst.get_inidatac Csddl}|j|j|j}|j|}|jd||rrt|dj}t|}nd}t|d} | j |j |r| j |t |t r|j d}|d}|jr&t|jddd } | jj d } WdQRX|| d }n |d}| j ||jd d t||} | j | | j t|djdS) Nrz creating %srbwbmbcssrencodingzlatin-1s zs __pycache__/build_ext.cpython-35.opt-1.pyc000064400000043136147560526160014342 0ustar00 Yf{@sdZddlZddlZddlZddlZddlmZddlTddlm Z m Z ddlm Z ddl m Z ddlmZdd lmZdd lmZdd lmZejd Zd dZGdddeZdS)zdistutils.command.build_ext Implements the Distutils 'build_ext' command, for building extension modules (currently limited to C extensions, should accommodate C++ extensions ASAP).N)Command)*)customize_compilerget_python_version)get_config_h_filename) newer_group) Extension) get_platform)log) USER_BASEz3^[a-zA-Z_][a-zA-Z_0-9]*(\.[a-zA-Z_][a-zA-Z_0-9]*)*$cCsddlm}|dS)Nr)show_compilers)distutils.ccompilerr )r r@/opt/alt/python35/lib64/python3.5/distutils/command/build_ext.pyr sr c@seZdZdZdejZd`dad d d efd d ddfdddefdbdcdddddefdedfdgdhdidjdkdldmdngZd d%d(d1d8gZ d:d2d;e fgZ d<d=Z d>d?Z d@dAZdBdCZdDdEZdFdGZdHdIZdJdKZdLdMZejdNdOZdPdQZdRdSZdTdUZdVdWZdXdYZdZd[Zd\d]Zd^d_Zd2S)o build_extz8build C/C++ extensions (compile/link to build directory)z (separated by '%s') build-lib=b(directory for compiled extension modules build-temp=t1directory for temporary files (build by-products)z plat-name=pz>platform name to cross-compile for, if supported (default: %s)inplaceiz=ignore build-lib and put compiled extensions into the source z,directory alongside your pure Python modulesz include-dirs=Iz.list of directories to search for header filesdefine=DC preprocessor macros to defineundef=U!C preprocessor macros to undefine libraries=l!external C libraries to link withz library-dirs=Lz.directories to search for external C librariesrpath=R7directories to search for shared C libraries at runtime link-objects=O2extra explicit link objects to include in the linkdebugg'compile/link with debugging informationforcef2forcibly build everything (ignore file timestamps) compiler=cspecify the compiler type parallel=jnumber of parallel build jobsswig-cppN)make SWIG create C++ files (default is C) swig-opts=!list of SWIG command line optionsswig=path to the SWIG executableuser#add user include, library and rpathz help-compilerzlist available compilerscCsd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ d|_ d|_ d|_d|_d|_d|_d|_d|_d|_dS)Nr) extensions build_lib plat_name build_temprpackage include_dirsdefineundef libraries library_dirsrpath link_objectsr+r.compilerswigswig_cpp swig_optsr=parallel)selfrrrinitialize_optionsjs*                    zbuild_ext.initialize_optionsc Csrddlm}|jdd'd(d)d*d+d,d-|jdkrP|jj|_|jj|_|j}|jd d }|j dkr|jj pg|_ t |j t r|j j t j|_ tjtjkr|j jt jjtjd |j j|||kr+|j j||jd|jd|jdkr]g|_|jdkrxg|_n*t |jt r|jj t j|_|jdkrg|_n*t |jt r|jj t j|_t jdkrC|jjt jjtjdtjtjkrL|jjt jjtjd|jrst jj|jd|_nt jj|jd|_|j jt jjtttdd}|r|jj||j dkrd}n|j dd}t jjtjd}|r3t jj||}|jj|tj!dddksutj!dddkrtj"j#t jjtjdr|jjt jjtjddt$dn|jjd|j%d r|j&s|jj|j%d!n|jjd|j'rP|j'j d"}d#d$|D|_'|j(rn|j(j d"|_(|j)dkrg|_)n|j)j d%|_)|j*r%t jjt+d }t jjt+d} t jj,|r|j j|t jj,| r%|jj| |jj| t |j-t rnyt.|j-|_-Wnt/k rmt0d&YnXdS).Nr) sysconfigZbuildr@rBrKr+r.rOrAZ plat_specificincluderGrJntZlibsZDebugZRelease_homewin32ZPCbuildcygwinatheosbinlibpythonconfig.Py_ENABLE_SHAREDLIBDIR,cSsg|]}|dfqS)1r).0Zsymbolrrr s z.build_ext.finalize_options.. zparallel should be an integer)r@r@)rBrB)rKrK)r+r+)r.r.)rOrO)rArA)1 distutilsrRZset_undefined_optionsrC distributionZ ext_packageZ ext_modulesr?Zget_python_incrD isinstancestrsplitospathsepsys exec_prefixbase_exec_prefixappendpathjoinZensure_string_listrGrHrInameprefixr+rBdirnamergetattrrAplatform executable startswithrget_config_varZ python_buildrErFrNr=r isdirrOint ValueErrorZDistutilsOptionError) rPrRZ py_includeZplat_py_include _sys_homesuffixZnew_libZdefinesZ user_includeZuser_librrrfinalize_optionss  "      ""  2$        zbuild_ext.finalize_optionsc Csddlm}|jsdS|jjrj|jd}|jj|jpSg|j j |j |d|j d|j d|jd|j|_ t|j tjdkr|jtkr|j j|j|jdk r|j j|j|jdk r9x*|jD]\}}|j j||qW|jdk rlx!|jD]}|j j|qRW|jdk r|j j|j|j dk r|j j|j |jdk r|j j|j|j dk r|j j!|j |j"dS) Nr) new_compiler build_clibrKverbosedry_runr.rU)#r rr?riZhas_c_librariesget_finalized_commandrGextendZget_library_namesrHrrrrKrrr.rrmrurAr Z initializerDZset_include_dirsrEZ define_macrorFZundefine_macroZ set_librariesZset_library_dirsrIZset_runtime_library_dirsrJZset_link_objectsbuild_extensions)rPrrruvaluemacrorrrruns>    !z build_ext.runc Cst|tstdxt|D]\}}t|trFq(t|t sht|dkrttd|\}}tjd|t|t ot j |stdt|t stdt||d}x9dD]1}|j |}|dk rt|||qW|j d|_d|krPtjd|j d}|rg|_g|_x|D]~} t| tot| dkstdt| dkr|jj| dq~t| dkr~|jj| q~W||||j|jg}x!|jD]}|j|jq W|S)N)rr?rr)rP filenamesrrrrget_source_filess zbuild_ext.get_source_filescCsG|j|jg}x*|jD]}|j|j|jq W|S)N)rr?rrget_ext_fullpathru)rPZoutputsrrrr get_outputss zbuild_ext.get_outputscCs4|j|j|jr&|jn |jdS)N)rr?rO_build_extensions_parallel_build_extensions_serial)rPrrrrs  zbuild_ext.build_extensionscsj}jdkr$tj}yddlm}Wntk rRd}YnX|dkrmjdS|d|jfddjD}xAtj|D]-\}}j ||j WdQRXqWWdQRXdS)NTr)ThreadPoolExecutorZ max_workerscs%g|]}jj|qSr)Zsubmitbuild_extension)rer)executorrPrrrfs z8build_ext._build_extensions_parallel..) rOrm cpu_countZconcurrent.futuresr ImportErrorrr?zip_filter_build_errorsresult)rPZworkersrZfuturesrZfutr)rrPrrs        z$build_ext._build_extensions_parallelc Cs<x5|jD]*}|j||j|WdQRXq WdS)N)r?rr)rPrrrrrsz"build_ext._build_extensions_serialccsdy dVWnTtttfk r_}z+|js3|jd|j|fWYdd}~XnXdS)Nz"building extension "%s" failed: %s)ZCCompilerErrorZDistutilsErrorZ CompileErrorZoptionalrru)rPrerrrrs   zbuild_ext._filter_build_errorsc Cs|j}|dks+t|ttf r>td|jt|}|j|j}||j}|jpt ||dst j d|jdSt j d|j|j ||}|jpg}|jdd}x!|jD]}|j|fqW|jj|d|jd|d|jd|j d |d |j}|dd|_|jrt|j|j|jpg}|jp|jj|} |jj||d |j|d |jd |jd |d|j |d|j d|jd| dS)Nzjin 'ext_modules' option (extension '%s'), 'sources' must be present and must be a list of source filenamesZnewerz$skipping '%s' extension (up-to-date)zbuilding '%s' extensionZ output_dirrrDr+Zextra_postargsdependsrGrHrexport_symbolsrBZ target_lang)!rrjrrrrurrr.rr r+info swig_sourcesrrrrrrKcompilerBrDZ_built_objectsrrrlanguageZdetect_languageZlink_shared_object get_librariesrHrget_export_symbols) rPrrext_pathrZ extra_argsrrFZobjectsrrrrrsN "              zbuild_ext.build_extensioncCsg}g}i}|jr(tjd|jsOd|jksOd|jkrXd}nd}xr|D]j}tjj|\}} | dkr|j|d||j||d ||            zbuild_ext.swig_sourcescCstjdkrdStjdkrixWd D]5}tjjd|d}tjj|r)|Sq)WdSntd tjd S) zReturn the name of the SWIG executable. On Unix, this is just "swig" -- it should be in the PATH. Tries a bit harder on Windows. posixrLrU1.31.21.1z c:\swig%szswig.exez>I don't know how to find (much less run) SWIG on platform '%s'N)rrr)rmrursrtisfileZDistutilsPlatformError)rPZversfnrrrrfs zbuild_ext.find_swigcCs|j|}|jd}|j|d}|jsstjj|dd|g}tjj|j|Sdj|dd}|jd}tjj |j |}tjj||S) zReturns the path of the filename for a given extension. The file is located in `build_lib` or directly in the package (inplace option). r`rSNrbuild_pyrrr) get_ext_fullnamerlget_ext_filenamerrmrsrtr@rabspathZget_package_dir)rPrfullnameZmodpathfilenamerCrZ package_dirrrrr~s #zbuild_ext.get_ext_fullpathcCs&|jdkr|S|jd|SdS)zSReturns the fullname of a given extension name. Adds the `package.` prefixNr`)rC)rPrrrrrszbuild_ext.get_ext_fullnamecCs?ddlm}|jd}|d}tjj||S)zConvert the name of an extension (eg. "foo.bar") into the name of the file from which it will be loaded (eg. "foo/bar.so", or "foo\bar.pyd"). r)r|r` EXT_SUFFIX)distutils.sysconfigr|rlrmrsrt)rPrr|rZ ext_suffixrrrrs zbuild_ext.get_ext_filenamecCs@d|jjdd}||jkr9|jj||jS)aReturn the list of symbols that a shared extension has to export. This either uses 'ext.export_symbols' or, if it's not provided, "PyInit_" + module_name. Only relevant on Windows, where the .pyd file (DLL) must export the module "PyInit_" function. ZPyInit_r`rSr)rurlrrr)rPrZ initfunc_namerrrrszbuild_ext.get_export_symbolscCs3tjdkrddlm}t|j|szd}|jrJ|d}|tjd?tjd?d@f}|j|gS|jSntjd d d krd }|tjd?tjd?d@f}|j|gStjd d d krddl m }d }|tjd?tjd?d@f}g}xS|j dj D]<}|j dro|j|dd q@|j|q@W|j|dg|Stjdkr|jStjd ddkr|jSddl m }|j dr(djtjd?tjd?d@|j d}|j|gS|jSd S)zReturn the list of libraries to link against when building a shared extension. On most platforms, this is just 'ext.libraries'; on Windows, we add the Python library (eg. python20.dll). rWr) MSVCCompilerz python%d%dZ_dNrYrZz python%d.%dr[)rRSHLIBSz-lrmdarwinaixraz python{}.{}{}ABIFLAGS)roryZdistutils._msvccompilerrrjrKr+ hexversionrGrhrRr|rlr{rrformat)rPrrtemplateZ pythonlibrRZextrar]rrrrsJ    zbuild_ext.get_libraries)rrr)rrr)rrr)rrr )r!r"r#)r%r&r')r(r)r*)r+r,r-)r.r/r0)r1r2r3)r4r5r6)r7Nr8)r9Nr:)r;Nr<)r=Nr>) __name__ __module__ __qualname__Z descriptionrmrnZsep_byr Z user_optionsZboolean_optionsr Z help_optionsrQrrrrrrrr contextlibcontextmanagerrrrrrrrrrrrrrr!s~        @ N     K 6   r)__doc__rrmreroZdistutils.corerZdistutils.errorsrrrrZdistutils.dep_utilrZdistutils.extensionrZdistutils.utilr rhr Zsiter rrr rrrrrs"       __pycache__/upload.cpython-35.pyc000064400000013060147560526160012701 0ustar00 Yf@sdZddlZddlZddlZddlZddlmZddlmZm Z m Z ddl m Z ddl mZmZddlmZddlmZdd lmZGd d d eZdS) zm distutils.command.upload Implements the Distutils 'upload' subcommand (upload package to a package index). N)standard_b64encode)urlopenRequest HTTPError)urlparse)DistutilsErrorDistutilsOptionError) PyPIRCCommand)spawn)logc@sieZdZdZejddgZejdgZdd Zd d Zd d Z ddZ dS)uploadzupload binary package to PyPIsignssign files to upload using gpg identity=iGPG identity used to sign filescCs>tj|d|_d|_d|_d|_d|_dS)NrF)r initialize_optionsusernamepassword show_responser identity)selfr=/opt/alt/python35/lib64/python3.5/distutils/command/upload.pyr s      zupload.initialize_optionscCstj||jr,|j r,td|j}|ikrx|d|_|d|_|d|_|d|_ |j r|j jr|j j|_dS)Nz.Must use --sign for --identity to have meaningrr repositoryrealm) r finalize_optionsrr rZ _read_pypircrrrr distribution)rconfigrrrr(s        zupload.finalize_optionscCsU|jjsd}t|x0|jjD]"\}}}|j|||q+WdS)Nz'No dist file created in earlier command)rZ dist_filesr upload_file)rmsgcommand pyversionfilenamerrrrun:s   z upload.runc$4Cst|j\}}}}}} |s3|s3| rFtd|j|dIkrbtd||jrddd|g} |jrd|jg| d d |d?t/t5|d@|i}t6|jdA|dB|}y%t7|}|j8} |j9}!Wnwt:k r}"z|"j;} |"j9}!WYdd}"~"XnAt<k r}"z!|j2t/|"t3j=WYdd}"~"XnX| dCkr|j2dD| |!ft3j4|j>r|j?|}#dEj@dFdG|#dFdGf}|j2|t3j4n/dH| |!f}|j2|t3j=tA|dS)KNzIncompatible url %shttphttpszunsupported schema Zgpgz --detach-signz-az --local-userdry_runrbz:actionZ file_uploadZprotocol_version1nameversioncontentZfiletyper$Z md5_digestZmetadata_versionz1.0ZsummaryZ home_pageZauthorZ author_emaillicense descriptionkeywordsplatformZ classifiersZ download_urlZprovidesZrequiresZ obsoletesrZ bdist_rpmzbuilt for %s %sZ bdist_dumbz built for %sZtersecommentz.ascZ gpg_signature:asciizBasic z3--------------GHSKFJDLGDS7543FJKLFHRE75642756743254s --s-- z+ Content-Disposition: form-data; name="%s"z; filename="%s"rzutf-8s s s zSubmitting %s to %sz Content-typez multipart/form-data; boundary=%szContent-lengthZ AuthorizationdataheaderszServer response (%s): %s -KzUpload failed (%s): %s)r'r()BrrAssertionErrorr rr r*openreadcloserZmetadataZget_nameZ get_versionospathbasenamehashlibZmd5Z hexdigestZget_descriptionZget_urlZ get_contactZget_contact_emailZ get_licenceZget_long_descriptionZ get_keywordsZ get_platformsZget_classifiersZget_download_urlZ get_providesZ get_requiresZ get_obsoletesr3distrrencoderdecodeioBytesIOitems isinstancelisttypetuplestrwritegetvalueZannouncer INFOlenrrZgetcoder"rcodeOSErrorZERRORrZ_read_pypi_responsejoinr)$rr#r$r%ZschemaZnetlocZurlZparamsZqueryZ fragmentsZgpg_argsfr/metar8r5rGr.idZ user_passZauthboundaryZ sep_boundaryZ end_boundaryZbodykeyvaluetitler"r9ZrequestresultZstatusreasonetextrrrr!As!                                                zupload.upload_fileN)r rr)rrr) __name__ __module__ __qualname__r1r Z user_optionsZboolean_optionsrrr&r!rrrrr s     r )__doc__rCrJr3rFbase64rZurllib.requestrrrZ urllib.parserZdistutils.errorsrrZdistutils.corer Zdistutils.spawnr Z distutilsr r rrrrs    __pycache__/install_headers.cpython-35.pyc000064400000003443147560526160014562 0ustar00 Yf@s0dZddlmZGdddeZdS)zdistutils.command.install_headers Implements the Distutils 'install_headers' command, to install C/C++ header files to the Python include directory.)Commandc@sgeZdZdZddgZdgZdd Zd d Zd d ZddZ ddZ dS)install_headerszinstall C/C++ header files install-dir=d$directory to install header files toforcef-force installation (overwrite existing files)cCsd|_d|_g|_dS)Nr) install_dirroutfiles)selfr F/opt/alt/python35/lib64/python3.5/distutils/command/install_headers.pyinitialize_optionss  z"install_headers.initialize_optionscCs|jddddS)NZinstallrr r)rr )rr)Zset_undefined_options)r r r rfinalize_optionss z install_headers.finalize_optionscCsf|jj}|sdS|j|jx9|D]1}|j||j\}}|jj|q-WdS)N) distributionheadersZmkpathr Z copy_filer append)r rheaderout_r r rrun!s  zinstall_headers.runcCs|jjpgS)N)rr)r r r r get_inputs+szinstall_headers.get_inputscCs|jS)N)r )r r r r get_outputs.szinstall_headers.get_outputsN)rrr)rrr ) __name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsrrrrrr r r rr s      rN)__doc__Zdistutils.corerrr r r rs__pycache__/sdist.cpython-35.opt-1.pyc000064400000033452147560526160013511 0ustar00 Yf-G@sdZddlZddlZddlZddlTddlmZddlmZddlm Z ddl m Z m Z m Z mZddlmZddlTdd lmZdd l mZdd lmZd d ZGddde ZdS)zadistutils.command.sdist Implements the Distutils 'sdist' command (create a source distribution).N)*)glob)warn)Command)dir_utildep_util file_util archive_util)TextFile)FileList)log) convert_pathcCsddlm}ddlm}g}x6|jD](}|jd|d||dfq3W|j||jddS)zoPrint all possible values for the 'formats' option (used by the "--help-formats" command-line option). r) FancyGetopt)ARCHIVE_FORMATSzformats=Nz.List of available source distribution formats:)Zdistutils.fancy_getoptrZdistutils.archive_utilrkeysappendsortZ print_help)rrformatsformatrZd?d@ZdAdBZdCdDZdEdFZdGdHZdIdJZdKdLZd S)Zsdistz6create a source distribution (tarball, zip file, etc.)cCs|jS)zYCallable used for the check sub-command. Placed here so user_options can view it)metadata_check)selfrrrchecking_metadata&szsdist.checking_metadata template=t5name of manifest template file [default: MANIFEST.in] manifest=m)name of manifest file [default: MANIFEST] use-defaultsNRinclude the default file set in the manifest [default; disable with --no-defaults] no-defaults"don't include the default file setprunespecifically exclude files/directories that should not be distributed (build tree, RCS/CVS dirs, etc.) [default; disable with --no-prune]no-prune$don't automatically exclude anything manifest-onlyoEjust regenerate the manifest and then stop (implies --force-manifest)force-manifestfkforcibly regenerate the manifest and carry on as usual. Deprecated: now the manifest is always regenerated.formats=6formats for source distribution (comma-separated list)z keep-tempkz1keep the distribution tree around after creating zarchive file(s) dist-dir=dFdirectory to put the source distribution archive(s) in [default: dist]metadata-check[Ensure that all required elements of meta-data are supplied. Warn if any missing. [default]owner=u@Owner name used when creating a tar file [default: current user]group=gAGroup name used when creating a tar file [default: current group]z help-formatsz#list available distribution formatsposixZgztarntzipcheckcCsyd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ d|_ dS)Nr) templatemanifest use_defaultsr' manifest_onlyZforce_manifestr keep_tempdist_dir archive_filesrownergroup)rrrrinitialize_optionsds            zsdist.initialize_optionsc Cs|jdkrd|_|jdkr0d|_|jd|jdkry|jtjg|_Wn%tk rtdtjYnXt j |j}|rt d||j dkrd|_ dS)NZMANIFESTz MANIFEST.inrz)__name__ __module__ __qualname__Z descriptionrZ user_optionsZboolean_optionsrZ help_optionsZ negative_optrNZ sub_commandsrMrRrVrYrTr_r`rarbr\r]rrUrrrrrr"sn           ( P     * r)__doc__rOstringrtypesrwarningsrZdistutils.corerZ distutilsrrrr Zdistutils.text_filer Zdistutils.errorsZdistutils.filelistr r Zdistutils.utilr rrrrrrs    "  __pycache__/build.cpython-35.opt-1.pyc000064400000010272147560526160013455 0ustar00 Yfc@stdZddlZddlZddlmZddlmZddlmZddZ Gdd d eZ dS) zBdistutils.command.build Implements the Distutils 'build' command.N)Command)DistutilsOptionError) get_platformcCsddlm}|dS)Nr)show_compilers)Zdistutils.ccompilerr)rrd?d@dAg ZddgZd$dd%efgZd&d'Z d(d)Z d*d+Z d,d-Z d.d/Z d0d1Zd2d3Zd4e fd5e fd6efd7efgZdS)Bbuildz"build everything needed to install build-base=b base directory for build librarybuild-purelib=N2build directory for platform-neutral distributionsbuild-platlib=3build directory for platform-specific distributionsz build-lib=z9build directory for all distribution (defaults to either zbuild-purelib or build-platlibbuild-scripts=build directory for scripts build-temp=ttemporary build directoryz plat-name=pz6platform name to build for, if supported (default: %s) compiler=cspecify the compiler type parallel=jnumber of parallel build jobsdebugg;compile extensions and libraries with debugging informationforcef2forcibly build everything (ignore file timestamps) executable=e5specify final destination interpreter path (build.py)z help-compilerzlist available compilerscCspd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ dS)Nrr) build_base build_purelib build_platlib build_lib build_temp build_scriptsZcompiler plat_namerr executableparallel)selfrrrinitialize_options8s           zbuild.initialize_optionsc Cs|jdkrt|_ntjdkr9tdd|jtjddf}ttdrr|d7}|jdkrtj j |j d|_|j dkrtj j |j d||_ |j dkr|jjr|j |_ n |j|_ |jdkr.tj j |j d ||_|jdkritj j |j d tjdd|_|jdkrtj jtj|_t|jtryt|j|_Wntk rtd YnXdS) NntzW--plat-name only supported on Windows (try using './configure --help' on your platform)z.%s-%srgettotalrefcountz-pydebuglibZtempzscripts-zparallel should be an integer)r+rosnamersysversionhasattrr&pathjoinr%r'r( distributionZ ext_modulesr)r*r,normpath isinstancer-strint ValueError)r.Zplat_specifierrrrfinalize_optionsHs<      zbuild.finalize_optionscCs(x!|jD]}|j|q WdS)N)Zget_sub_commandsZ run_command)r.Zcmd_namerrrrunsz build.runcCs |jjS)N)r;has_pure_modules)r.rrrrCszbuild.has_pure_modulescCs |jjS)N)r;has_c_libraries)r.rrrrDszbuild.has_c_librariescCs |jjS)N)r;has_ext_modules)r.rrrrEszbuild.has_ext_modulescCs |jjS)N)r; has_scripts)r.rrrrFszbuild.has_scriptsZbuild_pyZ build_clibZ build_extr*)r r r )r Nr )rNr)rNr)rrr)rrr)rrr)rrr)rr r!)r"r#r$)__name__ __module__ __qualname__Z descriptionrZ user_optionsZboolean_optionsrZ help_optionsr/rArBrCrDrErFZ sub_commandsrrrrrsR      8       r) __doc__r6r4Zdistutils.corerZdistutils.errorsrZdistutils.utilrrrrrrrs  __pycache__/upload.cpython-35.opt-2.pyc000064400000012636147560526160013651 0ustar00 ]@sddlZddlZddlZddlZddlmZddlmZmZm Z ddl m Z ddl m Z mZddlmZddlmZddlmZGd d d eZdS) N)standard_b64encode)urlopenRequest HTTPError)urlparse)DistutilsErrorDistutilsOptionError) PyPIRCCommand)spawn)logc@sieZdZdZejddgZejdgZdd Zd d Zd d Z ddZ dS)uploadzupload binary package to PyPIsignssign files to upload using gpg identity=iGPG identity used to sign filescCs>tj|d|_d|_d|_d|_d|_dS)NrF)r initialize_optionsusernamepassword show_responser identity)selfr+/opt/alt/python35/lib64/python3.5/upload.pyr s      zupload.initialize_optionscCstj||jr,|j r,td|j}|ikrx|d|_|d|_|d|_|d|_ |j r|j jr|j j|_dS)Nz.Must use --sign for --identity to have meaningrr repositoryrealm) r finalize_optionsrr rZ _read_pypircrrrr distribution)rconfigrrrr(s        zupload.finalize_optionscCsU|jjsd}t|x0|jjD]"\}}}|j|||q+WdS)Nz'No dist file created in earlier command)rZ dist_filesr upload_file)rmsgcommand pyversionfilenamerrrrun:s   z upload.runc$4Cst|j\}}}}}} |s3|s3| rFtd|j|dIkrbtd||jrddd|g} |jrd|jg| d d |d?t/t5|d@|i}t6|jdA|dB|}y%t7|}|j8} |j9}!Wnwt:k r}"z|"j;} |"j9}!WYdd}"~"XnAt<k r}"z!|j2t/|"t3j=WYdd}"~"XnX| dCkr|j2dD| |!ft3j4|j>r|j?|}#dEj@dFdG|#dFdGf}|j2|t3j4n/dH| |!f}|j2|t3j=tA|dS)KNzIncompatible url %shttphttpszunsupported schema Zgpgz --detach-signz-az --local-userdry_runrbz:actionZ file_uploadZprotocol_version1nameversioncontentZfiletyper$Z md5_digestZmetadata_versionz1.0ZsummaryZ home_pageZauthorZ author_emaillicense descriptionkeywordsplatformZ classifiersZ download_urlZprovidesZrequiresZ obsoletesrZ bdist_rpmzbuilt for %s %sZ bdist_dumbz built for %sZtersecommentz.ascZ gpg_signature:asciizBasic z3--------------GHSKFJDLGDS7543FJKLFHRE75642756743254s --s-- z+ Content-Disposition: form-data; name="%s"z; filename="%s"rzutf-8s s s zSubmitting %s to %sz Content-typez multipart/form-data; boundary=%szContent-lengthZ AuthorizationdataheaderszServer response (%s): %s -KzUpload failed (%s): %s)r'r()BrrAssertionErrorr rr r*openreadcloserZmetadataget_nameZ get_versionospathbasenamehashlibmd5 hexdigestZget_descriptionZget_urlZ get_contactZget_contact_emailZ get_licenceZget_long_descriptionZ get_keywordsZ get_platformsZget_classifiersZget_download_urlZ get_providesZ get_requiresZ get_obsoletesr3distrrencoderdecodeioBytesIOitems isinstancelisttypetuplestrwritegetvalueZannouncer INFOlenrrZgetcoder"rcodeOSErrorERRORrZ_read_pypi_responsejoinr)$rr#r$r%ZschemaZnetlocZurlparamsZqueryZ fragmentsZgpg_argsfr/metar8r5rJr.idZ user_passZauthboundaryZ sep_boundaryZ end_boundaryZbodykeyvaluetitler"r9Zrequestresultstatusreasonetextrrrr!As!                                                zupload.upload_fileN)r rr)rrr) __name__ __module__ __qualname__r1r Z user_optionsZboolean_optionsrrr&r!rrrrr s     r )rDrMr3rGbase64rZurllib.requestrrrZ urllib.parserZdistutils.errorsrrZdistutils.corer Zdistutils.spawnr Z distutilsr r rrrrs    __pycache__/install.cpython-35.opt-1.pyc000064400000035174147560526160014034 0ustar00 Yfg @sdZddlZddlZddlmZddlmZddlmZddl m Z ddl m Z ddl mZdd lmZmZmZdd lmZdd l mZdd lmZdd lmZdZddddddddddiZdddddddddddiddddddd ddddid!eiZerdd"dd"dd#dd$dd%ied&d?Zd@dAZdBdCZdDdEZdFdGZdHdIZdJdKZdLdMZdNdOZdPdQZdRdSZdTdUZdVdWZdXefdYefdZefd[efd\d]d^fgZdS)oinstallz'install everything from build directoryprefix=Ninstallation prefix exec-prefix=.(Unix only) prefix for platform-specific fileshome=+(Unix only) home directory to install under install-base=;base installation directory (instead of --prefix or --home)zinstall-platbase=z8base installation directory for platform-specific files z$(instead of --exec-prefix or --home)root=/opt/alt/python35/lib64/python3.5/distutils/command/install.pyinitialize_optionss2                       zinstall.initialize_optionscCsr|js|js|jr=|js-|jr=tdd|jrd|jsX|jrdtd|jr|js|js|js|js|jrtdtjdkr|jr|j dd|_|j dtjdkr|j n |j |j d t jjd }td d \}}y t j}Wntk rcd }YnXd|jjd|jjd|jjd|d|d dd|d |dd|d |d|d |d|i |_tr|j|jd<|j|jd<|j|j d|j|jd<|j|jd=z %s: %sr) rZdistutils.fancy_getoptrrdebug user_options negative_opt translategetattr)rUmsgrZoptZopt_namevalrVrVrWrjss  zinstall.dump_dirscCs|jdk s|jdk r|jdkrK|jdkrK|jdksx|jdksx|jdksx|jdkrtddS|j r|j dkrt d|j |_|_|j dn|j dk r|j |_|_|j dn|jdkr^|jdk r+tdtjjtj|_tjjtj|_n|jdkry|j|_|j|_|j|_|j ddS)z&Finalizes options for posix platforms.NzPinstall-base or install-platbase supplied, but installation scheme is incompletez$User base directory is not specifiedrrz*must not supply exec-prefix without prefixr)rBrCrHrErFrGrIrJr r=rKr select_schemerAr?r@rgr{normpathrm)rUrVrVrWrks<       zinstall.finalize_unixc Cs|jrN|jdkr$td|j|_|_|jtjdn|jdk r|j|_|_|jdnv|j dkrtj j t j |_ |j |_|_y|jtjWn%t k rtdtjYnXdS)z)Finalizes options for non-posix platformsNz$User base directory is not specifiedZ_userrz)I don't know how to install stuff on '%s')r=rKrrBrCrrgrhrAr?r{rrmKeyError)rUrVrVrWrls"   zinstall.finalize_othercCsRt|}xAtD]9}d|}t||dkrt||||qWdS)z=Sets the install directories by applying the install schemes.install_N)INSTALL_SCHEMES SCHEME_KEYSrsetattr)rUrhschemekeyZattrnamerVrVrWrs    zinstall.select_schemecCsx{|D]s}t||}|dk rtjdksFtjdkrXtjj|}t||j}t|||qWdS)NrYr)rrgrhr{ expanduserr rrr)rUZattrsattrrrVrVrW _expand_attrss  zinstall._expand_attrscCs|jdddgdS)zNCalls `os.path.expanduser` on install_base, install_platbase and root.rBrCrDN)r)rUrVrVrWrtszinstall.expand_basedirscCs#|jddddddgdS)z+Calls `os.path.expanduser` on install dirs.rErFrHrGrIrJN)r)rUrVrVrWrvs zinstall.expand_dirscGs>x7|D]/}d|}t||tt||qWdS)z!Call `convert_path` over `names`.rN)rrr)rUnamesrhrrVrVrWrxs  zinstall.convert_pathscCs|jdkr|jj|_|jdk rt|jtrT|jjd|_t|jdkr}|jd}}n3t|jdkr|j\}}n tdt|}n d}d}||_||_ dS)z4Set `path_file` and `extra_dirs` using `extra_path`.N,r>rr_zY'extra_path' option must be a list, tuple, or comma-separated string with 1 or 2 elementsrZ) rNrq isinstancestrrolenr r path_filer})rUrr}rVrVrWrys   zinstall.handle_extra_pathc GsDx=|D]5}d|}t||t|jt||qWdS)z:Change the install directories pointed by name using root.rN)rr rDr)rUrrhrrVrVrWr~s  zinstall.change_rootscCs|js dSttjjd}x`|jjD]O\}}|j|r5tjj| r5|j d|tj |dq5WdS)zCreate directories under ~.N~zos.makedirs('%s', 0o700)i) r=rrgr{rrritems startswithisdirZ debug_printmakedirs)rUrArhr{rVrVrWrw s "zinstall.create_home_pathcCs|jsO|jd|jjdj}|jrO|tkrOtdx!|jD]}|j|q\W|j r|j |j r |j }|j rt|j }x2tt|D]}|||d||szinstall.)rNr)rNr)rNr)r Nr!)r"Nr#)r$Nr%)r&Nr')r(Nr))r*Nr+)r,Nr-)r.r/r0)r1Nr2)r3r4r5)r6r7r8)r9Nr:)r;Nr<) __name__ __module__ __qualname__Z descriptionrZboolean_optionsrsrrrrXrrjrkrlrrrtrvrxryr~rwrrrrrrrrZ sub_commandsrVrVrVrWrIs      M  (       ,          r)rrrrr)__doc__rmrgZ distutilsrZdistutils.corerZdistutils.debugrZdistutils.sysconfigrZdistutils.errorsrZdistutils.file_utilrZdistutils.utilrr r r r Zsiter rrsZWINDOWS_SCHEMErrrrVrVrVrWs\      __pycache__/install_egg_info.cpython-35.pyc000064400000006156147560526160014730 0ustar00 Yf" @sdZddlmZddlmZmZddlZddlZddlZGdddeZ ddZ d d Z d d Z dS) zdistutils.command.install_egg_info Implements the Distutils 'install_egg_info' command, for installing a package's PKG-INFO metadata.)Command)logdir_utilNc@sUeZdZdZdZdgZddZdd Zd d Zd d Z dS)install_egg_infoz)Install an .egg-info file for the packagez8Install package's PKG-INFO metadata as an .egg-info file install-dir=ddirectory to install tocCs d|_dS)N) install_dir)selfr G/opt/alt/python35/lib64/python3.5/distutils/command/install_egg_info.pyinitialize_optionssz#install_egg_info.initialize_optionscCs|jdddtt|jjtt|jjtjddf}t j j |j ||_ |j g|_dS)NZ install_libr z%s-%s-py%s.egg-info)r r )Zset_undefined_options to_filename safe_name distributionZget_name safe_versionZ get_versionsysversionospathjoinr targetoutputs)r basenamer r r finalize_optionssz!install_egg_info.finalize_optionsc Cs|j}tjj|rGtjj| rGtj|d|jnmtjj|r||j tj |jfd|n8tjj|j s|j tj |j fd|j t jd||jst|ddd}|jjj|WdQRXdS)Ndry_runz Removing z Creating z Writing %swencodingzUTF-8)rrrisdirislinkrZ remove_treerexistsZexecuteunlinkr makedirsrinfoopenrZmetadataZwrite_pkg_file)r rfr r r run s %# zinstall_egg_info.runcCs|jS)N)r)r r r r get_outputs.szinstall_egg_info.get_outputsN)rrr) __name__ __module__ __qualname____doc__Z descriptionZ user_optionsr rr'r(r r r r r s    rcCstjdd|S)zConvert an arbitrary string to a standard distribution name Any runs of non-alphanumeric/. characters are replaced with a single '-'. z[^A-Za-z0-9.]+-)resub)namer r r r6srcCs%|jdd}tjdd|S)zConvert an arbitrary string to a standard version string Spaces become dots, and all other non-alphanumeric characters become dashes, with runs of multiple dashes condensed to a single dash.  .z[^A-Za-z0-9.]+r-)replacer.r/)rr r r r>srcCs|jddS)z|Convert a project or version name to its filename-escaped form Any '-' characters are currently replaced with '_'. r-_)r3)r0r r r rHsr) r,Z distutils.cmdrZ distutilsrrrrr.rrrrr r r r s$+  __pycache__/install_egg_info.cpython-35.opt-2.pyc000064400000004661147560526160015667 0ustar00 ]" @sddlmZddlmZmZddlZddlZddlZGdddeZddZ dd Z d d Z dS) )Command)logdir_utilNc@sOeZdZdZdgZddZddZd d Zd d Zd S)install_egg_infoz8Install package's PKG-INFO metadata as an .egg-info file install-dir=ddirectory to install tocCs d|_dS)N) install_dir)selfr 5/opt/alt/python35/lib64/python3.5/install_egg_info.pyinitialize_optionssz#install_egg_info.initialize_optionscCs|jdddtt|jjtt|jjtjddf}t j j |j ||_ |j g|_dS)NZ install_libr z%s-%s-py%s.egg-info)r r )Zset_undefined_options to_filename safe_name distributionget_name safe_versionZ get_versionsysversionospathjoinr targetoutputs)r basenamer r r finalize_optionssz!install_egg_info.finalize_optionsc Cs|j}tjj|rGtjj| rGtj|d|jnmtjj|r||j tj |jfd|n8tjj|j s|j tj |j fd|j t jd||jst|ddd}|jjj|WdQRXdS)Ndry_runz Removing z Creating z Writing %swencodingzUTF-8)rrrisdirislinkrZ remove_treerexistsZexecuteunlinkr makedirsrinfoopenrZmetadataZwrite_pkg_file)r rfr r r run s %# zinstall_egg_info.runcCs|jS)N)r)r r r r get_outputs.szinstall_egg_info.get_outputsN)rrr) __name__ __module__ __qualname__ descriptionZ user_optionsr rr(r)r r r r r s    rcCstjdd|S)Nz[^A-Za-z0-9.]+-)resub)namer r r r6srcCs%|jdd}tjdd|S)N .z[^A-Za-z0-9.]+r.)replacer/r0)rr r r r>srcCs|jddS)Nr._)r4)r1r r r rHsr) Z distutils.cmdrZ distutilsrrrrr/rrrrr r r r s $+  __pycache__/sdist.cpython-35.pyc000064400000033452147560526160012552 0ustar00 Yf-G@sdZddlZddlZddlZddlTddlmZddlmZddlm Z ddl m Z m Z m Z mZddlmZddlTdd lmZdd l mZdd lmZd d ZGddde ZdS)zadistutils.command.sdist Implements the Distutils 'sdist' command (create a source distribution).N)*)glob)warn)Command)dir_utildep_util file_util archive_util)TextFile)FileList)log) convert_pathcCsddlm}ddlm}g}x6|jD](}|jd|d||dfq3W|j||jddS)zoPrint all possible values for the 'formats' option (used by the "--help-formats" command-line option). r) FancyGetopt)ARCHIVE_FORMATSzformats=Nz.List of available source distribution formats:)Zdistutils.fancy_getoptrZdistutils.archive_utilrkeysappendsortZ print_help)rrformatsformatrZd?d@ZdAdBZdCdDZdEdFZdGdHZdIdJZdKdLZd S)Zsdistz6create a source distribution (tarball, zip file, etc.)cCs|jS)zYCallable used for the check sub-command. Placed here so user_options can view it)metadata_check)selfrrrchecking_metadata&szsdist.checking_metadata template=t5name of manifest template file [default: MANIFEST.in] manifest=m)name of manifest file [default: MANIFEST] use-defaultsNRinclude the default file set in the manifest [default; disable with --no-defaults] no-defaults"don't include the default file setprunespecifically exclude files/directories that should not be distributed (build tree, RCS/CVS dirs, etc.) [default; disable with --no-prune]no-prune$don't automatically exclude anything manifest-onlyoEjust regenerate the manifest and then stop (implies --force-manifest)force-manifestfkforcibly regenerate the manifest and carry on as usual. Deprecated: now the manifest is always regenerated.formats=6formats for source distribution (comma-separated list)z keep-tempkz1keep the distribution tree around after creating zarchive file(s) dist-dir=dFdirectory to put the source distribution archive(s) in [default: dist]metadata-check[Ensure that all required elements of meta-data are supplied. Warn if any missing. [default]owner=u@Owner name used when creating a tar file [default: current user]group=gAGroup name used when creating a tar file [default: current group]z help-formatsz#list available distribution formatsposixZgztarntzipcheckcCsyd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ d|_ dS)Nr) templatemanifest use_defaultsr' manifest_onlyZforce_manifestr keep_tempdist_dir archive_filesrownergroup)rrrrinitialize_optionsds            zsdist.initialize_optionsc Cs|jdkrd|_|jdkr0d|_|jd|jdkry|jtjg|_Wn%tk rtdtjYnXt j |j}|rt d||j dkrd|_ dS)NZMANIFESTz MANIFEST.inrz)__name__ __module__ __qualname__Z descriptionrZ user_optionsZboolean_optionsrZ help_optionsZ negative_optrNZ sub_commandsrMrRrVrYrTr_r`rarbr\r]rrUrrrrrr"sn           ( P     * r)__doc__rOstringrtypesrwarningsrZdistutils.corerZ distutilsrrrr Zdistutils.text_filer Zdistutils.errorsZdistutils.filelistr r Zdistutils.utilr rrrrrrs    "  __pycache__/install_lib.cpython-35.opt-2.pyc000064400000011616147560526160014656 0ustar00 ] @sdddlZddlZddlZddlmZddlmZdZGdddeZ dS)N)Command)DistutilsOptionErrorz.pyc @seZdZdZd*d+d,d-d.d/d0gZdd dgZdd iZddZddZddZ ddZ ddZ d d!Z d"d#Z d$d%Zd&d'Zd(d)ZdS)1 install_libz7install all Python modules (extensions and pure Python) install-dir=ddirectory to install to build-dir=b'build directory (where to install from)forcef-force installation (overwrite existing files)compileccompile .py to .pyc [default] no-compileNdon't compile .py files optimize=Olalso compile with optimization: -O1 for "python -O", -O2 for "python -OO", and -O0 to disable [default: -O0] skip-buildskip the build stepscCs:d|_d|_d|_d|_d|_d|_dS)Nr) install_dir build_dirr roptimize skip_build)selfr0/opt/alt/python35/lib64/python3.5/install_lib.pyinitialize_options3s      zinstall_lib.initialize_optionsc Cs|jddddddd|jdkr7d |_|jdkrOd |_t|jtsy+t|j|_|jdkrtWn$ttfk rtdYnXdS)Ninstall build_librrrr rrrTFrzoptimize must be 0, 1, or 2)r!r)rr)r r )rr)rr)rr)rr"r#)Zset_undefined_optionsrr isinstanceintAssertionError ValueErrorr)rrrrfinalize_options<s$    zinstall_lib.finalize_optionscCsB|j|j}|dk r>|jjr>|j|dS)N)buildr distributionhas_pure_modules byte_compile)routfilesrrrrunVs  zinstall_lib.runcCsE|jsA|jjr%|jd|jjrA|jddS)Nbuild_py build_ext)rr*r+Z run_commandhas_ext_modules)rrrrr)fs   zinstall_lib.buildcCsLtjj|jr0|j|j|j}n|jd|jdS|S)Nz3'%s' does not exist -- no Python modules to install)ospathisdirrZ copy_treerwarn)rr-rrrr ms   zinstall_lib.installc Cstjr|jddSddlm}|jdj}|jrm||ddd|jd|d|j |j dkr||d|j d|jd|d |j d|j dS) Nz%byte-compiling is disabled, skipping.r)r,r rr prefixdry_runverbose) sysdont_write_bytecoder5Zdistutils.utilr,get_finalized_commandrootrr r7rr8)rfilesr,Z install_rootrrrr,vs    zinstall_lib.byte_compilec Cs|s gS|j|}|j}t||}t|ttj}g}x4|D],} |jtjj|| |dqZW|S)N) r; get_outputsgetattrlenr2sepappendr3join) rZhas_anyZ build_cmdZ cmd_optionZ output_dirZ build_filesrZ prefix_lenZoutputsfilerrr_mutate_outputss  *zinstall_lib._mutate_outputscCsg}x|D]}tjjtjj|d}|tkrDq |jrl|jtjj |dd|j dkr |jtjj |d|j q W|S)Nr" optimizationr) r2r3splitextnormcasePYTHON_SOURCE_EXTENSIONrrB importlibutilcache_from_sourcer)rZ py_filenamesZbytecode_filesZpy_fileextrrr_bytecode_filenamess "  zinstall_lib._bytecode_filenamescCsu|j|jjdd|j}|jr?|j|}ng}|j|jjdd|j}|||S)Nr/r!r0)rEr*r+rrrOr1)rZ pure_outputsZbytecode_outputsZ ext_outputsrrrr>s   zinstall_lib.get_outputscCslg}|jjr7|jd}|j|j|jjrh|jd}|j|j|S)Nr/r0)r*r+r;extendr>r1)rZinputsr/r0rrr get_inputsszinstall_lib.get_inputs)rrr)rr r )r r r )rrr)rNr)rrr)rNr)__name__ __module__ __qualname__ descriptionZ user_optionsZboolean_optionsZ negative_optrr(r.r)r r,rErOr>rQrrrrrs*          r) r2importlib.utilrKr9Zdistutils.corerZdistutils.errorsrrJrrrrrs   __pycache__/config.cpython-35.opt-1.pyc000064400000025403147560526160013625 0ustar00 Yf$3@sdZddlZddlZddlZddlmZddlmZddlm Z ddl m Z ddd d iZ Gd d d eZ dd dZdS)adistutils.command.config Implements the Distutils 'config' command, a (mostly) empty command class that exists mainly to be sub-classed by specific module distributions and applications. The idea is that while every "config" command is different, at least they're all named the same, and users always see "config" in the list of standard commands. Also, this is a good place to put common configure-like tasks: "try to compile this C code", or "figure out where this header file lives". N)Command)DistutilsExecError)customize_compiler)logcz.czc++z.cxxc @sieZdZdZd>d?d@dAdBdCdDdEdFg ZddZddZddZd d!Zd"d#Z d$d%Z d&d'Z d(d)Z d*d+Z dddd,d-d.Zdddd,d/d0Zddd,d1d2Zddddd,d3d4Zddddd,d5d6Zddddd7d7d8d9Zdddgd:d;Zddd,d<d=ZdS)Gconfigzprepare to build compiler=Nspecify the compiler typecc=specify the compiler executable include-dirs=I.list of directories to search for header filesdefine=DC preprocessor macros to defineundef=U!C preprocessor macros to undefine libraries=l!external C libraries to link with library-dirs=L.directories to search for external C librariesnoisy1show every action (compile, link, run, ...) taken dump-source=dump generated source files before attempting to compile themcCsLd|_d|_d|_d|_d|_d|_d|_g|_dS)N)compilerZcc include_dirs libraries library_dirsr dump_source temp_files)selfr'=/opt/alt/python35/lib64/python3.5/distutils/command/config.pyinitialize_options3s       zconfig.initialize_optionscCs|jdkr'|jjpg|_n*t|jtrQ|jjtj|_|jdkrlg|_n!t|jtr|jg|_|jdkrg|_n*t|jtr|jjtj|_dS)N) r!Z distribution isinstancestrsplitospathsepr"r#)r&r'r'r(finalize_optionsBs  zconfig.finalize_optionscCsdS)Nr')r&r'r'r(runRsz config.runcCsddlm}m}t|j|s|d|jd|jdd|_t|j|jru|jj|j|j r|jj |j |j r|jj |j dS)z^Check that 'self.compiler' really is a CCompiler object; if not, make it one. r) CCompiler new_compilerr dry_runZforcerN) distutils.ccompilerr1r2r*r r3rr!Zset_include_dirsr"Z set_librariesr#Zset_library_dirs)r&r1r2r'r'r(_check_compilerYs    zconfig._check_compilercCsdt|}t|d}|rRx|D]}|jd|q*W|jd|j||ddkr||jd|j|S)NZ _configtestwz#include <%s>  r)LANG_EXTopenwriteclose)r&bodyheaderslangfilenamefileheaderr'r'r(_gen_temp_sourcefileks     zconfig._gen_temp_sourcefilecCsT|j|||}d}|jj||g|jj||d|||fS)Nz _configtest.ir!)rCr%extendr Z preprocess)r&r=r>r!r?srcoutr'r'r( _preprocessxs zconfig._preprocesscCs|j|||}|jr/t|d||jj|g\}|jj||g|jj|gd|||fS)Nzcompiling '%s':r!)rCr$ dump_filer Zobject_filenamesr%rDcompile)r&r=r>r!r?rEobjr'r'r(_compiles zconfig._compilec Cs|j||||\}}tjjtjj|d} |jj|g| d|d|d||jjdk r| |jj} |jj | ||| fS)Nrr"r#Z target_lang) rKr-pathsplitextbasenamer Zlink_executableZ exe_extensionr%append) r&r=r>r!r"r#r?rErJprogr'r'r(_links"z config._linkc Gsl|s|j}g|_tjddj|x4|D],}ytj|Wq8tk rcYq8Xq8WdS)Nz removing: %s )r%rinfojoinr-removeOSError)r& filenamesr@r'r'r(_cleans    z config._cleanrc Cscddlm}|jd}y|j||||Wn|k rTd}YnX|j|S)aQConstruct a source file from 'body' (a string containing lines of C/C++ code) and 'headers' (a list of header files to include) and run it through the preprocessor. Return true if the preprocessor succeeded, false if there were any errors. ('body' probably isn't of much use, but what the heck.) r) CompileErrorTF)r4rYr5rGrX)r&r=r>r!r?rYokr'r'r(try_cpps    zconfig.try_cppc Cs|j|j||||\}}t|trFtj|}t|}d} x3|j} | dkrtP|j| r[d} Pq[W|j |j | S)aConstruct a source file (just like 'try_cpp()'), run it through the preprocessor, and return true if any line of the output matches 'pattern'. 'pattern' should either be a compiled regex object or a string containing a regex. If both 'body' and 'headers' are None, preprocesses an empty file -- which can be useful to determine the symbols the preprocessor and compiler set by default. FT) r5rGr*r+rerIr:readlinesearchr<rX) r&patternr=r>r!r?rErFrAmatchliner'r'r( search_cpps      zconfig.search_cppc Cs|ddlm}|jy |j||||d}Wn|k rTd}YnXtj|rgdpjd|j|S)zwTry to compile a source file built from 'body' and 'headers'. Return true on success, false otherwise. r)rYTFzsuccess!zfailure.)r4rYr5rKrrSrX)r&r=r>r!r?rYrZr'r'r( try_compiles     zconfig.try_compilec Csddlm}m}|jy&|j||||||d} Wn||fk rfd} YnXtj| rydp|d|j| S)zTry to compile and link a source file, built from 'body' and 'headers', to executable form. Return true on success, false otherwise. r)rY LinkErrorTFzsuccess!zfailure.)r4rYrer5rQrrSrX) r&r=r>r!r"r#r?rYrerZr'r'r(try_links     zconfig.try_linkc Csddlm}m}|jyA|j||||||\} } } |j| gd} Wn!||tfk rd} YnXtj| rdpd|j | S)zTry to compile, link to an executable, and run a program built from 'body' and 'headers'. Return true on success, false otherwise. r)rYreTFzsuccess!zfailure.) r4rYrer5rQZspawnrrrSrX) r&r=r>r!r"r#r?rYrerErJZexerZr'r'r(try_runs    zconfig.try_runrc Cs|jg}|r'|jd||jd|rN|jd|n|jd||jddj|d}|j|||||S)aDetermine if function 'func' is available by constructing a source file that refers to 'func', and compiles and links it. If everything succeeds, returns true; otherwise returns false. The constructed source file starts out by including the header files listed in 'headers'. If 'decl' is true, it then declares 'func' (as "int func()"); you probably shouldn't supply 'headers' and set 'decl' true in the same call, or you might get errors about a conflicting declarations for 'func'. Finally, the constructed 'main()' function either references 'func' or (if 'call' is true) calls it. 'libraries' and 'library_dirs' are used when linking. z int %s ();z int main () {z %s();z %s;}r7)r5rOrTrf) r&funcr>r!r"r#ZdeclZcallr=r'r'r( check_funcs   zconfig.check_funccCs*|j|jd|||g||S)aDetermine if 'library' is available to be linked against, without actually checking that any particular symbols are provided by it. 'headers' will be used in constructing the source file to be compiled, but the only effect of this is to check if all the header files listed are available. Any libraries listed in 'other_libraries' will be included in the link, in case 'library' has symbols that depend on other libraries. zint main (void) { })r5rf)r&Zlibraryr#r>r!Zother_librariesr'r'r( check_lib6s zconfig.check_libcCs|jddd|gd|S)zDetermine if the system header file named by 'header_file' exists and can be found by the preprocessor; return true if so, false otherwise. r=z /* No body */r>r!)r[)r&rBr!r#r?r'r'r( check_headerDszconfig.check_header)rNr )r Nr )r r r)rrr)rrr)rrr)rrr)rNr)rNr)__name__ __module__ __qualname__Z descriptionZ user_optionsr)r/r0r5rCrGrKrQrXr[rcrdrfrgrjrkrlr'r'r'r(rsT             rc Csb|dkr tjd|n tj|t|}ztj|jWd|jXdS)zjDumps a file content into log.info. If head is not None, will be dumped before the file content. Nz%s)rrSr:readr<)r@headrAr'r'r(rHNs   rH)__doc__sysr-r]Zdistutils.corerZdistutils.errorsrZdistutils.sysconfigrZ distutilsrr9rrHr'r'r'r( s$:__pycache__/bdist.cpython-35.opt-1.pyc000064400000007711147560526160013467 0ustar00 Yf@sbdZddlZddlmZddlTddlmZddZGdd d eZdS) zidistutils.command.bdist Implements the Distutils 'bdist' command (create a built [binary] distribution).N)Command)*) get_platformcCslddlm}g}x6tjD]+}|jd|dtj|dfq W||}|jddS)zFPrint list of available formats (arguments to "--format" option). r) FancyGetoptzformats=Nz'List of available distribution formats:)Zdistutils.fancy_getoptrbdistformat_commandsappendformat_commandZ print_help)rformatsformatZpretty_printerr dd?dd@d dAd!dBd"dCddDd#dEi Z d0d1Z d2d3Zd4d5Zd S)Frz$create a built (binary) distribution bdist-base=b4temporary directory for creating built distributionsz plat-name=pz;platform name to embed in generated filenames (default: %s)formats=N/formats for distribution (comma-separated list) dist-dir=d=directory to put final built distributions in [default: dist] skip-build2skip rebuilding everything (for testing/debugging)owner=u@Owner name used when creating a tar file [default: current user]group=gAGroup name used when creating a tar file [default: current group]z help-formatsz$lists available distribution formats bdist_rpmposixZgztarntzipZrpmZbztarZxztarZztarZtarZwininstZmsiRPM distribution bdist_dumbgzip'ed tar filebzip2'ed tar filexz'ed tar filecompressed tar filetar file bdist_wininstWindows executable installerZIP file bdist_msiMicrosoft InstallercCsCd|_d|_d|_d|_d|_d|_d|_dS)Nr) bdist_base plat_namer dist_dir skip_buildgroupowner)selfr r rinitialize_optionsQs      zbdist.initialize_optionsc Cs|jdkr<|jr't|_n|jdj|_|jdkr||jdj}tjj|d|j|_|j d|j dkry|j tj g|_ Wn%t k rtdtj YnX|jdkrd|_dS)NZbuildzbdist.r z;don't know how to create built distributions on platform %sZdist)r2r4rZget_finalized_commandr1 build_baseospathjoinZensure_string_listr default_formatnameKeyErrorZDistutilsPlatformErrorr3)r7r9r r rfinalize_optionsZs$    zbdist.finalize_optionsc Cs g}xR|jD]G}y|j|j|dWqtk rVtd|YqXqWxtt|jD]}||}|j|}||jkr|j||_ |dkr|j |_ |j |_ |||ddkrd|_ |j |qqWdS)Nrzinvalid format '%s'r&r)r r r r?ZDistutilsOptionErrorrangelenZreinitialize_commandno_format_optionr r6r5Z keep_tempZ run_command)r7Zcommandsr iZcmd_nameZsub_cmdr r rrunvs"      z bdist.run)rrr)rNr)rrr)rNr)rrr)rrr )r!)r!r%)r&r')r&r()r&r))r&r*)r&r+)r,r-)r&r.)r/r0)__name__ __module__ __qualname__Z descriptionrZ user_optionsZboolean_optionsrZ help_optionsrCr=rr r8r@rEr r r rrsJ       r) __doc__r:Zdistutils.corerZdistutils.errorsZdistutils.utilrrrr r r rs    __pycache__/install_headers.cpython-35.opt-1.pyc000064400000003443147560526160015521 0ustar00 Yf@s0dZddlmZGdddeZdS)zdistutils.command.install_headers Implements the Distutils 'install_headers' command, to install C/C++ header files to the Python include directory.)Commandc@sgeZdZdZddgZdgZdd Zd d Zd d ZddZ ddZ dS)install_headerszinstall C/C++ header files install-dir=d$directory to install header files toforcef-force installation (overwrite existing files)cCsd|_d|_g|_dS)Nr) install_dirroutfiles)selfr F/opt/alt/python35/lib64/python3.5/distutils/command/install_headers.pyinitialize_optionss  z"install_headers.initialize_optionscCs|jddddS)NZinstallrr r)rr )rr)Zset_undefined_options)r r r rfinalize_optionss z install_headers.finalize_optionscCsf|jj}|sdS|j|jx9|D]1}|j||j\}}|jj|q-WdS)N) distributionheadersZmkpathr Z copy_filer append)r rheaderout_r r rrun!s  zinstall_headers.runcCs|jjpgS)N)rr)r r r r get_inputs+szinstall_headers.get_inputscCs|jS)N)r )r r r r get_outputs.szinstall_headers.get_outputsN)rrr)rrr ) __name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsrrrrrr r r rr s      rN)__doc__Zdistutils.corerrr r r rs__pycache__/bdist_msi.cpython-35.opt-1.pyc000064400000052227147560526160014341 0ustar00 Yf@sdZddlZddlZddlmZddlmZddlmZddl m Z ddl m Z ddl mZdd lmZddlZdd lmZmZmZdd lmZmZmZmZGd d d eZGdddeZdS)z# Implements the bdist_msi command. N)Command) remove_tree)get_python_version) StrictVersion)DistutilsOptionError) get_platform)log)schemasequencetext) DirectoryFeatureDialogadd_datac@speZdZdZddZddZdddd Zd dd d Zd dddZddZ dS)PyDialogzDialog class with a fixed layout: controls at the top, then a ruler, then a list of buttons: back, next, cancel. Optionally a bitmap at the left.cOsKtj|||jd}d|d}|jdd||jddS)zbDialog(database, name, x, y, w, h, attributes, title, first, default, cancel, bitmap=true)$iHZ BottomLinerN)r__init__hlinew)selfargskwZrulerZbmwidthr@/opt/alt/python35/lib64/python3.5/distutils/command/bdist_msi.pyrs zPyDialog.__init__c Cs'|jddddddd|dS) z,Set the title text of the dialog at the top.Title i@<iz{\VerdanaBold10}%sN)r )rtitlerrrr #szPyDialog.titleBackc Cs>|rd}nd}|j|d|jddd|||S)zAdd a back button with a given title, the tab-next button, its name in the Control table, possibly initially disabled. Return the button, so that events can be associatedr"8) pushbuttonr)rr nextnameactiveflagsrrrback*s z PyDialog.backCancelc Cs>|rd}nd}|j|d|jddd|||S)zAdd a cancel button with a given title, the tab-next button, its name in the Control table, possibly initially disabled. Return the button, so that events can be associatedr#r"i0r%r&r')r(r)rr r)r*r+r,rrrcancel5s zPyDialog.cancelNextc Cs>|rd}nd}|j|d|jddd|||S)zAdd a Next button with a given title, the tab-next button, its name in the Control table, possibly initially disabled. Return the button, so that events can be associatedr#r"r%r&r')r(r)rr r)r*r+r,rrrr)@s z PyDialog.nextc Cs:|j|t|j|d|jdddd||S)zAdd a button with a given title, the tab-next button, its name in the Control table, giving its x position; the y-position is aligned with the other buttons. Return the button, so that events can be associatedr%r&r'r#)r(intrr)rr*r r)ZxposrrrxbuttonKszPyDialog.xbuttonN) __name__ __module__ __qualname____doc__rr r-r/r)r4rrrrrs     rc@s]eZdZdZdddfdddefdd d d fd dd dfdddfdddfdddfdddfdddfdddfg ZddddgZddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1gZd2Zd3d4Z d5d6Z d7d8Z d9d:Z d;d<Z d=d>Zd?d@ZdAdBZdS)C bdist_msiz7create a Microsoft Installer (.msi) binary distributionz bdist-dir=Nz1temporary directory for creating the distributionz plat-name=pz;platform name to embed in generated filenames (default: %s)z keep-tempkz/keep the pseudo-installation tree around after z!creating the distribution archiveztarget-version=z!require a specific python versionz on the target systemzno-target-compilecz/do not compile .py to .pyc on the target systemzno-target-optimizeoz:do not compile .py to .pyo (optimized)on the target systemz dist-dir=dz-directory to put final built distributions inz skip-buildz2skip rebuilding everything (for testing/debugging)zinstall-script=zTbasename of installation script to be run afterinstallation or before deinstallationzpre-install-script=z{Fully qualified filename of a script to be run before any files are installed. This script need not be in the distributionz2.0z2.1z2.2z2.3z2.4z2.5z2.6z2.7z2.8z2.9z3.0z3.1z3.2z3.3z3.4z3.5z3.6z3.7z3.8z3.9XcCsgd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ dS)Nr) bdist_dir plat_name keep_tempZno_target_compileZno_target_optimizetarget_versiondist_dir skip_buildinstall_scriptpre_install_scriptversions)rrrrinitialize_options}s          zbdist_msi.initialize_optionscCs`|jdd |jdkrI|jdj}tjj|d|_t}|j rt|j j rt||_|jr|jg|_ |j r|j j r|j|krt d|fnt|j|_ |jdd d |jrt d|jrSxC|j jD]"}|jtjj|krPqWt d|jd|_dS) NZbdistrEZmsizMtarget version can only be %s, or the '--skip-build' option must be specifiedrDrAz5the pre-install-script feature is not yet implementedz(install_script '%s' not found in scripts)rErE)rDrD)rArA)Zset_undefined_optionsr@get_finalized_command bdist_baseospathjoinrrC distributionhas_ext_modulesrHrErlist all_versionsrGrFscriptsbasenameinstall_script_key)rrKZ short_versionZscriptrrrfinalize_optionss:        zbdist_msi.finalize_optionscCs\|js|jd|jddd}|j|_|j|_d|_|jd}d|_d|_|jj r|j }|st j dd}d|j |f}|jd}tjj|jd ||_tjd |j|jt jjdtjj|jd |jt jd=|j|j|jj}|j|}tjj|}tjj|rtj||jj }|j!} | s|j"} | sd } |j#} d t$| j } |jj}|j rd|j |f} n d|} t%j&|t'| t%j(| | |_)t%j*|j)t+d| fg} |j,ps|j-}|r| j.d|f|j/r| j.d|j/f| rt0|j)d| |j1|j2|j3|j4|j)j5t6|jdr9d|j pd|f}|jj7j.||j8sXt9|jd|j:dS)NbuildinstallZreinit_subcommandsr"r install_libr#z.%s-%slibzinstalling to %sZPURELIBZUNKNOWNz%d.%d.%dz Python %s %sz Python %sZ DistVersionZ ARPCONTACTZARPURLINFOABOUTProperty dist_filesr9anydry_run);rEZ run_commandZreinitialize_commandr@prefixZwarn_dircompileoptimizerOrPrCsysversionrArJrLrMrNZ build_baseZ build_librinfoZensure_finalizedinsertrunZmkpathrD get_fullnameget_installer_filenameabspathexistsunlinkmetadataauthorZ maintainerZ get_versionrmsilibZ init_databaser Zgen_uuiddbZ add_tablesr Z author_emailZmaintainer_emailappendZurlradd_find_python add_files add_scriptsadd_uiCommithasattrr\rBrr^)rrXrYrCZplat_specifierrWfullnameinstaller_namerlrmrcZsversionZ product_nameZpropsZemailtuprrrrfs|         %                  z bdist_msi.runc Cs|j}tjd}tjj|j}t||d|dd}t|ddddddd}||d fg}x|j |j gD]}d|}d|} } d} ||j krd } d } nd |} d} t|| | | d| d|}t|||||| }|j |||fqW|j i}x|D]\}}}|g}x^|r|j }xEtj|jD]1}tjj|j|}tjj|r d |j||f}||} t||||| |}|j |q|js+|j|j|d||kr|j|}||<||jkr|jrvtd|d||_q||}t|jd|||j|d|jfgqWqiW|j qNW|j|dS)NZ distfiles TARGETDIRZ SourceDirPythonZ Everythingrr"Z directoryzPython from another locationzPython %s from registryz%s|%szMultiple files with name %sz[#%s]Z DuplicateFile)rornZCABrLrMrir@r r rH other_versionrprupoplistdirZabsoluterNisdirZ make_shortZ componentZstart_componentZlogicalZadd_filerFrUrrZcommit)rroZcabZrootdirrootfitemsrctargetr*defaultZdescr leveldirseenZfeatureZtodofileZafileZshortZnewdirkeyrrrrr s\    !           +zbdist_msi.add_filesc Csd}x|jD]}d|}d|}d|}d|}d|}d|}d|} d |} d |} d |} tjrd} nd } t|jd|d |d| f|d|d| fgt|jd||f||fgt|jd|d | d|df| d!| d|df| d"| d| dfgt|jd|||f| ||df| d|d fgt|jd|||f| ||df| d|d fgt|jdd|dd|fg|d7}qWdS)#asAdds code to the installer to compute the location of Python. Properties PYTHON.MACHINE.X.Y and PYTHON.USER.X.Y will be set from the registry for each version of Python. Properties TARGETDIRX.Y will be set from PYTHON.USER.X.Y if defined, else from PYTHON.MACHINE.X.Y. Properties PYTHONX.Y will be set to TARGETDIRX.Y\python.exeiz)SOFTWARE\Python\PythonCore\%s\InstallPathzpython.machine.z python.user.zPYTHON.MACHINE.z PYTHON.USER.ZPythonFromMachineZPythonFromUserZ PythonExerzPYTHONr}Z RegLocatorNr"Z AppSearch CustomAction3[]z ]\python.exeInstallExecuteSequenceInstallUISequenceZ Conditionr{rz NOT TARGETDIRi3i3i3)rHrnZWin64rro)rstartverZ install_pathZ machine_regZuser_regZ machine_propZ user_propZmachine_actionZ user_actionZ exe_actionZtarget_dir_propexe_propZTyperrrrqCsJ                       zbdist_msi.add_find_pythoncCsK|jrd}x|j|jgD]l}d|}d|}t|jd|d||jfgt|jd|d||fg|d7}q#W|jrGtjj |j d }t |d }|j d |j t |jj |jt|jd d tj|fgt|jddgt|jddgdS)Nizinstall_script.rr2rz &Python%s=3r"zpreinstall.batrzrem =""" %1 %0 exit """ Binary PreInstallr} NOT Installed)rr}rN)rrr)rFrHr~rrorUrGrLrMrNr@openwritereadclosernr)rrrZinstall_actionrZscriptfnrrrrrsys,            zbdist_msi.add_scriptscCsG|j}d}}d}d}d}d}d}d} t|dddddddgt|dddddgt|d dddddgt|d/tjt|d0tjt|d1||||||d2d2d2 } | jd3| jd4d2d5d| jd6d7d5d| jd8d9d:d;d<d=d>| jd?d9d@d;dAd=dB| j d2d6dCd2} | j dDdEt|dF||||||d2d2d2 } | jdG| jd4d2d5d| jd6d7d5d| jd8d9d:d;d<d=dH| jd?d9d@d;dAd=dB| j d2d6dCd2} | j dDdEt|dI||||||d2d2d2 } | jdJ| jd4d2d5d| jd6d7d5d| jdKd9dLd;dAd=dB| j d2d6dCd2} | j dDdMt|dN||||dO|dPdPdPdQdR }|jdSd9dTdUd9d=dV|jdKdAdWdXdAd=dY|jdZdAd[d\ddd]|j d^d_dAd`d\dadbdcddd |jdEdddCdE} | j dDdE|j dddPdCdd} | j dDdd|jdPdEdCdP} | j dDdPt |d ddd\dedf|dgdd }|jdgdddXdhddi|j djdkdldmdnddodj dDdp|j dqdrdldmdnddsdj dDdt|j duddldmdnddvdj dDdw|j dxdydldmdndd6dj dDdz|j d{dmdldmdnddddj dDd||j d}d~dldmdndddj dDd|j dddldmdnddPdj dDdt |dddddd|dododo }|jdZdhd9dddd|j dsdldddddsdo} | j dDdE|j doddddddods} | j dDdMt |ddddd||dMdMdM }|jdZdhd9dddd|j dMddddddMd} | j dDdEt|d!||||||d6d6d6 }|jdKd9d:d;dd=d|jd|jd/d9dd;dAd=d} | jd/dZ|jdd9dd;dd=d} | jddZ|jd7dd5d|j ddd5d|jd6d} | j ddt|d'||||||ddd6 }|jd|jdd9dddAdd|jj|jd4dd5d|j dd6} d}| j ddd|xF|j|jgD]1}|d7}| j dd|d|d|qW| j ddd|d| j dDdMd|d|jd6d} | j dd|j ddd9dddkddddd } | j dd|j}d|}d|}|jdd9dUdd9dd} | jd|| jd|| jd|| jd||j ddd9ddddd|ddd } | jd|| jd|| jd|| jd|t|d||||||ddddQdR }|jdSd9dTdUd9d=d|jdKdAdAdXdAd=d|jdZdAdd\ddd|j dddAdd\dddddd |jddddj dDdMt|d$||||||ddd6 }|jd|jdd9ddddddid }|jdddddAd|jdddddAd|jd7dd5d|j dd6} | j dddd| j dDdMdd|jd6d} | j ddt|d-||||||d6d6d6dQdR }|jdSdAd9dUd9d=d|jdZdddddd|jdddddAdd|jd/d:d|d:dAdd} | jd/dZ|j ddddkddddddd } | jdd|jd4dd5dR|j dd6d5dR|jd6d7j ddt|d*||||||ddd6 }|jd|jdd9dd\dydd|jdd9dd\ddddid }|jddddUdd|jddddUdd|jd4dd5dR|j d2d6} | j dddd| j ddddT| j ddddb| j dddd| j dddd| j dddd| j dddd| j dddd| j dDdMddA|jd6dj dddS(Nriri,z[ProductName] Setupr#r" r[ DefaultUIFontDlgFont8 ErrorDialogErrorDlg Progress1Install Progress2installsMaintenanceForm_ActionRepair WhichUsersALLZ TextStyleTahoma r DlgFontBold8 VerdanaBold10Verdanar VerdanaRed9r PrepareDlg(Not Privileged or Windows9x or Installed WhichUsersDlg.Privileged and not Windows9x and not InstalledSelectFeaturesDlg Not InstalledMaintenanceTypeDlg,Installed AND NOT RESUME AND NOT Preselected ProgressDlg ActionTextUITextZ FatalErrorZFinishz)[ProductName] Installer ended prematurelyz< Backr+r.r!Z Description1rFi@Piz[ProductName] setup ended prematurely because of an error. Your system has not been modified. To install this program at a later time, please run the installation again.Z Description2z.Click the Finish button to exit the Installer.r*Z EndDialogZExitZUserExitz'[ProductName] Installer was interruptedz[ProductName] setup was interrupted. Your system has not been modified. To install this program at a later time, please run the installation again.Z ExitDialogz&Completing the [ProductName] InstallerZ DescriptionZReturnZ FilesInUseZRetryZbitmapFrz{\DlgFontBold8}Files in Useiz8Some files that need to be updated are currently in use.ZText7iJzThe following applications are using files that need to be updated by this setup. Close these applications and then click Retry to continue the installation or Cancel to exit it.ZListZListBoxkZFileInUseProcessIgnoreeiZ ErrorText0r|NxHQZNoZErrorNoYZYesZErrorYesAZAbortZ ErrorAbortC*Z ErrorCancelIZ ErrorIgnoreOZOkZErrorOkRZ ErrorRetryZ CancelDlgiUz;Are you sure you want to cancel [ProductName] installation?9r&r'ZWaitForCostingDlgzRPlease wait while the installer finishes determining your disk space requirements.f(zOPlease wait while the Installer prepares to guide you through the installation.z&Welcome to the [ProductName] Installernz Pondering...Z ActionDatar0Z SpawnDialogzSelect Python InstallationsZHintz9Select the Python locations where %s should be installed.zNext >z [TARGETDIR]z [SourceDir]Zorderingz [TARGETDIR%s]z FEATURE_SELECTED AND &Python%s=3ZSpawnWaitDialogr}ZFeaturesZ SelectionTreerZFEATUREZPathEditz[FEATURE_SELECTED]1z!FEATURE_SELECTED AND &Python%s<>3ZOtherz$Provide an alternate Python locationZEnableZShowZDisableZHiderrzZ DiskCostDlgZOKz&{\DlgFontBold8}Disk Space RequirementszFThe disk space required for the installation of the selected features.5aThe highlighted volumes (if any) do not have enough disk space available for the currently selected features. You can either remove some files from the highlighted volumes, or choose to install less features onto local drive(s), or select different destination drive(s).Z VolumeListZVolumeCostListdiz{120}{70}{70}{70}{70}g?Z AdminInstallzGSelect whether to install [ProductName] for all users of this computer.zInstall for all usersZJUSTMEzInstall just for mez [ALLUSERS]zWhichUsers="ALL"z({\DlgFontBold8}[Progress1] [ProductName]#AzYPlease wait while the Installer [Progress2] [ProductName]. This may take several minutes.Z StatusLabelzStatus:Z ProgressBariz Progress doneZ SetProgressZProgressz)Welcome to the [ProductName] Setup WizardZBodyText?z:Select whether you want to repair or remove [ProductName].ZRepairRadioGrouplrz&Repair [ProductName]ZRemoverzRe&move [ProductName]z [REINSTALL]zMaintenanceForm_Action="Repair"z [Progress1]Z Repairingz [Progress2]ZrepairsZ Reinstallz[REMOVE]zMaintenanceForm_Action="Remove" ZRemoving Zremoves z MaintenanceForm_Action<>"Change")rr)rr)rr)rr)rr)rr)rrrNr)rrrNr")rrrNr")rrrrr)rrr)rrr)rrr)rrr)rNr)rorr rrrr r-r/r)ZeventZcontrolrr(mappingrOrgrHr~Z conditionr4Z radiogroupadd)rroxyrrr ZmodalZmodelessZtrack_disk_spaceZfatalr<Z user_exitZ exit_dialogZinuseerrorr/ZcostingZprepZseldlgorderrcrZinstall_other_condZdont_install_other_condZcostZ whichusersgZprogressZmaintrrrrts                .......$$$ !!        "  % zbdist_msi.add_uicCsT|jr%d||j|jf}nd||jf}tjj|j|}|S)Nz%s.%s-py%s.msiz %s.%s.msi)rCrArLrMrNrD)rrwZ base_namerxrrrrhs   z bdist_msi.get_installer_filename)r5r6r7Z descriptionrZ user_optionsZboolean_optionsrRr~rIrVrfrrrqrsrtrhrrrrr9SsP      ( [ 6 6 & ?r9)r8rbrLZdistutils.corerZdistutils.dir_utilrZdistutils.sysconfigrZdistutils.versionrZdistutils.errorsrZdistutils.utilrZ distutilsrrnr r r r r rrrr9rrrrs ">__pycache__/bdist_dumb.cpython-35.opt-1.pyc000064400000007551147560526160014500 0ustar00 Yf1@sdZddlZddlmZddlmZddlmZmZddl Tddl m Z ddl m Z Gd d d eZdS) zdistutils.command.bdist_dumb Implements the Distutils 'bdist_dumb' command (create a "dumb" built distribution -- i.e., just an archive to be unpacked under $prefix or $exec_prefix).N)Command) get_platform) remove_treeensure_relative)*)get_python_version)logc @seZdZdZd&dddefd'd d d dfd(d)d*d+d,g Zd ddgZddddiZd d!Zd"d#Z d$d%Z dS)- bdist_dumbz"create a "dumb" built distribution bdist-dir=d1temporary directory for creating the distributionz plat-name=pz;platform name to embed in generated filenames (default: %s)format=f>archive format to create (tar, gztar, bztar, xztar, ztar, zip)z keep-tempkz/keep the pseudo-installation tree around after z!creating the distribution archive dist-dir=-directory to put final built distributions in skip-buildN2skip rebuilding everything (for testing/debugging)relative6build the archive using relative paths(default: false)owner=u@Owner name used when creating a tar file [default: current user]group=gAGroup name used when creating a tar file [default: current group]posixZgztarntzipcCsUd|_d|_d|_d|_d|_d|_d|_d|_d|_dS)Nr) bdist_dir plat_nameformat keep_tempdist_dir skip_buildrownergroup)selfr*A/opt/alt/python35/lib64/python3.5/distutils/command/bdist_dumb.pyinitialize_options2s        zbdist_dumb.initialize_optionscCs|jdkr9|jdj}tjj|d|_|jdkry|jtj|_Wn%t k rt dtjYnX|j dddd dS) NZbdistZdumbz@don't know how to create dumb built distributions on platform %sr%r"r&)r%r%)r"r")r&r&) r!Zget_finalized_command bdist_baseospathjoinr#default_formatnameKeyErrorDistutilsPlatformErrorZset_undefined_options)r)r-r*r*r+finalize_options=s  zbdist_dumb.finalize_optionsc Cs|js|jd|jddd}|j|_|j|_d|_tjd|j|jdd|jj |j f}t j j |j|}|js|j}nm|jjr|j|jkrtdt|jt|jfn!t j j |jt|j}|j||jd |d |jd |j}|jjrkt}nd }|jjjd ||f|jst|jd|jdS)NZbuildinstallZreinit_subcommandsrzinstalling to %sz%s.%szScan't make a dumb built distribution where base and platbase are different (%s, %s)Zroot_dirr'r(anyr dry_run) r&Z run_commandZreinitialize_commandr!rootZwarn_dirrinfoZ distributionZ get_fullnamer"r.r/r0r%rZhas_ext_modulesZ install_baseZinstall_platbaser4reprrZ make_archiver#r'r(rZ dist_filesappendr$rr9)r)r6Zarchive_basenameZpseudoinstall_rootZ archive_rootfilenameZ pyversionr*r*r+runOs>              zbdist_dumb.run)r r r )rrr)rr r)rNr)rNr)rrr)rrr) __name__ __module__ __qualname__Z descriptionrZ user_optionsZboolean_optionsr1r,r5r?r*r*r*r+r s6     r )__doc__r.Zdistutils.corerZdistutils.utilrZdistutils.dir_utilrrZdistutils.errorsZdistutils.sysconfigrZ distutilsrr r*r*r*r+s  __pycache__/build.cpython-35.opt-2.pyc000064400000010123147560526160013451 0ustar00 ]c@snddlZddlZddlmZddlmZddlmZddZGdddeZ dS) N)Command)DistutilsOptionError) get_platformcCsddlm}|dS)Nr)show_compilers)Zdistutils.ccompilerr)rr*/opt/alt/python35/lib64/python3.5/build.pyr src@seZdZdZd8d9d:d dd d fd;d<dddefd=d>d?d@dAg ZddgZd$dd%efgZd&d'Z d(d)Z d*d+Z d,d-Z d.d/Z d0d1Zd2d3Zd4e fd5e fd6efd7efgZdS)Bbuildz"build everything needed to install build-base=b base directory for build librarybuild-purelib=N2build directory for platform-neutral distributionsbuild-platlib=3build directory for platform-specific distributionsz build-lib=z9build directory for all distribution (defaults to either zbuild-purelib or build-platlibbuild-scripts=build directory for scripts build-temp=ttemporary build directoryz plat-name=pz6platform name to build for, if supported (default: %s) compiler=cspecify the compiler type parallel=jnumber of parallel build jobsdebugg;compile extensions and libraries with debugging informationforcef2forcibly build everything (ignore file timestamps) executable=e5specify final destination interpreter path (build.py)z help-compilerzlist available compilerscCspd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ dS)Nrr) build_base build_purelib build_platlib build_lib build_temp build_scriptsZcompiler plat_namerr executableparallel)selfrrrinitialize_options8s           zbuild.initialize_optionsc Cs|jdkrt|_ntjdkr9tdd|jtjddf}ttdrr|d7}|jdkrtj j |j d|_|j dkrtj j |j d||_ |j dkr|jjr|j |_ n |j|_ |jdkr.tj j |j d ||_|jdkritj j |j d tjdd|_|jdkrtj jtj|_t|jtryt|j|_Wntk rtd YnXdS) NntzW--plat-name only supported on Windows (try using './configure --help' on your platform)z.%s-%srgettotalrefcountz-pydebuglibZtempzscripts-zparallel should be an integer)r+rosnamersysversionhasattrr&pathjoinr%r'r( distributionZ ext_modulesr)r*r,normpath isinstancer-strint ValueError)r.Zplat_specifierrrrfinalize_optionsHs<      zbuild.finalize_optionscCs(x!|jD]}|j|q WdS)N)Zget_sub_commandsZ run_command)r.Zcmd_namerrrrunsz build.runcCs |jjS)N)r;has_pure_modules)r.rrrrCszbuild.has_pure_modulescCs |jjS)N)r;has_c_libraries)r.rrrrDszbuild.has_c_librariescCs |jjS)N)r;has_ext_modules)r.rrrrEszbuild.has_ext_modulescCs |jjS)N)r; has_scripts)r.rrrrFszbuild.has_scriptsZbuild_pyZ build_clibZ build_extr*)r r r )r Nr )rNr)rNr)rrr)rrr)rrr)rrr)rr r!)r"r#r$)__name__ __module__ __qualname__ descriptionrZ user_optionsZboolean_optionsrZ help_optionsr/rArBrCrDrErFZ sub_commandsrrrrrsR      8       r) r6r4Zdistutils.corerZdistutils.errorsrZdistutils.utilrrrrrrrs  __pycache__/bdist_dumb.cpython-35.pyc000064400000007551147560526160013541 0ustar00 Yf1@sdZddlZddlmZddlmZddlmZmZddl Tddl m Z ddl m Z Gd d d eZdS) zdistutils.command.bdist_dumb Implements the Distutils 'bdist_dumb' command (create a "dumb" built distribution -- i.e., just an archive to be unpacked under $prefix or $exec_prefix).N)Command) get_platform) remove_treeensure_relative)*)get_python_version)logc @seZdZdZd&dddefd'd d d dfd(d)d*d+d,g Zd ddgZddddiZd d!Zd"d#Z d$d%Z dS)- bdist_dumbz"create a "dumb" built distribution bdist-dir=d1temporary directory for creating the distributionz plat-name=pz;platform name to embed in generated filenames (default: %s)format=f>archive format to create (tar, gztar, bztar, xztar, ztar, zip)z keep-tempkz/keep the pseudo-installation tree around after z!creating the distribution archive dist-dir=-directory to put final built distributions in skip-buildN2skip rebuilding everything (for testing/debugging)relative6build the archive using relative paths(default: false)owner=u@Owner name used when creating a tar file [default: current user]group=gAGroup name used when creating a tar file [default: current group]posixZgztarntzipcCsUd|_d|_d|_d|_d|_d|_d|_d|_d|_dS)Nr) bdist_dir plat_nameformat keep_tempdist_dir skip_buildrownergroup)selfr*A/opt/alt/python35/lib64/python3.5/distutils/command/bdist_dumb.pyinitialize_options2s        zbdist_dumb.initialize_optionscCs|jdkr9|jdj}tjj|d|_|jdkry|jtj|_Wn%t k rt dtjYnX|j dddd dS) NZbdistZdumbz@don't know how to create dumb built distributions on platform %sr%r"r&)r%r%)r"r")r&r&) r!Zget_finalized_command bdist_baseospathjoinr#default_formatnameKeyErrorDistutilsPlatformErrorZset_undefined_options)r)r-r*r*r+finalize_options=s  zbdist_dumb.finalize_optionsc Cs|js|jd|jddd}|j|_|j|_d|_tjd|j|jdd|jj |j f}t j j |j|}|js|j}nm|jjr|j|jkrtdt|jt|jfn!t j j |jt|j}|j||jd |d |jd |j}|jjrkt}nd }|jjjd ||f|jst|jd|jdS)NZbuildinstallZreinit_subcommandsrzinstalling to %sz%s.%szScan't make a dumb built distribution where base and platbase are different (%s, %s)Zroot_dirr'r(anyr dry_run) r&Z run_commandZreinitialize_commandr!rootZwarn_dirrinfoZ distributionZ get_fullnamer"r.r/r0r%rZhas_ext_modulesZ install_baseZinstall_platbaser4reprrZ make_archiver#r'r(rZ dist_filesappendr$rr9)r)r6Zarchive_basenameZpseudoinstall_rootZ archive_rootfilenameZ pyversionr*r*r+runOs>              zbdist_dumb.run)r r r )rrr)rr r)rNr)rNr)rrr)rrr) __name__ __module__ __qualname__Z descriptionrZ user_optionsZboolean_optionsr1r,r5r?r*r*r*r+r s6     r )__doc__r.Zdistutils.corerZdistutils.utilrZdistutils.dir_utilrrZdistutils.errorsZdistutils.sysconfigrZ distutilsrr r*r*r*r+s  __pycache__/build_clib.cpython-35.pyc000064400000012403147560526160013505 0ustar00 YfV@srdZddlZddlmZddlTddlmZddlmZddZ Gd d d eZ dS) zdistutils.command.build_clib Implements the Distutils 'build_clib' command, to build a C/C++ library that is included in the module distribution and needed by an extension module.N)Command)*)customize_compiler)logcCsddlm}|dS)Nr)show_compilers)distutils.ccompilerr)rrA/opt/alt/python35/lib64/python3.5/distutils/command/build_clib.pyrsrc@seZdZdZd"d#d$d%d&gZdd gZdddefgZddZddZ ddZ ddZ ddZ ddZ d d!ZdS)' build_clibz/build C/C++ libraries used by Python extensions build-clib=b%directory to build C/C++ libraries to build-temp=t,directory to put temporary build by-productsdebugg"compile with debugging informationforcef2forcibly build everything (ignore file timestamps) compiler=cspecify the compiler typez help-compilerNzlist available compilerscCsUd|_d|_d|_d|_d|_d|_d|_d|_d|_dS)Nr) r build_temp libraries include_dirsdefineundefrrcompiler)selfrrr initialize_options4s        zbuild_clib.initialize_optionscCs|jdddd d d |jj|_|jrD|j|j|jdkrh|jjpbg|_t|jtr|jjtj |_dS) NZbuildrr rrr)rr )rr)rr)rr)rr) Zset_undefined_optionsZ distributionrcheck_library_listr isinstancestrsplitospathsep)r rrr finalize_optionsDs  zbuild_clib.finalize_optionscCs|js dSddlm}|d|jd|jd|j|_t|j|jdk rs|jj|j|j dk rx*|j D]\}}|jj ||qW|j dk rx!|j D]}|jj |qW|j |jdS)Nr) new_compilerrdry_runr)rrr)rr*rrrZset_include_dirsrZ define_macrorZundefine_macrobuild_libraries)r r)namevalueZmacrorrr run^s    zbuild_clib.runcCst|tstdx|D]}t|t rVt|dkrVtd|\}}t|ts}tdd|kstjdkrtj|krtd|dt|ts"tdq"Wd S) a`Ensure that the list of libraries is valid. `library` is presumably provided as a command option 'libraries'. This method checks that it is a list of 2-tuples, where the tuples are (library_name, build_info_dict). Raise DistutilsSetupError if the structure is invalid anywhere; just returns otherwise. z+'libraries' option must be a list of tuplesz*each element of 'libraries' must a 2-tuplezNfirst element of each tuple in 'libraries' must be a string (the library name)/z;bad library name '%s': may not contain directory separatorsrzMsecond element of each tuple in 'libraries' must be a dictionary (build info)N) r#listDistutilsSetupErrortuplelenr$r&sepdict)r rlibr, build_inforrr r"vs"   "   *zbuild_clib.check_library_listcCs>|js dSg}x$|jD]\}}|j|qW|S)N)rappend)r Z lib_nameslib_namer8rrr get_library_namess  zbuild_clib.get_library_namescCs|j|jg}xe|jD]Z\}}|jd}|dks]t|ttf rmtd||j|q W|S)Nsourceszfin 'libraries' option (library '%s'), 'sources' must be present and must be a list of source filenames)r"rgetr#r1r3r2extend)r filenamesr:r8r<rrr get_source_filess" zbuild_clib.get_source_filesc Csx|D]\}}|jd}|dksDt|ttf rTtd|t|}tjd||jd}|jd}|jj|d|j d|d|d|j }|jj ||d|j d|j qWdS)Nr<zfin 'libraries' option (library '%s'), 'sources' must be present and must be a list of source filenameszbuilding '%s' librarymacrosrZ output_dirr) r=r#r1r3r2rinforcompilerrZcreate_static_libr )r rr:r8r<rArZobjectsrrr r+s$"     zbuild_clib.build_libraries)r r r )rrr)rrr)rrr)rrr)__name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsrZ help_optionsr!r(r.r"r;r@r+rrrr r s*       $ r ) __doc__r&Zdistutils.corerZdistutils.errorsZdistutils.sysconfigrZ distutilsrrr rrrr s   __pycache__/build_ext.cpython-35.opt-2.pyc000064400000037244147560526160014346 0ustar00 ]{@sddlZddlZddlZddlZddlmZddlTddlmZm Z ddlm Z ddl m Z ddl mZddlmZdd lmZdd lmZejd Zd d ZGdddeZdS)N)Command)*)customize_compilerget_python_version)get_config_h_filename) newer_group) Extension) get_platform)log) USER_BASEz3^[a-zA-Z_][a-zA-Z_0-9]*(\.[a-zA-Z_][a-zA-Z_0-9]*)*$cCsddlm}|dS)Nr)show_compilers)distutils.ccompilerr )r r./opt/alt/python35/lib64/python3.5/build_ext.pyr sr c@seZdZdZdejZd`dad d d efd d ddfdddefdbdcdddddefdedfdgdhdidjdkdldmdngZd d%d(d1d8gZ d:d2d;e fgZ d<d=Z d>d?Z d@dAZdBdCZdDdEZdFdGZdHdIZdJdKZdLdMZejdNdOZdPdQZdRdSZdTdUZdVdWZdXdYZdZd[Zd\d]Zd^d_Zd2S)o build_extz8build C/C++ extensions (compile/link to build directory)z (separated by '%s') build-lib=b(directory for compiled extension modules build-temp=t1directory for temporary files (build by-products)z plat-name=pz>platform name to cross-compile for, if supported (default: %s)inplaceiz=ignore build-lib and put compiled extensions into the source z,directory alongside your pure Python modulesz include-dirs=Iz.list of directories to search for header filesdefine=DC preprocessor macros to defineundef=U!C preprocessor macros to undefine libraries=l!external C libraries to link withz library-dirs=Lz.directories to search for external C librariesrpath=R7directories to search for shared C libraries at runtime link-objects=O2extra explicit link objects to include in the linkdebugg'compile/link with debugging informationforcef2forcibly build everything (ignore file timestamps) compiler=cspecify the compiler type parallel=jnumber of parallel build jobsswig-cppN)make SWIG create C++ files (default is C) swig-opts=!list of SWIG command line optionsswig=path to the SWIG executableuser#add user include, library and rpathz help-compilerzlist available compilerscCsd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ d|_ d|_ d|_d|_d|_d|_d|_d|_d|_dS)Nr) extensions build_lib plat_name build_temprpackage include_dirsdefineundef libraries library_dirsrpath link_objectsr+r.compilerswigswig_cpp swig_optsr=parallel)selfrrrinitialize_optionsjs*                    zbuild_ext.initialize_optionsc Csrddlm}|jdd'd(d)d*d+d,d-|jdkrP|jj|_|jj|_|j}|jd d }|j dkr|jj pg|_ t |j t r|j j t j|_ tjtjkr|j jt jjtjd |j j|||kr+|j j||jd|jd|jdkr]g|_|jdkrxg|_n*t |jt r|jj t j|_|jdkrg|_n*t |jt r|jj t j|_t jdkrC|jjt jjtjdtjtjkrL|jjt jjtjd|jrst jj|jd|_nt jj|jd|_|j jt jjtttdd}|r|jj||j dkrd}n|j dd}t jjtjd}|r3t jj||}|jj|tj!dddksutj!dddkrtj"j#t jjtjdr|jjt jjtjddt$dn|jjd|j%d r|j&s|jj|j%d!n|jjd|j'rP|j'j d"}d#d$|D|_'|j(rn|j(j d"|_(|j)dkrg|_)n|j)j d%|_)|j*r%t jjt+d }t jjt+d} t jj,|r|j j|t jj,| r%|jj| |jj| t |j-t rnyt.|j-|_-Wnt/k rmt0d&YnXdS).Nr) sysconfigZbuildr@rBrKr+r.rOrAZ plat_specificincluderGrJntZlibsZDebugZRelease_homewin32ZPCbuildcygwinatheosbinlibpythonconfig.Py_ENABLE_SHAREDLIBDIR,cSsg|]}|dfqS)1r).0symbolrrr s z.build_ext.finalize_options.. zparallel should be an integer)r@r@)rBrB)rKrK)r+r+)r.r.)rOrO)rArA)1 distutilsrRZset_undefined_optionsrC distributionZ ext_packageZ ext_modulesr?Zget_python_incrD isinstancestrsplitospathsepsys exec_prefixbase_exec_prefixappendpathjoinZensure_string_listrGrHrInameprefixr+rBdirnamergetattrrAplatform executable startswithrget_config_varZ python_buildrErFrNr=r isdirrOint ValueErrorZDistutilsOptionError) rPrRZ py_includeZplat_py_include _sys_homesuffixZnew_libZdefinesZ user_includeZuser_librrrfinalize_optionss  "      ""  2$        zbuild_ext.finalize_optionsc Csddlm}|jsdS|jjrj|jd}|jj|jpSg|j j |j |d|j d|j d|jd|j|_ t|j tjdkr|jtkr|j j|j|jdk r|j j|j|jdk r9x*|jD]\}}|j j||qW|jdk rlx!|jD]}|j j|qRW|jdk r|j j|j|j dk r|j j|j |jdk r|j j|j|j dk r|j j!|j |j"dS) Nr) new_compiler build_clibrKverbosedry_runr.rU)#r rr?rjZhas_c_librariesget_finalized_commandrGextendZget_library_namesrHrsrrKrrr.rrnrvrAr Z initializerDZset_include_dirsrEZ define_macrorFZundefine_macroZ set_librariesZset_library_dirsrIZset_runtime_library_dirsrJZset_link_objectsbuild_extensions)rPrrrvvaluemacrorrrruns>    !z build_ext.runc Cst|tstdxt|D]\}}t|trFq(t|t sht|dkrttd|\}}tjd|t|t ot j |stdt|t stdt||d}x9dD]1}|j |}|dk rt|||qW|j d|_d|krPtjd|j d}|rg|_g|_x|D]~} t| tot| dkstdt| dkr|jj| dq~t| dkr~|jj| q~W||||j|jg}x!|jD]}|j|jq W|S)N)rr?rr)rP filenamesrrrrget_source_filess zbuild_ext.get_source_filescCsG|j|jg}x*|jD]}|j|j|jq W|S)N)rr?rsget_ext_fullpathrv)rPZoutputsrrrr get_outputss zbuild_ext.get_outputscCs4|j|j|jr&|jn |jdS)N)rr?rO_build_extensions_parallel_build_extensions_serial)rPrrrrs  zbuild_ext.build_extensionscsj}jdkr$tj}yddlm}Wntk rRd}YnX|dkrmjdS|d|jfddjD}xAtj|D]-\}}j ||j WdQRXqWWdQRXdS)NTr)ThreadPoolExecutor max_workerscs%g|]}jj|qSr)submitbuild_extension)rer)executorrPrrrgs z8build_ext._build_extensions_parallel..) rOrn cpu_countconcurrent.futuresr ImportErrorrr?zip_filter_build_errorsresult)rPworkersrfuturesrZfutr)rrPrrs        z$build_ext._build_extensions_parallelc Cs<x5|jD]*}|j||j|WdQRXq WdS)N)r?rr)rPrrrrrsz"build_ext._build_extensions_serialccsdy dVWnTtttfk r_}z+|js3|jd|j|fWYdd}~XnXdS)Nz"building extension "%s" failed: %s)ZCCompilerErrorZDistutilsErrorZ CompileErrorZoptionalrrv)rPrerrrrs   zbuild_ext._filter_build_errorsc Cs|j}|dks+t|ttf r>td|jt|}|j|j}||j}|jpt ||dst j d|jdSt j d|j|j ||}|jpg}|jdd}x!|jD]}|j|fqW|jj|d|jd|d|jd|j d |d |j}|dd|_|jrt|j|j|jpg}|jp|jj|} |jj||d |j|d |jd |jd |d|j |d|j d|jd| dS)Nzjin 'ext_modules' option (extension '%s'), 'sources' must be present and must be a list of source filenamesZnewerz$skipping '%s' extension (up-to-date)zbuilding '%s' extensionZ output_dirrrDr+Zextra_postargsdependsrGrHrexport_symbolsrBZ target_lang)!rrkrrrrvrrr.rr r+info swig_sourcesrrrrsrKcompilerBrDZ_built_objectsrrrlanguageZdetect_languageZlink_shared_object get_librariesrHrget_export_symbols) rPrrext_pathr extra_argsrrFZobjectsrrrrrsN "              zbuild_ext.build_extensioncCsg}g}i}|jr(tjd|jsOd|jksOd|jkrXd}nd}xr|D]j}tjj|\}} | dkr|j|d||j||d ||            zbuild_ext.swig_sourcescCstjdkrdStjdkrixWd D]5}tjjd|d}tjj|r)|Sq)WdSntd tjdS) NposixrLrU1.31.21.1z c:\swig%szswig.exez>I don't know how to find (much less run) SWIG on platform '%s')rrr)rnrvrtruisfileZDistutilsPlatformError)rPZversfnrrrrfs zbuild_ext.find_swigcCs|j|}|jd}|j|d}|jsstjj|dd|g}tjj|j|Sdj|dd}|jd}tjj |j |}tjj||S)Nr`rSrbuild_pyrrr) get_ext_fullnamermget_ext_filenamerrnrtrur@rabspathZget_package_dir)rPrfullnameZmodpathfilenamerCrZ package_dirrrrr~s #zbuild_ext.get_ext_fullpathcCs&|jdkr|S|jd|SdS)Nr`)rC)rPrrrrrszbuild_ext.get_ext_fullnamecCs?ddlm}|jd}|d}tjj||S)Nr)r}r` EXT_SUFFIX)distutils.sysconfigr}rmrnrtru)rPrr}rZ ext_suffixrrrrs zbuild_ext.get_ext_filenamecCs@d|jjdd}||jkr9|jj||jS)NZPyInit_r`rSr)rvrmrrs)rPrZ initfunc_namerrrrszbuild_ext.get_export_symbolscCs3tjdkrddlm}t|j|szd}|jrJ|d}|tjd?tjd?d@f}|j|gS|jSntjdd d krd }|tjd?tjd?d@f}|j|gStjdd d krdd l m }d }|tjd?tjd?d@f}g}xS|j dj D]<}|j dro|j|ddq@|j|q@W|j|dg|Stjdkr|jStjdddkr|jSdd l m }|j dr(djtjd?tjd?d@|j d}|j|gS|jSdS)NrWr) MSVCCompilerz python%d%dZ_drYrZz python%d.%dr[)rRSHLIBSz-lrmdarwinaixraz python{}.{}{}ABIFLAGS)rprzZdistutils._msvccompilerrrkrKr+ hexversionrGrirRr}rmr|rsformat)rPrrtemplateZ pythonlibrRextrar]rrrrsJ    zbuild_ext.get_libraries)rrr)rrr)rrr)rrr )r!r"r#)r%r&r')r(r)r*)r+r,r-)r.r/r0)r1r2r3)r4r5r6)r7Nr8)r9Nr:)r;Nr<)r=Nr>) __name__ __module__ __qualname__ descriptionrnroZsep_byr Z user_optionsZboolean_optionsr Z help_optionsrQrrrrrrrr contextlibcontextmanagerrrrrrrrrrrrrrr!s~        @ N     K 6   r)rrnrerpZdistutils.corerZdistutils.errorsrrrrZdistutils.dep_utilrZdistutils.extensionrZdistutils.utilr rir Zsiter rrr rrrrrs       __pycache__/bdist.cpython-35.opt-2.pyc000064400000007363147560526160013473 0ustar00 ]@s\ddlZddlmZddlTddlmZddZGdddeZdS) N)Command)*) get_platformcCslddlm}g}x6tjD]+}|jd|dtj|dfq W||}|jddS)Nr) FancyGetoptzformats=z'List of available distribution formats:)Zdistutils.fancy_getoptrbdistformat_commandsappendformat_command print_help)rformatsformatZpretty_printerr*/opt/alt/python35/lib64/python3.5/bdist.py show_formats s rc@seZdZdZd6dddefd7d8d9d:d;gZdgZdd defgZd<Z ddddiZ ddddd d!d"dd#g Z dd=dd>dd?dd@d dAd!dBd"dCddDd#dEi Z d0d1Z d2d3Zd4d5Zd S)Frz$create a built (binary) distribution bdist-base=b4temporary directory for creating built distributionsz plat-name=pz;platform name to embed in generated filenames (default: %s)formats=N/formats for distribution (comma-separated list) dist-dir=d=directory to put final built distributions in [default: dist] skip-build2skip rebuilding everything (for testing/debugging)owner=u@Owner name used when creating a tar file [default: current user]group=gAGroup name used when creating a tar file [default: current group]z help-formatsz$lists available distribution formats bdist_rpmposixgztarntzipZrpmbztarxztarZztartarZwininstZmsiRPM distribution bdist_dumbgzip'ed tar filebzip2'ed tar filexz'ed tar filecompressed tar filetar file bdist_wininstWindows executable installerZIP file bdist_msiMicrosoft InstallercCsCd|_d|_d|_d|_d|_d|_d|_dS)Nr) bdist_base plat_namer dist_dir skip_buildgroupowner)selfrrrinitialize_optionsQs      zbdist.initialize_optionsc Cs|jdkr<|jr't|_n|jdj|_|jdkr||jdj}tjj|d|j|_|j d|j dkry|j tj g|_ Wn%t k rtdtj YnX|jdkrd|_dS)NZbuildzbdist.r z;don't know how to create built distributions on platform %sZdist)r7r9rZget_finalized_commandr6 build_baseospathjoinZensure_string_listr default_formatnameKeyErrorZDistutilsPlatformErrorr8)r<r>rrrfinalize_optionsZs$    zbdist.finalize_optionsc Cs g}xR|jD]G}y|j|j|dWqtk rVtd|YqXqWxtt|jD]}||}|j|}||jkr|j||_ |dkr|j |_ |j |_ |||ddkrd|_ |j |qqWdS)Nrzinvalid format '%s'r+r)r r r rDZDistutilsOptionErrorrangelenZreinitialize_commandno_format_optionr r;r:Z keep_tempZ run_command)r<commandsr iZcmd_nameZsub_cmdrrrrunvs"      z bdist.run)rrr)rNr)rrr)rNr)rrr)rr r!)r")r"r*)r+r,)r+r-)r+r.)r+r/)r+r0)r1r2)r+r3)r4r5)__name__ __module__ __qualname__ descriptionrZ user_optionsZboolean_optionsrZ help_optionsrHrBrr r=rErKrrrrrsJ       r)r?Zdistutils.corerZdistutils.errorsZdistutils.utilrrrrrrrs   __pycache__/bdist_wininst.cpython-35.opt-2.pyc000064400000021056147560526160015241 0ustar00 ];@sddlZddlZddlmZddlmZddlmZmZddl Tddl m Z ddl m Z Gdd d eZdS) N)Command) get_platform) create_tree remove_tree)*)get_python_version)logc@seZdZdZd4dddefdd d d fd dd dfd5d6d7d8d9d:d;d<d=g ZddddgZd&d'Zd(d)Zd*d+Z d,d-Z dd.d/Z d0d1Z d2d3Z dS)> bdist_wininstz-create an executable installer for MS Windows bdist-dir=N1temporary directory for creating the distributionz plat-name=pz;platform name to embed in generated filenames (default: %s)z keep-tempkz/keep the pseudo-installation tree around after z!creating the distribution archiveztarget-version=z!require a specific python versionz on the target systemno-target-compilec/do not compile .py to .pyc on the target systemno-target-optimizeo:do not compile .py to .pyo (optimized)on the target system dist-dir=d-directory to put final built distributions inbitmap=b>bitmap to use for the installer instead of python-powered logotitle=t?title to display on the installer background instead of default skip-build2skip rebuilding everything (for testing/debugging)install-script=Tbasename of installation script to be run afterinstallation or before deinstallationpre-install-script={Fully qualified filename of a script to be run before any files are installed. This script need not be in the distributionuser-access-control=specify Vista's UAC handling - 'none'/default=no handling, 'auto'=use UAC if target Python installed for all users, 'force'=always use UACcCsyd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ d|_ dS)Nr) bdist_dir plat_name keep_tempno_target_compileno_target_optimizetarget_versiondist_dirbitmaptitle skip_buildinstall_scriptpre_install_scriptuser_access_control)selfr32/opt/alt/python35/lib64/python3.5/bdist_wininst.pyinitialize_options:s            z bdist_wininst.initialize_optionscCsG|jdd |jdkry|jrO|jrO|jjd}|j|_|jdj}tj j |d|_|j sd|_ |j r|jj rt }|j r|j |krtd|f||_ |jdd d |jrCxC|jjD]"}|jtj j|kr Pq Wtd|jdS) Nbdistr.ZwininstzMtarget version can only be %s, or the '--skip-build' option must be specifiedr+r&z(install_script '%s' not found in scripts)r.r.)r+r+)r&r&)Zset_undefined_optionsr%r.r& distributionZget_command_objget_finalized_command bdist_baseospathjoinr*has_ext_modulesrZDistutilsOptionErrorr/scriptsbasename)r2r6r:Z short_versionscriptr3r3r4finalize_optionsJs4        zbdist_wininst.finalize_optionsc Cstjdkr9|jjs-|jjr9td|jsO|jd|jddd}|j |_ |j|_d|_ |j |_ |jd}d|_ d|_|jjr$|j}|stjdd }d |j |f}|jd}tjj|jd ||_xDdD]<}|j}|dkrS|d}t|d||q+Wtjd|j |jtjjdtjj|j d|jtjd=ddlm}|} |jj } |j!| dd|j } |j"| | |j#|jjr5t$} nd} |jj%j&d| |j'| ftj(d| tj)| |j*st+|j d|j,dS)Nwin32z^distribution contains extensions and/or C libraries; must be compiled on a Windows 32 platformbuildinstallZreinit_subcommandsr install_libz.%s-%slibpurelibplatlibheadersr?dataz/Include/$dist_nameZinstall_zinstalling to %sZPURELIB)mktempziproot_diranyr zremoving temporary file '%s'dry_run)rJrKrLr?rM)-sysplatformr8r>Zhas_c_librariesZDistutilsPlatformErrorr.Z run_commandZreinitialize_commandr%rootZwarn_dirr&compileoptimizer*versionr9r;r<r=Z build_baseZ build_libuppersetattrrinfoZensure_finalizedinsertruntempfilerN get_fullname make_archive create_exer,rZ dist_filesappendget_installer_filenamedebugremover'rrR) r2rErGr*Zplat_specifierrDkeyvaluerNZarchive_basenamefullnamearcnameZ pyversionr3r3r4r]psd                %       zbdist_wininst.runc Csg}|jj}|jd|jp+dd}dd}x{dddd d d d d gD][}t||d}|r]|d|j||f}|jd|||fq]W|jd|jr|jd|j|jd|||jd|j |jd|j |j rD|jd|j |j ra|jd|j |j pv|jj }|jd||ddl }ddl} d|j|j | jf} |jd| dj|S)Nz [metadata]r7 cSs|jddS)Nrjz\n)replace)sr3r3r4escapesz)bdist_wininst.get_inidata..escapeZauthorZ author_email descriptionZ maintainerZmaintainer_emailnameZurlrXz %s: %sz%s=%sz [Setup]zinstall_script=%szinfo=%sztarget_compile=%dztarget_optimize=%dztarget_version=%szuser_access_control=%sztitle=%srzBuilt %s with distutils-%sz build_info=%s)r8metadatarbZlong_descriptiongetattr capitalizer/r(r)r*r1r-r_time distutilsctime __version__r=) r2linesrpr[rmrorMr-rsrtZ build_infor3r3r4 get_inidatas<   !      zbdist_wininst.get_inidatac Csddl}|j|j|j}|j|}|jd||rrt|dj}t|}nd}t|d} | j |j |r| j |t |t r|j d}|d}|jr&t|jddd } | jj d } WdQRX|| d }n |d}| j ||jd d t||} | j | | j t|djdS) Nrz creating %srbwbmbcssrencodingzlatin-1s zs __pycache__/check.cpython-35.opt-1.pyc000064400000012137147560526160013435 0ustar00 Yfx @sdZddlmZddlmZypddlmZddlmZddl m Z ddl m Z ddl m Z Gd d d eZd ZWnek rd ZYnXGd ddeZdS)zCdistutils.command.check Implements the Distutils 'check' command. )Command)DistutilsSetupError)Reporter)Parser)frontend)nodes)StringIOc@s4eZdZddddddZddZdS) SilentReporterNrasciireplacec Cs/g|_tj||||||||dS)N)messagesr__init__)selfsource report_level halt_levelstreamdebugencoding error_handlerrr>)rrrZ OptionParserZget_default_valuesZ tab_widthZpep_referencesZrfc_referencesr rrZwarning_streamrZerror_encodingZerror_encoding_error_handlerrdocumentZ note_sourceparseAttributeErrorr r)rrA source_pathparserZsettingsZreporterrDerrrr?ys*           *zcheck._check_rst_dataN)r"r#r$)r%r&r')r(r)r*)rrr __doc__Z descriptionZ user_optionsZboolean_optionsr-r.r/r4r1r3r?rrrrr!$s        r!N)rJZdistutils.corerZdistutils.errorsrZdocutils.utilsrZdocutils.parsers.rstrZdocutilsrriorr r2 Exceptionr!rrrrs   __pycache__/build_ext.cpython-35.pyc000064400000043136147560526160013403 0ustar00 Yf{@sdZddlZddlZddlZddlZddlmZddlTddlm Z m Z ddlm Z ddl m Z ddlmZdd lmZdd lmZdd lmZejd Zd dZGdddeZdS)zdistutils.command.build_ext Implements the Distutils 'build_ext' command, for building extension modules (currently limited to C extensions, should accommodate C++ extensions ASAP).N)Command)*)customize_compilerget_python_version)get_config_h_filename) newer_group) Extension) get_platform)log) USER_BASEz3^[a-zA-Z_][a-zA-Z_0-9]*(\.[a-zA-Z_][a-zA-Z_0-9]*)*$cCsddlm}|dS)Nr)show_compilers)distutils.ccompilerr )r r@/opt/alt/python35/lib64/python3.5/distutils/command/build_ext.pyr sr c@seZdZdZdejZd`dad d d efd d ddfdddefdbdcdddddefdedfdgdhdidjdkdldmdngZd d%d(d1d8gZ d:d2d;e fgZ d<d=Z d>d?Z d@dAZdBdCZdDdEZdFdGZdHdIZdJdKZdLdMZejdNdOZdPdQZdRdSZdTdUZdVdWZdXdYZdZd[Zd\d]Zd^d_Zd2S)o build_extz8build C/C++ extensions (compile/link to build directory)z (separated by '%s') build-lib=b(directory for compiled extension modules build-temp=t1directory for temporary files (build by-products)z plat-name=pz>platform name to cross-compile for, if supported (default: %s)inplaceiz=ignore build-lib and put compiled extensions into the source z,directory alongside your pure Python modulesz include-dirs=Iz.list of directories to search for header filesdefine=DC preprocessor macros to defineundef=U!C preprocessor macros to undefine libraries=l!external C libraries to link withz library-dirs=Lz.directories to search for external C librariesrpath=R7directories to search for shared C libraries at runtime link-objects=O2extra explicit link objects to include in the linkdebugg'compile/link with debugging informationforcef2forcibly build everything (ignore file timestamps) compiler=cspecify the compiler type parallel=jnumber of parallel build jobsswig-cppN)make SWIG create C++ files (default is C) swig-opts=!list of SWIG command line optionsswig=path to the SWIG executableuser#add user include, library and rpathz help-compilerzlist available compilerscCsd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ d|_ d|_ d|_d|_d|_d|_d|_d|_d|_dS)Nr) extensions build_lib plat_name build_temprpackage include_dirsdefineundef libraries library_dirsrpath link_objectsr+r.compilerswigswig_cpp swig_optsr=parallel)selfrrrinitialize_optionsjs*                    zbuild_ext.initialize_optionsc Csrddlm}|jdd'd(d)d*d+d,d-|jdkrP|jj|_|jj|_|j}|jd d }|j dkr|jj pg|_ t |j t r|j j t j|_ tjtjkr|j jt jjtjd |j j|||kr+|j j||jd|jd|jdkr]g|_|jdkrxg|_n*t |jt r|jj t j|_|jdkrg|_n*t |jt r|jj t j|_t jdkrC|jjt jjtjdtjtjkrL|jjt jjtjd|jrst jj|jd|_nt jj|jd|_|j jt jjtttdd}|r|jj||j dkrd}n|j dd}t jjtjd}|r3t jj||}|jj|tj!dddksutj!dddkrtj"j#t jjtjdr|jjt jjtjddt$dn|jjd|j%d r|j&s|jj|j%d!n|jjd|j'rP|j'j d"}d#d$|D|_'|j(rn|j(j d"|_(|j)dkrg|_)n|j)j d%|_)|j*r%t jjt+d }t jjt+d} t jj,|r|j j|t jj,| r%|jj| |jj| t |j-t rnyt.|j-|_-Wnt/k rmt0d&YnXdS).Nr) sysconfigZbuildr@rBrKr+r.rOrAZ plat_specificincluderGrJntZlibsZDebugZRelease_homewin32ZPCbuildcygwinatheosbinlibpythonconfig.Py_ENABLE_SHAREDLIBDIR,cSsg|]}|dfqS)1r).0Zsymbolrrr s z.build_ext.finalize_options.. zparallel should be an integer)r@r@)rBrB)rKrK)r+r+)r.r.)rOrO)rArA)1 distutilsrRZset_undefined_optionsrC distributionZ ext_packageZ ext_modulesr?Zget_python_incrD isinstancestrsplitospathsepsys exec_prefixbase_exec_prefixappendpathjoinZensure_string_listrGrHrInameprefixr+rBdirnamergetattrrAplatform executable startswithrget_config_varZ python_buildrErFrNr=r isdirrOint ValueErrorZDistutilsOptionError) rPrRZ py_includeZplat_py_include _sys_homesuffixZnew_libZdefinesZ user_includeZuser_librrrfinalize_optionss  "      ""  2$        zbuild_ext.finalize_optionsc Csddlm}|jsdS|jjrj|jd}|jj|jpSg|j j |j |d|j d|j d|jd|j|_ t|j tjdkr|jtkr|j j|j|jdk r|j j|j|jdk r9x*|jD]\}}|j j||qW|jdk rlx!|jD]}|j j|qRW|jdk r|j j|j|j dk r|j j|j |jdk r|j j|j|j dk r|j j!|j |j"dS) Nr) new_compiler build_clibrKverbosedry_runr.rU)#r rr?riZhas_c_librariesget_finalized_commandrGextendZget_library_namesrHrrrrKrrr.rrmrurAr Z initializerDZset_include_dirsrEZ define_macrorFZundefine_macroZ set_librariesZset_library_dirsrIZset_runtime_library_dirsrJZset_link_objectsbuild_extensions)rPrrruvaluemacrorrrruns>    !z build_ext.runc Cst|tstdxt|D]\}}t|trFq(t|t sht|dkrttd|\}}tjd|t|t ot j |stdt|t stdt||d}x9dD]1}|j |}|dk rt|||qW|j d|_d|krPtjd|j d}|rg|_g|_x|D]~} t| tot| dkstdt| dkr|jj| dq~t| dkr~|jj| q~W||||j|jg}x!|jD]}|j|jq W|S)N)rr?rr)rP filenamesrrrrget_source_filess zbuild_ext.get_source_filescCsG|j|jg}x*|jD]}|j|j|jq W|S)N)rr?rrget_ext_fullpathru)rPZoutputsrrrr get_outputss zbuild_ext.get_outputscCs4|j|j|jr&|jn |jdS)N)rr?rO_build_extensions_parallel_build_extensions_serial)rPrrrrs  zbuild_ext.build_extensionscsj}jdkr$tj}yddlm}Wntk rRd}YnX|dkrmjdS|d|jfddjD}xAtj|D]-\}}j ||j WdQRXqWWdQRXdS)NTr)ThreadPoolExecutorZ max_workerscs%g|]}jj|qSr)Zsubmitbuild_extension)rer)executorrPrrrfs z8build_ext._build_extensions_parallel..) rOrm cpu_countZconcurrent.futuresr ImportErrorrr?zip_filter_build_errorsresult)rPZworkersrZfuturesrZfutr)rrPrrs        z$build_ext._build_extensions_parallelc Cs<x5|jD]*}|j||j|WdQRXq WdS)N)r?rr)rPrrrrrsz"build_ext._build_extensions_serialccsdy dVWnTtttfk r_}z+|js3|jd|j|fWYdd}~XnXdS)Nz"building extension "%s" failed: %s)ZCCompilerErrorZDistutilsErrorZ CompileErrorZoptionalrru)rPrerrrrs   zbuild_ext._filter_build_errorsc Cs|j}|dks+t|ttf r>td|jt|}|j|j}||j}|jpt ||dst j d|jdSt j d|j|j ||}|jpg}|jdd}x!|jD]}|j|fqW|jj|d|jd|d|jd|j d |d |j}|dd|_|jrt|j|j|jpg}|jp|jj|} |jj||d |j|d |jd |jd |d|j |d|j d|jd| dS)Nzjin 'ext_modules' option (extension '%s'), 'sources' must be present and must be a list of source filenamesZnewerz$skipping '%s' extension (up-to-date)zbuilding '%s' extensionZ output_dirrrDr+Zextra_postargsdependsrGrHrexport_symbolsrBZ target_lang)!rrjrrrrurrr.rr r+info swig_sourcesrrrrrrKcompilerBrDZ_built_objectsrrrlanguageZdetect_languageZlink_shared_object get_librariesrHrget_export_symbols) rPrrext_pathrZ extra_argsrrFZobjectsrrrrrsN "              zbuild_ext.build_extensioncCsg}g}i}|jr(tjd|jsOd|jksOd|jkrXd}nd}xr|D]j}tjj|\}} | dkr|j|d||j||d ||            zbuild_ext.swig_sourcescCstjdkrdStjdkrixWd D]5}tjjd|d}tjj|r)|Sq)WdSntd tjd S) zReturn the name of the SWIG executable. On Unix, this is just "swig" -- it should be in the PATH. Tries a bit harder on Windows. posixrLrU1.31.21.1z c:\swig%szswig.exez>I don't know how to find (much less run) SWIG on platform '%s'N)rrr)rmrursrtisfileZDistutilsPlatformError)rPZversfnrrrrfs zbuild_ext.find_swigcCs|j|}|jd}|j|d}|jsstjj|dd|g}tjj|j|Sdj|dd}|jd}tjj |j |}tjj||S) zReturns the path of the filename for a given extension. The file is located in `build_lib` or directly in the package (inplace option). r`rSNrbuild_pyrrr) get_ext_fullnamerlget_ext_filenamerrmrsrtr@rabspathZget_package_dir)rPrfullnameZmodpathfilenamerCrZ package_dirrrrr~s #zbuild_ext.get_ext_fullpathcCs&|jdkr|S|jd|SdS)zSReturns the fullname of a given extension name. Adds the `package.` prefixNr`)rC)rPrrrrrszbuild_ext.get_ext_fullnamecCs?ddlm}|jd}|d}tjj||S)zConvert the name of an extension (eg. "foo.bar") into the name of the file from which it will be loaded (eg. "foo/bar.so", or "foo\bar.pyd"). r)r|r` EXT_SUFFIX)distutils.sysconfigr|rlrmrsrt)rPrr|rZ ext_suffixrrrrs zbuild_ext.get_ext_filenamecCs@d|jjdd}||jkr9|jj||jS)aReturn the list of symbols that a shared extension has to export. This either uses 'ext.export_symbols' or, if it's not provided, "PyInit_" + module_name. Only relevant on Windows, where the .pyd file (DLL) must export the module "PyInit_" function. ZPyInit_r`rSr)rurlrrr)rPrZ initfunc_namerrrrszbuild_ext.get_export_symbolscCs3tjdkrddlm}t|j|szd}|jrJ|d}|tjd?tjd?d@f}|j|gS|jSntjd d d krd }|tjd?tjd?d@f}|j|gStjd d d krddl m }d }|tjd?tjd?d@f}g}xS|j dj D]<}|j dro|j|dd q@|j|q@W|j|dg|Stjdkr|jStjd ddkr|jSddl m }|j dr(djtjd?tjd?d@|j d}|j|gS|jSd S)zReturn the list of libraries to link against when building a shared extension. On most platforms, this is just 'ext.libraries'; on Windows, we add the Python library (eg. python20.dll). rWr) MSVCCompilerz python%d%dZ_dNrYrZz python%d.%dr[)rRSHLIBSz-lrmdarwinaixraz python{}.{}{}ABIFLAGS)roryZdistutils._msvccompilerrrjrKr+ hexversionrGrhrRr|rlr{rrformat)rPrrtemplateZ pythonlibrRZextrar]rrrrsJ    zbuild_ext.get_libraries)rrr)rrr)rrr)rrr )r!r"r#)r%r&r')r(r)r*)r+r,r-)r.r/r0)r1r2r3)r4r5r6)r7Nr8)r9Nr:)r;Nr<)r=Nr>) __name__ __module__ __qualname__Z descriptionrmrnZsep_byr Z user_optionsZboolean_optionsr Z help_optionsrQrrrrrrrr contextlibcontextmanagerrrrrrrrrrrrrrr!s~        @ N     K 6   r)__doc__rrmreroZdistutils.corerZdistutils.errorsrrrrZdistutils.dep_utilrZdistutils.extensionrZdistutils.utilr rhr Zsiter rrr rrrrrs"       __pycache__/__init__.cpython-35.pyc000064400000001073147560526160013155 0ustar00 Yf@sIdZddddddddd d d d d ddddddgZdS)z\distutils.command Package containing implementation of all the standard Distutils commands.ZbuildZbuild_pyZ build_extZ build_clibZ build_scriptsZcleanZinstallZ install_libZinstall_headersZinstall_scriptsZ install_dataZsdistregisterZbdistZ bdist_dumbZ bdist_rpmZ bdist_wininstZcheckZuploadN)__doc____all__rr?/opt/alt/python35/lib64/python3.5/distutils/command/__init__.pys&__pycache__/install_egg_info.cpython-35.opt-1.pyc000064400000006156147560526160015667 0ustar00 Yf" @sdZddlmZddlmZmZddlZddlZddlZGdddeZ ddZ d d Z d d Z dS) zdistutils.command.install_egg_info Implements the Distutils 'install_egg_info' command, for installing a package's PKG-INFO metadata.)Command)logdir_utilNc@sUeZdZdZdZdgZddZdd Zd d Zd d Z dS)install_egg_infoz)Install an .egg-info file for the packagez8Install package's PKG-INFO metadata as an .egg-info file install-dir=ddirectory to install tocCs d|_dS)N) install_dir)selfr G/opt/alt/python35/lib64/python3.5/distutils/command/install_egg_info.pyinitialize_optionssz#install_egg_info.initialize_optionscCs|jdddtt|jjtt|jjtjddf}t j j |j ||_ |j g|_dS)NZ install_libr z%s-%s-py%s.egg-info)r r )Zset_undefined_options to_filename safe_name distributionZget_name safe_versionZ get_versionsysversionospathjoinr targetoutputs)r basenamer r r finalize_optionssz!install_egg_info.finalize_optionsc Cs|j}tjj|rGtjj| rGtj|d|jnmtjj|r||j tj |jfd|n8tjj|j s|j tj |j fd|j t jd||jst|ddd}|jjj|WdQRXdS)Ndry_runz Removing z Creating z Writing %swencodingzUTF-8)rrrisdirislinkrZ remove_treerexistsZexecuteunlinkr makedirsrinfoopenrZmetadataZwrite_pkg_file)r rfr r r run s %# zinstall_egg_info.runcCs|jS)N)r)r r r r get_outputs.szinstall_egg_info.get_outputsN)rrr) __name__ __module__ __qualname____doc__Z descriptionZ user_optionsr rr'r(r r r r r s    rcCstjdd|S)zConvert an arbitrary string to a standard distribution name Any runs of non-alphanumeric/. characters are replaced with a single '-'. z[^A-Za-z0-9.]+-)resub)namer r r r6srcCs%|jdd}tjdd|S)zConvert an arbitrary string to a standard version string Spaces become dots, and all other non-alphanumeric characters become dashes, with runs of multiple dashes condensed to a single dash.  .z[^A-Za-z0-9.]+r-)replacer.r/)rr r r r>srcCs|jddS)z|Convert a project or version name to its filename-escaped form Any '-' characters are currently replaced with '_'. r-_)r3)r0r r r rHsr) r,Z distutils.cmdrZ distutilsrrrrr.rrrrr r r r s$+  __pycache__/clean.cpython-35.opt-2.pyc000064400000004263147560526160013444 0ustar00 ] @sVddlZddlmZddlmZddlmZGdddeZdS)N)Command) remove_tree)logc@s[eZdZdZddddddgZdgZddZddZddZdS)cleanz-clean up temporary files from 'build' command build-base=b2base build directory (default: 'build.build-base') build-lib=N}tjj|rt|d|jqctj d|qcW|jsy'tj |jtjd|jWntk rYnXdS)Ndry_runz%'%s' does not exist -- can't clean itz removing '%s')ospathexistsrrrrdebugrrrrwarnrmdirrinfoOSError)rZ directoryrrrrun1s$        z clean.run)rrr)r Nr )r r r )rNr)rNr)rrr) __name__ __module__ __qualname__ descriptionZ user_optionsZboolean_optionsrrr(rrrrr s"     r)r Zdistutils.corerZdistutils.dir_utilrZ distutilsrrrrrrs __pycache__/check.cpython-35.opt-2.pyc000064400000011021147560526160013425 0ustar00 ]x @sddlmZddlmZypddlmZddlmZddlm Z ddlm Z ddl m Z Gdd d eZ d ZWnek rd ZYnXGd d d eZdS))Command)DistutilsSetupError)Reporter)Parser)frontend)nodes)StringIOc@s4eZdZddddddZddZdS) SilentReporterNrasciireplacec Cs/g|_tj||||||||dS)N)messagesr__init__)selfsource report_level halt_levelstreamdebugencoding error_handlerr*/opt/alt/python35/lib64/python3.5/check.pyr s zSilentReporter.__init__cOsB|jj||||ftj||d|d|j||S)Nleveltype)r appendrsystem_messageZlevels)rrmessageZchildrenkwargsrrrrs zSilentReporter.system_message)__name__ __module__ __qualname__r rrrrrr s r TFc@seZdZdZdddgZdddgZd d Zd dZddZddZ ddZ ddZ ddZ dS)checkz"perform some checks on the packagemetadatamVerify meta-datarestructuredtextrEChecks if long string meta-data syntax are reStructuredText-compliantstricts(Will exit with an error if a check failscCs(d|_d|_d|_d|_dS)Nr)r%r"r( _warnings)rrrrinitialize_options1s   zcheck.initialize_optionscCsdS)Nr)rrrrfinalize_options8szcheck.finalize_optionscCs|jd7_tj||S)Nr+)r,rwarn)rmsgrrrr/;sz check.warncCsl|jr|j|jrDtr/|jn|jrDtd|jrh|jdkrhtddS)NzThe docutils package is needed.rzPlease correct your package.)r"check_metadatar% HAS_DOCUTILScheck_restructuredtextr(rr,)rrrrrun@s      z check.runcCs|jj}g}x9d D]1}t||o:t||s|j|qW|rn|jddj||jr|js|jddn;|j r|j s|jdd n|jd d d dS)Nnameversionurlzmissing required meta-data: %sz, z)missing meta-data: if 'author' supplied, z#'author_email' must be supplied tooz-missing meta-data: if 'maintainer' supplied, z''maintainer_email' must be supplied tooz4missing meta-data: either (author and author_email) z%or (maintainer and maintainer_email) zmust be supplied)r5r6r7) distributionr"hasattrgetattrrr/joinZauthorZ author_emailZ maintainerZmaintainer_email)rr"missingattrrrrr1Ps$          zcheck.check_metadatacCsz|jj}xd|j|D]S}|djd}|dkrQ|d}nd|d|f}|j|qWdS)Nr+linez %s (line %s))r8Zget_long_description_check_rst_datagetr/)rdatawarningr>rrrr3ns  zcheck.check_restructuredtextcCst}t}tjdtfj}d|_d|_d|_t||j |j d|j d|j d|j d|j}tj||d|}|j|d y|j||WnEtk r}z%|jjd d |d ifWYdd}~XnX|jS) NZ componentsrrrrrr+z!Could not finish the parsing: %s.r?r?)rrrZ OptionParserZget_default_valuesZ tab_widthZpep_referencesZrfc_referencesr rrZwarning_streamrZerror_encodingZerror_encoding_error_handlerrdocumentZ note_sourceparseAttributeErrorr r)rrB source_pathparserZsettingsZreporterrFerrrr@ys*           *zcheck._check_rst_dataN)r"r#r$)r%r&r')r(r)r*) rrr descriptionZ user_optionsZboolean_optionsr-r.r/r4r1r3r@rrrrr!$s        r!N)Zdistutils.corerZdistutils.errorsrZdocutils.utilsrZdocutils.parsers.rstrZdocutilsrriorr r2 Exceptionr!rrrrs   __pycache__/install_scripts.cpython-35.opt-1.pyc000064400000004443147560526160015576 0ustar00 Yf@s\dZddlZddlmZddlmZddlmZGdddeZdS)zudistutils.command.install_scripts Implements the Distutils 'install_scripts' command, for installing Python scripts.N)Command)log)ST_MODEc@speZdZdZddddgZdd gZddZddZddZddZ ddZ d S)install_scriptsz%install scripts (Python or otherwise) install-dir=ddirectory to install scripts to build-dir=b'build directory (where to install from)forcef-force installation (overwrite existing files) skip-buildNskip the build stepscCs(d|_d|_d|_d|_dS)Nr) install_dirr build_dir skip_build)selfrF/opt/alt/python35/lib64/python3.5/distutils/command/install_scripts.pyinitialize_optionss   z"install_scripts.initialize_optionscCs*|jdd |jdd d d dS) NZbuild build_scriptsrZinstallrrr r)rr)rr)r r )rr)Zset_undefined_options)rrrrfinalize_options!s  z install_scripts.finalize_optionscCs|js|jd|j|j|j|_tjdkrxn|jD]`}|j rot j d|qMtj |t dBd@}t j d||tj||qMWdS)Nrposixzchanging mode of %simizchanging mode of %s to %o)rZ run_commandZ copy_treerroutfilesosname get_outputsZdry_runrinfostatrchmod)rfilemoderrrrun)s   zinstall_scripts.runcCs|jjpgS)N)Z distributionscripts)rrrr get_inputs8szinstall_scripts.get_inputscCs |jp gS)N)r)rrrrr;szinstall_scripts.get_outputs)rrr)r r r )r r r)rNr) __name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsrrr$r&rrrrrrs       r) __doc__rZdistutils.corerZ distutilsrr rrrrrrs  __pycache__/__init__.cpython-35.opt-2.pyc000064400000000672147560526160014121 0ustar00 ]@sCdddddddddd d d d d dddddgZdS)ZbuildZbuild_pyZ build_extZ build_clibZ build_scriptsZcleaninstallZ install_libZinstall_headersZinstall_scriptsZ install_dataZsdistregisterZbdistZ bdist_dumbZ bdist_rpmZ bdist_wininstcheckZuploadN)__all__rr-/opt/alt/python35/lib64/python3.5/__init__.pys$__pycache__/build_py.cpython-35.opt-2.pyc000064400000023641147560526160014172 0ustar00 ] C@sddlZddlZddlZddlmZddlmZddlTddlm Z m Z ddl m Z GdddeZ Gd d d e e ZdS) N)glob)Command)*) convert_path Mixin2to3)logc@s*eZdZdZd8d9d:d;d<gZddgZddiZddZddZddZ ddZ ddZ ddZ ddZ dd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.d/Zd0d1Zd2d3Zd4d5Zd6d7Zd S)=build_pyz5"build" pure Python modules (copy to build directory) build-lib=ddirectory to "build" (copy) tocompileccompile .py to .pyc no-compileN!don't compile .py files [default] optimize=Olalso compile with optimization: -O1 for "python -O", -O2 for "python -OO", and -O0 to disable [default: -O0]forcef2forcibly build everything (ignore file timestamps)cCsLd|_d|_d|_d|_d|_d|_d|_d|_dS)Nr) build_lib py_modulespackage package_data package_dirr optimizer)selfr-/opt/alt/python35/lib64/python3.5/build_py.pyinitialize_options s       zbuild_py.initialize_optionsc Cs|jddd|jj|_|jj|_|jj|_i|_|jjrx3|jjjD]\}}t||j|ts z+build_py.get_data_files..) r"get_package_dirosr+joinrsplitlenfind_data_filesappend)rdatarsrc_dir build_dir filenamesr)r8rr$as %%zbuild_py.get_data_filescs|jjdg|jj|g}gxO|D]G}ttjj|t|}jfdd|Dq5WS)Ncs4g|]*}|krtjj|r|qSr)r;r+isfile)r6fn)filesrrr9s z,build_py.find_data_files..)rgetrr;r+r<rextend)rrrBZglobspatternZfilelistr)rHrr?ys !$zbuild_py.find_data_filescCsd}x|jD]v\}}}}xa|D]Y}tjj||}|jtjj||jtjj|||ddq)WqWdS)N preserve_modeF)r%r;r+r<mkpathdirname copy_file)rZlastdirrrBrCrDfilenametargetrrrr0s zbuild_py.build_package_datac Cs|jd}|js5|r.tjj|SdSng}x|ry|jdj|}Wn-tk r|jd|d|d=Yq>X|jd|tjj|Sq>W|jjd}|dk r|jd||rtjj|SdSdS)Nr4rErr5rR)r=rr;r+r<KeyErrorinsertrI)rrr+tailZpdirrrrr:s(      zbuild_py.get_package_dircCs|dkrPtjj|s.td|tjj|sPtd||rtjj|d}tjj|r|Stjdd|dS)NrEz%package directory '%s' does not existz>supposed package directory '%s' exists, but is not a directoryz __init__.pyz!package init file '%s' not found z(or not a regular file)) r;r+existsZDistutilsFileErrorisdirr<rFrwarn)rrrinit_pyrrr check_packages     zbuild_py.check_packagecCs1tjj|s)tjd||dSdSdS)Nz!file %s (for module %s) not foundFT)r;r+rFrrX)rmodule module_filerrr check_moduleszbuild_py.check_modulec Cs|j||ttjj|d}g}tjj|jj}xx|D]p}tjj|}||krtjjtjj |d}|j |||fqP|j d|qPW|S)Nz*.pyrz excluding %s) rZrr;r+r<abspathr!Z script_namesplitextbasenamer@Z debug_print) rrrZ module_filesmodulesZ setup_scriptrZabs_fr[rrrfind_package_moduless  "zbuild_py.find_package_modulesc Csi}g}x |jD]}|jd}dj|dd}|d}y||\}}Wn'tk r|j|}d}YnX|s|j||} |df||<| r|j|d| ftjj||d} |j || sq|j||| fqW|S)Nr4rr5__init__z.pyrRrR) rr=r<rSr:rZr@r;r+r]) rr"rar[r+rZ module_baserZcheckedrYr\rrr find_moduless*   zbuild_py.find_modulescCsqg}|jr"|j|j|jrmx?|jD]4}|j|}|j||}|j|q5W|S)N)rrJrdr"r:rb)rrarrmrrrfind_all_moduless  zbuild_py.find_all_modulescCsdd|jDS)NcSsg|]}|dqS)r5rRr)r6r[rrrr9-s z-build_py.get_source_files..)rf)rrrrget_source_files,szbuild_py.get_source_filescCs.|gt||dg}tjj|S)Nz.py)listr;r+r<)rrCrr[Z outfile_pathrrrget_module_outfile/szbuild_py.get_module_outfiler5cCs|j}g}x|D]\}}}|jd}|j|j||}|j||r|jr|jtjj|dd|j dkr|jtjj|d|j qW|dd|j D7}|S)Nr4 optimizationrErcSs>g|]4\}}}}|D]}tjj||qqSr)r;r+r<)r6rrBrCrDrPrrrr9Cs z(build_py.get_outputs..) rfr=rirr@r importlibutilcache_from_sourcerr%)rr-raZoutputsrr[r\rPrrrr23s"    zbuild_py.get_outputscCst|tr!|jd}n!t|ttfsBtd|j|j||}tj j |}|j ||j ||ddS)Nr4z:'package' must be a string (dot-separated), list, or tuplerLr) r&strr=rhtuple TypeErrorrirr;r+rNrMrO)rr[r\rZoutfiledirrrr build_moduleJs  zbuild_py.build_modulecCs=|j}x*|D]"\}}}|j|||qWdS)N)rdrr)rrarr[r\rrrr.Ys zbuild_py.build_modulescCsfx_|jD]T}|j|}|j||}x*|D]"\}}}|j|||q8Wq WdS)N)r"r:rbrr)rrrraZpackage_r[r\rrrr/bs  zbuild_py.build_packagesc Cstjr|jddSddlm}|j}|d tjkrS|tj}|jr||ddd|j d|d|j |j dkr||d|j d|j d|d|j dS) Nz%byte-compiling is disabled, skipping.r)r1r5rrprefixdry_runrR) sysdont_write_bytecoderXdistutils.utilr1rr;sepr rrtr)rrHr1rsrrrr1vs     zbuild_py.byte_compile)r r r )r r r)rNr)rrr)rrr)__name__ __module__ __qualname__ descriptionZ user_optionsZboolean_optionsZ negative_optr r,r3r$r?r0r:rZr]rbrdrfrgrir2rrr.r/r1rrrrrs8        '    4     rc@s(eZdZddZddZdS) build_py_2to3cCsfg|_|jr|j|jr9|j|j|j|j|j|jdddS)Nr-r) updated_filesrr.r"r/r0Zrun_2to3r1r2)rrrrr3s      zbuild_py_2to3.runcCs:tj||||}|dr6|jj|d|S)Nr5r)rrrr~r@)rr[r\rresrrrrrs zbuild_py_2to3.build_moduleN)ryrzr{r3rrrrrrr}s  r})r;importlib.utilrkrurZdistutils.corerZdistutils.errorsrwrrZ distutilsrrr}rrrrs    |__pycache__/install_lib.cpython-35.opt-1.pyc000064400000012737147560526160014662 0ustar00 Yf @sjdZddlZddlZddlZddlmZddlmZdZ GdddeZ dS)zkdistutils.command.install_lib Implements the Distutils 'install_lib' command (install all Python modules).N)Command)DistutilsOptionErrorz.pyc @seZdZdZd*d+d,d-d.d/d0gZdd dgZdd iZddZddZddZ ddZ ddZ d d!Z d"d#Z d$d%Zd&d'Zd(d)ZdS)1 install_libz7install all Python modules (extensions and pure Python) install-dir=ddirectory to install to build-dir=b'build directory (where to install from)forcef-force installation (overwrite existing files)compileccompile .py to .pyc [default] no-compileNdon't compile .py files optimize=Olalso compile with optimization: -O1 for "python -O", -O2 for "python -OO", and -O0 to disable [default: -O0] skip-buildskip the build stepscCs:d|_d|_d|_d|_d|_d|_dS)Nr) install_dir build_dirr roptimize skip_build)selfrB/opt/alt/python35/lib64/python3.5/distutils/command/install_lib.pyinitialize_options3s      zinstall_lib.initialize_optionsc Cs|jddddddd|jdkr7d |_|jdkrOd |_t|jtsy+t|j|_|jdkrtWn$ttfk rtdYnXdS)Ninstall build_librrrr rrrTFrzoptimize must be 0, 1, or 2)r!r)rr)r r )rr)rr)rr)rr"r#)Zset_undefined_optionsrr isinstanceintAssertionError ValueErrorr)rrrrfinalize_options<s$    zinstall_lib.finalize_optionscCsB|j|j}|dk r>|jjr>|j|dS)N)buildr distributionhas_pure_modules byte_compile)routfilesrrrrunVs  zinstall_lib.runcCsE|jsA|jjr%|jd|jjrA|jddS)Nbuild_py build_ext)rr*r+Z run_commandhas_ext_modules)rrrrr)fs   zinstall_lib.buildcCsLtjj|jr0|j|j|j}n|jd|jdS|S)Nz3'%s' does not exist -- no Python modules to install)ospathisdirrZ copy_treerwarn)rr-rrrr ms   zinstall_lib.installc Cstjr|jddSddlm}|jdj}|jrm||ddd|jd|d|j |j dkr||d|j d|jd|d |j d|j dS) Nz%byte-compiling is disabled, skipping.r)r,r rr prefixdry_runverbose) sysdont_write_bytecoder5Zdistutils.utilr,get_finalized_commandrootrr r7rr8)rfilesr,Z install_rootrrrr,vs    zinstall_lib.byte_compilec Cs|s gS|j|}|j}t||}t|ttj}g}x4|D],} |jtjj|| |dqZW|S)N) r; get_outputsgetattrlenr2sepappendr3join) rZhas_anyZ build_cmdZ cmd_optionZ output_dirZ build_filesrZ prefix_lenZoutputsfilerrr_mutate_outputss  *zinstall_lib._mutate_outputscCsg}x|D]}tjjtjj|d}|tkrDq |jrl|jtjj |dd|j dkr |jtjj |d|j q W|S)Nr" optimizationr) r2r3splitextnormcasePYTHON_SOURCE_EXTENSIONrrB importlibutilcache_from_sourcer)rZ py_filenamesZbytecode_filesZpy_fileZextrrr_bytecode_filenamess "  zinstall_lib._bytecode_filenamescCsu|j|jjdd|j}|jr?|j|}ng}|j|jjdd|j}|||S)zReturn the list of files that would be installed if this command were actually run. Not affected by the "dry-run" flag or whether modules have actually been built yet. r/r!r0)rEr*r+rrrNr1)rZ pure_outputsZbytecode_outputsZ ext_outputsrrrr>s   zinstall_lib.get_outputscCslg}|jjr7|jd}|j|j|jjrh|jd}|j|j|S)zGet the list of files that are input to this command, ie. the files that get installed as they are named in the build tree. The files in this list correspond one-to-one to the output filenames returned by 'get_outputs()'. r/r0)r*r+r;extendr>r1)rZinputsr/r0rrr get_inputsszinstall_lib.get_inputs)rrr)rr r )r r r )rrr)rNr)rrr)rNr)__name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsZ negative_optrr(r.r)r r,rErNr>rPrrrrrs*          r) __doc__r2importlib.utilrKr9Zdistutils.corerZdistutils.errorsrrJrrrrrs   __pycache__/sdist.cpython-35.opt-2.pyc000064400000025243147560526160013511 0ustar00 ]-G@sddlZddlZddlZddlTddlmZddlmZddlmZddl m Z m Z m Z m Z ddlmZddlTddlmZdd l mZdd lmZd d ZGd ddeZdS)N)*)glob)warn)Command)dir_utildep_util file_util archive_util)TextFile)FileList)log) convert_pathcCsddlm}ddlm}g}x6|jD](}|jd|d||dfq3W|j||jddS)Nr) FancyGetopt)ARCHIVE_FORMATSzformats=z.List of available source distribution formats:)Zdistutils.fancy_getoptrZdistutils.archive_utilrkeysappendsort print_help)rrformatsformatr*/opt/alt/python35/lib64/python3.5/sdist.py show_formatss  rc@sgeZdZdZddZdMdNdOdPdQdRdSdTdUddddfdVdWdXdYgZd ddddd"gZd*d d+efgZd d ddiZ d,d-d.d/iZ d0efgZ d1d2Z d3d4Z d5d6Zd7d8Zd9d:Zd;d<Zd=d>Zd?d@ZdAdBZdCdDZdEdFZdGdHZdIdJZdKdLZd S)Zsdistz6create a source distribution (tarball, zip file, etc.)cCs|jS)N)metadata_check)selfrrrchecking_metadata&szsdist.checking_metadata template=t5name of manifest template file [default: MANIFEST.in] manifest=m)name of manifest file [default: MANIFEST] use-defaultsNRinclude the default file set in the manifest [default; disable with --no-defaults] no-defaults"don't include the default file setprunespecifically exclude files/directories that should not be distributed (build tree, RCS/CVS dirs, etc.) [default; disable with --no-prune]no-prune$don't automatically exclude anything manifest-onlyoEjust regenerate the manifest and then stop (implies --force-manifest)force-manifestfkforcibly regenerate the manifest and carry on as usual. Deprecated: now the manifest is always regenerated.formats=6formats for source distribution (comma-separated list)z keep-tempkz1keep the distribution tree around after creating zarchive file(s) dist-dir=dFdirectory to put the source distribution archive(s) in [default: dist]metadata-check[Ensure that all required elements of meta-data are supplied. Warn if any missing. [default]owner=u@Owner name used when creating a tar file [default: current user]group=gAGroup name used when creating a tar file [default: current group]z help-formatsz#list available distribution formatsposixgztarntzipcheckcCsyd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ d|_ dS)Nr) templatemanifest use_defaultsr( manifest_onlyZforce_manifestr keep_tempdist_dir archive_filesrownergroup)rrrrinitialize_optionsds            zsdist.initialize_optionsc Cs|jdkrd|_|jdkr0d|_|jd|jdkry|jtjg|_Wn%tk rtdtjYnXt j |j}|rt d||j dkrd|_ dS)NZMANIFESTz MANIFEST.inrzr?)__name__ __module__ __qualname__ descriptionrZ user_optionsZboolean_optionsrZ help_optionsZ negative_optrPZ sub_commandsrOrTrXr[rVrarbrcrdr^r_rrWrrrrrr"sn           ( P     * r)rQstringrtypesrwarningsrZdistutils.corerZ distutilsrrrr Zdistutils.text_filer Zdistutils.errorsZdistutils.filelistr r Zdistutils.utilr rrrrrrs    "  __pycache__/build_scripts.cpython-35.pyc000064400000011120147560526160014256 0ustar00 YfW@sdZddlZddlZddlmZddlmZddlmZddl m Z ddl m Z m Z ddlmZddlZejd ZGd d d eZGd d d ee ZdS)zRdistutils.command.build_scripts Implements the Distutils 'build_scripts' command.N)ST_MODE) sysconfig)Command)newer) convert_path Mixin2to3)logs^#!.*python[0-9.]*([ ].*)?$c@sjeZdZdZdddgZdgZd d Zd dZddZddZ ddZ dS) build_scriptsz("build" scripts (copy and fixup #! line) build-dir=ddirectory to "build" (copy) toforcef1forcibly build everything (ignore file timestamps executable=e*specify final destination interpreter pathcCs1d|_d|_d|_d|_d|_dS)N) build_dirscriptsr executableoutfiles)selfrD/opt/alt/python35/lib64/python3.5/distutils/command/build_scripts.pyinitialize_optionss     z build_scripts.initialize_optionscCs)|jdddd|jj|_dS) NZbuildr rr r)r r)r r )rr)Zset_undefined_optionsZ distributionr)rrrrfinalize_options%s  zbuild_scripts.finalize_optionscCs|jS)N)r)rrrrget_source_files,szbuild_scripts.get_source_filescCs|js dS|jdS)N)r copy_scripts)rrrrrun/s zbuild_scripts.runc"Cs|j|jg}g}x|jD]}d}t|}tjj|jtjj|}|j||j rt || rt j d|q&yt |d}Wn$tk r|jsd}Yn|Xtj|j\}}|jd|j} | s!|jd|q&tj| } | rQd}| jdpNd } |rt jd ||j|j||jstjs|j} n:tjjtjd d tjd tjdf} tj| } d| | d} y| jdWn'tk r-t dj!| YnXy| j|Wn*tk rkt dj!| |YnXt |d'}|j"| |j#|j$WdQRX|r|j%q&|r|j%|j||j&||q&Wtj'dkr|x|D]y}|jr!t jd|qtj(|t)d@}|dBd@}||krt jd|||tj*||qW||fS)a"Copy each script listed in 'self.scripts'; if it's marked as a Python script in the Unix way (first line matches 'first_line_re', ie. starts with "\#!" and contains "python"), then adjust the first line to refer to the current Python interpreter as we copy. Fznot copying %s (up-to-date)rbNrz%s is an empty file (skipping)Tzcopying and adjusting %s -> %sBINDIRz python%s%sVERSIONEXEs#!s zutf-8z.The shebang ({!r}) is not decodable from utf-8zAThe shebang ({!r}) is not decodable from the script encoding ({})wbposixzchanging mode of %siimz!changing mode of %s from %o to %o)+Zmkpathrrrospathjoinbasenameappendr rrdebugopenOSErrordry_runtokenizedetect_encodingreadlineseekwarn first_line_rematchgroupinforZ python_buildrget_config_varfsencodedecodeUnicodeDecodeError ValueErrorformatwrite writelines readlinescloseZ copy_filenamestatrchmod)rr updated_filesZscriptZadjustZoutfilerencodinglinesZ first_liner6Z post_interprZshebangZoutffileZoldmodeZnewmoderrrr5s $                         zbuild_scripts.copy_scriptsN)r r r )r rr)rrr) __name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsrrrrrrrrrr s       r c@seZdZddZdS)build_scripts_2to3cCs5tj|\}}|js+|j|||fS)N)r rr/Zrun_2to3)rrrFrrrrs  zbuild_scripts_2to3.copy_scriptsN)rJrKrLrrrrrrMs rM)__doc__r'rerDrZ distutilsrZdistutils.corerZdistutils.dep_utilrZdistutils.utilrrrr0compiler5r rMrrrrs __pycache__/__init__.cpython-35.opt-1.pyc000064400000001073147560526160014114 0ustar00 Yf@sIdZddddddddd d d d d ddddddgZdS)z\distutils.command Package containing implementation of all the standard Distutils commands.ZbuildZbuild_pyZ build_extZ build_clibZ build_scriptsZcleanZinstallZ install_libZinstall_headersZinstall_scriptsZ install_dataZsdistregisterZbdistZ bdist_dumbZ bdist_rpmZ bdist_wininstZcheckZuploadN)__doc____all__rr?/opt/alt/python35/lib64/python3.5/distutils/command/__init__.pys&__pycache__/install_lib.cpython-35.pyc000064400000012737147560526160013723 0ustar00 Yf @sjdZddlZddlZddlZddlmZddlmZdZ GdddeZ dS)zkdistutils.command.install_lib Implements the Distutils 'install_lib' command (install all Python modules).N)Command)DistutilsOptionErrorz.pyc @seZdZdZd*d+d,d-d.d/d0gZdd dgZdd iZddZddZddZ ddZ ddZ d d!Z d"d#Z d$d%Zd&d'Zd(d)ZdS)1 install_libz7install all Python modules (extensions and pure Python) install-dir=ddirectory to install to build-dir=b'build directory (where to install from)forcef-force installation (overwrite existing files)compileccompile .py to .pyc [default] no-compileNdon't compile .py files optimize=Olalso compile with optimization: -O1 for "python -O", -O2 for "python -OO", and -O0 to disable [default: -O0] skip-buildskip the build stepscCs:d|_d|_d|_d|_d|_d|_dS)Nr) install_dir build_dirr roptimize skip_build)selfrB/opt/alt/python35/lib64/python3.5/distutils/command/install_lib.pyinitialize_options3s      zinstall_lib.initialize_optionsc Cs|jddddddd|jdkr7d |_|jdkrOd |_t|jtsy+t|j|_|jdkrtWn$ttfk rtdYnXdS)Ninstall build_librrrr rrrTFrzoptimize must be 0, 1, or 2)r!r)rr)r r )rr)rr)rr)rr"r#)Zset_undefined_optionsrr isinstanceintAssertionError ValueErrorr)rrrrfinalize_options<s$    zinstall_lib.finalize_optionscCsB|j|j}|dk r>|jjr>|j|dS)N)buildr distributionhas_pure_modules byte_compile)routfilesrrrrunVs  zinstall_lib.runcCsE|jsA|jjr%|jd|jjrA|jddS)Nbuild_py build_ext)rr*r+Z run_commandhas_ext_modules)rrrrr)fs   zinstall_lib.buildcCsLtjj|jr0|j|j|j}n|jd|jdS|S)Nz3'%s' does not exist -- no Python modules to install)ospathisdirrZ copy_treerwarn)rr-rrrr ms   zinstall_lib.installc Cstjr|jddSddlm}|jdj}|jrm||ddd|jd|d|j |j dkr||d|j d|jd|d |j d|j dS) Nz%byte-compiling is disabled, skipping.r)r,r rr prefixdry_runverbose) sysdont_write_bytecoder5Zdistutils.utilr,get_finalized_commandrootrr r7rr8)rfilesr,Z install_rootrrrr,vs    zinstall_lib.byte_compilec Cs|s gS|j|}|j}t||}t|ttj}g}x4|D],} |jtjj|| |dqZW|S)N) r; get_outputsgetattrlenr2sepappendr3join) rZhas_anyZ build_cmdZ cmd_optionZ output_dirZ build_filesrZ prefix_lenZoutputsfilerrr_mutate_outputss  *zinstall_lib._mutate_outputscCsg}x|D]}tjjtjj|d}|tkrDq |jrl|jtjj |dd|j dkr |jtjj |d|j q W|S)Nr" optimizationr) r2r3splitextnormcasePYTHON_SOURCE_EXTENSIONrrB importlibutilcache_from_sourcer)rZ py_filenamesZbytecode_filesZpy_fileZextrrr_bytecode_filenamess "  zinstall_lib._bytecode_filenamescCsu|j|jjdd|j}|jr?|j|}ng}|j|jjdd|j}|||S)zReturn the list of files that would be installed if this command were actually run. Not affected by the "dry-run" flag or whether modules have actually been built yet. r/r!r0)rEr*r+rrrNr1)rZ pure_outputsZbytecode_outputsZ ext_outputsrrrr>s   zinstall_lib.get_outputscCslg}|jjr7|jd}|j|j|jjrh|jd}|j|j|S)zGet the list of files that are input to this command, ie. the files that get installed as they are named in the build tree. The files in this list correspond one-to-one to the output filenames returned by 'get_outputs()'. r/r0)r*r+r;extendr>r1)rZinputsr/r0rrr get_inputsszinstall_lib.get_inputs)rrr)rr r )r r r )rrr)rNr)rrr)rNr)__name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsZ negative_optrr(r.r)r r,rErNr>rPrrrrrs*          r) __doc__r2importlib.utilrKr9Zdistutils.corerZdistutils.errorsrrJrrrrrs   __pycache__/bdist_dumb.cpython-35.opt-2.pyc000064400000007215147560526160014476 0ustar00 ]1@sddlZddlmZddlmZddlmZmZddlTddl m Z ddl m Z Gdd d eZ dS) N)Command) get_platform) remove_treeensure_relative)*)get_python_version)logc @seZdZdZd&dddefd'd d d dfd(d)d*d+d,g Zd ddgZddddiZd d!Zd"d#Z d$d%Z dS)- bdist_dumbz"create a "dumb" built distribution bdist-dir=d1temporary directory for creating the distributionz plat-name=pz;platform name to embed in generated filenames (default: %s)format=f>archive format to create (tar, gztar, bztar, xztar, ztar, zip)z keep-tempkz/keep the pseudo-installation tree around after z!creating the distribution archive dist-dir=-directory to put final built distributions in skip-buildN2skip rebuilding everything (for testing/debugging)relative6build the archive using relative paths(default: false)owner=u@Owner name used when creating a tar file [default: current user]group=gAGroup name used when creating a tar file [default: current group]posixgztarntzipcCsUd|_d|_d|_d|_d|_d|_d|_d|_d|_dS)Nr) bdist_dir plat_nameformat keep_tempdist_dir skip_buildrownergroup)selfr+//opt/alt/python35/lib64/python3.5/bdist_dumb.pyinitialize_options2s        zbdist_dumb.initialize_optionscCs|jdkr9|jdj}tjj|d|_|jdkry|jtj|_Wn%t k rt dtjYnX|j dddd dS) NZbdistZdumbz@don't know how to create dumb built distributions on platform %sr&r#r')r&r&)r#r#)r'r') r"Zget_finalized_command bdist_baseospathjoinr$default_formatnameKeyErrorDistutilsPlatformErrorZset_undefined_options)r*r.r+r+r,finalize_options=s  zbdist_dumb.finalize_optionsc Cs|js|jd|jddd}|j|_|j|_d|_tjd|j|jdd|jj |j f}t j j |j|}|js|j}nm|jjr|j|jkrtdt|jt|jfn!t j j |jt|j}|j||jd |d |jd |j}|jjrkt}nd }|jjjd ||f|jst|jd|jdS)NZbuildinstallZreinit_subcommandsrzinstalling to %sz%s.%szScan't make a dumb built distribution where base and platbase are different (%s, %s)root_dirr(r)anyr dry_run) r'Z run_commandZreinitialize_commandr"rootZwarn_dirrinfoZ distributionZ get_fullnamer#r/r0r1r&rZhas_ext_modulesZ install_baseZinstall_platbaser5reprr make_archiver$r(r)rZ dist_filesappendr%rr;)r*r7Zarchive_basenameZpseudoinstall_rootZ archive_rootfilenameZ pyversionr+r+r,runOs>              zbdist_dumb.run)r r r )rrr)rr r)rNr)rNr)rrr)rrr) __name__ __module__ __qualname__ descriptionrZ user_optionsZboolean_optionsr2r-r6rBr+r+r+r,r s6     r )r/Zdistutils.corerZdistutils.utilrZdistutils.dir_utilrrZdistutils.errorsZdistutils.sysconfigrZ distutilsrr r+r+r+r,s  __pycache__/register.cpython-35.opt-1.pyc000064400000021751147560526160014206 0ustar00 Yf-@sdZddlZddlZddlZddlZddlZddlZddlm Z ddl m Z ddl Tddl mZGddde ZdS) zhdistutils.command.register Implements the Distutils 'register' command (register with the repository). N)warn) PyPIRCCommand)*)logc@seZdZdZejdd gZejdddgZdd d fgZd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZdddZdS)!registerz7register the distribution with the Python package indexlist-classifiersN list the valid Trove classifiersstrictBWill stop the registering if the meta-data are not fully compliantverifycheckcCsdS)NT)selfr r ?/opt/alt/python35/lib64/python3.5/distutils/command/register.pyszregister.cCs#tj|d|_d|_dS)Nr)rinitialize_optionslist_classifiersr )rr r rrs  zregister.initialize_optionscCs<tj|dd|jfddi}||jjds$  __pycache__/check.cpython-35.pyc000064400000012137147560526160012476 0ustar00 Yfx @sdZddlmZddlmZypddlmZddlmZddl m Z ddl m Z ddl m Z Gd d d eZd ZWnek rd ZYnXGd ddeZdS)zCdistutils.command.check Implements the Distutils 'check' command. )Command)DistutilsSetupError)Reporter)Parser)frontend)nodes)StringIOc@s4eZdZddddddZddZdS) SilentReporterNrasciireplacec Cs/g|_tj||||||||dS)N)messagesr__init__)selfsource report_level halt_levelstreamdebugencoding error_handlerrr>)rrrZ OptionParserZget_default_valuesZ tab_widthZpep_referencesZrfc_referencesr rrZwarning_streamrZerror_encodingZerror_encoding_error_handlerrdocumentZ note_sourceparseAttributeErrorr r)rrA source_pathparserZsettingsZreporterrDerrrr?ys*           *zcheck._check_rst_dataN)r"r#r$)r%r&r')r(r)r*)rrr __doc__Z descriptionZ user_optionsZboolean_optionsr-r.r/r4r1r3r?rrrrr!$s        r!N)rJZdistutils.corerZdistutils.errorsrZdocutils.utilsrZdocutils.parsers.rstrZdocutilsrriorr r2 Exceptionr!rrrrs   __pycache__/install_data.cpython-35.pyc000064400000004732147560526160014062 0ustar00 Yf @sRdZddlZddlmZddlmZmZGdddeZdS)zdistutils.command.install_data Implements the Distutils 'install_data' command, for installing platform-independent data files.N)Command) change_root convert_pathc@sjeZdZdZdddgZdgZd d Zd dZddZddZ ddZ dS) install_datazinstall data files install-dir=dIbase directory for installing data files (default: installation base dir)root=Ns __pycache__/build_py.cpython-35.opt-1.pyc000064400000026156147560526160014175 0ustar00 Yf C@sdZddlZddlZddlZddlmZddlmZddlTddl m Z m Z ddl m Z Gdd d eZGd d d ee ZdS) zHdistutils.command.build_py Implements the Distutils 'build_py' command.N)glob)Command)*) convert_path Mixin2to3)logc@s*eZdZdZd8d9d:d;d<gZddgZddiZddZddZddZ ddZ ddZ ddZ ddZ dd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.d/Zd0d1Zd2d3Zd4d5Zd6d7Zd S)=build_pyz5"build" pure Python modules (copy to build directory) build-lib=ddirectory to "build" (copy) tocompileccompile .py to .pyc no-compileN!don't compile .py files [default] optimize=Olalso compile with optimization: -O1 for "python -O", -O2 for "python -OO", and -O0 to disable [default: -O0]forcef2forcibly build everything (ignore file timestamps)cCsLd|_d|_d|_d|_d|_d|_d|_d|_dS)Nr) build_lib py_modulespackage package_data package_dirr optimizer)selfr?/opt/alt/python35/lib64/python3.5/distutils/command/build_py.pyinitialize_options s       zbuild_py.initialize_optionsc Cs|jddd|jj|_|jj|_|jj|_i|_|jjrx3|jjjD]\}}t||j|ts z+build_py.get_data_files..) r"get_package_dirosr+joinrsplitlenfind_data_filesappend)rdatarsrc_dir build_dir filenamesr)r8rr$as %%zbuild_py.get_data_filescs|jjdg|jj|g}gxO|D]G}ttjj|t|}jfdd|Dq5WS)z6Return filenames for package's data files in 'src_dir'cs4g|]*}|krtjj|r|qSr)r;r+isfile)r6fn)filesrrr9s z,build_py.find_data_files..)rgetrr;r+r<rextend)rrrBZglobspatternZfilelistr)rHrr?ys !$zbuild_py.find_data_filescCsd}x|jD]v\}}}}xa|D]Y}tjj||}|jtjj||jtjj|||ddq)WqWdS)z$Copy data files into build directoryN preserve_modeF)r%r;r+r<mkpathdirname copy_file)rZlastdirrrBrCrDfilenametargetrrrr0s zbuild_py.build_package_datac Cs|jd}|js5|r.tjj|SdSng}x|ry|jdj|}Wn-tk r|jd|d|d=Yq>X|jd|tjj|Sq>W|jjd}|dk r|jd||rtjj|SdSdS)zReturn the directory, relative to the top of the source distribution, where package 'package' should be found (at least according to the 'package_dir' option, if any).r4rErr5NrR)r=rr;r+r<KeyErrorinsertrI)rrr+tailZpdirrrrr:s(      zbuild_py.get_package_dircCs|dkrPtjj|s.td|tjj|sPtd||rtjj|d}tjj|r|Stjdd|dS)NrEz%package directory '%s' does not existz>supposed package directory '%s' exists, but is not a directoryz __init__.pyz!package init file '%s' not found z(or not a regular file)) r;r+existsZDistutilsFileErrorisdirr<rFrwarn)rrrinit_pyrrr check_packages     zbuild_py.check_packagecCs1tjj|s)tjd||dSdSdS)Nz!file %s (for module %s) not foundFT)r;r+rFrrX)rmodule module_filerrr check_moduleszbuild_py.check_modulec Cs|j||ttjj|d}g}tjj|jj}xx|D]p}tjj|}||krtjjtjj |d}|j |||fqP|j d|qPW|S)Nz*.pyrz excluding %s) rZrr;r+r<abspathr!Z script_namesplitextbasenamer@Z debug_print) rrrZ module_filesmodulesZ setup_scriptrZabs_fr[rrrfind_package_moduless  "zbuild_py.find_package_modulesc Csi}g}x |jD]}|jd}dj|dd}|d}y||\}}Wn'tk r|j|}d}YnX|s|j||} |df||<| r|j|d| ftjj||d} |j || sq|j||| fqW|S)aFinds individually-specified Python modules, ie. those listed by module name in 'self.py_modules'. Returns a list of tuples (package, module_base, filename): 'package' is a tuple of the path through package-space to the module; 'module_base' is the bare (no packages, no dots) module name, and 'filename' is the path to the ".py" file (relative to the distribution root) that implements the module. r4rr5__init__z.pyrRrR) rr=r<rSr:rZr@r;r+r]) rr"rar[r+rZ module_baserZcheckedrYr\rrr find_moduless*   zbuild_py.find_modulescCsqg}|jr"|j|j|jrmx?|jD]4}|j|}|j||}|j|q5W|S)a4Compute the list of all modules that will be built, whether they are specified one-module-at-a-time ('self.py_modules') or by whole packages ('self.packages'). Return a list of tuples (package, module, module_file), just like 'find_modules()' and 'find_package_modules()' do.)rrJrdr"r:rb)rrarrmrrrfind_all_moduless  zbuild_py.find_all_modulescCsdd|jDS)NcSsg|]}|dqS)r5rRr)r6r[rrrr9-s z-build_py.get_source_files..)rf)rrrrget_source_files,szbuild_py.get_source_filescCs.|gt||dg}tjj|S)Nz.py)listr;r+r<)rrCrr[Z outfile_pathrrrget_module_outfile/szbuild_py.get_module_outfiler5cCs|j}g}x|D]\}}}|jd}|j|j||}|j||r|jr|jtjj|dd|j dkr|jtjj|d|j qW|dd|j D7}|S)Nr4 optimizationrErcSs>g|]4\}}}}|D]}tjj||qqSr)r;r+r<)r6rrBrCrDrPrrrr9Cs z(build_py.get_outputs..) rfr=rirr@r importlibutilcache_from_sourcerr%)rr-raZoutputsrr[r\rPrrrr23s"    zbuild_py.get_outputscCst|tr!|jd}n!t|ttfsBtd|j|j||}tj j |}|j ||j ||ddS)Nr4z:'package' must be a string (dot-separated), list, or tuplerLr) r&strr=rhtuple TypeErrorrirr;r+rNrMrO)rr[r\rZoutfiledirrrr build_moduleJs  zbuild_py.build_modulecCs=|j}x*|D]"\}}}|j|||qWdS)N)rdrr)rrarr[r\rrrr.Ys zbuild_py.build_modulescCsfx_|jD]T}|j|}|j||}x*|D]"\}}}|j|||q8Wq WdS)N)r"r:rbrr)rrrraZpackage_r[r\rrrr/bs  zbuild_py.build_packagesc Cstjr|jddSddlm}|j}|d tjkrS|tj}|jr||ddd|j d|d|j |j dkr||d|j d|j d|d|j dS) Nz%byte-compiling is disabled, skipping.r)r1r5rrprefixdry_runrR) sysdont_write_bytecoderXdistutils.utilr1rr;sepr rrtr)rrHr1rsrrrr1vs     zbuild_py.byte_compile)r r r )r r r)rNr)rrr)rrr)__name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsZ negative_optr r,r3r$r?r0r:rZr]rbrdrfrgrir2rrr.r/r1rrrrrs8        '    4     rc@s(eZdZddZddZdS) build_py_2to3cCsfg|_|jr|j|jr9|j|j|j|j|j|jdddS)Nr-r) updated_filesrr.r"r/r0Zrun_2to3r1r2)rrrrr3s      zbuild_py_2to3.runcCs:tj||||}|dr6|jj|d|S)Nr5r)rrrr}r@)rr[r\rresrrrrrs zbuild_py_2to3.build_moduleN)ryrzr{r3rrrrrrr|s  r|)__doc__r;importlib.utilrkrurZdistutils.corerZdistutils.errorsrwrrZ distutilsrrr|rrrrs    |__pycache__/bdist_rpm.cpython-35.opt-2.pyc000064400000032623147560526160014346 0ustar00 ]T@sddlZddlZddlZddlmZddlmZddlmZddl m Z ddl Tddl m Z ddlmZGd d d eZdS) N)Command)DEBUG) get_platform) write_file)*)get_python_version)logc+@seZdZdZdfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~ddddddddddddddddg)Zd4d9d=d2dUgZd7d4d;d9d?d=iZdXdYZdZd[Zd\d]Z d^d_Z d`daZ dbdcZ dddeZ dS) bdist_rpmzcreate an RPM distribution bdist-base=N/base directory for creating built distributions rpm-base=dbase directory for creating RPMs (defaults to "rpm" under --bdist-base; must be specified for RPM 2) dist-dir=dDdirectory to put final RPM files in (and .spec files if --spec-only)python=Mpath to Python interpreter to hard-code in the .spec file (default: "python") fix-pythonLhard-code the exact path to the current Python interpreter in the .spec file spec-onlyonly regenerate spec file source-onlyonly generate source RPM binary-onlyonly generate binary RPM use-bzip27use bzip2 instead of gzip to create source distributiondistribution-name=gname of the (Linux) distribution to which this RPM applies (*not* the name of the module distribution!)group=9package classification [default: "Development/Libraries"]release=RPM release numberserial=RPM serial numbervendor=aRPM "vendor" (eg. "Joe Blow ") [default: maintainer or author from setup script] packager=ARPM packager (eg. "Jane Doe ")[default: vendor] doc-files=6list of documentation files (space or comma-separated) changelog= RPM changelogicon=name of icon file provides=%capabilities provided by this package requires=%capabilities required by this package conflicts=-capabilities which conflict with this packagebuild-requires=+capabilities required to build this package obsoletes=*capabilities made obsolete by this package no-autoreq+do not automatically calculate dependencies keep-tempk"don't clean up RPM build directory no-keep-temp&clean up RPM build directory [default]use-rpm-opt-flags8compile with RPM_OPT_FLAGS when building from source RPMno-rpm-opt-flags&do not pass any RPM CFLAGS to compiler rpm3-mode"RPM 3 compatibility mode (default) rpm2-modeRPM 2 compatibility mode prep-script=3Specify a script for the PREP phase of RPM building build-script=4Specify a script for the BUILD phase of RPM building pre-install=:Specify a script for the pre-INSTALL phase of RPM buildinginstall-script=6Specify a script for the INSTALL phase of RPM building post-install=;Specify a script for the post-INSTALL phase of RPM buildingpre-uninstall=rnroREADME README.txtrk1rlrirprqrrrsrtrurvrwrxryrzr|r}r~rrr)rr)Z ensure_stringrZ get_contactZget_contact_emailZensure_string_list isinstancerolistrrexistsappend_format_changelogrpZensure_filename)rZreadmerrrrs>    !                  zbdist_rpm.finalize_package_datac CstrPtdtd|jtd|jtd|jtd|j|jrr|j}|j|nNi}x;d(D]3}t j j |j |||<|j||qW|d}t j j |d |j j}|jt||jfd ||jrdS|j jdd}|jd }|jrOdg|_n dg|_|jd ||j _|jd}|d}|j|||jrt j j|jr|j|j|ntd|jtjddg} t j jdst j jdr(dg} |jrA| jdn&|j rZ| jdn | jd| j!dd|j"g|j#r| j!ddt j j$|j g|j%s| jd|j&r| jd| j|d} | d } d!| d"} d#| | |f} t j'| }zg}d}xP|j(}|sNP|j)j*}|j|d$|dkr;|d}q;W|j+}|rt,d%t-| Wd|j+X|j.| |j/s|j j0rt1}nd&}|j sbt j j |d |}|j2||jt j j |j|}|j jjd'||f|jsx|D]}t j j |d |}t j j|rr|j2||jt j j |jt j j3|}|j jjd'||fqrWdS))Nzbefore _get_package_data():zvendor =z packager =z doc_files =z changelog =SOURCESSPECSBUILDRPMSSRPMSz%s.specz writing '%s'sdistbztargztarrzicon file '%s' does not existz building RPMsrz/usr/bin/rpmbuildz /bin/rpmbuildZrpmbuildz-bsz-bbz-baz--definez __python %sz _topdir %sz--cleanz--quietz%{name}-%{version}-%{release}z.src.rpmz%{arch}/z .%{arch}.rpmz%rpm -q --qf '%s %s\n' --specfile '%s'r_zFailed to execute: %sanyr )rrrrr)4rprintrmrnrorprerbZmkpathrrrrarget_nameZexecuter_make_spec_fileZ dist_filesZreinitialize_commandrhformatsZ run_commandZget_archive_filesZ copy_filerqrZDistutilsFileErrorrinforgrrfextendrcrabspathrr\popenreadlinestripsplitcloseZDistutilsExecErrorreprspawndry_runrrZ move_filebasename)rZspec_dirZrpm_dirrZ spec_pathZsaved_dist_filesrsourceZ source_dirZrpm_cmdZ nvr_stringZsrc_rpmZ non_src_rpmZq_cmdoutZ binary_rpmsZ source_rpmlinelstatusZ pyversionZsrpmfilenamerrrrruns                                          z bdist_rpm.runcCs"tjj|jtjj|S)N)rrrrbr)rrrrr _dist_pathszbdist_rpm._dist_pathc CsKd|jjd|jjjddd|jjd|jjdddd|jjg}tjd }d jd d |j D}d }d}|j||}||kr|j d|j d|d |j dddg|j r|j dn |j d|j d|jj d|jddg|jsy|jjs|j dn|j d|jxxdJD]p}t||j}t|tr|j d"|d#j|fq|dk r|j d"||fqW|jjd$kr7|j d%|jj|jrT|j d&|j|jrz|j d'd#j|j|jr|j d(tjj|j|jr|j d)|j dd*|jjgd+|jtjjtj d,f}d-|} |j!rd.| } d/|} dKd3d4| fd5d6| fdLdMdNdOdPdQg } x| D]|\} } }t|| }|s|r_|j ddD| g|r|j t"|dEj#j$d q_|j |q_W|j ddFdGg|j%r|j dHd#j|j%|j&rG|j ddIg|j |j&|S)RNz %define name z%define version -_z%define unmangled_version z%define release z Summary: zrpm --eval %{__os_install_post} cSs g|]}d|jqS)z %s \)r).0rrrr s z-bdist_rpm._make_spec_file..zbrp-python-bytecompile \ z%brp-python-bytecompile %{__python} \ z2# Workaround for http://bugs.python.org/issue14443z%define __os_install_post z Name: %{name}zVersion: %{version}zRelease: %{release}z-Source0: %{name}-%{unmangled_version}.tar.bz2z,Source0: %{name}-%{unmangled_version}.tar.gzz License: zGroup: z>BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildrootzPrefix: %{_prefix}zBuildArch: noarchz BuildArch: %sVendorPackagerProvidesRequires Conflicts Obsoletesz%s: %s ZUNKNOWNzUrl: zDistribution: zBuildRequires: zIcon: z AutoReq: 0z %descriptionz%s %srz%s buildzenv CFLAGS="$RPM_OPT_FLAGS" z>%s install -O1 --root=$RPM_BUILD_ROOT --record=INSTALLED_FILESr{rr&%setup -n %{name}-%{unmangled_version}Zbuildrsinstallrtcleanrurm -rf $RPM_BUILD_ROOT verifyscriptrvprerwpostrxpreunrypostunrz%rz%files -f INSTALLED_FILESz%defattr(-,root,root)z%doc z %changelog)rrrrrr)r{rrr)rrur)rrvN)rrwN)rrxN)rryN)rrzN)'rrZ get_versionreplacerkZget_description subprocess getoutputr splitlinesrrrhZ get_licenserjrrgetattrlowerrrZget_urlrirrqrrrrZget_long_descriptionrcrargvropenreadrrorp)rZ spec_fileZ vendor_hookZproblemZfixedZ fixed_hookZfieldvalZdef_setup_callZ def_buildZ install_cmdZscript_optionsZrpm_optattrdefaultrrrrs          #        &       (    zbdist_rpm._make_spec_filecCs|s |Sg}x|jjdD]i}|j}|ddkr^|jd|gq&|ddkr~|j|q&|jd|q&W|ds|d=|S)Nrrrrrz )rrrr)rrpZ new_changelogrrrrr3s  zbdist_rpm._format_changelog)r Nr )r Nr )rrr)rNr)rNr)rNr)rNr)rNr)rNr)rNr)rNr )r!Nr")r#Nr$)r%Nr&)r'Nr()r)Nr*)r+Nr,)r-Nr.)r/Nr0)r1Nr2)r3Nr4)r5Nr6)r7Nr8)r9Nr:)r;r<r=)r>Nr?)r@NrA)rBNrC)rDNrE)rFNrG)rHNrI)rJNrK)rLNrM)rNNrO)rPNrQ)rRNrS)rTNrU)rVNrW)rXNrY)rZNr[)r\r]r^)__name__ __module__ __qualname__ descriptionZ user_optionsZboolean_optionsZ negative_optrrrrrrrrrrrr s      -  -  r )rrrZdistutils.corerZdistutils.debugrZdistutils.utilrZdistutils.file_utilrZdistutils.errorsZdistutils.sysconfigrZ distutilsrr rrrrs$ __pycache__/build_py.cpython-35.pyc000064400000026266147560526160013240 0ustar00 Yf C@sdZddlZddlZddlZddlmZddlmZddlTddl m Z m Z ddl m Z Gdd d eZGd d d ee ZdS) zHdistutils.command.build_py Implements the Distutils 'build_py' command.N)glob)Command)*) convert_path Mixin2to3)logc@s*eZdZdZd8d9d:d;d<gZddgZddiZddZddZddZ ddZ ddZ ddZ ddZ dd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.d/Zd0d1Zd2d3Zd4d5Zd6d7Zd S)=build_pyz5"build" pure Python modules (copy to build directory) build-lib=ddirectory to "build" (copy) tocompileccompile .py to .pyc no-compileN!don't compile .py files [default] optimize=Olalso compile with optimization: -O1 for "python -O", -O2 for "python -OO", and -O0 to disable [default: -O0]forcef2forcibly build everything (ignore file timestamps)cCsLd|_d|_d|_d|_d|_d|_d|_d|_dS)Nr) build_lib py_modulespackage package_data package_dirr optimizer)selfr?/opt/alt/python35/lib64/python3.5/distutils/command/build_py.pyinitialize_options s       zbuild_py.initialize_optionsc Cs|jddd|jj|_|jj|_|jj|_i|_|jjrx3|jjjD]\}}t||j|ts z+build_py.get_data_files..) r#get_package_dirosr,joinrsplitlenfind_data_filesappend)rdatarsrc_dir build_dir filenamesr)r9rr%as %%zbuild_py.get_data_filescs|jjdg|jj|g}gxO|D]G}ttjj|t|}jfdd|Dq5WS)z6Return filenames for package's data files in 'src_dir'cs4g|]*}|krtjj|r|qSr)r<r,isfile)r7fn)filesrrr:s z,build_py.find_data_files..)rgetrr<r,r=rextend)rrrCZglobspatternZfilelistr)rIrr@ys !$zbuild_py.find_data_filescCsd}x|jD]v\}}}}xa|D]Y}tjj||}|jtjj||jtjj|||ddq)WqWdS)z$Copy data files into build directoryN preserve_modeF)r&r<r,r=mkpathdirname copy_file)rZlastdirrrCrDrEfilenametargetrrrr1s zbuild_py.build_package_datac Cs|jd}|js5|r.tjj|SdSng}x|ry|jdj|}Wn-tk r|jd|d|d=Yq>X|jd|tjj|Sq>W|jjd}|dk r|jd||rtjj|SdSdS)zReturn the directory, relative to the top of the source distribution, where package 'package' should be found (at least according to the 'package_dir' option, if any).r5rFrr6NrS)r>rr<r,r=KeyErrorinsertrJ)rrr,tailZpdirrrrr;s(      zbuild_py.get_package_dircCs|dkrPtjj|s.td|tjj|sPtd||rtjj|d}tjj|r|Stjdd|dS)NrFz%package directory '%s' does not existz>supposed package directory '%s' exists, but is not a directoryz __init__.pyz!package init file '%s' not found z(or not a regular file)) r<r,existsZDistutilsFileErrorisdirr=rGrwarn)rrrinit_pyrrr check_packages     zbuild_py.check_packagecCs1tjj|s)tjd||dSdSdS)Nz!file %s (for module %s) not foundFT)r<r,rGrrY)rmodule module_filerrr check_moduleszbuild_py.check_modulec Cs|j||ttjj|d}g}tjj|jj}xx|D]p}tjj|}||krtjjtjj |d}|j |||fqP|j d|qPW|S)Nz*.pyrz excluding %s) r[rr<r,r=abspathr"Z script_namesplitextbasenamerAZ debug_print) rrrZ module_filesmodulesZ setup_scriptrZabs_fr\rrrfind_package_moduless  "zbuild_py.find_package_modulesc Csi}g}x |jD]}|jd}dj|dd}|d}y||\}}Wn'tk r|j|}d}YnX|s|j||} |df||<| r|j|d| ftjj||d} |j || sq|j||| fqW|S)aFinds individually-specified Python modules, ie. those listed by module name in 'self.py_modules'. Returns a list of tuples (package, module_base, filename): 'package' is a tuple of the path through package-space to the module; 'module_base' is the bare (no packages, no dots) module name, and 'filename' is the path to the ".py" file (relative to the distribution root) that implements the module. r5rr6__init__z.pyrSrS) rr>r=rTr;r[rAr<r,r^) rr#rbr\r,rZ module_baserZcheckedrZr]rrr find_moduless*   zbuild_py.find_modulescCsqg}|jr"|j|j|jrmx?|jD]4}|j|}|j||}|j|q5W|S)a4Compute the list of all modules that will be built, whether they are specified one-module-at-a-time ('self.py_modules') or by whole packages ('self.packages'). Return a list of tuples (package, module, module_file), just like 'find_modules()' and 'find_package_modules()' do.)rrKrer#r;rc)rrbrrmrrrfind_all_moduless  zbuild_py.find_all_modulescCsdd|jDS)NcSsg|]}|dqS)r6rSr)r7r\rrrr:-s z-build_py.get_source_files..)rg)rrrrget_source_files,szbuild_py.get_source_filescCs.|gt||dg}tjj|S)Nz.py)listr<r,r=)rrDrr\Z outfile_pathrrrget_module_outfile/szbuild_py.get_module_outfiler6cCs|j}g}x|D]\}}}|jd}|j|j||}|j||r|jr|jtjj|dd|j dkr|jtjj|d|j qW|dd|j D7}|S)Nr5 optimizationrFrcSs>g|]4\}}}}|D]}tjj||qqSr)r<r,r=)r7rrCrDrErQrrrr:Cs z(build_py.get_outputs..) rgr>rjrrAr importlibutilcache_from_sourcerr&)rr.rbZoutputsrr\r]rQrrrr33s"    zbuild_py.get_outputscCst|tr!|jd}n!t|ttfsBtd|j|j||}tj j |}|j ||j ||ddS)Nr5z:'package' must be a string (dot-separated), list, or tuplerMr) r'strr>rituple TypeErrorrjrr<r,rOrNrP)rr\r]rZoutfiledirrrr build_moduleJs  zbuild_py.build_modulecCs=|j}x*|D]"\}}}|j|||qWdS)N)rers)rrbrr\r]rrrr/Ys zbuild_py.build_modulescCsxxq|jD]f}|j|}|j||}x<|D]4\}}}||ksYt|j|||q8Wq WdS)N)r#r;rcr)rs)rrrrbZpackage_r\r]rrrr0bs  zbuild_py.build_packagesc Cstjr|jddSddlm}|j}|d tjkrS|tj}|jr||ddd|j d|d|j |j dkr||d|j d|j d|d|j dS) Nz%byte-compiling is disabled, skipping.r)r2r6rrprefixdry_runrS) sysdont_write_bytecoderYdistutils.utilr2rr<sepr rrur)rrIr2rtrrrr2vs     zbuild_py.byte_compile)r r r )r r r)rNr)rrr)rrr)__name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsZ negative_optr r-r4r%r@r1r;r[r^rcrergrhrjr3rsr/r0r2rrrrrs8        '    4     rc@s(eZdZddZddZdS) build_py_2to3cCsfg|_|jr|j|jr9|j|j|j|j|j|jdddS)Nr.r) updated_filesrr/r#r0r1Zrun_2to3r2r3)rrrrr4s      zbuild_py_2to3.runcCs:tj||||}|dr6|jj|d|S)Nr6r)rrsr~rA)rr\r]rresrrrrss zbuild_py_2to3.build_moduleN)rzr{r|r4rsrrrrr}s  r})__doc__r<importlib.utilrlrvrZdistutils.corerZdistutils.errorsrxrrZ distutilsrrr}rrrrs    |__pycache__/install_data.cpython-35.opt-1.pyc000064400000004732147560526160015021 0ustar00 Yf @sRdZddlZddlmZddlmZmZGdddeZdS)zdistutils.command.install_data Implements the Distutils 'install_data' command, for installing platform-independent data files.N)Command) change_root convert_pathc@sjeZdZdZdddgZdgZd d Zd dZddZddZ ddZ dS) install_datazinstall data files install-dir=dIbase directory for installing data files (default: installation base dir)root=Ns wininst-7.1.exe000064400000200000147560526160007251 0ustar00MZ@( !L!This program cannot be run in DOS mode. $IoA'tpj\Vd@YYt_W@؃u'jW@utWh@jՃ WjYYuh@t Wh@jՃ \Fu[_]3@^U SVW=@39uuEVhuVVSu ׃E@uu uu  uPt P@/9u u jU YYt.VhjVVSu ׃Eu%9u u hĂ@u jU YY9u t u jU YYEPuu@}EPPPW@9uu W@\VuVjVW@W=@׃u9u t8u h@&VVVjS@SE׋E;u9u tu h@jU 3_^[U8}S]VWj8EjPpZE EȋE@E̋Ej8h@E؍Ej3P]F2}t t*Ph@EjP4;YYtt Ph@j׃ 3EPJYt,t PhԂ@j׃ 339uuuu SY FS@_^[U(ES]L+A Q+ƒ9PKWM}:t3efy V3@^_[ËE}4N*>PKE?PK9V. u MN VGF*OMUDE܍PYHEPYM <\th @PXYYP؀@eEE8t;EE0XPuE04@EEMȃ8EuGPuPp@ t /u\@uPJXYM<\tNu3fF P3fFPvuPjt"uOvvQuP^}tE@PE@ PujUE@ E9E=0M3WsEPWE_M+؍PMWM<\t)PhWYM</th @PGWYYE\t/u@KSPPp@]3UE Ph @u ,@ u]u jmhT@(@ ]UE Ph @u ,@ u]u j5hT@(@ ]U=D@VWu hh@Ѐ@t3hP@PԀ@D@EPh @u ,@ tY=D@uh8@5L@$@YY;3|@u68@YYt)G@ruh$@5@$@ 3_^Ëx@jPPjD@tPh @(@YYuh@5L@U,V3Vuuuuuup@;} Ph@EPEPEPEPEPEPEPh@u ,@$FEPhh@jVhx@t@;} Phl@EURh@P;} PhD@EuPQP;}Ph$@pEu܋PQ;}Ph@X9utEuPQ,;}Ph@;9utuEuPQD;}Ph@9ut'EuPQ$;}Ph@5L@$@ GhPjuVV̀@EjRPQ;}h\@WUhH@h50@SRYD$tjPYYt$@=T@tB=@t9h,@WUhH@h50@SYtjVAYYV@3_^][H@tP@Yt$<@%T@YH@U SV5Ԁ@W}h@Wh@Wh@WEh@WEh@WEh@WE395L@u3J;tC9ut>9ut99ut49ut/;t+39u h@Uu u U_^[ÁPL@SUV3Wt$3;t@A=H@PVhS50@VVUS50@׉t$5L@$h cD$6D$D$ h@PP@D$(P$ttD$t$D$ 6h@PP@D$,Pjjt$US50@6h50@T@vuD$_^][PUhV5P@Wh@@hP@PE֍P@=Ѐ@uׅ5@E5D@h @PփE5@PPEPhօtEPPEPhօt3,h@P4DuP%DP_^USV3WSS@@ ȁ@5ā@@@QWPE֡ȁ@ PWuh@@$;u0@Pth@PP@tPuVYEYV@ȁ@=@@Pסȁ@5@@P֡ȁ@ Pסȁ@ Pփ9]ht@4C$p@u@jS@PEu@jjuEӋED8P@؃(t:ht@SBu;ujP@uÀ$8SS@$ h`@Yu@EY_^[UQQSV5Ԁ@W}h@Wh@Wh@WEh@WEh@WE֋3;t;9Et69Et19Et,;t(h@UW u U tU_^[USV5Ԁ@W}h@Wht@Wh\@WEhL@WEh<@WEh(@WEh@WEh@WE3E;9u9u9u9ut{9utv9utqh@ӋY;t?h@WUh@W@UL@@jVUP6WU(@rE(@E,@E$@Ep@3jX_^[UV5(@W3jWWEWPօtEP,@EP0@jWWEWP_^U@El@=tEX@VW3MWQWjWW\@WVP@;t5ujWh@@P8@3Wh@V@P8@`@=܁@SVuh@P׍h@P@D@EP؁@ԁ@EPӍEPPh@hPЁ@@P5D@h@h@5D@ӃHuh@5D@5@5D@Vhx@P׃ EPEP3PhPPPPu@tjh`@P@P8@u@}uPh\@hH@5D@Ӄh@5@5D@h8@P׍P>@PPjjh,@u@tjh@P@P8@Ph,@Ph\@h@5D@Vuh@P׍h@P@Pj5@E5@́@@u@VuVuh@P׍P > @@PPjjVu@tjh@P@P8@PVPh\@h@5D@ӃjX[_^U=} NV} K} W39=T@)@ƅ=@ ST@hp@hu}Ed@}Ӎh@@P=hX@P<VP<D@;tQh@@h@@P@WW@@ ȁ@5ā@@@QWPE փuPPh0@@P8@ȁ@ PWu փ uPPh @@P8@hj @P$@Eh@@EHYt{V4th@RYY;N;t +V+щP@+FMh+F+~@YPh@tmSjh@P܀@tT3PPPvPSjEtLvWP@u(|W<@MuE@jXh@@PYY3_^[̋T$3;tMB;tFHJJJB0HH H H(H,H0H8H<0@HlHPHL3ø̋D$ W3;81|$8Vt$ ;9~ ~u F ]@~(9~$uF$]@F(h0%jPV ;u^_ËL$;ωF}xB0P}|VH$x4^_PF(PV$~^_ø_SUl$ ]VWC43;u(K$M(jPQU ;ljC4u _^][9{(uK${0{,S(}K(+;r*u {4+ȃK(_^]C0K,3[+K0;ȉL$vȉL$S0{4u +ʃL$+t(u {4ȋ+ʃ_C0C(^C,]3[Ë{0C(;Љ{0uC0S,;sщS,_^]3[̋D$8SX|H q8u Ha; u H PUk3UUUR$CjD$4D$4D$5KPQ5$Cl$C Ct@0CL$%3ҹL$рtD$L@t@C$L$;vL$LD$A`@h3UUUSLT$L$X҃ CA0 l$1D$L@H@D$s'nO|$FD$t$r<CtL$LAt@tT$LB,@K tCt%D$D$$D$%KjD$(PQ" C33 sOF D$rK tACt7D$D$$ȋD$'jD$(L$)T$*KPQ8" C33s(TO|$FD$t$rًK tЁQK A Ct%D$D$$jT$(D$)CRP! C3D$3Ktvs-O|$FD$t$rًK ɉC@tACt%D$D$$D$%KjD$(PQ5! C3D$3K tAKK@;ωL$vωL$S tHR҉T$8t=S zs@R+49;v+׋ʋT$8t$ʃL$|$t$StD$KPVQ L$(CD$ S@++щ|$t$S@K@C@Kt3ɍ1AL$K ɉT$,t-Q҉T$8t"S@;Q sL$8|$D$8D$,C@D$8L$,tL$;rKtT$CRVPCD$ L$+L$,ɉ|$t$K tAC@K31AL$K ɉT$,t-Q$҉T$8t"S@;Q(sL$8|$D$8D$,C@D$8L$,tL$;rKtT$CRVPCD$ L$+L$,ɉ|$t$K tA$KtOs' O|$FD$t$rًK;tT$LB@R 3l$C tK H,S B0jjjLL$XCA0D$   s'_ O|$F D$t$rًȋЁ3Ҋt$L$LCA03D$3 K  jjjT$XCB0D$  |$P Kt̓+D$T s$ O|$Ft$r݋ȃKȃMws$H]@ D$ CL(@CT CP(@CXD$ D$ T$LB@D$ ̓+ D$s+d$ O|$F D$t$rًЋҁ;tL$LA@. 3K@D$3K@ɉL$;vωL$T$ ;vʉL$R t$|$(ʋT$L$t$|$ +t$t$(щT$S@++щ|$ |$t$(t$S@ s# O|$Ft$r݋ȃЉK`ȃK\K`BSdD$ʃChKh;K\s[s#_ O|$Ft$r݋ShU@3ɊD$fLSpKhAKh;K\rKh;s*3 $d$ShU@fLSpShB;ЉShr千0KlCLRCTPQjCpPjXD$4D$t L$LAȌ@1 T$LB@! ChK`Sd9ShKTKLJ#Ћ ;ՉL$@v<A KTOºKLF|$J#Ћ ;Չt$L$@wċT$@fsR;L$s&L$OF;|$t$rfT$B+KhfTKpKhAD$KhHuh͍Q;L$s+L$OFQ;|$t$r+KhɉD$bLKnL$,ȃfՉT$uJJ;s-d$$O|$‹T$FJ;t$r׋ȃDJ;s)O|$‹T$FJ;t$r׋ȃ +D$,{dSh{`;׉D$tT$,{hfT{p{hGI{hu|$S`Kd9Kh;0KlCLRS`CTPQ RCpPj D$4t8L$LD$A@T$LBl@L$L|$Al@vSlKlSPRCXPQK`CdPTKpRjP D$4tD$L@T@D$)D$rg|$ r]D$LT$ L$(PT$0H L$R0xPK8k<|D$TH P0xC8k<L$(T$ t$|$D$KTKLJ#Ћ;͉T$@v<KTOºKLF|$J#Ћ;͉t$T$@wĄΉL$3ɊʉT$,L$L$J#L$@ыKLL$,T$@;ՉL$v[IT3ɊL$,O‹T$F|$ʺL$t$J#L$.ыKL ՉL$@L$;wT$@++L$@҉D$K@u w t  g@tT$LB8@LSHKHtE;s%KHOF;|$t$rۋKHK@J#ʉK@KH+KXKPJ#Ћ;͉T$@v<,KXOºKPF|$J#Ћ;͉t$T$@wΉL$3ɊʉT$,L$L$J#L$@ыKPL$,T$@;ՉL$v^3ɊL$,O‹T$F|$ʺL$t$J#L$.ыKP ՉL$@L$;wT$@++@D$tL$LA @L$@KDSHKHtI;s%KHOF;|$t$rۋKHKDJ#ʉKDKH+D$T$ K,+L$09KDvT$LB@-L$ T$0+ыKD;v<+ʋS0;ʉL$v+ʋS4S(L$+ S4+S0L$T$,S@;ʉT$8vT$(+ыK@T$,L$8L$T$ ;vʉL$+щT$ T$8+щS@L$,L$(T$,AL$(L$BIT$,L$uۋK@ncL$(S@AL$(L$ >K s'O|$F D$t$rًL$0+L$ T$LJSхɉL$0St8CSL$(D$0Pt +QR +QR L$XCA0D$ KT$ ɉT$0u'3Ҋt$L$8ʋʉL$8;Kt L$LA@`3D$3KK s'O|$F D$t$r;CtSL$LAЋ@ d_^][8ËL$LT$(Q T$ y_1Q^k@3L$@ȋD$@L$H#L$$̉D$+٨t‹L$;؉L$s(jBT$;sjBT$+M#͋l$L$D+;l$+;l$HnL$,D$Iu*D$(+ȋD$T;+ʼnD$Td$AAFMus;sS+D$(+l$D$T;sc+ʼnD$TAAFMuL$,D$l$TI;s<+l$TD$@AAFMu+ȋD$T;s+ʼnD$TAAFMuD$+ȋD$Tv7PEAAFQAFT$TAAFMT$Tu݋T$D$Tt^AAF|$TvPIFH+ō$H@FH@FH@FL$TL$TwۅtH@F|$Tv@Fl$;T$0sQ;t$4EL$PD$A@,L$PA @ t E D$P@8@E ++ً˸L$PH#BFA D$0+ƒAD$4+A}8_^]<][<̃|$3҉D$+Dž~|$AB;rt$HT$(ЉD$<$T$(u =֋$ D$DL$ +T$8fLG$*ÅD$@D$fD$t]t$ d$t L$@D$8#;tD$73ۉD$D$ЋˋL$ Jtut H#ȋuT$(T$ȉ$_^]3[|_^][|̋L$S\$Wu1D$ʁrr_ [Vt$u ^_[Ãs3t FKur3Ҿ^_[ Án^U [IVVVVVVVVV V V V V VVHw3ҹǿ3MF]VVVVVVVVV V V V V VVʃHtt FKu3ҹǾ3^_ [QSVt&It3Ҋ3Ёh@3ANu߃ UW3܋,h@ҋh@3Ջ؉D$,h@Y3%3h@3Ӌދ,h@h@3ŋډT$,h@Y3Ł3h@3Ã܋,h@ҋh@3Ջ؉D$,h@Y3%3h@3Ӄދ,h@h@3ʼnT$,h@Y3ŋ,h@33ËЃҋh@D$3h@,h@3%3h@3Ӌދ,h@h@3ŋ,h@Y3ʼnT$3h@3Ã܋,h@ҋh@3ՉD$,h@Y%3Ջ,h@33Ӌދ,h@h@3,h@T$h@3Ń3à OrH3܋,h@D$|$PfzxTh~سDjXL6&ֺκĺ .>L^r»̻ػ|nd\R޸$.8BPZfpxʹԹܹ$.:JԵȵ6$ܶȶt^RF4$ĸCreateDirectory (%s)MapViewOfFile (%s)CreateFileMapping (%s)CreateFile (%s)inflateEnd returns %dinflate returns %dinflateInit2 returns %d1.2.3\`Psp0  ` @ X ;x8 h( H T+t4  d$ D \ S|< l,  L R#r2  b" B Z Cz: j*  J V@3v6 f& F  ^ c~> n. N `Qq1  a! A Y ;y9 i)  I U+u5  e% E ] S}= m-  M S#s3  c# C [ C{; k+  K W@3w7 g' G  _ c? o/ O `Psp0  ` @ X ;x8 h( H T+t4  d$ D \ S|< l,  L R#r2  b" B Z Cz: j*  J V@3v6 f& F  ^ c~> n. N `Qq1  a! A Y ;y9 i)  I U+u5  e% E ] S}= m-  M S#s3  c# C [ C{; k+  K W@3w7 g' G  _ c? o/ O A@!  @a`10  @     incorrect length checkincorrect data checkinvalid distance too far backinvalid distance codeinvalid literal/length codeinvalid distances setinvalid bit length repeatinvalid literal/lengths settoo many length or distance symbolsinvalid code lengths setinvalid stored block lengthsinvalid block typeheader crc mismatchunknown header flags setincorrect header checkinvalid window sizeunknown compression method(@@@@@@@Ѝ@@@incompatible versionbuffer errorinsufficient memorydata errorstream errorfile errorstream endneed dictionary inflate 1.2.3 Copyright 1995-2005 Mark Adler  #+3;CScs !1Aa  0@`@@0w,aQ mjp5c飕d2yҗ+L |~-d jHqA}mQDžӃVlkdzbeO\lcc=  n;^iLA`rqgjm Zjz  ' }Dңhi]Wbgeq6lknv+ӉZzJgo߹ホCՎ`~ѡ8ROggW?K6H+ L J6`zA`Ugn1yiFafo%6hRw G "/&U;( Z+j\1е,[d&c윣ju m ?6grWJz+{8 Ғ |! ӆBhn[&wowGZpj;f\ eibkaElx TN³9a&g`MGiIwn>JjѮZf @;7SŞϲG0򽽊º0S$6к)WTg#.zfJah]+o*7 Z-A1b62S-+ldEw}ZVǖAOIъ OM~-QJ#SpxAaU׮.7׵Y-6]]wll?AԞZ͢$ Faw$eڪ]]FD(koipvk19Z* ,  m86F߲]qTp0ek*1u4yީ%8S1bSWĔՖk1**ykʬHpo].*F6fcTT"eM©g0&):{ϼkZ> 8$,52F*sw1pHkQ6Fzw]cN̵J #pAF]#l8?1(BOgT~yUbL8^#ܖTZ1ObbSyOIV~P-{b-R4٠~^eGnHl/Su6: #jT$+e?yHf'*b#ٽЧ ?&~?$pi;FBzw[keZ~7 Sv8H 3?r$7jnԄYFܨ |OQ;օ U d S - =G\ p&Gw)` /a߫i5&LsZ<#0zMzFM8,9; :R:(q-v,.7/pXqYs3r%w+OQvrtEux܉~OK }!b|tyBxʠz{.lD~m8onlk[wjR1h58ib?mcf+aQ`צedd"fig HINSKyuJcO NZLݘMFGN@E$DD2AsX@*IBCPhTg3U>uW ַVS:R|P~Q9ZS [fYX4])\ZEo^m/_5qϱ٥s\ۼqދ!K7 kfֶԁ-b3Πjp]$^'~*I@VW<âM˟ŏ{ tDCm-@wm.B+(铜>Td"ŀǼϭ~8y$owJ1}05_K^ iϏ은BI#ƈdX܁T̓cQ: rՆ⩗ fn|xK)o%ƭ/3vUuA?)C:|sĵ@͂ Ͳ;bIUeh"׻_HS1޼^Z4eg Wb27_k%8ם(ŊO}do׸Jj3wVcXWP0qB{߭gCru&op-?'Bs ưGz>2[Ȏg; i8P/ _Y=чe:ZO?(3wwXR @hQ+ğH*0"ZOWoI}@mNП5+#*'G| AH=XX?#1jvʬ`p^Y<L~i/{kHwâ hs)aLoD~Pf7VM'(@ﰤ ہg9x+n&;f?/X)T`D1 ߨMߒ.FgTp'Hq/L0UEc?kǃh6ry7]P\@TN%s7@'>$!AxUʰ\3;Y^U~PGl!;b F2ȂpԞ(Q_V:1X: n3 m:@/)IJNv"2x+ٗ Kx.HҥfAj^y9*O]#kM`~b_R 7zFh!1߈Vc0a"j6nS Nr)Υ{t*F8#vufz`rs"WG9^EMvc΍&DAdQy/4Aڱ&S֚E biLQ<6'5P..T&q]w4.6IE? v\[YI>U!lDa>Ԫ΋ϩ7~8A]&nv|oY yKiw\¹9~$ 66nQfq>,o,IӔ 渱{I .H>C-Yn馑gQz tafw0a, Qmpjc5dۈ2yܸو L+~|-dj qHA}mԵQӅlVdkbze\Ocl=c ;n Li^`Agqr<KG k5Blۻ֬@2lE\u ϫ=Y&0Q:Qa!V#Ϻ(_ ٲ $/o|XhLaf-=vAq *q3xɢ4 j m=-dlc\kkQlabe0bNl{WeP|b-I|LeMaX:QΣtԻ0JߥA=ؕפmCij4ngF`D-s3 L_ |Pq<'A  Wh% of a^)ɘИ"רY=. \;l  tҚG9w&sc d; mj>zjZ '}DhibW]egl6qnkv+zZgJoC`֣ѓ~8ORѻgWg?H6K +گ L6JAz``ègU1nFiyaf%oҠRh6 w G"U&/ź; (+Z\j1,ٞ[ޮd°c&ujm 6?rgWJz{+ 8Ҏվ | !Bhݳڃn&[owGwZjpf; \ebiaklE x NT9§g&a`IiGM>nwۮjJZ@ f7;𩼮S޻G0齽ʺŠS0$6TW)#gfz.aJ]h*o+ 7 Z-1A26b+-Sdl}wEVZOAي»IˬO ~M-JQS#xpaA.U7Y-۩6˚w]]llA?Z$㧲F waރ$Ųe]]DFok(vpi91k *Z  ,8mF6]pTqke0*1¶u4%y<8syjHA}X*ݹ1SbSW§ٖծ1k**kypH]oF*.f6TTcMe"¤0g)&Ůޟ:{kZ >8,$5*F21wsHpQkzF6c]wN̵ׄJ# pȄA#]F8l1?(gOB~TUyLbˁ8#^TO1ZbbySIOP~V{-b-4R^~Ge­lHnuS/:6# $Tj?e+y䏼Hf*'˼Ѝb# &??~p$iBF;[wzek~ZS 7H8v ?3$rj7nFY |OQ; U dؓS - \G=&pGw`)/ ai5&sL <:R=Pe6^X7}o5641W0ճ2k3$k%'1&-[#bML"'{ "!$*x(+)`F(> q-q,v.Ț/7pqXsYr3w%vQO+tru՛E~xKO} |b!ytxBz{l.m~Do8nkljw[h1Ri85bcm?a+f`Qeddf"giH IKSNJuyOcN LZMݥFĚGE@ND$A2D@XsBI*CThPU3gWu>V SR:P|Q~Z9[ SYfX]4\)^oEZ_/m5qs<\kg2z &J8 좞V`a/6i\lU,zB\uHƒ=&FW A+Ox]`غ7W>9q߳!7Kk ֩fض-bѠ3pj$]^Ĝ'*~@IWVÕ<ӂMʏş{ Dt͆mC-@mw+B.(>dT"ş~Ϝ8yo$w1J}50K_ ^ϋiBۉI#dXфTQc:r Р fΫnx|)Ko%3/uUv?A)ġ:C|sд@͉ ;IbeU"hH_S1ފZ^ھ4ge ȋbW72%k_ܝ8Ŵ(}OodJֿjw3XcVPW0Bq{gǧurCo&p-?О'sB zGɠ2>[ ;g/P8i_ Y=嗇e:ϏOZw3(?RXw@ Qh+HZ"0*WOIo@}m5N#+'*GA |􏒨HX=#?X1vjʨ`^pYL'!$UxAׯ3\Y;U^GP~b;!lڇF 2p(ԐQV_:X1: 3n :m@I)/NJ2"v+x xKH.jAf^O*9y]#Mk~`bю_޶ Rz7hFм!10cV"ajحn6 SrN){t*8Fv#fu`zrϮsɛW"G9E^vMcD&dA/yQA4S&ֿ EbLil!>aDƋΪ~7A8n&]|vYoᡱ Kyi׫w¡\~9$66 Qnf>q,o,ӹI 散 I{.C>HnY-Qg̰t zfaFF Fn@n@]o@ao@o@o@6(XHз4tԸpp@bRڷ. Ttd´޴*>PfzxTh~سDjXL6&ֺκĺ .>L^r»̻ػ|nd\R޸$.8BPZfpxʹԹܹ$.:JԵȵ6$ܶȶt^RF4$ĸdPropertySheetACreatePropertySheetPageACOMCTL32.dllSetLastErrorECreateDirectoryAVGetFileAttributesA^MapViewOfFileNCreateFileMappingA.CloseHandleSetFileTimeDosDateTimeToFileTimeiGetLastErrorMCreateFileAcUnmapViewOfFilelstrlenAGetProcAddressHLoadLibraryAkMultiByteToWideCharRLocalFreeFormatMessageAFreeLibrarywGetModuleHandleAGetVersionExA|DeleteFileAGetPrivateProfileIntAGetPrivateProfileStringAResumeThread$SetPriorityClass:GetCurrentProcess=GetCurrentThread6SetThreadPriority`CreateProcessAuGetModuleFileNameARemoveDirectoryA[GetFileSizeGetTempFileNameAGetTempPathAKERNEL32.dllMessageBoxAGetFocus;SendMessageAEndPaint]GetSystemMetrics BeginPaintDefWindowProcAPostMessageASSetDlgItemTextAwsprintfAEGetParent6SendDlgItemMessageA*ReleaseDC GetDCMoveWindowtGetWindowRectGetDlgItemDispatchMessageATranslateMessagePeekMessageAMSetCursorLoadCursorAUpdateWindowShowWindow`CreateWindowExARegisterClassAUSER32.dllDeleteObject<SetTextColorNTextOutASetBkModeSelectObject9CreateFontA3CreateDIBitmapPCreateSolidBrushGDI32.dllRegCloseKeyRegOpenKeyExARegQueryValueExARegEnumKeyExARegQueryValueARegSetValueExARegCreateKeyExARegDeleteKeyARegDeleteValueAADVAPI32.dllShellExecuteASHELL32.dllhCoUninitializeCoCreateInstance:CoInitializeole32.dllstrchrmemcpymemset strncatstrcat strlenstrcpystrcmpstrrchrfprintf%_vsnprintfmalloc_snprintfstrncpyfreesscanf_putenvremovefreadftellfseekfopenfclosefflushfreopenC_iobfwrite strftimelocaltimetimesprintf_fstatstrtol_pctypeE_isctypey__mb_cur_maxqsortreallocfgetsstrncmp{__p___argvz__p___argcMSVCR71.dll_c_exit_exitK_XcptFilterM_ismbblead_cexitexit_acmdln_amsg_exitn__getmainargs?_initterm__setusermatherr_adjust_fdiv__p__commode__p__fmode__set_app_type_except_handler3k__dllonexit_onexit_controlfpGetStartupInfoA_strnicmp_strcmpi_strdup_tempnam_close_read_open@T@@T@@T@@@@T@@@@@@T@@@@T@@ @@l@T@<@,@@@@@@@@@@@~@@@@@Software\Microsoft\Windows\CurrentVersion\UninstallSoftware\Microsoft\Windows\CurrentVersion\Uninstallmessage_boxdirectory_createdfile_createdget_root_hkeyget_special_folder_pathcreate_shortcutCSIDL_FONTSCSIDL_PROGRAMSCSIDL_COMMON_PROGRAMSCSIDL_STARTUPCSIDL_COMMON_STARTUPCSIDL_DESKTOPDIRECTORYCSIDL_COMMON_DESKTOPDIRECTORYCSIDL_APPDATACSIDL_STARTMENUCSIDL_COMMON_STARTMENULib\site-packages\DATAScripts\SCRIPTSHEADERSPLATLIBPURELIBsno such folder (%s)unknown CSIDL (%s)function not availableSHGetSpecialFolderPathAshell32.dllFailed to create shortcut '%s' - error 0x%xSetWorkingDirectory() error 0x%xSetIconLocation() error 0x%xSetArguments() error 0x%xSetDescription() failed, error 0x%xSetPath() failed, error 0x%xQueryInterface(IPersistFile) error 0x%xCoCreateInstance failed, error 0x%xsss|sssiCoInitialize failed, error 0x%xissi100 Made Dir: %s .py200 File Copy: %s Error200 File Overwrite: %s Runtime ErrorTimes RomanThis Wizard will install %s on your computer. Click Next to continue or Cancel to exit the Setup Wizard.Don't know Python's installation typeStrange\python%d%d.dllPython Version %d.%dCannot installNo Python installation found in the registry.Python version %s required, which was not found in the registry.Python %s is required for this package. Select installation to use:Software\Python\PythonCore\%s\InstallPathPython Version %s (found in registry)Software\Python\PythonCoreCompiling files to .pyo...Loading python...Compiling files to .pyc...Failed to unzip installation filesInstalling files...Running pre-installation scriptReady to installClick Next to begin the installation of %s. If you want to review or change any of your installation settings, click Back. Click Cancel to exit the wizard.Py_OptimizeFlagPySys_GetObjectPyRun_SimpleStringPy_FinalizePy_SetProgramNamePy_Initialize%s%cimport py_compile; py_compile.compile (r'%s')SOFTWARE\Python\PythonCore\%d.%d\InstallPathPYTHONHOME=%sOut of memory!rbRunning the pre-installation script failed Can't load Python for pre-install script (%d)aPyErr_PrintOSErrorValueError__builtin__PyLong_FromVoidPtrPyErr_FormatPyArg_ParseTuplePy_BuildValuePyCFunction_NewPyObject_GetAttrStringPyObject_SetAttrStringPyImport_ImportModuleUninstallString"%s\Remove%s.exe" -u "%s\%s-wininst.log"wb%s\Remove%s.exe040 Reg DB Value: [%s\%s]%s=%s Could not set key valueDisplayNamePython %d.%d %s020 Reg DB Key: [%s]%s Could not create key%s-py%d.%d999 Root Key: %s Source: %s *** Installation started %Y/%m/%d %H:%M *** %s\%s-wininst.logCould not open keyYou do not seem to have sufficient access rights on this machine to install this softwareHKEY_CURRENT_USERHKEY_LOCAL_MACHINEPostinstall script finished. Click the Finish button to exit the Setup wizard.*** Could not load Python ****** run_installscript: internal error 0x%X *** freopen stdoutfreopen stderr300 Run Script: [%s]%s \Scripts\-installPlease wait while running postinstall script...Installation failed.Running Script...Could not open postinstall-script %s PySys_SetArgv*** Installation finished %Y/%m/%d %H:%M *** IsUserAnAdminSetupFailed to start elevated process (ShellExecute returned %d)runasBad user_access_control valueoopsnoneautoforceuser_access_controlinstall_scriptmetadatanametarget_versiontarget_optimizetarget_compilebuild_infoinfotitleSetup %sCould not register window classSetup.exeSetupWindowClassif exist "%s" goto Repeat del "%s" :Repeat w%s.batCould not delete keyCould not delete valueuninstall-script-removeUninstall Finished!%d files and %d directories removed%d files and %d directories removed %d files or directories could not be removedYou do not seem to have sufficient access rights on this machine to uninstall this software%d Run Script: %s%d Reg DB Value: %s%d Reg DB Key: %s%d File Overwrite: %s%d File Copy: %s%d Made Dir: %s%d Root Key: %sAre you sure you want to remove this package from your computer?Please confirmOut of memorycould not open logfiler2. arg is not -u-uWrong number of argsSetup program invalid or damagedThis program is normally started by windowsRemoveCould not open archiveCould not create temporary file~duInvalid cfgdata magic number (see bdist_wininst.py) 8nhklmn     0 8Z@(n, BBB999111)))cR[RABZRYRZRAB[R[RAB[RAAB[ && &&&@JQ1AA1ZQ1111ZQ1AAZ@JQ1AAZQ1AAJ eu eu @ABZ@J@G@F@F@G@AABX@J@AABX@J@J@AA1X@J@G@HRX@G@AAG@ZRX@AAG@JQJed%ed%ed@AA1ZQ1AA1X@J@HQ1AA1X@1A1ZQ1AA1ZQ1A1J  & & RAABZRABZR[R[RABZRYRBZRABZRBW@J@J &R[R[R[R[R[RABZR[R[R[ & & & & & & &@J@J@J@J@HQ1AA1X@J@J@J@J@J@J@G@J@G@JQJ@ABZQ11Z@J@AAG@J@G@GQ1J@AA1ZQ1YQ1[@J@AAG@J@G@1W@J&@I@G@J@J@J@J@G@J@G@Z@J@AA1X@J@HRABX@J@HQ1AA1X@J@J  &  %& & & &RAABZR[RZRAAABZR[R[RABZR[R[@H{SetupMS Sans SerifP} This Wizard will install %s on your computer. Click Next to continue or Cancel to exit the Setup Wizard.P}PhnP}@H{SetupMS Sans SerifP} Select python installation to use:PP}7Python Directory:P}jPhnPP}BInstallation Directory:@B2Find other ...@H{SetupMS Sans SerifP} Click Next to begin the installation. If you want to review or change any of your installation settings, click Back. Click Cancel to exit the Wizard.P}msctls_progress32Progress1P}Installation progress:Phn@H{SetupMS Sans SerifP} Click the Finish button to exit the Setup wizard.PhnP}(wininst-9.0-amd64.exe000064400000666000147560526160010203 0ustar00MZ@ !L!This program cannot be run in DOS mode. $ooo{ *o=8o=)oєoPKuA}PKuN .HcHHD$PFFIEH ;T$HIUHHcHH$HDII+HD$p HA:uH3H$H$HHр|\HT$`tH$HlafGH$ ]HcH HD$hHD$@H8tBLI9HT$PH3HLAI 1-HL$@IMILI9uMEHT$PH$.zLd$`H$,H3H$H|$hHB|!\Ld$Xt\F DNLd$0fD$(FH$L3fD$ Ht*NEEDNHT$pLd$(L$ H MtEDEOH׹AADAD;T$HLD$xE3HT$@MIJLD$ H^HEYH=>t3H= 'HT$ HIptH rH oiHP^GH&HcE3H3DHT$0}>tHT$0H 1^kH lH]LD$ X3H$@H3wH$`HP_@SHH'H3H$H$Hd$hd$XHd$xHd$PHd$`3HlZyH_H JlD)XHD$XL$L$HD$@HD$hH^HD$8HD$xHHD$0H$HD$(HD$pHD$ Wu3HD$PL ӜH 3DHD$ Yy H9^SHL$PLD$`HHy H]-HL$PH$Hy H]HL$PH$HP8y HZ]H$HtHL$PHPXy H]HT$hHt#HL$PDD$XHy H\HT$xHtHL$PHPHy Hx\jLD$pH$A33D$(HD$ UHL$`HH$DP0yGLD$pH mjH[DEVHL$`HtHPHL$PHtHP?XOHL$`HPHL$PHPXH ZhH$H3QtH[LHHIKHMK IKMCH\HUu3-VDL$`LD$hHT$0H0WH \YhHHH ="H%eH\$WHH$H3H$HLKhHl\H$D$ ^VH$HTHD pgD-eH[HL$0VLL$ L$HT$0HQt'LL$ L$HT$0HQt3K3HH$HWHfG3H$3Ɋ HDuH$ZSH$H3rH$Hİ_H\$UVWATAUAVAWH H \HSH[HH SH[HLRH[HHRHt[HLRHI[HHHD$hRH![HLRHZHLR3HD$pH;H;L;L;H;L;L;H ZHH;t[HlZHHXZHHfcH-m!HH gHc3HHAHHLAH rHl$hHD$pH-eL%RHb3L-RH\$`H A_A^A]A\_^]@UATAUAVAWHHl$ HHHH!H3HEXHHZIMcLHMJQHZIHE6QHZIL#QH\ZIHEQHYILPHYIHPHbYIHE PHMH:YLP3H9ML;H9ML;}H;tL;kH;bH9M XH;H8@3Hu ՂH^YLHH`袀FH dL$Y SUHML-63IAhIE~2MLL+H HtT3IHIuDL-D6IAA3H~ILHt!wHH;|HU(λ{uPDEJLRHT$ HA0JyH G]HtHRL$XxH$X.HtBH=lRHu/H$X' H \HtL$XH"R5xH$ H3gH8_^HHXHhHp WH@H`E3H@EA@GHHu3iHT$`HmFHd$(d$ E33HEAGHHrGHtHd$ E3E3AQHcGHHGG.HH\$PHl$XHt$hH@_H\$WH0H=GHtQH=[uGILGd$(EH IPHMAHHT$ DHHH[\IH\$@H0_@SUVWATAUAVH`HH3H$PL$E3+TM+TMuM1"HcHف|PK;{V4tHP3A;D9stHcCHH+HcCH+H F+SH{+HAHcH+mHI;HT$@4DA;HLPHL$@LE3 DA;tgDE3Lt$0AHHfDt$(fDt$ HI;tPLcHHzH3HHHcHIEI4$6E9EHO3H$PH3AdH`A^A]A\_^][HhHL$0GHL$0GHL$0E3E33D$ mGuHh@SUVWHHH3H$Ht G&HT$pGHFE3ɋиgfffE33H &OHL$h3ɉL$`L$XL$PL$HL$@L$8L$0D$(D$  BHHBHHAH3H=@L @PHDHɉL$ HAHAH3P H=Y@L R@DHHɉL$ HAHH~AHAHT$pHE3H$H3bH_^][H\$Ht$H|$ AT0H+HSH3H$HUH33D$`HD$ht$tt$pgA3H$HD$x%EH$@L%MHL$`L$H$H$Df;uH |SLMHvME3DHVMH$L]D3@HDDHt$XH\$PHt$HHt$@|$8D$0L$E3I3ɉt$(t$ `DHȺHCHVDHH$H3aL$I[Is I{(IA\H\$WH@HT$0HC3 DDL$0DT$HKHL$0BLD$0HYCLzAHDCLSH/C'Ay8uBAE3HȺpvB3H$0H3\_H@[H\$Hl$ VWATH`H4H3H$PHHD$HILHKAE3HHD$ 3=t3H!t$8H!t$0H!t$(H!t$ D$@P31D$@PHt-?t(HT$`HH+DA+uHEuLD$`H5KH$GALD$`HJH$-AL\$PH$AE3HL\$ <ufD$DHHtZHL$PHD$DE3HD$(E33H\$ y<u4L$E3IlAL˺ILcHQAHL$P&<Hd$8Hd$0Hd$(Hd$ HL$HLL$@LD$`;HL$H;H$PH3_]L$`I[0Ik8IA\_^H\$WH0HD$@H AE3HHD$ ;3ۋ;u HL$@p;;ËH\$HH0_@SH H? HH;tKH=uu:H 1LIHIA?VHHHH H [̃~Ht u Hg }H Hl$Ht$H|$ AUAVAWP*H+H3 H3H$@NH3t+fD;IfD;9HQH;tE3ɺArHD$ >H΋>L5MHHMIH~>MHH,E3AHH|$ [>L;t!tHALcHH|$ 3>M@:t4H IH$@M=L$@H>LD;uD@:t"H{HH$@M=H$@H)HLHAH=H=AE3HMͺp=E3AHH|$ o=HLu\f=EME3HȺpY=L@H=L@H=@N: =ME3HȺp<McAHMH|$ <L=sNHIH "H+Њ H@:uMǺH9=MAHH|$ <Hc:bLH;tgMAHHD$ U<L ^MLKHFI|ru"D E3HH/HL$H*HTH\$@Hl$PHt$XH0_H\$Hl$Ht$ WH0H[HHlEHHHH]REHHHH=5EHH 2HD$HHWAE3HD$ M*t.L,;E3HH.?HL$HHS)t!tM.Lv=E3HH.HL$H)HxSH\$@Hl$PHt$XH0_@SH :tDHHtH 荇uH+H [@SH :E3E33,HrH==t H=HHH=~HHu Hz=몹PQHHD$8HuHJ=3SNHL$PLƺlHH3H|$PHHHcHLIE;|$A HIcHHHD$8HJHL$PLƺɏH]DHbMcL IAH‹LC<H;A$3+CE3HHP.MJHT$ t A$ %H.BH BHAHE A$AE+AD}H+D+D+HGAHEI@DuHEAET$D#AD$@H8A_A^A]A\_^][3H;tXHQ(H;tOBAA HA ALBB HB B,B0B4B@BDHHHHB`HBX3BøEHt:LI(Mt1,EADEA wʸEQDAA#AA@3øH\$WH HMA81AXHu Ha Hy0uHa@HHA0Hy8u HHA8HI@AH%S0HHuBRHC(y`0B}GwHb8Hˉz(HK@S8Hc(\H\$0H _ELºH!@Ah AlHAXHHHA`H\$Hl$Ht$WH HY(HH{8u!K(DHN@V0HC8Hu{,uK(c4c0{,+n{,HV;rHK8LH+!c4C,P+{4K4;GHK8H+D!+tHVHK8DI+!k4ËK,{49K4uc4C0;sljC03H\$0Hl$8Ht$@H _ÉT$SUVWATAUAVAWHXE3LI;Hy(I;L9aL9!u D9a? u DIDqLQL9Dt$8ED$D$wDo@D$LT$@AG;A;t__HXA_A^A]A\_^][E;AAIA;r߉o@t HGt HGHO I;t g s#@l$0HT$0@l$1OA5GAAE;fAAI rHG I;thg s5@l$0HT$0AD$1@l$3D$2OGAAAE;AAIA;rHO I;t@ʼnAHG H g s)@l$0HT$0@l$1OACAGAAg r{HG I;tL`g _HA;AGA;HG I;LHM;PH+WH;vi+gE; AAIA;rHG oHI;thg s#@l$0HT$0@l$1OAqGAAIDIIg sODI 3ɉ$;txD$LT$@H;IE "G|fDGG|A;uGxGt9G|DD$D$H:IE HDGxHOlHG`GtLd$(HL$ LHGz D$D$LT$@$E3䉄$A;tH:IE ArGAr>MUEMM}EuAI͉o@wDMUEMM}EuD$#OhL_XAAA+ȋH#A5E;AAOhMAA+ȋH#HGX;wA:DȋAD$4EAAAAD#ADCDADYE;ADL$5AAD$6AAAAIǃD#ADHGXBDED;wL$5++OHA:u  p@t H:/OPWPA;t9;s!E;8A΃AI;wPrߋʸ#GH+OlL_`AAA+ȋH#A5E;AAOlMAA+ȋH#HG`;wDȋAD$4EAAAAD#ADCDADYE;PADL$5AAD$6AAAAIǃD#ADHG`BDED;wL$5++@t H-qD$D$LT$@AOLȃOPWPA;t9;s!E;A΃AI;wPrߋʸ#GL+G0A+A9GLv H,E;:OLAA+;v/+ȋG4;vW,++H5+ЋGHHW8;v GHIH+ыA;AGD++GHD$HAIƒuLT$@QD9gHFnGt.pidD9gE;dAAI rE+EEDGE;t;OAIH+D9gtD$LT$@GDZ AEL͋ED$ȋ%ȋD9gE;Ot H4AAD9gD9gE;AAI r;ot]H4lE;t`GHAIAD$LT$@MUEMM}Euo@wDAAAAD$HD$@$M}IE$EuAEo@3wD9o,u ?}A;]tI;t !A+]t$8A+uA]Au _9ot+;t'IUOH+D9ot GAELG؋Ƀ@? DODAMH;u;t $u D;DDA@SH HHt6HA(Ht-LA8Mt$HP8HtHI@AHS(HK@S8Hc(3H [H\$Hl$Ht$WH AHHHtHY(Ht {t; tH\$0Hl$8Ht$@H _Ã; u%E333DHՋ;CtWHCt HK8;s,vDC,HI+HW D[,D[0C,H+LHH9 s0C 3[HtHA(Ht@t HP b@3øD E3LEttMFDE3ȃf@+FDrHL$0F@FDn@AH~DsHN|HT$0!DGHHN| G )GDO H~|t#DGHDO DG 3H\$8Ht$@H _3H;tHI(H;t9 u9ADu øH\$Hl$Ht$WATAUH HLH=H4Hz(H'HB0HHz8HK@AAH%AHHu 3H9o8t&O(AEHK@S0HHu HK@HS8IHAXAH%HHL_XHHHL;rعƕH [H\$Ht$WH0HH3ۋH;;u"X{8H\$ E3E333G-荖HH;tDXLH\$@Ht$HH0_̉L$SVWATAUAVAWHHHc3ۋH;;u.XWH\$ E3E3338G3DB0HJuWW ;t;5ihLLIL=fAMkXKBL AA#u.xWQW H\$ E3E333F5耗K Ft!uW J !A;t1t,;uV Wu fO fO7wfDwf_f_ f_ H_(H_ H_u_FK H\$(H$HD$ E3E33J !#$O f_f_ f_ f_fDwK HT$PJ !;u@VDt$PtG $fG G fG9\$du 9\$huH_ nH$HL$d,;wHT$@H$ ;\D$LDT$JDL$HDD$FT$BL$@L$0D$(DT$ 蕙HG 9\$\u9\$`u HG HGnH$HL$\;HT$@H$;D$LDT$JDL$HDD$FT$BL$@L$0D$(DT$ HG9\$Tu9\$Xu HG HG(fH$HL$T$;tiHT$@H$;tRD$LDT$JDL$HDD$FT$BL$@L$0D$(DT$ 蕘HG(D$tGGfG_ ')>TT H\$ E3E333aCHĐA_A^A]A\_^[HHPHHL@LH SVWATH8H3ۋH;;u'SH\$ E3E333BH;;u'}SH\$ E3E333BLd$pG@Hƪt*t%HcHHLHkXIH =H 4HLB8u%ttHcHHHkXI A8t"RH\$ E3E333B;u*HME3HT$hH0H׋謝H[H8A\_^[LD$LL$ H(LL$H蠫H(LD$LL$ H(LL$H褫H(HHPL@LH H(LHE3}H(LD$LL$ H(LL$H脫H(HHPL@LH H(LHE3]H(Hٝ@SH u;LHcȺ耈HHu$PHˉcHHux3HkHH0HHt HjE3HbEHILIHIHkXLIt ItMuIH0Iu3H [H(蟭=ltH H(@SH HH H;r:H@H;w.HH*H+HHHH?L蜎k HK0H [@SH H}nk HJ0H [H(H1H;r7HH;w+qH+H*HHHH?L H0sH(H(}rƌ HJ0JH(LD$LL$ SWHhIHMu%tOHd$ E3E333>iHtHtѹL$D$HBH;H|$@H|$0GHL$0E3T$8H豛Htl$8x HD$0 HT$03ɫHh_[LL$ H8HD$`HD$ H8ffLM t$H+t(HItu IHHHIr&I~LLIM3IMtIHItx$tuHItiHtbHItV$tSHItGHt@HIt4$t1HIt%tHIt$tHIAA A AE+t\AND;u2AH3;|  >E3E333H\$ $.3H\$PHl$XHt$`H|$hH0A^A]A\3A9X|Ax IcHHD$xHHL$pDD:FIIDM1H H9u-3A9XhKA9H[IcHHD$xHT8HL$pDD:IIDM1H H9uI%HD$pM1HAH3;*ЍR+ȍC DAMD+At\At7E;HD$xQHHD$(HD$pHD$ H3;4A@3;h;`;tH3A9XKA9HAAHA9X3Axm%A9H|+E@$IAAЋ‹kD+D;|Aދ3A9A8;AH3;;Ax|;Ax1E@QAЋJkdD+kdAP<3oAmAZA/E+E+tdE+t/D;DAH3;m SAH A;|$LL$pLljD$ dLl$xLd$p3Ll$(Ld$ 9$tIAp;I9$HLl$(L L7I $Ld$ LƺH433A9X\Ax QIcHHD$xHTpHL$pDD:IIDM1H H9u3A9X KA9HIcHHD$xHHL$pDD:IIDM1H H9u~AH3; ApAE+t|E+tNE;4:39^ HHHL$pDD: HIDL7H H9uAH3;-Qkd+HD$x3HD$(HD$pHD$ 9$tAu3n3A9XKA9HNA3A9XAxAx HD$x,H0HL$pDD:t@IIDM1H H9u*L8HT$pED:tHMD L7H H9uA`@UATAUAVAWHpHl$@H]`HuhH}pHH3HE LMLEME3LHMAA;tA;t IPIHI@E9\aAAL-FLE-3lDD$(fAXfDEfEAALD$ fALE3fE AA fEAAfEAAfEALfEAE3DA;=:HHHH;w HHH苡H+H\$@I;HcE3HI;t HI;tiAXLEL3Dd$(HH\$ ADXE~%HH:vIAˈIH HEHK9uLMLmAA:pHL9`AAILMAIA8$tDAdg1A'AAtAHtYAMt#AaHH^uOLg`A+t!A+tA+tA;QBbA۲mA+t A;t*A۲HiHLHuLgpKAtxHE3A:uL9X<'tRI3E3EXA;tL9vD8G>IHLjMHIIMHA:uIHcHE3A+t!A+tA+tA;_AaA۲dAЃh1A+t%t YOyHAy  I0I8E3A;L9 I'E3EXA;tL9vD8C2IHÈMHIMHL9IE3EXA;tL9vD8CIHÈMHIIۈMHA:uA+tA;t$A۲SfA+tA;tA۲MSA+tIA;tGIATE3EXA;tL9vD8GtcIHLjMHIIMH1A۲ILE\$0MIL|$(Ht$ mE3A;tEXIA:t LM3AHM H3H]`HuhH}pHe0A_A^A]A\]HHXHhHHVWATAUAVHpHH$LHHE3MIAL$M;sI;jE3I;^H$I;u HD$HHXHI;HD$@ A:%tsHT$HA;t;H|$@v3D8s H$HÈH$HHL$@H$H$HÈHD$@H$HHD$@SM;HAƀ;#uHÊD$0HD$@L$HL$HMHl$(HD$ A;tHD$@HI;L9t$@vE4$A;uAL9t$@w: 2"LI;vH$D1H+|$@D8t$`t HL$XH41E3E333Lt$ !D8t$`t HD$X3L\$pI[8Ik@IA^A]A\_^H8HD$`HD$(Hd$ H8H8Hd$(Hd$ H8H8HD$`Hd$(HD$ H8H\$Ht$H|$ ATH@Hd$0EHH3Hu'0Hd$ E3E333A 33Hu'0Hd$ E3E333 338u$0Hd$ E3E3333gKHHD$PHu]03F>u"I0H HL$03LEHH/HHHH\$XHt$`H|$hH@A\A@@SH0ILHHu%/Hd$ E3E333ɉ$AHIrHHt3/H0[HT$LD$LL$ SH`Hu%f/Hd$ E3E333UHtHL$@HL$0L$HL$0E3D$8D$HB{l$8x HL$0 HT$03ϋH`[LD$LL$ H(LL$HH(LMCMK H8IC E3IC H8LL$ H8HD$`HD$ H8LMK H8IC(ICIc_H8LH8IC0ICIC(IC<H8LMCMK H8IC E3ICH8LL$ H8HD$`HD$ H8HHHHPL@LH H(HPH(HHHHPL@LH H(HPH(HHPL@LH H(L@LH(HHPL@LH H(L@XH(@SH@HcHL$ HD$ ~LD$ RDH@DXA|$8t HD$0AH@[@SH@=HcuHX%YHL$ 3HD$ ~LD$ IRDH@DXA|$8t HD$0AH@[@SH@HcHL$ HD$ ~LD$ QDH@DXA|$8t HD$0AH@[@SH@=/HcuHXVHL$ 3"HD$ ~LD$ cQDH@DXA|$8t HD$0AH@[@SH@HcHL$ HD$ ~LD$ PDH@DXA|$8t HD$0AH@[@SH@=KHcuH/XVHL$ 3>HD$ ~LD$ PDH@DXA|$8t HD$0AH@[@SH@HcHL$ HD$ ~LD$ PDH@DXA|$8t HD$0AH@[@SH@=gHcuHKXVHL$ 3ZHD$ ~LD$ ODH@DXA|$8t HD$0AH@[@SH@HcHL$ HD$ ~LD$ 6ODH@DXA|$8t HD$0AH@[@SH@=HcuHcX%YHL$ 3pHD$ ~LD$ NDH@DXA|$8t HD$0AH@[@SH@HcHL$ HD$ ~LD$ JNDH@DXA|$8t HD$0AH@[@SH@=HcuH{XVHL$ 3HD$ ~LD$ MDH@DXA|$8t HD$0AH@[@SH@HcHL$ %HD$ ~LD$ fMDH@DXA|$8t HD$0AH@[@SH@=HcuHXVHL$ 3HD$ ~LD$ LDH@DXA|$8t HD$0AH@[@SH@HcHL$ AHD$ ~LD$ LDH@DXA|$8t HD$0AH@[@SH@=˗HcuHX%YHL$ 3HD$ ~LD$ KDH@DXA|$8t HD$0AH@[@SH@HcHL$ UHD$ ~LD$ WKDH@DXAW|$8t HD$0AH@[@SH@=ߖHcuHX%WYHL$ 3HD$ ~LD$ WKDH@DXAW|$8t HD$0AH@[@SH@HcHL$ iHD$ ~LD$ JDH@DXA|$8t HD$0AH@[@SH@=HcuH~X%YHL$ 3HD$ ~LD$ %JDH@DXA|$8t HD$0AH@[@SH@HcHL$ }HD$ ~LD$ IDH@DXA |$8t HD$0AH@[@SH@= HcuH}X VHL$ 3HD$ ~LD$ ?IDH@DXA |$8t HD$0AH@[3Ã@SH@HcHL$ HD$ ~LD$ HDH@DXA38L$8t HD$0D;u_uH@[@SH 3;u_uH [@SH@HcHL$ HD$ ~LD$ &HDH@DXA38L$8t HD$0D;u_uH@[@SH 3;u_uH [H;t$MtfDD HˆDJHIuH;Hl$ WATAUH H\$@Ht$HLt$PN4MIHLffIIL;wDHHAՅHOHH;vLHH;t%Ht H+fD HIDJuH+I;wLt$PHt$HH\$@Hl$XH A]A\_@UATAVAWHMILHu6Ht1 E3E3E333L|$ DHA_A^A\]MtMtHH$@H$HH$PL$LjLLE3fff3II+HHpHw*MLIIzINt0N HIHIHAԅ~3LHL;t(ML+fA HIADJuIIAԅ~3LIM;t(MM+fA HIADJuIHAԅ~3LII;t(LM+fA HIADJuIIH;vHH;sHHAԅ~H;wHI;w HHAԅ~H+H;v HHAԅH;r7LHH;tLL+A HIADJuH;uHzHH;s"fH+H;vHHAԅtH;rfDH+I;v HHAԅtIHH+I+H;|&L;sNt0J II;"LI;sJ\0N IL;LH$PH$HH$@L$HA_A^A\]H\$Ht$WH HHHu HjHu*\HwCH 7HHDL3LHHuo97tPHHt+HvHG 3H\$0Ht$8H _}HX%dH? H@SVWATAUH@I؋LLHHu*t&$H!t$ E3E333n 33u'Hd$ E3E333< 3Y3Hu'Hd$ E3E333 3&u3H$HC@Hst*t%HcHHLAHkXIH ozH fzHLB8u%ttHcHHHkXI A8t'Hd$ E3E333I 3Ht$0HtV|$xtHCxHHH H蔹ȉL$puM;u3Ht$0A $ILd$8 tA$H[HH@A]A\_^[ffMtuH+LItB H:uWItNtJHuJ ffwHJ H;uHII~vHLI3It H3HHÄt't#HttHtt tuH3H\$WH HNH=`wHtH\$0H _@SH CAH k<H [H@SH H זHtHHHtH [@SH ̹W̹VH;s-H\$WH HHHHtHH;rH\$0H _H\$WH 3HHH;suH HtHH;rH\$0H _H8Hu'>Hd$ E3E333HHtH3H8H8Hu'Hd$ E3E333?HaHtH3H8H\$WH H=ΫtH ëVt腺HH _uZH /ڹH3H=4HHtHH;rH=gtH ^tE33APF3H\$0H _H\$Ht$DD$WATAUAVAWH@EDV=nD%cH Ī9HHD$0HH r9HHD$ LHt$(LHD$8HH|$ H;r ;9H9uH;r\H39H9HH O9HH 8 9L;uL;t LH\$(HH\$0LHD$8HHD$ H(H ,H%H Et SEu&bAL$SA|AoH\$pHt$xH@A_A^A]A\_E33jE3AP\33DBO̺3D=@SH 8HH@HBHH*H.H辻H膹HbH 7H3gH [@SH =uj?=H [MZf9u9Hc GHHȁ9PEu f9Au3v 93H\$Ht$WHHL$0/MZf9ubHcH5HƁ8PEt 3ۉ$N f9Ht 3ۉ$8w 3ۉ$$39É$3ۉ$H56;u!9=xuM>;9u!9=Nu#>;\[y ,HEtH~py Uy Tt@|$lT$pA DEL3HtD$ uNa$u@VL$I[Is I_H(gH(HL$HH ~{LL\$XE3HT$`HL$XuHD$PH|$PtAHD$8HD$HHD$0HD$@HD$(H|~HD$ LL$PLD$XHT$`3cu"H$HHH$HH~H.H}H$H~v} p}H^HD$hH^HD$p} 3fH Q=}u  H"HĈH a@SHd$pHL$t3A萦L\$pH$H$L\$HHD$PH$HT$@HE3;tHt;Hd$8HT$@HL$`HL$0HL$XLHL$(H$LHL$ 3s H$H$H$H$H$D$pD$tH$E3ɋ3HL$H u uHHH[H\$WH HH $2HH2H HH\$0H _H 2H8HD$`HD$ }H8H\$Hl$Ht$WH0HH AIHT2HtLT$`DLHHLT$ %L\$`DLHHL\$ H\$@Hl$HHt$PH0_H8Hd$ E3E333_H8H8HD$`HD$ EH8@SH gH [@SH WH [@SH GH [HSVWATAUAVAWHPE3EADpDpDpANMLH$ A;tLt$ E3E333H$8 A;tLt$ E3E333H$R A;tLt$ E3E333TD5AD=<`D=%`H IHHD$@I;D80H I;t HHhA;u AwH sI;t襱HGHHDHQI;u HFLHPH , DA;xLt$ E3E333_H ~I;t 0L5~H 6~,~ ~k<$fD95K~tQ~k<ȉ$;~fD95y~t$~A;tDŽ$+k<$D$D$H$HD$8Lt$0?t$(I$HD$ EL}3ҋIA;tD9$u I$Dp?I$D0H$HD$8Lt$0t$(ID$HD$ EL}3ҋA;tD9$u ID$Dp?ID$D0$F $( $" IA;gAMLAW=I $HA;tLt$ E3E333I?-u AHHDEiD$0@9<+:| @:?:ulHHkH\$@Hl$HHt$PH|$XH0A\H\$Ht$WH0IHH?!tHd$ E3E333"HC@8tL AHHHD$ H8tL AHHHD$ H\$@Ht$HH0_H\$UVWATAUAVAWH0HAUAF!HH$3H;HnLkhED$ED&IEL jHD$(HfQHHD$ MLL5;3L6QH;tE3E333Ht$ I$IMQA;HEIIMII HLlHIEHD$(HHD$ LM;pH$E3A;uHHKXI;tu HKXΌHS`I;t u HK`貌HsXHkHHRH蝌HKXI;tu HKX~HS`I;t u HK`bHLkXLkHLkPLk`H\$pH0A_A^A]A\_^]@SUVWATAUAVAWHH4H3H$H$`IMHH- HpLhE3HL$@HtLt$0LHL$8I;I;M;;CuTD8cuNLRIH7A;tE3E333Ld$ I;tfD'fDgfDgI;tD&H;H LH=s(HIٟHL$8HğHL$PHE3HT$0LD$PHL$PHD$0HL$@LD$P@ID83tIsMHiHL$8MNLúNtHd$ E3E333Lt$0HtAIH|HtHT$@AH|MIHtHd$ E3E333I3H$H3܁HA_A^A]A\_^][H\$ UVWATAUAVAWHH2H3H$ILcH LL$HHT$pHHD$@AHD|$(HD$ _Hu3oIHL$pHHT;HLHL$pHHHLHtHD;HMoHL$hHD$XBAD$PKDHGHHD$`h{GHULD$pIL$D$DtHd$ E3E333HL$`ID$HT$HHD;HD$HAB {AD$@E33҉GH|9Gt!H|H|HAHH|EtIcH|H|H|AGAhzD$8D$0GLMD$(H$UD3HD$ KtCH$f!HHuHj=H$A'3ɅG|AuD$@GKH4H…HD$Xt"IHD;HtD\$PD$DFGH <H;t)HT;XuHL;X>IIL=0Hd;PA$Ld;XHD;HH$H3~H$hHA_A^A]A\_^]@SUVWATAUAVHH/H3H$IHt Ht IHcHHDH83DfH$A8LAAxC6Ax_+H$H|HHLL+x8;oAL%I $MHuI $zL;tHIAL;~HHH褿HHu }; AJHL$0LLź{tHd$ E3E333JLD$0AHD0HtH݀;t HÀ;HJH$H3*}HA^A]A\_^][!t$(H!t$ HT$0E3AHHt3HoHt-HUHL$0謙tLD$0HHuE3H ~EgZ3cHHXHhHpHx ATH Hw+Ht&AIAL$MHHu(H 3H\$0Hl$8Ht$@H|$HH A\IԹ`HHu H@IԹ HCHu H H;Ht%H9H;tHA`Pv'HH LƋHtHHSHdt%HKÃH [H ?H諃3HCD HCD HHt$H|$Ld$ AUAVAWH@LDE3v&$L!d$ E3E333n3nHHD$p`HHx HHtH;tHA`1u'H MAHLHD$0H Mt)H08I8 PAAE͉ pPA fHHHD-7HH .9H"9H AH P\tL9AC PACPA8IXH/I(Hp>I@H=A ]> {H5IHt$`H|$hLd$xH@A_A^A]H%}[3H%s[H%q[H%q[H%q[̋Z83H%e[H( B8t W[ 08H([H\$WH HHHMHAǁƁtCƁCH1H H q HHuH{7HHl 5H\$0H _H\$WH X Z7bZHHuHHHHt3 /7H>ZH˅t3:ZHK3ۋXHH\$0H _@SH qHHuHHH [H+H\$WH HHI8HtHKHHtrHKXHtdHKhHtVHKpHtHHKxHt:HHt)HHH;t HHL$0HtuHA$H;=Y>utHAI;u I]HL9'uHc HHI;u 4HHHHHI;u勌$L#$H==I;H=A;tKI;tFdH= A;}|NA;trH$H@A_A^A]A\_^]A;t3I;u%k HL=I;tL H=M=I;u F H7=I;tL H=(=HI;tHM+3IHMcH;tCy=MHI3;uHfB9<`fB9 `HHH;uH=<H+H;CH9:HcH UuD$3D;tjH9 tHL3HHHHH9uHcHH;s=H V<A 3H;t&H=<H=4<H+HjLG؋H [Ë= =H\$Hl$Ht$WH 3HHmHHu(9=v FDD;=AG;uHl$8Ht$@HH\$0H _HHXHhHpHx ATH 3HHAE3HH)HHu*9G=v"EDD;/=AAGA;uHl$8Ht$@H|$HHH\$0H A\HHXHhHpHx ATH 3HHAHH4HHu/Ht*9<v"EDD;<AAGA;uHl$8Ht$@H|$HHH\$0H A\H\$Hl$Ht$WATAUH 3IHALLHI˼HHu/Ht*94<v"vDDD;<AAGA;uHl$HHt$PHH\$@H A]A\_ffHHHtfHt_uI~IHMHLHI3I#tHPtQtGHt9t/Ht!tt uHDHDHDHDHDHDHDHD3Ht9t HHH;rH\$Ht$WHPHًHL$0Ie3H;uDsE3E333Ht$ 轵@8t$Ht HD$@3H\$`Ht$hHP_HT$89ruH|Z@8t$HtHL$@ f;t3DtH@83t ;u HC;tH;l@8t$Ht HD$@HfE3HHXHhHp HPWATAUAVAWH@MyM!Iq8M+AfMHL3HHL@9>+H^ CL;CL;{;tHL$0HIЅ~sA}csmu(H=WtH WgtIWKAHIO]IF@SMcMHD$(IF(IMHHD$ @R]H;>sj>3fIy 3I+9.vTH^KL;r>CL;s6H;r H;sAE u/;t H;t#HT$xIDZIDCMAH;.rL\$@I[0Ik@IsHIA_A^A]A\_H\$Ht$H|$ATH L%33I܃{u%HcƺH HJ8H H rt-H!HH;|øH\$0Ht$8H|$@H A\HcHI$3H\$Hl$Ht$WH HAH-z!HH7HttHx?HdfH'HH;|H Ht {uO?HH;|H\$0Hl$8Ht$@H _HcHHH H%x?H(H3?H(˨H\$Ht$H|$AUH HcپH=3u(N芨HHL-UI|t{(HHuF 3Z fI|u/HH\$0Ht$8H|$@H A]H\$WH HcH=HH<uuHEH H\$0H _H%$>H\$Hl$Ht$WH Hڅxi; ?RsaHcH-GRHHHkXHDH<u==u'tt u 5;HDH3  H\$0Hl$8Ht$@H _H\$Hl$WH xs; QskHcH-QHHHkXHDDtGH<t@=u)tt u 3:HDH 3M b H\$0Hl$8H _H8u>  ]x1; Ps)HcH PHƒHHkXHDtH, ̿Hd$ E3E333 HH8HHXHpHxL` AUH HcLIL-jPHkXKt|3 u3O |3 uHL3gn#D3 GtKLHL;H\$0Ht$8H|$@Ld$HH A]HcH OHƒHHkXHHLH%|;H\$H|$Ld$AUAVAWH@IEE3AL$ uA 3|$$HsO@LcJHH\$0JH H;C{ u; p{ u HKGmu DpDt$(C Eu HK:Ct HK:HIEu?CL#LNK+H.袋.HLIIH?LDDl$ HXH\$0IHzN E;lj|$$H_NXJYHD$0HttHcL9NIЃN I H H;s@L @ ` HXHD$0|$ HcHHHkXIDHADD|$ AH\$`H|$hLd$pH@A_A^A]HHXHpHx ATH0L3x@ߍG Esˀy9;uV8諼u@utHct$Hu;P8 PIԋHHHLLHkXIȈ\IȀd8IȀd8D$ H\$@Ht$PH|$XH0A\HHXHhVWATAUAVH````McHcFZLNF BA8Lc$A;&Lc$A;A H iAQDL A+A;}[Ùƒ;uAkd;u#lAiҐ;AC,ƒ;uAkd;ulAiҐ;u~ō+ADCDAAADAAD+ʙALHcHFHcHimHHcHH RItkH>teAEt^AEuH3A;tILcIHAMkXM$HI$AEAD$IL$FfA;tAD$ IH;|EIHHkXHGH;t H;tKCAD$ɃE;D0HHtJI;tEH;3A;t7H3uK@ uKHKeA;tC .K@HAHHQ "Gx23L$I[ Is(I{0Mc8IA_A^A]H\$WH HFH;Ht7H  t HO*2HHXH H;rH YH#HHHH;|H\$0H _H\$H|$ATH H -cH0H;u3cH`H;uwC ucL%,HcI<u+IHuHC HCHC$CI C$CHKH K3H\$0H|$8H A\̅t0SH b HsHcc$H#HcH [@SH B@It HzuA&Bx HHFu H [̅~LH\$Hl$Ht$WH II@LH@?tH\$0Hl$8Ht$@H _H\$Hl$Ht$WH A@@IIHt IxuA7~3MLHHŃ?u豳8*uLHֱ?H\$0Hl$8Ht$@H _HH@HHH@HHf@H\$UVWATAUAVAWHHNH3H$3HHL$hHHL$xIMD$`DD$TDD$HD$XD$P@RE3I;uA3E3E333H\$ ;8$tH$AC@L H" HA;t(t#LcL IAHMkXMɀ LL ȻA@8u)A;ttHcHƒHHkXIB8tA'3E3E333H\$ o8$tH$A1E3I;t@/ADT$@DT$DAL$A:H$AHA;H$E8B8u%ttHcHHHkXI A8t""H\$ E3E333l;u(HMLL$pMIHA֋H׋HVH\$PHt$`H|$hH0A^A]A\H8LL$ MLHH ;VH8H8LL$ MLHH O2H8H8LL$ MLHH H8H8LD$ LHH E3H8H8LD$ LHH E3H8H8LD$ LHH JE3H8H\$Ht$ATH03N^\$ ;I}iLcH8J<tPJ At>[tƉt$$|1H8J H0!H 8J HL8K$É\$ 돹SH\$@Ht$HH0A\H\$Ht$WH A3H$<u?At69+y~-HSDNj3;uCyCK HKcHt$8H H\$0H _@SH HHu5,jtcsH/3H [Ht$H|$Ld$AUAVAWH0DE33Ns3|$ A;=zGLcHR7J<tjJBt`SH27J At5Au9A;t%ADd$$EuAtA;ADt$(H6JSlj|$ nAADHt$PH|$XLd$`H0A_A^A]H\$HL$WH HHuRHHSH\$8H _̹HHXHhHp HWH HHKHcu K 4@t ֢"3t{HCHKC{C u/PH0H;tPH`H;u ;uHC+HS+kHBHC$;C~Dŋ1W K?t#tHHH2HHkXH H $A t3ҋDBIHHKD$0HT$0D0;D$0H\$8Hl$@Ht$HH _H\$Ht$WH IIHH; udM9u=H ]HHu3KHD$PHLH6LML"HHA(HtHH HH H\$0Ht$8H _HH(@SH v˃߃EˋH [H(AxHHH>ЋH(H(t肿H(H\$Ht$WH HHH؃t wuHt$8H\$0H _H\$UVWATAUAVAWHH6H3H$pE3L$L$IHHT$PLd$pHHL$`HDŽ$^D|$|fD|$xAD|$EAD|$9ED|$4\$lA:A%SvA;tXD+DHDl$4A;t%vA;uH֋~HMvA;uHl$PD8ekD8eP3D|$\D$D|$LAED|$XD|$@D|$0AD$L|$P@D\$8LAs3;tvCDDlCлL$0@:t҉|$h|$HD$pL$LD$p@<HD$|HH$HHD$ JA;p +u$Ź+A;uADID$<@`Ź+A;t\HD$pL$@<HHD$|LD$pH$HHD$ A;IAD$<mA;uD+Dl$4A;tIԋA;D8|$0u7Ht$pD$lD<3\$8H +͹H$L$LƋHl$PA;uD\$hA@:Hl$PEApAsAuAxA{tBHl$PE;T$9Dl$4E3AֈT$9A: L$L$ @:Hl$PEDOH}^uHDt$X3H$DB +}]AuA]IƄ$ E<]E3I<-uVE:tQM]tIID:sDEDE:w,EAMAӃIEMBE:vE DDAIBE<]xA38]+uA+t$H;ADd$4Hl$`0uOEHDd$4/D$<@g3;tgD$\@D$\ft$\3Ƀ߃;E|$<t>3L$Lt$\9D$ht+t6\$4Iω\$4D$@OUtqH$@OTH$3Ƀ;E|$D$X|$`t$\tD+t3H\$hD$4HJD${E3E333Lt$ ZjD8$tH$D$d\$dD8$tH$H$pH3H$HĀA_A^A]A\_^]H\$WH HcLHtYHW u @u ;u@`tHH;tH#u 3ۋ8LHHAH H MkXBDt "z3H\$0H _H\$Ht$ L$WATAUH0Hcكuy38y 3;;] HLIL-Z HkXKDL0u+sy8Ly H|$ E3E333ha~KDD0t  y )y8x H|$ E3E3333hH\$`Ht$hH0A]A\_@SH AHt"AtHIc3HHCCH [H\$ UVWATAUAVAW0H+HhH3H$ 33ELHcىl$@Eu3Hu.Jx!8#xH!|$ E3E333mgLLHIAJ Lt$PMkXAt8@@@t@u AШtAD t 3ҋDBvCmHJAD3HT$XHHV9YJ I t @g!|$LI܉D$XEwDt$X @HT$P E3 H-HTAA|Pt ADLL$]AD$\AdPHT$\I#t4IH+IHHL$DAH荘vHAHHL$DlUHd$8Hd$0L$XHD$\LD$DA3D$(HHD$ _HD$PHd$ H H LL$LHT$\I DBA+|$@9l$L EHD$PHd$ @l$\H LL$LDEH HT$\I T|$L|{D$@e@t@uE3f fD$DAH@t@u6L$DPf;D$DEtfl$D1f;D$DuxD$@A+A;\$LLt$Pl$@zet uLt$PJLADLJDADP\$L떋\$LHJ AD3I@ES Dt$@H$ 3ɋA+A;s&EH< u AHHHHHrH!\$ H$ DD+H Dt$@Lt$PLL$HH$ J I t5|$HH$ H+HcD$HH;ź A+A;N@E" Dt$@H$ 3ɋA+A;s1EHf ufAHHHfHHrH!\$ H$ DD+H%Dt$@Lt$PLL$HH$ J I J|$HH$ H+HcD$HH;ź A+A;?ENA HL$p3ҋA+A;s.EHf u fDHHHfHHrHd$8Hd$0HD$p+LD$pD$(U +3DH$ HD$ iD3HD$PHd$ HcH EH H LL$HD+I t t$HD;D;A A+A;I H!|$ LL$HEI[t |$H3~q~HlJAD@t A<$.dqyq H+H$ H3I H$H0A_A^A]A\_^]H\$Ht$L$WATAUAVAWH0ELHcكuq38p 3;;HLIL=HkXKL0u+p8p H|$ E3E333_mŰKD0tEIՋKp `p84)Kp8$p H|$ E3E333n_H\$hHt$pH0A_A^A]A\_@SH@HL$ HD$ DH@BY%|$8t HL$0H@[@SH@HL$ 3HD$ DH@BY%|$8t HL$0H@[Lº;̺Lº̺ΓLº̺鲓Lº̺間Lº˒̺zLº鯒̺^Lº铒̺BLºw̺&LºW[̺W Lº?̺Lº #̺ Ғ3f;@SH Lº3;uf_uH [@SH }3;uf_uH [@SH Lº蒑3;uf_uH [@SH !3;uf_uH [LEIA@wA  HAw EtD;tD+AH\$Ht$WHPHHHL$0IB Hu:lHd$ E3E333A\|$Ht HD$@qHtHD$0xu HHH|$HtOHL$@AHT$0ʑHT$0H踑HDžt;t+؀|$Ht HL$@H\$`Ht$hHP_H8=au8Hu')lHd$ E3E333r[HtE3H8H\$Hl$VWATAUAWH0-4IE3E3E3ۀ: EyEHLuI߀; t;at?;rt3;wt'kHd$ E3E333Z39 3A  IA׊AȃS~to  tLA+tBt+ tuEE׃@@@Ew@uqjEu]E׃ ]TtJt:A+t' tAu35Eu(E'EuEAu  s3 IߊEI߀; tH ZAHHI߀; t;=nI߀; tHjZAHTu HMHSZAH1u H*H@ZAHHI߀; t;HL$hEDID$ 谚D=!FD$hH&HfHf(FnHH\$`Hl$pH0A_A]A\_^H\$Ht$WH03ۍK?3|$ ;=J HcH"H<tkH@uV`rOGwOHH\LI@t HЋHlj|$ xHcXH HH H<tXH H0duH mH h L]I$$HOH H0L:IcHtccHcH#Hc(KHH\$@Ht$HH0_ffHM3M3Hd$ LD$(HfDHL$HT$DD$I ff@SH`Hu%0gHd$ E3E333yVJHtHL$@HL$0HL$0D$8D$HB至l$8x HL$0 HT$03H`[ME3uHhHHu%fHd$ E3E333U#Hd$@Hd$0HL$0D$8D$HBHhLHH E3MLHH вwLHH {oE3_MLHH `oGH\$Hl$Ht$WH`3MIHLL;u'eE3E333H\$ UL;tH;tL$AL;L$HT$@GHT$0HL$0ID$HBD$8AӋH;t7;|%l$8x HD$0HT$03t9\$8\.ÍCL\$`I[IkIs I_H8LL$(Hd$ MLHH HH8H8HD$`HD$(LL$ MLHH UHH8@SH0HMtGHtBHt=HD$`HD$(LL$ MLHH A`lyu0Sd" FdHd$ E3E333SH0[H8LL$ E3oH8HHXHhHpHx ATH0IIHHMMuHuH3HHI;vPcLFH q_HD$hLHD$(HD$`HHD$ uonc8"`cTcH %_LD HD$hLHD$(HD$`HHD$ 0DuHuc8"uC cD 9y8u-b" bHd$ E3E333/RH\$@Hl$HHt$PH|$XH0A\H8HD$`HD$(Hd$ H8H8LL$(Hd$ MLHH kpHH8H8HD$`HD$(LL$ MLHH k8HH8H\$Ht$WH0HHu$bH!|$ E3E333NQ A@t AA uMHAHH(DG$HWGGu_HtHI;sNH;HBHH;r H—HuHV H;rDH謗Ht7HHH=u5H ,uWHqAσti t>ttZH\$0H 14yHHH yHpH  yHHt[HxHJH xHHt5HxH$H xHHtHxH3ϓEuHCt:t5 t0~~&VHd$ E3E333EHHH\$PHt$XH|$`H@A\H\$Ht$WATAUAVAWH@3|$p3у tMt,t_UH!t$ E3E333>EL%H |$pL%H |$pL%wH p|$puhxHHukHHLcS9YtHIHHH;rIHHH;s9Yt3LaM,$L%H |$pvLIu3Mu AMu>̅t3t tt L|$8Dt$p1LL|$8HuDdžDt$pu9 qщL$0i;}*HcHHHd‰T$0 @%vI$t3R;u AA;t tuL;uD3L\$@I[8Is@IA_A^A]A\_H H\$Hl$Ht$WH0HH uHHu(SHd$ E3E333ɉBeHH DHHtHDH HHu:JSH%RH!|$ E3E333ɉBRIHtHtHH;t H HׅuR R3H\$@Hl$HHt$PH0_@UVWATAUAVAWHHH3H$H$ EEL3LL$0E!t$(AH|$0D$ 莓Dui)z!t$(!t$ E3EAI_LctbIHHHtJd$(LEAIDd$ %Dt McIʈHHEHu2tHH$H3HA_A^A]A\_^]AD$LILcutHd$ E3E333D?tH3롅u!T$(H=MEALD$ 7qE7&tMHH@΀0H;M|H H H8RD؉D$ =u E3D\$ AH8H(H8csmu+xu%@ = t=!t="t=@uo3H(H(H O3H(H\$WH 39=Vu\H(HHHD؀; w ;t3t);"u 3 输tHH< w HÊuHH\$0H _H\$Hl$Ht$WH0=u:\H[3Hu<=tH&H\uGHcgHHٹHtH ;teH;=ptCHcH,HHtrLHHtHd$ E3E333HL$0 HDAHD$ SEL$?HL$0 HDAHD$ 0EL$@HL$0 HDAHD$ EL$AHL$0 H DAHD$ EL$BHL$0 H(DAHD$ EL$'HL$0 H0DAHD$ EL$(HL$0 H8DAHD$ H@HD$ EL$HL$0DA^EL$HL$0 HHDAHD$ ;HL$0A HPDAHD$ HL$0A  H\D3HD$ X H\$PHl$XHt$`H|$hH@A\HSH HHIHKHKHK HK(~HK0uH mHK@dHKH[HKPRHKXIHK`@HKh7HK8.HKp%HKxHHHHHHHHHHHHHHtHhH\HPHDH8H,H  H(H0H8H@HHHPH [H\$Hl$WH y HH-W{tKhbbHHuMHHtHHtǃ`HHXH;t`HX3H\$0Hl$8H _E3HD8 t<0|<9,0HD8 u<;uLA@AIA:uHtBSH HH H; 5tHKH; +tHKH; !tH [HHXHhHpWATAUAVAWH@3HHHHX9Yu9YuLLH-ĉXXHDgIaHH;uAH(HL艿H|`LH;u Hlj9^HW`LH;ts~>HL$0AADHl$ HMHL$ HL$0ADAԋL}HL$0ADA L|$ tHAHI[I3<0|<9 ,0I8u;<;uLA@AI:uHLHEHHEHHEE&L;tEeHH;tHH;tuHH(LLH(3L\$@I[0Ik8Is@IA_A^A]A\_E3HD8 t<0|<9,0HD8 u<;uLA@AIA:uHSH HHIH; tEHK H; t3HK(H; t!HK0H; tHK8H; tHK@H; tHKHH; |tH [HHXHhHpHx ATAUAVH@E3HHHL!`D9auD9auE3H- XH׍O:^HHu 8H]LHu HKD! D9fhH]LHu H$Iσ ~8AHEAQHL$0DHD$ HM AHL$ AQHL$0DNjHM(AHL$ AQHL$0D AHL$0 HE0AQDHD$ ALu8HL$0AQD Lt$ AP HE@HL$0AQDHD$ bAQ HEHHL$0AQDHD$ @HL$0A HEPD3HD$ HL$0A HEQD3HD$ HL$0AT HERD3HD$ HESHL$0AUD3HD$ HL$0 HETAVD3HD$ HL$0AW HEUD3HD$ HL$0AR HEVD3HD$ `HL$0AS HEWD3HD$ @ t HHIII<0|<9,0H€:u)<;uLA@AI<uH!HLH(HHMH(HHHMH(HHHMAEMtA$H HtHHtuH(SHGL LH(3H\$`Hl$hHt$pH|$xH@A^A]A\3H(;GH ~H9ts|u3HH(@SH0LHt HtMu,D|#Hd$ E3E333ɉH0[À9t HHuHuAAIHtHuHuA#"3H8HoH3HD$ E3LL $LL$LL$LL$LDIBIAA:u$ AIEAIBtIcHL$ H3荽H8HHXHhHpHx ATAUAVH 3M;L|?;t=IM>+HcLMK;u KLIM }}u;~;Hl$HHt$PH|$XËH\$@H A^A]A\@SH IHC$C H [H\$WH0HmH3HD$(HHHtf9taHh&gtQHT&HTuO$DHLD$ P stBH\$ HHL$(H3MH\$PH0_ËO$LD$ A1u3H%HL$ u6E3H%A@f; tDHA r3̊LE3'BI<w B<wAEFLЄuA3ҊHH ɌH;t2g6Ht(HHtH H;tG6HtHHH .6HtDMIH3H\$pHl$xH@A^A]A\_^H8x ~ u~1~ ~#Hd$ E3E3338H8É e̋eH\$Hl$Ht$WH`3IHHL;u3H;u)E3E333Hl$ H;tIwHL$@I舲L\$@AS;uHfAr fZwf fAr fZwf HHHt f;tf;t+VACHL$@LˉD$8t$0AH|$(t$ b;u'@8l$XDHD$P3@8l$Xt HL$PL\$`I[IkIs I_@SH03L9H;u&SE3E333H\$ _H;tIwAfAr fZwf  fAr fZwf IHIt f;tf;t+E3H0[H\$Ht$WH0HHtKBHHHKYHHt-HVLH0tHd$ E3E333KH3H\$@Ht$HH0_H\$WH03H;t H;vL;u0f95E3E333H|$ ~H\$@H0_LAIfAIf;tHuH;uf9"3H\$Hl$WH0Hd$@H,{HHtud$(Hd$ DL33NHctxHϺvGHD$@HtaLD33ɉ|$(HD$ t:HL$@3;xHHHu3H\$HHl$PH0_HL$@Ht HL$@KHHXHhHpHx ATH0HzE3AI;uf=tH@H\CfA;uGHcFHH%zI;tHQzfD9#thH@f;=ptCHcHfFHI;txLHHA;tE3E333Ld$ HHcHCfD9#uHyHWL%yL'3H\$@Hl$HHt$PH|$XH0A\H kyL%_yH\$Hl$Ht$WH 3HH;u3Lf9tHf9uHf9u+ǃHcHEHH;tLHHHHljHH\$0Hl$8Ht$@H _ f;tHfuf;uH3HHXHhHpWH`HHHHIIIyHL$PHt Hd$PHHHY3H\$XHl$`H@_HL$PH\$WH0IHHt23HBHH;s$ Hd$ E3E333 3]HHHD3HwH |PLHu-=tHt5uHt Ht H\$@H0_H\$Ht$WH03HHHt13HGHI;s# H!|$ E3E333 3=IHtuHHHHsHHtH;sH+H 3LHH\$@Ht$HH0_H8u R Rx.; s&HcH HHHkXHD@" Hd$ E3E333 \3H8HHHHPL@LH SWH83Hu% Hd$ E3E333jH|$XطHP0>ķHH0S贷LE3HT$PHH0V虷HP0zT舷HP0vH8_[HHPL@LH H(L@aH(HHPL@LH H(L@aH(HHHHPL@LH H(L@3naH(HHPL@LH H(L@daH(HHHHPL@LH H(L@3:aH(H}T3HH9HH#H H UT3HH9 H\$fDL$ UVWH`3IHHH;uL;vH;t)3H;t Iv$E3E333ɉHl$ 6oH$HL$@L\$@A9k$f;vLH;tH;v L3H*t@8l$Xt HL$PH$H`_^]H;tCH;w<@"E3E333ɉHl$ @8l$XHHL$P7H;t@8l$XHD$PH$$AKHD$8Hl$0L$A3҉|$(Ht$ ȃ;t9$H;thzH;tH;v L3H_"E3E333ɉHl$ @8l$XgHD$PVH8Hd$ H8HHXHpWHPHHH؃IЉp ,L\$0Mc HD$0HL$xDHHD$ Dt$x|$Ht HD$@H\$`Ht$hHP_H\$Ht$WH0Ht$PHd$ HL$PLcDH%H\$@Dt$PHt$HH0_@SH B@It HzuA&Bx HHau H [̅~LH\$Hl$Ht$WH II@LH@?tH\$0Hl$8Ht$@H _H\$Hl$Ht$WH A@@IIHt IxuA7~3MLHHŃ?uU8*uLHֱ?H\$0Hl$8Ht$@H _H\$UVWATAUAVAWHHPH3H$3HHL$hHHL$xIMD$`DD$TDD$HD$XD$PE3I;uA3E3E333H\$ 8$tH$AC@L HZHaA;t(t#LcL IAHMkXMɀ LL A@8u)A;ttHcHƒHHkXIB8tA3E3E333H\$ 78$tH$AKE3I;t@/ADT$@DT$DAL$A:H$AHA;H$E<3u2uHA&*A0uA AA׸DA;I]IA0uA At~A;u EMIDAc;IcH @I;u"HD9u HfDH$@ HL$LAE3A;tKD$DAA;u AEI%AcIcH @I;&Hf$@ D\$LH$@ DMD$@ A@A;I;AcUIcH @HD9Y@D eg~in#opsVuoxO'AcIcH @I;uHD9jHHAt5I;D$HDNH A+fD9t HA;uH+HI;HDMH A+D8tIA;u+sAA$AEAQQD$T0T$PD$UAEy}A vA;u I}I%AcIcH @I;HH8TE3A;D$HA tfH$D$DA@A T$PAsJA;u MEIAcBIcH @I;ufHD9u A sMA;tAcIcH @I;u"HD9u HL A A@tSA;uMEIAcIcH @I;uHD9ATHLA;uEEIAc@IcH @I;tHDpA@t6A;u McEI[AcIcH @I;pHLc4A;u EEI%AcIcH @I;:HDE3A@t M;}IAAr A rEE;}EAD;DO$IH$? H#ʉL$PAE+A;M;t3IIcHLB09~LjI+H$H$? +IA D$L|E3A;t ;0nI+D\$L0^DźbE;H$@ }AIu @guAEHu -7H >HHd$ LL$DHT$@AX==qYxu}%}=gXHd$8Hd$0HD$HLD$@A3D$(HD$ lZH ]>Ht0Hd$ LL$DHT$HDXtfD$@ =HL$PH3xHhH\$Ht$WH@H3ۋH;;u+H\$ E3E333Q HHHH|$0H;t"HHt$Pmf;uιnH\$XHt$`H@_@SH ٹi$ع3fH [fL$SH`f;u 3ff;sHV;fHf#nHL$@I {L\$@ACLD$pHL$@D$0ACDʉD$(HD$xHD$ 53;u fL$xfD$x8L$XtHD$PfD$x#H`[fL$SH@f;u3of;sH:H#P=CLu<3LD$PD$03H @5D$(HD$`DHD$ 4L$PE3H@[k̍A Hl$WHpHcHL$PysbHT$P ~LD$PHT$PH@xtHH8|$ht HD$`HD$P ~6HT$P@.jt@$@$Ƅ$ *@$Ƅ$HL$PD$@L$AAD$8H$D$0HD$(T$ QHL$P2$t $ |$ht HL$`H$Hp_H(=mJuAw 3mH(HHXL@HHUVWATAUAVAWH3AAH@ox@$HxEtxAl$pDHL$T9;tE3E333H|$ r@u |$TtE AA#Ⱥ;tT+t:;t18 ^E3E333H|$ D@tuA@D$At,t#tt@uD;A AϋƺL$H#tF=t8=t*=t=t*=t&=t;t/A AADl$PsA"$AEDDDl$P@@tAADl$PL$H s ADl$P@ tA @t ADl$P1u!8 H$DD$HH$H|$0LL$`ADl$(l$ RHD$XHA#;uC@t9DD$HH$H|$0ALL$`Dl$(A׉l$ 1RHD$XHu;Hc L-,gHHHkXIDdR[8HR;uMHc L-fHHHkXIDdQȋHL$XQ;u A;uA@ uAHT$X Hc L-wfHHD IDHkXDtHc HHHkXIDd8A$HD$LEAtx Eă2D$Du88tP }Z HT$@A@|$@ ;u|$@uHcT$D :/t E33-2tE<@uD$T#u #=@tJ=t,=@t%=t+=@t$=t=@u($#;uD$@$|$DA@A%=@$=t|=;A;vv8l$AA+ A;PD$D E3sH;t E33bH| HT$DAZaA;t uk|$DuD@D$D$D=u X4=u# E3Az0D$ E33X0;;vqA; E3H; E33Hu8D$DA HcEHTDD+famD;AHc @$H@HHkXIDd8@l8HcHƒHHkXILƀd8D8@8|$Lu!@tHc HHHkXIDL A%=AHL$XMD$PDD$HH$H|$0D$(ALL$`D$ AuMHu6qMLcIAHMkXIDBd BHcHʃHHkXILH H$HĀA_A^A]A\_^]HĉPL@LH VWHXH`E3HAEu(Hd$ E3E333=H$HD@d$0DD$(D$ @DLHT$@HL$DvD$H|$Dt9t(Hc|$@HHHL_aHkXId|$@V|$@t G0HX_^Ht$WHPELd$@3H$Hu(8Hd$ E3E333N3Hu(8Hd$ E3E333$t8Au%8Hd$ E3E333Ѿ`L$0DL$(DT$ DHHL$@'D$D|$@t,t!HcHHL`HkXIdtHt$`HP_LECMK SH@d$(MKIC MKD\$0L$0EˋH@[H8ADL$`ELD$(HL$ DAIWH8HHXHhHpWHPHHHHIIm3H;u@8l$Ht HD$@3HL$89iuLHHJ[H;u<E3E333Hl$ ]@8l$Ht HD$@-H;tAHHDL tUH;ufDLZ@8/uCfHf f;Qr f;QwfQ$f;Qrf;QwfQDtDHIELtNH;u^H@8.ufQfAHfD fAfD;Ar f;AwfA+f;Ar%f;AwfAADt fAf;uf;H;u@8l$Ht HL$@H\$`Hl$hHt$pHP_E3 H\$Hl$Ht$WHP3IHHL;u3&HL$0IkL\$8A9kuLHHH;u<0E3E333Hl$ z@8l$Ht HD$@H;tAHHFDt-H;uFDu[fG@8/uf ff HHFDt#H;uH@8.uf ff Hf;u&f;tH;u@8l$HHD$@@8l$Ht HL$@H\$`Hl$hHt$pHP_E3HT$L$SUVWATAUAVAWHXAHcADd$4\$8A;u38 3;;[HLL IKHkXD1v8~;H;tD|18AEAAσtu ШtLdШtA;AB؋LH;u =$3DBL ELKL\0@KIA D0HL0 A:;AMKAAIUAhDD0 D:tbKL09A:tQ;tM KAHAhDD09Au.KL0:A:t;t KHAhADD0:KLL$0DH 1H|$ D;HcT$0;H;L7KD0yA;tA} uL0d0HcIMIHD$@L;: A$< @:t HIHD$@HL;sID$8 u ILKLL$0H$H 1AIH|$ C;u C;u{9|$0tuLTKD0Ht"$ t'@+K$D1 GI;u$ u 3$AHY$ LtL@+HL;d$@KD0@uL0 A$HËA+A;AI+uIAI;rI+AB8Vt BV;u*A;uHcH^KD0Ht;I߃L0 |KI߈D19uKI߈D1:HcH+$EHc.D$8L$A+DMʼnD$(3ҹL|$ A;u BbADd$4;HwJ@|0H;׺ tfA9UuL0d0HcIMN<(M;{ A$fEf;tfHI%IGL;sID$f9u ILKLL$0H$H 1AIH|$ @;u!A;9|$0LKD0HtF f9$tKf+$KD1 $KD19KT0:WI;u f9$uf>$HDBk Lf9$t Lf+HM;"KD0@uL0 A$fHA+Dd$4L$M;tI`gADDAi?u muD뮋$3)8 E3E333H|$ HXA_A^A]A\_^][H\$Ht$L$WATAUAVAWH0ALHcu3ۉi 3;;=#TLLIL= TAMkXKBL u.8 H\$ E3E333[A;u+H\$ E3E333nKBD tDIՋs s)c H\$ E3E333譱H\$hHt$pH0A_A^A]A\_H8Hu&Hd$ E3E333gHLH G33<H8̹邧H"t ahHt Rk"t_H$>HL$03A VH$3HD$@HD$0D$0@HD$ H$HD$(I>HL$ 6>Ī̋:"D#AD#D D%"IDL$(EЋLAH%;H\$Ht$WH@HHL$ IA`DL$pLË׋;|$8t HL$0H\$PHt$XH@_@UATAUAVAWHPHl$@H]@HuHH}PH H3HED83MEDHDfD;u7E3E33;;t582<D8xEDD8E;D;D;u'uh;uHpE3E3AA:LcD;u3~g3HBIHrXKL$Hw1HAH;w HH5)H+H|$@H;tGcHH;tHHH;tELAA%:;t8E`A3H\$8LNjH\$0;u \$(H\$ D$(L|$ ;<HO9u@HL$@LΉD$8\$0AH|$(\$ u脨y|$Xt HL$PH\$pHt$xH`_H(=qufE3H(H\$Ht$H|$ ATAUAVH0MMHL>VHx0H|$X3Hu%Hd$ E3E33319HWH MMHHA֋H׋HqWH\$PHt$`H|$hH0A^A]A\MLHH 3MLHH $MLHH LHH E3LHH ߢE3LHH OE3HHHd$0d$(AH E3ɺDD$ "HHHHHHd$0d$(AH pE3ɺ@DD$ U"HHHH(H }Ht HtK"H \Ht Ht2"H(H(AAMD}3LL$PDIA)!H(H\$Ht$WH@HHL$ AIE}3LL$pDH׋ |$8t HL$0H\$PHt$XH@_HHXHhHpHx ATAUAWH H33DG9LHtPDG3ҋ#Ht=HH+H;!AWHM!HH;u1 H\$@Hl$HHt$PH|$XH A_A]A\úDDI;HEMNjK,t HH+H;~դ8u 諤 HAԋ LH3 U}]E3HՋ>HT5HHHHHu%B WH HE3IՋH3Ht$H|$ L$ATAUAVH0HHcu F ;54LLIL54AMkXKBL u0谣 舣 8Hd$ E3E333В3Hu-t L8Hd$ E3E333蔒d}KBD tH׋r  8+ 8Hd$ E3E333.Ht$XH|$hH0A^A]A\H(HcH(H\$Ht$WH HcANHuo RDE3Hu*3t wHHH3HHHkXdH\$0Ht$8H _H\$Ht$L$WATAUAVAWH0EDHcكu38ɡ 3;;2HLIL=2HkXKL0u+蚡8s H|$ E3E333轐mKD0tEAՋ+ @8)+8 H|$ E3E333NH\$hHt$pH0A_A^A]A\_H\$LcH1MAIMkXJ BD8F\ADA@tXtHt(t uHBLJBd8BL80BLJBd8BL8BdBLJ Bd8EuA%@H\$H8@t7t/t'۟Hd$ E3E333$ #3H8H8Hu'螟Hd$ E3E333 3H8H\$Ht$ L$WATAUH0Hc@tHt@t8t0t(#Hd$ E3E333lu ;=/HLIL-/HkXKDLu%訞 Hd$ E3E333]KDDt Ӌb R#I Hd$ E3E333蒍H\$`Ht$hH0A]A\_%l%n%p%r%t%v%x%z%|%~%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%V%@%2%$%%p%b%T%F%8%*%%%%%%%%%%%%%t%f%X%J%<%.% %%%@SH0Mыمt*;tA;u!HD$xDL$pLD$hHT$`IHD$ H0[H\$WH H3HHWLHt4HȊt&<"uH AIHÊutAH>3H\$0H _HHXHxL` AUAVAWH0LHE3L!xAOu3|L;3HL$`WtuL!|$ E3E333uHL$`Ht3uH\$`5Ht3Ht"3H HH HEMt I^LHSBL8 DQHHLIHvtHd$ E3E333KHLl\A8Uu:H'L;t_LWIHvtIHd$ E3E3332A}/t+L#IHhvtHd$ E3E333LJMt'MIHH0Hй@H0]@UH0HMPhH0]@UH0HM`QH0]@UH0HHMH@H0]@UH0H4H0]@UH HH ]@UH@H}Dt7}Ht'HcU@HHHL HkXIdU@H@]@UH@H}@t>}Dt*HHc HHLt HkXIdH hH@]@UH0HM`QH0]@UH0HHMX?H0]@UH0HMP"H0]@UH0HM` H0]@UH0HMPH0]@UH0HH0]@UH HHcM HH!H>H ]@UH HH ]f///v//T/B/2/.)).....z.h..F+T+d+t+++++++++,&,:,L,b,v,,,558+h5\5L565&5554444444j4Z4@4&4 433333&++ +****z5****r*d*N*>*(***x3f3V3>3503/ 00$0<0V0t0000000011101B1V1r11111112"2,282J2Z2j2v22222222223/,,-P.B.,. ...----,---n-b-N-:-*-"---,///ؤ@ @@0@(P@]@@ IZCreateDirectory (%s)MapViewOfFile (%s)CreateFileMapping (%s)CreateFile (%s)inflateEnd returns %dinflate returns %dinflateInit2 returns %d1.2.3\message_boxdirectory_createdfile_createdget_root_hkeyget_special_folder_pathcreate_shortcutCSIDL_FONTSCSIDL_PROGRAMSCSIDL_COMMON_PROGRAMSCSIDL_STARTUPCSIDL_COMMON_STARTUPCSIDL_DESKTOPDIRECTORYCSIDL_COMMON_DESKTOPDIRECTORYCSIDL_APPDATACSIDL_STARTMENUCSIDL_COMMON_STARTMENULib\site-packages\DATAScripts\SCRIPTSHEADERSPLATLIBPURELIBInstallation failed.no such folder (%s)unknown CSIDL (%s)sSHGetSpecialFolderPathAfunction not availableshell32.dllFailed to create shortcut '%s' - error 0x%xSetWorkingDirectory() error 0x%xSetIconLocation() error 0x%xSetArguments() error 0x%xSetDescription() failed, error 0x%xSetPath() failed, error 0x%xQueryInterface(IPersistFile) error 0x%xCoCreateInstance failed, error 0x%xsss|sssiCoInitialize failed, error 0x%xissiSOFTWARE\Python\PythonCore\%d.%d\InstallPathPYTHONHOME=%sOSErrorValueErrorbuiltinsPyLong_FromVoidPtrPyErr_FormatPyArg_ParseTuplePy_BuildValuePyCFunction_NewPyObject_GetAttrStringPyObject_SetAttrStringPyImport_ImportModuleRunning Script...Could not open postinstall-script %s Py_FinalizePyRun_SimpleStringPySys_SetArgvPy_Initialize*** Could not load Python ***PyErr_PrintPy_SetProgramNameOut of memory!Running the pre-installation script failed Can't load Python for pre-install script (%d)Runtime Error100 Made Dir: %s .py200 File Copy: %s Error200 File Overwrite: %s Could not create temporary file~duInvalid cfgdata magic number (see bdist_wininst.py)Times RomanSetup %sCould not register window classSetup.exeSetupWindowClassThis Wizard will install %s on your computer. Click Next to continue or Cancel to exit the Setup Wizard.Software\Python\PythonCore\%s\InstallPathPython Version %s (found in registry)Software\Python\PythonCoreDon't know Python's installation typeStrangepython%d%d.dllPython Version %d.%dCannot installNo Python installation found in the registry.Python version %s required, which was not found in the registry.Python %s is required for this package. Select installation to use:UninstallString"%s\Remove%s.exe" -u "%s\%s-wininst.log"wb%s\Remove%s.exe040 Reg DB Value: [%s\%s]%s=%s Could not set key valueDisplayNamePython %d.%d %s020 Reg DB Key: [%s]%s Could not create key%s-py%d.%d999 Root Key: %s Source: %s *** Installation started %Y/%m/%d %H:%M *** a%s\%s-wininst.logCould not open keyYou do not seem to have sufficient access rights on this machine to install this softwareHKEY_CURRENT_USERHKEY_LOCAL_MACHINE*** Installation finished %Y/%m/%d %H:%M *** Postinstall script finished. Click the Finish button to exit the Setup wizard.*** run_installscript: internal error 0x%X *** 300 Run Script: [%s]%s \Scripts\Please wait while running postinstall script...-installIsUserAnAdminSetupFailed to start elevated process (ShellExecute returned %d)runasif exist "%s" goto Repeat del "%s" :Repeat w%s.batCould not delete keyCould not delete valueuninstall-script*** Could not run installation script ***-removeUninstall Finished!%d files and %d directories removed%d files and %d directories removed %d files or directories could not be removedYou do not seem to have sufficient access rights on this machine to uninstall this software%d Run Script: %s%d Reg DB Value: %s%d Reg DB Key: %s%d File Overwrite: %s%d File Copy: %s%d Made Dir: %s%d Root Key: %sAre you sure you want to remove this package from your computer?Please confirmOut of memorycould not open logfiler2. arg is not -u-uWrong number of args%s%cimport py_compile; py_compile.compile (r'%s')Py_OptimizeFlagPySys_GetObjectCompiling files to .pyo...Loading python...Compiling files to .pyc...Failed to unzip installation filesInstalling files...Running pre-installation scriptReady to installClick Next to begin the installation of %s. If you want to review or change any of your installation settings, click Back. Click Cancel to exit the wizard.Bad user_access_control valueoopsnoneautoforceuser_access_controlinstall_scriptnamemetadatatarget_versiontarget_optimizetarget_compilebuild_infoinfotitleSetup program invalid or damagedThis program is normally started by windowsRemoveCould not open archive0w,aQ mjp5c飕d2yҗ+L |~-d jHqA}mQDžӃVlkdzbeO\lcc=  n;^iLA`rqgjm Zjz  ' }Dңhi]Wbgeq6lknv+ӉZzJgo߹ホCՎ`~ѡ8ROggW?K6H+ L J6`zA`Ugn1yiFafo%6hRw G "/&U;( Z+j\1е,[d&c윣ju m ?6grWJz+{8 Ғ |! ӆBhn[&wowGZpj;f\ eibkaElx TN³9a&g`MGiIwn>JjѮZf @;7SŞϲG0򽽊º0S$6к)WTg#.zfJah]+o*7 Z-A1b62S-+ldEw}ZVǖAOIъ OM~-QJ#SpxAaU׮.7׵Y-6]]wll?AԞZ͢$ Faw$eڪ]]FD(koipvk19Z* ,  m86F߲]qTp0ek*1u4yީ%8S1bSWĔՖk1**ykʬHpo].*F6fcTT"eM©g0&):{ϼkZ> 8$,52F*sw1pHkQ6Fzw]cN̵J #pAF]#l8?1(BOgT~yUbL8^#ܖTZ1ObbSyOIV~P-{b-R4٠~^eGnHl/Su6: #jT$+e?yHf'*b#ٽЧ ?&~?$pi;FBzw[keZ~7 Sv8H 3?r$7jnԄYFܨ |OQ;օ U d S - =G\ p&Gw)` /a߫i5&LsZ<#0zMzFM8,9; :R:(q-v,.7/pXqYs3r%w+OQvrtEux܉~OK }!b|tyBxʠz{.lD~m8onlk[wjR1h58ib?mcf+aQ`צedd"fig HINSKyuJcO NZLݘMFGN@E$DD2AsX@*IBCPhTg3U>uW ַVS:R|P~Q9ZS [fYX4])\ZEo^m/_5qϱ٥s\ۼqދ!K7 kfֶԁ-b3Πjp]$^'~*I@VW<âM˟ŏ{ tDCm-@wm.B+(铜>Td"ŀǼϭ~8y$owJ1}05_K^ iϏ은BI#ƈdX܁T̓cQ: rՆ⩗ fn|xK)o%ƭ/3vUuA?)C:|sĵ@͂ Ͳ;bIUeh"׻_HS1޼^Z4eg Wb27_k%8ם(ŊO}do׸Jj3wVcXWP0qB{߭gCru&op-?'Bs ưGz>2[Ȏg; i8P/ _Y=чe:ZO?(3wwXR @hQ+ğH*0"ZOWoI}@mNП5+#*'G| AH=XX?#1jvʬ`p^Y<L~i/{kHwâ hs)aLoD~Pf7VM'(@ﰤ ہg9x+n&;f?/X)T`D1 ߨMߒ.FgTp'Hq/L0UEc?kǃh6ry7]P\@TN%s7@'>$!AxUʰ\3;Y^U~PGl!;b F2ȂpԞ(Q_V:1X: n3 m:@/)IJNv"2x+ٗ Kx.HҥfAj^y9*O]#kM`~b_R 7zFh!1߈Vc0a"j6nS Nr)Υ{t*F8#vufz`rs"WG9^EMvc΍&DAdQy/4Aڱ&S֚E biLQ<6'5P..T&q]w4.6IE? v\[YI>U!lDa>Ԫ΋ϩ7~8A]&nv|oY yKiw\¹9~$ 66nQfq>,o,IӔ 渱{I .H>C-Yn馑gQz tafw0a, Qmpjc5dۈ2yܸو L+~|-dj qHA}mԵQӅlVdkbze\Ocl=c ;n Li^`Agqr<KG k5Blۻ֬@2lE\u ϫ=Y&0Q:Qa!V#Ϻ(_ ٲ $/o|XhLaf-=vAq *q3xɢ4 j m=-dlc\kkQlabe0bNl{WeP|b-I|LeMaX:QΣtԻ0JߥA=ؕפmCij4ngF`D-s3 L_ |Pq<'A  Wh% of a^)ɘИ"רY=. \;l  tҚG9w&sc d; mj>zjZ '}DhibW]egl6qnkv+zZgJoC`֣ѓ~8ORѻgWg?H6K +گ L6JAz``ègU1nFiyaf%oҠRh6 w G"U&/ź; (+Z\j1,ٞ[ޮd°c&ujm 6?rgWJz{+ 8Ҏվ | !Bhݳڃn&[owGwZjpf; \ebiaklE x NT9§g&a`IiGM>nwۮjJZ@ f7;𩼮S޻G0齽ʺŠS0$6TW)#gfz.aJ]h*o+ 7 Z-1A26b+-Sdl}wEVZOAي»IˬO ~M-JQS#xpaA.U7Y-۩6˚w]]llA?Z$㧲F waރ$Ųe]]DFok(vpi91k *Z  ,8mF6]pTqke0*1¶u4%y<8syjHA}X*ݹ1SbSW§ٖծ1k**kypH]oF*.f6TTcMe"¤0g)&Ůޟ:{kZ >8,$5*F21wsHpQkzF6c]wN̵ׄJ# pȄA#]F8l1?(gOB~TUyLbˁ8#^TO1ZbbySIOP~V{-b-4R^~Ge­lHnuS/:6# $Tj?e+y䏼Hf*'˼Ѝb# &??~p$iBF;[wzek~ZS 7H8v ?3$rj7nFY |OQ; U dؓS - \G=&pGw`)/ ai5&sL <:R=Pe6^X7}o5641W0ճ2k3$k%'1&-[#bML"'{ "!$*x(+)`F(> q-q,v.Ț/7pqXsYr3w%vQO+tru՛E~xKO} |b!ytxBz{l.m~Do8nkljw[h1Ri85bcm?a+f`Qeddf"giH IKSNJuyOcN LZMݥFĚGE@ND$A2D@XsBI*CThPU3gWu>V SR:P|Q~Z9[ SYfX]4\)^oEZ_/m5qs<\kg2z &J8 좞V`a/6i\lU,zB\uHƒ=&FW A+Ox]`غ7W>9q߳!7Kk ֩fض-bѠ3pj$]^Ĝ'*~@IWVÕ<ӂMʏş{ Dt͆mC-@mw+B.(>dT"ş~Ϝ8yo$w1J}50K_ ^ϋiBۉI#dXфTQc:r Р fΫnx|)Ko%3/uUv?A)ġ:C|sд@͉ ;IbeU"hH_S1ފZ^ھ4ge ȋbW72%k_ܝ8Ŵ(}OodJֿjw3XcVPW0Bq{gǧurCo&p-?О'sB zGɠ2>[ ;g/P8i_ Y=嗇e:ϏOZw3(?RXw@ Qh+HZ"0*WOIo@}m5N#+'*GA |􏒨HX=#?X1vjʨ`^pYL'!$UxAׯ3\Y;U^GP~b;!lڇF 2p(ԐQV_:X1: 3n :m@I)/NJ2"v+x xKH.jAf^O*9y]#Mk~`bю_޶ Rz7hFм!10cV"ajحn6 SrN){t*8Fv#fu`zrϮsɛW"G9E^vMcD&dA/yQA4S&ֿ EbLil!>aDƋΪ~7A8n&]|vYoᡱ Kyi׫w¡\~9$66 Qnf>q,o,ӹI 散 I{.C>HnY-Qg̰t zfainvalid distance too far backinvalid distance codeinvalid literal/length code`Psp0  ` @ X ;x8 h( H T+t4  d$ D \ S|< l,  L R#r2  b" B Z Cz: j*  J V@3v6 f& F  ^ c~> n. N `Qq1  a! A Y ;y9 i)  I U+u5  e% E ] S}= m-  M S#s3  c# C [ C{; k+  K W@3w7 g' G  _ c? o/ O `Psp0  ` @ X ;x8 h( H T+t4  d$ D \ S|< l,  L R#r2  b" B Z Cz: j*  J V@3v6 f& F  ^ c~> n. N `Qq1  a! A Y ;y9 i)  I U+u5  e% E ] S}= m-  M S#s3  c# C [ C{; k+  K W@3w7 g' G  _ c? o/ O A@!  @a`10  @     incorrect length checkincorrect data checktoo many length or distance symbolsinvalid distances setinvalid literal/lengths setinvalid bit length repeatinvalid code lengths setheader crc mismatchinvalid block typeinvalid stored block lengthsincorrect header checkinvalid window sizeunknown header flags setunknown compression method inflate 1.2.3 Copyright 1995-2005 Mark Adler  #+3;CScs !1Aa  0@`@@incompatible versionbuffer errorinsufficient memorydata errorstream errorfile errorstream endneed dictionaryе@@8x@@@@x@h@P@8x@fFK I*TK ITTK IO :i+00SBi+00@_dP/N !:i+00'":i+00 E%6NKKº}`fUܭHb0RF#/xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF΋!  Hx5i+.b`ODV A H FM^2mFT d_N" (2W]/4*&{-zeG'{-ph}OUBl OU3(9O> G e+.bchOU4^ ;ݧB}/NKfNr@"=3H$Oڠ'my4[ J1B&M[Or G:ᠷqEJ ǬMWs5i+.bs5i+.bs5i+.bw~s5i+.b%e{HqC,㐲RO$[Dt.|I)sO>+dWnO@;>V;>V Wt חb@J7<}iFϦODa'wj5Ob0wDObAGQ`{FL!mv`[c'wj5Obd'wj5Ob6J[CAVgqe'wj5Ob5i!Lz)zR88`[|^1/`[@L\J7@呰 חbu`ެ@`ެ.PRO—-T'tE`ެA`tpZdl?<W4plTI?rPB,ɨ=O${aPo0p,oiyŜ?Oɝa4Oص,OꙠς`RWpO6OyѦjc(=O0%G`묡51Mlg~6JNfs3K@~Oq!2)wKL+2V4K@~OqT'B6Q:.7V`ƆEz5K@~OqiI~+.ͩ pO]_eOkm'WFAOлP0 P0 P0 M]`gI6FOEг]K $^5N$̈&HS3M17i;'$9Y:Oh7%9Y:Oh7&9Y:Oh7'9Y:Oh7ի|I˃(9Y:Oh7!FsGF{H@FS2IEt$#CȫR e.{ JOe/P($IZ^9$\E9 O奄`OO\;x8WFTpj@wiKw^ևA)!\_[C+dWnO4DLe+.bSmb`ߌ #Or'>O.jxO^QmOd4'>Or3߷;`[MO KLb`wG:J'i>VMYFDAt;&OF} Ҩ\I;%S| *E yЎf|txM NI{@ >KJ\FЗ4mc-NvEc7VfCNItwׄ8A!ӱJ'8EK}4@ VqC(DW@XzvF@S>LNdL֬+ o.Eцݷ"JL :̿,LB)隇A }jL^6CTw]+.DJQS[bHNAFPCU .4zl'K@-tК#FlHiawhM0Y3S!AbostA^?UX2NfHyu 5ꥂG)]/qNnN9jI=W.I|Kg 4cH~%]bM I]7BWGCQl2$HܨEye64ۅ>eL:er='oOU{p OsCů$53QB`ϝ]v+qAO;ل.CZ0YcwN]ND.Q1RWHΨ}'CBg (#l^"`G3qs03NvFZ9\;û@Z|KJ$M>MEQ wmjKDWw? ec E kjO}c^NIe2mG)fpNr-O&oO}N8úGˢ)qKmHB" C[E|ti!OL'`gp+J=$?xԒhKGM]k>+$%|QOz)(BqF[͟WÅm]rLwx,4Ku@ +׉#G`` WG 35A AlG ؂تI`FtQ<[MEĀd_NM&uf4L3lEZIC~"@0(9A8L"k1%B T #F@FDF[Fʙ^AiXשFh Mm8gh z0Gd<O8m xO4yO"FFFMm8gh 0F1F2F3F%F)F*F0:s*Dw=IF y.Y+F&FEFGFHF:/ۆ/O:/ۆ/O:/ۆ/O:/ۆ/O:/ۆ/O:/ۆ/Oǝv\Wސy(_FFFFFFU 8r+C+n44FâRX0eu{ڮP9Vu{0ne0E Kvne yOܦϫ|x O jIOQnO09$-1.E^*onePone |~|?ne? PE^#1$-?W2$-?W2$-pw~?neg@ne˳j@ne˳j@ne?W2$-~{S^BEy|KDphKΔӳOհrIOxhO{lhO\`OOrOh7y) Oh7BTyI6 E9A!8ҏFs%E~2]rgO!B> 9}Nr*GݓkFN]ͷghhϓgAc*^Z%Ȕ2AeqKW';?B@ J$SQ`Ɔ(œO>1s-O(hHjxOi QD(ߥl+ rˆLmCBUa{Ӱ~C.`1 y/DĊY F;3bpc(Jg Дէ{E] E)ПS-oEH?syYz(XGA'qQU AJ s Y!WOZ{*lg(M2(TfC'>|a.  O;O.K[K8H]҇26 -&{-r: %wCjW'tVamy!@iaWBVm`ɠI-`:Bn5OCښL%2J4{[kYs=BMQ!B\[/B{NsASÖ.̆I#t9JDf?kјH"tŻ-Gs?zZAe!`[ǽ6NXX$  KiiőԞ(LqmjK H(.~,-Y@o3\.Q Cpg{L\l%IT߁KI s<_z\ LKo(t;sM|@)^vJYӞ~+IzÊChsxDpWJ?,CP0DOAoZ\q"tDk׾ TLrTIkE a`NNe76_I|kHrYM>s: .jxOˡd:aDX7iii9P5}+EutX(T6QB~ۜC]_#ͼ_Ld=xr|խhG2`?uIp4Bf6חKt3 SNwL1"(iv@ YGح+ObC4`[ԄLr?RJ{,AsEOWL"O7v8yOhKKt&1Zs~:6 B}Ftr⋪GMv2̤ pDʹfD.b[GvtH; zr\GڙYkH?x9J4uY&HxHϣ'GVBeUNOyדسDg,ݠeL3"5/QqCAwSk5 X;-3B{_41lxƱLb VBPoz5zD #D@Fgm[M/BT|\?@zpDF[0 49Z I}AaB}KX䌠%D|DZ#&oI Qd5CvSdn0@DH&'E4VwҁnB*O&-bfMlV!jt€I$[a#FVODJ hFXapf_:qJ?򥸱PpZdFK6eJ7`, :i+00Fh3MnMܙS{5)xKt O3CKsw`$D&l;0MHֿRUBu(dT&arrCuƋ.|uU:WPHw[ێ Z܊M`* !sG3^F0MJSkyZ 8y M3,/KqI\M;TQI![Y ,!PCsg?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~_.,._;=C=;runtime error TLOSS error SING error DOMAIN error R6034 An application has made an attempt to load the C runtime library incorrectly. Please contact the application's support team for more information. R6033 - Attempt to use MSIL code from this assembly during native code initialization This indicates a bug in your application. It is most likely the result of calling an MSIL-compiled (/clr) function from a native constructor or from DllMain. R6032 - not enough space for locale information R6031 - Attempt to initialize the CRT more than once. This indicates a bug in your application. R6030 - CRT not initialized R6028 - unable to initialize heap R6027 - not enough space for lowio initialization R6026 - not enough space for stdio initialization R6025 - pure virtual function call R6024 - not enough space for _onexit/atexit table R6019 - unable to open console device R6018 - unexpected heap error R6017 - unexpected multithread lock error R6016 - not enough space for thread data This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. R6009 - not enough space for environment R6008 - not enough space for arguments R6002 - floating point support not loaded Microsoft Visual C++ Runtime Library ...Runtime Error! Program: (null)(null)EEE50P( 8PX700WP `h````xpxxxxccsUTF-8UTF-16LEUNICODE SystemFunction036ADVAPI32.DLL ((((( H h(((( H H  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~united-statesunited-kingdomtrinidad & tobagosouth-koreasouth-africasouth koreasouth africaslovakpuerto-ricopr-chinapr chinanznew-zealandhong-konghollandgreat britainenglandczechchinabritainamericausausukswissswedish-finlandspanish-venezuelaspanish-uruguayspanish-puerto ricospanish-peruspanish-paraguayspanish-panamaspanish-nicaraguaspanish-modernspanish-mexicanspanish-hondurasspanish-guatemalaspanish-el salvadorspanish-ecuadorspanish-dominican republicspanish-costa ricaspanish-colombiaspanish-chilespanish-boliviaspanish-argentinaportuguese-braziliannorwegian-nynorsknorwegian-bokmalnorwegianitalian-swissirish-englishgerman-swissgerman-luxembourggerman-lichtensteingerman-austrianfrench-swissfrench-luxembourgfrench-canadianfrench-belgianenglish-usaenglish-usenglish-ukenglish-trinidad y tobagoenglish-south africaenglish-nzenglish-jamaicaenglish-ireenglish-caribbeanenglish-canenglish-belizeenglish-ausenglish-americandutch-belgianchinese-traditionalchinese-singaporechinese-simplifiedchinese-hongkongchinesechichhcanadianbelgianaustralianamerican-englishamerican englishamerican@ENU@ENU@ENUx@ENAp@NLB`@ENC\@ZHHX@ZHIP@CHS8@ZHH @CHS@ZHI@CHT@NLB@ENU@ENA@ENL@ENC@ENBp@ENI`@ENJP@ENZ8@ENS@ENT@ENG@ENU@ENU@FRB@FRC@FRL@FRS@DEAx@DEC`@DELP@DES@@ENI0@ITS @NOR@NOR@NON@PTB@ESS@ESB@ESL@ESOp@ESCP@ESD@@ESF(@ESE@ESG@ESH@ESM@ESN@ESI@ESA@ESZ@ESRp@ESU`@ESYH@ESV8@SVF,@DES(@ENG$@ENU @ENU@USA@GBR@CHN@CZE@GBR@GBR@NLD@HKG@NZL@NZL@CHN@CHN@PRI@SVKx@ZAFh@KORX@ZAFH@KOR0@TTO(@GBR @GBR@USA$@USA  6 - 0OCPACPNorwegian-NynorskGetProcessWindowStationGetUserObjectInformationAGetLastActivePopupGetActiveWindowMessageBoxAUSER32.DLLEEE00P('8PW700PP (`h`hhhxppwppCONIN$CONOUT$TMPRSDSXJ\I ORo:\src\python-3-trunk\lib\distutils\command\wininst-9.0-amd64.pdbdT42p dT4pT4 p) 4=4 p`PT42 p20  4 2pd T 4Rp 4, *p@ X0 4Y Vp 4 2 p`P9 %+t$d4# Px dT4p t d T 42+ T$4# p ` 4 pP*p` d T 4 rp  4 Rp$ , p`P0P p`P00 td4  4 rp!00' T342, p `P  4 Rp204 "t1"d0"T/"*@( dX4WR p+@$d241. p`B b0d T 4Rpd T 4Rp2020d 4 r p7 %d%T%4% pP' T9482 p ` t d T 42BB&p`P00  "0/ d T 4 p0bt4t d4td T4Bd'4&$ pB b p`P0  4 2pdT42p  p`P020dT42pd42 p d T 42p) 4 p`P20B  R0  4 rpd42 p2020 tdT4bbbb  2020d42 p4 R p`P2P200̝؝`RPd 4R p0<R`rP  p`00mf`RPbp`00D`BBBBB20B2020BB p 0  b  4 pbdT4pbbbb  4 RpRP4 R p0` dT4 RpRPt d 4R0Ю`B tdT 4  dT4p 4 p`P  t4 t d T 4 R- Etd4C P` T4p`bbbRPt d 4 r0Acah|aR00Bb  b  bbb  bBBBBr0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r020r020!! d 4T 2p!p!  Ԃtd4pPd42 pRP  rp`00,a  4 2p20202042 p  4 2pbb  4 2p2P d4rp0Ga20202P d4 p0>J+iaB    0  4 2pbd T 4Rpbb202020rP p`001aT 4 R p ` dT4p2PB0(a2PB0GMa2P200pzat d 4Rd42 pbbb t d T 4RBB2020R020R0d 4R p20d42 pdT42p$d4 pp2P  4 2p0Rar04r p`P82P  t d 4R0bBd42 p  20202P200bR02P2P2 00 14bLsTb2P2P  4 2p0  mb & bbp`P0 t d T 4Rd 4R p 4R p`P&  p`P0) 4MB p`P$  p`P0 t dT42RPRPRP t d r0bc#b=bB2P2P  4 2p0"-cBi c  4 2p202P2P42p09c @Yc2020dT pBBB t 4RB  4 2p20dT42pd42 p 4rp`Pd42 pd42 p 4R p ` PR020dT42p t dT42 t dT42 d T 42pd 4  p d T 4 rptd42dT42pB2Ptd420c44rc  4 2pdT42pT42 pb2P  td42077W7c2P2P t 4 r0Y88c89cBpPt d 4R0j::c T4 p `  t d 4 0==T@  4 2pt42   2020dT42pdT42p) 4dZ p`PbRP t d 4 R0NO)dbbbbbb2Pd 4R 0PKQAdd42 p202P2P  t d R0RRZdVRRd2P42 p0DSNSdd T42pd42 p20BBd42 p) 4ZP p`Ppd42 p20BBd42 p+ 4ZP p `Pp  4 2pRPd 4 Rp0o}}d20/ 4qf p`P RP d4 Rp0(Ydr0r020202020d 4  pb T4 R p `2Pd 4R p0d0dT4pbbR0b t d T 4Rbbbd 4R p d T 42p202P t d 420"eB  4 2p  4 2p  4 2p2P B0W e B0B B0BdT42pB2Pd42 p0МAeBBRPt d 4 r0ǞҟWeRP d4r p0Kmed T 4Rp%  p`P2P b0ǥeǥBB  4 2pd T 4Rp t d T 42d 4 R p t d T 4 r  4 2pR0d42 pd T 4Rpd T 4RpRPR00eRPt d 4R0H,eRPt d 4R0yae1 dT4pBBBBB- Etd4C PXd4 p1 5#td43r P8d4 pB t d T 4 r2 0T42 p  20 dT4rp2 0 tdT 4 rBR0b  t d T 4220 4 Rp($d4 p!4p`P$T4 p 4 p202020 t d T 4Rb  T4r p `bdT4pR0d 4R p  4 RpT 4 R p t d T 4RdT42pdT4pd 4R pT 4 r p  4 Rpd 4R pbRPbp00CeBBBBB4p ` Pbd 4  pd 4R p20dT42pdT42p) 4dZ p`P  t420dT42pdT42p) 4 p`PH RP4 R p `0#f  4 2pRP d4 Rp02f20  4 RpRP4R p0IfdT 4 pPRPd 4 r p00af2P200`kzf  0  r0  T pB! !4!p`PrPp`0%&frP  d p0+'O'fr 0bdT 4 pdT 4 p  p ` P 0RP d4 Rp0342gbd 4 r p- Etd4C P@d 4  pd 4 r p  4 rp tdT4bbbb20b(' EC p`0PpdT 4 pbd 4R pbbbd 4R pbb t d T 4RdT 4 p$ 53 p`0PXd4 pd4 pBRP t d 4 R0NNIgBBd 4 r p t d T 42RPt d R0pSSagBd42 pRP d4 Rp0HUyUxg4bbRPd 4 Rp0X;XgR0  4 2pRP  t 4 R0\]g2P2Pt dR 0 ^J^g]]^gd 4  pR0B$)Pp%,p(\.pt$.hp`$/p(/`t)/Huf///v//T/B/2/.)).....z.h..F+T+d+t+++++++++,&,:,L,b,v,,,558+h5\5L565&5554444444j4Z4@4&4 433333&++ +****z5****r*d*N*>*(***x3f3V3>3503/ 00$0<0V0t0000000011101B1V1r11111112"2,282J2Z2j2v22222222223/,,-P.B.,. ...----,---n-b-N-:-*-"---,///PropertySheetACreatePropertySheetPageACOMCTL32.dllSetLastErrornCreateDirectoryAGetFileAttributesA MapViewOfFile{CreateFileMappingADCloseHandleSetFileTimeDosDateTimeToFileTimeGetLastErrorzCreateFileAOUnmapViewOfFilelstrlenAMultiByteToWideChar"GetProcAddressLoadLibraryADeleteFileAhReadFileSetFilePointerGetFileSizeNFreeLibrary SetStdHandle>GetStdHandleLocalFreeIFormatMessageA\GetTempFileNameA^GetTempPathAGetModuleHandleAzGetVersionExAResumeThreadSetPriorityClassGetCurrentProcessGetCurrentThreadSetThreadPriorityCreateProcessAGetModuleFileNameA}RemoveDirectoryAGetPrivateProfileIntAGetPrivateProfileStringAGetModuleFileNameWKERNEL32.dllMessageBoxA&GetFocuswsprintfA|SetDlgItemTextAbSendMessageAPReleaseDCGetDCPeekMessageADispatchMessageATranslateMessageEndPaintqGetSystemMetricsBeginPaintDefWindowProcAUpdateWindowShowWindowgCreateWindowExA7RegisterClassALoadCursorA MoveWindowGetWindowRect"PostMessageAWGetParent]SendDlgItemMessageA!GetDlgItemvSetCursorUSER32.dll4CreateDIBitmapDeleteObjectSetTextColorTextOutAfSetBkMode^SelectObject:CreateFontARCreateSolidBrushGDI32.dllfRegQueryValueAHRegEnumKeyExA*RegCloseKeygRegQueryValueExAZRegOpenKeyExAwRegSetValueExA2RegCreateKeyExA7RegDeleteKeyAARegDeleteValueAADVAPI32.dllShellExecuteASHELL32.dlloCoUninitializeCoCreateInstanceACoInitializeole32.dllSGetSystemTimeAsFileTimeHeapFreeHeapAllocFileTimeToSystemTimeFileTimeToLocalFileTimeGetFileInformationByHandle=PeekNamedPipeGetFileTypeEnterCriticalSectionLeaveCriticalSectionGetDateFormatAlGetTimeFormatAHeapReAllocGetModuleHandleW/SleepExitProcessqGetCommandLineA<GetStartupInfoA;TerminateProcessLUnhandledExceptionFilter#SetUnhandledExceptionFilterIsDebuggerPresentRtlVirtualUnwindRtlLookupFunctionEntryRtlCaptureContextWideCharToMultiByteoGetTimeZoneInformation]GetCPInfoTGetACPGetOEMCPIsValidCodePageEncodePointerDecodePointer@TlsAlloc@FlsGetValueAFlsSetValue?FlsFreeGetCurrentThreadId>FlsAllocHeapSetInformationHeapCreateHeapDestroyWriteFileSetEnvironmentVariableASetEnvironmentVariableWRtlUnwindExDeleteCriticalSection FatalAppExitASetHandleCountGetConsoleCPGetConsoleModeSetConsoleCtrlHandlerInitializeCriticalSectionAndSpinCountLFreeEnvironmentStringsAGetEnvironmentStringsMFreeEnvironmentStringsWGetEnvironmentStringsWSQueryPerformanceCounterjGetTickCountGetCurrentProcessIdLCMapStringALCMapStringW@GetStringTypeACGetStringTypeWrGetUserDefaultLCIDGetLocaleInfoAEnumSystemLocalesAIsValidLocaleCFlushFileBuffersWriteConsoleAGetConsoleOutputCPWriteConsoleWHeapSizeGetLocaleInfoWVCompareStringWSCompareStringASetEndOfFile&GetProcessHeapSoftware\Microsoft\Windows\CurrentVersion\Uninstall@x@8x@0x@8x@(x@8x@ x@x@x@8x@@x@w@0x@w@(x@8x@ x@x@x@8x@w@ w@w@w@w@hw@Xw@@w@0w@ w@w@@v@`@v@@v@N@v@N@v@X@Software\Microsoft\Windows\CurrentVersion\Uninstall2-+] f@@x@t@p@l@h@d@`@X@P@H@8@(@@@ @@@@@@@@@@@@@@@@@@@@@@x@h@`@\@P@8@(@ pF@ @pPSTPDT H@`H@        ! 5A CPR S WY l m pr   )     abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ J@`y!@~ڣ @ڣ AϢ[@~QQ^ _j21~@C`O@`O@`O@`O@`O@ V@@@@pF@pO@pO@ J@@@ @ @@@`@0@@@@`@8@@@ x@!@"@x@y@z@@@ @@4@4@4@4@4@4@4@4@4@4@ ;Zx0Nm:Yw/Ml@@.V@n@n@n@n@n@n@n@n@n@ V@.,v<1`4jpx]`XX  `#`#%$ %&@&(\(((**c+d+++q-t---'/(/0 0;1,<1M28P2Y4L\44l45xD599==Z>\>@@@@AAAABBFD(HDUE<XEiFPlFFdFFlFGtGILLLMMNNNN6O8ORR?T@TBW DWOX@PX'[H([[P[^X^mbhbb|bcccc hhiijjtc 4TXՏ`h'p(q|tѕԕ}LLnpə̙  \\n<pl%(EHehФؤCDq tʦ̦0ͧ<lD 6P8۪XܪlEtH}|=@RT'(bl4L@dvpx  *,FHfh(08@ H2P4UXX|`|hpx 14 ghKL24~klWX C(D0&8<@HQPT|Xlpln`pbbqtGH(9<i(l08 @ ELHX`h|L, f p  ( }0 D L T \ d t X X 7 8\ \$ XD XX h #p $cx d,    V X  $ $  e . 0 0 `T `\ (x (   H X G H    > ` L               ( ;H Dax  ~ ( (]8`l1t4=|@ll 4 w    !!!!("("''C(D(( (t,0t,,H,-P --X-.l... //0022"3$3333344 5D 55P5h6dh66t67799::=<=y@T|@@@AAAA;B >=> @>> >> >]A AB BC CD DCD!DDfD!hD{D!|DE !EE0!EE8!EF@!FGX!GLl!L)M!,MAN!DNeN!hNO!OO!O'P!(PcP!dPP"PP "PR"RS@"SSl"STt"TU"UV"VV"V'W"(W}X"TZZ#Z[#[]$#]z^d#|^i_#t_`#``#0`~`(`` ``4``d`````aa,a,aGaGaiatiaaaal aa aa aa ab( bb b4b 4bMb Tbmb mbbX bbP bbp bbh bc` cc  c9c 9cRc0Ycrc(rcccc|ccccc)d)dAd AdZdtZdddddd ddddpdeee eAeHAeWeWememeePeeeeeeeeefdf2f2fIfIfaf,afzf|zfffff2g<2gIgIgag!agxg8"xgg"gg"gg#gg\#ghT#(@pnklmn ( 8 H X hx  $ZZ(n, BBB999111)))cR[RABZRYRZRAB[R[RAB[RAAB[ && &&&@JQ1AA1ZQ1111ZQ1AAZ@JQ1AAZQ1AAJ eu eu @ABZ@J@G@F@F@G@AABX@J@AABX@J@J@AA1X@J@G@HRX@G@AAG@ZRX@AAG@JQJed%ed%ed@AA1ZQ1AA1X@J@HQ1AA1X@1A1ZQ1AA1ZQ1A1J  & & RAABZRABZR[R[RABZRYRBZRABZRBW@J@J &R[R[R[R[R[RABZR[R[R[ & & & & & & &@J@J@J@J@HQ1AA1X@J@J@J@J@J@J@G@J@G@JQJ@ABZQ11Z@J@AAG@J@G@GQ1J@AA1ZQ1YQ1[@J@AAG@J@G@1W@J&@I@G@J@J@J@J@G@J@G@Z@J@AA1X@J@HRABX@J@HQ1AA1X@J@J  &  %& & & &RAABZR[RZRAAABZR[R[RABZR[R[@H{SetupMS Sans SerifP} This Wizard will install %s on your computer. Click Next to continue or Cancel to exit the Setup Wizard.P}PhnP}@H{SetupMS Sans SerifP} Select python installation to use:PP}7Python Directory:P}jPhnPP}BInstallation Directory:@B2Find other ...@H{SetupMS Sans SerifP} Click Next to begin the installation. If you want to review or change any of your installation settings, click Back. Click Cancel to exit the Wizard.P}msctls_progress32Progress1P}Installation progress:PhnPA@H{SetupMS Sans SerifP} Click the Finish button to exit the Setup wizard.PhnP}( PAPADDINGXXPADDINGwininst-14.0.exe000064400001577000147560526160007350 0ustar00MZ@  !L!This program cannot be run in DOS mode. $A]A]A]9m]M]9o]饜]9n]X][]F]z\R]z\\]z\S]ZR]C]ZL]@]ZW]N]A]쥜]\I]c]@]\@]RichA]PEL*PX :@`@<X0,.`T@.text `.rdataR  @@.data< @.gfidst@@.rsrcX@@.reloc,.00@Btt ttj\VzxYYtdWDEEu*jWEutWhHZFjӃ WjYYEuhXEt WhHZFjӃ \u[3_@^]USVuWEu@EjhPjjhW@E؃HEuUVEYuPt PXE2WjYYt23PhjPPhW@E؃uWh`ZFWjYYtWjYYEPuu4EEPPPSTE} u SPK|$u΁?PKuN .D$D$$D$D$ FFD$OD$GȍCL$$3ɉD$8FD @AuL$@QAu+ʍD$@HD$(<\t|$@OGGufZFfD$@PPE|$@3D$0D$98t9ʍAD$Au+L$Qt$$ROw D$G8uNj|$GPt$$D$HPg L$@L$@QAuD$(+ʀ<\tJF T$@h&@PF3Pvt$@t"T$8QvOvQ\]|$,t$}t7ut0}t*t&39EhFYӋU׋_^[]UQEPh\Fu F tuj hZFF ]UQEPh\Fu F tujM hZFF ]U F3ʼnE=LFVu u:h\FtEuh\F5FFYY3h\FPELFW\FPWVF =LFuh\F5FFYY{34Fd|YYtF rh]F5F?j4FPjLFtPWFYYh\F5FF 3_M3^.^]U0F3ʼnEVu W3WȲEyPh$]F5FF PPPPPPPhD]FVF$u3PhEjWhEIJEy PhP]FxRhpEPy Pht]FRPQPy Ph]F1PQy Ph]F9t!PQ,y Ph]F9t'PQDy Ph]F9t!PQ$y Ph^FhPjWWhEjRPQyFPh@^F5FFtQPtQPElPQPQEhZFFYM_3^[]U EPEPEPhl^Fu Ft$uuuhEPEPhp^FFYY]54FFYUlF3ʼnESV5|EhFh^FPDž֍PFStEhZF5FE5Fh^FP֋5EPPEPhօt!PPEPhօt3SWOGGufZFfCu+OGGuˍj˃jPE_M^3[;Z]USV5EWh_FWh4_FWEhL_FWEhd_FWht_FWEh_FWEh_FWEh_FWE։EE}}}t{}tu}toh_FЋYt=h_FWh_FWFӃFpFj[jVUP6WUuEFEFEFE䣰F33@_^[]UXF3ʼnEE SV5EWh[FS]Eh_FSEh[FSEh[FSEht_FSEhd_FSEh_FSEh_FSE֋uąi}_}U}K}A}7/}%? hW詀YYuWh_FjYPR jXh`Fh5pFE֋Mhj`FVm} +ljEjZUċtUċȋE3ɉ 8UuVjUYY>t6r6YhF|EEPS-YYu*uFJVWSӉ ~Wf8 UYEUSEY j3@e_^[M3W]US] 3VW3MPFPuGtYYjhjjVhPE@E5EjjE֋5|EWjEWjWE tuUQ}YYu EEh(`FjYPYYujujjWE;s jWEFP-Yt(3PPPWE \EjE PV3W(E E W{V4t,aF3x܋Nt +F+FSW~++щF+7h'YPhlEtwSjh`aFPEt^3PPP7PjYtU0VWσ QAu+ʍFP|YWFFLE3@HEdaF3_[M3^O]UW3EPEEP`EjWWWEPEu_]ULF3ʼnE} SVuWtuuu VEEPVXEjxEj YhaF3QQQQQQQjhQQQPPEPW4EjWEDEFˍQAu+QS@EjjWhWB]UF3ʼnEPP P PhfFhPP5FF$tPYM3A]U  5F3ʼnEE S]VuWN-tc-t-PuhhSEVhSEVjhhSE3@M_^3[)A]FtPjhrhSEh`Fh@fFP|E5E PhShfFhS~1t)~8jjhpSEPtE5EjjhpSpFFPtEjjhkSPEFэrBu+րF\tyGGufZFfQAu+I!F 6\ F5Et9thfFhSg=FhgFhSփ u (gF*=F=PFt:hLgFhShhgFh5pFt3ҋWE=FtD=Ft;h|gFhShhgFh5pFt3ҋBVE3@UF3ʼnE} NS]V} c} =F=FhgFhSDžgFE3ɊF AuWOGGugFFfBu+OGGuFʃtQhFhgFP-hjlE=EP׉PPYYtPhgFj4YP t VhSEh(hFhSEVGY_FF3tPVhrhSE95FuPhSEVVhStE3@%Ex8ujjhpSEPtE3M^3[<]UF3ʼnESFEVWj43VPR3u} j4VEPmR=dE E8EV׉EEuЋ5(EPE,@Ek։EEPEElEM0@։EEPEEmE7@։EEPEEnE:@3EVE4׉EEEEP]E uuuE,EM_^3[;]h\FtEu3hxhFPE@FtUXF3ʼnE=Fu3AhFEhbFP|E EPhjEPhEuuE3@M3;]UF3ʼnEjjhZFhFhhFjLE ,P|hhFP|E |jhhFPjEM3:]U -F3ĉ$SVW5F=ED$hFVPhZFhhFSjPT$FpY5FD$VPhZFhhFSVT$FGY5FjPh FhZFhhFS5F5EjhhFS5FPFjhiFS5FFFj VhZFhiFS5FjPh`FhZFh iFh(iF5FhhFhZFh4iFS5FFj PhZFhDiFSNFFuZFXiF3ɺF :uAuun`iF3 :uAuauEt<̀=Ft1hiF3 :uAujhpiFhxiFhEPE^F5TFLEFtPxEFtPHE$3_^[3x8]UEE :utP:Quu3]]U`F3ʼnESVWh3PS$EPhiFPhiFPhiFViFPWVPhiFVPWV@V诿jD^VSPpM3DžfPPhZFSVSSSPSEtO5XEjjpEPhEP E5A@jV=Ej$hjFhjFj׃t334FZF9 Ɗ:utP:Quu34PPhkFVuT3 cF: uAu4FE8jPhkFhEPPPhtkFV\uPPhkFV!utVPPhkFVtɍPPhkFVueHEtZtUCRPPhkFVu ](PPhkFVbuOA; vxEt @CHEVMtSPhkFP|EPhDlFP|Ej@hhlFPjwQ3PPhljFPE3@M_^3[/]0SVWFVW3S$EVhFSETFuHE|lF}3@ C t~z3F9Fu5#90~, 88tSShPjFSEC8j\W ?YYttjhlFP# lFtlF3_^[UQQS]3VWU@;u!;r+;+s.t Bu;r+3ҋ ֋;3ҹEU+؉][ BJBBBBBBBB B B B B BuU3ҋ]Nj3m>UEBBBBBBBBB B B B B BBrt Bu3ҋNj3 _^[]UQS3W9E  |9EsjVPPu Euϋ3uȁ;+º;r+;r+ʾ;r+^;r+ _[]UEVRP`YY^]Uu uMYY]ø mFUu3]]UQSVuӅtt33 mFBuW E3ÉUȋ} qF3 uF3 mF3 yF3ȋ qF3 uF3 mF3 yF3_ȋ qF3 uF3 mF3 yF3Wȋ qF3 uF3 mF3 yF3_ ȋ qF3 uF3 mF3 yF3Wȋ qF3 uF 3 mF3 yF3_ȋ qF3 uF3 mF3 yF3W‰}ȋ qF3 uF3 mF‹3 yFm,rH3Ãȋ qF3 uF3 mF3 yFكu_t33 mFBu^[]USV#ދ؋#uWtt33 }FBuz E3_ȋ F3 F3 F3 }F3Wȋ F3 F3 F3 }F3_ ȋ F3 F3 F3 }F3Wȋ F3 F3 F3 }F3_ȋ F3 F3 F3 }F3Wȋ F3 F3 F 3 }F3_ ȋ F3 F3 F3 }F3ȋ F3 F3 F3 }Fm9rH3ȋ F3 F3 F3 }Fكut33 }FGuӺË##_^[]3tt3uUQSVWE +7mvu_^[]UF3ʼnES]VW} 3Dž| 3A@|@ ||h|W|FÃt֍ t6|Ãt֍| u3M_^3[%]UEVRPYY^]Uu uYY]UHSVW]K;COs lj}ENC+ڋQ8ƉEދA(EЋA,EA0EA4E̋ALE܋APE3@]Yqt7y f8f<3*"~< w3^<@H#EF8jX_^[]AL FAT AP FAXUQ‹SVWr33ۉEG9^4u#N$WPr(R F4uE9^(uN$~(^0^,~(];rW+Pv4 f0F(O+~0;v+WPF4F0Pj +tES+Pv4T ^0~0N(9N0uf0F,;sljF,3_^[]U tjX_^[]Ã> u3SAY;FtjES^Yt jF 3빅tAt@t P b03jXUQQSVW3]39}v=ڃs3Ɂ;uFt3jX+ƋG;}rȋ]lj3_^[]UQSVW_u {<sjjX9tES<3ʉc8+щS<rK8C8D5FK8sStVYtWjW6&9>tV^Yt6YPNPWh@uVuWjYYE=MEQPsYYËeuu[}u2EEPYjX:PPjh@\UF3E]UFj Y+ȋE3F]UEM ]UEVH<AQAk(;tM ;J r BB ;r (;u3^]ËUEu2]ùMZf9uH<ȁ9PEu f9A]du2dVFP;t3u2^ð^KtrPbYt2jY| u2 ur  c Uu} uuMPuUuu`YY]t hFYwJj} Y' U}uF u2] u j Y]U Vutu|7t*u&hFKYt2WhF8YDFuWFj Y+ȃ3FEEEFEEuE_^]jvjhFeMZf9@u]<@@PEuL f9@u>E@+PQgYYt'x$|!EE3Ɂ8ËeE2U&t}u 3F]U=Ft} uuuo YY]UF3Fuȃu hFYY#E]UF3Fȃu]kuhFYY]UuYH]UeeFVWN@;t t УFfEPEE3EEE1EE1EEPEME3M3M3;uO@u G ȉ Fщ F_^]33@3ø@33hFEhF Yðhhj uj8讑HH覑HH39 FøhFødFU$SVj\tM)3hVP5F |xffftfpflfhEEDž@jPEVP E E@EEEVXۍEEۉE|EEPxEu !F^[]UDjDEjP EPEEtEj X]3jEȅu2øMZf9uA<8PEu f9HuۃxtvՃh@|EUE8csmu%xu@= t=!t="t =@t3] ̃%FSVtFtF;sW>t 8׃;r_^[SV|F|F;sW>t ׃;r_^[%вEh`@d5D$l$l$+SVWF1E3PeuEEEEdËMd Y__^[]QU%F(S3C Fj me3 F3VWF}S[wOW E؋MEineIE5ntel ȋEj5Genu XjYS[wOW uCE%?=t#=`t=pt=Pt=`t=pu= F= F= F}EEEEE|2jX3S[]؉sKS EܩEEt = F_^tm FFtUtN3ЉEUEM3Ƀu3u/FFE Ft FF3[]39`FË вE3@̃=Fr_D$ fnpۋT$#+o fftftff#uf~3:E3D$ST$t :tYtQu WV ؋ ~333ƃu!%t%uu^_[3ÍB[ËB:t6t:t't:tt:tt^_B[ÍB^_[ÍB^_[ÍB^_[UW=F}wwU  fnp۹#σ+3offtftf#uf#DžEЃSf#3+#I#[DžD_U t93t;DDžt Gufnƒf:cG@LBu_ø#fft#Ϻf#ufft@ft뽋}3كE 8t3_UVuW} t N3 8sFN 3 8_^]`USVu WEE^F3FPSE]}WE @fEE}~ FGGLEteVMxf~UE8csmu7=lFt.hlFt5lFjua֋u EЋ9~ tlXMt]s]E$t,]~ t!hFFPuSE_^[]hFFP^ ^SukMӋI@j Bu2u~CjYU}uPjU Y]&U]*'Uu&Y]Uu&Y]UU ME]UU ME]UM33]UE]UE]V6v&&Y^V6f&&Y^ø-@ø2@Ã9Ã9Uu;&Y]Uue&Y]!ËËÃ9Ã9V6&&Y^V6%&Y^UEM ;u3]Ã:utP:Qu u]UuEtV0P%Yu^]UEŝH 3iГAu]U 33S] Vh(h-@h2@PKEQP]htz΍QAu+t| u DuAEWP/%Yt7'GVu}PE%M 3 uu3u EEWE$Y_V$EY^[]̋L$ D$׋|$<i % Fs D$%Ffnfp+ρ~L$$ffGfG fG0fG@fGPfG`fGpu%Fs>fnfp rG stb|9GD$tGutt $GuD$SVWT$D$L$URPQQh@d5F3ĉD$d%D$0XL$,3p t;T$4t;v.4v\ H {uhChChd_^[ËL$At3D$H3Uhp pp> ]D$T$Ut$L$)qqq( ]UVWS33333[_^]Ëjg33333USVWjRh2@Q_^[]Ul$RQt$ ]Uu!Y]UE]VHE^V6!&Y^1XEÃ9Ë!ËÃ9V6t!&Y^Uu5 FYY]UEt=$FtP=!Y]U Ft'VuuPo FYjPYYV^] R"Ã= Fu3SWHE5 F%YtuYj5 FFYYu3BVj(jF"YYtV5 FYYu3S5 F YY3Vp Y^WXE_[hג@6 FYu2h$FPYYuá FtP7 FYVWLF3jhW tdFr۰2_^UkELFPE]V5dFt kW4FWE dFu_^UkELFPE]áFj Y+33FUF3E]UFj Y+ȋE3F]UU ME]UU ME]UE M]UE M]UE M]UM33]UM33]UQE]ÃhEhEhEjhEh EhEjh(Eh$Eh(Ejht>t6E&xFu^]áFj Y+33FUFj Y+ȋE3F]áFj Y+33FFÃ!USVW}&Ff9t~3ҋ:E tK<_t<<$t8<t0<-t,E]UVuu IN^]UVuu IN^]UVuu IN^]UVuu IN!^]UVuu IN`^]UV~0M9uAP9>u AF 16^]UV~=S]t4>uS'jjF$.t EX3P[^]UV~RW}tIS39uW9Gt<t P#SjF-t WS[_^]USـ{NW}tE?t@V393uW0Vj Fi-t?tF<>uVWV"^_[]UV~->EttttPQYPPn^]UV> t8W}?t.jjF,Ѕt  OJ3҅tT_^]Uyt E@<~A]UEE A3AAA ]Wt.GG t$VG ww GB֋GG Yu^_U졼FШEEu]UVW}t.jjF,tH `EHx3uF_^]U`e3SWEEG} 33@9t GEuMuMjE uWPu uEOHr Vu3%=E‰Ut%%t%=WÅt%%t%=/=$@t^ F Ft.EPYPEPj MVEEЋEEEPYPMU3ɋþt%#ƅ} QEPYYEPEPj{EPPMEPSIY5Fu>EPEPj,M/EMEEhEE4EPM0hEMEPY F ШEPEPj M5EMEEj E EMEEEEPM}M!Eu!E#!E!EċÉuMMȉMMt%#ƅtw%=u>EjPE܉EEEEjPE܉EEEEjPt'%=uEjPYYE܉EȋEE̍EjPE܋UYEEYEt@%=t2F`<`EPtCY@MEyCYPMj FШt0t&EPEPEPY@MЉEEPYPM39t>9Mt.5Fu&WEPj MaEPM3 EЋGEԋ}M}QtNEP3YYPEPhEM EPM5FP3MÅtI%GjF'ȉMt3Aa3ΉuQEPA3YY0xu%%=uzEPEPh EMadEMEEj,E;EMEEEEPEMEEj,E EMEEEEP.tN%=u@EPEPh0EMEMEEj,EEPM` htfF>hS]t[9} tVE +tIFWtj t u SK>jt EHlju FF[_^]FЃáFЃË F3``áFЃáF% áFЃUSVu3C&Ff~FW@Zt3j,FɃ0 w @FEQ FPPb^eeEPEP.$F+YY~ F9 t EPEPF;uf&FF~4 jA_^[]U졬FXIEPUYufFt[@tPZtMj@FFШEuEPEPMU H‰JJ@FEMP7@FFШEuEP @FhEMRE]U졬F08VN y3uEj]PEMEe%W} EGth EME<\NtUF8tKEjPTYYPEPj[M>EMEEj]EEPMB}~?trGtEPEPuM@MWEPj(MUEMEEj)E,EMEEEEPEEEEEPEP!EUYYMP_E 8t`PEPj(MXEMEEhEE]EMEEjEEMEEj]E|E$Ej]PE؍MjPj[PuEYY^]UjEYPM2 FtMA F0t/Htu=MjjM:UFШt5 < uKEPEPEPYPMU < uEPYPMcUt(EPEPhEME̋UЉEUt(EPEPhEME̋UЉEUEt"EMhEEԉUEԋU؉EUEt"EMhEEԉUEԋU؉EUu 39t]~uBE9t;PEPj MsEԍM̉E̋Ej EVEPM6Ft VE/VE9t%PEPj MEPM5U ׀}t EMPEM}unu >t[FuBE8t:PEPjM_(EčM̉E̋Ej EVuM%Vju E8tPjME_^[]U3ɸ!E!EEQPhZFEMPuME]UMu 4F?tIXtEPuYY@}FuMhEEEEEhE hEhEMe!]t EEEEEPYEPMEMMHI FMhqEE^[]UuOEY]UFeeЃ$s@h$Eh,E h4EhM]uFUMU8$Mu@F!MMj^UUMFUM8t@FjMMUE@HjE @E$9]tjME\EMj>kF59]u)M 8&u @EF8*u `EFBFEX`_^[]UFVjj@t&Ff3VuCEPEM EEEj u EPMHEN^]U F8uu juY E<6|<9~<_t MjS؃6A F)u/t؃=A F| u ju x~uMj-E]eeVu WEFE9@EPEPh(EMEEEEF8tCEPLYPEPj MtEMEEEEPEEE"EPEPjMo8EEE FEA F<@FA` F<`EPtmY@MEFШEPtwqYPEPj M1EMEEEEP?EEEEDYPMjEPuMjWYPMFШt&EPEPEPnY@MEEPPYPM39t;EPEPj(MbEMEEj)EEEEESjFt^fEVP!EPQ MPEPj(mEMEEj)EDEPM F`<`ttEPM FEPt YPM YPMFШEPtYPMYPMStEEFEM؉M܉H jME_^[]UjuEYY]W9u2_ËVp蘵^_Ãy$ ÊAËI2SVW{p_քu{pH_^[ËQtAD2UEjPnYYPEPj`MXj'uME]UVu} WtV7ѴYcuj^GS;sE;w8jhFt 3tO tG+މG _ 3+ƉGGG [_^] Fu3<0|<9/A F3 tu j Mj>MEt5F8uEMMy]F5FWEWP  PMU5Ft+~1u%EPEPj~MXMUMUtEPMUMEPN5FjMHEB)Z_F5FOD9ft@t/6~8F4EMF4E FM4EoUM2?t9@,BSCjhEEPjU F5F0WhXEƃTSPFM4E?FujuM70pg4t j M Fh4EAEF  FEEPEPuaNA<$t/Mj0u  FQ}+tmAtSt7u!UEWPhZFE}AVP FmPujVuA FVuA FVRt_tNtHuA FA F98tPhdEuSMhtEGA FhXEM)9>t j M FhhEu jub E_^]U졬F}tPXu3@FE 8uMhE5PhPEu_u8HuxZuF8Yuu @uFYYvVu EVP-F@YYt$EPEPhEMMUF tEPEPhEыUME^Pu ju^ E]UQQFVW<6|<9~<_uPuMAE 3}90t97t Gu PM97t WMEPutYYEuEju VuP3>*PEPub jMuMd} 397t WMZS]93t97t j MSM;EM[MH_^]Uuuu uE]UQQFVW_@F8A@Fw|F3ҋMЉUMt}hEMj YPMtKF#ƃt u)hEhEMe#thEMRċMjԾE+j)MMUEHE @`_^]U졬Fu 8@uM@F uYYE]USVuWE&FF%FI]F7<@/=Ft =Fx>tUVEPh(E|辽}EĉEȉFt(VEPj[tEEFEF8?@F$ZYHtVlPdP-Y>3F}]jEjPM؃ uAt6EԉMMh(EEEMEEEEPq}]}ԋ 3]}uRF8@uEPEPj[\}EM܉E܋Ej]ETE܉EFF~f&FkFTVPj]LPjDjP /EFH9_uMx?uGV< FPj4jP ȋAFF8@G,PYPEPj`$}EM̉E̋Ej'ETVPMvj@hFMVEPhXE,/EEF F9 tFEPS; F VPEEVPEjjPz ȋAF~Ft<@tPf&F@>u jF0VEPh(EEPjM貺t@F_^[]USVu3WS^F#lj%FEjPȃ AFFuBt<@t>VEPh(EEPEPYTȋAFF@u@FXtF#lj%FF?9u jK0VEPh(EEPjM跹yHN_^[]UQQFu Mj|0j?u@FEPPj-u轾 uYYE]Uu3EY]UW9uEVu pu^_]USVuW;t6uVFxWt} GPVt_^[]UyujhlEu u:E]UE;E sI@]UIt]2E]USVWu {upA;E s{u Pr%_^[]Uqqu u]UMu 賷 FA F<@unA F<_uaEAjP F EjPFt,@t @Fu8tM@FEMHHFjjMbE]UE U+‹M;~ȅtSVW}+ي7Fu_^[ ]U졬F8?u'@8$ujuYY"jjuF jjuE E]U|F3ʼnESW}'Gg=FVV5F}A<@9e2e2ȃ0 w)Q FEFP5F ȋEAEu<$u"8FuF$tE1t0t6t$t,u j M賶j>M詶} tF8t@FMEFE=F5F_M^H[ Mj襯E]Ue!E!EEejPhZFEPuFE]U졬FtLZuM@FE HVEPYPEPhEMޮj)uM!j)uEjPhEM赮@ӴE]UQFSVWj3ۿ@^:_u BωF 7h/p'x<9uBF 3Ʉ_^[]ÍIK@R@Y@]@i@a@p@x@@U졬FtAMtj@hEFF MjtE]Uu u]EYY]UQQM VuhEAΉF課EPYP蠱j}ڱ F9@uA F^]UM SVu3CAȉF:8F8EPEYEMEj EnVEPMtȋAF:F8@hEF8^tj@teEPYPEPj`M葩 EMEEj'EEP薰F8@u@F8^/8@thE{8^8uS蹱j}蚰F8@u,@F$: VEPSM蹩肯MMN^[]U<F3ʼnESV5FW}Ã0 w FFPW5Fee?uLEjPNYY@M FEA F<@I3 F8M@P耬j,EjPVE u@Ej PVEz  Eԉ5FP F@Y=Ft}jEPMEPj5FYPwYMt P讫hPE蟫EPEPuM E̍M܉E܋EhTEE薯EChPEMZEPEPuMŧȭE̍MԉEԋEhTEEQEPMM:}t@uEȃe%F5Fj@hFM @ME} t F9 t EP萯EEGM_^3[蔄]áF%@ËA ËA3939 ËA ËA ËA39t At@39t At@ËA3yW9u3_ËV0Ő^_ËA3@ËI3UQEx }4SXVWx0腐֋2tEx _^[@ ]ËAU Fua3FAF F3ң FPEFFFFFFFFFEw k F]øF]ÁIÁI@ÁIÁI Ã9tIÁIÁIAUUtMVu +Au^]UM38t@A9u]UEu]ËM UStt:uBA +[]jdhF+}u3k3uV؜Yu=FEF5F5F5FEPVuu uMUM讨}FJE 3}V諜YjdhF薎}u3k3uVCYu=FEF5F5F5Fu uuu uMM}F赬E a3}VYUuuuu u&p0+y]UEPjuu u]USVWUjjh@u m]_^[]ËL$At2D$H3袀UhP(RP$R]D$T$SVWD$UPjh@d5F3PD$dD$(Xp t:|$,t;t$,v-4v L$ H |uhDID_뷋L$d _^[3d y@uQ R 9QuSQ0F SQ0FL$ KCk UQPXY]Y[UF3E]UU ME]UE M]UM33]3ɺF3 F3FVt Uu/иFYFȃ3]̋L$ W|$VStt9u~Ѓ3ƒtGt!tt uσ t$u u\"t=t)uu8˃ttu[^D$_ÈD$[^_ÉtȺ~Ѓ3‹t܄t΄t*tuĉD$[^_f3ҋD$W[^_fD$[^_ËUVuuO5j^0$huu ^ u #53^]ËUVuu5j^0ɿ$huu u 43^]jhF3uu4t3s3} t38tӀ>u 4эEP3Y}u e4봃eeuuWVuE 轉Ëuu u>YuYjh FP3uu3賾3s3} t33f9tf9u 3΍EPoY9]u 3벉]]uuWVuE Ëuu u}Yu YËUE0E0E 0E0]ËUE0E0E 0E0w]Ë1Y39ËU]Uj@u u ]ËUVuu2j^0脽$huu u 203^]ËU]qUj@u u ]ËUVuuZ2j^0$huu k u 0203^]ËUuY]UE]UE]V6̴&Y^ËË!ËV6豴&Y^áFVj^u;}ƣFjP$jFx =Fu+jV5FjFR =Fu^W3@FjhF PRF4ǃ?k0FDt tuF8GFu_3^ËUkE8@F]ËVW3F44FY PE u5F葳%FY^ËUMu0QjX]ËU tAEtUtA3]ËUE PE]ËUE PE]ËUE]ËUE]Ë@ Ë@ Ë@ ËUVuu/謺QF W t9V7V"VpPy~t vfYV谻Y_^]jh@FƄuu3uf/&;F VtgYeYeV1YuE 覄ËuuYËUuY]j h`F4ej _Yeu uuYYuE EËuj rYj hFej Yeu uYYuE Ëuj $YËU=Fu=Fu]Vuu1.Eu VZYYt)jP!YYu9Fu3u VYYujİY^]ËU=Fu=Fu]Vuu-pEu VYYt)jPYYu9Fu3u VYYujCY^]ËUVW3WWjuWWhEu5-*39} tWWju WWhEt_^]ËUVW3WWWWjuWWرEu,*39} tWWWWju WWرEt_^]ËUQQSVW} tzVuVWE;r,G3;sjPEYYtwuuVE@=WPCP`}j=W蒃YYtȾ+;}@VPnYY;wύQAu+jYSoYYu3 WSV蝯 j豮Y_^[]ËU S] VWVu&VS}E;r+C3;sjPE3YYuuVMj=XSfNE@PAFPcz]j=SgYYt,+˃vVPwYY;]3Qff;u+jAPEFYYu SuV W臭Y_^[]ËUE 0E0YY]ËUE 0E0YY]ËUSVW3PPjuPPhE] j*^u >*30t3PPjSPPhEtjW蜮YYt"WVjujjhEȅu)*2VʬY_^[]Åtj=Z+NWPjSjjfPhEt‹3VPYY븋USVW3PPPPjuPPرE] j*^u w)30t3PPPPjSPPرEtjWӭYYt$3PPWVjuPPرEȅu()*2VY_^[]Åt3ҍ1RR+@=WPjSRRرEtË3VPYY빋UE PE0-YY]ËUE fPE0geYY]ËUE0E 0E0O ]ËUE0E 0E01 ]ËUE0E 0E0 ]ËUE0E 0E0j ]ËUEP@u+]ËUEPffu+]ËUE 0E0@YY]ËUE 0E0OYY]ËUE 0E0YY]ËUE 0E0YY]ËUE]V6\&Y^39ËU3PPju PuhE]ËU3PPPPju PuرE]ËUuuju juhE]ËU3PPuuju PuرE]Ë!Ë!Ë33939F39FËV6蝩&Y^ËËËUjuYY]ËU} u&IjX]u uxYYu]a&]ËUjuYY]ËU} u:&jX]u uwYYu]&]ËU]0UWMG t GAFuFGFGDVWRwHL HHP+V7PP^u PG _]y t PÍAjYËUSVWuMJE33MzBuL+׍yAu+σMFrЍC]P Ytq3ۋEM:AF4+PV袨 ul΍QAuE+MA:Ft+PVo u9΍QAu+Crjg}Yt M胡P_^[]3PPPPPTjYËUSVWuM9E3j _hENЍQAu+ʋBEBu+U ؃uύCP Yt{eE:FpЋ+@PV莧 uw΍QAuE+:F0+@PV` uI΍QAuE+MAEM rjH}Yt M胡P_^[]3PPPPP5fUjuuuu u]ËUSVuME3ۋHEMtu t 9]t9]u"蘭SSjuSQhEEuHEPp"YWP趥YuWjuSuhEuHEP3"^6P}YtHuuuWu VEt+SSu ujVSuرEuHEP!Y]VYWY_}t M胡P^[]Ë F3ËU}u]uuuuu 豬̋Uujuuu u]ËUjjuuu ug]ËUVuuuu uO^]UVuuuu u,FX\ `^]UEV0E0E0E p0uKP^]UVuuuu uO^]UVuuuu u,FX\ `^]UEV0E0E0E p0uxKP^]UVuuuu uO^]UVuuuu u,FX\ `^]UEV0E0E0E p0uJP^]UVuuuu uO^]UVuuuu u,FX\ `^]UEV0E0E0E p0utJP^]j h F7teE0YeM OuE Jt uE0bYj h@FseE02YeM QuE s uE0Yj hFseE0YeM RuE s uE0Yj hFDseE0YeM MuE Ws uE0oYj hFreE0?YeM IOuE s uE0Yj hFreE0YeM OuE r uE0YËU EMEEEPu EP]ËU EMEEEPu EP]ËU EMEEEPu EP]ËU EMEEEPu EP]ËU EMEEEPu EP]ËU EMEEEPu EP]ËU}uЦ2}tEEEEEEEEEEEPuYY]ËU}uw2}tEEEEEEEEEEEPudYY]ËU}u^2}tEEEEEEEEEEEPu3YY]ËU}uť2}tEEEEEEEEEEEPuRYY]ËU}ul2}tEEEEEEEEEEEPuYY]ËU}uS2}tEEEEEEEEEEEPuPYY]ËUQ}u輤SVuW}uu9u3]u$u u;v-GPVu uuM8"ulzcSVu EucDuuM8"u5CM)y(u+" ޣ_^[]ËUQ}u踣SVuW}uu9u3]u$u u;v-GPVu uuO8"upvgSVu Eu3ɃfL^uuG8"u7=M+y*3fu#" ֢_^[]ËUF3ʼnE}ES]u蔢ttVWu|M33ҫ ‰u uƅu Puu QPsC`tKE3Ƀ tuuo;u*x);v%[ tMty ;tM nFt |P_^M3[_]ÅuË;uj^L밋UF3ʼnE}ES]uXttVWu|*M33ҫ ‰u uƅu Puu QP)CftQEtuuv;u.x0;v,btSty3f;tP3f GDt |P_^M3[]]ÅuË;uj^3fD_뭋U F3ʼnEES]VuHu葟OttWuM833ҫH4 ‰8<@u DuƅD8 (LE H,E $HP,0P0P P(PLX^tKE3Ƀ tuuo@;u*x);v%[4 tMty @;tM ,C_t PƋM^3[[]ÅuË@;uj^L밋U F3ʼnEES]VuHuԝUttWuM833ҫH4 ‰8<@u DuƅD8 (LE H,E $HP,0P0P P(P8LX`dtQEtuuv@;u.x0;v,b4tSty3f@;tP3f GiA_t PƋM^3[ Z]ÅuË@;uj^3fD_뭋UF3ʼnE}ES]uPttVWu|"M33ҫ ‰u uƅu Puu QPS=\tKE3Ƀ tuuo;u*x);v%[ tMty ;tM ?t |P_^M3[X]ÅuË;uj^L밋UF3ʼnE}ES]u蔚ttVWu|M33ҫ ‰u uƅu Puu QP =btQEtuuv;u.x0;v,btSty3f;tP3f Gh>t |P_^M3[ W]ÅuË;uj^3fD_뭋U}ul,]Vut:}v4u uuuVu u5yu "" ՘^]ËU}u 贘]Vut<}v6u uuuVu u9y3fu " [^]ÃuËËuËuËUQ3VuWs7  2SS39uv;w1V%EYtEP<EPÏY[_^]U샹\uAIAMQU x9d}4Xuq,A1PdjP ҋld $2]U샹\uAIAMQU x9d}4Xuq,A1PdjP ҋl 襖2]U샹\uAIAMQU x9d}4Xuq,A2PdjPZ ҋlf &2]U샹\uAIAMQU x9d}4Xuq,A2PdjP( ҋl 觕2]UAAM@Q]UAAM@Q]UAAM@Q]UAAM@Q]U샹\uAIAMQU x9d}4Xuq,A1PdjPJ ҋl 謔2]U샹\uAIAMQU x9d}4Xuq,A1PdjP ҋlm -2]U샹\uAIAMQU x9d}4Xuq,A2PdjP ҋl讓2]U샹\uAIAMQU x9d}4Xuq,A2PdjP ҋlo/2]UAAM@Q]UAAM@Q]UAAM@Q]UAAM@Q]U샹\uAIAMQU x9d}4Xuq,A1PdjP ҋlt42]U샹\uAIAMQU x9d}4Xuq,A1PdjP ҋl赑2]U샹\uAIAMQU x9d}4Xuq,A2PdjPj ҋlv62]U샹\uAIAMQU x9d}4Xuq,A2PdjP8 ҋl跐2]UAAM@Q]UAAM@Q]UAAM@Q]UAAM@Q]U샹\uAIQMY x=d}8Xuq,A1PdjP_$ҋlE轏2]U샹\uAIQMY x=d}8Xuq,A1PdjP,$ҋlE?2]UAAHE]UAAHE]U샹\uAIAMQU x9d}4Xuq,A1PdjP* ҋl茎2]U샹\uAIAMQU x9d}4Xuq,A1PdjP ҋlM 2]U샹\uAIAMQU x9d}4Xuq,A2PdjP ҋl莍2]U샹\uAIAMQU x9d}4Xuq,A2PdjP ҋlO2]UAAM@Q]UAAM@Q]UAAM@Q]UAAM@Q]U샹\uAA@MQT x8d}3Xuq,A1PdjPҋlV2]U샹\uAA@MQT x8d}3Xuq,A1PdjPҋl虋2]U샹\uAA@MQT x8d}3Xuq,A2PdjPOҋl\2]U샹\uAA@MQT x8d}3Xuq,A2PdjPҋl蟊2]UAAM@Q]UAAM@Q]UAAM@Q]UAAM@Q]U샹\uAIUIb ] xAd}YYM_3^)]1VYËU F3ʼnEVW8WI FY$0sNHFD(@F <4AL8DP@P8uu.:u*uSw7v uw7 : 23:_^[]UQQS]VuWNpMƀp„3stESuEstSuctЀCuctCu}urukQSEYYMu uu3;M t:uh3Ƀ~ 3} ;uRv SuS+YCY>8uu.:u*uSw7v uw7 : 23:_^[]UQQS]VuWjpX~f;Mf;W?SE6WESEMut8MMulWuYYu u|3;M {:uo3Ƀ~ 3} ;uYv RuR+YCYE:Mu5M:u.uESp0v ؋EWp0 : 23:_^[]UQQS]VuWjpX~f;Mf;W8SE/WESEMut8MMulW)uYYu u|3;M {:uo3Ƀ~ 3} ;uYv QuQ+YCYE:Mu5M:u.uESp0v ؋EWp0 : 23:_^[]4Eø4Eø4Eø4Eø4Eø4Eø4Eø4Eø4Eø4Eø4Eø4EËUQSVMWj Q~ 'FeHPM F 8"tE;FrF2?ut_^[]UQSVMWj Q~ 'FeHPWM F 8"tE;FrF2?ut_^[]UQSVMWj Q~ 'FeHPM F 8"tE;FrF2?ut_^[]UQSVMWj Q~ 'FeHPM F 8"tE;FrF2?ut_^[]UQSVMWj Q~ 'FeHPCM F 8"tE;FrF2?ut_^[]UQSVMWj Q~ 'FeHPM F 8"tE;FrF2?ut_^[]UQSVMWj Q~ 'FePM F 8"tE;FrF2?ut_^[]UQSVMWj Q~ 'FeP3M F 8"tE;FrF2?ut_^[]UQSVMWj Q~ 'FePM F 8"tE;FrF2?ut_^[]UQSVMWj Q~ 'FePwM F 8"tE;FrF2?ut_^[]UQSVMWj Q~ 'FePM F 8"tE;FrF2?ut_^[]UQSVMWj Q~ 'FePM F 8"tE;FrF2?ut_^[]VH讔u^S39^轹}D^8^F9^vF1PFtw$gxA~EN(^$^0^ ^,^<8'UI^(!?d-hFF1kFyFPP;F[^wAwAwAwAxA xAxAxAVH膓u^S39^u虸YCW*^8^F9^vF1PΉF輔F$yALD^$^0^ ~(^,^<4q'0H^(}.tDFF1VF赘t&U.F_[^蕷UBI'yA0yADyAMyAVyA[yAdyAmyAVH*u^S39^9A^8^F9^vF1PFtw$zAJEN(^$^0^ ^,^<8z'I|A|A|A|A|A|A}A }AVHƎu^S39^虳Y>^8^F9^vF1PFtw$~AEN(^$^0^ ^,^<8 '2D^(!M2hFF1kFPPJF[^ÍI}A~A~A!~A*~A/~A8~AA~AVH菍u^S39^}==^8^F9^vF2PFtw$A EN(^$^0^ ^,^<8 '@C^(!3gFfF2fgFxAPP6F[^ÍIA A5A>AGALAUA^AVH_u^S39^uQ<Wz^8^F9^vF2PΉFcF$A D^$^0^ ~(^,^<4 'B^(4tHFfF2fRFht&)F_[^H;pAyAAAAAAAVHu^S39^:^8^F9^vF2PFtw$/A EN(^$^0^ ^,^<8'A^(!5gFfF2fgFPPEF[^ËAAŁA΁AׁA܁AAAVHu^S39^ͮ9^8^F9^vF2PFtw$_A EN(^$^0^ ^,^<8')@^(!]7gFfF2fgFAPP6F[^ÍIǂAЂAAAAAAAVHu^S39^u衭a8W^8^F9^vF2PΉF赌F$AD^$^0^ ~(^,^<4'>^(#8tHFfF2fRF8t&<)F_[^蘬X7 A)A=AFAOATA]AfAVH腇u^S39^=6^8^F9^vF2PFtw$߅AEN(^$^0^ ^,^<8'>^(!W9gFfF2fgFPPEF[^ËWA`AuA~AAAAAUE A ]UE A ]UE A ]UE A ]UE A ]UE A ]UE A ]UE A ]UE A ]UE A ]UE A ]UE A ]3@9Xu 9\t33@9Xu 9\t33@9Xu 9\t33@9Xu 9\t3ððððËXu \uÃu \t2ËXu \uÃu \t2ËXu \uÃu \t2ËXu \uÃu \t22222Ã\u 3@9Xt3Ã\u 3@9Xt3Ã\u 3@9Xt3Ã\u 3@9Xt32222Ãa(Ãa(Ãa(Ãa(Ãa(Ãa(Ãa(Ãa(Ãa(Ãa(Ãa(Ãa(A1 t-t"tHt uI I I  I I A1 t-t"tHt uI I I  I I A1 t-t"tHt uI I I  I I A1 t-t"tHt uI I I  I I A1 t-t"tHt uI I I  I I A1 t-t"tHt uI I I  I I A2 t-t"tHt uI I I  I I A2 t-t"tHt uI I I  I I A2 t-t"tHt uI I I  I I A2 t-t"tHt uI I I  I I A2 t-t"tHt uI I I  I I A2 t-t"tHt uI I I  I I uݥ02ðËVuu讥n02^ð^u荥M02ðun.02ðËVLuu?/2^ð^u/2ðu/2ðËVuuФ/2^ð^u诤o/2ðu萤P/2ðËVuua!/2^ð^u@/2ðËVju^ÍFPF1HP;^ËVju^ÍFPF1HP^ËVju^ÍFPF1HP^ËVj7u^ÍFPF1HP:^ËVjnu^ÍFPF1HP^ËVju^ÍFPF1HP^ÍQA<RQ2HR芈ÍQA<RQ2HRoÍQA<RQ2HRTÍQA<RQ2HR軈ÍQA<RQ2HR蠈ÍQA<RQ2HR腈ËVWFN1F<ыfTt-hA8hu@A,AA,A, A,Q<3uz2uBA, A<6uz4uBA, AuTt-hA8hu@A,AA,A, A,Q<3uz2uBA, A<6uz4uBA, AuTt-hA8hu@A,AA,A, A,Q<3uz2uBA, A<6uz4uBA, AuTt-hA8hu@A,AA,A, A,Q<3uz2uBA, A<6uz4uBA, AuTt-hA8hu@A,AA,A, A,Q<3uz2uBA, A<6uz4uBA, AuTt-hA8hu@A,AA,A, A,Q<3uz2uBA, A<6uz4uBA, Aut7ACt>D~GSuoV2SjWZttVHuQ=5ҋ|ɃpMt?g~1itntouS륋uM뜃N Qj =댋J#냋TwsgHtЃgQi~0t(V 3WfEEt'tE-tE+ tE N1xtXu u2ۀat At2ut'D=0Xt At2$xD=^$+^8+ uFPSHj PVv FPWEHPvN ~tuWSHj0Pjo?|F tWSHj P_^[]ËUQSV3C3F1dlX>t7ACt>D~GSuT2SjWZttVHuQ3ҋɃpMt?g~1itntourQ륋K뜃N Qj 8<댋u"냋RwsgHtЃgQit.~0uV 3WfEEt'tE-tE+ tE N1xtXu u2ۀat At2ut'D=0Xt At2$xD=^$+^8+ uFPSHj Pv FPWEHPtN ~tuWSHj0Pۮjn?|F tWSHj P谮_^[]ËUQSV3C3F1dlX>t7ACt>D~GSuR2SjWZttVHuQ$2ҋɃpMt?g~1itntouWO륋J뜃N Qj |;댋!냋PwsgHtЃgQi~0t(V 3WfEEt'tE-tE+ tE N1xtXu u2ۀat At2ut'D=0Xt At2$xD=^$+^8+ uFPSHj Pv FPWEHPrN ~tuWSHj0P謬jl?|F tWSHj P聬_^[]ËUQSV3C3F1dlX>t7ACt>D~GSu9Q2SjWZttVHuQ0ҋ)ɃpMt?g~1itntouGM륋^H뜃N Qj :댋 냋{NwsgHtЃgQi~0t(V 3WfEEt'tE-tE+ tE N1xtXu u2ۀat At2ut'D=0Xt At2$xD=^$+^8+ uFPSHj Pv FPWEHPyqN ~tuWSHj0Pڪjj?|F tWSHj P诪_^[]ËUQSV3C3F1dlX>t7ACt>D~GSu}O2SjWZttVHuQ.ҋ]ɃpMt?g~1itntou7K륋F뜃N Qj 9댋 냋dLwsgHtЃgQi;t.~0uV 3WfEEt'tE-tE+ tE N1xtXu u2ۀat At2ut'D=0Xt At2$xD=^$+^8+ uFPSHj Pv FPWEHP?oN ~tuWSHj0P蠨jei?|F tWSHj Pu_^[]ËUQSV3C3F1dlX>t7ACt>D~GSuM2SjWZttVHuQl-ҋɃpMt?g~1itntouI륋E뜃N Qj 8댋I냋BJwsgHtЃgQi~0t(V 3WfEEt'tE-tE+ tE N1xtXu u2ۀat At2ut'D=0Xt At2$xD=^$+^8+ uFPSHj P貦v FPWEHPmN ~tuWSHj0Pqjg?|F tWSHj PF_^[]ËU F3ʼnESV3jAZjXF2Ydk;>t6;Ct?D~GSuK2jjWZttVHuS+ыȃpMt?g~1itntouF뤋9C뛃N Sj 8닋f낋HvsfHtЃfSi8^0@V 3W‰]Af]j _t(t j-XfEtj+tf}N2xtjXXf;u t2at jA_f;t2j0_ut0jXXf|]f;t jAXf;t2$xffD]~$+~8+ uFPWHj P.v FPSEHP0jN ^tuSWHj0Pj1f;|F tSWHj P£_M^3[L]ËU F3ʼnESV3jAZjXF2Ydk;>t6;Ct?D~GSu J2jjWZttVHuS)ыȃpMt?g~1itntouD뤋PA뛃N Sj 6닋{낋EvsfHtЃfSi~I8^0@V 3W‰]Af]j _t(t j-XfEtj+tf}N2xtjXXf;u t2at jA_f;t2j0_ut0jXXf|]f;t jAXf;t2$xffD]~$+~8+ uFPWHj P¡v FPSEHPgN ^tuSWHj0P聡jPd;|F tSWHj PV_M^3[]ËU F3ʼnESV3jAZjXF2Ydk;>t6;Ct?D~GSuH2jjWZttVHuS=(ыȃpMt?g~1itntousB뤋}?뛃N Sj 6닋낋CvsfHtЃfSi8^0@V 3W‰]Af]j _t(t j-XfEtj+tf}N2xtjXXf;u t2at jA_f;t2j0_ut0jXXf|]f;t jAXf;t2$xffD]~$+~8+ uFPWHj Pev FPSEHPgeN ^tuSWHj0P$j~b;|F tSWHj P_M^3[胿]ËU F3ʼnESV3jAZjXF2Ydk;>t6;Ct?D~GSu6F2jjWZttVHuSx&ы ȃpMt?g~1itntou5@뤋=뛃N Sj 4닋낋?AvsfHtЃfSi8^0@V 3W‰]Af]j _t(t j-XfEtj+tf}N2xtjXXf;u t2at jA_f;t2j0_ut0jXXf|]f;t jAXf;t2$xffD]~$+~8+ uFPWHj Pev FPSEHP*dN ^tuSWHj0P$j`;|F tSWHj P_M^3[&]ËU F3ʼnESV3jAZjXF2Ydk;>t6;Ct?D~GSuMD2jjWZttVHuS$ы ȃpMt?g~1itntou=뤋;뛃N Sj 3닋낋>vsfHtЃfSioI8^0@V 3W‰]Af]j _t(t j-XfEtj+tf}N2xtjXXf;u t2at jA_f;t2j0_ut0jXXf|]f;t jAXf;t2$xffD]~$+~8+ uFPWHj Pv FPSEHPaN ^tuSWHj0P踚j^;|F tSWHj P荚_M^3[躺]ËU F3ʼnESV3jAZjXF2Ydk;>t6;Ct?D~GSu_B2jjWZttVHuS"ы ȃpMt?g~1itntou;뤋9뛃N Sj 2닋낋<vsfHtЃfSi8^0@V 3W‰]Af]j _t(t j-XfEtj+tf}N2xtjXXf;u t2at jA_f;t2j0_ut0jXXf|]f;t jAXf;t2$xffD]~$+~8+ uFPWHj P蜘v FPSEHPa_N ^tuSWHj0P[j\;|F tSWHj P0_M^3[]]Ày1*t A$P蛱ÃAA@A$yI Y$ËV~1*t F$PDZ^JDu^ËtF$y N ؉F$^Ày1*t A$PÃAA@A$yI Y$Ày1*t A$PÃAA@A$yI Y$ËV~1*t F$PE^jDu^ËtF$y N ؉F$^Ày1*t A$PfÃAA@A$yI Y$fy2*t A$P薲ÃAA@A$yI Y$ËVf~2*t F$Pò^Du^ËtF$y N ؉F$^fy2*t A$PÃAA@A$yI Y$fy2*t A$PÃAA@A$yI Y$ËVf~2*t F$PD^Du^ËtF$y N ؉F$^fy2*t A$PfÃAA@A$yI Y$j Xj Xj Xj XjXjXjXjXøEøEøEøEøxEøxEøxEøxEËUE w$3AjX]3@]jj3]ËA A%AA)A)AAA-AAA)AjjMjj jj"jjA#jj$jj%jj5'jju(jj)jj)+jji,jj-ËSVWFFxt6_t/v,F1Pv6^4t F8F<F8F44EF8F<_^[ËUQeEVPqt`TtSSW}t6_t/v,F1Pv6裃^4t F8F<F8F44EF8F<_[^]ËSVWFFxt6_t/v,F1Pv6=^4t F8F<F8F44EF8F<_^[ËSVWFFxt6_t/v,F1Pv6ڂ^4t F8F<F8F44EF8F<_^[ËUQeEVP-qt`%tSSW}t6_t/v,F1Pv6^^4t F8F<F8F44EF8F<_[^]ËSVWFFxt6_t/v,F1Pv6^4t F8F<F8F44EF8F<_^[ËSVWFFxt6_t/v,F2Pv6Ձ^4t F8F<F8F44EF8F<_^[ËUQeEVPpt`tSSW}t6_t/v,F2Pv6Y^4t F8F<F8F44EF8F<_[^]ËSVWFFxt6_t/v,F2Pv6^4t F8F<F8F44EF8F<_^[ËSVWFFxt6_t/v,F2Pv6萀^4t F8F<F8F44EF8F<_^[ËUQeEVP;pt`ǽtSSW}t6_t/v,F2Pv6^4t F8F<F8F44EF8F<_[^]ËSVWFFxt6_t/v,F2Pv6^4t F8F<F8F44EF8F<_^[ËUQQVWN F(yF1#A{۠UMW~ t|s كڃ@~ ~(_} F(f 9F(~F( uf u uu RQlQ0gF t~8tF480t N4F40F8^[]USVv,uY؋˃txtVIt3tJU2F FFHPXF FFt@?H3;F FFt@!@F FFt@@W~ t|s كڃ@~ ~(_} F(f 9F(~F( uf u uu RQlQYfF t~8tF480t N4N40F8^[]USVv,+Y؋˃txtVIt3tKI 2F FFHPXF FFt@?H3;F FFt@!@F FFt@@W~ t|s كڃ@~ ~(_} F(f 9F(~F( uf u uu RQCkQeF t~8tF480t N4N40F8^[]UQQSVv,e؃eY˃t^It:tG2&F EPt2F FFHPXF FFt@?H3;F FFt@!@F FFt@@W~ t|s كڃ@~ ~(_} F(f 9F(~F( uf u uu RQdQ@^F t~8tF480t N4N40F8^[]VWFFx8u'=2Dv,Yt+tHtu΋FWFfFfFF0_^ËUQeEVPEu2vti8u<Zv,FYt4t#HtuЋFMQENEfNfENF0^]ËVWFFx7u<2Dv,Yt+tHtu΋FWFfFfFF0_^ËVWFFx 7u;f2Dv,PYt+tHtu΋FWFfFfFF0_^ËUQeEVPDu2v讐ti6u;v,Yt4t#HtuЋFMQENEfNfENF0^]ËVWFFx6u:Y2Dv,CYt+tHtu΋FWFfFfFF0_^ËVWFFx5u%:2Dv,Yt+tHtu΋FWFfFfFF0_^ËUQeEVPCu2vCti5u9Xv,DYt4t#HtuЋFMQENEfNfENF0^]ËVWFFx4u92Dv,Yt+tHtu΋FWFfFfFF0_^ËVWFFx4u8d2Dv,NYt+tHtu΋FWFfFfFF0_^ËUQeEVP|Bu2v؍ti3u8v,Yt4t#HtuЋFMQENEfNfENF0^]ËVWFFx3u7W2Dv,AYt+tHtu΋FWFfFfFF0_^ËQ t ʀQ jjËQ t ʀQ jjËQ t ʀQ jj ËQ t ʀQ jjKËQ t ʀQ jjvËQ t ʀQ jjËQ t ʀQ jjËQ t ʀQ jj+ËQ t ʀQ jjËQ t ʀQ jjËQ t ʀQ jjËQ t ʀQ jj?jjA(A, )jjA(A, [jjA(A, jjA(A, jjA(A, %jjA(A, jjA(A, jjA(A, jjA(A, UjjA(A, jjA(A, jjA(A, ËSVWFF~(X^4uv,F1Pv6\LtuF4 ~4Ej$Yf9u)9Xuh@dWPi~ dž\\\uQj E}Pv>U HB F9Xu#x(j$Xf9u d} ;ȉ _^[]b2ðððÃytytv62ðÃytytT2ðÃytyt22ðÃytytЩ2ðËVnu2^Ã\uOXuF td)FAtt t uFF;uӰ^L뎋Vu2^Ã\uOXuF td)FAtt t uFF;uӰ^ ̨뎋Vu2^Ã\uOXuF td)FAtt t uFF;uӰ^L뎋VTu2^Ã\uOXuF td)FAtt t uFF;uӰ^ ̧뎰ðððÃ\uGXu> x!d}q,A1PdjPq2ðÃ\uGXu> x!d}q,A1PdjP^2ðÃ\uGXu> x!d}q,A2PdjP ˦2ðÃ\uGXu> x!d}q,A2PdjPx2ðððððËUMVA ujQ8оFYtt?k0Fƀx)u"ttƒ?k04FF-t-2^]ðø*uPj?fEG;}uԋM>ut_^[]UQQSً@ txu ME ^E VuW}&GME;t4EPP/E8u>*uPj?E;}uҋM>ut_^[]UQQVW}E'Mp9pux t ME JEE+pS] ;rVu0NM 0px Et ;t0[M?ut_^]UQQS]WE #Mz9zuz t ME QEL+zE ;rV4?Vu2NM 0^xx EtM  ;} t8M;ut _[]UE MH%]ËU,EUMEEEEEE MUEu ʚ.tEEԍEE؍EE܍EEEEEPR3YY]ËU,EUMEEEEEE MUEuS.tEEԍEE؍EE܍EEEEEPRlYY]ËU,EUMEEEEEE MUEuܙ.tEEԍEE؍EE܍EEEEEPRYY]ËU,EUMEEEEEE MUEue.tEEԍEE؍EE܍EEEEEPRYY]ËU,EUMEEEEEE MUEu..tEEԍEE؍EE܍EEEEEPRYY]ËU,EUMEEEEEE MUEu w.tEEԍEE؍EE܍EEEEEPRhYY]ËUu$u uuuuu uF ]ËUu$u uuuuu u# ]ËUu uuuuu u]ËUu uuuuu u]ËUu uuuuu uD]ËUu uuuuu u]ËUu uuuuu u5]ËUu uuuuu uP]̋UQF3ʼnEMS] ;vlEVW;w(IMWVвEU~E;vM;t!t+RLDJuEM+؍;w_^M3[ T]̋UE W};t&Vut+@TLPu^_]̋UF3ʼnEMU VuW}u$t $ _^M3yS]Åt܅tDžJSщ3+XwVWQ}SQΉвEփ~WS вEփ~W SвEփ~WS ;v7;s%SVвE~;w=;wSVвE׋~ۋ+;vSWвEփዕ;r^;t3ދ׋+ߊRLDJu답;މ;s2$+;v%SWвEt;r/+;vSWвE֋t݋Nj++;|9;s |@;sL΋j;s T@;s׋+x T[M_3^ u]ËUQjuQQu uP u]ËUQjuQQu uP u]ËUQjuQQu uP uz]ËUQjuQQu uP jN]ËUQjuQQu uP^ u!]ËUQjuQQu uP1 ui]ËUQjuQQu uP u]ËUQjuQQu uP u]ËUQjuQQu uP j]ËUQjuQQu uPc j]ËUQjuQQu uP7 jp]ËUQjuQQu uP j7]ËUQjuQQu uP j]ËUQjuQQu uP j]ËUQjuQQu uP jf]ËUQjuQQu uPv j]ËUQjuQQu uPJ j]ËUQjuQQu uP jW]ËUQjuQQu uP j]ËUQjuQQu uP j]ËUQQeEjP^YYtEMt]ËU3W}jEPYY_tUEMtQ]ËUQQVuuj3S} ueEeSP`ME>jhޱPQa][| =wkd3@N^]ËUQQVuuBj3W} ueEeSPME>jhޱPQ][| =o@wkd3V@N^]ËUQQeEjPYYtEMt]ËU3W}jEP2YY_tUEMtQ]ËU]U]UV)tuV4YY#^]ËUVtuVYY#^]ËUVuu*j^0hWj Y} uj^0h?|?~j^0\S3ۍEP]]]YwEPYeEP YS=~_=}X+EEEPV}YY9]VYE)EEPVKYYF WV.YY>9]tVYtEE+F +}j<[yJ<+Ǚ~ǙVyJ<+NǙj~Ǚ[VyJ+NǙȅ~Fj_N VN3[_^]yFN j_F V׃F F mFNSSSSS,g̋UVuuj^0fSWj Y} uj^0f-S39_|9rjX9G|?o@vj^0[_^]E]P]]YEPYEPY_|vujX;n|{x|Ml}Puxu uP _Mt^t hPM3_]ËU|W}uAY}tSVu3ۃuNff;u+uMu w}EME}PuEu uP^MKuЋPY]8]t M䃡P^[_]ËUQQE EEPuEtYY]ËUQQE EEPuEsYY]ËUQQE EEPuE~YY]ËUQQE EEPuE[YY]ËUEPqY]ËUEjPYY]ËUuMuuu E\E]ËUuMuuu X\E]ËUuMuuu k\E]ËUuMuuu ~\E]ËUF3ʼnEEVu,tuGW3@"QM QPVQP.2U$^t M M u M3e]ËUF3ʼnEEVu,tuV3@"QM QPVQP2U$^t M M u M3]ËUF3ʼnEEVu,tuQV3@"QM QPVQP81U$^t M M u M3o]ËUF3ʼnEEVu,tuU3@"QM QPVQP1U$^t M M u M3]ËUF3ʼnEEVu,tu[U3@"QM QP7VQPB0U$^t M M u M3y]ËUF3ʼnEEVu,tuT3@"QM QPVQP0U$^t M M u M3]ËUF3ʼnEEVu,tue%T3@"QM QPVQPL/U$^t M M u M3]ËUF3ʼnEEVu,tuS3@"QM QP-VQP/U$^t M M u M3]ËU$Vu WоujXAFΉEFSE艒]MMMu܉MnSEjP uMU--t+u 5ȈMIiNn3ۈ]0uCF΋~EE fn4 3j0YE}f;uSw] ˋ蟍xtXtPfU3EsfЉ}܋fU}3u؋uMj0EXMf;uP^;ffUf;tuj0X3E:DžHDž``EjIEE DžLf @Ep Džx E DžXf Ep Džp E DžDf Ep Džhf Ep DžP E Ef Ep EPEZEEE E*E@EJEDž|DžtDžlDždDž\ADžTZEaEf; f;Us ƒ0f;Hf;`f;Us -`f;Uf;Us -f;Lf;Us -f f;xf;Us - kf;Xcf;Us -f Kf;pCf;Us - +f;D#f;Us -f f;hf;Us -f f;Pf;Us - f;Uf;Us -f f;Uf;Us -Pf;Uf;Us -wf;Urvf;Us - af;Ur`f;Us -@Kf;UrJf;|s -2f;tr.f;ls%-f;ds -u:f9\w f;Tv ff+Ef;Ewff+Ef;Ew ;w.M;tAMEl@fj0fUXE;5UfȋEuj0;fMXu*f;u%uN fj0XfMf;tUuu䋽@f; f;Ms 0f;Hf;`f;Ms -`f;Mf;Ms -f;Lf;Ms -f f;xf;Ms - kf;Xcf;Ms -f Kf;pCf;Ms - +f;D#f;Ms -f f;hf;Ms -f f;Pf;Ms - f;Mf;Ms -f f;Mf;Ms -Pf;Mf;Ms -wf;Mrvf;Ms - af;Mr`f;Ms -@Kf;MrJf;|s -2f;tr.f;ls%-f;ds -u:f9\w f;Tv ff+Ef;Ewff+Ef;Ew ;w&;tBUM 腆Ufj0fMXu&4P3Huu 衰FΉE؋FE)fE3˃EtPt et pu M8]Pfj-Xf;fMj+Zf;tf;uDžffMj03Xf;u諅fj0XfMf;t3f; f;Ms 0f;Hf;`f;Ms -`f;Mf;Ms -f;Lf;Ms -f f;xf;Ms - kf;Xcf;Ms -f Kf;pCf;Ms - +f;D#f;Ms -f f;hf;Ms -f f;Pf;Ms - f;Mf;Ms -f f;Mf;Ms -Pf;Mf;Ms -wf;Mrvf;Ms - af;Mr`f;Ms -@Kf;MrJf;|s -2f;tr.f;ls%-f;ds -u:f9\w f;Tv ff+Ef;Ewff+Ef;Ew  s.k ЉU;2Ufj0fMXEQj0Zf;f;Ms +yHf;Z`f;`f;MrҋUf;Nf;MrLf;9f;Mrxf;$f;MrXf;f;Mrpf;f;MhDf;f;MOhf;f;M6Pf;f;MUf;f;MUf;f;MUf;rqf;MUf;r_f;MUf;rMf;MUf;r;f;|tf;r#f;lsf;du$f9\w f;Tv*Uff+f;Ev s-OffM*Uff+f;Ew ΄t]u4IKt`fE]u\uMV;tXyuI;u;tI;$;|'38EH@E؁P~j j;}j3+8EN*jX%u܍EuWPu܍EuWP!^_[]ËU$Vu W}ujXAFΉEFSEf]MMMu܉MKSEjP] uMU--t+u ȈMIiNn3ۈ]0uCF΋~EE fn4 3j0YE}f;uSw] ˋ}{xtXtPޥfU3EQ{fЉ}܋fU}3u؋uMj0EXMf;uP^{ffUf;tuj0X3E:DžHDž``EjIEE DžLf @Ep Džx E DžXf Ep Džp E DžDf Ep Džhf Ep DžP E Ef Ep EPEZEEE E*E@EJEDž|DžtDžlDždDž\ADžTZEaEf; f;Us ƒ0f;Hf;`f;Us -`f;Uf;Us -f;Lf;Us -f f;xf;Us - kf;Xcf;Us -f Kf;pCf;Us - +f;D#f;Us -f f;hf;Us -f f;Pf;Us - f;Uf;Us -f f;Uf;Us -Pf;Uf;Us -wf;Urvf;Us - af;Ur`f;Us -@Kf;UrJf;|s -2f;tr.f;ls%-f;ds -u:f9\w f;Tv ff+Ef;Ewff+Ef;Ew ;w.M;tAMEJw@fj0fUXE;wUfȋEuj0;fMXu*f;u%uNvfj0XfMf;tUuu䋽@f; f;Ms 0f;Hf;`f;Ms -`f;Mf;Ms -f;Lf;Ms -f f;xf;Ms - kf;Xcf;Ms -f Kf;pCf;Ms - +f;D#f;Ms -f f;hf;Ms -f f;Pf;Ms - f;Mf;Ms -f f;Mf;Ms -Pf;Mf;Ms -wf;Mrvf;Ms - af;Mr`f;Ms -@Kf;MrJf;|s -2f;tr.f;ls%-f;ds -u:f9\w f;Tv ff+Ef;Ewff+Ef;Ew ;w&;tBUM ctUfj0fMXu&4$?3Huu 蒞FΉE؋FEtfE3˃EtPt et pu M8]Psfj-Xf;fMj+Zf;tf;usffMj03Xf;usfj0XfMf;t3f; f;Ms 0f;Hf;`f;Ms -`f;Mf;Ms -f;Lf;Ms -f f;xf;Ms - kf;Xcf;Ms -f Kf;pCf;Ms - +f;D#f;Ms -f f;hf;Ms -f f;Pf;Ms - f;Mf;Ms -f f;Mf;Ms -Pf;Mf;Ms -wf;Mrvf;Ms - af;Mr`f;Ms -@Kf;MrJf;|s -2f;tr.f;ls%-f;ds -u:f9\w f;Tv ff+Ef;Ewff+Ef;Ew  s.k ЉU;qUfj0fMXEQj0Zf;f;Ms +yHf;Z`f;`f;MrҋUf;Nf;MrLf;9f;Mrxf;$f;MrXf;f;Mrpf;f;MhDf;f;MOhf;f;M6Pf;f;MUf;f;MUf;f;MUf;rqf;MUf;r_f;MUf;rMf;MUf;r;f;|tf;r#f;lsf;du$f9\w f;Tv*Uff+f;Ev s--offM*Uff+f;Ew ΄t]u49t`nfE]uMuMV;tXyuI;u;tI;$;|'38EH@E؁P~j j;}j3+8EN*jX%u܍EuWPu܍EuWP[^_[]ËUS]EV3EW} Ɖ}]u :XEt:\EugVmȋE@ EuQ蛗GωEGE+m:`Et:hEu-mFuP]jX_^[]ÍM8jM83ɄՋUS]EV3EW} Ɖ}]u :Et:EugmȋE@ EuQ`GωEGEl:Et:Eu-lFuP"jX_^[]ÍM5jM53ɄՋUS]EV3EW} Ɖ}]u f;xEt f;Eur lfȋEf EuQSGωEGEkff;Et f;Eu0kf uPjX_^[]ÍMT7jMH73ɄՋUS]EV3EW} Ɖ}]u f;Et f;EurkfȋEf EuQ GωEGEkff;Et f;Eu0`kf uPŕjX_^[]ÍM~4jMr43ɄՋU SVuEW} 3ۉ}uE:pEt:tEuJ;jCuP舔GωEGEj<(t)M%4M 4jiWVYYtjWVYYtj[RH>)t@t1ȍAЃ vAvAv _ozi<)uɀ>)YjX_^[]ËU SVuEW} 3ۉ}uE:Et:EuJiCuPGωEGExi<(t)M=3M#3jBiWVYYtjWVYYtj[R腓H>)t@t1ȍAЃ vAvAv _oh<)uɀ>)YjX_^[]ËUSVuEW} 3ۉ}uEEf;Et f;EuPFhfuP蘒GωEGE hff(t)M4Mi4jgWVfYYt E WV YYtRENj)[f9tCft2ȍAЃ vAvAv _gwgff;uf9OjX_^[]ËUSVuEW} 3ۉ}uEEf;Et f;EuPgfuPGωEGEggff(t)ME1M+1j.gWVf)YYt E WVYYtRuENj)[f9tCft2ȍAЃ vAvAv _gfff;uf9OjX_^[]ËUSV3W}:Et:EuM eFu޳_^[]ËUSV3W}:XEt:\EuM fFu޳_^[]ËUSV3W}f;8Et f;@EuM efuس_^[]ËUSV3W}f;xEt f;EuM efuس_^[]ËUSV3W}:Et:EuM dFu޳_^[]ËUSV3W}:HEt:PEuM eFu޳_^[]ËUSV3W}f; Et f;,EuM df uس_^[]ËUSV3W}f;`Et f;lEuM df uس_^[]ËUE $DBuu YY]uu WE 38E3]ËE 38ދE 38ŋE 38묋E릋E 3@]ËE 3j8EX]ËE 3j8ݍItBBBB×BܗBBB B&BUE $HBuu 3YY]uu jE uPYY3]ËE uPE uPЋE uP`uRuj4YY3@]ËE uPYYjX]ËE uP^YYjBBBBΘBBBBB-BU@M VWt!},t%|$~誗j"3ЋTSuMq3M EEEЋE Ea؍EPjQM |a؍EPjP] u8E0E-uE+u M >a؈]Mtu{,0< wÃ",a<wÃ,A<wÃt uAj _Y؍EPjP]K u8E0E-uE+u M Y؈]Mtu{,0< wÃ",a<wÃ,A<wÃt uAj _P`PhVacu3P\`PhVX33ۋ$C;Xu苝Pss L73P\`PhV=;`us`0tЉX {牕Xu<33,0+@0,u;!0O,33ҋL49<st_;u0@lj,40,L04,@LF4;PYYju3 t@3su3 \t@3QЋ+;j#_3҃j Y+ȉ3@{HɉЉtA3j X+9ssut2rr jrZʉ;+;rl;s3F;sB3##苍㋍ ÉIN;t됋t3Zuډ<3PPhPb<+Љt+;v!jP+;w9r0K;t0;`uI;u;t;`wF3j Y+ʉ@3҉yHɉЉtA3j Y+ȍ9ssut2rr jrZʉ;+;rl;s3F;sB3##苍㋍ ÉIN;t됋t3t B2*3PPhP=:\PPsYYʉ‰u;wtp3tp3 ;vI+t%33@wƅ## tƅыËw3;@#0;3#4ƃHwȋtx+PWRQ-PPQ,PM_^3[6]ËUQQE 3ɋUSV3W3r8HHIJEBȉM;t5M I;w#r;wMڃmF;uMU tFt2E;uu uPuSW_^[]̋UMt +]ø ]ËËUQV>u%jh cYYE΍EPu諽Y^]Àyt ø3̋US]u3[]W} u _33[]VpAu-OM؃u/sKPPhQF73^_[]ÅuIsjP{DžhW 73ҋu؃3;ʉ^3_ []3EE}tDEF@E4d$jQ3 WPRqUv3҉]ЋMUmMMu΋]jDžPshVh6EU3;ȉ>CE^A_ [];wG֍H+ЉMȋ;|2F+4<;u I;}u +‹D;DsBu ^_33[]Ë}ȋE 4DEƉut + M+Eąt)EMMe ũvu MċD E3EU,K M:KE M;EwA3}Q EEEMvI‹M3UMsM Ƌu}EurEEMċD EujuPRo]3؉u؋‰]E]Euv*jũPS p3u؉]]EEwPrwIPS3ɋ MjuMo;r)w;Ev"E]}̉EUEu vE]uM33tUE ]EME؋Ee؋ȋEe3;s+EmEu]M3;wGr9}s@t5u U؍$ v3RNˉJ؃u]UEHEu3UËMEmJ]H}UME3UB;sH I@;rt <u u֋^_[]ËA ËA 38AH%ËÃAQƒQVq t 9qrw9Qw164YtF^2^ÃAQƒQVq t 9qrw9Qw f;u3^ÃAQƒQVq t9qr w9Qv2^Ë }ȃ^"ÃAQƒQVq t 9qrw9Qw ]f;u3^ËV63YtF^ËV62Yf;tF^ËыJ;JuAJËыJ;JuJÍQ V3+;#tAF;u^ËVr3 +;#t@F;u^ËUU u21Et'tuR<' BvՃ ]UU u21Et'tuRDv' BvՃ ]UU f;u23Et)tuRD\' Bfvf ]UU f;u23Et)tuRL' Bfvf ]UMAЃ w]ÍAvAv_]ÊAËUkU 3M 8 E]339ËAËAËA(x~+~t t t 3q &q &Y38A$@ËA0x~+~t t t 3q(Q&q(j&Y38A,@ÊAfAÊA̋UE3ҋM HMɉHB]38AH38AH%38AH%ËA(ËA0̋UF3ʼnEM S]V WyuW0,PhC;PS3$3ɋ؋$ƃ$A;u拝 sst_^[M3xy]j0Dž,PhR-2_^[M3>y]Ë3{sPA(PhV-uW0,Ph;V  $(33ɋ$ljA;$u苝 ss|_^[M3x]j0Dž,PhV,2_^[M3Ex];Ct $yA$3҉(3ۉ,0+$0u;S0,339stJ;uCDŽ0lj,$ƃ0GA,;ut9s;uADŽ0,30,AuǃstPC;( P0Phv+_^[M3v]Ë jDž@DPh1+M32_^[}v]̋UW} u+E,WQh8P(*_]ÃtMtSQ3VU3ȍ$ÃڋUF;uMt ss\^[_]j,Dž(PhR\*2^[_]̋UE eȋEe]̋UF3ʼnEe SVHDW}X'&$&GىP E4E<1W,0jPӊPEEP0Pi,0u1\`XjPhGP,)Bu X2Xu3P3ɍNj0$ƃXA;u݋Xss tj0Dž,PhR(2XwLP0PhVK(u#S0,PhV)(?6T&33ɋ$ljA;TuXss |j0Dž,PhV'2;t@00L@3҉T3ۉ\ `+8I`jj jjjjj?2C'C/C9C?CECICOC+CTCVNtt2^Ë^^8VNtt2^Ë^^pVNtt2^Ë^P^騝VNtt2^Ë^鈟^UQQVu EEu Pv,Fv(PQTv`,}u2~&t jRPr^]UQQVu EEu Pv4Fv0PQTvh9,}u2~.t jRP^]UQQVu EEu Pv4Fv0PQ:TvHԋ,}u2~(t jRP^]UQQV>u EEu PvTt,hP:huA A^A @A A^@A A^Íp3ux2uAA ^À6ux4uA A^Àdtitotut xtXu\q@A A^Ãlt$ttzu;@A A^@A A^ÍP:luA A^A Q^ËAVjItVLtBTt.jh^;Pf92uA(A^A(A( A^ÃA(A^Íp3ufx2uAA( ^Ã6ufx4uA( A^Ãdtitotut xtXudq빃A(A^jl^;t(ttzu?A(A^ÃA(A^ÍPf92uA(A^A(Q^ËVVf Pt6Fu&3F *FfFFFFF F$F(2 @NF^QPj][f;t2Hf;vˋCEf;tVFf;uuQFFUj]Yf9u]Ff8u j2tF[_^]ÍA,ÍA4Ë3A#u3ɊË3A#u3ɊË3A#u3ɊË3A#u3ɊËUVu yNF ^]UVuyNF^]A uA$t tuA$ËA(uA,t tuA,̋US] 3Vþ ΉE+ˉ] WFM+IUHEЉEE: t@3M+;Í]sǃsut2ۄr;Buރt_+z@<E;rG ;s3ҍF;sG3#EKMN#UM M ‹UMMuutz3}tF_2^[]jDžPBhP1 2_^[]ËUE F(tOjY3}jEP3@Puُt3FPEPY YYxt't"u 2[HEPY3H#fF3@fFE Ft3ۍESPSSSWEt EFV3@M_^3[7]ËUPF3ʼnEESVuW}WE}E3@;fF3ۋEt M]QP YYEHFj Y3}j(EPSu貎EPuo SSufFulF(#‰V,Rv(uuIF #‰V$tpv,v(uu(F0#‰V4tOjY3}jEP3@Put3FPEPYYxt't"u3 2[HEPY3H#fF3@fFE Ft3ۍESPSSSWEt EFV3@M_^3[-6]ËUPF3ʼnEESVuW}WE}E3@;fF3ۋEt M]QPbYYEHFj Y3}j(EPSuEPuSSufFuF #‰V$Rv uuF#‰Vtpv$v uulF(#‰V,tOjY3}jEP3@Puat3FPEPYYtt't"uw 2WHEP+Y3H#fF3@fFE Ft3ۍESPSSSWEtMN3@M_^3[u4]ËU(F3ʼnE}u } uEpEPEPEtNEPEPjEt:MEPEPEPEPEPEPEPu HEP@YM33]ËU(F3ʼnE}u} uEUvEPEPEtREPEPjEt>MEPEPEPEPEPEPEPwȃ#ʃu HEPY ЋM3*3]ËUE 0EPEPEPEPE PEP!]ËUE 0EPEPEPEPE PEP[!]ËUE 0E0E0E0E0E 0E0!]ËUE 0E0E0E0E0E 0E0 ]ËUE]UEE A]UEE A]UEE A]UE]UE]UE]UEE A]UE]UE]UE]UE]UE]UE]V>t 6t 6"u ɰ"FM5tGFEP(,Yt tGFEtMu< t< utGNE>< t< uF>M t9M E3B3F@>\t>"u1uMtN9"u M3҄E Ht\Gut;}u< t1< t-t#tGPO+Yt FtGFwtG5M _^[t!E]ËUEMUSVu 3W}tu E E j"Xf9u Ãt ffftuf;Et f;Ej"Xuąt 3fB]3Ef9f;Etf;Eu3f9tu 3j\^E@f91tj"^f91j\^u8u 8]tj"^f9qj\^u 8]]E} Htf2uft*8]u f;Etf;Et9]t tfsu ]t3f3t_^[]ËUE0F]ËUE4F]ËUE]UE]UE]UE]V6X&Y^ËV6X&Y^Ë3ҋ9t IB9uË3ҋ9t IB9uË!Ë!Ë!"ËU]U]ËËËø Fø$Fá(Fá,FËV6X&Y^ËV6W&Y^ËUEPT(Y]2ËUVu?r3=WM 3ҋu;s M+;w31jP+YjW _^]ËU]U]UE0F]ËUE4F]áFu FáFu 5FáFu%9Fu3Eu#FáFu%9Fu3ou#FÃ=Ft3VW`!(u*VYuPFFl3jsVYVlVY_^Ã=Ft3VW(u*V|YuPFFI3jVYVVY_^ËUVu3ҊtW<=tB΍yAu+Fu_^]ËUSVu3ۋft+Wf=tB΍yff;u+4Nfu_^[]ËUQQSVW}3ҋ<=tB΍YAu+FuBjPVYYtm]RύQAu+ʀ?=AEt7jPVYYt0WuVU uAEj0EUEY?uS#jTYY3jTY_^[]3PPPPP\̋UQQS]3EVWft/j=[f;tB΍yff;Eu+4Nfu׋]BjPV3YYty}]ˍQff;u+j=AYEf9 t8jPUYYt2SuVz uCE03VE TEYCf93uWX3VSYYVSY_^[]3PPPPP[̋UVutW PSYuVSY_^]ËUVutW PSYuVsSY_^]J%%W=Fu_SV3QSSSSj7SSرE؅tLjSTYYt5jjSVj73SSرEtSV9SS 9u3^[_VRYW=Fu_SV3KSSj7SShE؅tHjSQTYYt1SVj73SShEtSVˏSR 9u3^[_VrRYUE0E 0E05S ]ËUE0E 0E0} ]ËUEP@u+]ËUEPffu+]ËUQF3ʼnEVW~MVвEUY;uM_3^G]UQF3ʼnEVW~MVвEUY;uM_3^]UE;FtPY]ËUE;FtPY]3939øFøFøFøFøFøFËUA+уV3;#t UFI;u^]UA+уV3;#t UFI;u^]3939MvhbCFhbCF5F5FYYøFøFáFu FáFu ;F_SV5(FuF2ۊ< t*t <"uPY YtFF< Fu^[á,FuFVj 2^f;w ft#t"uƒf;w fu^/á(Fá,FËUEPY]2ËSV5(FuF2ۊ< t*t <"uPYtFF< Fu^[á,FuFVj 2^f;w ft#t"uƒf;w fu^ËUQQF3ʼnEE SVu+ƃW39u #tEt вEUG;uM_^3[]ËUQF3ʼnEVuW>tвEׅu ;u u3M_3^]áFj Y+33FËUF3E]ËUFj Y+ȋE3F]ËUu uE]ËUE]V>t 6E&^ËU3}csm]ËV>t 6E&^ËUuE]j hFuuKt uYjYe=F3@FE} u<FӃj Y+33Ë F;t33PPPˋвEhF u hF!YeuhEhEYYhEhEYYuFE'u,u*E0ËeM#uj$YËUqt d0@huuEPEusYuE̋Ë3jEȅu2øMZf9uA<8PEu f9HuۃxtvՃzpud0@h$ËUQQF3ʼnEeEPh$FjEt#Vh<FuEt uвE^}t uEM3]ËUjju ]ËUEF]jjj jjj ËUjju ]áFËUFj Y+33F9F!uYF]ËUjju, ]ËUjju ]ËUE]ËUMua!RjX]áF3]ËUE=@t#=t=t$QjX]ùF3]jhFG} @t0t(t ttuu ;5FMƃ?k0U܋FD(t^VY]eEFMD(u H WV>YY؉]E !u]V=Y PËUQESVW?k04FD(\)ȁMM @tPt@t$tuB D(FD). D(FD)$D( D( FD)}uu@3H%_^[]3ËUuGY]UuGY]UuGY]jhPF/eM EX EPjhFE0 |YeE 0 .YE  E06|YjhpFE0{YeM E E0{Yjh0FgE0{YeE @E E0{YËU EMEEEPu EP]ËU EMEEEPu EPl]ËU EMEEEPu EP]ËUQu EuMP`]ËUE]UE]UEE AEAEA EA]UE]UE]UE]UE]UE]UEE AEAEA EA]UE]UE]UE]UE]UE]V6 E&Y^ËV6D&Y^ËV6D&Y^3939391yYË0N+YËUVWhj9Fj0D t*EGEGEG EGEEPjYY_^]1xY1'yYË@1xY1xYËVFpL0-F0F 00 NFt?FWf83Af;:uftfxf;zufu3 _tF0FLPn-0m,F PuO4FuFpLhF>-FYY^ 0F F@Cu43f9~u,hFuVi t;b3ҍOff;u+sv,ff;uftfPf;Qufu3 ff;uftfPf;Qufu3Ma3ۄ0VPUYY0ۋ(PSPtm8/ tj0Ph,$ PQff; u+APPPuS3PPPPPV(V\jPh VGZt u E_SVh, uSVu$vSVjU\3f9t+;s"GPVQ tSSSSS 3ft (,SuVg $3ˍQff;u+APSjU&VVVVVWWWWWCjhȢF1ujUpYeNtu~Ft v;YER>t=jpYE6P$Ytx u=@FtPj"YEV?;Y ËujpYËujpYËUQQVRjj<EYYu3G[$ENLENHHEEEPj EEEPj uej:Y^]ËUQ}} SW3jCS<}YYu艷3 VhS;YYuc3 h S;YYu > Xh@FV.u uVt*WvYYuEΉ3؉3H3EV"V3 YY3W9}YV9Y^W9Y_[3]ËUS3V9]~"W}7u ug u F;u|_^[]SSSSSoA̋U(ee}v[A3Rk}E"EMPEEEE؍EE܍EEEEE EEPEPEP E]ËU SV3Fhu83YW{f3uF00EhF5\FjhQW\FEhFhQW\ EHM ff;uftfPf;Qufu3M ЉM!EEE0hF1jhQW`E=Fn}uJN(tu v(7YF$t8Ou v$7Yf$Cf^(F _^[]S7YN(tu v(z7YF$t8Ou v$c7Y3F$FF(F F@3PPPPPV?̋UF3ʼnEE SVuW}8t!tVPW v3Dž@4؉DMf>Laf~CVf~_KhFVQ؉0YY'+@j;Xf9 @\FDž<WV3 u Qff;4u+;t< F~Ë0hFS 8YYu j;Xf9<_VShPj6=W3fPDuf>u3ɋ3Ʌt,PVWnD tC3 3ɋ@C@FD^uuWYM_^3[]%3PPPPPq<̋UF3ʼnES] VuW}pxx,@PjUHPhPVu3M_^3[u]Ís8>f0Df;18u5f8t'fpf;qf>8uf>uDu끍Qff;Du+A4EP3(Y> >0$O Q4ufuDHPYD,ы@ΉG8 8=1($Q$1 YYGFtJD(u9t(0t$008 D 88(8L(DPPPPP8̡F 0F F@} t9uv蝥]0^]A=juu u^]ËU}SVWuMN}t] tM;v2/NE􃸨uQSW< 3+MQP[MQPLCmtt;t+}t MP_^[3]ËUuY]UQQeESVWPu} YYt] KCu+3ۋMQAu+jA PEm<YYuuVK uYth8FuV`K u_} tu uVGK uF΍QAu+ʋ+ESPQV_t33V W&YY_^[]3PPPPP.̋U SVWE3Puuu}YY9u t] Kff;u+ދMQff;u+jA PES;YYu3ufV u Yth<FuV uo} tu uV uV΍Qff;Eu+ʋUS N++RQVt3ދ3VWo%YY_^[]3PPPPPk-j hF3ۈ]j YY]E9Fs @FF=@F10 @FA @F+=wMj uu QoAu.SuJYYt8 tݡ0]SSSSS,š0E @Ê]j mYYj hF3ۈ]j YY]E9Fs @FF=@Fb0 @FA @F+=wMj uu Q@u..SuHYYt8 t0]SSSSS+0E qÊ]j XYËUQSVW3ۍEhPFSP]5G t NutESV;IYYu E 8gWYtSWIYYuE S8D#Y?W;#Y}tSWHYYuE 8S@FWHYE YtDFV"Y_^[]SSSSS*̋UQSVW3ۍEhTFSP]F t NutESVGYYu E 8gW[YtSWnGYYuE S8r"Y?Wi"Y}tSWEGYYuE 8SHFW,GYE YtLFV*"Y_^[]SSSSS)*̋UQV3EhPFVPuE t t 3E^]VVVVV)̋UQV3EhTFVPusE t t 3E^]VVVVV)̋UVu33WtG"uA@Gut5+@jP#YYt <"tAF>ujA!Y3_^]ËUQSVu3WˋË>fteE"f;}uA@:futG+@jP"YYu%f9tUf;tff9u3fS Y3_^[]ËUE 0u]FYY]ËUE 0uoEYY]ËUE 0E0/FYY]ËUE 0E0?EYY]ËUE 0E0EYY]ËUE 0E0EYY]ËUE0E 0E0qD ]ËUE u0E0UD ]ËUE0E 0E07D ]ËUE0E 0E0 ]ËUE u0E0 ]ËUE0E 0E0d ]ËUEP@u+]ËUEPffu+]ËUEP@u+]ËUEPffu+]ËUE u0E0B ]ËUE u0E0B ]ËUE0E0E 0E0/;]ËUE0E0E 0E0H;]ËUE]UE]UE]V6J&Y^ËV68&Y^ËV6&Y^3939ËUUVqAu+΍4;t"F<\uj\RCYYN3;+t5+t,+t$@tT39~jjX3@3fF Fyu@uEPYuz9}ttF#ExF@tNNN t N tN t N tN_^[]3PPPPPh̋UEjY+tB+t9+t0+t(@tJ ]3} ]jjX]3@]3]ËUQVut2^]E@tEPzYu9u3PPPPP̋UQVuƃ?k0FD(Ht33ySWjjjV!Aڋσ#˃un8uN3_[^]3fEEjPVW uf}uSWV: t3PPPV@#ƒu&뫋Uuu u ]ËUQVjEPuuuu uVuu^]ËU]:UQeEPuYYu,VuWu uuuVu uVi _^]ËUjuuuuu ]ËUuu u ]ËUQVjEPuuuu uYuu^]ËU]=UDSVWuEuuP}ԋjY9uu跍 E 0轍] ;u萍 3虍ϋEuԃe3AE E#jYEEPuu }ukM؋#;u5Et/EuԉMjYPu0 }u+ ?k0Fd(HEP諌YWEuGHEV茌Y ?k0WFd( FT8*.} u U ;u Fjjju:} t FU EM;0M FD9(@u D9( F+_^[]ËUEM?SVuWk0Mj F[T8UU t f9uL8(d8(rډE;WB MM"j Zf9UU tMf;Es3j Zf9U uj Yfj ZfjEEPjEPu(E}Mj FD8(HXt:fUf;ufgj XfFj T8*Ft8+FZT8,;f9EuU ;u fE)jjju*9j Xf9Et j XfEU ;] FD9(@u D9( f f+_^[]ËUEȃ?k0E FD*]ËUEfM V?k0FL*Fl+F^D, ]ËUQQSu] Surȃ 'EU?Wk0UFE|8)uVsxF3Bw;rNBFtFuV*@;uSED8(Ht5FL8*rMF FD9+uE FFD9,+ڋjRPu}7u+uVSjhhEЅuHEP萅YE;֋ F2D9-$0D9-^_[]ËUEVW} G;s^OSt7 u ;sj _f99} uj [f f;rEȃ?k0 FL([+_^]jhFXuu ;5Fƃ?k0MFD(;Eu莄 虄|VY}eFMD(uj L uu VG }E )u}VQY  ËU(S]Wu݃ b;FVE?k0}FUL(M%Mvu 考E} tVtD)Eu3tuШtE MEUЄu!0 jXE;rMP jj uû 讂vujjS44 F}D ƉT$׋M]3E܋F]D(H]]\*] ]]}@]I}EEMFD* EFD+E< totkE]j_@]IEEMFD+ E:Eu>EFD,E< t)t%E]j_@]IEEMFD, S3YtqEMFD(t]EPu EtL}uJjEPEPuuEuHEP YVY^EMGtu_u A|j"3ՋUUVtM t uu|j^0^]W+>Gtu_u {j"3ӋUU FҋM##M щF]DtjYFt!jtjY)jh@jc j~̋UVut j3X;E r4u uFt VHYtVj5FEt ){ 3^]ËUEMU Ht]ËUEMU Ht]ËUQjuQQu uP u |]ËUQjuQQu uP u~]ËUQjuQQu uPU u]ËUQjuQQu uPC u9]ËUQjj QQjuP ji]ËUQjj QQjuP u >]ËUQjj QQjuP u {]ËUQjj QQjuP} u z]ËUQjj QQjuPR u 轃]ËUQjj QQjuPB j|]ËUQjj QQjuP j]ËUQjj QQjuP u ]ËUQjj QQjuP u .|]ËUQjj QQjuP j|]ËUQjj QQjuPn u {]ËUQjj QQjuPC j:]ËUQjj QQjuP u ]ËUQjj QQjuP j2y]ËUQjj QQjuP jy]ËUQjj QQjuP j]ËUF3E]ËUFj Y+ȋE3F]ËUA+уV3;#t UFI;u^]ËU(F3ʼnE}Wt uYjPjP8h0jP%0ffffffEEDž0@E EEEj|EPxEuu}t uYM3_X]ËUuF]áF3Fd=uË\ËUQF3ʼnEVB=t5\t+uuuu uвE֋M3^ѽ]u5Fu35Fuu uu.3PPPPPyËV3VVVVVfVVVVVjktjY)VjVj VEPE^ËUV5FWu3=FBYFϋ_^]ËU;MЋ\\]ËUu`Y]UE]UE]!ËV6)&Y^j hF|3u>j+Y}EPYtxx8xHE |Ëuj+YËUE3ɉEHEHEHEHEHEHE ]Ë3҃ Ë!ËUQSFVW=F ]A7tSF u.VBYV   u] ШuVBY;uE _^[]ËE0j8jj tуHjh P7 F VxBY1nBYËV6&Y^ËV   u Ѓ^ËU3S]VW}u𫫋Fu CF> t3 tu>CjhtFVl uj XF8t>=umF8tjhxFV u  ?jhFV u   jhFV u F> t[wp7_^[]ËU3S]VW}ujYj Fu C_f9>t3҃at!rtwC  KU2UUmfSpt\+ tBt4t' tumu 4 Ssm2sEPSY]mu ;UTTt@t3t" tS}&EPS뺍EPSSSUYȊm34Fmtf9>tu3f9CjhFV f9>tf>=urf9>tjhFV  u AjhFV  u  "jhFV  u f9>tO3n_^[]ËUVWu EPt}YY}_^u3UhuEuuPcuދEF M E3ɉHEHEHEMEAE]ËUVWu EP!}YY}_^u3UhuEuuPuދEF M E3ɉHEHEHEMEAE]ËUE0Eu 0h ]ËUE0Eu 0 ]ËUE0Eu 0 ]ËUE0Eu 0 ]ËUE0Eu 0 ]ËUE0Eu 0 ]ËUE0Eu 0 ]ËUE0Eu 0 ]ËUE0E0E0E 0E0]ËUE0E0E0E 0E0]ËUM@t2]Ã@]ËUE]ËUE 8t2]ËM ]ËUE 8t2]ËM ]ËUMt2] ‰]ËUMt2] ]ËUE 8t2]ËMI]ËUE 8t2]ËMa]ËUE 8t2]ËUuJJ]ËUMt2] @]ËU]zU]UQF3ʼnEV5F35Fjju΋вE֋M3^躲]Fj Y+33Fj hFneE0!YeE 0YFjhC8EFj Y+33FFuE N uM1v!YËU EMEEEPu EPX]ËUF3E]ËUFj Y+ȋE3F]ËUE]UE]UE]C1 YË0YjhCF8EFj Y+33FF1 YËUuMYjhCF8EFj Y+33FF]Ãhl Fhh Fhl FjNh Fh| Fh Fj4h Fh Fh Fjh Fh FhXEjh Fh FhlEjh Fh Fh|Ejh Fh FhEjh Fh Fh Fjh Fh Fh Fj~h Fh Fh Fj dh$ Fh Fh$ Fj JhH Fh@ FhH Fj 0hp Fhh Fhp Fj h Fh Fh Fj h Fh Fh Fjh Fh Fh Fjh Fh Fh Fjh Fh Fh Fjh$ Fh Fh$ FjzhH Fh@ FhH Fj`hh Fh` FhEjFhp Fhh Fhp Fj,h Fh Fh Fjh Fh Fh Fjh Fh Fh Fjh Fh Fh Fjh Fh Fh Fjh Fh Fh Fjh Fh Fh Fjvh0 Fh, Fh0 Fj\hH Fh@ FhH FjBhh Fh` Fhh Fj(ËUVu6Yu ;u u3^]ËUESVW FFʋ3;titcu;ut6YYu/;uuF3t)u PEtV@Y빋FًFj Y+3;3_^[]ËUEWt>t6E& Fu^]jh0FȬejYej^u;5FtXFtI@ tF4'YtEF PEF4YF$FE E脬jYËUEHE`]ËU@ #E+E@]UVu ֋# u#E^]UMVq $<t3KtAW9+a~0WPQYPT\ ;t jX tjX!3_^]ËUVuu V=Y.V~YtF tVP YYu3^]jYjhpFeej@ Ye5FFEԋ]u;tt>}؅tVW5%YEG t2uWIYt!EuG tW+Yu E܃eEԃ땋]uu$YEEtE蠪Ë]j Yj hPFAuu VY)eV$YeVY}EIËu}Vd$YË@ ËUVuW~  t$tv\Y!3FF_^]ËUEttjjjX]ËUHEPEf}ESV0X3E ;|VЂFY;~W3tVEt@t;t4u QEt!Njσ?k0EFBB(EGCE;u_^[]ËSVW3Njσ?k04F~t ~tN({F(ttjjjXPE؃t t SE3t%^uN(@)u$N(N(@FFt @GU_^[j hFj? Y3ۈ]]S舁Yuh]E Ê]jF YËV3FtP FYrݰ^Ë@ËUEu9R]Ë@]ËUUVtM t uu3fQj^0^]W+>fftu3_ufQj"NjUUVtM t uu3fQj^0`^]W+>fftu_u3fhQj"3ˋUFVW|zuփj X+#ЋE ;sЍ<2;t 9tA;u+;u>+ǃ+Wtu ;uE 9tA;u+w|xuփjX+#ЋE ;sЍ<2;t 9tA;u+;u+fɋǃ+(ftfu;uE 9tA;u+|MU ;t 8t@;u+_^]ËUQFMVWt#E эA;t3f9:t;u+j X+#E ;sq3U;Mt f9:t;Uu+;uHQ+΋+Wɍ Juu ;uEM Hf9:t;u+wt'E эA;K3f9:@;u4jX+#E ;sq3U;Mt f9:t;Uu+;uQfɋ+΋+ȍ J(fufu;uEM Hf9:t;u+E A;t3f98t;u+_^]ËUMU ;t 8t@;u+]ËUME A;t f8t;u+]ËUVuW} j X+#;s׍ 2;t 8t@;u+;u?+ 0ǃ+Wtu ;uE 9tA;u+w_^]ËUMWt#E A;t3f98t;u+Vj X+#E ;sq3;t f98t;u+;uKAM +΋+Wɍ Juu ;uEM Hf9:t;u+w^_]ËUVuW} jX+#;s׍ 2;t 8t@;u+;u?+ 0fɃ+(ftfu;uE 9tA;u+΋_^]ËUMWt#E A;t3f98t;u+VjX+#E ;sq3;t f98t;u+;uKAfɋM +΋+ȍ J(fufu;uEM Hf9:t;u+^_]wtuftfufWfËUFVW||uփj X+#ЋE ;sЍ<2;t 9tA;u+;+ǃ+Wtu ;uE 9tA;u+w|uuփjX+#ЋE ;sЍ<2;t 9tA;u+;uZ+fɋǃ+(ftfu;uE 9tA;u+UʋE ;t 9tA;u+_^]ËUQFMVWt'E эA;}3f9:r;ufj X+#E ;sq3U;Mt f9:t;Uu+;'Q+΋+Wɍ Juu ;uEM Hf9:t;u+wt'E эA;3f9:;ujX+#E ;sq3U;Mt f9:t;Uu+;ufQfɋ+΋+ȍ J(fufu;uEM Hf9:t;u+E эA;t3f9:t;u+_^]ËVWF3jhWtF8r۰ jY2_^ËUkEFPE]ËV5Ft kWFWE Fu_^ËUkEFPE]jYjYËU S]uG|VWj=SMEYYtN;tJx5FE;5FuV!EY5F3ۅ9] t/9Ft'yunGW]Y_^[]Ät3jjSF75F t9Fu%jjSF 9Ft5FtE+PQEYYxH9tD4YM8]uEDA9ujQVSDžtXP8].؉EH;?jQVdSdME\5F9] ȍQAu+jAPEYYtGuuV u@M+EAEЈY#PVu+_^[]+USVW=F?t-] S6u uX=tft>u+_^[]+ssUE 0E0uEu2 EHxuEu`2 2EH |ރـ} $ fPuujQDuuh F|wbtpHtZHtDuEHwnu fuujY} $0fPuujuuh Fuu VF}]WSujIuWSh Fu VWSujMu(WSh Fu VWSujSu(_WSh Fu VWSujpuuujXuE@ja ELPuuPx4ME3Pu?YE9p t EuP?YMMMM3+™j<^ɹ Fx FuuQj0uujVj0uujW4QEHui} $0fPulujNu3u8E uuPubx{MDC%tQEH} $0fPulujjdYEH }uEu:EHZQuEuuuh Fu uu}VWujmuVW FSu uVWujdu(VWSu uVWujy FtvtJE@j Yuр} $0fPuujqEHTK} $0mEx+xj0uujppp lu uu}VWujYuVW FSu uVWujmu(VVWSu uVWujdEH~;%jR_;x$Du uuuujHuIuuh F6u uuuujMdE wq[fff ;r +ȉ&_^]ËUM9t"UVu W:ftf8)u_^]ËU0F3ʼnEEUEЋES]E܋E Uԉ]VuuWtt\XT} lfBfEfBf@MfEfB fEfBfEfBfEffE3fEEt3QQWPQ`I3QQQWPQ`@؅kJ;tXJ;#J=w#;#cu$;#PuY3ut~}EtSVWPEj`jSVWPEj`ЋJ~#]u܃;vff JuVBYe_^[M3o]j$uYn>tE3ɉ}ƒAf9t‰]]؃d/'AtHtXMt"ah| FWQYYuSO Mbt!t tjBjbEjmt t EjHh FW[QYYuGEjpx%yH@hj'Xf;YffuBt!t tjAjaEjdht'ItIjYjyEԃx LPu>v}ff f]܃>v}f fuftt&EjS6ttEjM"ttM܃f%EjIXuSVuuPut}f[$2KUEH;#]ËUEtM ]ËUSVW3ۍMS]wEj_EVJff;Eu+ыAEff;Eu+M؃u]P73Yuj:EEYfp΋++@PV ΍Qff;Eu+j:X4NfE+0+@PV uY΍Qff;EuE+j:E4NMAMYg3fP>}Yt M䃡P_^[]3PPPPP+̋USVW3ۍMS]Ej _EVЍJff;Eu+ыAEff;Eu+M؃u]P֥3Yuj:EEYfpЋ΋++@PV ΍Qff;Eu+j:X4NfE+0+@PVz uY΍Qff;EuE+j:E4NMAM Yg3fPݤ}Yt M䃡P_^[]3PPPPPʬ̋U(VW3MVE܋։udUSƉMEu+W豤EYWVPE M}d։E)MىU}u% 8E 3E+PQ ZU AEAu+MGEBUr]։U}u'EMω 3E+PQ认 U AEAu+MGBUr]։U8}u'EMω 3E+PQU U AEAu+MGBU r]։Uh}u'EMω 3E+PQ LU AEAu+MGBU r]։UØ}u'EMω 3E+PQ蠣 U AEAu+MGBUr}]u)E ;E+PQJ EQAu+G}u)E ;E+PQ SEQAu+G}u)E ;E+PQ輢  EQAu+ʋUYM߃uE}uǴCuu( AE E7+PQ Qff;uE+ʋUKM@Er}uCu}u+M AE E7+PQB Qff;uE+K@Er}uCu}u+M AE E7+PQ Qff;uE+K@E r}uCu}u+M AE E7+PQf AQff;uE+K@E r}uLCu}u+M AE E7+PQ Qff;uE+K@ErCu}}u/ GETTE+PQ jETQff;u+KCu}u/ GEXXE+PQ1  EXQff;u+KCu}u/ GE\\E+PQ E\Qff;u+KCu}u+ GE``E+PQu uTE`Qff;u+ʋUBUy<{} EM]u}[t M؃P_^]VVVVV̥̋Ujuuuu u]ËU$W}u^3U} tVu3fut43*uMTUu EUE S3ۉME>}}}f%}tEfMEHMEX9]]f>#uEEtOuuERPEPuPEPGEt"MUbt] 3f+]4t3fuu c"V}t M܃P[^_]ËUEt8uPY]ËUujuuu uD]ËUjjuuu u%]ËUQHLMMQP7EYY]ËUMSu]sKEPSkYYt$}E苀 t E䃠P}t M䃡P3fEEEx~.ÍMEQPtYYtEE3j]EY3*3]AEfEUEEjpjRQMQu EP$u8EgE䃠PXu}Et+M䃡PUE Ѐ}t M䃡P[]ËUMSuK]sKEPS>YYt$}E苀 t E䃠P}t M䃡P3fEEEx~.ÍMEQP*YYtEE3j]EY3*3]AEfEUEEjpjRQMQu EP$u8EgE䃠PXu}Et+M䃡PUE Ѐ}t M䃡P[]ËUu ju/ ]ËUu ju/ ]ËUE E]ËUE E]ËUE ]ËUu hu( ]ËUE]ËUu hu ]ËU졨FtjuYYMAw ]ËU졨FtjuYYMAw]ËUSVu t]t>uEt3f3^[]WuME􃸨uMtf3GEPPYYt@}~';_|%39EPuwVj whE}u ;_r.~t(139E3PuEGWVj phEu%*}t MP_1Ujuu u]ËUuMeEPEu pEuP#tE}t M샡P]ËUS] W}utEt 3zEtVvYj^0SuM?E39u]fEf;v6tt WVSaq j*^0}t M샡P^_[]Ått_Et΍MuQVWSjMQVpرEȅt9uuEtHEzutt WVSp j"^0FlUQeju iPuEPtE]ËUjuuu u]ËUESV3ҋp#W;uC;u?Á u@0΋ t ;u ;ujX# tjj3_^[]ËUE3ҋH tB]ËU0SVW}3ۅyu Mu(rG 9Ewhj"_8)UJE%=uR;uNSu$SWuuuVR$tbjeViYYt8] ɀpX: t-FJ38] j0EK3' ]XuFB % u!M E1FFMuEԋB%Ew :ej0XEM~SR#E#ыMBKj0Yf9vËMUFEEEOMEfyfxWR#E#ыMJfv6j0F[ftFuH];Et9u: @~Wj0XPVm E8u} 4U$pRrJ3ہ+Mxr F+F-كۋj0X|?;rjPSQG0UF;u |drjjdSQG0UF;u | rjj SQpG0UFj0X3F}t MЃP_^[]ËU EVuWuu~PEWp0v9MtM3}-+3+ȍEPW} Q3Ƀ}-3Ptu(EjPu$u VuW _^]ËUVW}~3 9E w j"^0蚘_^]Su$MU ]t%M3P39-Pu SU E8-u-s~FFE􋀈39E t+E hFPV [uvN8EtEUB80t/RyF-jd_;|™Fj _;|™FV}u90ujAPQ賀 }t EP33PPPPP諗̋U 3VWu}uE}PEWp09MtM3}-+ȋu EPEP3}-QPtu EjPWuV _^]ËUMSVWu U}]JI}t;u3:-f0:-u-sBjVu S:0F~RjVu SEFEHy)}u;}WVu SWj0Vi}_^[t EP3]ËUSVWu3}uE}PEWp0&E3ɋ] }-HE49EtE+MQWPV]tUEH9E|*;}&t FuFu(EjPWuSu(EjPu$u WuS _^[]ËUHF3ʼnEUMS] Ã;sj XM3[R]Ät-AJlFE|FE38]EpFEÉEKxFEFEԃE؉EEEVtFEFWF4FEFu+uF3u3;vj"XF4QRls _[^]ËUusrY]UEVWH+jd__+^]ËUVtuV4YY#^]ËUVtuV'YY#^]ËUQQVuuj^0yS] Wj Yuj^0y'E=@W|jY;|=&Avj^0EEPEP}FYYQFi}LFuLFV3A9P}A9|INj+QV Yf ǹVj_[^]ËU Vuuj^0x"Wj Y} uj^0kx3OEM |=@WrjZ;|=&Avpj^0SEEPEP=]YYjFQPuS&FQ鹸LF+؋E€}EuLFV3@9Q}@9|HFj+QPV w7r&j}YjVPWST&Fj+j<WS;&f Fk<+3[_^]ËUE]V6co&Y^ËUVW}7ƙiȀF+3Ɖ7;|+B;|B=| B{M _^]ËUQS]3VWjs;PVW%3HFAMQ+;sMQY)SK2|s,u3‰NVKzYt";E SuV^YtM _^[]Ë!ËV6Dn&Y^ËVt!F8u'j$\njF8nF8YYu % 3^ËUVtuVYY#^]ËU]UVtuVYY#^]ËU]UQSE3P]Y9]nVuW3GN; Fu ; F'9FFPFPFPFPf9FuFSPFPFPQWFPFSSPQSShjF,PhFPfFPdFPf9\Fu`FSPbFP^FPvWbFP^FSSPvSW,OjXjZ3j C_k} jXj _3jB[jjjjjjRPQjj3PPPjPPSWvjjXF=FN;};|&;";~";}3@_^[];|;;~;}3kF<Fk<i3;u ;5F;5FSSSSSs̋UM]ËUM]ËUM]ËUQQe} VW}uySWY]EYtLFLFWFYimj6YMk+;UE}tLFLF[u*;~&!WEYt 4LF4LFu kE$<E(k<E,iE0}u5FF=F_^]ãFEP5FYuDiE Fȉ Fy\& F\&;|+F F=FjjjjjFr̋UQQWFEWhuP uE@"t37Vu/jYtWuEVP֍u33ViY^_]ËU SVe؃eEP]>YEPY Fut4ʋƊ:utX:Yuu3D]R;iY΍QAu+ʍAP]ij Fi FYYWyAu+VAPRi j_WVj@3 >tFu>-_ÄtFVmYiM<+t<0|<9F>:uBFVmk:uFVmYMȉM<9F<0}tىM38EEtjVj@p t @uI0u30^[]3PPPPPp̋USV!3ۍE]P]]iY"EPYEPY5 Fg F$FlEk F<lFW3G=FMf9^Ftk<ȉMf9FtFt +‰}kGt%u>Gt tuҋUu_[uu E jPDXJj"둋U]DUMftfy:uarzw ]3]ËU F3ʼnEE|:5@fEj:XfE3fEEPhEuHEPY3 jdM3!]ËUF3ʼnEW33hfWP7 Ph`E=wPYBSVXjS]YYt VS`Eu VYV[Y^[M3_O!]ËUE t38t.}tuPu~ ]uuuuP{]ËE;rPuYY]ËUE t4f8t.}tuPu ]uuuuP]ËE;rPuYY]ËUW3WWWu EuHEPY3JS] V;wjS pYYu SuV t΋V Y^[_]ËUW3WWWuEuHEPZY3JS] V;wjSoYYu k SuVz t΋VY^[_]ËUVuu,a3;v "juVu  E;suHEPYċE^]ËUVuua3;v "juVu E;suHEPSYċE^]ËUE 0E0YY]ËUE 0E0YY]ËUjuuu  E]ËUjuuu E]ËUE t08t+}tuPu ]jjjuP]ËE;rPuYY]ËUE t/3f9t(9MtuPu ]QQjuP]ËE;rPuYY]ËUE3SVWf9t,u >ftf;tfu3f9u3_^[]ËU졨FuuUu_]ËM tSVWjA_jZ+[ f;r f;w f;r f;w ftf;t_^+[]ju u ]ËUMSVu聮]tu uq1_EWuBjAYjZ+Z3f;r f;w f;r f;w ft:f;t3MQPM[QPvftf;t+_}^[t MP‹]ËUQ}uh^3Vu uI^3SWo3WWjuC>WShEEuHEP3GPXVYt0uVjuWShEuHEPY M Ƌ3GVUY_[^]ËUQ}u]3Vu u]3jWou&GWMEYYuHEPQ38PUYt!uVuWSuHEP Y3V2UY_^]ËM 3ƋGUuUY]UE]V6T&Y^39Ë!Ë39ËV6T&Y^ËUQQSWj0j@JV3ۉ}YYuH ;t>Vw ShFPsNv0^ԍFF F f^;ű}^SKTY_[]ËUVut%S W;tWE0;uVTY_[^]jhFf&} u j ^0[&3ujlYuF}9E|94Fu1Fuj ^uE묡F@FG뻋ujZYËUEȃ?k0FPE]ËUQSVuxi;5FsaƋރ?k0FM|uCWg} u"tt uWjWjWj|EFM|3_ ^[]ËUEȃ?k0FPE]jhF$j#Y}3ۉ]]ԁ}MFE؅uSFt/F@WYǃ?k0FD(}E$Í Mj0Xu;t`F(uVEF(tVEMj0X+u؋ƙj0Y4΃?k0FD(F|tC}jnYËUSVuWxg;5Fs_Ƌ?k0FD(tD|t=u#3+tt uPjPjPj|EFL3) _^[]ËUMu Cx'; Fs?k0FD(tD] yX]jhxF"2E t E @tˀE tuEuHEP.Yu@uuu5 EeuVYYƃ?k0F\(FD)Fd-EEW"ËuEuƃ?k0Fd(VYËU<F3ʼnES] VulWF+C uCPVE }};};fft,u%>fft tuҋUu3f_[ruE 3jPfTAX3fj"zU](USVnEuttVEtjXluE؃tQE W3EEWWEEPhlDWWu}EtWjVEu}tVuSPuMVUjBY^[_]3PPPPPJ̋UQMSW3ۍQff;u}+A+ljM;vj XWV_jSDYYtWu SVu5u+ߍ~uSPtuMVj*BY^_[]3PPPPP'J̋UPF3ʼnEM S]VuWt 6E^ËVW7 6=Y;wu7t 6E^ËUuE]ËAËAËVW~9~t3r>u+jjW=j; uj XMFF+>wSj?S6r8 uj ^ NF3jW;Y[_^ËVW~9~t3r>u+jjwSj?S67 uj ^ NF3j:Y[_^ËÃËU]霱UE ]ËA+ËA+ËU]2U]*U]U]XjhF E0nYeM E E0oYËU EMEEEPu EP]ËUE]UE]UE]1nY1XnYËVj @H@F@H@F@HF@H Pj hF*Q@HPQhFQ@HPQhFF0uF=FtP9Y@HF@H^ËUE-t(t tt3]áF]áF]áF]áF]ËUMj迏%FEuFE,uFEuEF@}t MP]ËUS]VWh3sWV{3{ { F+7Fu9Au_^[]ËU F3ʼnESVuWPvܰE3ۿÈ@;rƅ Q ;s Ƅ @;vuSvPWPjSSvWPWPWSdt@SvWPWPhS]ËU} uj@X]jj@uj]ËU} uj@X]jj@uu ]ËUjhuj]ËUjhuu ]ËUjjuj]ËUjjuu ]ËUjuYY]ËUu M>Etxujjuu E3ɀ}t EP]ËUjjuj]ËUjjuu ]ËUjjuj]ËUjjuu ]ËUjjuj]ËUjjuu ]ËUjhWuj}]ËUjhWuu a]ËUjjujI]ËUjjuu 0]ËUjjuj]ËUjjuu ]ËUE]V>t 6԰E&^39ËV>t 6԰E&^ËUu԰E]ËUUW3f9:t!Vʍqff;u+Jf9:u^B_]Ë339ËUQSVWذE3tVVYWWWW+SVWWرEEt4P.Yt3PPuWSVPPرEt33W-Y߅tV԰E_^[]ËVWذEu37SV+S-YYt SVW jZ-YV԰E[_^øFËUu9-Y]Uu'-Y]UE]UE]V6,&Y^ËV6,&Y^Ë!Ë!ËV6,&Y^ËV6,&Y^ËUQpHLMMQP-rEYY@]ËUQpHLMMQPrEYY@]ËUQpHLMMQPqEYY]ËUQkpHLMMQPqEYY@]ËUEu]@]ËUHF3ʼnESVu3Wuĉ]䋎]]܉]Љu]F]9uPhQESP2jj+-SE+jW-SEl+jW-SE[+jW,SEJ+jh,S}3+<9]N9]E=9]49]+È8@=|EPvܰE ESvOEԺERPRQhSg$EܹSvQPQGPhSg$}~+8]t&MtQ: B;~8Yu݋ESvPhWjSE5U3ɍfMEE܈Y逃}XMM̈~@8]t;Mt/q; E(PjWEjP'P E)PjWEjP E*PjTWEjP E+PjUWEjPߝ E,PjVWEjPȝP E-PjWWEjP讝 E.PjRWEjP藝 E/PjSWEjP耝 E8PjWjEPiP E$EP5$rU<0|<9 ,0B:u"<;uFv>u}FjY󥋃3ɋuA}@F@F@0F0@4F4EttK|tux#s|p#YYEC|3_^[]ËUU:tV<0|<9 ,0B:u^]<;uFv>uUVutY;FtP"YF;FtP"YF;FtP"YF0;FtP"YF4;FtP"Y^]ËUS]3VW]E9u9uEFV3FjPVu $EYYu~jYj"3Wu<"YYuu."3Y@F>9TjJ"Wu"YYu>E苻jWjPuMEQjWjP^ EPjWEEjPD E0PjWEjP-P E4PjWEjP t%uXMYud!MQ[!EYYuU<0|o<9k,0B:u}uM3@ttK|tus|! YYEC|3_^[]<;uFv>u녋uFFFFFFF0FF4aUU:tV<0|<9 ,0B:u^]<;uFv>uUuM Y]UjuYY]ËUjuYY]ËUj umYY]ËUjuZYY]ËUjuGYY]ËUj u4YY]ËUE]V6&Y^39Ë!ËUE SVuW3+΃;#t6xGvY;u_^[]ËËUW}uF5Vhdj YYtWV,YYuVY3VY^_]dž3UE eSVWVuEuftfzf;~ufuދ҃t_+Ff:f;>uftfzf;~u fuu"jEPE h PP-t+E7Q.Y.jEPE h PP,u3 EuE_^]ËUF3ʼnEVuEj PjYV,tj EVP @M3^]ËUuYu/9E t*EVVffu+QY;^u3]3@]ËUQVu 3WB3xNStH7+‹؋Ek M4E0賶YYuEMȋE ys{;~[3_^]ËUQQSVWR]3ɉMpPPNf~Ef9tWjh*FI 3ɋVf9tGf9tw3Y9Fu2Vj@h'F t3Vf9t EY39~ VP_YYPEE t0}M 3fQff;Eu+APujUSj@WhS~*thj@Sh P`*tJj_SYYuj.SYYtj@Sj P/*tj jPV'3@3_^[]3PPPPP̋UF3ʼnESVuWPPVL/YKdٍ jxɁPQV,Eu!@3 PsTuftfzf;~ufuދ҃t]+Ff:f;>uftfzf;~u fuu jEPE h p,Et)E5Q Y,jEPE h p,Eu3 EuE_^]ËUM3f;+Ft r3@]3]ËUQVW9JujEPh Q,Eu30;ut(} t"wPNffuwP+Y;t3@_^]ËUSVu 3Wx13+‹Ek 4E0VYYtyw_;~2_^[]ËMk M̋UF3ʼnEE S]VuWERIP}E3?IM3҉LE0xtf9t+FWHPh*F3E 3҉Utnf9titf9t EP EP}Y*FuHPh'F tN3tf98t EP EP:Y,tf9t EPYE4EEE3}u3M_^3[]3EP#VYYt́tŁtPEtju0EtEt0EWjUPPu#t^WjU Put#j@Shu,ETj@Phu,E5j jQV3@UQfGHLMMQPHEYY]ËU]UVu tj3X;Es 3BS]Wt S>}Y3uVS?YYt;s+;VjP _[^]áFаEFÃ%FáFËUQF3ʼnEW};} uWVStвEӄt;u u;u u,;t&~tt jвEYF;u2[^M3_q]ËUQF3ʼnEVu 9ut#W>t jвEYF;Eu_M3^$]áFj Y+33FËUF3E]ËUFj Y+ȋE3F]áFj Y+33FPYËUA+уV3;#t UFI;u^]ËUuF]ËUQF3ʼnEV.tuвEYt3@3M3^,]j h8Fej%5Ye5F΃35FΉuE Ëuj45Yj hXFej4Ye5F΃35FΉuuYFE Ëuj4YáFj Y+33Fj hبF0eE0X4Ye5F΃35 FΉuE : uM1b4YËU EMEEEPu EP]ËUF3E]ËUFj Y+ȋE3F]ËUE]UE]13YáF3 F13YjhF 3uujW3YuF‹ȃ}uF35Fj F35FjΉu_}܅tt j Y+33‰Eu3#u}j*3YÃt WвEY3@ʶUEHt-t ttt3]ø F]øF]øF]øF]ËUA+уV3;#t UFI;u^]Uk (F E ;tU9Pt ;u3]ËUEtt t~~ z]ËËUQEPjYY]ËUuFJuF=u F0uF#]BA9Aj,hF?3ۉ]!]̱Muj_;t5Ft"Ht'HuL tt ~;6VxEZA؉]ԅu3VYY3ɅuyGу2ɈME؃et j0YMeEeE؄tFʃ3ʊM‰E3҃‰UȈUutj0Yj;t tu#CEЃc;u;E;u"k0F k 4F ȉE;t%` Fj Y+33FM؉E1}uk;u6?pWMвEUY+j_u]ԊEEȀ}tj 0YVMвEUY;t tuEЉC;u ;?M̉H3荳jhxFG] }tt tW@F?t>Fu&5,FYt5,FhFP EPWYYtP M؃t"k5(F u;t9zu  J;uM؋3ۈ]u؉uj.Y]tu:=Fu1jhTD̰Et FvHE]uW|E؅t&5F΃30ΉuE t P]؃ vW0FGut;}r;}}rE^fj"^0NNG;r3_^[]ËUM3U S]VEW8Etj-Xfs3@ىEڋ}ujuRQ藝MȋE] vW0fGut;}r;}}rE3fej"^0m 3ffff;r3_^[]ËUM Vueej^0&33PPPPP̋UQVW}u^j^0]u 3Et9EtSuYtVˍQff;Eu+jAPEYYuo^j Y[_^]Ë}SWP u t>33PPPPP1jhFv3uu^3@WV_YY;tփej iYeVYuE UËuj YjhF3uu]Y3@WVYY;tփej YeVYuE ղËuj YËUQVWxtN}tHuNFu+2ʍAEAu+M;v<2=uVuR t?u3_^]Ë@UQQVW td}t^u3҉UNff;u+9t@ʍAEff;Eu+M;vfyYËU EMEEEPu EPD]ËUE]UE]UE]1"xYËV0ƃ?k0FD(t%VwzYPEt3^bHHEfH^ 1{xYËUQVuu >H Kx7;5Fs/Ƌփ?k0FD(tEEEPVYYG ^]ËUQFVWUuGM tߋ};vGUmSjA[jZ^+щujZ^ f;r f;w f;r f;Ew t ftf;t+[juu u _^]ËUS]u3}uFW} uFV;vFkuM E􋀤u\E+jAE^8jZZf;r f;w f;r f;w Ѓt ftEf;t+(SWSuhPPu Fp}t MP^_[]ËU졨Fu]juu u]ËUMSVWuEu3MtU uEFh;vfE&M}􋟤uuVPRQϟ-wPRPQhESPR u Ep}t MP_^[]ËUhuQYYu f}_t]3@]ËUhuQYYu f}_t]3@]ËUu MEMH%}t MP]ËUhuqQYY]ËUhu[QYY]ËUf} j@uX]u>QYY]ËUj u+QYY]ËUhuQYYu f}_t]3@]ËUhuPYYu f}_t]3@]ËUjuPYY]ËUhuPYY]ËUjuPYY]ËUhWuPYY]ËUjuzPYY]ËUjugPYY]ËUjuTPYY]ËUhu>PYY]ËUjuoYY]ËUhuPYY]ËUhuOYY]ËU츀f9E]ËUf} j@uX]uOYY]ËUj uOYY]ËUjuOYY]ËUhuOYY]ËUjuOYY]ËUhWuiOYY]ËUjuVOYY]ËUjuCOYY]ËUju0OYY]ËUhuOYY]39ËUQQF3ʼnESVuW~VuOY;Yp|}$u Ex}$39E(jjVuPWhEEJ;tRJ;#J=w;#|܅L;#PcY-3ۅuSVujWhE}3PPPPPWSuu 1Et8E ;3QQQPuWSuu 6J;tJJ;#J=w;#|td;#PYtI3t8jjjVWuSuu qt3PP9E u:PPVWPu$رEu.W&Y3S&Yƍe_^[M3]]u uW&YҋUuMu(Eu$u uuuuu P$}t MP]ËUUVu?j^0@} vM~3@9E w M?j"̋utSZW~0~tG0@IZx?5| 0H89t:1uFˍqAu+΍APSR蹲 _3[^]ËUP F3ʼnEMESVW} ω%u3 2Ҿ3]E3@jMQQ$pNYY9z=t=u303ۅ4C,j^Dž; 3ɋ ; 0u䋍3҃j ^Ɖ+3@xHωЉtA3+9PsŃsut2ɄjrY;rщʉ0+;rm;s83F;s @3##苍狍 lj0INt,돋t ȍ03󫀽t B,3,+3P,P0SP$3jXA\PP`SP|$c3Aj _lj+3@v,HɉЉtA3+9ōssut2jrY;rщʉ+0;rg;s3G;sB3##苍㋍ É0IOt,땋j^t ȍ03󫀽t B,3,+3P,P0SP"3@\jjYDž;3ҋ;0u䃥tP3j X+‹;8;s F;sW3ҋ3ЋNt,38+,VjPB3@5G@,tH3j X+ssut2jrY;s˃ti0<;s F;sW3ҋ3ЋNt,뮋t A,3,+,jP0hPr 3G+VjP3@5C\PP`SP 3j Yc񉅜ʉq&vj&X E4EW1jPMPEEPPStwzu3\\\3ɉ3``G;u`\Z\`P\P`SPu3\P\\3ɉ3``F;u\s=3\P;\`u\t \33+u%;!V`33Ή9stW;u@Ɖǃ@A;ut4s;uA3AȃsF;‰\PP`SPtl+<\Eu]3\P:3\PP`SP(2됃\jP`\33``F;ub\sK`\A񉅜ʉL&vj&X E4EW1jPPEEPPou3,Prz,m,3ɉ300G;u5,s0,,w|0P,P0SP<=,,3ɉ300F;uR;,0u,t ,33+u%;!V033Ή9stW;u@Ɖǃ@A;ut4s ;uA3AȃsF;‰,PP0SPZ+\E,330Ɖ0G;ut,ssN0,e3P,P0SP27,j3P,P0SPW,to330j Zlj0F;uድt@,ss0,&3P,P0SP\P,PrYYj Z;w\13ɋ3`j `GZ;uድt\\ss`\B3P\P`SP!u H0wMx wȋEH;r;,3ɋ30ʚ;0G;uߋt@,ss0,&3P,P0SPI\P,PYYj_+30;r7Ou vj Y񉵴;-M_3^[t]ËVVN:Y<uF V:YF^ÀytQ@:Y̋UM VW}7;1t_2^]3҅tA+ ;uB;u_^]̋UM VW}1;7t 23_^]3҅tA+I; uB;u3_^]̋UM39]̋UQS] VuW<EWFjPf ˺ƋMT7A_^[]ËUd F3ʼnES]lVW}u 3΁ -uΉ3_ }u"΋ǁ uh`LF`EPGYt AzE|@}u Eݕω%u3 2Ҿ33@8QQ$9YYe=t=u303ۅ4C,j^Dž;3ɋ ; 0u䋅3҃j Y+ȉ3@cHωЉtA3j X+V9ssut2jrY;rщʉ0+;rm;s83F;s @3##苍狍 lj0INt,돋t ΍03󫀽t B,3,+3P,P0SP)3jXA\PP`SP\3@j Y+ȉ3@b,HɉЉtA3j X+;9ssut2jrY;rщ‰0+ ;rg;s93F;sA3##狍苍 0HNt,땋j^t 30󫀽t B,3,+3P,P0SPE3@\jjYDž;3ҋ;0u䃥tP3j X+‹;8;s F;sW3ҋ3ЋNt,38+,VjP迂3@5G@,tH3j X+ssut2jrY;s˃ti0<;s F;sW3ҋ3ЋNt,뮋t A,3,+,jP0hP 3G+VjPv3@5C\PP`SP 3j Yc񉅐ʉq&vj&X E4EW1jPʀPEEPP_wzu3\\\3ɉ3``F;u`\Z\`P\P`SP7 u3\P\\3ɉ3``F;u\s=3\P;\`u\t \33+|u%;!V`33Ή9stW;u@Ɖǃ@A;ut4s;uA3Aȃs|F;‰\PP`SPtl+<\Eu]3\P:3\PP`SP2됃\jP`\33ɋ`Ɖ`A;ub\sK`\A񉅬ʉL&vj&X E4EW1jPe|PEEPPk[u3,Prz,m,3ɉ300F;u5,s0,,w|0P,P0SP=,,3ɉ300F;uR;,0u,t ,33+|u%;!V033Ή9stW;u@Ɖǃ@A;ut4s ;uA3Aȃs|F;‰,PP0SP+\E,330lj0F;ut,ssN0,e3P,P0SP27,j3P,P0SP,tw330j ZƉ0G;uትtB,ss‰0,&3P,P0SPG\P,PYYj Z;w\133ɋ`j lj`AZ;uድt\\ss`\B3P\P`SPu H0wAx wȋEH;r;,33ɋ0ʚ;lj0A;uߋt@,ss0,&3P,P0SP\P,P\YYj_+30;r7Ou vj Y񉵴;-*h|LFhtLF hlLFhdLFuS` u't_^[t lP%YM3_]3PPPPPW̋UVuu3mEuAj^0SW}t9u rVWPT 36u jPVu u j 9u sj"^0賡jX_^]ËUEVu苡Y@ S3 CCE@ 2E@ ËEtjY  E@ u uYEHuvvVYP$F EP@ u]uYt5uYt'uWVV?k0YYF_F@($E8ME UË]j 迷YjhF3U3uj ]YuEuu }WN ؉]tM9!uEtp,>E8ME UË]j /YËUVW}W Yuj X>u WgYS3&hVYYujhVYYt7SV谧YYtUt.} t"΍YAu+;rtj"UjQ3VWR:pt?x(t8ujh0S舁 tVhPU u j X[_^]SSSSSk̋UQVW}WSYuj XS3ۉ]f9uWYjhV#YYtSVYYtUt4} t(΍Yff;Eu+;r t3fj"Q3VWR:t?x,t8ujhAS虀 tVhP۫ u j X[_^]SSSSSz̋UVuj.V VYYȅu .2-;r+9E vSWj$3ۍySW_  u2_[^]j$+u VWRPuSSSSS̋UQj.u?YYȅu 跇2?;Mr+EW} ;w 蜇2#Sj$YjS ȉE u2[_]Ë+Ej$+WSRu趛u3PPPPPp̋UE 0E0YY]ËUE 0E00E]ËUVu<Fujh讀jF F^]ËUVu<(Fujhtj(F~ (F^]ËUSW}W|Yt{Shm YYtg=w`V4tt uutsF+ށEj$SV3SPNu&΍QAu+f.0\^2_[]SSSSS*̋USW}WYSh0E=wzV4Ctt ujxjwjvXfƿ++Ej$WV3SPޙu:΍Qff;u+j.NYfj0YfH3fH^3f2_[]SSSSSd̋UE 0E0YY]ËUE 0E0YY]ËUE0E 0E0} ]ËUE0E 0E0@ ]ËUE EQ0RYY]ËUE fȋEQ0<YY]ËUE0E 0E0 ]ËUE0E 0E0 ]ËUE0E0E 0Ep0O]ËUE0E0E 0Ep0k]ËUE0E0E 0Ej0]ËUE0E0E 0Ej0!]ËUEE AEA] UEE AEA] AQ +ËAQV0+2+^j hFM3uuzj^0;MÃ&ej گYeu V,YYut<0E뼋uj YjhF^MjYuj X?ujYujhW]YEP蔃Y}uj3u܉u0uhu hBWEPiu܃uhWYYut8uj}t[uWlYFE39PuuxYj ^3PEPE FE MEAMEuE LËu܋ExuPYuYËUEF]ËUE(F]WuÃ(IuÃ,ËU]{9DFËSVWj_F6Uy&vYu(F6=y&vYu_^[ËUQeEPjhu6E]ËUQ}uЀjXEPju u]ËUQeEj@P:EYY]ËUju"YY]ËUQeEPjhuE]ËUQ}u?jXEPju u]ËUVu~ VuɪYYE~ Pu赪YYtt3QQQPuVuu u軑+ujX3E^]ËU,F3ʼnEESVuE؋E EԋEEW}}~"VWYEY] ~SPYY}32|E$u E؋@E$t;ujX~3@~jMQPܰEt~/jX9Er}Mt؊Qtъ:r:Ȁ9u뺅~5jX9Er}Mtu܊Qt:r:~Ȁ9ut3WWVuj u$hEE؅J;tYJ;#J=w ;#/ĉE;#PvEYElj}uPVuu$jVhEWWSuj VhEEJ;tJJ;#J=w;#s.t`;#PuYtEt4uVSuju$hEt]WWWuVuSuu']V8Y]S,YǍe_^[M3:]ËUuM1u$Eu uuuuu P' }t MP]ËUM38t ;E t@<u]ËUVuIF3^]ËUQQeeVu6vGEP ;Eu F;Eu33@^]ËUQQeEePYt3@)MUEAEPUxYu誂3]̃=tF\$D$%=u<$f$ffd$uUy=tFt2\$D$%=u<$f$ffd$u% $B ÍT$ R<$tLD$ f<$t-(OFt^uA=4F MF uԩu|$u%t-NF"X uŃ|$u-NF=4F MF ZÃ=tF \$D$%=u<$f$ffd$ ~D$f(0MFf(f(fs4f~fTPMFffʩtL= |}f=2  fL$D$f.{$T$ ԃT$T$$ D$~D$ff(f=|%=2fT MFXfL$D$`MFf@MFfT MFf\$D$3PPjPjh@hhMFE`Fá`Ft tPYYtAt VdYu6XYM_3^'][ËUQQE]E]ËUE tjt3@]ètjtjX]]ËSQQUkl$F3ʼnEVs CWVPs u&ePCPCPs C sPEPs s^YWt)t%CV\$\$C$s W$WQ$VFCYYM_3^&][ËSQQUkl$F3ʼnEVs(C WVPsC u4EEC jPCPs C(s]PEPs(s}Yvt*t&C V\$C\$C$s W$Wo$VdC YYM_3^%][ËUM39 XFt @|3]ËXF]ËUS]VtEtj.Y#EtjYwEjEY #tT=t7=t;ubM YF{LHM {,YF2M zYFM zYFYFEW3tGM DEPQQ$E EU=}3GY3AuBEfEE;}++ȋEEtuGEEt EmuEtE 3G_tjYtE t j Y3^[]ËUEE]ËUjuuuuu u]ËUE3S3CHEW HEH Mt E Xt EHt EHt EHt EHMVu 3A1AM3A1AM3A1AM3A1AM3A#1AtMI tEH tEH tEH  tE X  #t5=t"=t ;u)E!MM E #t =t ;u"E M MEM31E X } t,E` EEXE X`E]``EXP:MA A EEXE X`M]A`A`EXPEPjjWdEMAt&At&At&At&At&ߋt5t"t u( % % !tt u!#  # } ^tAPAP_[]ËUjuuuuu u]ËUEtw"]!]ËUU 3ɋ9XFt@| XFMtUEEEEEEEVuEE hu(EE$uEmEPb uVUYE^hu(Cu9E ]ËUMEEPQQ$ ]ËUEWDz 3VfuƩu|M UutjٿAu3@3EuɉM yM OEtfuUf#fut f fuEjQQ$s #jQQ$` ^E8_]ËUE%-]ËUQQMEE%] fME]ËUQQMEE%] fME]ËU} Euu@]Á} u ujX]fMf#f;ujf;uE utj3]ËUQQE]EE 3Ё3ȉME]ËUQE3Ё3ȉME]ËUQQE]EE3E %3EEE]ËUQE 3E%3E EE]ËU3f#Mf;]ËUfMff#f;u3EQQ$YYttt3@]jjX]ø]ɁfuE u}tɃᐍ]EDz ɃA@]Ɂ]ËUfEf#Jf;uE u }uf;u3@]3]ËU VWWh?EYYM#f;uLQQ$YY~ ~)t-EPFV\$$j%jk\WV[YYENDzYFV\$$j%jčEPQQ$ EHEEWV] E_^]ËUE\$E$]ËUuEQQ$ ]ËU VWWh?EYYM#f;uiQQ$YY~-~au#E]E\$E$sEPFV\$E]E\$$jj?DzWVEYY)EPQQ$M Uy +;|Z+; = =~-PQQ$ V\$E]E\$=}%V\$E]E\$E$jj|=}&PQQ$g V\$E]EPQQ$FWV](E:V\$YF$\$E]E$QQE$jj$_^]ËUE\$E$]ËUSVEWPQYj_f;EPEYf;ED3Af;u$fEf#E Kf عfuz3fEfMz {zFzAfEurfE ukfE udfEf@fE%;uNjYDfEffEf;u+fE ffE f;ufE ffE f;u fM]f]_^[ujYE]ËUQVuV#ȉMf;u&u3f9Fuf9Fu f9u@jXu3f9Fuf9Fu f9u33++E fMf~Wj5_f;3FffV_fMYF ZFN#3‰UfNfʃttuf N3fFf N3fFf 3f3fH_^]ËUMVA#f;^uu3f9Auf9Auf9u@]jX]éu3f9Au f9Auf9u]3f]ËUQVuN#ЉUf;uuf>u3@jXu f>u3{++E WfEf3]jZf;3ffNAfEZFNj 8ZFN#3‰UfN3ff;}f f3fH_^]ËUMVA#f;^uu f9u3@]jX]éu f9u3]3f]ËUQEjPuu]ËU]JU]FUS]3t t3@tttVtPK E E jPY ^t d!t R"[]ËUW} uE!8V詾WYM#^3_]ËUE u3]VW}u ĺM# # W膿W 3;_^]ËUQueEPkEYY]%xE%|E%E%E%E%E%E%E%E%E%E%E%E%E%E%E%E%E%E%ıE%ȱE%̱E%бE%ԱE%رE%ܱE%E%E%E%E%E%E%E%E%E%E%E% E%E%E%E%E% E%$E%(E%,E%0E%4E%8E%~B+t3Ʌ MNB+t3 E3ɅF;BB+t3Ʌ M~B+t3Ʌ M~B+t3Ʌ MNB+t3 E3Ʌ_F;BB+t3Ʌ M2~B+t3Ʌ M~B+t3Ʌ MNB+t3 E3ɅF;BB+t3Ʌ M~B+t3Ʌ My~B+t3Ʌ MWNB+t3 E3Ʌ1F;BB~+t3Ʌ M~B+t3Ʌ M~B+t3Ʌ MNB+t3 E3ɅF;BB+t3Ʌ Ml~B+t3Ʌ MJ~B+t3Ʌ M(NB+t3 E3ɅF;BB+t3Ʌ M~B+t3Ʌ M~B+t3Ʌ MNB+t3 E3Ʌk~B+t3Ʌ MIB~+S3Ʌ M8M1+t3EqB+t3EqB+t3EIB+t3 EUu  +t3EujJF+t3EuLJF띋Uu  +t3Eu JFnEE ]3^[]Ë~EE]EEy~EEƆEE}EE.EeEJ}EREE͉E|EEE6E|E$EiEE{EE҃EEzEE;EpEUQM USVW}3ۃ ;+t3E< rA+t3E rA+t3ErA+ut3EEÅB;AA+t3ErA+t3E{rA+t3EYrA+ut3EEÅ+B;AA+t3Er A +t3Er A +t3Er A +ut3EEÅB ;A A +t3E_r A +t3E=rA+t3ErA+ut3EEÅB;AA+t3ErA+t3ErA+t3E|rA+ut3EEÅNB;AA+t3E!rA+t3ErA+t3ErA+ut3EEÅB;AA+t3ErA+t3E`rA+t3E>rA+ut3EEÅB;AA+t3ErA+t3ErA+t3ErA+ut3EEÅqj ^+;σQ$EB;AAr+t3ErA+t3ErA+t3ErA+ut3EEÅB;AA+t3ErA+t3E]rA+t3E;rA+ut3EEÅ B;AA+t3ErA+t3ErA+t3ErA+ut3EEÅnB;AA+t3EArA+t3ErA+t3ErA+ut3EEÅB;AA+t3ErA+t3ErA+t3E^rA+ut3EEÅ0B;AA+t3ErA+t3ErA+t3ErA+ut3EEÅB;AtA+t3ۅÍ]rA+t3ۅÍ]wrA+t3ۅÍ]UZA+t3E33_^[]ËB;At}A+t3EurA+t3EurA+t3EurA+ut3EEÅjB;AAr+t3E<rA+t3ErA+t3ErA+ut3EEÅB;AA+t3ErA+t3E{rA+t3EYrA+ut3EEÅ+B;AA+t3ErA+t3ErA+t3ErA+ut3EEÅB;AA+t3E_rA+t3E=rA+t3ErA+ut3EEÅB;AA+t3ErA+t3ErA+t3E|rA+ut3EEÅNB;AtsA+t3ۅÍ]uZrA+t3ۅÍ]u<rA+t3ۅÍ]uZA+t3EtRA+t3EB;AA+t3EzrA+t3EXrA+t3E6rA+ut3EEÅB;AAr+t3ErA+t3ErA+t3ErA+ut3EEÅhB;AA+t3E;rA+t3ErA+t3ErA+ut3EEÅB;AA+t3ErA+t3EzrA+t3EXrA+ut3EEÅ*B;AA+t3ErA+t3ErA+t3ErA+ut3EEÅB;AA+t3E^rA+t3E<rA+t3ErA+ut3EEÅB;AA+t3ErA+t3ErA+t3E{rA+ut3EEÅMfBf;ApA+t3ۅÍ]OZA+?3E,B;AAr+t3ErA+t3ErA+t3ErA+ut3EEÅ[B;AA+t3E.rA+t3E rA+t3ErA+ut3EEÅB;AA+t3ErA+t3EmrA+t3EKrA+ut3EEÅB;AA+t3ErA+t3ErA+t3ErA+ut3EEÅ~B;AA+t3EQrA+t3E/rA+t3E rA+ut3EEÅB;AA+t3ErA+t3ErA+t3EnrA+ut3EEÅ@B;AtA+t3ۅÍ]HrA+t3ۅÍ]&rA+t3ۅÍ]ZA+t3ErA+t3ErA+3EiIE+EEBEbEEEEÕEEhEE$EgEɝEuEEȘE*E֡EE)EE7EGEEEEEELEEWVt$L$|$ ;v; s%F% Fs D$ ^_Ë3Ʃu%F% Fs vs~vftefoNvfo^0foF fon0v00fof: ffof: fGfof: fo 0}v foNvIfo^0foF fon0v00fof:ffof:fGfof:fo 0}vVfoNvfo^0foF fon0v00fof:ffof:fGfof:fo 0}v|ovfs vs~vfEtIuу $E$EEEEED$ ^_ÐD$ ^_ÐFGD$ ^_ÍIFGFGD$ ^_Ð41<9 Q%Ft׃+ʊFGNOu $0E@EHEXElED$ ^_ÐFGD$ ^_ÍIFGFGD$ ^_ÐFGFGFGD$ ^_tINOurhooNoV o^0of@onPov`o~pOW _0g@oPw`pu r# ooNO ututuD$ ^_̋ƃуtf$fofoNfoV fo^0ffOfW f_0fof@fonPfov`fo~pfg@foPfw`fpJut_t!ooNOv  Jut0tuȃtFGIu$ID$ ^_Í$++Q‹ȃt FGIut vHuY`P<*Գ~rbN:N`pΰܰ ,:L^r0|$̺z`F:. Թȹt`LگįfXJ4$ 4@ش&B\r̵޵&2JbzʶԶ .>L\~Ʒз .@PbrҸ|α.ز̲~lXB0 ڱ@}@|@|}@@%@D+ECEqCDBEXA+dWnOA AlGRWpO6a'wj5ObFÅm]rLwx,aOMG  ķ]v+qAO pO]և+DW^ Oor;owLf[MEĀv*cMjVDEs"@0(9A8L7ʸ!A9mG-*+$%|QOz)(BF\G aUFEzfCNItwׄtxM NI{@ >K]TKFad4Cz "zOy|I)sO>BqB 7 EC)t0ō*M^2mFT }jL^6CTv]=D%OcgP0 V A H FFPB,ɨ=$HܨEye64Bl OUᏢWU]O ɊFiyŜ?Oɝa3K@~OqK M;rG¸E\\GNˇbo-XCMtY&h~vIsB U[6J[CS[bHNAF"JL G:7՝5F3+zFO${aύtA^?UX&I}!<OGFV;&OF}P($IZ^9&M[OrWG 35w~s5i+.bi;'~.gC\[bGEրEv+0PoSi)!@'QL.JifrtgHU;aއ-+ o.Eцf@"nO :i+00.PRO—-2NfHyu M7?eEd9Ē^F{w@=TR%9O'HKlqt} {ҜJ3F̉.|-!CQ7o֩Cmy4[ _eOkmM]`g.H iVFO#A,\V׉#G`` E%6QM\vWNVM.^R FHsp^QmOpNr-O&oORO%e{HqC,㟽$\E9 Ot<&KA>=a-kQG^),=Nk.4qa޼^Ol^\`U;MW.I|Kg+*U6F:(Y;J\FЗ4mc/4*&{-@`ެ)F#Ϋ>/ICVJNztI6FOEг@wiKw^ Ҩ\I;%Sjc(=O'>OСFVe\Kz~|Tn9{ŞC $&;ل.CZ0YctXT9bq^F*O !:i+00iI~+.ͩ _@^A% xSiMEQ 3߷;`[}N8úGˢ)w]+.DJQ3(9O>ܥ>G2A`tpZdfapHUeі[/tAxC(DW@Xzvi>VMYFDAtKpȞ&Aõ*.7V`Ɔ'":i+00hXt_vJ)v ؂تI'9Y:Oh7 e.{ JOe/+dWnOF]K $Lb`wG:J'Ws5i+.b!\_[CP2nD\HC*v CBg (#4DLe+.b1 ъ*Bp2r%9Y:Oh7ա΋!  Hl?<W>OrAGQ`{FL>!OL'`g$$/4EjfqJ1B*)l6ٿMp.лչL@mIh.6]PO,1Dl4L~ɋ@J7<}iFs5i+.b1IkLIC'+I~vph}OUEK}4@ VqzeG'{-F4plTI?rF֔hJuAtXJQ x;>VfNr@"=3uw-NFEH/дtF5K@~OqF9tRNNgɆ󝚫N_3haO1FIFS2IEt$c^NIe2$53QB`ϝk(ԺCy&|=HF5ꥂG)]/qNnwmjKDWw? jY>4'r`F$<;{dFP0 F:̿,LB)隇AxWObDcq# ۅ>eL:er=mG)fR IC0hxU*TK Ix5i+.b^5N$̈cpH|t$ HNOiNㄐi3O < zO1I( W0\"F-V ևA)F Wt חb@Z|KJAVgq@L\J7.jxO`OK #@;>VFhP}N<)ѪF $aOBd-@y#uLKdqkPCU .4z]bM I]Ft Ox_xrd_w~LNdL֬F4Ku@ +К#FlHi"k1%B T #8ƪd_NM&uf4Lc'wj5Obx8WFTpj7BWGCQl2FiM^eQI+Idʏ[FFFFF F F!FFF0:s *Dw= F`k;Yi+-z1OY ȿ4<OV% X$5I?#3:O4j;Yi+-zj;Yi+-zi;Yi+-zv nr=F>FDF[F"FFF0F1F2F3F%F)F*F0:s*Dw=IF y.Y+FGFHF:/ۆ/O:/ۆ/O:/ۆ/O:/ۆ/O:/ۆ/O:/ۆ/OFFFFU 8r+C+n4@FacH&8FvCj?e~ҦFFF&FF F FFk!Pi)? F F F F FFFFFPF%FQFFFF@Fʙ^AiXשFh Mm8gh z0Gd<O8m xO4yOԒMm8gh &FEFǝv\Wސy(_FF4F Z'B>âRX0eu{ڮP9Vu{0ne0E Kvne yOܦϫ|x O jIOQnO09$-1.E^*onePone |~|?ne? PE^#1$-?W2$-?W2$-pw~?neg@ne˳j@ne˳j@ne?W2$-~{S^BEy|KDphKΔӳOհrIOC'zO{TxhO{lhO6ǀ_`\`OOrOh7y) Oh7BTyI6 EZ{ْ?i]?9A!8ҏFs%E~2]r?jdN&6u^gO!B> 9}Nr*GݓkFN]ͷghhϓgAc*^Z%Ȕ2AeqKW';?B@ J$SQ`Ɔ(œO>1s-O(hHjxOi QD(ߥl+ rˆLmCBUa{Ӱ~C.`1 y/DĊY F;aAdƼ403bpc(Jg Дէ{E] E)ПS-oEH?syYz(y K@AXGA'qQU AJ s Y!WOZ{*lg(M2(TfC'>|a.  O;O.K[K8H]҇26 -&{-r: %wCjW'tVamy!@iaWBVm`ɠI-`:Bn5OC(K鞟^ﯘ=ѕK0:ښL%2J4{[kYs=BMQ!B\[/B{NsASÖ.̆I#t9JDf?kјH"tŻ-Gs?zZAe!`[ǽ6NXX$  KiiőԞ(LqmjK H(.~,-Y@o3\.Q Cpg{LKI s<_z\ LKo(t;sM|@)^vJYӞ~+IzÊChsxDpWJ?,CP0DOAoZ\q"tDk׾ TLrTIkE a`NNe76_I|kHrYM>s: .jxOˡd:aDX7iii9P5}+EutX(T6QB~ۜC]_#ͼ_Ld=xr|խhG2`?uIp4Bf6חKt3OtaG'"v0 SNwL1"(iv@ YGح+ObC4`[ԄLr?RJ{,AsEOWL"O7v8yOhKKt&1Zs~:6 B}Ftr⋪GMv2̤ pDʹfD.b[GvtH; zr\GڙYkH?FA&OA;,Ui6 IJ"x9J4ܵ;EfDװqmrE.1!YuY&HxHϣ'GVBeUNOخ|)IE@0lyדسDg,ݠeL3"5/QqCAwSk5 X;-3B{_41lxpOh6ǾƱLb VBPoz5zD #D@Fgm[M/BT|\?@zpDF[0 49Z I}AaB}KX䌠%D|DZ#`ڽWvGE>ςZ#@k{X8&oI Qd5CvSdn0@DH&'E4VwҁnB*O&-bfMlV!j hFXapf_:qJ?򥸿2cpF^W5}3ƔHjiOY<0G== 6eFpqFwHҶe_K#q}kdO-pV+UN;;z5Og5е.Í}DwMm3sG%`4n.8E40yvF'6я]A.VGމJ=PpZd1FOЊ ĽFK6eJ7`, :i+00Fh3MnMܙS{5)xKt O3CKsw`$D&l;0MHֿRUBu(dT&arrCuƋ.|uU:WPHw[ێ Z܊M`* !sG3^F0MJSkyZ 8y M3,/KqI\M;TQ'CHCh4-6C$/`zLbeLWwR"F)JȬ պFD-ʀr33yHȅF/_~_INK R(N伽I@܏Uo#RH kM?'kaIõ}EFVxCEg{Sl"vM`3)/#RW$ZI/Փg3wB$hŨ"IΕL?vk΄e}IƼ8-F"DDm'Cb**+C ,R[09|)J=AxB:RC%jAyiȳO^7q2hK_Lrz=*Fŗ5WIZgnMI/~o& IFk"t% 0H Ng4f/`CU7%(Lx#h>5qM?w;E9eZJ 57BxsCU3FFXElEEEadvapi32api-ms-win-core-fibers-l1-1-1api-ms-win-core-synch-l1-2-0kernel32EventRegisterEventSetInformationEventUnregisterEventWriteTransferFlsAllocFlsFreeFlsGetValueFlsSetValueInitializeCriticalSectionExPE\EdEpE|EEEEEEEEEZFEEEEEEEE EEE E$E(E,E0E4E8E><<!==!=[]operator->*++---+&->*/%<<=>>=,()~^|&&||*=+=-=/=%=>>=<<=&=|=^=`vftable'`vbtable'`vcall'`typeof'`local static guard'`string'`vbase destructor'`vector deleting destructor'`default constructor closure'`scalar deleting destructor'`vector constructor iterator'`vector destructor iterator'`vector vbase constructor iterator'`virtual displacement map'`eh vector constructor iterator'`eh vector destructor iterator'`eh vector vbase constructor iterator'`copy constructor closure'`udt returning'`EH`RTTI`local vftable'`local vftable constructor closure' new[] delete[]`omni callsig'`placement delete closure'`placement delete[] closure'`managed vector constructor iterator'`managed vector destructor iterator'`eh vector copy constructor iterator'`eh vector vbase copy constructor iterator'`dynamic initializer for '`dynamic atexit destructor for '`vector copy constructor iterator'`vector vbase copy constructor iterator'`managed vector copy constructor iterator'`local static thread guard'operator "" Type Descriptor' Base Class Descriptor at ( Base Class Array' Class Hierarchy Descriptor' Complete Object Locator'CV: ::template-parameter-generic-type-`'`anonymous namespace'''`non-type-template-parametervoid`template-parameter...NULL%d`template-type-parameter-`generic-class-parameter-`generic-method-parameter-}' }' `vtordispex{`vtordisp{`adjustor{`local static destructor helper'`template static data member constructor helper'`template static data member destructor helper'static virtual private: protected: public: [thunk]:extern "C" ) char short int long unsigned void volatilestd::nullptr_t std::nullptr_t,..., throw(cpuamp, charshortintlongfloatdoublebool__int8__int16__int32__int64__int128char16_tchar32_twchar_t__w64 UNKNOWNsigned const volatile`unknown ecsu'union struct class coclass cointerface enum volatile const & && cli::array<cli::pin_ptr<)[{flat}{for s Fi@i@i@\F@@@F$@B@h@F@@ @@F@@@F@@$@ ?? EEE50P( 8PX700WP `h````xpxxxxEEE00P('8PW700PP (`h`hhhxwpwpp(null)(null)        ! 5A CPR S WY l m pr   )    Tc-^k@tFМ, a\)cd4҇f;lDِe,BbE"&'O@V$gmsmrd'c%{pk>_nj f29.EZ%qVJ.C|!@Ί Ą' |Ô%I@T̿aYܫ\ DgR)`*! VG6K]_܀ @َЀk#cd8L2WBJa"=UD~ $s%rс@b;zO]3AOmm!3VV%(w;I-G 8NhU]i<$qE}A'JnWb쪉"f37>,ެdNj5jVg@;*xh2kůid&_U JW {,Ji)Ǫv6 UړǚK%v t:H孎cY˗i&>r䴆["93uzKG-wn@  _l%Bɝ s|-Ciu+-,W@zbjUUYԾX1EL9MLy;-"m^8{yrvxyN\lo};obwQ4Y+XW߯_w[R/=OB R E]B.4o?nz(wKgg;ɭVl H[=J6RMq! EJjت|Lu<@rd 6x)Q9%0+L ;<(wXC=sF|bt!ۮ.P9B4Ҁy7P,=87MsgmQĢR:#שsDp:RRN/M׫ Ob{!@fu)/wdq=v/}fL3. iLs&`@< q!-7ڊ1BALlȸ|Rabڇ3ah𔽚j-6zƞ) ?IϦw#[/r5D¨N2Lɭ3v2!L.2>p6\BF8҇i>o@@w,=q/ cQrFZ**F΍$'#+GK ŎQ1VÎX/4Bycg6fvPbag ;s?.❲ac*&pa%¹u !,`j;҉s}`+i7$fnIoۍut^6n16B(Ȏy$dAՙ,C瀢.=k=yICyJ"pפldNnEtTWtøBncW[5laQۺNPqc+/ޝ"^̯p?m- }oi^,dH94X<H'W&|.ڋu;-Hm~$P  %-5 > H R ] i u -C Y p        %  d'@Bʚ;minkernel\crts\ucrt\inc\corecrt_internal_strtox.h__crt_strtox::floating_point_value::as_double_is_double__crt_strtox::floating_point_value::as_float!_is_doubleINFinfINITYinityNANnanINFinfINITYinityNANnanINFinfINITYinityNANnanINFinfINITYinityNANnanSNAN)snan)IND)ind)SNAN)snan)IND)ind)SNAN)snan)IND)ind)SNAN)snan)IND)ind)Visual C++ CRT: Not enough memory to complete call to strerror.Visual C++ CRT: Not enough memory to complete call to strerror..exe.cmd.bat.com./\?*   Runtime Error! Program: <program name unknown>... Microsoft Visual C++ Runtime LibraryF\F\/ F/mscoree.dllCorExitProcessFlCFFlCFF4DFFDFF{DFFDLC_ALLLC_COLLATELC_CTYPELC_MONETARYLC_NUMERICLC_TIME  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~=;;=C_.,_. CLC3CCFCICCCDDCsCCtCC*B*B~D CC;C>CC8C\\\.\.TMPTMPmsvcrt.dllccsUTF-8UTF-16LEUNICODEccsUTF-8UTF-16LEUNICODEF`FlEFF FFFEFHFFFFhFF FXEEX Fapi-ms-win-appmodel-runtime-l1-1-1api-ms-win-core-datetime-l1-1-1api-ms-win-core-file-l2-1-1api-ms-win-core-localization-l1-2-1api-ms-win-core-localization-obsolete-l1-2-0api-ms-win-core-processthreads-l1-1-2api-ms-win-core-string-l1-1-0api-ms-win-core-sysinfo-l1-2-1api-ms-win-core-winrt-l1-1-0api-ms-win-core-xstate-l2-1-0api-ms-win-rtcore-ntuser-window-l1-1-0api-ms-win-security-systemfunctions-l1-1-0ext-ms-win-kernel32-package-current-l1-1-0ext-ms-win-ntuser-dialogbox-l1-1-0ext-ms-win-ntuser-windowstation-l1-1-0user32AreFileApisANSICompareStringExEnumSystemLocalesEx GetActiveWindowGetCurrentPackageIdGetDateFormatEx GetEnabledXStateFeaturesGetFileInformationByHandleExGetLastActivePopupGetLocaleInfoExGetProcessWindowStation GetSystemTimePreciseAsFileTimeGetTimeFormatExGetUserDefaultLocaleNameGetUserObjectInformationW GetXStateFeaturesMaskIsValidLocaleNameLCMapStringExLCIDToLocaleNameLocaleNameToLCID LocateXStateFeatureMessageBoxAMessageBoxW RoInitialize RoUninitializeSetThreadStackGuarantee SystemFunction036am/pma/p - : +%SunMonTueWedThuFriSatSundayMondayTuesdayWednesdayThursdayFridaySaturdayJanFebMarAprMayJunJulAugSepOctNovDecJanuaryFebruaryMarchAprilJuneJulyAugustSeptemberOctoberNovemberDecemberAMPMMM/dd/yydddd, MMMM dd, yyyyHH:mm:ssSunMonTueWedThuFriSatSundayMondayTuesdayWednesdayThursdayFridaySaturdayJanFebMarAprMayJunJulAugSepOctNovDecJanuaryFebruaryMarchAprilJuneJulyAugustSeptemberOctoberNovemberDecemberAMPMMM/dd/yydddd, MMMM dd, yyyyHH:mm:ssen-US F F F F F F F F F F F F F F F F F F F F$ F( F, F0 F4 F8 F< FD FP FX F F` Fh Fp Fx F F F F F F F F F F F F F FFFF F0F@FTFhFxFFFFFFFFFFFFFFFFFF(F4F@FPFdFtFFFFFFFFINFinfNANnanNAN(SNAN)nan(snan)NAN(IND)nan(ind)e+000 ((((( H ( 0 ((((( H   !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~SunMonTueWedThuFriSatJanFebMarAprMayJunJulAugSepOctNovDecTZFFFFF$F8FTFhF|FFFFFFF FF(F8FHFXFhF|FFFFFFF F$F4F@FPFFdFFFFFFFFNo errorOperation not permittedNo such file or directoryNo such processInterrupted function callInput/output errorNo such device or addressArg list too longExec format errorBad file descriptorNo child processesResource temporarily unavailableNot enough spacePermission deniedBad addressUnknown errorResource deviceFile existsImproper linkNo such deviceNot a directoryIs a directoryInvalid argumentToo many open files in systemToo many open filesInappropriate I/O control operationFile too largeNo space left on deviceInvalid seekRead-only file systemToo many linksBroken pipeDomain errorResult too largeResource deadlock avoidedFilename too longNo locks availableFunction not implementedDirectory not emptyIllegal byte sequence+FFF(Fja-JPzh-CNko-KRzh-TWamericanamerican englishamerican-englishaustralianbelgiancanadianchhchichinesechinese-hongkongchinese-simplifiedchinese-singaporechinese-traditionaldutch-belgianenglish-americanenglish-ausenglish-belizeenglish-canenglish-caribbeanenglish-ireenglish-jamaicaenglish-nzenglish-south africaenglish-trinidad y tobagoenglish-ukenglish-usenglish-usafrench-belgianfrench-canadianfrench-luxembourgfrench-swissgerman-austriangerman-lichtensteingerman-luxembourggerman-swissirish-englishitalian-swissnorwegiannorwegian-bokmalnorwegian-nynorskportuguese-brazilianspanish-argentinaspanish-boliviaspanish-chilespanish-colombiaspanish-costa ricaspanish-dominican republicspanish-ecuadorspanish-el salvadorspanish-guatemalaspanish-hondurasspanish-mexicanspanish-modernspanish-nicaraguaspanish-panamaspanish-paraguayspanish-peruspanish-puerto ricospanish-uruguayspanish-venezuelaswedish-finlandswissukususaamericabritainchinaczechenglandgreat britainhollandhong-kongnew-zealandnzpr chinapr-chinapuerto-ricoslovaksouth africasouth koreasouth-africasouth-koreatrinidad & tobagounited-kingdomunited-states4FENUHFENUlFENUFENAFNLBFENCFZHHFZHIFCHSFZHHFCHS8FZHI\FCHTFNLBFENUFENAFENLFENC FENB8 FENIP FENJp FENZ FENS FENT FENG!FENU!FENU0!FFRBP!FFRCp!FFRL!FFRS!FDEA!FDEC!FDEL"FDES8"FENIT"FITSp"FNOR"FNOR"FNON"FPTB"FESS#FESB<#FESLX#FESO|#FESC#FESD#FESF#FESE$$FESGH$FESHl$FESM$FESN$FESI$FESA$FESZ%FESR0%FESUX%FESYx%FESV%FSVF%FDES%FENG%FENU%FENUA%FUSA%FGBR&FCHN &FCZE&FGBR(&FGBRD&FNLDT&FHKGh&FNZL&FNZL&FCHN&FCHN&FPRI&FSVK&FZAF&FKOR 'FZAF('FKOR@'FTTO%FGBRd'FGBR'FUSA%FUSAACPOCP  6 - 3F3F 3F(3F83F@3FH3FP3F X3F `3F h3F p3F x3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F3F4F 4F!4F"%F#4F$ 4F%(4F&04F'84F)@4F*H4F+P4F,X4F-`4F/h4F6p4F7x4F84F94F>4F?4F@4FA4FC4FD4FF4FG4FI4FJ4FK4FN4FO4FP4FV5FW5FZ5Fe5F 5F$5F05F<5F(FH5FT5F`5Fl5F F x5F 5F 5F5F5F5FFF5F5F5F5F5F5F6F6F 6F,6F86FD6F P6F!\6F"h6F#t6F$6F%6F&6F'6F)6F*6F+6F,6F-6F/6F27F47F57F6(7F747F8@7F9L7F:X7F;d7F>p7F?|7F@7FA7FC7FD7FE7FF7FG7FI7FJ7FK8FL 8FN8FO$8FP08FR<8FVH8FWT8FZd8Fet8Fk8Fl8F8F8FF8F 8F 8F 8F8F8F9F 9F9F09F,<9F;T9F>`9FCl9Fk9F 9F 9F 9F 9F 9F 9F 9F; 9Fk :F:F:F(:F 4:F @:F L:FX:F;d:Ft:F:F:F :F :F :F:F;:F:F :F :F ;F;F;,;F<;F H;F T;F`;F;x;F ;F ;F ;F; ;F$;F $;F $;F;$;F(;F (;F (GF4F7HFx3F HFN4F/HFt3F$HF0HFZ3F @@ IqI`B `BYnYnloglog10exppowasinacossqrt?? |?Q-8>=޶W?0 k8=ޮp? x9=>.ښ?pn5=Yح? Q*=c??b6=Y?T?=>?W!=@-32?Dz=p(?vP(=`?US?>=e?g7=`ŀ'?bͬ/=^s?}#=Jwk?zn=N ָ?LN9=@$"3?5Wg4p6=T?Nv$^)=&?.)<lB?M%=`j?w*= <śm?E2=ެ> ?E=t?? =OQ?w(@ <0?Ac 0=Pyp?dry?=St)?4K >=$?QhBC .=0 ub?-0=?a>-?=?Й,<(lX ?T@b ==P?3h,%=f??# =V ?ߠϡ6=Y?z $=G? $l35=@n?[+3=Rŷ?sdLi==p|?rx"#2=@.?|U2=lԝ?rF=a? 4=Y?sl׼#{ =`~R=?.i1=,? =vX?=p?h}s"= E[ ?%S#[k=7H?j=!V1?}a2=jq?20J5=?5=x¾/@?"B <1=iz?\-!y!=X0z?~b>==:? #.X'=HBO&?(~=xbb? .=Cq?y7i9+= v?:=0 ?2ض8=xPD?X1=??Q?Q?????????]?]?P?P? ? ?U?U?(?(?`?`?_?_?????z?z?1?1?p?p???(e?(e?@#?@#???`?`?hk?hk?,?,?x?x?????N?N?x?x?p?p???~?~?HN?HN???????p?p?Xi?Xi???????????8?8?s?s?pI?pI?&?&?????o?o? *? *???`?`?Z?Z???0?0???PY?PY???`?`???pm?pm?/?/??????tanhatanatan2sincostanceilfloorfabsmodfldexp_cabs_hypotfmodfrexp_y0_y1_yn_logb_nextafterOFOFOFOFYFYF!8XFOF OF@XFHXFOFPXFTXF XXF \XF dXFlXFtXF|XFXFXFXFXF"XF#XF$XF%XF&XFsinhcosh????؛FiECreateDirectory (%s)CreateFile (%s)CreateFileMapping (%s)MapViewOfFile (%s)1.2.8inflateInit2 returns %dinflate returns %dinflateEnd returns %d\-32PURELIBPLATLIBHEADERSSCRIPTSScripts\DATALib\site-packages\Installation failed.import py_compile; py_compile.compile (r'%s')%s%cPy_InitializePy_SetProgramNamePy_FinalizePyRun_SimpleStringPySys_GetObjectPy_OptimizeFlagCSIDL_COMMON_STARTMENUCSIDL_STARTMENUCSIDL_APPDATACSIDL_COMMON_DESKTOPDIRECTORYCSIDL_DESKTOPDIRECTORYCSIDL_COMMON_STARTUPCSIDL_STARTUPCSIDL_COMMON_PROGRAMSCSIDL_PROGRAMSCSIDL_FONTSsshell32.dllfunction not availableSHGetSpecialFolderPathAno such folder (%s)unknown CSIDL (%s)CoInitialize failed, error 0x%xsss|sssiCoCreateInstance failed, error 0x%xQueryInterface(IPersistFile) error 0x%xSetPath() failed, error 0x%xSetDescription() failed, error 0x%xSetArguments() error 0x%xSetIconLocation() error 0x%xSetWorkingDirectory() error 0x%xFailed to create shortcut '%s' - error 0x%xssiicreate_shortcutget_special_folder_pathget_root_hkeyfile_createddirectory_createdmessage_boxPYTHONHOME=%sSOFTWARE\Python\PythonCore\%d.%d%s\InstallPathPyImport_ImportModulePyObject_SetAttrStringPyObject_GetAttrStringPyCFunction_NewPy_BuildValuePyArg_ParseTuplePyErr_FormatPyLong_FromVoidPtrbuiltinsValueErrorOSErrorPySys_SetArgvCould not open postinstall-script %s Running Script...*** Could not load Python ***PyErr_PrintCan't load Python for pre-install script (%d)Running the pre-installation script failed Out of memory!Runtime Error100 Made Dir: %s 200 File Copy: %s 200 File Overwrite: %s .pyErrorInvalid cfgdata magic number (see bdist_wininst.py)~duCould not create temporary fileTimes RomanSetupWindowClassSetup.exeCould not register window classSetup %sThis Wizard will install %s on your computer. Click Next to continue or Cancel to exit the Setup Wizard.Software\Python\PythonCorePython Version %s (found in registry)Software\Python\PythonCore\%s\InstallPathStrangeDon't know Python's installation typePython %s is required for this package. Select installation to use:Python version %s required, which was not found in the registry.No Python installation found in the registry.Cannot installPython Version %d.%dpython%d%d.dllHKEY_LOCAL_MACHINEHKEY_CURRENT_USERYou do not seem to have sufficient access rights on this machine to install this softwareCould not open key%s\%s-wininst.logaCan't create "%s" (%s). Try to execute the installer as administrator.*** Installation started %Y/%m/%d %H:%M *** Source: %s 999 Root Key: %s %s-py%d.%dCould not create key020 Reg DB Key: [%s]%s Python %d.%d %sDisplayNameCould not set key value040 Reg DB Value: [%s\%s]%s=%s %s\Remove%s.exewb"%s\Remove%s.exe" -u "%s\%s-wininst.log"UninstallString*** Installation finished %Y/%m/%d %H:%M *** Click Next to begin the installation of %s. If you want to review or change any of your installation settings, click Back. Click Cancel to exit the wizard.Ready to installRunning pre-installation scriptInstalling files...Failed to unzip installation filesCompiling files to .pyc...Loading python...Compiling files to .pyo...-installPlease wait while running postinstall script...\Scripts\300 Run Script: [%s]%s *** run_installscript: internal error 0x%X *** Postinstall script finished. Click the Finish button to exit the Setup wizard.IsUserAnAdminrunasFailed to start elevated process (ShellExecute returned %d)Setuptitleinfobuild_infotarget_compiletarget_optimizetarget_versionnamemetadatainstall_scriptuser_access_controlforceautononeoopsBad user_access_control value%s.batw:Repeat del "%s" if exist "%s" goto Repeat Could not delete keyCould not delete value-remove*** Could not run installation script ***uninstall-scriptWrong number of args-u2. arg is not -urcould not open logfileOut of memoryPlease confirmAre you sure you want to remove this package from your computer?%d Root Key: %sYou do not seem to have sufficient access rights on this machine to uninstall this software%d Made Dir: %s%d File Copy: %s%d File Overwrite: %s%d Reg DB Key: %s%d Reg DB Value: %s%d Run Script: %s%d files and %d directories removed %d files or directories could not be removed%d files and %d directories removedUninstall Finished!Could not open archiveRemoveThis program is normally started by windowsSetup program invalid or damagedZFFFZFFFF$F8FHFZF0w,aQ mjp5c飕d2yҗ+L |~-d jHqA}mQDžӃVlkdzbeO\lcc=  n;^iLA`rqgjm Zjz  ' }Dңhi]Wbgeq6lknv+ӉZzJgo߹ホCՎ`~ѡ8ROggW?K6H+ L J6`zA`Ugn1yiFafo%6hRw G "/&U;( Z+j\1е,[d&c윣ju m ?6grWJz+{8 Ғ |! ӆBhn[&wowGZpj;f\ eibkaElx TN³9a&g`MGiIwn>JjѮZf @;7SŞϲG0򽽊º0S$6к)WTg#.zfJah]+o*7 Z-A1b62S-+ldEw}ZVǖAOIъ OM~-QJ#SpxAaU׮.7׵Y-6]]wll?AԞZ͢$ Faw$eڪ]]FD(koipvk19Z* ,  m86F߲]qTp0ek*1u4yީ%8S1bSWĔՖk1**ykʬHpo].*F6fcTT"eM©g0&):{ϼkZ> 8$,52F*sw1pHkQ6Fzw]cN̵J #pAF]#l8?1(BOgT~yUbL8^#ܖTZ1ObbSyOIV~P-{b-R4٠~^eGnHl/Su6: #jT$+e?yHf'*b#ٽЧ ?&~?$pi;FBzw[keZ~7 Sv8H 3?r$7jnԄYFܨ |OQ;օ U d S - =G\ p&Gw)` /a߫i5&LsZ<#0zMzFM8,9; :R:(q-v,.7/pXqYs3r%w+OQvrtEux܉~OK }!b|tyBxʠz{.lD~m8onlk[wjR1h58ib?mcf+aQ`צedd"fig HINSKyuJcO NZLݘMFGN@E$DD2AsX@*IBCPhTg3U>uW ַVS:R|P~Q9ZS [fYX4])\ZEo^m/_5qϱ٥s\ۼqދ!K7 kfֶԁ-b3Πjp]$^'~*I@VW<âM˟ŏ{ tDCm-@wm.B+(铜>Td"ŀǼϭ~8y$owJ1}05_K^ iϏ은BI#ƈdX܁T̓cQ: rՆ⩗ fn|xK)o%ƭ/3vUuA?)C:|sĵ@͂ Ͳ;bIUeh"׻_HS1޼^Z4eg Wb27_k%8ם(ŊO}do׸Jj3wVcXWP0qB{߭gCru&op-?'Bs ưGz>2[Ȏg; i8P/ _Y=чe:ZO?(3wwXR @hQ+ğH*0"ZOWoI}@mNП5+#*'G| AH=XX?#1jvʬ`p^Y<L~i/{kHwâ hs)aLoD~Pf7VM'(@ﰤ ہg9x+n&;f?/X)T`D1 ߨMߒ.FgTp'Hq/L0UEc?kǃh6ry7]P\@TN%s7@'>$!AxUʰ\3;Y^U~PGl!;b F2ȂpԞ(Q_V:1X: n3 m:@/)IJNv"2x+ٗ Kx.HҥfAj^y9*O]#kM`~b_R 7zFh!1߈Vc0a"j6nS Nr)Υ{t*F8#vufz`rs"WG9^EMvc΍&DAdQy/4Aڱ&S֚E biLQ<6'5P..T&q]w4.6IE? v\[YI>U!lDa>Ԫ΋ϩ7~8A]&nv|oY yKiw\¹9~$ 66nQfq>,o,IӔ 渱{I .H>C-Yn馑gQz tafw0a, Qmpjc5dۈ2yܸو L+~|-dj qHA}mԵQӅlVdkbze\Ocl=c ;n Li^`Agqr<KG k5Blۻ֬@2lE\u ϫ=Y&0Q:Qa!V#Ϻ(_ ٲ $/o|XhLaf-=vAq *q3xɢ4 j m=-dlc\kkQlabe0bNl{WeP|b-I|LeMaX:QΣtԻ0JߥA=ؕפmCij4ngF`D-s3 L_ |Pq<'A  Wh% of a^)ɘИ"רY=. \;l  tҚG9w&sc d; mj>zjZ '}DhibW]egl6qnkv+zZgJoC`֣ѓ~8ORѻgWg?H6K +گ L6JAz``ègU1nFiyaf%oҠRh6 w G"U&/ź; (+Z\j1,ٞ[ޮd°c&ujm 6?rgWJz{+ 8Ҏվ | !Bhݳڃn&[owGwZjpf; \ebiaklE x NT9§g&a`IiGM>nwۮjJZ@ f7;𩼮S޻G0齽ʺŠS0$6TW)#gfz.aJ]h*o+ 7 Z-1A26b+-Sdl}wEVZOAي»IˬO ~M-JQS#xpaA.U7Y-۩6˚w]]llA?Z$㧲F waރ$Ųe]]DFok(vpi91k *Z  ,8mF6]pTqke0*1¶u4%y<8syjHA}X*ݹ1SbSW§ٖծ1k**kypH]oF*.f6TTcMe"¤0g)&Ůޟ:{kZ >8,$5*F21wsHpQkzF6c]wN̵ׄJ# pȄA#]F8l1?(gOB~TUyLbˁ8#^TO1ZbbySIOP~V{-b-4R^~Ge­lHnuS/:6# $Tj?e+y䏼Hf*'˼Ѝb# &??~p$iBF;[wzek~ZS 7H8v ?3$rj7nFY |OQ; U dؓS - \G=&pGw`)/ ai5&sL <:R=Pe6^X7}o5641W0ճ2k3$k%'1&-[#bML"'{ "!$*x(+)`F(> q-q,v.Ț/7pqXsYr3w%vQO+tru՛E~xKO} |b!ytxBz{l.m~Do8nkljw[h1Ri85bcm?a+f`Qeddf"giH IKSNJuyOcN LZMݥFĚGE@ND$A2D@XsBI*CThPU3gWu>V SR:P|Q~Z9[ SYfX]4\)^oEZ_/m5qs<\kg2z &J8 좞V`a/6i\lU,zB\uHƒ=&FW A+Ox]`غ7W>9q߳!7Kk ֩fض-bѠ3pj$]^Ĝ'*~@IWVÕ<ӂMʏş{ Dt͆mC-@mw+B.(>dT"ş~Ϝ8yo$w1J}50K_ ^ϋiBۉI#dXфTQc:r Р fΫnx|)Ko%3/uUv?A)ġ:C|sд@͉ ;IbeU"hH_S1ފZ^ھ4ge ȋbW72%k_ܝ8Ŵ(}OodJֿjw3XcVPW0Bq{gǧurCo&p-?О'sB zGɠ2>[ ;g/P8i_ Y=嗇e:ϏOZw3(?RXw@ Qh+HZ"0*WOIo@}m5N#+'*GA |􏒨HX=#?X1vjʨ`^pYL'!$UxAׯ3\Y;U^GP~b;!lڇF 2p(ԐQV_:X1: 3n :m@I)/NJ2"v+x xKH.jAf^O*9y]#Mk~`bю_޶ Rz7hFм!10cV"ajحn6 SrN){t*8Fv#fu`zrϮsɛW"G9E^vMcD&dA/yQA4S&ֿ EbLil!>aDƋΪ~7A8n&]|vYoᡱ Kyi׫w¡\~9$66 Qnf>q,o,ӹI 散 I{.C>HnY-Qg̰t zfa`Psp0  ` @ X ;x8 h( H T+t4  d$ D \ S|< l,  L R#r2  b" B Z Cz: j*  J V@3v6 f& F  ^ c~> n. N `Qq1  a! A Y ;y9 i)  I U+u5  e% E ] S}= m-  M S#s3  c# C [ C{; k+  K W@3w7 g' G  _ c? o/ O `Psp0  ` @ X ;x8 h( H T+t4  d$ D \ S|< l,  L R#r2  b" B Z Cz: j*  J V@3v6 f& F  ^ c~> n. N `Qq1  a! A Y ;y9 i)  I U+u5  e% E ] S}= m-  M S#s3  c# C [ C{; k+  K W@3w7 g' G  _ c? o/ O A@!  @a`10  @     @@HN #+3;CScs !1Aa  0@` inflate 1.2.8 Copyright 1995-2013 Mark Adler invalid distance too far backinvalid distance codeinvalid literal/length codeincorrect header checkunknown compression methodinvalid window sizeunknown header flags setheader crc mismatchinvalid block typeinvalid stored block lengthstoo many length or distance symbolsinvalid code lengths setinvalid bit length repeatinvalid code -- missing end-of-blockinvalid literal/lengths setinvalid distances setincorrect data checkincorrect length checkneed dictionarystream endfile errorstream errordata errorinsufficient memorybuffer errorincompatible version*PXT,,*PX *PX \F FвEF(F8F@FF@(FFpFFF@FF@pF0FF̚FؚF@F0F@FHFFF$F@FHF@FdFTFdFpF@FdF@TFFFFF@FF@FFFFFF@F`RSDS7H~H,E:\CPython\cpython35\lib\distutils\command\wininst-14.0.pdbGCTL.text$mn.idata$5в.00cfgԲ.CRT$XCAز.CRT$XCAAܲ.CRT$XCZ.CRT$XIA.CRT$XIAA.CRT$XIAC.CRT$XIC.CRT$XIZ.CRT$XPA .CRT$XPX.CRT$XPXA.CRT$XPZ.CRT$XTA.CRT$XTZ .rdata .rdata$r  .rdata$sxdata,D.rdata$zzzdbgp.rtc$IAAt.rtc$IZZx.rtc$TAA|.rtc$TZZ .xdata$x<.idata$2ȫ.idata$3ܫ.idata$4 .idata$6 .data.data$r0.bss.gfids$x.gfids$y0.rsrc$010(.rsrc$02~@~@2@E@|@|v@@@1AAA$AA1AAAA,B,B-B^B^BB2C2C2C53CgCgCgC$kCxCxC?rClCYmClCmCfCCUCYCCfC̘C|CPCCCgC[CCSCC7C CC&C2CCC*+D,D/DM1D8DCODODNDQDESDdDbD`DDyDDгD0DκDD׵DDDDQDDTDDDfD DDD"DE/E/ES:E9EE1E1EyhEhEڮ(4X0BTʳ4ܫn(Lδ`P<*Գ~rbN:N`pΰܰ ,:L^r0|$̺z`F:. Թȹt`LگįfXJ4$ 4@ش&B\r̵޵&2JbzʶԶ .>L\~Ʒз .@PbrҸ|α.ز̲~lXB0 ڱPropertySheetACreatePropertySheetPageACOMCTL32.dll SetLastErrorSetFileTime lstrlenAUnmapViewOfFilePGetLastError0GetFileAttributesACreateFileACloseHandleCreateFileMappingACreateDirectoryADosDateTimeToFileTimeMapViewOfFilePReadFilebGetModuleFileNameASetPriorityClass GetCurrentProcessGetStdHandleLoadLibraryExAcGetModuleFileNameW5SetThreadPrioritySetFilePointerResumeThreaddGetModuleHandleAMultiByteToWideCharGetTempPathA GetCurrentThreadLoadLibraryADeleteFileA"SetStdHandleGetProcAddressLocalFree;GetFileSizeRemoveDirectoryAFreeLibraryCreateProcessAFormatMessageAGetTempFileNameAGetPrivateProfileIntAGetPrivateProfileStringAKERNEL32.dllEndPaintBeginPaintReleaseDCWUpdateWindowzGetParentkPeekMessageA<GetDlgItemSetCursorSendMessageASetDlgItemTextASendDlgItemMessageA?TranslateMessagepCreateWindowExADefWindowProcARegisterClassASMoveWindowFMessageBoxA ShowWindowzwsprintfAGetSystemMetricsoPostMessageA4GetDCLoadCursorABGetFocusGetWindowRectDispatchMessageAUSER32.dllVCreateSolidBrushDeleteObjectSetBkModeTextOutASetTextColor7CreateDIBitmapSelectObject=CreateFontAGDI32.dllrRegEnumKeyExAkRegDeleteValueARegOpenKeyExARegSetValueExARegQueryValueA\RegCreateKeyExARegQueryValueExAaRegDeleteKeyATRegCloseKeyADVAPI32.dll3ShellExecuteASHELL32.dllOCoInitializeCoUninitializeCoCreateInstanceole32.dllUnhandledExceptionFilterCSetUnhandledExceptionFilteraTerminateProcessmIsProcessorFeaturePresent-QueryPerformanceCounter GetCurrentProcessIdGetCurrentThreadIdGetSystemTimeAsFileTimeKInitializeSListHeadgIsDebuggerPresentGetStartupInfoWgGetModuleHandleWWInterlockedPushEntrySListTInterlockedFlushSListRtlUnwind%EnterCriticalSectionLeaveCriticalSectionDeleteCriticalSectionHInitializeCriticalSectionAndSpinCountsTlsAllocuTlsGetValuevTlsSetValuetTlsFreeLoadLibraryExWWideCharToMultiByteGetCommandLineAGetCommandLineWCreateFileWGetDriveTypeW>GetFileTypePeekNamedPipe^SystemTimeToTzSpecificLocalTime]FileTimeToSystemTimeWriteFileQExitProcessfGetModuleHandleExWGetACPGetConsoleModeNReadConsoleW3HeapFree/HeapAllocGetDateFormatWGetTimeFormatWCompareStringWLCMapStringWTGetLocaleInfoWtIsValidLocaleGetUserDefaultLCIDGEnumSystemLocalesWSetEnvironmentVariableASetEnvironmentVariableW6HeapReAllocGetConsoleCPGetStringTypeWGetTimeZoneInformationSetCurrentDirectoryWGetCurrentDirectoryWIGetFullPathNameWFGetFullPathNameAOutputDebugStringAOutputDebugStringWWaitForSingleObjectExCreateThreadhFindClosemFindFirstFileExAnFindFirstFileExW}FindNextFileAFindNextFileWrIsValidCodePageGetOEMCPGetCPInfo'GetEnvironmentStringsWFreeEnvironmentStringsWGetProcessHeapSetConsoleCtrlHandler2GetFileAttributesExWSetEndOfFileSetFilePointerExFlushFileBuffersWriteConsoleW8HeapSizeGetTempPathW!EncodePointerDecodePointer@RaiseExceptionDN@     F FFFFFFF@FFF@FFCFFPSTPDTFPF`y!@~ڣ @ڣ AϢ[@~QQ^ _j21~ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZF..FFFFFFFFFFFFFFFFFFFuZF([FZF([F[FZF [F[F [FZF[F \F\F(\FH\F`\Fx\F\F\F\FSoftware\Microsoft\Windows\CurrentVersion\UninstallSoftware\Microsoft\Windows\CurrentVersion\Uninstallt^F@^Fc@^FL@^F@^F*@^F@ZFZFZFZF[FZF [F[F [FZFDZF.?AVDNameNode@@DZF.?AVcharNode@@DZF.?AVpcharNode@@DZF.?AVpDNameNode@@DZF.?AVDNameStatusNode@@DZF.?AVpairNode@@DZF.?AVtype_info@@bb{4ll8>; ~**tsIF3L XllWmomWmomq jT%@+&UBC Er4 Yhgflkjponutsyxw 8nhklmn 0 8Z@!(n, BBB999111)))cR[RABZRYRZRAB[R[RAB[RAAB[ && &&&@JQ1AA1ZQ1111ZQ1AAZ@JQ1AAZQ1AAJ eu eu @ABZ@J@G@F@F@G@AABX@J@AABX@J@J@AA1X@J@G@HRX@G@AAG@ZRX@AAG@JQJed%ed%ed@AA1ZQ1AA1X@J@HQ1AA1X@1A1ZQ1AA1ZQ1A1J  & & RAABZRABZR[R[RABZRYRBZRABZRBW@J@J &R[R[R[R[R[RABZR[R[R[ & & & & & & &@J@J@J@J@HQ1AA1X@J@J@J@J@J@J@G@J@G@JQJ@ABZQ11Z@J@AAG@J@G@GQ1J@AA1ZQ1YQ1[@J@AAG@J@G@1W@J&@I@G@J@J@J@J@G@J@G@Z@J@AA1X@J@HRABX@J@HQ1AA1X@J@J  &  %& & & &RAABZR[RZRAAABZR[R[RABZR[R[@H{SetupMS Sans SerifP} This Wizard will install %s on your computer. Click Next to continue or Cancel to exit the Setup Wizard.P}PhnP}@H{SetupMS Sans SerifP} Select python installation to use:PP}7Python Directory:P}jPhnPP}BInstallation Directory:@B2Find other ...@H{SetupMS Sans SerifP} Click Next to begin the installation. If you want to review or change any of your installation settings, click Back. Click Cancel to exit the Wizard.P}msctls_progress32Progress1P}Installation progress:Phn@H{SetupMS Sans SerifP} Click the Finish button to exit the Setup wizard.PhnP}(@D0U0c000001B1W1111111111:2^2r222222333x4|555L7f7m7t7}7777777 88=8D8g8n888888#9G9R9Z9d9o9z99999:::3:<:R:X:m:x:::::::::::::::;";(;3;B;T;c;i;o;;;;;;<$<>>/>6><>B>N>T>d>q>|>>>>>>>>>*?f?????????? 0+03090C0H0k0s0{00000000000111111'2222"3)3P3b33333333333#4]4g44444445B5j5555555!6C6Y6{66666 77-7>7L7e7r7y77777788.8>8D8[8h8w8888888888889:9O9x99999999-:7:F:Z:{::::::::::;;$;+;6;];i;;;;;;;;;;;<<<7<>6>L>W>>>>>>?%?D?p???????0000$0.080>0E0[00001(1-161A1H1^1c1u1111111111111222,232G2U2Z2k2w22222222222333P333333444)40464<4N4a4f4p4u44444 5(52575=5H5N5Y5e5j5o5555555556 686D6N6f6r6w6}66666666667"7-7M7R7X777778M8Z8p8888888899!91979D9W9\9p99999999:#:0:8:E:P:m:s:|:::::: ;;);9;?;G;h;m;;;;;; <1<6 >>>#>4>?>K>S>Z>w>>>>>>>>>>>?,?2?@?G?L?Z?f?q?v???????????????????@000 000!0&0/040<0A0R0Y0`00000000001111#1|1111111K2^2h2z22222&3,373>3E3Q3a3h3o3x33334 44'4.454>4w4444+5?5c5j5q5556676!757?7D7\7e7778%8+8F888889@9}9999999: :3:>:D:K:U:_:d:::::::>=>w>~>>>>>>>>>>??"?.?8?R?Y?e?o?????????P0000R0Y0e0o0001!1-171Q1X1d1n11111111111 22-242@2M2j2q2}222222223 3/33I8X8d899::<>>>0?H?\?o?001W1j1}1111111122l2y2222222,3G3S3b3k3x333333.474=4n4585B5S5y5555&6/646Z6_6666667$7777888P8Y8f8q8z888889;;;>>m???4P011(2s22222393G3M3h333333334464[4b4k4y4444444444p5u5z5555555555555555 666&6+606@6E6J6666667*7F7U7a7o7777778 88H8M8R8888888999?9H9M9R9v99999999999:3:;:@:P:Z:::::::::::h; <$>0>6>>>E>N>W>\>d>j>>>>>>0??t0000011+1G1N1a1n1111111d3s3344T5b555667777C9v99/:P:o::f;;;3}>???00T112D2W22222222333*3e3333333474b4}444444 5O5t5y55555555556P6k678'8`8y8888889999T99999999:.:Y:c:m:w:::::;$;1;;;; < <-u>>>1?7?a???f00001111123334404;44444445M5z55555e6y66666 7778-8:8}888889"9)909|99999999: :-:s:w:{:::::::: ;K;b;;;;;<<<<"0>G>Q>x>??0'0Z01!2?2b2q22222333+4h4444 5-5D55555556`777777788'8J8Z8j88888,9H9M9a9999::M:`:j:|::::::: ;;>;O;~;;;<==(=F={=====C>[>d>z>>>7?f???0U0p000 1/1E11132J2w22223334444444 5a5555566k6p6666667'7G7g777778!8:8S8]8t8T9Y9y99:::=;T;u;;;;;;;;;;<@<<<<<<=!=8=]=====>Y>q>>??070G0000000000000041f1r1112 2f2q222222 33K3W3h3333333!4Q4c44444#5,686C6O6V6[6a6f6l6q6v6|666666\7777777788$8*808Y88A9M9999 :M:Y:_:::v<7=????????h00=0R0h0u00000 11S2222D3t3}334+4O4z467D77778N89 :*:J:n:z:a;j;r;>>>>?'?`? P222C333Q9:R<>?  Q1`D=12 334599:$:D:V:v::::::;);K;`;;;;;;<$<6<p2222222222227g8k8o8s8w8{888#999999999V:::::::::r;< <<<<<<#<>>>>>>>?????????dl011111#1'1+11/23272;2?2C2G2K22_3c3g3k3o3s3w3{3444444444S5555555553s57<:<?L3333333443474;4?4C4G4K4O4S4W4[4_4)55 6n66P77/888t99$<V>>>+?E???080001 11112455 61676=6C6I6O6U6[6a6g6m6s67,88z9!:: @5755666J7}77`88::::::::::: ;=;O;<=00 1=1P1P@8<.>/>S>>`=24]55S66I77?8 >>F>N>>>??????lS0\0001#1-252H3Q3t4}4555556=6F6{66666617:7p7D8H8L8P8T8X8\8`8d8h88H9L9P9T9X9\9`9d9h9l97Y899::D=,01c1h1m111179:=:D:|=? ?B?I? 255559::;;> c>?l<444448<=== ===== =$=3=t=x=|===============>>> >>\>`>d>h>l>p>t>x>|>> (555555555555>?c??0D002T222\4r4!575556678R8"9[99~:: ;;>?@P 040R0c11113c33345J5n55556&6n688I99W:C;V;<<< =f>t>>PQ122222I3x3333333334 44*4Y4|44444455-595A5Y5~55555a6j6666 777777778%;6;< <<<<<<<< ===8=>=H=g=n======`001K1h1182P2x2222223 3333333333333344&4f4o44444,555y55556%606F6Y6l66666 7717G7^7e7q77777788.8@88888888$9_9j9|99993:@::::e;;;;X<<< =pXI00000000112 22)2t22!3A44445/7V888:;;;;<6<?52m222333333333 4'4x45/555H6S666 777k8888 999+9M9`999999999999:>:C:c:h::;!;0;M;o;(=D>>>>? ?? ????????001#1S111#2a2y7Y88 999p::<;7<>b01P4[4n4x44445{5555676]677778`89;9^9k9v99:9:D:O::::!;4;j;v;;>?)?X?o??????|90U000*1192x2222!3^3h3333333333 44=4C4U444p55566999/:;';4;g;s;{;;;;;d:0e0001t2222v336666677C7J7P7W7i7n7777,8G8L8R8X8j8p8888888888888889999+90959E9J9O9_9d9i9y9~999999999999999:::::/:4:9:I:N:S:c:h:m:}::::::::::::::::; ;;;#;3;8;=;M;R;W;g;l;q;;;;;;;;;;;;;;;;4<<U>r>}>>>>>>>>??4???D?I?d?n???????????D0090D0I0N0{0000000 1111C1O1m1x1}1111111122-282=2B2l22222222333373[3f3k3p333333334 4+40454Y444444455"5'5E5n55555"6F6Q6V6[6v6666666666787C7H7M7h777777778848?8L8b8m8r8w88888899&9+909R9`9o99999999: :%:3:n;;;F<=O==== >>T>w>>>?X1568888888899v999999::":*::E;;;;;'<5<=r>.????4 0501"1224|44566666666$8O::;<<=>> L36777.757M7T7r7|999-::; <<<=<^<<<<<<6=H=N=>A>>?0|[000001111111,222373B3R334454?4^4|445=5[556+6G666/7K7~777<8889999<<==B>>>>>>@+070F0Q0U0]0c0i0o0000g11224-466666667 777*727D7O7W7_7g7p7y777778W8b8889%9I9R9w9|9999999999:: ;;<<<<<<<<<<="=G=O======|>>>>>??PX 00N1U1|1202V223364D444 66A7q7{777/8,96999F:T:::; ;<==!>+>>>`0!0a0p0~0000001:1A1111111192F2u22223 3[3o3333G4R4^444)5366"8)8888z::::::;S;e;;;;;;)=;= ?p|$222[333n44 585w5555 7`7f7-8@89::::::: ;;$;W;^;e;l;;;;;;;>>>>>??G?\?j?s???T070m001F1m115556:6`66666=8=9;;;4c>J??P023 444566v77C8L8o888\9e999K: ;R>>P?X???0[0j0001111111!2L2n22222222;3M3i33333344=4O4W4u4444595A5W5u555555)60676>6|666 77877|88888 9@999999H:R:X:b:r::=247H881c133 5`59{99:;$;;;

l>>>?N?k??T090Y00Q111111$2J2z2223C3l333v55C6 7+7777778889,9j9f;U?? /0)1}2::S:Z:=y>>>>1X66>>>>0223;3B3G69999h;p;= =}>w???? L3344536'71777E8a888889^9;<>>>>>:?Y?r?}???0D0f0x000T14 5"515D5\5k5586~68)9:{:::::`<==>2>>@"0b0000$1H1S1`1r111W2l2u2~222222 3@3i333334 44474?4444444@5j5r555556617h77777y889 :&:6:J:S::;;;;;;L0>h>t>y>>>{??P070000J233344444A8g9x9==>`0r2y233555555555555555566 6666$6*60666<6B6H6N6T6Z6`6f6l6r6x6~666666666666666666666677777 7&7,72787>7D7J7P7V7\7b7h7n7t7z77777777 8+8?8E899<>?%?3?p(011$1(1,101111111<4:H<<<<== ======"=&=*=.=2=6=:=>=B=F=J=N=R=V=Z=^=b=f=j=n= 2l444444444444444444444444444455 55T5g555A7x7777777+8084888<8 2222222233 33@3D3H3L3P3T34444444444444444555 55555 5$5(5,5054585<5@5D5H5L5P5T5X5\5`5d5h5l5p5t5x5|555555555555555555555555555555555666 66666 6$6(6,6064686<6@6D6H6L68 00000 0$0(0,0004080<0@0D0H0L0P0T0X0\0`0d0h02 22P2X2\2`2d2h2l2p2t2x2|22222223333333333333444 444$4(4,4044444444444444444555 5550 00000 0$0(0,0004080<0@0D0H0L0P0T0X0\0`0d0h0l0p0t0x0|0000000000000000000000000000000111 11111 1$1(1,1014181<1@1D1H1L1P1T1X1\1`1d1h1: ::::: :$:(:,:0:4:8:<:@:D:H:L:P:T:X:\:`:d:h:l:p:t:x:|:::::::::::::::===> 777777778 88$808<8H8T8`8l8x88888888888899 9,989D9P9\9h9t999999999999:::(:4:@:L:X:d:p:|:::::::::::;;;(;4;@;L;X;d;p;|;;;;;;;;< <<<$<,<4<< >>>$>,>4><>D>L>T>\>d>l>t>|>>>>>>>>>>>>>>>>>? ???$?,?4?>>> >(>0>8>@>H>P>X>`>h>p>x>>>>>>>>>>>>>>>>>???? ?(?0?8?@?H?P?X?`?h?p?x?????????????????@0000 0(00080@0H0P0X0`0h0p0x000000000000000001111 1(10181@1H1P1X1`1h1p1x111111111111111112222 2(20282@2H2P2X2`2h2p2x222222222222222223333 3(30383@3H3P3X3`3h3p3x333333333333333334444 4(4>>>>PH88888889 999$9,949<9D9L9T9\9d9l9t9|9999999@:D:` <<<<=== ====x99: :$:4:8:@:X:h:l:|::::::::::::;;;;;$;<;L;P;`;d;h;p;;;;;;;;;;;;;<toj\VgYYt_ST1BE u&jSX1Bu9Et SWjU SjUYYE uh\1B}t SWjU \Fu_[3@^]U SVW=81B39uuEVhuVVSu ׉E<1Buu uu  uPt P\1B/9u u jU YYt.VhjVVSu ׉Eu%9u u h@3Bu jU YY9u t u jU YYEPuu@1B}EPPPWD1B9uu WH1B\VuVjVWL1BW=H1B׃u9u t8u h(3B&VVVjSP1BSE׋E;u9u tu h3BjU 3_^[U8}S]VWj8EjP,jE EȋE@E̋Ej8h3BE؍Ej3P]FF}t t*Ph|3BEjPHYY;tt Phh3Bj׃ 3EP7[Yt,t PhP3Bj׃ 339uuuu S!f FS41B_^[U@B3ʼnEEMEW}L8+A Q+ƒ9PKt33SVf;Q |3@^[M3_jËs*;PK>PKS. K SFC*NȋύDM +AuP@u+I<\t"OGGu3BfP,1BGP@u+PQ ȃ8uFPP$h 6P@u+€<\tVC PCPsPjt(NssQPt$@P@ Pj@ 94ȋx@uN+NjAu+΍OOGuʃ󤋍ȉI+ȍp@u+Ɗ<\tj@9BY3tu%u %YCtu h,9BPf M3_3@^XUQQVW3VhjVjhu81Bu3NSEPW0BVVVjVWL1BW=H1BE׃}u3VVVjuP1Bu׋E [_^U=Ct@=Cu7Vu|2BCP jHQRjQVL0BVuC2B^]UB3ʼnEEL+AV+A W} "43҉9PK>{V4tR9BY;N;t +V+щC+F+F+~h^YPhp0Bjh9BPl0Btn3PPPvPjt]vWPh p@u+ƍD8PfY41B3@<1BPx9BY3M_3^VUV5p2BW3EPt2BEPx2BjWWWEPօu_^UPB3ʼnE} EEtuuu P`2BSVWMQPd2BjEh2Bj Yh9B3SSSSSSSjhSSSP40BPu80BjuE<0BCƍx@:u+Nj=@0BPVjjuhuD0BƍH@:u+PVj j uuu80BPH0BEPul2B_^3[M3uUU0iB3ʼnEESVW=t0B3VDžDž'@hVL2BhP0B:BPP2BfuVh:Bh9B5 C,2Bh9BP$2B VV׋=h2BPVVjPjPVVVPSVT2BjVX2BV\2BM_^3[UTUB3ʼnESVEPWD2B5h2Bjj֋UȋE++EjRU+UR+PE+EÙ+PWH2BM^3[SUgB3ʼnE} NS]} S=CYtPjhrhS82BVWS<2B+h`Ch(:BP$2B52B PhSh ChSh`ChS_^#Ex8ujjhpS<2BP@2BM33[SUB3ʼnEESQh3SE h:BP0Bt3~SSSSPEPSDžP0BAVW=2BuDžP;t48t0E:u:tN:Hu:u3;5$2BEP\h:BP֍EP h:BPփPhS P0Burh XYDž;tKPVSSS0Bu0\PSh׋VPh0BSSSSPEP0B_^0B3@M3["QUQVEPjjhdBh0Bu u0B3^UBV;t?=uu/5B'jh,;Bh;Bu,2BƣB^]U}~4B]u } 4B}B]UdB3ʼnEE NS]VWZ-=82Bt)HEf;sHdCtPjhrhS׻0CShV42BP ShV42BP jjhV׉ttjHPhV׀=0Ct.Sh;BP$2B Ph2Bu@=0CtSh;BP$2B l;Bjh\;BP,2B<2BjjhpP@2BjjhV׉uSjjhpP@2B=2B5BVhVhנ5BCCjjhpP@2BjhV׋ BC+Њ@uQh2BjhV@PTYtZShVhHCh(ChD;BSxbu5HC5(Ch4;BhC$2BSTY 5BC5HC5(C3ɊC AuqAu+΀ \tOOGu3Bf@Њ@u+OOGuȍPh2B@Ex8u43VVhhS82BujjVhpS<2BP@2BM_^33[LU(B3ʼnEEBDž=B=t Dž=BSVW=0B3SQSjSSSHBVP;t5ujSh=B(2BP,2B3Sht=BV(2BP,2B`CVh`=BPth\=BP^tCPNPlNP`NPh,=BhP#sP5CYhCh =B5CXHh =B5CX5HC5(CVh=BPt PPShSSSPׅtShBhPnpP5C_VC$tPc^YM3HU B3ʼnE} NVuW} u} =$C=@CS2Bh>BhVDž>B3C@uOGGu>B@CfЊ@u+OOGuȡCtQhCh>BPDUhjL2B502BP։PjP tPh>BV@PT thh@>BhMY[FC3;tPWhrhV82B9=$CuPhV2BWWhV@2B3@%Ex8ujjhpV<2BP@2B3M_3^Fh5B 1Bu3h ?BP$1BBtUXB3ʼnE=0Cu3Ah0CEh:BP$2B EPhjEPh0Buu0B3@M3EUB3ʼnEhPDžhx0Bt3@lw u9ps3M3EUB3ʼnEjjh5BhCht?Bj2B ,P|h8?BP$2B jh0?B|Pj,2BM33EUEE :utP:Quu3]]U`B3ʼnESVWhP3W0BPh?BPmh?BP6mh?BS1RP?BVSRPh|?BS RPVSQ@S ZjD^VWPB3fPPh3BWVWWWPWDž0BtO50Bjj0BPh0BP0B5H1B|0B֋M_^3[CUQQSWuj[PE=3ۃ ;VGj]W=YY;Fj V|=YY;tEPhSW5B0BtSht=Bu(2BP,2B2Vu0B;ttSh?Bu(2BP,2Bu0BupIY^_[UQQSWuJj[PE<3ۃ ;VGj]W<YY;Fj=V<YY;tpEPhSW5B0BtSht=Bu(2BP,2B2Vu 0B;ttSh?Bu(2BP,2Bu0BuHY^_[UVj:u.<YYtFPoYuV1B^]UVj:u;YYtFPPoYuV0B^]Uj[u;YYuV@j]P;YYSFB΋Ê:utP:Quu3tweeWEPjV}E,@Bu th@BVP@PNYY}t?tjh?BW(2BP,2BW}GYӋ+_ @u3@[^U(TB3ʼnEE 3Ƀ}Sj [tQQhHBBQ,2B3@1VpWjDBBY3t3PPh0BB)h,BBph3YY;u VVhBBVj(3GY;uVhhPt P@u+‹ND7PYmYuPƄ55Y9| PQsYYhPQt f3U$8@jpj$hBBhABV,2BBDž5B9j[4Ί:u*tP:Qu˄u3jABYVPPhABV5S;uMj=BY3uBM2@jPh@AB(2BP,2B3@PPh,ABVR;uVYPPhABVR;uVYtSPPhABVXR;tʍPPh@BV8R;uVj<1B;tat\TPPh@BVQ;uVR+PPh@BVQ;u HY9v1Bt<1B~PYt#hp@BP$2BhH@BP$2Bj@h4@BPj,2B\3_^M3[J<UXB3ʼnEESV3BW3@A;u=82BPVhS5CVVhS5C׉5BE  c6hhBBP$2BPt6h`BBP$2BPj%jhS5C6h5C2BvmM_^3[;USV5$1Bh\8BWh8BWh,8BWEh88BWEhBBWEhBBWE395Bu3J;tC9ut>9ut99ut49ut/;t+39uh@CUuu3 U^[UQEPh`5Bu C uujh5BC UQEPh`5Bu C uujh5BC UNB3ʼnEE NVuW}-tS-t+HPuhhW82BVhW2BVjhhW82B3@eCtPjhrhW82Bh`ChpCBP$2B52B PhWh\CBhWv1t(8jjhpW<2BP@2B5<2BS3SShpW=C$CP@2BSShkWP2BCÍp@u+ƀC\t{GGu3BfÍP@u+WCgSYY85HC5(C52BCt8th33HUBFMuҋ#Ƌ#_^[3tt3uUSVW}j +[ 7UKu_^[]UB3ʼnE} V33ADž| @|@ ||PP|rYY|P^E Yt΍5} t-P|1E Yt΍|} u3EM3^)UuMu YY]UuMu YY]UU u3]uE}Y]U@EHPSKLMԋ+M VpWx OωMč:MЋN(M܋N,MN0MN4M؋N8MN)MMMAGMu+MM#+MM;Ms)MMAGMu֋MUvTBj3YM@QmWQWHuE$+ʊQmWQW}w}tQG}vIG;]s7;},@|eB@deB t @HeBM +)M 3AыM KOH M+˃HMJUU#U+ρHE _V8F<^[UM3;t\A;tUV3PQQQFq00PP @P P(P,P0P8P u H 8^8MH@}~E@PoB,$ } u2   σ+} EME r܋ˋ%;tE@0oB} 33} F@ F@EE9EvEE9EvE} uuu E)EE)EE )F@ }T EMEr܋ÃF`Ã@FdÃ~`F\w~dw fhQE@ oB}EMEr܋Nh M nBÃfDNpFhFh;F\rFhE nB3fLFpFh~hr卆0NlFLRFTPQjFpPj E܅tE@nBfh}EMENT3@NLH#ËɉE;wfsK"}MME;r̋Fh+fMfLFpFhf}uW}|MMEH;rڋ+FhDFnEÃf}uZ}EMEB;rڋjÃ7}EMEB;rڋjà eY+VdNhV`;w6tNhfUfTNpFhHuFdF`9FhsE@nBE@nB>fpuE@nB0NlFLRFTPQv` FpPjf E܅tE@nBNlFPRFXPQvdF`DFpPj! E܅tE@xnBX} }ri}r`EMuH MHMMHP^8~<]> E^8~}'EM;AtE}t jm}E+G]+_G_^~Et,t(G S+Ã~PvtW2FG0Eԃ  u Eet t3V҃@UVb@b@b@ c@c@e@f@f@h@h@ j@Uj@j@k@k@Ol@Xl@l@UVut0Ft)N$t"@4tPv(YYvv(V$fYY3jX^]USVW}3;tw;t ] 9Ft > t jX_^[]Ã> uPPPuSP;Ftj׋Gt jF(};v+PSv4Z F(F,N4W+SQC ~, F 3UEt@t@tM H a03]jX]U39E v?SWs6Uځ;uAt3jZ+ы@;E r_[]US]3VW;{;9Su <sjjX9tGG<ȃg8+G<rO8G8DBO8w<sREwh&P5YYswh3&)CC>CYYEtjsSvECsY 3jX_^[]UEt@t8 u x<u3@]3]jX]UQQSVW39}u ;^;F ;9~$hjv(Ѓ E;uj}9{4t(K$3@jPv(V E;u uv(V$YYɋ}jYhuSV%CL0 0;r/;w%++0FLCP++0FPCl}++0FltK$3@Ps4W E~4p3jX_^[UEt@tǀjjX]UEt2@t+uH@u +H@3ɋ]ø]UB3ʼnEE UEESE3VuWj Y}3ɉt9MvEHDEfA;Mrj[3E]Gf|]uK];s;v]uE@E:SljE;vf|Eu@E;r9EsE׋DM+Av~ }tu;uq3jfEYfD fD ܃fD r}39Uv(EPf8tLMfOLMfB;Ur؋MtAItMEpBEpB7pB+щUPpB+щUE }}EMEM>3B3ۃ}]J|]UUxuTs}uPr3@MM*MMM;M} EfU&~M UɊUUf E`3fM3ҋ+MBMMMM] )U+˃}]u3ҍHBMut Z#3ۃEfLE܉]u;EEMA|U;,x#ˉM;M}uUM<ȋE3+B;Es)EDEE+Ӆ~AEEE;Er3@UU9Eu }T}u }PE] UT+EfT|k*ME@M3fMK}tx#;Mt Ee>EMM 3ҍHBut J#3ۅuEMt3M_^3[Sø3BjUXUEqB+ȋ]UE EP Y]Uu Y]%,0B%(0B%\1B%X1B%T1B%P1B%L1B%H1B%D1B%@1B%<1B%81B%41B%,1B%(1B%$1B% 1B%1B%1B%1B%0B%X0B%\0B%`0B%d0B%h0B%l0B%p0B%t0B%x0B%|0B%0B%0B%0B%0B%0B%0B%0B%0B%0B%0B%,2B%(2B%$2B%2B%2B%2B%|2B%x2B%t2B%p2B%l2B%h2B%d2B%`2B%\2B%X2B%T2B%P2B%L2B%H2B%D2B%@2B%<2B%82B%42B%02B%L0B%H0B%D0B%@0B%<0B%80B%40B%P0B% 0B%0B%0B%0B%0B%0B%0B%0B% 0B%2B%2B%2B%2B̍B[Í$d$3D$ST$t :tτtQu WV ؋ ~333ƃu%t%uu^_[3ËB:t6t:t't:tt:tt^_B[ÍB^_[ÍB^_[ÍB^_[UWVu M};v;r=CtWV;^_u Aur)$`z@Ǻr $ty@$pz@$y@y@y@y@#ъFGFGr$`z@I#ъFGr$`z@#ъr$`z@IWz@Dz@Wr1كt +шuʃtt uD$_ËD$̋L$ W|$VStt9u~Ѓ3ƒtGt!tt uσ t$u u\"t=t)uu8˃ttu[^D$_ÈD$[^_ÉtȺ~Ѓ3‹t܄t΄t*tuĉD$[^_f3ҋD$W[^_fD$[^_; Bu=U}tuuuuu ;@]ËUVuW3}}};u|Lj^0z@TSj$hV] ;uQLj^0O@(C ;|;r|o@v"Lj^0[_^vGEPJYEPJYEPJYK;|jv`E+EPV}MGYYu9E;VGY,E)EEPUVGYYYF SVGYY<9Et,V8GYt!EEF ȋU+]Eڙ+jjYttȃ CBA$u)ttCB@$t>2M9]u#W|EPSu W~EWV}E EpuYËUEPuu u訋]ËUEPuu u謋]ËUEPju u葋]ËUEPuu u蕋]ËUEPju uz]øBá -CVj^u;}ƣ -CjPpkYYCujV5 -CWkYYCujX^3ҹBC  B|j^3ҹBWCt;tu1 BB|_3^词=Bt(5CYËUVuB;r"Bw+QnN Y V1B^]ËUE}PcnE H Y]ËE P1B]ËUEB;r=Bw` +P)mY]à P1B]ËUME }` QlY]à P1B]QL$+ȃ YQL$+ȃ YU SW3j3Y}]9]u;/uM Vu;t;uo;l/PE;wMEPSuEPEBuu{;tMxE EPSYY^_[ËUEPuuu uk]̋L$ WVSًt$|$u 't+t/uuatt7uD$[^_tuutu[^D$_Ét~Ѓ3‹t܄t,tt uĉ3҉3t 3uwD$[^_UW}3كE 8t3_ËU eWj3Y}9Eud9a-xM Vutu@9=-SE;wMuEuEBuuPu\ytMxE EPj賉YY^_ËUujuu u<]QL$+#ȋ%;r Y$-U eWjY3}_uf8c,9E tV9gYEIuuM;wEuEuu PUËUVuEPju hAv^]ËUVuEPuu hAS^]ËUVuEPju h.A1^]ËUVuEPuu h.A^]ËUVuWuy7v+ DF t8VJV蹭V貃PyFt PfYf _^]j hBDiM3uu6* F @t f EPiV YeV +}O;]rOt V܄Yu}}t 3ҋu+WuV2YPZ ta;wM+;rP})EVPpYYt)EFKEEAEN +3u N Ej hByg39u t!9ut39u;u.5+)3guHYuuuu uPEEEuYËUEtM ]ËUEt8uPaY]ËUSVWuM3E苸]utec4EZcE}YYM\rՍCPbYutdeE:4EF+ƍDPVCa uTVcE:tEF+ƍDPVau*VbE}Yr}_^[tE`pE3PPPPP\'jYËUSVWuM3E䋸w8uE v0nb6EdbuYYMÃM\uuՍCP aYutbehE:wF+ƍDPVH` uRV bE:7F+ƍDPV#`u-VaE} Yr}_^[tE`pE3PPPPPc&j YËU$SVWuM3E܋}]t{a4EpaE}YYM|rՍF8EE ]s0Da3E:aEYYMM|uaaǍ|`|`|`ePE_؃hdVSdeF] )uEESvj [0A~wII@;r[ËUQSV3҉U9Ut597vj [0F ~w7NN@;r.;1s(NVtj [0ENuE)^[ËUQSVu WًY{Iv mtjtEHt"tFYPv@ 7UThv UT% vƙj Y…uQXQMjY+twHHt,HHt HiF;tHF;ȋFr=mg;}3j^;x@rA;8ZF(;F==jdYujkdtmZ%HHtUHt*vmuFjv ujZ>Yc}uSWVt#u@FPuEuMPUtBF9]w9]vE+}8]tTMapKME9]u 9]w%"9]vEy%v8]tE`p3^_[ËUujuuu uY]ËUjjuuu u:]ËUjuuuu u]j h0BW3ۉ]3};;u$3y3u ;;t38;t螩E;u $ʉ]8u $jEPhB裪 PuVWEE EVuYËUj@u u2 ]ËUVuu$j^0$huu t3#^]ËU SW3j3Y}]9] u#ME;tVEEEPSu EPEEBcMxE EPS9tYY^_[ËUEPuu uǪ]ËUEPjuu u2]ËUEPuuu u]ËUEPjuuu u膭]ËUEPuuuu ud]ËUEPjuu u{]ËUEPuuu u\]ËUE PuYY]ËUE PuYY]ËUEPu uݪ ]ËUEPu u ]ËUu MyE~EPhu5 MH%}tMapËU=BuE BA%]ju~YY]ËUu ME~EPjuB5 MH}tMapËU=BuE BA]juYY]ËUu MtE~EPju4 MH}tMapËU=BuE BA]juYY]ËUu ME~EPjuD4 MH}tMapËU=BuE BA]juYY]ËUu MvE~EPhu3 MH%}tMapËU=BuE BA%]ju~YY]ËUu ME~EPju?3 MH}tMapËU=BuE BA]juYY]ËUu MqE~EPju2 MH}tMapËU=BuE BA]juYY]ËUu ME~EPhu>2 MH%}tMapËU=BuE BA%]ju~YY]ËUu MlE~EPhWu1 MH%W}tMapËU=BuE BA%W]ju~YY]ËUu ME~EPhu21 MH%}tMapËU=BuE BA%]ju~YY]ËUu M`E~EPj u0 MH }tMapËU=BuE BA ]juYY]ËU}]ËUE]ËUu u9YYu}_t]3@]ËUuoYu}_t]3@]ËUu u~YYu}_t]3@]ËUEPYu}_t]3@]̋V;tt+S@Nu[^̋UQUW;vlM  SEVIu;w"$SVU~u ;vM U;t!t+I@NuM U+;w^[_]̋UVu W}ut_^]S]t}u[_^]ÃrNE}u+3@wEPSW SWU~,U;t#+JUU U U@uVWU~,M;t#+$U U @Iu}VSU~*M;t!+U U @Iu}I;v};sSWU~;wI};}w SWU~+u;v SVU;w2Ut#+JUU U U@u;uu;s+u;vSVUt;rI+uE;vSVUtEUʋ++;|+;sM􉄍xAM;s9u]}=;sM􉼍xAM;s}]u]EHExUEU}u u Y]Vu u u(Y3MW0uFVuj5B1Bu^9Ct@V>YtvV>Y( 3_^]<1BPY<1BPYjhPB J]]3;u9M t 339M ;t3u;;t9M tډuVYeF @uoVcYttȃ CBA$u)ttCB@$t! e}t:M t2Nx AVYEu ;ue G}< uE E1IËuV\YËUQeS]u3VrustnM EtR:QuMPt<:Qu7Pt&:Qu!Pt:Qu E9ur.@IF@I<@I2@I(M Eu t:u @FA;r3^[ +Uh8B1Bth(BP$1Btu]ËUuYu1BjGYjFYËV6$V;VVҪV!V(V^ËUV tЃ;ur^]ËUVu3utу;u r^]ËUMu jX]áBt3]ËUMujX]áBt3]ËU=CthCOYt uCY胫h2Bh2BAYYuTVWhaA2B2BY;stЃ;r= C_^th CYt jjj C3]j hpBTFjFYe3@9BBEB} 5C51B֋؉]Ѕth5C֋}ԉ]܉}؃};rK\"9t;r>7֋I"5C֋5C9]u9Et]܉]ЉE؋}ԋ]E2B}2BsEtЃEE2B}2BsEtЃEE }u)BjDYu@}tjCYfEËUjju ]ËUjju ]jjj jjjz ËU8u7Yh̋U=Bu8u6hYY]øMZf9@t3á<@@PEu f9@uރt@v39@jXhB-uEFV,YiE<+t<0|<9F3ۋuj9YÀ>:u8FVYk<E<9F<0}>:uFVקYE<9F<0}9]t]E;tjVj@wt Gu-0u0:ËU e} SVW}%yH@Eu jd[ult B \BE +_jd_FjEÙU}[+ЉUGEim%Ek+E;Ut}}u jd[ult E B E `B;~D?%yH@u jd[ult 4B4\Buk<M k<M$iM(}u5B B=B_^[ÍEP5$B (BYuDEi(By(B\& $B\&9(B| )(B$B= B3PPPPP̋U VE3PuY9uXWS3C;Bu ; B95BB BPBPBPf95BuBVPBPRS BPVVRVBScRB LB$PPBPNBPf95DBuHBVPJBPwSJBPVVwVFBV$TjXjYE ]k}jXE EVVVVVQRSSjYEVVVVVuwSVjYH B$BW;};|";;~;}[^;|;;~;}3Gk<Gk<i;u 3;B 3;(BVVVVV8jhB6395Bu*jm6Yu95Bu BE6jL5YjhBn6j(6YeE6j5Yj hB66j5Ye}EE EP6j4YËUeVuuj^0 j$hVE tӋ@ME|@Ws sj^0뼃| &AwSWjh3PQ+HF+yjd}M؋Ǚ_jh+؋EDAڙRP+jQSRP}U}M|sGEǀ3UȁEyIAu jdYuEluAU2EȁyIAu jdYuEluEEjSuFW%jFhRP3U}`BuBF3A9B} A9|QIN+jF E Sp0jY3ShuWVjFhRP轪SUj_^ 3[^ËUVtuVYY#^]ËUEub_jX]Ë 4B3]ËUEu52jX]Ë 8B3]ËUEujX]Ë 0B3]ËUS] Vt4}v4tW}t Et1t,j^0K}tj^034B6q/@Yu3;Evj"X6uS~- _^[]ø4Bø8Bø0BøBËUE3;BtA-rHwj X]ËB]DjY;#]u0BÃu4Bà ËUVMQY0^]ËUuj X]M3]ËUVuu jX z3^]ËU|uj X]lM3]ËUVuu FjX G3^]WVS3D$ }GT$ڃD$T$D$ }GT$ڃD$T$ uL$D$3؋D$A؋L$T$D$ ud$ȋD$r;T$wr;D$vN3ҋOu؃[^_SW3D$ }GT$ ڃD$T$ D$ }T$ڃD$T$ uL$D$3D$ 3OyNS؋L$T$D$ ud$d$r;T$wr;D$ v+D$T$+D$ T$Oy؃_[UQeVuuj^0Sj$hV] u{j^0y @W}`j^0WiҀyʍF3;|+B;|+ȸB;|B+EVQ`BFiȃ}uBF3B9G} B9|] JV+QF j_jElBD;FG;v}>uЋuE}urlj{CijC CtBZf1f0JuL@;v~0C@IuCC Ss3ȋ {95BTM_^3[éËUjM߬Ext}@tMapÀ}tE`p3jhPBr(M}_hu3E;CWh #Y؅Fwh#SuvYYEuvh1BuFh=@BtPwY^hS=1BFp`Bj 'YeCBCBC B3E}fLCf EB@3E=} L`B@3E=}hB@5hB1BuhB=@BtP辮YhBSE0j %Y%u @BtS舮YeE*'Ã=CujVYC3ËUSV51BW}W֋tP֋tP֋tP֋tP֍_PE{dBt tPփ{t CtPփMu֋P_^[]ËUW}SV51BW֋tP֋tP֋tP֋tP֍_PE{dBt tPփ{t CtPփMu֋P^[_]ËUSVu3W;to=Bth;t^9uZ;t9uPuYY;t9uPƬ˫YY讬裬YY;tD9u@-P肬+Po+PaV=hBt9uP$-YY~PEdBt;t 9uPY9_tG;t 9uPYMuVY_^[]ËUW} t;Et4V0;t(W8jYtV>YuBtVsY^3_]j hpB#U`BFpt"~lt>pluj Y $j #Ye5BlVYYYEEj b"Yuj1B1BUu5B2B]BËV5B2Bu5B1BV5B2B^ËUu u5B1B]BtP5B1BЃ BBtP2B BF!jhB"hB1BuF\Bf3G~~pƆCƆKCFh@Bj D"Yevh1BE>j #"Y}E FluBFlvl~YEw"3Guj Yj YËVW<1B5BЋuNhjYYt:V5B5B1BЅtjVYY 2BN V8Y3W\1B_^ËVujY^jhBz!uF$tPYF,tPݨYF4tPϨYFtCuS~uMhTBudX u't ffGfG`t dC3PPPPPVYP;s,VhYYVXYYLlVPYYlPSP% CTlPWh >t P;r L5B@PVWXŃ%39\tjS\) 9`tjT` hud uh VVVVV3M_^3[ËUB3ʼnEESWphS\PPPhxPhu3M_3[腖sHxPzYYuCHӍxPPtYYltCHphD XHAkjPd8PڐFxQtLlQP lXCHPjPPdw p\tFdV;t6td@PH@td|-tt#PdHturjvxvPjhBjj t<3f!Ex@rh5BxP @Fpu \Fpk VBYt1hlCH輚HYXLFhdBt.p41Bu4ssTkcLYYplY3PPPPP̋UB3ʼnEESV3ۋWh;t;t PYɋDHDžpt;8L0xC&x_hXBWYY+ljp;;DžlBpPW6 u6Y9ptl B~ChLBS3YY;u ;;lDWSxhP~uTlh=xxPtYtt?t G? 39thVVVVV3xSSShxQP;t\~Ht57xP~YYtxPYu!ptC~39pu9tt3M_^3[蛑ËU}VWw$} t3GWjC YYu; 3_^]Wh YYu V͗YWh  YYFu6诗V詗YًBu MTYu66SVt 2vp4YYt#vT66V@3 F8F8>U]jh0Be}vKH39uRNpe3GWh YY؉]܅j Y}Nleu MXYE} thdBu |YYt=Bj YE~lSWqS Fpu?`Bu67hBMYYB (B ,B4Be.]܋u3Gj + YËuj  YSSYYE EnËufpjhj2B3ɅB5B2B%BáBËU3M; Bt @r3]ËB]ËUB3ʼnESVuWV3Y;ljYjYu =B6hBhBW h"BVSf*B0BuhBSV t 3PPPPPfV@Y ]ËVW3(Ct~t WW&YB|ܾB_t ~uPӃB|^[ËUE4B1B]t$j 1BhYj hhB3G}39BujhڸYYu4B9tmjWYE Ej YËUEV4B>uP#YujBY61B^]h@d5D$l$l$+SVWB1E3PeuEEEEdËMd Y__^[]Q̋t O3 0葀O G3 0遀̋US] Vs35BWEE{t N3 8W1Bt3%>uN@ uNhF P`1Bt,F N@Ch5C1B3_[^ÃVWCt6;s!p ~tV1B@N;r7{'YC|_^h@d5D$l$l$+SVWB1E3ʼnEPeuEEEEdËM3tUVuV PվYYt|詃 ;u3虃@;u`3@BF uNSW^^N 3_@[3^]ËU}t'Vu F tVf f&fY^]A @tyt$Ix  QPGYYu ËUVMEM >t} ^]ËUQC @VEt {uE >'} ~0EM nE>u?*u˰?X} Ճ?uE^ËUE@]ËUEAQ]ËUEf@]ËUB3ʼnES] Vu3W}uu:u++(t `p7 F @u^V[ YBttȃ CA$uttȃC@$q3;g C39y B@Dž W @9} DžjugucDžW9~~=]VoYt Dž51BGPPSP5HBЋtuPS5TBYYguuPS5PBYY;-uCSDž*snHHXDž'Dž2Qƅ0Dž t@tGGG@t3҉@t|sځu39} Dž9~ u!u t-RPWS踷0؋9~N뽍E+Ftbt΀90tW0@?If90tu+(u BI8t@u+@t5t ƅ-t ƅ+ tƅ Dž++ u% OtPYYt.u%˰0Ostヽtu~qPjEPPOu69t.EPQYYu#P#YY|2t) Ot߃tmYtrt `pM_^3[fÐA A AK A A A AAUEu荳芧]Ë@]j hB3u3} ;;uTQ39u;t܉} WavYuG @uoW~Yttȃ CBA$u)ttCB@$t²迦M9uu"W=uuuWUEWVE Eu vYËUuuu uh< A]ËUuuu uh`A]ËUuuu uhA]ËUuju uh< A{]ËUuju uh`A\]ËUuju uhA=]jhB3ۉ]jY]j_};= -C}TC9tE@ tPIzYtE|(C P1BC4jYCGE EjYËUSVuF Ȁ3ۀu@t9FW>+~,WPVBYPj. ;uF yF N _Ff^[]ËUVuu V5Y/V|YtF @tVPBYY3^]jh0B3}}j8Y}3u;5 -CC98t^@ tVPVsYY3BUCH t/9UuPJYtE9}utP/Yu E܉}F3uC4VsYYE}EtEjYj hXB39uu V Y'urYuuYEE EurYjYËUQVu VE F Yu N /@t "S3ۨt^NF F F ^] u,q ;t q@;u u YuVYF WF>HN+IN;~WPu + EM F yM ttCB@ tjSSQ>#ƒt%FM3GWEPu |+ E9}t N E%_[^ËU9EuFjP;M u+YYu3]ËE6u 7[ Q tՉ&3@]ËUE]ËUEPEYu߃]Jx A R)9YËU}t]|]ËUSU؃tP詍Yu[]ËUB3ʼnEMEVu W3|\PDž$^0l;u菬茠;t@ @SurPYBttȃ CA$u&ttȃC@$tuTbƅ[t4PzYt?\ttYt\PYYGP@Yu <%k 8GX 3/THdXYcsZkƅ{(3GP辊YtdHk DЉdN*tpFItLut{O6uG84u(8]u ]FE /F<-uqtm]tfF:s{{:{s,{*ЋσdzDGJu苝L{D2ȊЋDL<]cD@b+u.du t ƅs\t؉l0\t؉lxt_XtZLxDžTt&HtdusDžLo.tt\SYYj0[\tYH؉ltdd}sDžLxF@xGrtt\PYY;c4cZt@3f@ƅ{l-u ƅY+u.du t ƅs\te؉l(<sLxt]LptTPYLou88<Kjj <8"I0PEYtk8<SYlTCЙH8f>D[GDd<%u8GuG\tGlD;uwPYt%\tGD;u7tlu?%uNDxnuB4lt\PYYt\lYY0u PVYlu*4u 8[ut% apt `p4[M_3^PËU9EuFjP;M u+YYu3]ËE6u 7J Q8 tՉ&3@]ËUEP0|EYu߃]Jx A R[(YËU}t]]ËUSU؃tP|Yu[]ËUB3ʼnEMEVu W3|`PXDž(^0l ;u赛貏;t@ @SurPYBttȃ CA$u&ttȃC@$t85uzQƅ^t8P{YtK`ttYt`P%YYPFPb{YuPpP<% 8F 3<ƅ/T@d4ƅ]ƅ\ƅjƅsƅ_ƅkƅ{$FPyYtd@k DЉdN*tpFItLut{N6uF84u$HLm3u F82u\dtWitRotMxtHXuAj9ht(lt wts"F8lt{k {ksjPu3ۀkDƅsu ntPct{t`tZY`tl DP@t d6 juAct st{u2@D4 oUcdCg~Dit!njt jd_l-ƅ\3ۃl-u X-C l+ud`tl@udlkddtflXT 0P|PCSX( q `tslPvYu]:ldd`tXl] 0P|PCSX(k  lkddtfXlT 0P|PCSX( j `tllP|uYuT_let lEIdd5Xe0P|PCSX(  `tl-u,X-0P|PCS9  l+u/ddu!d`tqllkddtfXlT 0P|PCSX( `tlPtYutlt`l衺YYTjMX8QPD{HP5LB1BЃudDž@k~ƅ_tlt`lYYct4@tddv`tl=ctLsu | % u4{]3ҋȃBL 3υj4_ PYt`tF!PDž? PP1ffDǃpHHt3;l<^jL;k~ƅ_F>^uFƅ]j EjPdC >]u ]FE /F<-uktg]t`F:s{{:{s&{*ЋσdzDGJu{D2ȊЋD<]oDPU+u.du t ƅs`ty؉l0x`tW؉lxtPXtKDžTxt@tdusjo[tt`SٶYYj0[`t@؉ltdd}sjx_CDFtt`PdYY;rj8c_tD3fDƅ{l-u ƅ\+u.du t ƅs`t؉l$FsxtiptdPnYou*8HLHL_jj LH7HL<PoYtsHLSHLYlTCЙHL@tdt7`t؉ltt`S襴YY\HL؃ىHLsxt7pt2PmYou8}<58D<$tHLC{tfP^FPl<%u8FuF`t3FlP;P` Yt)`tFP;tlu>%Pxn-l~k~3f slt`lAYYDž K̋_ t3f0+t`PYYt`lYY0u X)EYlu*8u 8^ut>ap2 u0-t `p8[M_3^2>ËUVuWVAYtPCu u u@Dtjj YY;tVYPH1Bu <1B3V]CYD0t W蓊Y3_^]jhxB胼]u[ @ x;Cr4  ~ҋ<CD0tS裿YeD0t SYElj ME EË]SYËUVuF ttv8Cf 3YFF^]ËUPB3ʼnEE VuW34809}u3;u58}SCL8$$?tu'Mu׈ 輈|D8 tjjjVCVYD@l39H P41B3;`;t 8?P1B4 3,9E#@?g $3 ǃx8tP4UM`8jEPKPYt:4+M3@;jDSPa C@jSDP= n3PPjMQjDQP C@1B=j,PVEP$4t1B @089,j,PjEP$E 4t1B,08<t<u!33Ƀ @D<t<uRD@Yf;DI8t)j XPDYf;D80E9@8T4D83ɋD8?D49M3+4H;Ms&CA u 0 @F@FrՋH+j(PVHP$4t1BC(8;;+4;El%?49MH@+4jH^;MsCΉ u0j [f @@fƁ@rH+j(PVHP$4t1Bi(8;a+4;EGK4,9Mu,@+4jH^;Ms;,,΃ uj [f@@fƁ@r3VVhU QH++PPVh1B;j(P+P5P$4t1Bt (; <1BD;\,+48;E ?Q(Qu448t1Bt(D8 <1BD8ulDt-j^9Du݂ 0?DY1$D@t48u3$蝂襂 8+0[M_3^5jhB葴]ui N x;CrB ' $vҋ<CD0tS豷YeD0tuu Sn É Ձ ME EË]SYËUU VuWHFw  yBw t;t_+^]ËUSuM7]u#B?u8]tE`pVu u$u}tE`pRExu VSMYY1+W3MQPFMQP7Ft;t+_}tMap^[ËU39Bu'9Eu艀t]9E t]Pu u ]ËUu M6EMA%}tMapËUjuYY]ËUhu貪YY]ËUhu蜪YY]ËUju艪YY]ËUjuvYY]ËUjucYY]ËUjuPYY]ËUju=YY]ËUju*YY]ËUhuYY]ËUhuYY]ËUjuYY]ËUjuةYY]ËUjuũYY]ËUju販YY]ËUhu蜩YY]ËUhu膩YY]ËUhWupYY]ËUhWuZYY]ËUhuDYY]ËUhu.YY]ËUj uYY]ËUj uYY]ËU츀f9E]ËUhuިYYu f}_t]3@]ËUhu踨YYu f}_t]3@]ËUhu蒨YYu f}_t]3@]ËUhulYYu f}_t]3@]ËUCS3Vu E]]]F> t tjVhĬBu u~F> t>=unF> tjhȬBV u ?jhЬBVƱ u  jhܬBV觱 uF> t>ta{^ohuE SuP?t3"BEMH 3ɉHHHM H_^[jhB/33}jY]3u;5 -CC9t[@ uHuAFwFPޫYC4V>YYC@ t PVg>YYF둋}cj8&Y C;tNhC P`1BCu43YC P1BC<}_ ;tg ___OE ZË}jڪYSVWT$D$L$URPQQhQAd5B3ĉD$d%D$0XL$,3p t;T$4t;v.4v\ H {uhC"C4d_^[ËL$At3D$H3U,Uhp pp> ]D$T$UL$)qqq( ]UVWS33333[_^]Ëj33333USVWjRhFRAQ_^[]Ul$RQt$ ]U eWjY3}_9E u^x[lËEtVuEuEu EPEEBzMxE EPjYY^ËUuju ug]ËU Wj3Y3}U_9U uwkuEuEu EBPUUUËUu juh< A]ËUuu uh< Ap]ËUu juhAT]ËUuu uhA7]ËU SW3j3Y}]9]uvj}Vu ;t;uvjkE;w}uEuEBuuPuUE;t5;|"MxEEPS^_[ËUujuu uh< Ay]ËUuuuu uh< Ay]ËU}uui]Vut} w u1uuuu Vh`Ayuu"i^]ËUujuu uq]ËU}uSuPi]S]VuWuu9u u3t} uuuuuu;v*8CSVh`AuGt8"uYt8PWVh`AD>u}ut8"u%tyut"h_^[]ËUujuuu u]ËUujuu uhA&y]ËUuuuu uhAy]ËUVuusgF @t F F u VƙYFvvVYP. FF uQVѿYt0VſYt$WV踿V<C訿YY_B@$=Cu5jhXA0B3A;u Cp<1BEu +tyt tNt(H5C1BE;toV1BCa5C1BE;tNV1BC@5C1BE;t-V1BC5C1BE;t V1BCE}uE8]j/YÃt$t t~~ocqj hXB3}}؋] KtjY+t"+t+tY+uC~}؅uTCCUw\ YpQÃt2t!Htnb빾CCCC CCEP1BE3}9EujN[9EtPY3Et tuO`MԉG`u>OdMGdu, BM܋ B B9M}Mk W\DEZ|EuwdSUY]}؃}tj臞YSUYt tuEԉG`uEЉGd3ΟËUEC]ËUQV5C1BEu*mj^0(a WhB0BEulj^0`hBP$1Bu(l5<1BP|lY`PllYLSV1B={WhC0B;[t uX0Bjuօupl el3_^ËUB3ʼnE} ESVW}xth|QuuP̬ub<1BzuxVVuux襬ptXFVP˙YYtHptSuuxjtjV蔙3YY;u!9ttS8%YM_^3[ÍNQSVP u9ttS%Y3WWWWW^} uH50B3PPuu֋؅tjSYYtSPuuօu7$'Yp} fxjxPE Pu0BPumYYt/P41BCu=1B׉VףCE3_^[ËVjj ٗYYV1BCCujX^Ã&3^j hxBۛSeuYEE ESËUuYH]ËV`B`BW;stЃ;r_^ËVhBhBW;stЃ;r_^ËVW30B1B0B(r_^̋UMMZf9t3]ËA<8PEu3ҹ f9H‹]̋UEH<ASVq3WDt} H ;r X;r B(;r3_^[]̋UjhBh@dPSVWB1E3PEdeEh@*tTE-@Ph@Pt:@$ЃEMd Y_^[]ËE3ҁ9‹ËeE3Md Y_^[]ËUE8csmu*xu$@= t=!t="t=@u3]h=u Fd.=u Fd=u Fd=uFdvdjY~d`QY^`[_^]ËUcsm9Eu u PYY]3]ËVW39=Cup5Cu5B< wt.t$<"u 3ɅP¨YtFF< wFu_^Ã=CupV5BW3u<=tGV&YtujGWYY=Btˋ5BS3V>=YXt"jSYYt?VSP uG>u5B%B'C3Y[_^5B[%B3PPPPP(X̋UEB]ËUQMS3VU 9Et ]EE>"u39E"FE<tBU PFdYt} t M E FU Mt2}u t utBe>< t< uFN>}t EE3C3FA>\t>"u&u}t F8"u 339EEtIt\BuU tU}u< tK< tGt=Pt#Yt M E FM E  \YtFU FVtBU ME^[t ËU S3VW9CunhCVSC0BC5B;tE8uuUEPSS} E =?sJMsB;r6PY;t)UEPWV}E HB5B3_^[ËU SV0B3;u3wf93tf90uf90uW=1BVVV+V@PSVVE׉E;t8P膏YE;t*VVuPuSVVׅu ueYuS0BE S0B3_^[ËUBeeSWN@;t t УBeVEPx1Bu3u0B3 2B30B3EP0BE3E3;uO@u G 5B։5B^_[Ã%CËUj ju ]ËUu j ju]ËU]U]Uj ju' ]ËUu j ju9]ËUES3VW9]u;u9] u3_^[];t} ;wG`j^0ET9]uҋU;uك}u+ B:t"Ou+A:tOtMu9]u;u}uM jP\Xx_j"Y̋T$L$u<:u. t&:au% t:Au t:au uҋ3Ðt:u ttf:u t:au t눋U=CV5Bu3cWu95BtS[uJ5Bt@}t:uY'P֍Y;v<8=uWuP]Z tu3_^]ËD8USV3;u^j^0RCE;t9] w9] u;tWu3Y;t/WN@Y9] t ;E vj"X_^[]Wu uZ u3SSSSSQ̋UVW3;u^j^0ROE7;t09u tSu Y;tKSΌpjV3 ;u] ][_^]SVPNJ u E;t03WWWWW)QjhB讏39Euo]lQ3?VuˌYY;tj0YeuYEE E菏jYj hB4jY3ۉ]3};;u\j^0PujM ;t 9]w ;u 9]u3@3;t;tumY;t0V舋Y@9]t!;Ev E"Vuu 蓉 ;u]EE̎SSSSSOjEYj hBgj!Y3u3};;u\j^0Put7E ;t039u;tuY;tS̊pjV 3;u[ [ESVPň ;u!E ;t0}EEWWWWWOjnYËULB3ʼnES3VuW]ԉ]]]؉]܉u]9^F9u PF0hPESPj辈jWEjWEjWE݈jhEΈ$E9]9]v;n9]e9]\Eԉ3M܈@=|EPv1B2}(EEЃ~.8]t)E:t x M G;~8XuڋESSvPhu܉EjSv MESvWQW@PhvS$ESvWPEW@PhvS$bE}3҃}fU؉Mč_ZMMȈ~U8]tPMM:tDI҉M;(HMEfM̋M 9M~MM8YuhQPjPWEjQP$;tKP1Bu@-Pt+Pa+PSHEEEĉEEȉEЉuYouuuu3ۃCˋ;tP1BdžBdž@BdžBdž3M_^3[ PhȋAl;Bt`BQpueËUEu]] hȋAl;Bt`BQpue@gȋAl;Bt`BQpube@gȋAl;Bt`BQpuSEjP, Pj?SEjP Pj@SEjP PjASEjPP PjBSEjP PjCSEjP Pj(SEjP Pj)SEjPP PjuEjPl Pj uEjPS PhuEjP7 Ph uEjP EPPj1SEjP Pj2SEjP Pj3SEjP Pj4SEjPP Pj5SEjP Pj6SEjP Pj7SEjPk Pj*SEjPTP Pj+SEjP: Pj,SEjP# Pj-SEjP Pj.SEjPP Pj/SEjP Pj0SEjP PjDSEjP PjESEjPP PjFSEjP| PjGSEjPe PjHSEjPN PjISEjP7P PjJSEjP PjKSEjP PjLSEjP PjMSEjPP PjNSEjP PjOSjEP Pj8SEjP $Pj9SEjPyP (Pj:SEjP_ ,Pj;SEjPH 0PjSEjP <Pj?SEjP @Pj@SEjP DPjASEjPP HPjBSEjP LPjCSEjP PPj(SEjPs TPj)Sj[ESPZP XPjuESP? \Pj uESP'`Vhu ESP < _^[ËUVucvvv vvv6v v$v(v,v0v4vv8v<@v@yvDqvHivLavPYvTQvXIv\Av`9vd1vh)vl!vpvtvx v|@zodYN@@5* @ wla V$K(@,50*48< @DH@LPTX\`^]ËUSVu~ WhBtBhdjuYYu3@IƋRtWGWUYYLJ;t P1B3_^[]28tSV<0|<9 ,0A8u^[<;uX@8uUVutY;BtPYF;BtPYF;BtPYF0;BtPYv4;5 BtVY^]ËUSVuW3u}9~u9~u}}BejPjtYY;u3@jYj)t3YE;u SYыu89~jtYE;u3FSuYYD8v>SjVEjPCPjVEjP CPjVEjP C0PjVEjP}P C4PjVEjPf tS{YkC0|9 0@8u>;uNF>uBBCBCBC0 B}C4Mu3@Mt=1BtP׋tPׅuYYEE3_^[28tSV<0|<9 ,0A8u^[<;uX@8uUVuF ;BtPEYF;BtP3YF;BtP!YF;BtPYF;BtPYF ;BtPYF$;BtPYF8;BtPYF<;BtPYF@;BtPYFD;BtPYFH; BtPYvL;5$BtVmY^]ËUSVuW3}u}9~u9~u}}BjPjqqYY;u3@jqYE;u SY89~4jpYE;uSuY҉8v8C PjVEjPCPjVEjP CPjVEjP CPjVEjPtP CPjVEjP] C PjPVEjPI C$PjQVEjP5 C(PjVEjP!P C)PjVjEP C*PjTVEjP C+PjUVEjP C,PjVVEjPP C-PjWVEjP C.PjRVEjP C/PjSVEjP C8PjVEjP{P CujYBE IuKIKI0K0@4MC43@39}tM;tP1B;t#P1Bu5*YYEE3_^[PHl; Bt `BHpuZN(Bá0BPȋAl;Bt`BQpu,N3ËUMVWt} u?j^03AUu>tFOut+BtOuu?j"Y3_^]UV3PPPPPPPPU I t $uI t $s ^ËU3S3@9] |FVWt>E Ù+‹E<7E0fYYu M9 yNu ^;] ~_^3Ʌ[]ÁN0BFFËUQtP>tKhBVYYt:hBVYYujEPh w0Bt)EVYEjEPh w0Bu3Ã}u1BËU3fMf;Bt r3@]3]ËV3 AB<w A<wtЊ uڋ^3 BA|Z~aw@ËU|B3ʼnEVW}CN׋jxEP%PW0Bu !@AEPʼYYuWYtЃM_3^aUQVjEP%h P0Bu3);ut!}tE 0WVkY;_t3@^ËU|B3ʼnESVW}@M׍0BjxEPF%PWӅu f3@cEPvĻYYjxEPF%PWӅtEP6萻YYu N~RFuOF t,PEP6J u6N~jY;F u!~VuWYt V~N#;jxEPF%PWӅEP6Y3Yu0NF9^t FH9^ t<6LjY;F u/Vj9^u49^ t/EP6蜺YYuVSYYtN9^u~FЃM_^3[5U|B3ʼnEVW}pK׍jxEPF%PW0Bu!F@\EP6YYu 9Fu1Vj~u0~ t*EP6ֹYYuVP?YYt N~~FЃM_3^uv$iYj@hAF0BFuf6hv@Fhf@~YYFtjXjhAF 0BFt tuf6h@YFtjXjhAF 0BFufËUSVWIEu O@_t8tSjhмB gt[8tVt8t SWj@hȺB tft;t RIt0;t+SgYj@hAG0BGugG0BGGuƃ#uP1Bjw0BE tfOffOfHfp]th50Bf9u hBj@Sd t3PPPPP^+j@Shwօt,j@C@Phwօtj jSu݀3@3_^[]Åt 3ɅD  +t 3ɅD ff;t1+t3҅DuFI+t3ɅD 3Ë;tg+t3҅DuPFQ+t3҅Du5FQ+t3҅DuFI+t3ɅD 3ËVWN;tv+t3DqB+t3DqB+t3DqB+t 3t3A;BtwB+t3DkqB+t3DLqB+t3D-qB+t 3t3A;BtwB+t3Dq B +t3Dq B +t3Dq B +t 3t3A ;B twB +t3DYq B +t3D:qB+t3DqB+t 3t3A;BtwB+t3DqB+t3DqB+t3DqB+t 3t3mA;BtwB+t3DGqB+t3D(qB+t3D qB+t 3t3A;BtwB+t3DqB+t3DqB+t3DqB+t 3t3[A;BtwB+t3D5qB+t3DqB+t3DqB+t 3t3 ׃$AA;BtxBq+t3DqB+t3DfqB+t3DGqB+t 3t3"A;BtwB+t3DqB+t3DqB+t3DqB+t 3t3A;BtwB+t3DsqB+t3DTqB+t3D5qB+t 3t3A;BtwB+t3DqB+t3DqB+t3DqB+t 3t3A;BtwB+t3DaqB+t3DBqB+t3D#qB+t 3t3A;BtwB+t3DqB+t3DqB+t3DqB+t 3t3uyA;BtiB+t3DuWqB+t3Du<qB+t3Du!AJ+t3ɅD 3u3_^ËA;BtkB+t3DuqB+t3DuqB+t3DuqB+t 3t3uA;BtxBq+t3D]qB+t3D>qB+t3DqB+t 3t3A;BtwB+t3DqB+t3DqB+t3DqB+t 3t3qA;BtwB+t3DKqB+t3D,qB+t3D qB+t 3t3A;BtwB+t3DqB+t3DqB+t3DqB+t 3t3_A;BtwB+t3D9qB+t3DqB+t3DqB+t 3t3A;BtwB+t3DqB+t3DqB+t3DrqB+t 3t3MAJ+=3ɅD -A;BtwB+t3DqB+t3DqB+t3DqB+t 3t3A;BtxBq+t3D}qB+t3D^qB+t3D?qB+t 3t3A;BtwB+t3DqB+t3DqB+t3DqB+t 3t3A;BtwB+t3DkqB+t3DLqB+t3D-qB+t 3t3A;BtwB+t3DqB+t3DqB+t3DqB+t 3t3A;BtwB+t3DYqB+t3D:qB+t3DqB+t 3t3A;BtwB+t3DqB+t3DqB+t3DqB+t 3t3mfAf;B]A;BtxBq+t3D3qB+t3DqB+t3DqB+t 3t3A;BtwB+t3DqB+t3DqB+t3DlqB+t 3t3GA;BtwB+t3D!qB+t3DqB+t3DqB+t 3t3A;BtwB+t3DqB+t3DyqB+t3DZqB+t 3t35A;BtwB+t3DqB+t3DqB+t3DqB+t 3t3A;BtwB+t3DqB+t3DgqB+t3DHqB+t 3t3#A;BtwB+t3DqB+t3DqB+t3DqB+t 3t3qB+t3D{qB+3DVA AAAߛAAbA5AZAA٢AAњApAPA#AHAAǡAAA^A>AA6AԜAAAA[A+AAUVW}ǃHHlH!HM ESj Z20;1tt0+t3ۅÍt+pY+t3ۅÍt pY+t3ۅÍtpY+t3ۅÍt3p;qtvpY+t3ۅÍtpY+t3ۅÍtpY+t3ۅÍtepY+t3ۅÍt3Bp;qtvpY+t3ۅÍtp Y +t3ۅÍtp Y +t3ۅÍtp Y +t3ۅÍt3p ;q tvp Y +t3ۅÍtp Y +t3ۅÍttpY+t3ۅÍtUpY+t3ۅÍt32p;qtvYp+t3ۅÍt pY+t3ۅÍtpY+t3ۅÍtpY+t3ۅÍt3p;qtvpY+t3ۅÍtpY+t3ۅÍtdpY+t3ۅÍtEpY+t3ۅÍt3"p;qtvpY+t3ۅÍtpY+t3ۅÍtpY+t3ۅÍtpY+t3ۅÍt3p;qtjpY+t3ۅÍtuwpY+t3ۅÍtu\pY+t3ۅÍtuApY+t3ۅÍt3u"+;σ$RAP;QtiQ+t3҅tupQ+t3҅tupQ+t3҅tupQ+t3҅t3uP;QtuQ+t3҅t\pQ+t3҅t=pQ+t3҅tpQ+t3҅t3P;QtuQ+t3҅tpQ+t3҅tpQ+t3҅tpQ+t3҅t3tP;QtuQ+t3҅tNpQ+t3҅t/pQ+t3҅tpQ+t3҅t3P;QtvQp+t3҅tpQ+t3҅tpQ+t3҅tpQ+t3҅t3eP;QtuQ+t3҅t?pQ+t3҅t pQ+t3҅tpQ+t3҅t3P;QtmQ+t3҅Tu6pQ+t3҅TupQ+t3҅Tt@I+t3ɅD 3u3[ P;QtuQ+t3҅t5pQ+t3҅tpQ+t3҅tpQ+t3҅t3P;QtuQ+t3҅tpQ+t3҅tpQ+t3҅tppQ+t3҅t3MP;QtuQ+t3҅t'pQ+t3҅tpQ+t3҅tpQ+t3҅t3P;QtuQ+t3҅tpQ+t3҅tpQ+t3҅tbpQ+t3҅t3?P;QtuQ+t3҅tpQ+t3҅tpQ+t3҅tpQ+t3҅t3P;QtvQp+t3҅tpQ+t3҅trpQ+t3҅tSpQ+t3҅t30P;QtuQ+t3҅t pQ+t3҅tpQ+t3҅tpQ+t3҅t3I@+83ɅD (P;QtuQ+t3҅tcpQ+t3҅tDpQ+t3҅t%pQ+t3҅t3P;QtuQ+t3҅tpQ+t3҅tpQ+t3҅tpQ+t3҅t3{P;QtuQ+t3҅tUpQ+t3҅t6pQ+t3҅tpQ+t3҅t3P;QtuQ+t3҅tpQ+t3҅tpQ+t3҅tpQ+t3҅t3mP;QtuQ+t3҅tGpQ+t3҅t(pQ+t3҅t pQ+t3҅t3P;QtvQp+t3҅tQp+t3҅tQp+t3҅tQp+t3҅t3^P;QtuQ+t3҅t8pQ+t3҅tpQ+t3҅tpQ+t3҅t3fPf;QfQp+3҅TP;QtvQp+t3҅tzpQ+t3҅t[pQ+t3҅t<pQ+t3҅t3P;QtuQ+t3҅tpQ+t3҅tpQ+t3҅tpQ+t3҅t3P;QtuQ+t3҅tlpQ+t3҅tMpQ+t3҅t.pQ+t3҅t3 P;QtuQ+t3҅tpQ+t3҅tpQ+t3҅tpQ+t3҅t3P;QtvQp+t3҅t]pQ+t3҅t>pQ+t3҅tpQ+t3҅t3P;QtuQ+t3҅tpQ+t3҅tpQ+t3҅tpQ+t3҅t3uP;QtuQ+t3҅tOpQ+t3҅t0pQ+t3҅tpQ+t3҅t3pQ+3҅TcMu +t3҅DAV+t3҅DAV+t3҅DAN+3ɅD Mu +t3҅DudAV+t3҅DuIAN뤋Mu +t3҅Du ANxEM  g3_^]ËAcA5AA.AܳAAAATA&AAAͲAAAAFAAAAAAzAA8A AAAAAkAUV3PPPPPPPPU I t $u t $sF ^ËU$B3ʼnEESEE VWE=e=CEu}hB0B؅=$1BhBSׅ51BPhBSCPhBSCPhнBSCP֣CthBSP֣CCM51B;tG9 Ct?P5C֋؅t,t(ׅtMQj MQjPӅtEu M 3C;Et)Pօt"ЉEtC;EtPօtuЉE5Cօtuuuu3M_^3[苾ËUVuWt} u< j^0:_^]ËMu3f݋f:tOut+f ftOu3uf j"Y몋UUS]VWuu9U u3_^[]Åt} u j^0݅u3fЋMu3fԋƒu+fft'Ou"+ fftOtKuu3fy3uM jPfDJXdf j"YjUVuWt} u j^0_^]ËEufߋ+f ftOu3uf j"Y뼋UMx~ uB]áB B] ]ËUEB]ËUS]u3}uA >Vu u W;vuMCE@uJU+2Ar Zw Ar Zw Kt ftf;t+7SVSuhPvSuo}tE`p}tMap_^[ËU=BV}u%"M t߾9uv_u+Ar Zw Ar Zw Mt ftf;t+juu u,^]ËUS39]u3AVWu{1pjVN ;tuVW< u SSSSS3_^[]ËUQQSV5B3ۉ]W;tP=(1BSSjPSS׉E;tAjP4YYE;t0uPj6SSׅt*ESPe.YYx;u3_^[Ã9]tugYV5BW3uf=tGV0YtFfuSjGWl4YYBue5B5V]0f>=Yxt"jW94YYtAVWP uI4~f>u5Bǿ%B#C3Y[_^5B衿%B3PPPPPn̋V0B3;u3^f9tf9uf9uS+ƍXWSP3Yu V0B_[^SVW茳 UEfU f;tfuf9t3]ËUSuM衻M3;u8]tE`p39]u&8]tE`p9] tV;v?E9XuuQu uR6pQu Quhp EPR ;u8]tE`p8]tMap^[ËUjuu u ]ËUS39]u3>VWu-3pVfYY;tuVW@1 u SSSSS3_^[]ËUQQSV3W=Bu;te1BVVVVjPVVӉE;tTjP1YYE;tCVVuPj7VVӅt6EVP.YYy9ut uLYu;u3_^[Ãu+YUMtj3X;E sT 3]M VuF3wVj5B1Bu2=CtV)YuҋEt 3 Mt ^]ËUM S3;vj3X;Es 3AMVW9]t uCYVu YYt;s+VjS _^[]ËUEuo 3]Åx;CrT Qދȃ CD@]j hBM4339u;u  _Uj [Pj`YYu>Pm@YE PVu&PBEPW@E E 4 PjkYYËUEPu u4Q ]ËUEPu u8Q ]ËUE Pju Q ]ËUEPu u$Q ]ËUE Pju Q ]ËU BU39 C#щC]áB39CËUSVu 3W};u;v E;t3{E;tvj^0VuMԶE9XfEf;v6;t;v WSVű ?*48]tMap_^[;t&;w j"^08]tE`pyE;t8]t} ^]ËUQC @VEt {uE >'} ~0EM nE>u?*u˰?X} Ճ?uE^ËUB3ʼnES] Vu3W}u~u+t `pa F @u^V7IYBttȃ CA$uttȃC@$q3;g C9 B@Dž GW @} DžjugucDžW9~~=]V2$Yt Dž51BGPPSP5HBЋtuPS5TBYYguuPS5PBYY;-uCS*stHH[Dž'Dž5Qƅ0Dž t@tGGG@t3҉@t|s؃ځu3} Dž9~ u!u t-RPWS}0؋9~N뽍E+Ftct΀90tX0@@If8tu+(u BI8t@u+@t5t ƅ-t ƅ+ tƅ Dž++ u% OtPYYt.u%˰0Otヽtu~qPjEPPu69t.EPsYYu#PEYY|2t) Ot߃t菫Yt3dt t `pM_^3[覤ÍIAA+AAAA%AWAUS]VuFt} ^]ËUQC @VEt {uE >'} ~0EM nE>u?*u˰?X} Ճ?uE^ËUEAQ]ËUB3ʼnEES] VuWu3dH`LX[hD;u+t `pRF @u^V;YBttȃ CA$uttȃC@$q;i(u93(lxTPpEG|C8Lp`Xà tIt5t%HHt *9u@j hPW轤h HQ|uL9$d;l~lŴ9j*V3Ÿ3҉p; p pk ˍDЉp *9u@WW6I" Ej[+PD=P6\L ;݃ CD$2M0 CD$M ʀ}u!Etȃ CD M#;u~EtxuH1BjuEjPuE%Pu 81B;u4<1BPȃ CD 6Y6 CEVSSSSSAjhBM3}39};u~{r}uj@u uEPE|EEu;t<6039}t+9}tEMCD u]YËEjjhB3}3u;;uj^0Y39};t9}tE%@tʉ}uuu uEPEEE;t3u9}t(9}t CD 6YËUQMjEPuuu utËEËUjuuuuu ]ËUSuM/39]u8]tE`p3E9Xu&uu u 8]Map9]u&zw8]tE`pfW} ;u&LI8]tE`p7VM MEDMte9]uD]fU:u]Tf EfMf;pr f;pwfp1f;pr+f;pw%fpU At ʉMfuGDMtG9]u]XM:tf GMf;Hr f;HwfH1f;Hr+f;Hw%fHU At ʉMfMf;u!f;t 9]8]tE`p3^_[H8]tMapUjuu u]ËU}u3WuM}u'uu u۲ }MapS]u#gd8]tE`p_Vu u$<9}tE`p2 MCD8t=}u 3D8tY}tE`p3^[_Êu3 f CFD:t }u3Mtf Ff;uft}pH}tMap닋Ujuu u]USVWUjjhBu ]_^[]ËL$At2D$H3E{UhP(RP$R]D$T$SVWD$UPjhBd5B3PD$dD$(Xp t:|$,t;t$,v-4v L$ H |uhDID_뷋L$d _^[3d yBuQ R 9QuSQ@B SQ@BL$ KCk UQPXY]Y[ËUUVujXEU;u }S3;|;5Cr ƺNW<CL0u hwN];9] t5D0$EHjYtHuШtU] ]zШu<"6M;rEuY]u njjjusD(T,AHtzI tr}tlM} CED tPL% tE}t?@M}ED% u%L& t}t@MED& jMQuP41BxMm;MdMD}t ; u ]EÉ]E;M<< t CAMEH;sA8 u M uEmEjEPjEP41Bu <1BuE}t?DHt} t ML%;]u} tjjju} t CE9EFD@uC+E}EK xC3@;]rK @PBtPBu *zA;u@D1Ht%CT1| T%Cu T&C+ؙjRPuE+]Pu Sujh(1BEu4<1BP:YME;E tP|YEEE3;EL0ƅt f; u ]EÉ]E;E tf EM;sHf9 u Ej MEjEPjEP41Bu <1Bu[}tUDHt(f} tj XfMLML%D& *;]uf} tjjjuf} t j XfE9Et@u ff+]]<1Bj^;u 0jmZe\3_[^jhB]u^ C x;Cr7  ҋ<CD0tƸ;E@u SYeD0tuu S E ME EË]SY OtjaQYPBtjh@j腲 j`̋UM PBU#U # ʉ PB]ËU B3ʼnEE@SVW=0B3VVuEu ׋ȉM;u3~Ej3Xr9D =w؃;tPyY;t 3;tuSuu ׅt VV9uuVVuujSVu1BS莊Yƍe_^[M3urËUuMuuEuuu P}tMapËU}u]uj5B0B]j$YËUuMuE MUTu}tMA#E3t3@}tMapËUjjuu ]ËUjjuj]ËUjjuu h]ËUjjujP]ËUjjuu 7]ËUjjuj]ËUjhuu ]ËUjhuj]ËUjhuu ]ËUjhuj]ËUjhuu ]ËUjhujz]ËUjhWuu ^]ËUjhWujC]ËUjjuu *]ËUjjuj]ËUjjuu ]ËUjjuj]ËUjjuu ]ËUjjuj]ËUu MrEt*xu!jjuu y}tMapÀ}tE`p3ËUjuYY]ËU9ur9w}v1ٹE"t MMEt e]MuE_^tMEtEM؃ىEM}tẼ`pEU[ËU3Puu u9BuhBP=]ËUjuu uu ]ËU=Bjuu uuhBj]ËUjuu uu]ËUQeVEPu uT u9Et貸t 詸M^ËU}SVWuMn]u'sp}tE`pu tҿ9}v!;8}tE`p]ExuuVS }tAMap8+3MQP]MQPNFMtt;t+3_^[ËU39Bu09Eu褷衫]9E t}w]<Puu u]ËUSV3;uVj^0TW9]w:j^08u39]A9Mw j"ۋM "wɋ9]t 3C-N؋3u vW0ACt;]r;]rIIG;r3_^[] U} Eu yjj juuM ]ËU3} u9E}@M PuEu]ËUM Ejuu]ËU 3V;u1j^0/9Mv39M@9Ew j"ӋE"wE S]M9Mt-wE؉uM u uPS]؋ƒ vW0MFAMut;MrȋM[;Mr脵j"YLNEN@E;r3^U3} u9E  |9Es3@W}Puuu u_]ËUW}juuu u_]ËUVu~ Vu YYE~ Pu YYttPuVuu u01B+ujX 3D^]ËUMI8t@uIE+H]ËU,B3ʼnEESVW}ىE܉U~?I8t@u+}u~*΋I8t@u+u}3|e}u@Et;ujX3C;~;~jEPu1Bt~-}r}Et؊PtыM܊ :r:v8u뺅~4}r}EtPtM :r:u8uw5(1BjjWuj u֋؉]ԅ~@j3Xr4D;w/wątP-mYt Ee}Suuujuօjjuuj u֋؅tx~?j3Xr3D;wvątPlYt 3t1SWuujuօtSWuuu u01BEWn}Yue}EYe_^[M3KeËUuMfhu$Uu Muuuu b}tMapËUSuM#hU3;u8]tE`p39]u&蚱藥8]tE`p9] tV;vebKEH;uEPRu u?pERu RuhQP ;u8]tE`p8]tMap^[ËU=Bu]juu u]jhBsp u39E u虰薤Jdp|,>L`n~"6F\v "0@4&xhXJ<* zn^L0 F@B@,@`A~cApB&B@{O]CreateDirectory (%s)MapViewOfFile (%s)CreateFileMapping (%s)CreateFile (%s)inflateEnd returns %dinflate returns %dinflateInit2 returns %d1.2.5\message_boxdirectory_createdfile_createdget_root_hkeyget_special_folder_pathcreate_shortcutCSIDL_FONTSCSIDL_PROGRAMSCSIDL_COMMON_PROGRAMSCSIDL_STARTUPCSIDL_COMMON_STARTUPCSIDL_DESKTOPDIRECTORYCSIDL_COMMON_DESKTOPDIRECTORYCSIDL_APPDATACSIDL_STARTMENUCSIDL_COMMON_STARTMENULib\site-packages\DATAScripts\SCRIPTSHEADERSPLATLIBPURELIBInstallation failed.no such folder (%s)unknown CSIDL (%s)sSHGetSpecialFolderPathAfunction not availableshell32.dllFailed to create shortcut '%s' - error 0x%xSetWorkingDirectory() error 0x%xSetIconLocation() error 0x%xSetArguments() error 0x%xSetDescription() failed, error 0x%xSetPath() failed, error 0x%xQueryInterface(IPersistFile) error 0x%xCoCreateInstance failed, error 0x%xsss|sssiCoInitialize failed, error 0x%xissiSOFTWARE\Python\PythonCore\%d.%d\InstallPathPYTHONHOME=%sOSErrorValueErrorbuiltinsPyLong_FromVoidPtrPyErr_FormatPyArg_ParseTuplePy_BuildValuePyCFunction_NewPyObject_GetAttrStringPyObject_SetAttrStringPyImport_ImportModuleRunning Script...Could not open postinstall-script %s Py_FinalizePyRun_SimpleStringPySys_SetArgvPy_Initialize*** Could not load Python ***PyErr_PrintPy_SetProgramNameOut of memory!Running the pre-installation script failed Can't load Python for pre-install script (%d)Runtime Error100 Made Dir: %s .py200 File Copy: %s Error200 File Overwrite: %s Could not create temporary file~duInvalid cfgdata magic number (see bdist_wininst.py)Times RomanSetup %sCould not register window classSetup.exeSetupWindowClassThis Wizard will install %s on your computer. Click Next to continue or Cancel to exit the Setup Wizard.Software\Python\PythonCore\%s\InstallPathPython Version %s (found in registry)Software\Python\PythonCoreDon't know Python's installation typeStrangepython%d%d.dllPython Version %d.%dCannot installNo Python installation found in the registry.Python version %s required, which was not found in the registry.Python %s is required for this package. Select installation to use:UninstallString"%s\Remove%s.exe" -u "%s\%s-wininst.log"wb%s\Remove%s.exe040 Reg DB Value: [%s\%s]%s=%s Could not set key valueDisplayNamePython %d.%d %s020 Reg DB Key: [%s]%s Could not create key%s-py%d.%d999 Root Key: %s Source: %s *** Installation started %Y/%m/%d %H:%M *** a%s\%s-wininst.logCould not open keyYou do not seem to have sufficient access rights on this machine to install this softwareHKEY_CURRENT_USERHKEY_LOCAL_MACHINE*** Installation finished %Y/%m/%d %H:%M *** Postinstall script finished. Click the Finish button to exit the Setup wizard.*** run_installscript: internal error 0x%X *** 300 Run Script: [%s]%s \Scripts\-installPlease wait while running postinstall script...IsUserAnAdminSetupFailed to start elevated process (ShellExecute returned %d)runasif exist "%s" goto Repeat del "%s" :Repeat w%s.batCould not delete keyCould not delete valueuninstall-script*** Could not run installation script ***-removeUninstall Finished!%d files and %d directories removed%d files and %d directories removed %d files or directories could not be removed%d Run Script: %s%d Reg DB Value: %s%d Reg DB Key: %s%d File Overwrite: %s%d File Copy: %s%d Made Dir: %sYou do not seem to have sufficient access rights on this machine to uninstall this software%d Root Key: %sOut of memoryAre you sure you want to remove this package from your computer?Please confirmcould not open logfiler2. arg is not -u-uWrong number of args%s%cimport py_compile; py_compile.compile (r'%s')Py_OptimizeFlagPySys_GetObjectCompiling files to .pyo...Loading python...Compiling files to .pyc...Failed to unzip installation filesInstalling files...Running pre-installation scriptReady to installClick Next to begin the installation of %s. If you want to review or change any of your installation settings, click Back. Click Cancel to exit the wizard.Bad user_access_control valueoopsnoneautoforceuser_access_controlinstall_scriptmetadatanametarget_versiontarget_optimizetarget_compilebuild_infoinfotitleSetup program invalid or damagedThis program is normally started by windowsRemoveCould not open archive0w,aQ mjp5c飕d2yҗ+L |~-d jHqA}mQDžӃVlkdzbeO\lcc=  n;^iLA`rqgjm Zjz  ' }Dңhi]Wbgeq6lknv+ӉZzJgo߹ホCՎ`~ѡ8ROggW?K6H+ L J6`zA`Ugn1yiFafo%6hRw G "/&U;( Z+j\1е,[d&c윣ju m ?6grWJz+{8 Ғ |! ӆBhn[&wowGZpj;f\ eibkaElx TN³9a&g`MGiIwn>JjѮZf @;7SŞϲG0򽽊º0S$6к)WTg#.zfJah]+o*7 Z-A1b62S-+ldEw}ZVǖAOIъ OM~-QJ#SpxAaU׮.7׵Y-6]]wll?AԞZ͢$ Faw$eڪ]]FD(koipvk19Z* ,  m86F߲]qTp0ek*1u4yީ%8S1bSWĔՖk1**ykʬHpo].*F6fcTT"eM©g0&):{ϼkZ> 8$,52F*sw1pHkQ6Fzw]cN̵J #pAF]#l8?1(BOgT~yUbL8^#ܖTZ1ObbSyOIV~P-{b-R4٠~^eGnHl/Su6: #jT$+e?yHf'*b#ٽЧ ?&~?$pi;FBzw[keZ~7 Sv8H 3?r$7jnԄYFܨ |OQ;օ U d S - =G\ p&Gw)` /a߫i5&LsZ<#0zMzFM8,9; :R:(q-v,.7/pXqYs3r%w+OQvrtEux܉~OK }!b|tyBxʠz{.lD~m8onlk[wjR1h58ib?mcf+aQ`צedd"fig HINSKyuJcO NZLݘMFGN@E$DD2AsX@*IBCPhTg3U>uW ַVS:R|P~Q9ZS [fYX4])\ZEo^m/_5qϱ٥s\ۼqދ!K7 kfֶԁ-b3Πjp]$^'~*I@VW<âM˟ŏ{ tDCm-@wm.B+(铜>Td"ŀǼϭ~8y$owJ1}05_K^ iϏ은BI#ƈdX܁T̓cQ: rՆ⩗ fn|xK)o%ƭ/3vUuA?)C:|sĵ@͂ Ͳ;bIUeh"׻_HS1޼^Z4eg Wb27_k%8ם(ŊO}do׸Jj3wVcXWP0qB{߭gCru&op-?'Bs ưGz>2[Ȏg; i8P/ _Y=чe:ZO?(3wwXR @hQ+ğH*0"ZOWoI}@mNП5+#*'G| AH=XX?#1jvʬ`p^Y<L~i/{kHwâ hs)aLoD~Pf7VM'(@ﰤ ہg9x+n&;f?/X)T`D1 ߨMߒ.FgTp'Hq/L0UEc?kǃh6ry7]P\@TN%s7@'>$!AxUʰ\3;Y^U~PGl!;b F2ȂpԞ(Q_V:1X: n3 m:@/)IJNv"2x+ٗ Kx.HҥfAj^y9*O]#kM`~b_R 7zFh!1߈Vc0a"j6nS Nr)Υ{t*F8#vufz`rs"WG9^EMvc΍&DAdQy/4Aڱ&S֚E biLQ<6'5P..T&q]w4.6IE? v\[YI>U!lDa>Ԫ΋ϩ7~8A]&nv|oY yKiw\¹9~$ 66nQfq>,o,IӔ 渱{I .H>C-Yn馑gQz tafw0a, Qmpjc5dۈ2yܸو L+~|-dj qHA}mԵQӅlVdkbze\Ocl=c ;n Li^`Agqr<KG k5Blۻ֬@2lE\u ϫ=Y&0Q:Qa!V#Ϻ(_ ٲ $/o|XhLaf-=vAq *q3xɢ4 j m=-dlc\kkQlabe0bNl{WeP|b-I|LeMaX:QΣtԻ0JߥA=ؕפmCij4ngF`D-s3 L_ |Pq<'A  Wh% of a^)ɘИ"רY=. \;l  tҚG9w&sc d; mj>zjZ '}DhibW]egl6qnkv+zZgJoC`֣ѓ~8ORѻgWg?H6K +گ L6JAz``ègU1nFiyaf%oҠRh6 w G"U&/ź; (+Z\j1,ٞ[ޮd°c&ujm 6?rgWJz{+ 8Ҏվ | !Bhݳڃn&[owGwZjpf; \ebiaklE x NT9§g&a`IiGM>nwۮjJZ@ f7;𩼮S޻G0齽ʺŠS0$6TW)#gfz.aJ]h*o+ 7 Z-1A26b+-Sdl}wEVZOAي»IˬO ~M-JQS#xpaA.U7Y-۩6˚w]]llA?Z$㧲F waރ$Ųe]]DFok(vpi91k *Z  ,8mF6]pTqke0*1¶u4%y<8syjHA}X*ݹ1SbSW§ٖծ1k**kypH]oF*.f6TTcMe"¤0g)&Ůޟ:{kZ >8,$5*F21wsHpQkzF6c]wN̵ׄJ# pȄA#]F8l1?(gOB~TUyLbˁ8#^TO1ZbbySIOP~V{-b-4R^~Ge­lHnuS/:6# $Tj?e+y䏼Hf*'˼Ѝb# &??~p$iBF;[wzek~ZS 7H8v ?3$rj7nFY |OQ; U dؓS - \G=&pGw`)/ ai5&sL <:R=Pe6^X7}o5641W0ճ2k3$k%'1&-[#bML"'{ "!$*x(+)`F(> q-q,v.Ț/7pqXsYr3w%vQO+tru՛E~xKO} |b!ytxBz{l.m~Do8nkljw[h1Ri85bcm?a+f`Qeddf"giH IKSNJuyOcN LZMݥFĚGE@ND$A2D@XsBI*CThPU3gWu>V SR:P|Q~Z9[ SYfX]4\)^oEZ_/m5qs<\kg2z &J8 좞V`a/6i\lU,zB\uHƒ=&FW A+Ox]`غ7W>9q߳!7Kk ֩fض-bѠ3pj$]^Ĝ'*~@IWVÕ<ӂMʏş{ Dt͆mC-@mw+B.(>dT"ş~Ϝ8yo$w1J}50K_ ^ϋiBۉI#dXфTQc:r Р fΫnx|)Ko%3/uUv?A)ġ:C|sд@͉ ;IbeU"hH_S1ފZ^ھ4ge ȋbW72%k_ܝ8Ŵ(}OodJֿjw3XcVPW0Bq{gǧurCo&p-?О'sB zGɠ2>[ ;g/P8i_ Y=嗇e:ϏOZw3(?RXw@ Qh+HZ"0*WOIo@}m5N#+'*GA |􏒨HX=#?X1vjʨ`^pYL'!$UxAׯ3\Y;U^GP~b;!lڇF 2p(ԐQV_:X1: 3n :m@I)/NJ2"v+x xKH.jAf^O*9y]#Mk~`bю_޶ Rz7hFм!10cV"ajحn6 SrN){t*8Fv#fu`zrϮsɛW"G9E^vMcD&dA/yQA4S&ֿ EbLil!>aDƋΪ~7A8n&]|vYoᡱ Kyi׫w¡\~9$66 Qnf>q,o,ӹI 散 I{.C>HnY-Qg̰t zfainvalid literal/length codeinvalid distance codeinvalid distance too far back`Psp0  ` @ X ;x8 h( H T+t4  d$ D \ S|< l,  L R#r2  b" B Z Cz: j*  J V@3v6 f& F  ^ c~> n. N `Qq1  a! A Y ;y9 i)  I U+u5  e% E ] S}= m-  M S#s3  c# C [ C{; k+  K W@3w7 g' G  _ c? o/ O `Psp0  ` @ X ;x8 h( H T+t4  d$ D \ S|< l,  L R#r2  b" B Z Cz: j*  J V@3v6 f& F  ^ c~> n. N `Qq1  a! A Y ;y9 i)  I U+u5  e% E ] S}= m-  M S#s3  c# C [ C{; k+  K W@3w7 g' G  _ c? o/ O A@!  @a`10  @     incorrect length checkincorrect data checkinvalid distances setinvalid literal/lengths setinvalid code -- missing end-of-blockinvalid bit length repeatinvalid code lengths settoo many length or distance symbolsinvalid stored block lengthsinvalid block typeheader crc mismatchunknown header flags setincorrect header checkinvalid window sizeunknown compression method inflate 1.2.5 Copyright 1995-2010 Mark Adler  #+3;CScsI !1Aa  0@`@@incompatible versionbuffer errorinsufficient memorydata errorstream errorfile errorstream endneed dictionaryqBtqB5BhqBXqBLqB8qB(qBqB5BfFK I*TK ITTK IO :i+00SBi+00@_dP/N !:i+00'":i+00 E%6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF΋!  Hx5i+.b`ODV A H FM^2mFT d_N" (2W]/4*&{-zeG'{-ph}OUBl OU3(9O> G e+.bchOU4^ ;ݧB}/NKfNr@"=3H$Oڠ'my4[ J1B&M[Or G:ᠷqEJ ǬMWs5i+.bs5i+.bs5i+.bw~s5i+.b%e{HqC,40L]0RO$[Dt.+*U6F:(Y;a-kQG^)|I)sO>+dWnO@;>V;>V Wt חb@J7<}iFϦODa'wj5Ob0wDObAGQ`{FL!mv`[c'wj5Obd'wj5Ob6J[CAVgqe'wj5Ob5i!Lz)zR88`[|^1/`[@L\J7@呰 חbu`ެ@`ެ.PRO—-T'tE`ެA`tpZdl?<W4plTI?rPB,ɨ=O${aPo0p,oiyŜ?Oɝa4Oص,OꙠς`RWpO6OyѦjc(=O0%G`묡51Mlg~6JNfsv]=D%Ocg3K@~Oq!2)wKL+2V4K@~OqT'B6Q:.7V`ƆEz5K@~OqiI~+.ͩ pO]_eOkm'WFAOлP0 P0 P0 M]`gI6FOEг]K $^5N$̈&HS3M17i;'$9Y:Oh7%9Y:Oh7&9Y:Oh7'9Y:Oh7ի|I˃(9Y:Oh7!FsGF{H@FS2IEt$#CȫR e.{ JOe/P($IZ^9$\E9 O奄`OO\;x8WFTpj zO1I( @wiKw^ևA)!\_[C+dWnO4DLe+.bSmb`ߌ #Or'>O.jxO^QmOd4'>Or3߷;`[MO KLb`wG:J'i>VMYFDAt;&OF} Ҩ\I;%S| *E yЎf|txM NI{@ >KJ\FЗ4mc-NvEc7VfCNItwׄ8A!ӱJ'8EK}4@ VqC(DW@XzvF@S>LNdL֬+ o.Eцݷ"JL :̿,LB)隇A }jL^6CTw]+.DJQS[bHNAFPCU .4zl'K@-tК#FlHiawhM0Y3S!AbostA^?UX2NfHyu 5ꥂG)]/qNnN9jI=W.I|Kg 4cH~%]bM I]7BWGCQl2$HܨEye64ۅ>eL:er='oOU{p OsCů$53QB`ϝ]v+qAO;ل.CZ0YcwN]ND.Q1RWHΨ}'CBg (#l^"`G3qs03NvFZ9\;û@Z|KJ$M>MEQ wmjKDWw? ec E kjO}c^NIe2mG)f\"gJ]lV`W0\"F-V pNr-O&oO}N8úGˢ)qKmHB" C[E|tKpȞ&Aõ*iG2 HNOiNㄫ9O'HKlqto%yL%4FxWObDcq# (O\iN`|\1IkLICN_3haO1FI&I}!<OGFVXia;B8n29֔hJuAtXJQ xd_w~8ƏWU]O Ɋ36(A#)V)F#Ϋ>%'GoGG+}.аvLX] p`OK #7 EC)t0ō*ƾ{,D Jև+DW^ Oor9tRNNgɆ>!OL'`g+$%|QOz)(B _@^A% xSDMt Nn 8Åm]rLwx,4Ku@ +׉#G`` WG 35A AlG ؂تI`FtQ<[MEĀd_NM&uf4L3lEZIC~"@0(9A8L"k1%B T #=E\\GNˇbR FHspSi)!@'QL.JiFFFFFF F F!FFFF&FF F FFk!Pi)?F0:s *Dw= F F F F F FFFFFPF%FQFFFF`k;Yi+-z1OY ȿ4<OV% X$5I?#3:O4j;Yi+-zj;Yi+-zi;Yi+-zv nr=F>F@FDF[Fʙ^AiXשFh Mm8gh z0Gd<O8m xO4yO"FFFMm8gh 0F1F2F3F%F)F*F0:s*Dw=IF y.Y+F&FEFGFHF:/ۆ/O:/ۆ/O:/ۆ/O:/ۆ/O:/ۆ/O:/ۆ/Oǝv\Wސy(_FFFFFFU 8r+C+n44FâRX0eu{ڮP9Vu{0ne0E Kvne yOܦϫ|x O jIOQnO09$-1.E^*onePone |~|?ne? PE^#1$-?W2$-?W2$-pw~?neg@ne˳j@ne˳j@ne?W2$-~{S^BEy|KDphKΔӳOհrIOC'zO{TxhO{lhO6ǀ_`\`OOrOh7y) Oh7BTyI6 E&jnLFB}sg'Dx+h\t<6M>?i]?9A!8ҏFs%E~2]r?jdN&6u^gO!B> 9}Nr*GݓkFN]ͷghhϓgAc*^Z%Ȕ2AeqKW';?B@ J$SQ`Ɔ(œO>1s-O(hHjxOi QD(ߥl+ rˆLmCBUa{Ӱ~C.`1 y/DĊY F;aAdƼ403bpc(Jg Дէ{E] E)ПS-oEH?syYz(y K@AXGA'qQU AJ s Y!WOZ{*lg(M2(TfC'>|a.  O;O.K[K8H]҇26 -&{-r: %wCjW'tVamy!@iaWBVm`ɠI-`:Bn5OC(K鞟^ﯘ=ѕK0:ښL%2J4{[kYs=BMQ!B\[/B{NsASÖ.̆I#t9JDf?kјH"tŻ-Gs?zZAe!`[ǽ6NXX$  KiiőԞ(LqmjK H(.~,-Y@o3\.Q Cpg{LKI s<_z\ LKo(t;sM|@)^vJYӞ~+IzÊChsxDpWJ?,CP0DOAoZ\q"tDk׾ TLrTIkE a`NNe76_I|kHrYM>s: .jxOˡd:aDX7iii9P5}+EutX(T6QB~ۜC]_#ͼ_Ld=xr|խhG2`?uIp4Bf6חKt3OtaG'"v0 SNwL1"(iv@ YGح+ObC4`[ԄLr?RJ{,AsEOWL"O7v8yOhKKt&1Zs~:6 B}Ftr⋪GMv2̤ pDʹfD.b[GvtH; zr\GڙYkH?FA&OA;,Ui6 IJ"x9J4ܵ;EfDװqmrE.1!YuY&HxHϣ'GVBeUNOخ|)IE@0lyדسDg,ݠeL3"5/QqCAwSk5 X;-3B{_41lxpOh6ǾƱLb VBPoz5zD #D@Fgm[M/BT|\?@zpDF[0 49Z I}AaB}KX䌠%D|DZ#`ڽWvGE>ςZ#@k{X8&oI Qd5CvSdn0@DH&'E4VwҁnB*O&-bfMlV!j hFXapf_:qJ?򥸿2cpF^W5}3ƔHjiOY<0G== 6eFpqFwHҶe_K#q}kdO-p;z5Og5е.Í}DwMm3sG%`4n.8E40PpZdFK6eJ7`, :i+00Fh3MnMܙS{5)xKt O3CKsw`$D&l;0MHֿRUBu(dT&arrCuƋ.|uU:WPHw[ێ Z܊M`* !sG3^F0MJSkyZ 8y M3,/KqI\M;TQ'CHCh4-6C$/`zLbeLWwR"!5C34a@Y?JTwZ8KMn錕Ra/pam/pmCorExitProcessmscoree.dllB0BTZSunMonTueWedThuFriSatJanFebMarAprMayJunJulAugSepOctNovDecHH:mm:ssdddd, MMMM dd, yyyyMM/dd/yyPMAMDecemberNovemberOctoberSeptemberAugustJulyJuneAprilMarchFebruaryJanuaryDecNovOctSepAugJulJunMayAprMarFebJanSaturdayFridayThursdayWednesdayTuesdayMondaySundaySatFriThuWedTueMonSunHH:mm:ssdddd, MMMM dd, yyyyMM/dd/yyPMAMDecemberNovemberOctoberSeptemberAugustJulyJuneAprilMarchFebruaryJanuaryDecNovOctSepAugJulJunMayAprMarFebJanSaturdayFridayThursdayWednesdayTuesdayMondaySundaySatFriThuWedTueMonSunKERNEL32.DLLFlsFreeFlsSetValueFlsGetValueFlsAllocLC_TIMELC_NUMERICLC_MONETARYLC_CTYPELC_COLLATELC_ALLlB@`BdBATBdBtoAHBdB0A?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~_.,._;=C=;runtime error TLOSS error SING error DOMAIN error R6033 - Attempt to use MSIL code from this assembly during native code initialization This indicates a bug in your application. It is most likely the result of calling an MSIL-compiled (/clr) function from a native constructor or from DllMain. R6032 - not enough space for locale information R6031 - Attempt to initialize the CRT more than once. This indicates a bug in your application. R6030 - CRT not initialized R6028 - unable to initialize heap R6027 - not enough space for lowio initialization R6026 - not enough space for stdio initialization R6025 - pure virtual function call R6024 - not enough space for _onexit/atexit table R6019 - unable to open console device R6018 - unexpected heap error R6017 - unexpected multithread lock error R6016 - not enough space for thread data R6010 - abort() has been called R6009 - not enough space for environment R6008 - not enough space for arguments R6002 - floating point support not loaded B(B ЩB B0BШBB0BBpBBB@BB8B ФB!BxByBzB|B\BMicrosoft Visual C++ Runtime Library ...<program name unknown>Runtime Error! Program: (null)(null)EEE50P( 8PX700WP `h````xpxxxxccsUTF-8UTF-16LEUNICODESystemFunction036ADVAPI32.DLL  ((((( H h(((( H H  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~united-statesunited-kingdomtrinidad & tobagosouth-koreasouth-africasouth koreasouth africaslovakpuerto-ricopr-chinapr chinanznew-zealandhong-konghollandgreat britainenglandczechchinabritainamericausausukswissswedish-finlandspanish-venezuelaspanish-uruguayspanish-puerto ricospanish-peruspanish-paraguayspanish-panamaspanish-nicaraguaspanish-modernspanish-mexicanspanish-hondurasspanish-guatemalaspanish-el salvadorspanish-ecuadorspanish-dominican republicspanish-costa ricaspanish-colombiaspanish-chilespanish-boliviaspanish-argentinaportuguese-braziliannorwegian-nynorsknorwegian-bokmalnorwegianitalian-swissirish-englishgerman-swissgerman-luxembourggerman-lichtensteingerman-austrianfrench-swissfrench-luxembourgfrench-canadianfrench-belgianenglish-usaenglish-usenglish-ukenglish-trinidad y tobagoenglish-south africaenglish-nzenglish-jamaicaenglish-ireenglish-caribbeanenglish-canenglish-belizeenglish-ausenglish-americandutch-belgianchinese-traditionalchinese-singaporechinese-simplifiedchinese-hongkongchinesechichhcanadianbelgianaustralianamerican-englishamerican englishamericanBENUBENUBENUBENABNLBtBENCpBZHHlBZHIdBCHSPBZHHJdp|,>L`n~"6F\v "0@4&xhXJ<* zn^L0 PropertySheetACreatePropertySheetPageACOMCTL32.dllsSetLastError|CreateDirectoryAGetFileAttributesAWMapViewOfFileCreateFileMappingARCloseHandlejSetFileTimeDosDateTimeToFileTimeGetLastErrorCreateFileAUnmapViewOfFileMlstrlenAgMultiByteToWideCharEGetProcAddress<LoadLibraryADeleteFileAReadFilefSetFilePointerGetFileSizebFreeLibrarySetStdHandledGetStdHandleHLocalFree]FormatMessageAGetTempFileNameAGetTempPathAGetModuleHandleAGetVersionExAResumeThread}SetPriorityClassGetCurrentProcessGetCurrentThreadSetThreadPriorityCreateProcessAGetModuleFileNameARemoveDirectoryA;GetPrivateProfileIntAAGetPrivateProfileStringAGetModuleFileNameWKERNEL32.dllMessageBoxA,GetFocus2wsprintfASetDlgItemTextAwSendMessageAeReleaseDC!GetDCDispatchMessageATranslateMessage2PeekMessageAEndPaint~GetSystemMetricsBeginPaintDefWindowProcAUpdateWindowShowWindowmCreateWindowExAKRegisterClassALoadCursorAMoveWindowGetWindowRect5PostMessageAdGetParentrSendDlgItemMessageA'GetDlgItemSetCursorUSER32.dll6CreateDIBitmapDeleteObjectSetTextColorTextOutASetBkModewSelectObject<CreateFontATCreateSolidBrushGDI32.dlllRegQueryValueA0RegCloseKeymRegQueryValueExANRegEnumKeyExA`RegOpenKeyExA}RegSetValueExA8RegCreateKeyExA=RegDeleteKeyAGRegDeleteValueAADVAPI32.dllShellExecuteASHELL32.dlllCoUninitializeCoCreateInstance>CoInitializeole32.dllyGetSystemTimeAsFileTimeHeapFreeHeapAlloc%FileTimeToSystemTime$FileTimeToLocalFileTimeGetFileInformationByHandlePeekNamedPipeGetFileTypeEnterCriticalSection9LeaveCriticalSectionGetTimeFormatAGetDateFormatAHeapReAllocGetModuleHandleWExitProcessDecodePointerGetCommandLineAHeapSetInformationcGetStartupInfoWIsProcessorFeaturePresentTerminateProcessUnhandledExceptionFilterSetUnhandledExceptionFilterIsDebuggerPresentEncodePointerWideCharToMultiByteGetTimeZoneInformationrGetCPInfoInterlockedIncrementInterlockedDecrementhGetACP7GetOEMCP IsValidCodePageTlsAllocTlsGetValueTlsSetValueTlsFreeGetCurrentThreadIdHeapCreateHeapDestroy%WriteFileWSetEnvironmentVariableWVSetEnvironmentVariableASleepInitializeCriticalSectionAndSpinCountDeleteCriticalSection FatalAppExitAoSetHandleCountGetConsoleCPGetConsoleModeRtlUnwind-SetConsoleCtrlHandlerInterlockedExchange?LoadLibraryWGetLocaleInfoWaFreeEnvironmentStringsWGetEnvironmentStringsWQueryPerformanceCounterGetTickCountGetCurrentProcessId-LCMapStringWiGetStringTypeWGetUserDefaultLCIDGetLocaleInfoA EnumSystemLocalesA IsValidLocaleWFlushFileBuffers$WriteConsoleWHeapSizedCompareStringWCreateFileWSSetEndOfFileJGetProcessHeap5B5B 5B5B5B5B4B4B4B5B5B4B 5B4B5B5B4B4B4B5BSoftware\Microsoft\Windows\CurrentVersion\Uninstall4B 4B4B|4Bd4BL4B<4B$4B4B4B3B@3B@3B@3BC@3BC@3BA@Software\Microsoft\Windows\CurrentVersion\UninstallN@D C CpPSTPDT@BB        ! 5A CPR S WY l m pr   )     abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@B`y!@~ڣ @ڣ AϢ[@~QQ^ _j21~CBBBܠBؠBԠBРBȠBBBBBBBBBB|BxBtBpBlBhBdB`B\BTBHB@B8BxB0B(B BB BBBBBB̟BB BBBBBBBxBhBXBDB0B B BBBBBBܞBԞB̞BĞBBBBBB|BpBBdBXBHB4B$BBBBB؝BBBdBdBdBdBdBBB@BBhBBB@BB `BPB B B B B B B B B B B;Zx0Nm:Yw/Ml..BCCCCCCCCCBCCCCCCCBBB. (@pnklmn ( 8 H X hx1 ; =$?ZABZ(n, BBB999111)))cR[RABZRYRZRAB[R[RAB[RAAB[ && &&&@JQ1AA1ZQ1111ZQ1AAZ@JQ1AAZQ1AAJ eu eu @ABZ@J@G@F@F@G@AABX@J@AABX@J@J@AA1X@J@G@HRX@G@AAG@ZRX@AAG@JQJed%ed%ed@AA1ZQ1AA1X@J@HQ1AA1X@1A1ZQ1AA1ZQ1A1J  & & RAABZRABZR[R[RABZRYRBZRABZRBW@J@J &R[R[R[R[R[RABZR[R[R[ & & & & & & &@J@J@J@J@HQ1AA1X@J@J@J@J@J@J@G@J@G@JQJ@ABZQ11Z@J@AAG@J@G@GQ1J@AA1ZQ1YQ1[@J@AAG@J@G@1W@J&@I@G@J@J@J@J@G@J@G@Z@J@AA1X@J@HRABX@J@HQ1AA1X@J@J  &  %& & & &RAABZR[RZRAAABZR[R[RABZR[R[@H{SetupMS Sans SerifP} This Wizard will install %s on your computer. Click Next to continue or Cancel to exit the Setup Wizard.P}PhnP}@H{SetupMS Sans SerifP} Select python installation to use:PP}7Python Directory:P}jPhnPP}BInstallation Directory:@B2Find other ...@H{SetupMS Sans SerifP} Click Next to begin the installation. If you want to review or change any of your installation settings, click Back. Click Cancel to exit the Wizard.P}msctls_progress32Progress1P}Installation progress:PhnPA@H{SetupMS Sans SerifP} Click the Finish button to exit the Setup wizard.PhnP}( PAPADDINGXXPADDINGbdist_wininst.pyo000064400000004527147576665460010217 0ustar00 b-Qc@sBddlmZddlZddlZdefdYZdS(i(t bdist_wininstNRcBsWeZdZZddZdZddZdZe e dsUdZ nRS(cCshtj|||||j|}|jrL|j}dd|f|_nd}d||f|_dS(NRtany(t_bdist_wininstt create_exetget_installer_filenamettarget_versiont _bad_uploadt _good_upload(tselftarcnametfullnametbitmaptinstaller_namet pyversion((sD/usr/lib/python2.7/site-packages/setuptools/command/bdist_wininst.pyRs  cCsd|j|j}}t|jdg}||krD|j|n||kr`|j|ndS(Nt dist_files(RRtgetattrt distributiontremovetappend(RtgoodtbadR((sD/usr/lib/python2.7/site-packages/setuptools/command/bdist_wininst.pyt_fix_upload_namess   icCs1|jj||}|dkr-d|_n|S(Ntinstallt install_lib(Rs install_lib(Rtreinitialize_commandtNoneR(Rtcommandtreinit_subcommandstcmd((sD/usr/lib/python2.7/site-packages/setuptools/command/bdist_wininst.pyRs     cCs5t|_ztj||jWdt|_XdS(N(tTruet _is_runningRtrunRtFalse(R((sD/usr/lib/python2.7/site-packages/setuptools/command/bdist_wininst.pyR!s   RcCsQ|jr1tjj|jd||jf}ntjj|jd|}|S(Ns%s.win32-py%s.exes %s.win32.exe(Rtostpathtjointdist_dir(RR R ((sD/usr/lib/python2.7/site-packages/setuptools/command/bdist_wininst.pyR+s  N( t__name__t __module__RRRRRRRthasattrRR(((sD/usr/lib/python2.7/site-packages/setuptools/command/bdist_wininst.pyRs    (tdistutils.command.bdist_wininstRRR!tsys(((sD/usr/lib/python2.7/site-packages/setuptools/command/bdist_wininst.pytsregister.pyc000064400000001264147576665460007142 0ustar00 b-Qc@s*ddlmZdefdYZdS(i(tregisterRcBseZejZdZRS(cCs|jdtj|dS(Ntegg_info(t run_commandt _registertrun(tself((s?/usr/lib/python2.7/site-packages/setuptools/command/register.pyRs (t__name__t __module__Rt__doc__R(((s?/usr/lib/python2.7/site-packages/setuptools/command/register.pyRs N(tdistutils.command.registerRR(((s?/usr/lib/python2.7/site-packages/setuptools/command/register.pytseasy_install.pyc000064400000203307147576665460010007 0ustar00 gc@sdZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl m Z ddl Z ddl mZmZddlmZddlmZmZy,ddlmZmZdZd ZWn9ek r=dd lmZmZd Zd ZnXdd lmZddlmZm Z ddl!m"Z"m#Z#m$Z$m%Z%ddl&m'Z'm(Z(ddl)m*Z*ddl+m,Z,ddl-m.Z.ddl-m/Z/ddl)m0Z0m1Z1ddl2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8ddl m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGdejHkrejHdZInejJjKejLZIddddddgZMddlNZNejOdk oeNjPZQddlRZRd ZSd!ZTejUd"fkr:d#ZVd$ZWnd%ZVd&ZWdefd'YZXd(ZYd)ZZd*Z[d+Z\d,Z]de?fd-YZ^eIe_d.Z`d/Zad0Zbd1Zcd2d3Zdd4Zed5Zfd6Zgydd7lmhZiWnek r&d8ZinXd9Zhd:ZjeIe_d;Zkd<Zld=Zme_ead>Znd?Zod@ZpeqdAZrdS(BsEasy Install ------------ A tool for doing automatic download/extract/build of distutils-based Python packages. For detailed documentation, see the accompanying EasyInstall.txt file, or visit the `EasyInstall home page`__. __ https://pythonhosted.org/setuptools/easy_install.html iN(tglob(tCommandt_dont_write_bytecode(t run_setup(tlogtdir_util(tget_config_varstget_pathcCs tdS(Ntplatlib(R(((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyt _get_platlibscCs tdS(Ntpurelib(R(((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyt _get_purelib!s(Rtget_python_libcCs ttS(N(R tTrue(((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR %scCs ttS(N(R tFalse(((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR 's(t get_platform(t convert_patht subst_vars(tDistutilsArgErrortDistutilsOptionErrortDistutilsErrortDistutilsPlatformError(tINSTALL_SCHEMESt SCHEME_KEYS(tsetopt(tunpack_archive(t PackageIndex(t URL_SCHEME(t bdist_eggtegg_info(t iteritemstmaxsizetxranget basestringtunicodetreraise(t yield_linestnormalize_pathtresource_stringtensure_directorytget_distributiontfind_distributionst Environmentt Requirementt Distributiont PathMetadatat EggMetadatat WorkingSettDistributionNotFoundtVersionConflictt DEVELOP_DISTt__VENV_LAUNCHER__tsamefilet easy_installtPthDistributionstextract_wininst_cfgtmaintget_exe_prefixess2.6cCstjddkS(NtPi(tstructtcalcsize(((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pytis_64bitKscCsttjdrItjj|rItjj|rItjj||Stjjtjj|tjjtjj|kS(NR4(thasattrtostpathtexistsR4tnormpathtnormcase(tp1tp2((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR4Ns $icCs|S(N((ts((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyt _to_asciiYscCs.yt|dtSWntk r)tSXdS(Ntascii(R"R t UnicodeErrorR(RF((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pytisascii[s   cCs |jdS(NRH(tencode(RF((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyRGbscCs.y|jdtSWntk r)tSXdS(NRH(RKR RIR(RF((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyRJds   cBseZdZdZeZdzd{d|d}d~ddddddddddddddddddgZdddd ddd"d1d4d:d=g Ze rej dAdydBe j fej dAnidd+6Z eZdCZdDZdEZdFZdGZdHZdIZdJZdKZdLZdMZdNZdOZdPZdQZdRZe dSZ!e dTZ"dUZ#edVZ$dWZ%dXZ&dYZ'dydZZ(d[dd\Z)d]Z*d^Z+d_Z,d`Z-daZ.dbZ/dcZ0dddeZ1dfZ2dgZ3dhZ4diZ5djZ6dkZ7dlZ8dmZ9dnZ:doZ;dpZ<e=dqe=drdsdtduZ>e=drdvdtdwZ?dxZ@RS(s'Manage a download/build/install processs Find/get/install Python packagessprefix=sinstallation prefixszip-oktzsinstall package as a zipfiles multi-versiontms%make apps have to require() a versiontupgradetUs1force upgrade (searches PyPI for latest versions)s install-dir=tdsinstall package to DIRs script-dir=RFsinstall scripts to DIRsexclude-scriptstxsDon't install scriptss always-copytas'Copy all needed packages to install dirs index-url=tis base URL of Python Package Indexs find-links=tfs(additional URL(s) to search for packagessdelete-conflictingtDs no longer needed; don't use thissignore-conflicts-at-my-risksbuild-directory=tbs/download/extract/build in DIR; keep the resultss optimize=tOslalso compile with optimization: -O1 for "python -O", -O2 for "python -OO", and -O0 to disable [default: -O0]srecord=s3filename in which to record list of installed filess always-unziptZs*don't install as a zipfile, no matter whats site-dirs=tSs)list of directories where .pth files workteditabletes+Install specified packages in editable formsno-depstNsdon't install dependenciess allow-hosts=tHs$pattern(s) that hostnames must matchslocal-snapshots-oktls(allow building eggs from local checkoutstversions"print version information and exits no-find-linkss9Don't load find-links defined in packages being installedtusers!install in user site-package '%s'cCstr0tjjt}|jtj|_n d|_d|_ |_ d|_ |_ |_d|_d|_d|_d|_d|_|_d|_|_|_d|_|_|_d|_|_|_d|_d|_d|_ d|_!d|_"d|_#d|_$d|_%d|_&trKtj'|_(tj|_)nd|_(d|_)d|_*d|_+d|_,|_-d|_.d|_/d|_0i|_1t2|_3d|_4|j5j6|_6|j5j7||j5j8ddS(NiR5(9t HAS_USER_SITER?R@tabspatht__file__t startswithtsitet USER_SITER`tNonetzip_oktlocal_snapshots_okt install_dirt script_dirtexclude_scriptst index_urlt find_linkstbuild_directorytargstoptimizetrecordRNt always_copyt multi_versionRZtno_depst allow_hoststroottprefixt no_reportR_tinstall_purelibtinstall_platlibtinstall_headerst install_libtinstall_scriptst install_datat install_basetinstall_platbaset USER_BASEtinstall_userbasetinstall_usersitet no_find_linkst package_indextpth_filetalways_copy_fromtdelete_conflictingtignore_conflicts_at_my_riskt site_dirstinstalled_projectsRtsitepy_installedt_dry_runt distributiontverboset_set_command_optionstget_option_dict(tselftwhereami((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pytinitialize_optionssP                          cCsx|D]}tjj|s1tjj|rtjd||jstjj|r|tjj| r|t|qtj |qqqWdS(Ns Deleting %s( R?R@RAtislinkRtinfotdry_runtisdirtrmtreetunlink(Rtblockerstfilename((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pytdelete_blockerss $ % c Cs|jr(dtdjGHtjntjjd}tdd\}}i |jjd6|jjd6|jj d6|d 6|dd !d 6|d|d d 6|d6|d6|d6|d6t tddd6|_ t r |j |j d<|j|j d|j9n|jdd/t:|j?t@s=y>t@|j?|_?d|j?ko d knstAnWq=tAk r9t-d(q=Xn|jBr^|jCr^t-d)n|j/r|jD rtEd*n|jFstEd+ng|_GdS(0Ns setuptools %st setuptoolsiRxt exec_prefixt dist_namet dist_versiont dist_fullnamet py_versionitpy_version_shortitpy_version_nodott sys_prefixtsys_exec_prefixtabiflagsttuserbasetusersites$User base directory is not specifiedtposixt unix_usert_userRjRkRoRR}R~tinstallRrt,s"%s (in --site-dirs) does not exists$ (in --site-dirs) is not on sys.pathshttps://pypi.python.org/simplet*t search_paththostsRqs--optimize must be 0, 1, or 2sVCan't use both --delete-conflicting and --ignore-conflicts-at-my-risk at the same times9Must specify a build directory (-b) when using --editables:No urls, filenames, or requirements specified (see --help)(s install_dirs install_dir(s install_dirs script_dir(srecordsrecord(soptimizesoptimize(HR_R(tsystexittsplitRRtget_namet get_versiont get_fullnametgetattrt config_varsRaRRR`tcreate_home_pathRgRRRR?tnamet select_schemetexpand_basedirst expand_dirst_expandRkRjRRtset_undefined_optionsRzR~tmapR%R@t get_site_dirst all_site_dirsRt expandusertstripRRtwarnRtappendRZtcheck_site_dirRmt shadow_pathtinsertRvRt create_indexR*t local_indexRnt isinstanceR!Ritscan_egg_linkstadd_find_linksRqtintt ValueErrorRRRoRRptoutputs( RRRxRRBRFRRPt path_itemR((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pytfinalize_optionss           7   . !         cCsx|D]y}t||}|dk rtjdksFtjdkr[tjj|}nt||j}t|||qqWdS(NRtnt( RRgR?RR@RRRtsetattr(Rtattrstattrtval((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyt _expand_attrscs  cCs|jdddgdS(sNCalls `os.path.expanduser` on install_base, install_platbase and root.RRRwN(R(R((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyRlscCs#|jddddddgdS(s+Calls `os.path.expanduser` on install dirs.RzR{R}R|R~RN(R(R((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyRqs cCs|j|jjkr(tj|jnzx%|jD]}|j||j q5W|jr|j}|j rt |j }x/t t |D]}|||||=%(version)s") # this version or higher s Note also that the installation directory must be on sys.path at runtime for this to work. (e.g. by being the application's script directory, by being on PYTHONPATH, or by being added to sys.path by your code.) R( RtRyRjRR%RR@R)R-R_RW( RtreqRtwhatRtegglocRR_R=((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR8"s     cCs&tjj|}tj}dtS(Ns" Extracted editable version of %(spec)s to %(dirname)s If it uses setuptools in its setup script, you can activate it in "development" mode by going to that directory and running:: %(python)s setup.py develop See the setuptools documentation for the "develop" command for more info. (R?R@RRRRW(RRRgRtpython((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyRe>s cCs$tjjdttjjdtt|}|jdkrid|jd}|jdd|n"|jdkr|jddn|jr|jdd nt j d |t |dd j |yt ||Wn;tk rtjd}td |jdfnXdS( Nsdistutils.command.bdist_eggsdistutils.command.egg_infoiRiiR{s-qs-ns Running %s %st sSetup script exited with %s(Rtmodulest setdefaultRRtlistRRRRRRRRt SystemExitRRRp(RRgRGRpR((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyRKs"  $ c Csddg}tjdddtjj|}z|jtjj||j||j|||t|g}g}x?|D]7}x.||D]"}|j|j |j |qWqW| r|j rt j d|n|SWdt|t j|jXdS(NRs --dist-dirRxs egg-dist-tmp-tdirs+No eggs found in %s (setup script problem?)(R R!R?R@Rt_set_fetcher_optionsRRR*RaR)RRRRRR( RRgRGRptdist_dirtall_eggsteggsRR((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyRf`s$    $   c Cs|jjdj}d }i}xF|jD]8\}}||krOq1n|d||jdd |jd|d|fdfq>q>Wq4q4WWd|jXg|D]\}} |j| f^q}|j|j|S(s4Get exe->egg path translations for a given .exe filesPURELIB/RsPLATLIB/pywin32_system32sPLATLIB/sSCRIPTS/sEGG-INFO/scripts/sDATA/lib/site-packagesRiisPKG-INFOis .egg-infois EGG-INFO/s.pths -nspkg.pthtPURELIBtPLATLIBs\Rs%s/%s/N(sPURELIB/R(sPLATLIB/pywin32_system32R(sPLATLIB/R(sSCRIPTS/sEGG-INFO/scripts/(sDATA/lib/site-packagesR(R R (i(RtZipFiletinfolistRRRR,RRtupperRRRRMR$RRNRdRRRtsorttreverse( t exe_filenameRRLRRRRItpthRQty((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR9s<  "#"3 + cCs<ytj|SWn$tk r7td|fnXdS(Ns1Not a URL, existing file, or requirement spec: %r(R+tparseRR(R((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR% s  cBsMeZdZeZddZdZdZdZdZ dZ RS(s)A .pth file with Distribution paths in itcCs||_ttt||_ttjj|j|_|j t j |gddx6t |jD]%}tt|jt|tqoWdS(N(RRRR%RR?R@Rtbasedirt_loadR*t__init__RgR$RR7R)R (RRRR@((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR-s  cCsg|_t}tj|j}tjj|jr3t |jd}x|D]}|j drpt }qOn|j }|jj ||j sO|jj drqOnttjj|j|}|jdcCs7yt||dWnttfk r.tSXtSdS(s%Is this string a valid Python script?texecN(R)t SyntaxErrort TypeErrorRR (ttextR((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyt is_pythons cCsNy)t|}|jd}|jWnttfk rC|SX|dkS(sCDetermine if the specified executable is a .sh (contains a #! line)is#!(RRRRR(Rtfptmagic((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pytis_shs cCsg}t}d}d|kp'd|k}|r@|jdnx|D]z}|dkrf|d7}qG|dkr|jd|ddd}qG|r|jd|d}n|j|qGW|r|jd|n|r|jd||jdnd j|S( s@Quote a command line argument according to Windows parsing rulesiRs t"s\iis\"R(RRR(R5tresultt needquotetnbtc((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR-s,      cCsb|jds|jdr"tSt||r5tS|jdr^d|jdjkStS(sMIs this text, as a whole, a Python script? (as opposed to shell/bat/etc. s.pys.pyws#!Ri(R,R RDRdR*RR(RXR((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyRUs(R]cGsdS(N((Rp((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyt_chmodscCs_tjd||yt||Wn4tjk rZtjd}tjd|nXdS(Nschanging mode of %s to %oischmod failed: %s(RRRMR?terrorRR(R@R^R[((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR]s cCsntjjdrjt|rjddl}|jjjddkrI|S|r_tj dqjd|Sn|S(Ntjavaisos.nametLinuxsWARNING: Unable to adapt shebang line for Jython, the following script is NOT executable see http://bugs.jython.org/issue1112 for more information.s/usr/bin/env %s( RRxRdRGROtlangtSystemt getPropertyRR(RR1RO((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR.s  c cst|j}td||}xdD]{}xr|j|jD][\}}dt}tjdksu|r|dkrd} d} dg} tj d d |} n0d } d } d ddg} tj dd|} t j j | dd!j dstjdkr| } n|} || | |dg| D]}||^q6fV|dt| dfVts|d}|t|dfVqqG|||fVqGWq+WdS(sEYield write_script() argument tuples for a distribution's entrypointsRtconsole_scriptst gui_scriptss# EASY-INSTALL-ENTRY-SCRIPT: %(spec)r,%(group)r,%(name)r __requires__ = %(spec)r import sys from pkg_resources import load_entry_point if __name__ == '__main__': sys.exit( load_entry_point(%(spec)r, %(group)r, %(name)r)() ) twin32tguis -script.pyws.pyws(?i)python.exes pythonw.exetclis -script.pys.pys.pycs.pyos(?i)pythonw.exes python.exeiiRHR[s.exeRVs .exe.manifestN(RTRU(RTR;RVt get_entry_mapRRWRRxR(tsubR?R@RARtget_win_launcherR=tload_launcher_manifest(RRR/RtheaderR,RtepRXt launcher_typeRRt new_headerR2RQtm_name((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyRK0s4 "   1 0  cCstd|}tjjdkr7|jdd}ntrU|jdd}n|jdd}td|S(s Load the Windows launcher (executable) suitable for launching a script. `type` should be either 'cli' or 'gui' Returns the executable as a byte string. s%s.exetarmt.s-arm.s-64.s-32.R(RxtmachineRRNR=R&(ttypet launcher_fn((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR[ds  cCsHtjtd}tjddkr0|tS|jdtSdS(Nslauncher manifest.xmliisutf-8(t pkg_resourcesR&RRRtvarsRM(Rtmanifest((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR\us cCst|rd}n|dkr*d}ng}ytj|}Wn-tjk rr|tj|tjnXx|D]}tjj||}ytj|j }Wntjk rd}nXt j |rt |||qzytj |Wqztjk r*|tj |tjqzXqzWytj|Wn-tjk ro|tj|tjnXdS(sRecursively delete a directory tree. This code is taken from the Python 2.4 version of 'shutil', because the 2.3 version doesn't really work right. cWsdS(N((Rp((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pytonerrorscWsdS(N((Rp((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyRjsiN(RgR?RCRNRRR@Rtlstattst_modeRtS_ISDIRRRtrmdir(R@t ignore_errorsRjRRtfullnameR^((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR|s2     !cCs tjd}tj||S(Ni(R?tumask(ttmp((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR\s cCsMddl}tjj|jd}|tjds((RRpR(R,R}(RpRRsC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyRs(RRt common_usageR((R,R}(sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR~sic s6ddddgdtjdp)ddS(Nt script_argss-qR5s-vRit distclass(RRt((R~RtRRw(sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyRs(RRwtsetuptools.distR,tdistutils.coreRgRRt(RtR(( R,R~RyRtRRzRRwR}sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR8s  (sRRR?RjRDR RR(RRRxRRgRRRtsetuptools.sandboxRRRRt sysconfigRRR R Rtdistutils.sysconfigR RRRRtdistutils.errorsRRRRtdistutils.command.installRRtsetuptools.commandRtsetuptools.archive_utilRtsetuptools.package_indexRRRRRRRR R!R"R#R$R%R&R'R(R)R*R+R,R-R.R/R0R1R2Rtsys_executableR@RBRt__all__ReR_tENABLE_USER_SITERaR;R=R4RRGRJR5RRR7R9R%R6RRVR9RrR;RDRGR-RUR]RMR.RKR[R\RR\RvRgR8(((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyt s                ".d           - ) 6 % h   )     4  #  upload_docs.pyo000064400000015755147576665460007640 0ustar00 b-Qc@s2dZddlZddlZddlZddlZddlZddlZddlmZddl m Z ddl m Z ddl mZyddlmZWn!ek rddlmZnXddlmZmZmZmZejd kZerd Znd Zd d ZdefdYZdS(spupload_docs Implements a Distutils 'upload_docs' subcommand (upload documentation to PyPI's pythonhosted.org). iN(tstandard_b64encode(titer_entry_points(tlog(tDistutilsOptionError(tupload(thttplibturlparsetunicodet iteritemst3tsurrogateescapetstrictsutf-8cCs#t|tr|j|tS|S(N(t isinstanceRtencodeterrors(tstencoding((sB/usr/lib/python2.7/site-packages/setuptools/command/upload_docs.pytb&st upload_docscBs{eZdZdddejfddgZejZdZd efgZ d Z d Z d Z d Z dZRS(sUpload documentation to PyPIs repository=trsurl of repository [default: %s]s show-responses&display full response text from servers upload-dir=sdirectory to uploadcCs1|jdkr-xtddD]}tSWndS(Nsdistutils.commandst build_sphinx(t upload_dirtNoneRtTrue(tselftep((sB/usr/lib/python2.7/site-packages/setuptools/command/upload_docs.pyt has_sphinx9sRcCs#tj|d|_d|_dS(N(Rtinitialize_optionsRRt target_dir(R((sB/usr/lib/python2.7/site-packages/setuptools/command/upload_docs.pyR@s  cCstj||jdkrs|jrF|jd}|j|_q|jd}tj j |j d|_n|j d|j|_|j d|jdS(NRtbuildtdocsRsUsing upload directory %s(Rtfinalize_optionsRRRtget_finalized_commandtbuilder_target_dirRtostpathtjoint build_basetensure_dirnametannounce(RRR((sB/usr/lib/python2.7/site-packages/setuptools/command/upload_docs.pyREs    c Cstj|d}z|j|jxtj|jD]\}}}||jkrs| rstd|jnxj|D]b}tjj||}|t |jj tjj }tjj||} |j || qzWq8WWd|j XdS(Ntws'no files found in upload directory '%s'(tzipfiletZipFiletmkpathRR"twalkRR#R$tlentlstriptseptwritetclose( Rtfilenametzip_filetroottdirstfilestnametfulltrelativetdest((sB/usr/lib/python2.7/site-packages/setuptools/command/upload_docs.pytcreate_zipfileSs" "cCsx!|jD]}|j|q Wtj}|jjj}tjj |d|}z|j ||j |Wdt j |XdS(Ns%s.zip(tget_sub_commandst run_commandttempfiletmkdtempt distributiontmetadatatget_nameR"R#R$R;t upload_filetshutiltrmtree(Rtcmd_namettmp_dirR7R3((sB/usr/lib/python2.7/site-packages/setuptools/command/upload_docs.pytrunds  cCsZt|d}|j}|j|jj}idd6|jd6tjj||fd6}t |j d|j }t |}t jd(kr|jd}nd |}d }t d t |} | t d } g} xt|D]\} } d | }t| tgkr.| g} nx| D]}t|tkrl|d|d7}|d}n t |}| j| | jt || jt d| j||r5|dt dkr5| jt dq5q5WqW| j| | jt dt dj| } |jd|jtjt|j\}}}}}}|dkrtj|}n.|dkrtj|}ntd|d}tj}yu|j|jd||j dd||j dt!t"| |j d||j#|j$| Wn>t%j&k rrt j'd}|jt!|tj(dSX|j)}|j*dkr|jd |j*|j+ftjnz|j*d!kr |j,d"}|dkrd#|j}n|jd$|tjn#|jd%|j*|j+ftj(|j.rVd&d'|jd&d'fGHndS()Ntrbt doc_uploads:actionR7tcontentt:itasciisBasic s3--------------GHSKFJDLGDS7543FJKLFHRE75642756743254s --s--s* Content-Disposition: form-data; name="%s"s; filename="%s"iis is s tsSubmitting documentation to %sthttpthttpssunsupported schema tPOSTs Content-types multipart/form-data; boundary=%ssContent-lengtht AuthorizationisServer response (%s): %si-tLocationshttps://pythonhosted.org/%s/sUpload successful. Visit %ssUpload failed (%s): %st-iK(i(/topentreadR1R@RARBR"R#tbasenameRtusernametpasswordRtsyst version_infotdecodeRttypettupletappendR$R't repositoryRtINFORRtHTTPConnectiontHTTPSConnectiontAssertionErrortconnectt putrequestt putheadertstrR-t endheaderstsendtsocketterrortexc_infotERRORt getresponsetstatustreasont getheaderRt show_response(RR2tfRKtmetatdatat credentialstauthtboundaryt sep_boundaryt end_boundarytbodytkeytvaluesttitletvaluetschematnetlocturltparamstqueryt fragmentstconntloglevelteRtlocation((sB/usr/lib/python2.7/site-packages/setuptools/command/upload_docs.pyRCrs               !              N(s show-responseNs&display full response text from server(s upload-dir=Nsdirectory to upload(t__name__t __module__t descriptionRtDEFAULT_REPOSITORYRt user_optionstboolean_optionsRt sub_commandsRRR;RHRC(((sB/usr/lib/python2.7/site-packages/setuptools/command/upload_docs.pyR,s        (t__doc__R"RkR)R>RZRDtbase64Rt pkg_resourcesRt distutilsRtdistutils.errorsRtdistutils.command.uploadRt ImportErrortsetuptools.command.uploadtsetuptools.compatRRRRtversiont _IS_PYTHON3RRR(((sB/usr/lib/python2.7/site-packages/setuptools/command/upload_docs.pyts*       "  install_scripts.pyo000064400000005051147576665460010545 0ustar00 b-Qc@sbddlmZddlmZmZmZddlZddlm Z defdYZdS(i(tinstall_scripts(t Distributiont PathMetadatatensure_directoryN(tlogRcBs,eZdZdZdZddZRS(s;Do normal script install, plus any egg_info wrapper scriptscCstj|t|_dS(N(t_install_scriptstinitialize_optionstFalsetno_ep(tself((sF/usr/lib/python2.7/site-packages/setuptools/command/install_scripts.pyR s c Csddlm}ddlm}|jd|jjrItj|n g|_|j r_dS|j d}t |j t |j |j|j|j}|j d}t|d|}t|j ddt}x'||||D]}|j|qWdS( Ni(tget_script_args(tsys_executabletegg_infot build_scriptst executablet bdist_wininstt _is_running(tsetuptools.command.easy_installR R t run_commandt distributiontscriptsRtruntoutfilesRtget_finalized_commandRtegg_baseRR tegg_namet egg_versiontgetattrRt write_script( R R R tei_cmdtdisttbs_cmdRt is_wininsttargs((sF/usr/lib/python2.7/site-packages/setuptools/command/install_scripts.pyRs$    ttc Gsddlm}m}tjd||jtjj|j|}|j j ||}|j st |t |d|} | j|| j||d|ndS(s1Write an executable file to the scripts directoryi(tchmodt current_umasksInstalling %s script to %stwiN(RR#R$Rtinfot install_dirtostpathtjoinRtappendtdry_runRtopentwritetclose( R t script_nametcontentstmodetignoredR#R$ttargettmasktf((sF/usr/lib/python2.7/site-packages/setuptools/command/install_scripts.pyR(s     (t__name__t __module__t__doc__RRR(((sF/usr/lib/python2.7/site-packages/setuptools/command/install_scripts.pyRs  ( t!distutils.command.install_scriptsRRt pkg_resourcesRRRR(t distutilsR(((sF/usr/lib/python2.7/site-packages/setuptools/command/install_scripts.pyts build_ext.pyc000064400000024127147576665460007300 0ustar00 b-Qc @sddlmZyddlmZWnek r=eZnXddlZddlZddlm Z ddl m Z ddl m Z ddlmZyddlmZWn>ek rddlmZed [dd lmZnXdd lmZdd lTeZeZd Zejdkr/eZnFejdkruy ddlmZeZeZWquek rqquXndZ defdYZesejdkrddddddddddd Z"n-dZddddddddddd Z"dS(i(t build_extN(t copy_file(tLibrary(t new_compiler(tcustomize_compiler(t _CONFIG_VARS(tget_config_vartLDSHARED(t _config_vars(tlog(t*tsharedtdarwintnt(tRTLD_NOWcCstr |SdS(Nt(t have_rtld(ts((s@/usr/lib/python2.7/site-packages/setuptools/command/build_ext.pytif_dl&sRcBseZdZdZeek r@eed r@dZndZdZ dZ dZ dZ d Z d Zd Zed ZRS( cCs@|jd}|_tj|||_|r<|jndS(s;Build extensions in build directory, then copy if --inplaceiN(tinplacet _build_exttruntcopy_extensions_to_source(tselft old_inplace((s@/usr/lib/python2.7/site-packages/setuptools/command/build_ext.pyR1s   c Cs|jd}x|jD]}|j|j}|j|}|jd}dj|d }|j|}tj j|tj j |}tj j|j |} t | |d|j d|j|jr|j|ptj|tqqWdS(Ntbuild_pyt.itverbosetdry_run(tget_finalized_commandt extensionstget_ext_fullnametnametget_ext_filenametsplittjointget_package_dirtostpathtbasenamet build_libRRRt _needs_stubt write_stubtcurdirtTrue( RRtexttfullnametfilenametmodpathtpackaget package_dirt dest_filenamet src_filename((s@/usr/lib/python2.7/site-packages/setuptools/command/build_ext.pyR9s!  t pyrex_sourcescGs+tj||p|}tj|||S(N(Rt swig_sourcest _du_build_ext(Rtsourcest otherargs((s@/usr/lib/python2.7/site-packages/setuptools/command/build_ext.pyR6QscCstj||}||jkr|j|}t|trhtjj|\}}|jj |t St r|j rtjj |\}}tjj|d|Sn|S(Nsdl-(RR!text_mapt isinstanceRR%R&tsplitexttshlib_compilertlibrary_filenametlibtypet use_stubst_links_to_dynamicR"R#(RR.R/R-tfntd((s@/usr/lib/python2.7/site-packages/setuptools/command/build_ext.pyR!Ys cCs,tj|d|_g|_i|_dS(N(Rtinitialize_optionstNoneR=tshlibsR:(R((s@/usr/lib/python2.7/site-packages/setuptools/command/build_ext.pyRDes   c Cstj||jpg|_|j|jg|jD]}t|tr9|^q9|_|jrs|jnx&|jD]}|j|j |_ q}Wx|jD]}|j }||j |<||j |j dd<|jr|j |pt}|_|otot|t |_|j|}|_tjjtjj|j|}|r||jkr|jj|n|rtrtj|jkr|jjtjqqWdS(NRi(Rtfinalize_optionsRtcheck_extensions_listR;RRFtsetup_shlib_compilerRR t _full_nameR:R"tlinks_to_dynamictFalseRAR@R)R!t _file_nameR%R&tdirnameR#R(t library_dirstappendR+truntime_library_dirs(RR-R.tltdR/tlibdir((s@/usr/lib/python2.7/site-packages/setuptools/command/build_ext.pyRGks*     %$cCstd|jd|jd|j}|_tjdkrtj}z,dtdt startswithtcreate_static_lib(RRRRRcRORQRoRRRRRR/R'R-((s@/usr/lib/python2.7/site-packages/setuptools/command/build_ext.pyRjs  (#tdistutils.command.build_extRR7tPyrex.Distutils.build_extRt ImportErrorR%RXtdistutils.file_utilRtsetuptools.extensionRtdistutils.ccompilerRtdistutils.sysconfigRt sysconfigRRRt distutilsR tdistutils.errorsRLRR@R?RYR,R tdlRRRERj(((s@/usr/lib/python2.7/site-packages/setuptools/command/build_ext.pytsT              bdist_egg.pyc000064400000044273147576665460007254 0ustar00 b-Qc@sdZddlZddlZddlZddlmZddlmZmZy#ddl m Z m Z dZ Wn0e k rddlmZm Z dZ nXdd lmZdd lmZdd lmZmZmZdd lmZdd lmZddlmZmZddlmZdZ dZ!dZ"defdYZ#e$j%dj&Z'dZ(dZ)dZ*ide+6de,6Z-dZ.dZ/dZ0ddd d!gZ1d"d"e2d#d$Z3dS(%s6setuptools.command.bdist_egg Build .egg distributionsiN(tCommand(t remove_treetmkpath(tget_pathtget_python_versioncCs tdS(Ntpurelib(R(((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyt _get_purelib s(tget_python_libRcCs ttS(N(RtFalse(((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyRs(tlog(tDistutilsSetupError(tget_build_platformt Distributiontensure_directory(t EntryPoint(tCodeType(t basestringtnext(tLibrarycCsEd|kr%tjj|d}n|jdrA|d }n|S(Nt.itmodulei(tostpathtsplitexttendswith(tfilename((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyt strip_modules   c CsOt|d}|jdjdddd|ddd d g|jdS( Ntws sdef __bootstrap__():s- global __bootstrap__, __loader__, __file__s! import sys, pkg_resources, imps: __file__ = pkg_resources.resource_filename(__name__,%r)s3 __loader__ = None; del __bootstrap__, __loader__s& imp.load_dynamic(__name__,__file__)s__bootstrap__()t(topentwritetjointclose(tresourcetpyfiletf((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyt write_stub"s  s7__import__("pkg_resources").declare_namespace(__name__)t bdist_eggcBseZdZddddefd d d d d fd!d"gZd ddgZdZdZdZ dZ dZ dZ dZ dZdZdZdZdZRS(#screate an "egg" distributions bdist-dir=tbs1temporary directory for creating the distributions plat-name=tps;platform name to embed in generated filenames (default: %s)sexclude-source-filess+remove all .py files from the generated eggs keep-temptks/keep the pseudo-installation tree around after s!creating the distribution archives dist-dir=tds-directory to put final built distributions ins skip-builds2skip rebuilding everything (for testing/debugging)cCsCd|_d|_d|_d|_d|_d|_d|_dS(Ni(tNonet bdist_dirt plat_namet keep_temptdist_dirt skip_buildt egg_outputtexclude_source_files(tself((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pytinitialize_options]s      cCs|jd}|_|j|_|jdkr^|jdj}tjj|d|_n|j dkr|t |_ n|j dd|j dkrt dd|j|jt|jjo|j j}tjj|j|d|_ ndS(Ntegg_infotbdistteggR.s.egg(sdist_dirsdist_dir(tget_finalized_commandtei_cmdR4R+R*t bdist_baseRRRR,R tset_undefined_optionsR0R tegg_namet egg_versionRt distributionthas_ext_modulesR.(R2R8R9tbasename((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pytfinalize_optionsgs !cCs`|j|jd_tjjtjjt}|jj g}|j_ x|D]}t |t rt |dkrtjj |drtjj|d}tjj|}||ks|j|tjr|t |d|df}qqn|jj j|qVWz1tjd|j|jdddddWd||j_ XdS( Ntinstalliiisinstalling package data to %st install_datatforcetroot(R+R7t install_libRRtnormcasetrealpathRR=t data_filest isinstancettupletlentisabst startswithtseptappendR tinfot call_commandR*(R2t site_packagestoldtitemRGt normalized((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pytdo_install_datas ! !'cCs |jgS(N(R0(R2((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyt get_outputsscKsmx!tD]}|j||jqW|jd|j|jd|j|j||}|j||S(s8Invoke reinitialized command `cmdname` with keyword argsR/tdry_run(tINSTALL_DIRECTORY_ATTRSt setdefaultR+R/RXtreinitialize_commandt run_command(R2tcmdnametkwtdirnametcmd((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyRQs  c Cs|jdtjd|j|jd}|j}d|_|jjrk|j rk|jdn|j ddd}||_|j \}}g|_ g}xt |D]\}}tjj|\} } tjj|jt| d} |j j| tjd ||jsCttjj|| n|j| |jtjd ||R7t extensionsRIRtget_ext_fullnameRtget_ext_filenameR?RMRy( R2RRtpathsRRRRt build_cmdRtfullname((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyRm_s(" " -$(s bdist-dir=R&s1temporary directory for creating the distributionN(sexclude-source-filesNs+remove all .py files from the generated egg(s dist-dir=R)s-directory to put final built distributions in(s skip-buildNs2skip rebuilding everything (for testing/debugging)(t__name__t __module__t descriptionR R*t user_optionstboolean_optionsR3R@RVRWRQRR{RxRrR}RtRm(((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyR%4s8      R   ) s.dll .so .dylib .pydccshtj|}t|\}}}d|kr@|jdn|||fVx|D] }|VqUWdS(s@Walk an unpacked egg's contents, skipping the metadata directorysEGG-INFON(RRRtremove(tegg_dirtwalkerRRRtbdf((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyRs  c CsxBtjD]4\}}tjjtjj|d|r |Sq WtsRtSt}xt |D]\}}}xn|D]f}|j ds{|j drq{q{|j ds|j dr{t ||||o|}q{q{WqeW|S(NsEGG-INFOs.pys.pyws.pycs.pyo( t safety_flagstitemsRRRyRtcan_scanRtTrueRRt scan_module( RRntflagtfnRRRRR((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyRs$  &cCsxtjD]\}}tjj||}tjj|rq|dks^t||krtj|qq |dk r t||kr t |d}|j d|j q q WdS(NRhs ( RRRRRRyR*tboolRvRRR (RRRRR#((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyRws szip-safes not-zip-safec Cstjj||}|d |kr)tS|t|djtjd}||r[dp^dtjj|d}tj dkrd}nd}t |d }|j |t j |} |jt} tjt| } x<d d gD].} | | krtjd || t} qqWd | krxZdddddddddddg D].} | | krWtjd|| t} qWqWWnd| krd| krd|krtjd dkrtjd|t} qn| S(s;Check whether module possibly uses unsafe-for-zipfile stuffiiRRiiii trbt__file__t__path__s%s: module references %stinspectt getsourcet getabsfilet getsourcefiletgetfilegetsourcelinest findsourcet getcommentst getframeinfotgetinnerframestgetouterframeststackttraces"%s: module MAY be using inspect.%sRt__main__s2.4s.%s: top-level module may be 'python -m' script(ii(RRRRRKRpRNRRt version_infoRtreadtmarshaltloadR tdicttfromkeyst iter_symbolsR RzRR( RRRRnRRRtskipR#tcodeRtsymbolstbad((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyRs>#*         $ ccsvx|jD] }|Vq WxV|jD]K}t|tr@|Vq#t|tr#xt|D] }|Vq\Wq#q#WdS(sBYield names and strings used by `code` and its nested code objectsN(tco_namest co_constsRIRRR(RRtconst((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyRs cCsDtjjd r&tjdkr&tStjdtjddS(Ntjavatclis1Unable to analyze compiled code on this platform.sfPlease ask the author to include a 'zip_safe' setting (either True or False) in the package's setup.py(RtplatformRMRR Rz(((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyRs" RERfRBt install_baseiRc sddl}ttjj|dtjd|fd}|dkrktj dk}n|j |j gt |}s|j ||d|} x0tjD]\} } } || | | qW| jn3x0tjD]\} } } |d| | qW|S(sqCreate a zip file from all the files under 'base_dir'. The output zip file will be named 'base_dir' + ".zip". Uses either the "zipfile" Python module (if available) or the InfoZIP "zip" utility (if installed and found on the default search path). If neither tool is available, raises DistutilsExecError. Returns the name of the output zip file. iNRXs#creating '%s' and adding '%s' to itcsx|D]z}tjjtjj||}tjj|r|td}sm|j||ntjd|qqWdS(Nis adding '%s'( RRRRRuRKRR R(tzR_tnamesRRR'(tbase_dirRX(s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pytvisits !s2.4t compression(tzipfileRRRR_R RPR*RRt ZIP_STOREDt ZIP_DEFLATEDRtZipFileRR ( t zip_filenameRRiRXtcompressRjRRRRR_RR((RRXs@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyR|s   (4t__doc__RRRt setuptoolsRtdistutils.dir_utilRRt sysconfigRRRt ImportErrortdistutils.sysconfigRt distutilsR tdistutils.errorsR t pkg_resourcesR R R RttypesRtsetuptools.compatRRtsetuptools.extensionRRR$RR%RRtsplitRRRRwRRRRRRRYR*R|(((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pytsD$     H    # - register.pyo000064400000001264147576665460007156 0ustar00 b-Qc@s*ddlmZdefdYZdS(i(tregisterRcBseZejZdZRS(cCs|jdtj|dS(Ntegg_info(t run_commandt _registertrun(tself((s?/usr/lib/python2.7/site-packages/setuptools/command/register.pyRs (t__name__t __module__Rt__doc__R(((s?/usr/lib/python2.7/site-packages/setuptools/command/register.pyRs N(tdistutils.command.registerRR(((s?/usr/lib/python2.7/site-packages/setuptools/command/register.pytsupload.pyo000064400000014406147576665460006620 0ustar00 b-Qc@sdZddlTddlmZddlmZddlmZyddlm Z Wn!e k rwddl m Z nXddl Z ddl Z ddl Z ddlZddlZddlmZmZmZmZd efd YZdS( s`distutils.command.upload Implements the Distutils 'upload' subcommand (upload package to PyPI).i(t*(tCommand(tspawn(tlog(tmd5N(turlparsetStringIOthttplibt ConfigParsertuploadcBsceZdZdZdddefdddgZddgZd ZdZdZ dZ RS(supload binary package to PyPIshttps://pypi.python.org/pypis repository=trsurl of repository [default: %s]s show-responses&display full response text from servertsigntsssign files to upload using gpgs identity=tisGPG identity used to sign filescCs:d|_d|_d|_d|_t|_d|_dS(Nti(tusernametpasswordt repositoryt show_responsetFalseR tNonetidentity(tself((s=/usr/lib/python2.7/site-packages/setuptools/command/upload.pytinitialize_options&s      cCs&|jr"|j r"tdndtjkr tjjtjdd}tjj|r |jd|t j idd6dd6dd6}|j ||j s|j d d|_ n|j s|j d d|_ n|js|j d d|_qq n|j s"|j|_ ndS( Ns.Must use --sign for --identity to have meaningtHOMEs.pypircsUsing PyPI login from %sRRRRs server-login(RR tDistutilsOptionErrortostenvirontpathtjointexiststannounceRtreadRtgetRRtDEFAULT_REPOSITORY(Rtrctconfig((s=/usr/lib/python2.7/site-packages/setuptools/command/upload.pytfinalize_options.s(        cCsR|jjstdnx0|jjD]"\}}}|j|||q(WdS(Ns'No dist file created in earlier command(t distributiont dist_filesRt upload_file(Rtcommandt pyversiontfilename((s=/usr/lib/python2.7/site-packages/setuptools/command/upload.pytrunEs c Cs/|jrSddd|g}|jr=d|jg|dd+nt|d|jnt|d}|j}|jtjj |}d}|d kr|j j rd t j d d }nid d6dd6|j j d6|j jd6||fd6|d6|d6t|jd6} |dkrct j\} } } | rd| | f}qn%|dkrdt j d d }n|| d<|jrt|d} tjj |d| jf| d<| jndtj|jd|jj}d }d!|}|d"}tj}x| jD]\}}t|tgkrh|g}nx|D]}t|tkrd#|d$}|d }nd}t|}|j||jd%||j||jd&|j||ro|d'd(kro|jd)qoqoWq8W|j||jd)|j}|jd*||jft j!t"|j\}}}}}}|d+krt#j$|}n.|d,krt#j%|}nt&d-|d} t j!}yu|j'|j(d.||j)d/d0||j)d1tt*||j)d2||j+|j,|Wn>t-j.k rt/j0d }|jt|t j1dSX|j2}|j3d3kr|jd4|j3|j4ft j!n#|jd5|j3|j4ft j1|j5r+d6d7|jd6d7fGHndS(8Ntgpgs --detach-signs-as --local-useritdry_runtrbRt bdist_eggs built on %stterseit file_uploads:actiont1tprotocol_versiontnametversiontcontenttfiletypeR*t md5_digestt bdist_rpmsbuilt for %s %st bdist_dumbs built for %stcomments.asct gpg_signaturesBasic t:s3--------------GHSKFJDLGDS7543FJKLFHRE75642756743254s --s--s;filename="%s"is* Content-Disposition: form-data; name="%s"s is s sSubmitting %s to %sthttpthttpssunsupported schema tPOSTs Content-types multipart/form-data; boundary=%ssContent-lengtht AuthorizationisServer response (%s): %ssUpload failed (%s): %st-iK(6R RRR.topenR tcloseRRtbasenameR&thas_ext_modulestplatformtget_namet get_versionRt hexdigesttdisttbase64t encodestringRRtstripRtitemsttypettupletstrtwritetgetvalueRRRtINFORRtHTTPConnectiontHTTPSConnectiontAssertionErrortconnectt putrequestt putheadertlent endheaderstsendtsocketterrortsystexc_infotERRORt getresponsetstatustreasonR( RR)R*R+tgpg_argstfR7RFR<tdataRLR6tidtasc_filetauthtboundaryt sep_boundaryt end_boundarytbodytkeytvaluetfntschematnetlocturltparamstqueryt fragmentsR?tloglevelteR ((s=/usr/lib/python2.7/site-packages/setuptools/command/upload.pyR(Ks           & '               !           N(s show-responseNs&display full response text from server(ssignR ssign files to upload using gpg(s identity=R sGPG identity used to sign files( t__name__t __module__t descriptionR"Rt user_optionstboolean_optionsRR%R,R((((s=/usr/lib/python2.7/site-packages/setuptools/command/upload.pyR s      (t__doc__tdistutils.errorstdistutils.coreRtdistutils.spawnRt distutilsRthashlibRt ImportErrorRRbR`RHRMtsetuptools.compatRRRRR (((s=/usr/lib/python2.7/site-packages/setuptools/command/upload.pyts       "develop.pyo000064400000013273147576665460006773 0ustar00 b-Qc@sddlmZddlmZmZddlmZmZmZddl m Z ddl m Z m Z ddlZddlZddlZddlZdefdYZdS( i(t easy_install(t convert_patht subst_vars(t Distributiont PathMetadatatnormalize_path(tlog(tDistutilsErrortDistutilsOptionErrorNtdevelopcBsseZdZdZejd dgZejdgZeZ dZ dZ d Z d Z d Zd ZRS(sSet up package for developments%install package in 'development mode't uninstalltusUninstall this source packages egg-path=s-Set the path to be used in the .egg-link filecCs7|jrt|_|jn |j|jdS(N(R tTruet multi_versiontuninstall_linktinstall_for_developmenttwarn_deprecated_options(tself((s>/usr/lib/python2.7/site-packages/setuptools/command/develop.pytruns     cCs5d|_d|_tj|d|_d|_dS(Nt.(tNoneR tegg_pathRtinitialize_optionst setup_pathtalways_copy_from(R((s>/usr/lib/python2.7/site-packages/setuptools/command/develop.pyRs     cCs|jd}|jr7td|j|jfn|jg|_tj||j|j |j j t j dt jj|j|jd|_|j|_|jdkrt jj|j|_nt|j}tt jj|j|j|kr!td|nt|t|t jj|jd|j|_|jjt jd}|t jkrd|jdd }n||_tt jj|j|j|}|tt jkrtd |tt jndS( Ntegg_infos-Please rename %r to %r before using 'develop's*.eggs .egg-linksA--egg-path must be a relative path from the install directory to t project_namet/s../isGCan't get a consistent path to setup script from installation directory( tget_finalized_commandtbroken_egg_infoRRtegg_nametargsRtfinalize_optionstexpand_basedirst expand_dirst package_indextscantglobtostpathtjoint install_dirtegg_linktegg_baseRRtabspathRRRRtdisttreplacetseptcurdirtcountR(Rteittargettp((s>/usr/lib/python2.7/site-packages/setuptools/command/develop.pyR 's@    " '  $cCstjd krt|jdtr|jddd|jd|jd}t|j }|jdd||jd|jddd|jd|jd}||_ ||j _ t ||j|j _n-|jd|jddd |jd|jtjr=|jtjdt_ntjd |j|j|jst|jd }|j|j d |j|jn|jd|j |j dS(Nituse_2to3tbuild_pytinplaceiRR+t build_extisCreating %s (link to %s)tws (i( tsyst version_infotgetattrt distributiontFalsetreinitialize_commandt run_commandRRt build_libRR-tlocationRRt _providertinstall_site_pyt setuptoolstbootstrap_install_fromRRRtinfoR*R+tdry_runtopentwriteRtclosetprocess_distributiontno_deps(Rtbpy_cmdt build_pathtei_cmdtf((s>/usr/lib/python2.7/site-packages/setuptools/command/develop.pyRVs4$            cCstjj|jrtjd|j|jt|j}g|D]}|j^qD}|j ||j g|j |j gfkrtj d|dS|j stj|jqn|j s|j|jn|jjrtj dndS(NsRemoving %s (link to %s)s$Link points to %s: uninstall aborteds5Note: you must uninstall or replace scripts manually!(R&R'texistsR*RRGR+RItrstripRKRRtwarnRHtunlinkt update_pthR-R=tscripts(Rt egg_link_filetlinetcontents((s>/usr/lib/python2.7/site-packages/setuptools/command/develop.pyRs $   cCs||jk rtj||S|j|x|jjp>gD]k}tjjt |}tjj |}t |d}|j }|j |j||||q?WdS(NtrU(R-Rtinstall_egg_scriptstinstall_wrapper_scriptsR=RWR&R'R,RtbasenameRItreadRKtinstall_script(RR-t script_namet script_pathRQt script_text((s>/usr/lib/python2.7/site-packages/setuptools/command/develop.pyR\s   (s uninstallR sUninstall this source packageN(s egg-path=Ns-Set the path to be used in the .egg-link file(t__name__t __module__t__doc__t descriptionRt user_optionsRtboolean_optionsR>tcommand_consumes_argumentsRRR RRR\(((s>/usr/lib/python2.7/site-packages/setuptools/command/develop.pyR s   / . (tsetuptools.command.easy_installRtdistutils.utilRRt pkg_resourcesRRRt distutilsRtdistutils.errorsRRR&R:RER%R (((s>/usr/lib/python2.7/site-packages/setuptools/command/develop.pyts 0install_egg_info.pyo000064400000011073147576665460010634 0ustar00 b-Qc@stddlmZddlmZddlmZmZddlZddlZddl Z defdYZ dS(i(tCommand(tunpack_archive(tlogtdir_utilNtinstall_egg_infocBs\eZdZdZd gZdZdZdZdZdZ d Z d Z RS( s.Install an .egg-info directory for the packages install-dir=tdsdirectory to install tocCs d|_dS(N(tNonet install_dir(tself((sG/usr/lib/python2.7/site-packages/setuptools/command/install_egg_info.pytinitialize_optionsscCs|jdd|jd}tjdd|j|jjd}|j|_t j j |j ||_ |j g|_dS(Nt install_libRtegg_infos .egg-info(s install_dirs install_dir(tset_undefined_optionstget_finalized_commandt pkg_resourcest DistributionRtegg_namet egg_versionR tsourcetostpathtjoinRttargettoutputs(Rtei_cmdtbasename((sG/usr/lib/python2.7/site-packages/setuptools/command/install_egg_info.pytfinalize_optionss cCs|jd|j}tjj|jr]tjj|j r]tj|jd|jn;tjj |jr|j tj |jfd|jn|jst j |jn|j |jdd|j|jf|jdS(NR tdry_runs Removing sCopying %s to %s((t run_commandRRRtisdirtislinkRt remove_treeRtexiststexecutetunlinkRtensure_directorytcopytreeRtinstall_namespaces(RR((sG/usr/lib/python2.7/site-packages/setuptools/command/install_egg_info.pytruns  +& cCs|jS(N(R(R((sG/usr/lib/python2.7/site-packages/setuptools/command/install_egg_info.pyt get_outputs*scs)fd}tjj|dS(Ncs[x1dD])}|j|s,d||krdSqWjj|tjd|||S(Ns.svn/sCVS/t/sCopying %s to %s(s.svn/sCVS/(t startswithRRtappendRtdebug(tsrctdsttskip(R(sG/usr/lib/python2.7/site-packages/setuptools/command/install_egg_info.pytskimmer/s  (RRR(RR/((RsG/usr/lib/python2.7/site-packages/setuptools/command/install_egg_info.pyR$-s cCs|j}|sdStjj|j\}}|d7}|jj|tjd||j st |d}xy|D]q}t |}t |j d}d}d|krddj|d |df}n|jdtqzW|jndS( Ns -nspkg.pths Installing %stwtt.s s(; m and setattr(sys.modules[%r], %r, m) is7import sys,types,os; p = os.path.join(sys._getframe(1).f_locals['sitedir'], *%(pth)r); ie = os.path.exists(os.path.join(p,'__init__.py')); m = not ie and sys.modules.setdefault(%(pkg)r,types.ModuleType(%(pkg)r)); mp = (m or []) and m.__dict__.setdefault('__path__',[]); (p not in mp) and mp.append(p)%(trailer)s(t_get_all_ns_packagesRRtsplitextRRR*RtinfoRtopentstrttupletsplitRtwritetlocalstclose(Rtnsptfilenametexttftpkgtpthttrailer((sG/usr/lib/python2.7/site-packages/setuptools/command/install_egg_info.pyR%Ss(      !cCsvi}xS|jjpgD]?}|jd}x'|rWd|dj|<|jq1WqWt|}|j|S(NR1i(t distributiontnamespace_packagesR8Rtpoptlisttsort(RR<R@((sG/usr/lib/python2.7/site-packages/setuptools/command/install_egg_info.pyR2rs   (s install-dir=Rsdirectory to install to( t__name__t __module__t__doc__t descriptiont user_optionsR RR&R'R$R%R2(((sG/usr/lib/python2.7/site-packages/setuptools/command/install_egg_info.pyRs     & ( t setuptoolsRtsetuptools.archive_utilRt distutilsRRRtshutilRR(((sG/usr/lib/python2.7/site-packages/setuptools/command/install_egg_info.pyts$setopt.pyo000064400000013642147576665460006653 0ustar00 b-Qc@sddlZddlZddlmZddlmZddlmZddlTdddd gZd d Z e d Z defd YZ d e fdYZ dS(iN(tCommand(t convert_path(tlog(t*t config_filet edit_configt option_basetsetopttlocalcCs|dkrdS|dkr>tjjtjjtjdS|dkrtjdkr_dpbd}tjjtd |St d |d S( sGet the filename of the distutils, local, global, or per-user config `kind` must be one of "local", "global", or "user" Rs setup.cfgtglobals distutils.cfgtusertposixt.ts~/%spydistutils.cfgs7config_file() type must be 'local', 'global', or 'user'N( tostpathtjointdirnamet distutilst__file__tnamet expanduserRt ValueError(tkindtdot((s=/usr/lib/python2.7/site-packages/setuptools/command/setopt.pyR s    c Csddlm}tjd||j}|j|gx+|jD]\}}|d krtjd|||j |qI|j |stjd|||j |nx|jD]\}}|d kr6tjd||||j |||j |sbtjd|||j |qbqtjd|||||j|||qWqIWtjd ||st|d } |j| | jnd S( sYEdit a configuration file to include `settings` `settings` is a dictionary of dictionaries or ``None`` values, keyed by command/section name. A ``None`` value means to delete the entire section, while a dictionary lists settings to be changed or deleted in that section. A setting of ``None`` means to delete that setting. i(t ConfigParsersReading configuration from %ssDeleting section [%s] from %ssAdding new section [%s] to %ssDeleting %s.%s from %ss#Deleting empty [%s] section from %ssSetting %s.%s to %r in %ss Writing %stwN(tsetuptools.compatRRtdebugtRawConfigParsertreadtitemstNonetinfotremove_sectiont has_sectiont add_sectiont remove_optiontoptionstsettopentwritetclose( tfilenametsettingstdry_runRtoptstsectionR&toptiontvaluetf((s=/usr/lib/python2.7/site-packages/setuptools/command/setopt.pyR*s:        cBs;eZdZd d dgZddgZd Zd ZRS(s<Abstract base class for commands that mess with config filess global-configtgs0save options to the site-wide distutils.cfg files user-configtus7save options to the current user's pydistutils.cfg files filename=R2s-configuration file to use (default=setup.cfg)cCsd|_d|_d|_dS(N(R t global_configt user_configR+(tself((s=/usr/lib/python2.7/site-packages/setuptools/command/setopt.pytinitialize_optionscs  cCsg}|jr%|jtdn|jrD|jtdn|jdk rf|j|jn|s|jtdnt|dkrtd|n|\|_dS(NR R Ris/Must specify only one configuration file option(R5tappendRR6R+R tlentDistutilsOptionError(R7t filenames((s=/usr/lib/python2.7/site-packages/setuptools/command/setopt.pytfinalize_optionshs   (s global-configR3s0save options to the site-wide distutils.cfg file(s user-configR4s7save options to the current user's pydistutils.cfg file(s filename=R2s-configuration file to use (default=setup.cfg)(t__name__t __module__t__doc__t user_optionstboolean_optionsR8R=(((s=/usr/lib/python2.7/site-packages/setuptools/command/setopt.pyRSs   cBsXeZdZdZddddgejZejd gZdZdZdZ RS(s#Save command-line options to a files1set an option in setup.cfg or another config filescommand=tcscommand to set an option forsoption=tos option to sets set-value=tssvalue of the optiontremovetrsremove (unset) the valuecCs5tj|d|_d|_d|_d|_dS(N(RR8R tcommandR0t set_valueRF(R7((s=/usr/lib/python2.7/site-packages/setuptools/command/setopt.pyR8s     cCsftj||jdks+|jdkr:tdn|jdkrb|j rbtdndS(Ns%Must specify --command *and* --options$Must specify --set-value or --remove(RR=RHR R0R;RIRF(R7((s=/usr/lib/python2.7/site-packages/setuptools/command/setopt.pyR=s  cCs=t|jii|j|jjdd6|j6|jdS(Nt-t_(RR+RIR0treplaceRHR-(R7((s=/usr/lib/python2.7/site-packages/setuptools/command/setopt.pytruns #(scommand=RCscommand to set an option for(soption=RDs option to set(s set-value=REsvalue of the option(sremoveRGsremove (unset) the value( R>R?R@t descriptionRRARBR8R=RM(((s=/usr/lib/python2.7/site-packages/setuptools/command/setopt.pyR|s   (RRt setuptoolsRtdistutils.utilRRtdistutils.errorst__all__RtFalseRRR(((s=/usr/lib/python2.7/site-packages/setuptools/command/setopt.pyts  ))bdist_rpm.pyo000064400000004365147576665460007322 0ustar00 b-Qc@sBddlmZddlZddlZdefdYZdS(i(t bdist_rpmNRcBsAeZdZejdkr-ddZndZdZRS(cCstj|d|_dS(N(t _bdist_rpmtinitialize_optionstNonetno_egg(tself((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_rpm.pyR s s2.5ic Cstj||||||jkr|jdrt|jdgjd|jdradpktjd t j j |t j j |fndS(Ns.rpmt dist_filesRs.src.rpmtanyi( Rt move_filetdist_dirtendswithtgetattrt distributiontappendtsystversiontostpathtjointbasename(Rtsrctdsttlevel((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_rpm.pyRs cCs|jdtj|dS(Ntegg_info(t run_commandRtrun(R((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_rpm.pyRs cCs|jj}|jdd}tj|}d|}d|}g|D]<}|jddjddjdd j||^qK}|j|j|d d ||S( Nt-t_s%define version sSource0: %{name}-%{version}.tars)Source0: %{name}-%{unmangled_version}.tarssetup.py install s5setup.py install --single-version-externally-managed s%setups&%setup -n %{name}-%{unmangled_version}is%define unmangled_version (R t get_versiontreplaceRt_make_spec_filetinserttindex(RRt rpmversiontspectline23tline24tline((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_rpm.pyR*s   F!(t__name__t __module__RRRRRR(((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_rpm.pyR s   (tdistutils.command.bdist_rpmRRRR(((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_rpm.pytsrotate.pyo000064400000005607147576665460006635 0ustar00 b-Qc@s|ddlZddlZddlmZddlmZddlmZddlmZddl TdefdYZ dS( iN(tCommand(t basestring(t convert_path(tlog(t*trotatecBsDeZdZdZdddgZgZd Zd Zd ZRS(sDelete older distributionss2delete older distributions, keeping N newest filessmatch=tmspatterns to match (required)s dist-dir=tds%directory where the distributions areskeep=tks(number of matching distributions to keepcCsd|_d|_d|_dS(N(tNonetmatchtdist_dirtkeep(tself((s=/usr/lib/python2.7/site-packages/setuptools/command/rotate.pytinitialize_optionss  cCs|jdkrtdn|jdkr<tdnyt|j|_Wntk rqtdnXt|jtrg|jjdD]}t |j ^q|_n|j dddS(NsQMust specify one or more (comma-separated) match patterns (e.g. '.zip' or '.egg')s$Must specify number of files to keeps--keep must be an integert,tbdistR (sdist_dirsdist_dir( R R tDistutilsOptionErrorR tintt ValueErrort isinstanceRtsplitRtstriptset_undefined_options(R tp((s=/usr/lib/python2.7/site-packages/setuptools/command/rotate.pytfinalize_optionss  7cCs|jdddlm}x|jD]}|jjd|}|tjj|j|}g|D]}tjj ||f^qi}|j |j t j dt||||j}x=|D]5\}}t j d||jstj|qqWq'WdS(Ntegg_infoi(tglobRs%d file(s) matching %ss Deleting %s(t run_commandRR t distributiontget_nametostpathtjoinR tgetmtimetsorttreverseRtinfotlenR tdry_runtunlink(R Rtpatterntfilestftt((s=/usr/lib/python2.7/site-packages/setuptools/command/rotate.pytrun+s +    (smatch=Rspatterns to match (required)(s dist-dir=Rs%directory where the distributions are(skeep=Rs(number of matching distributions to keep( t__name__t __module__t__doc__t descriptiont user_optionstboolean_optionsRRR-(((s=/usr/lib/python2.7/site-packages/setuptools/command/rotate.pyRs   ( t distutilsRt setuptoolsRtsetuptools.compatRtdistutils.utilRRtdistutils.errorsR(((s=/usr/lib/python2.7/site-packages/setuptools/command/rotate.pyts  sdist.pyc000064400000023656147576665460006455 0ustar00 b-Qc@siddlmZddlmZddlmZddlmZddlZddl Z ddl Z ddl Z ddlmZd#Z d$d%d&d'd(gZ dZddZdZddZddZdZe jde jZdZedee jde jfedefedefed efgZd!efd"YZdS()i(tsdist(t convert_path(tlog(tglobNtREADMEs README.rsts README.txts<ts"t"s't's&t&cCs-x&tD]\}}|j||}qW|S(N(tentitiestreplace(tdatatoldtnew((s</usr/lib/python2.7/site-packages/setuptools/command/sdist.pytunescapescsfd}|S(Nc3sut|d}|j}|jxIj|D]8}|jd}r_|}nt||Vq5WdS(NtrUi(topentreadtclosetfinditertgrouptjoinpath(tdirnametfilenametfR tmatchtpath(tpatterntpostproc(s</usr/lib/python2.7/site-packages/setuptools/command/sdist.pytfinds  ((RRR((RRs</usr/lib/python2.7/site-packages/setuptools/command/sdist.pyt re_finders cCs|s |Stjj||S(N(tosRtjoin(tprefixtsuffix((s</usr/lib/python2.7/site-packages/setuptools/command/sdist.pyR stccs@x9tjdD](}x|j|D] }|Vq)WqWdS(s%Find all files under revision controlssetuptools.file_findersN(t pkg_resourcestiter_entry_pointstload(Rteptitem((s</usr/lib/python2.7/site-packages/setuptools/command/sdist.pyt walk_revctrl-sccsxtD]\}}t||}tjj|rxe|||D]Q}tjj|rd|VqDtjj|rDxt|D] }|VqWqDqDWqqWdS(N(tfindersRR Rtisfiletisdirt_default_revctrl(RRtfinderR)((s</usr/lib/python2.7/site-packages/setuptools/command/sdist.pyR.3sc cst}t|d}xt|jdD]}|j}t|dkr(|\}}|jt|}|dkr|dkrt}q|dkr|r|j Pqq(q(W|j dSx;|j D]-}|j}|rt ||dVqqWdS( s$Find any 'svn:externals' directoriestrtR$itKs svn:externalstVNi( tFalseRtitertreadlinetsplittlenRtinttTrueRt splitlinesR( RRtfoundRtlinetpartstkindtlengthR ((s</usr/lib/python2.7/site-packages/setuptools/command/sdist.pytexternals_finder>s$       s%name="([^"]+)"(?![^>]+deleted="true")ccs3t|d}|j}|j|jdrnxtj|D]#}t|t|jdVqDWnd}yt |j d}WnnX|dkrt j dt jj|dSxhttj |jddD]G}| st|d kr|d d krqnt||dVqWdS( NRstD]}tjj|rdSqW|jddjtdS(Ns,standard file not found: should have one of s, (RqR RRuRDR!(R^R((s</usr/lib/python2.7/site-packages/setuptools/command/sdist.pyRTs  cCstj|||tjj|d}ttdritjj|ritj||jd|n|j dj |dS(Ns setup.cfgtlinkRM( Retmake_release_treeR RR!thasattrRutunlinkt copy_fileRQtsave_version_info(R^tbase_dirRtdest((s</usr/lib/python2.7/site-packages/setuptools/command/sdist.pyRs ! cCsYtjj|jstSt|jd}z|j}Wd|jX|djkS(NtrbUs+# file GENERATED by distutils, do NOT edit ( R RR,tmanifestR3RR5Rtencode(R^tfpt first_line((s</usr/lib/python2.7/site-packages/setuptools/command/sdist.pyt_manifest_is_not_generated s cCstjd|jt|jd}x|D]}tjdkry|jd}Wqtk r{tjd|q,qXn|j }|j ds,| rq,n|j j |q,W|j dS( sRead the manifest file (named by 'self.manifest') and use it to fill in 'self.filelist', the list of files to include in the source distribution. sreading manifest file '%s'RisUTF-8s"%r not UTF-8 decodable -- skippingt#N(i(RtinfoRRRgt version_infotdecodetUnicodeDecodeErrorRDtstripRBRRRSR(R^RR<((s</usr/lib/python2.7/site-packages/setuptools/command/sdist.pyt read_manifests    N(sformats=Ns6formats for source distribution (comma-separated list)(s dist-dir=RLsFdirectory to put the source distribution archive(s) in [default: dist](iii(ii(iii(ii(iii(t__name__t __module__t__doc__tNonet user_optionst negative_optRct_sdist__read_template_hackRgRRfRRTRRR(((s</usr/lib/python2.7/site-packages/setuptools/command/sdist.pyRs(     5 (Rs README.rsts README.txt(s<R(s>R(s"R(s'R(s&R (tdistutils.command.sdistRRetdistutils.utilRRaRRR treRgR%RqR RRRRR*R.R@tcompiletIRCRJtMR+(((s</usr/lib/python2.7/site-packages/setuptools/command/sdist.pyts,0       rotate.pyc000064400000005607147576665460006621 0ustar00 b-Qc@s|ddlZddlZddlmZddlmZddlmZddlmZddl TdefdYZ dS( iN(tCommand(t basestring(t convert_path(tlog(t*trotatecBsDeZdZdZdddgZgZd Zd Zd ZRS(sDelete older distributionss2delete older distributions, keeping N newest filessmatch=tmspatterns to match (required)s dist-dir=tds%directory where the distributions areskeep=tks(number of matching distributions to keepcCsd|_d|_d|_dS(N(tNonetmatchtdist_dirtkeep(tself((s=/usr/lib/python2.7/site-packages/setuptools/command/rotate.pytinitialize_optionss  cCs|jdkrtdn|jdkr<tdnyt|j|_Wntk rqtdnXt|jtrg|jjdD]}t |j ^q|_n|j dddS(NsQMust specify one or more (comma-separated) match patterns (e.g. '.zip' or '.egg')s$Must specify number of files to keeps--keep must be an integert,tbdistR (sdist_dirsdist_dir( R R tDistutilsOptionErrorR tintt ValueErrort isinstanceRtsplitRtstriptset_undefined_options(R tp((s=/usr/lib/python2.7/site-packages/setuptools/command/rotate.pytfinalize_optionss  7cCs|jdddlm}x|jD]}|jjd|}|tjj|j|}g|D]}tjj ||f^qi}|j |j t j dt||||j}x=|D]5\}}t j d||jstj|qqWq'WdS(Ntegg_infoi(tglobRs%d file(s) matching %ss Deleting %s(t run_commandRR t distributiontget_nametostpathtjoinR tgetmtimetsorttreverseRtinfotlenR tdry_runtunlink(R Rtpatterntfilestftt((s=/usr/lib/python2.7/site-packages/setuptools/command/rotate.pytrun+s +    (smatch=Rspatterns to match (required)(s dist-dir=Rs%directory where the distributions are(skeep=Rs(number of matching distributions to keep( t__name__t __module__t__doc__t descriptiont user_optionstboolean_optionsRRR-(((s=/usr/lib/python2.7/site-packages/setuptools/command/rotate.pyRs   ( t distutilsRt setuptoolsRtsetuptools.compatRtdistutils.utilRRtdistutils.errorsR(((s=/usr/lib/python2.7/site-packages/setuptools/command/rotate.pyts  build_py.pyo000064400000026612147576665460007145 0ustar00 gc@sddlZddlZddlZddlmZddlmZddl m Z yrddlm Z ddl m Z ddlmZmZddlZdefd YZd e fd YZ Wn$ek rd dd YZ nXd ee fdYZdZdS(iN(tbuild_py(t convert_path(tglob(t Mixin2to3(tlog(tRefactoringTooltget_fixers_from_packagetDistutilsRefactoringToolcBs#eZdZdZdZRS(cOstj||dS(N(Rterror(tselftmsgtargstkw((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyt log_error scGstj||dS(N(Rtinfo(R R R ((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyt log_messagescGstj||dS(N(Rtdebug(R R R ((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyt log_debugs(t__name__t __module__R RR(((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyR s  RcBs&eZedZdZdZRS(cCs|jjtk rdS|s dStjddj||j|j|rtj rt |j }|j |dtdtqnt j||dS(NsFixing t twritet doctests_only(t distributiontuse_2to3tTrueRRtjoint_Mixin2to3__build_fixer_namest_Mixin2to3__exclude_fixerst setuptoolstrun_2to3_on_doctestsRt fixer_namestrefactort _Mixin2to3trun_2to3(R tfilestdocteststr((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyR"s   cCs|jr dSg|_x'tjD]}|jjt|q W|jjdk rx-|jjD]}|jjt|q_WndS(N(RRtlib2to3_fixer_packagestextendRRtuse_2to3_fixerstNone(R tp((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyt__build_fixer_names(s  cCsqt|dg}|jjdk r:|j|jjnx0|D](}||jkrA|jj|qAqAWdS(Ntexclude_fixers(tgetattrRtuse_2to3_exclude_fixersR)R'Rtremove(R texcluded_fixerst fixer_name((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyt__exclude_fixers1s  (RRtFalseR"RR(((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyRs  cBseZedZRS(cCsdS(N((R R#R$((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyR";s(RRRR"(((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyR:sRcBseZdZdZdZdZdZdZdZdZ dZ d Z e j d kr{d d Znd ZdZdZdZRS(sXEnhanced 'build_py' command that includes data files with packages The data files are specified via a 'package_data' argument to 'setup()'. See 'setuptools.dist.Distribution' for more details. Also, this version of the 'build_py' command allows you to specify both 'py_modules' and 'packages' in the same setup operation. cCsctj||jj|_|jjp+i|_d|jkrM|jd=ng|_g|_dS(Nt data_files(t _build_pytfinalize_optionsRt package_datatexclude_package_datat__dict__t_build_py__updated_filest_build_py__doctests_2to3(R ((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyR6Hs   cCs|j r|j rdS|jr.|jn|jrN|j|jn|j|jt|j|jt|j|j t|j t j |dddS(s?Build modules, packages, and copy data files to build directoryNtinclude_bytecodei( t py_modulestpackagest build_modulestbuild_packagestbuild_package_dataR"R:R3RR;t byte_compileR5t get_outputs(R ((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pytrunPs     cCs3|dkr#|j|_}|Stj||S(NR4(t_get_data_filesR4R5t __getattr__(R tattrR#((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyRFds cCsAtj||||\}}|r7|jj|n||fS(N(R5t build_moduleR:tappend(R tmodulet module_filetpackagetoutfiletcopied((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyRHiscCs|jg}x|jpdD]}|j|}tjj|jg|jd}t|}|ry|d7}ng|j ||D]}||^q}|j ||||fq W|S(s?Generate list of '(package,src_dir,build_dir,filenames)' tuplest.i(( tanalyze_manifestR>tget_package_dirtostpathRt build_libtsplittlentfind_data_filesRI(R tdataRLtsrc_dirt build_dirtplentfilet filenames((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyREos %  )cCs|jjdg|jj|g}|jj|g}x6|D].}|jttjj|t|qEW|j |||S(s6Return filenames for package's data files in 'src_dir't( R7tgettmanifest_filesR'RRRRSRRtexclude_data_files(R RLRYtglobsR#tpattern((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyRWs  ,c Csd}x|jD]\}}}}x|D]}tjj||}|jtjj|tjj||}|j||\} } tjj|}| r)||j j kr)|j j | q)q)WqWdS(s$Copy data files into build directoryN( R)R4RRRSRtmkpathtdirnamet copy_filetabspathRtconvert_2to3_doctestsR;RI( R tlastdirRLRYRZR]tfilenamettargettsrcfiletoutfRN((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyRAs c Cs\i|_}|jjsdSi}x0|jp2dD]}||t|j|tassert_relativeRQt run_commandtget_finalized_commandtfilelistR#RRRSRUR)Rtendswitht setdefaultRI( R tmftsrc_dirsRLtei_cmdRStdtftprevtoldftdf((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyRPs(   ! cCsdS(N((R ((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pytget_data_filesss2.4icCsRtj||g|jD]4\}}}}|D]}tjj||^q/qS(sjReturn complete list of files copied to the build directory This includes both '.py' files and data files, as well as '.pyc' and '.pyo' files if 'include_bytecode' is true. (This method is needed for the 'install_lib' command to do its job properly, and to generate a correct installation manifest.) (R5RCR4RRRSR(R R<RLRYRZR]Rj((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyRCscCsy|j|SWntk r"nXtj|||}||j|<| sY|jj r]|Sx;|jjD])}||ks|j|drjPqjqjW|St|d}dj|j krddl m }|j d|n|j |S(s8Check namespace packages' __init__ for declare_namespaceROtrbUtdeclare_namespacei(RsWARNING: %s is a namespace package, but its __init__.py does not declare_namespace(); setuptools 0.7 will REQUIRE this! (See the setuptools manual under "Namespace Packages" for details.) (tpackages_checkedtKeyErrorR5t check_packageRtnamespace_packagest startswithtopentencodetreadt distutilsRtwarntclose(R RLt package_dirtinit_pytpkgRzR((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyRs(    cCsi|_tj|dS(N(RR5tinitialize_options(R ((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyRs cCsAtj||}|jjdk r=tjj|jj|S|S(N(R5RQRtsrc_rootR)RRRSR(R RLtres((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyRQsc Cs|jjdg|jj|g}g}x<|D]4}|jtj|tjj|t|q5Wt j |}i}g|D]6}||kr||kr|j |dr|^qS(s6Filter filenames for package's data files in 'src_dir'R^i( R8R_R'tfnmatchtfilterRRRSRRtdicttfromkeysRu( R RLRYR#RbtbadRctseenRz((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyRas &(RRt__doc__R6RDRFRHRERWRARPR~tsystversionRCRRRQRa(((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyR?s            cCs:tjj|s|Sddlm}|d|dS(Ni(tDistutilsSetupErrorsError: setup script specifies an absolute path: %s setup() arguments must *always* be /-separated paths relative to the setup.py directory, *never* absolute paths. (RRRStisabstdistutils.errorsR(RSR((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyRps ((tos.pathRRRRtdistutils.command.build_pyRR5tdistutils.utilRRRR!RRtlib2to3.refactorRRRRt ImportErrorRp(((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyts$  # upload_docs.pyc000064400000016012147576665460007607 0ustar00 b-Qc@s2dZddlZddlZddlZddlZddlZddlZddlmZddl m Z ddl m Z ddl mZyddlmZWn!ek rddlmZnXddlmZmZmZmZejd kZerd Znd Zd d ZdefdYZdS(spupload_docs Implements a Distutils 'upload_docs' subcommand (upload documentation to PyPI's pythonhosted.org). iN(tstandard_b64encode(titer_entry_points(tlog(tDistutilsOptionError(tupload(thttplibturlparsetunicodet iteritemst3tsurrogateescapetstrictsutf-8cCs#t|tr|j|tS|S(N(t isinstanceRtencodeterrors(tstencoding((sB/usr/lib/python2.7/site-packages/setuptools/command/upload_docs.pytb&st upload_docscBs{eZdZdddejfddgZejZdZd efgZ d Z d Z d Z d Z dZRS(sUpload documentation to PyPIs repository=trsurl of repository [default: %s]s show-responses&display full response text from servers upload-dir=sdirectory to uploadcCs1|jdkr-xtddD]}tSWndS(Nsdistutils.commandst build_sphinx(t upload_dirtNoneRtTrue(tselftep((sB/usr/lib/python2.7/site-packages/setuptools/command/upload_docs.pyt has_sphinx9sRcCs#tj|d|_d|_dS(N(Rtinitialize_optionsRRt target_dir(R((sB/usr/lib/python2.7/site-packages/setuptools/command/upload_docs.pyR@s  cCstj||jdkrs|jrF|jd}|j|_q|jd}tj j |j d|_n|j d|j|_|j d|jdS(NRtbuildtdocsRsUsing upload directory %s(Rtfinalize_optionsRRRtget_finalized_commandtbuilder_target_dirRtostpathtjoint build_basetensure_dirnametannounce(RRR((sB/usr/lib/python2.7/site-packages/setuptools/command/upload_docs.pyREs    c Cstj|d}z|j|jxtj|jD]\}}}||jkrs| rstd|jnxj|D]b}tjj||}|t |jj tjj }tjj||} |j || qzWq8WWd|j XdS(Ntws'no files found in upload directory '%s'(tzipfiletZipFiletmkpathRR"twalkRR#R$tlentlstriptseptwritetclose( Rtfilenametzip_filetroottdirstfilestnametfulltrelativetdest((sB/usr/lib/python2.7/site-packages/setuptools/command/upload_docs.pytcreate_zipfileSs" "cCsx!|jD]}|j|q Wtj}|jjj}tjj |d|}z|j ||j |Wdt j |XdS(Ns%s.zip(tget_sub_commandst run_commandttempfiletmkdtempt distributiontmetadatatget_nameR"R#R$R;t upload_filetshutiltrmtree(Rtcmd_namettmp_dirR7R3((sB/usr/lib/python2.7/site-packages/setuptools/command/upload_docs.pytrunds  cCsut|d}|j}|j|jj}idd6|jd6tjj||fd6}t |j d|j }t |}t jd(kr|jd}nd |}d }t d t |} | t d } g} xt|D]\} } d | }t| tgkr.| g} nx| D]}t|tkrl|d|d7}|d}n t |}| j| | jt || jt d| j||r5|dt dkr5| jt dq5q5WqW| j| | jt dt dj| } |jd|jtjt|j\}}}}}}| rw| rw| s}t|dkrtj|}n.|dkrtj|}ntd|d}tj}yu|j|jd||j dd||j dt!t"| |j d||j#|j$| Wn>t%j&k rt j'd}|jt!|tj(dSX|j)}|j*dkr|jd |j*|j+ftjnz|j*d!kr&|j,d"}|dkr d#|j}n|jd$|tjn#|jd%|j*|j+ftj(|j.rqd&d'|jd&d'fGHndS()Ntrbt doc_uploads:actionR7tcontentt:itasciisBasic s3--------------GHSKFJDLGDS7543FJKLFHRE75642756743254s --s--s* Content-Disposition: form-data; name="%s"s; filename="%s"iis is s tsSubmitting documentation to %sthttpthttpssunsupported schema tPOSTs Content-types multipart/form-data; boundary=%ssContent-lengtht AuthorizationisServer response (%s): %si-tLocationshttps://pythonhosted.org/%s/sUpload successful. Visit %ssUpload failed (%s): %st-iK(i(/topentreadR1R@RARBR"R#tbasenameRtusernametpasswordRtsyst version_infotdecodeRttypettupletappendR$R't repositoryRtINFORtAssertionErrorRtHTTPConnectiontHTTPSConnectiontconnectt putrequestt putheadertstrR-t endheaderstsendtsocketterrortexc_infotERRORt getresponsetstatustreasont getheaderRt show_response(RR2tfRKtmetatdatat credentialstauthtboundaryt sep_boundaryt end_boundarytbodytkeytvaluesttitletvaluetschematnetlocturltparamstqueryt fragmentstconntloglevelteRtlocation((sB/usr/lib/python2.7/site-packages/setuptools/command/upload_docs.pyRCrs               !              N(s show-responseNs&display full response text from server(s upload-dir=Nsdirectory to upload(t__name__t __module__t descriptionRtDEFAULT_REPOSITORYRt user_optionstboolean_optionsRt sub_commandsRRR;RHRC(((sB/usr/lib/python2.7/site-packages/setuptools/command/upload_docs.pyR,s        (t__doc__R"RkR)R>RZRDtbase64Rt pkg_resourcesRt distutilsRtdistutils.errorsRtdistutils.command.uploadRt ImportErrortsetuptools.command.uploadtsetuptools.compatRRRRtversiont _IS_PYTHON3RRR(((sB/usr/lib/python2.7/site-packages/setuptools/command/upload_docs.pyts*       "  __init__.pyc000064400000001617147576665460007057 0ustar00 b-Qc@sdddddddddd d d d d dddddddgZddlmZddlZejdkrejdnddlmZdejkrdej ds  install_lib.pyo000064400000006146147576665460007632 0ustar00 b-Qc@s6ddlmZddlZdefdYZdS(i(t install_libNRcBsGeZdZdZdZdZdddddZdZRS(s9Don't add compiled flags to filenames of non-Python filescCspg}xc|D][}|jds(q n|jrE|j|dn|jdkr |j|dq q W|S(Ns.pytcito(tendswithtcompiletappendtoptimize(tselft py_filenamestbytecode_filestpy_file((sB/usr/lib/python2.7/site-packages/setuptools/command/install_lib.pyt_bytecode_filenamess  cCs6|j|j}|dk r2|j|ndS(N(tbuildtinstalltNonet byte_compile(Rtoutfiles((sB/usr/lib/python2.7/site-packages/setuptools/command/install_lib.pytruns   cCsi}|jj}|r|jdjrxy|D]n}|jd}xV|rtjj|j|}x'dD]}d|tjj|| %s(twarntFalsetinfoRRtdirnameR(tsrctdst(RR%R(sB/usr/lib/python2.7/site-packages/setuptools/command/install_lib.pytpf;s   (R#t _install_libt copy_treetsetuptools.archive_utilR$t distutilsR%( Rtinfiletoutfilet preserve_modetpreserve_timestpreserve_symlinkstlevelR$R,((RR%RsB/usr/lib/python2.7/site-packages/setuptools/command/install_lib.pyR.*s  cCsHtj|}|j}|rDg|D]}||kr(|^q(S|S(N(R-t get_outputsR#(RtoutputsRR"((sB/usr/lib/python2.7/site-packages/setuptools/command/install_lib.pyR7Gs  #(t__name__t __module__t__doc__R RR#R.R7(((sB/usr/lib/python2.7/site-packages/setuptools/command/install_lib.pyRs   (tdistutils.command.install_libRR-R(((sB/usr/lib/python2.7/site-packages/setuptools/command/install_lib.pyts upload.pyc000064400000014443147576665460006605 0ustar00 b-Qc@sdZddlTddlmZddlmZddlmZyddlm Z Wn!e k rwddl m Z nXddl Z ddl Z ddl Z ddlZddlZddlmZmZmZmZd efd YZdS( s`distutils.command.upload Implements the Distutils 'upload' subcommand (upload package to PyPI).i(t*(tCommand(tspawn(tlog(tmd5N(turlparsetStringIOthttplibt ConfigParsertuploadcBsceZdZdZdddefdddgZddgZd ZdZdZ dZ RS(supload binary package to PyPIshttps://pypi.python.org/pypis repository=trsurl of repository [default: %s]s show-responses&display full response text from servertsigntsssign files to upload using gpgs identity=tisGPG identity used to sign filescCs:d|_d|_d|_d|_t|_d|_dS(Nti(tusernametpasswordt repositoryt show_responsetFalseR tNonetidentity(tself((s=/usr/lib/python2.7/site-packages/setuptools/command/upload.pytinitialize_options&s      cCs&|jr"|j r"tdndtjkr tjjtjdd}tjj|r |jd|t j idd6dd6dd6}|j ||j s|j d d|_ n|j s|j d d|_ n|js|j d d|_qq n|j s"|j|_ ndS( Ns.Must use --sign for --identity to have meaningtHOMEs.pypircsUsing PyPI login from %sRRRRs server-login(RR tDistutilsOptionErrortostenvirontpathtjointexiststannounceRtreadRtgetRRtDEFAULT_REPOSITORY(Rtrctconfig((s=/usr/lib/python2.7/site-packages/setuptools/command/upload.pytfinalize_options.s(        cCsR|jjstdnx0|jjD]"\}}}|j|||q(WdS(Ns'No dist file created in earlier command(t distributiont dist_filesRt upload_file(Rtcommandt pyversiontfilename((s=/usr/lib/python2.7/site-packages/setuptools/command/upload.pytrunEs c CsJ|jrSddd|g}|jr=d|jg|dd+nt|d|jnt|d}|j}|jtjj |}d}|d kr|j j rd t j d d }nid d6dd6|j j d6|j jd6||fd6|d6|d6t|jd6} |dkrct j\} } } | rd| | f}qn%|dkrdt j d d }n|| d<|jrt|d} tjj |d| jf| d<| jndtj|jd|jj}d }d!|}|d"}tj}x| jD]\}}t|tgkrh|g}nx|D]}t|tkrd#|d$}|d }nd}t|}|j||jd%||j||jd&|j||ro|d'd(kro|jd)qoqoWq8W|j||jd)|j}|jd*||jft j!t"|j\}}}}}}| r| r| st#|d+krt$j%|}n.|d,krt$j&|}nt#d-|d} t j!}yu|j'|j(d.||j)d/d0||j)d1tt*||j)d2||j+|j,|Wn>t-j.k rt/j0d }|jt|t j1dSX|j2}|j3d3kr|jd4|j3|j4ft j!n#|jd5|j3|j4ft j1|j5rFd6d7|jd6d7fGHndS(8Ntgpgs --detach-signs-as --local-useritdry_runtrbRt bdist_eggs built on %stterseit file_uploads:actiont1tprotocol_versiontnametversiontcontenttfiletypeR*t md5_digestt bdist_rpmsbuilt for %s %st bdist_dumbs built for %stcomments.asct gpg_signaturesBasic t:s3--------------GHSKFJDLGDS7543FJKLFHRE75642756743254s --s--s;filename="%s"is* Content-Disposition: form-data; name="%s"s is s sSubmitting %s to %sthttpthttpssunsupported schema tPOSTs Content-types multipart/form-data; boundary=%ssContent-lengtht AuthorizationisServer response (%s): %ssUpload failed (%s): %st-iK(6R RRR.topenR tcloseRRtbasenameR&thas_ext_modulestplatformtget_namet get_versionRt hexdigesttdisttbase64t encodestringRRtstripRtitemsttypettupletstrtwritetgetvalueRRRtINFORtAssertionErrorRtHTTPConnectiontHTTPSConnectiontconnectt putrequestt putheadertlent endheaderstsendtsocketterrortsystexc_infotERRORt getresponsetstatustreasonR( RR)R*R+tgpg_argstfR7RFR<tdataRLR6tidtasc_filetauthtboundaryt sep_boundaryt end_boundarytbodytkeytvaluetfntschematnetlocturltparamstqueryt fragmentsR?tloglevelteR ((s=/usr/lib/python2.7/site-packages/setuptools/command/upload.pyR(Ks           & '               !           N(s show-responseNs&display full response text from server(ssignR ssign files to upload using gpg(s identity=R sGPG identity used to sign files( t__name__t __module__t descriptionR"Rt user_optionstboolean_optionsRR%R,R((((s=/usr/lib/python2.7/site-packages/setuptools/command/upload.pyR s      (t__doc__tdistutils.errorstdistutils.coreRtdistutils.spawnRt distutilsRthashlibRt ImportErrorRRbR`RHRMtsetuptools.compatRRRRR (((s=/usr/lib/python2.7/site-packages/setuptools/command/upload.pyts       "saveopts.pyc000064400000002317147576665460007162 0ustar00 b-Qc@sXddlZddlZddlmZddlmZmZdefdYZdS(iN(tCommand(t edit_configt option_basetsaveoptscBseZdZdZdZRS(s#Save command-line options to a files7save supplied options to setup.cfg or other config filecCs|j}i}xt|jD]i}|dkr1qnxN|j|jD]7\}\}}|dkrG||j|i|sbdist_egg.pyo000064400000044273147576665460007270 0ustar00 b-Qc@sdZddlZddlZddlZddlmZddlmZmZy#ddl m Z m Z dZ Wn0e k rddlmZm Z dZ nXdd lmZdd lmZdd lmZmZmZdd lmZdd lmZddlmZmZddlmZdZ dZ!dZ"defdYZ#e$j%dj&Z'dZ(dZ)dZ*ide+6de,6Z-dZ.dZ/dZ0ddd d!gZ1d"d"e2d#d$Z3dS(%s6setuptools.command.bdist_egg Build .egg distributionsiN(tCommand(t remove_treetmkpath(tget_pathtget_python_versioncCs tdS(Ntpurelib(R(((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyt _get_purelib s(tget_python_libRcCs ttS(N(RtFalse(((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyRs(tlog(tDistutilsSetupError(tget_build_platformt Distributiontensure_directory(t EntryPoint(tCodeType(t basestringtnext(tLibrarycCsEd|kr%tjj|d}n|jdrA|d }n|S(Nt.itmodulei(tostpathtsplitexttendswith(tfilename((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyt strip_modules   c CsOt|d}|jdjdddd|ddd d g|jdS( Ntws sdef __bootstrap__():s- global __bootstrap__, __loader__, __file__s! import sys, pkg_resources, imps: __file__ = pkg_resources.resource_filename(__name__,%r)s3 __loader__ = None; del __bootstrap__, __loader__s& imp.load_dynamic(__name__,__file__)s__bootstrap__()t(topentwritetjointclose(tresourcetpyfiletf((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyt write_stub"s  s7__import__("pkg_resources").declare_namespace(__name__)t bdist_eggcBseZdZddddefd d d d d fd!d"gZd ddgZdZdZdZ dZ dZ dZ dZ dZdZdZdZdZRS(#screate an "egg" distributions bdist-dir=tbs1temporary directory for creating the distributions plat-name=tps;platform name to embed in generated filenames (default: %s)sexclude-source-filess+remove all .py files from the generated eggs keep-temptks/keep the pseudo-installation tree around after s!creating the distribution archives dist-dir=tds-directory to put final built distributions ins skip-builds2skip rebuilding everything (for testing/debugging)cCsCd|_d|_d|_d|_d|_d|_d|_dS(Ni(tNonet bdist_dirt plat_namet keep_temptdist_dirt skip_buildt egg_outputtexclude_source_files(tself((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pytinitialize_options]s      cCs|jd}|_|j|_|jdkr^|jdj}tjj|d|_n|j dkr|t |_ n|j dd|j dkrt dd|j|jt|jjo|j j}tjj|j|d|_ ndS(Ntegg_infotbdistteggR.s.egg(sdist_dirsdist_dir(tget_finalized_commandtei_cmdR4R+R*t bdist_baseRRRR,R tset_undefined_optionsR0R tegg_namet egg_versionRt distributionthas_ext_modulesR.(R2R8R9tbasename((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pytfinalize_optionsgs !cCs`|j|jd_tjjtjjt}|jj g}|j_ x|D]}t |t rt |dkrtjj |drtjj|d}tjj|}||ks|j|tjr|t |d|df}qqn|jj j|qVWz1tjd|j|jdddddWd||j_ XdS( Ntinstalliiisinstalling package data to %st install_datatforcetroot(R+R7t install_libRRtnormcasetrealpathRR=t data_filest isinstancettupletlentisabst startswithtseptappendR tinfot call_commandR*(R2t site_packagestoldtitemRGt normalized((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pytdo_install_datas ! !'cCs |jgS(N(R0(R2((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyt get_outputsscKsmx!tD]}|j||jqW|jd|j|jd|j|j||}|j||S(s8Invoke reinitialized command `cmdname` with keyword argsR/tdry_run(tINSTALL_DIRECTORY_ATTRSt setdefaultR+R/RXtreinitialize_commandt run_command(R2tcmdnametkwtdirnametcmd((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyRQs  c Cs|jdtjd|j|jd}|j}d|_|jjrk|j rk|jdn|j ddd}||_|j \}}g|_ g}xt |D]\}}tjj|\} } tjj|jt| d} |j j| tjd ||jsCttjj|| n|j| |jtjd ||R7t extensionsRIRtget_ext_fullnameRtget_ext_filenameR?RMRy( R2RRtpathsRRRRt build_cmdRtfullname((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyRm_s(" " -$(s bdist-dir=R&s1temporary directory for creating the distributionN(sexclude-source-filesNs+remove all .py files from the generated egg(s dist-dir=R)s-directory to put final built distributions in(s skip-buildNs2skip rebuilding everything (for testing/debugging)(t__name__t __module__t descriptionR R*t user_optionstboolean_optionsR3R@RVRWRQRR{RxRrR}RtRm(((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyR%4s8      R   ) s.dll .so .dylib .pydccshtj|}t|\}}}d|kr@|jdn|||fVx|D] }|VqUWdS(s@Walk an unpacked egg's contents, skipping the metadata directorysEGG-INFON(RRRtremove(tegg_dirtwalkerRRRtbdf((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyRs  c CsxBtjD]4\}}tjjtjj|d|r |Sq WtsRtSt}xt |D]\}}}xn|D]f}|j ds{|j drq{q{|j ds|j dr{t ||||o|}q{q{WqeW|S(NsEGG-INFOs.pys.pyws.pycs.pyo( t safety_flagstitemsRRRyRtcan_scanRtTrueRRt scan_module( RRntflagtfnRRRRR((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyRs$  &cCsxtjD]\}}tjj||}tjj|rq|dks^t||krtj|qq |dk r t||kr t |d}|j d|j q q WdS(NRhs ( RRRRRRyR*tboolRvRRR (RRRRR#((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyRws szip-safes not-zip-safec Cstjj||}|d |kr)tS|t|djtjd}||r[dp^dtjj|d}tj dkrd}nd}t |d }|j |t j |} |jt} tjt| } x<d d gD].} | | krtjd || t} qqWd | krxZdddddddddddg D].} | | krWtjd|| t} qWqWWnd| krd| krd|krtjd dkrtjd|t} qn| S(s;Check whether module possibly uses unsafe-for-zipfile stuffiiRRiiii trbt__file__t__path__s%s: module references %stinspectt getsourcet getabsfilet getsourcefiletgetfilegetsourcelinest findsourcet getcommentst getframeinfotgetinnerframestgetouterframeststackttraces"%s: module MAY be using inspect.%sRt__main__s2.4s.%s: top-level module may be 'python -m' script(ii(RRRRRKRpRNRRt version_infoRtreadtmarshaltloadR tdicttfromkeyst iter_symbolsR RzRR( RRRRnRRRtskipR#tcodeRtsymbolstbad((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyRs>#*         $ ccsvx|jD] }|Vq WxV|jD]K}t|tr@|Vq#t|tr#xt|D] }|Vq\Wq#q#WdS(sBYield names and strings used by `code` and its nested code objectsN(tco_namest co_constsRIRRR(RRtconst((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyRs cCsDtjjd r&tjdkr&tStjdtjddS(Ntjavatclis1Unable to analyze compiled code on this platform.sfPlease ask the author to include a 'zip_safe' setting (either True or False) in the package's setup.py(RtplatformRMRR Rz(((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyRs" RERfRBt install_baseiRc sddl}ttjj|dtjd|fd}|dkrktj dk}n|j |j gt |}s|j ||d|} x0tjD]\} } } || | | qW| jn3x0tjD]\} } } |d| | qW|S(sqCreate a zip file from all the files under 'base_dir'. The output zip file will be named 'base_dir' + ".zip". Uses either the "zipfile" Python module (if available) or the InfoZIP "zip" utility (if installed and found on the default search path). If neither tool is available, raises DistutilsExecError. Returns the name of the output zip file. iNRXs#creating '%s' and adding '%s' to itcsx|D]z}tjjtjj||}tjj|r|td}sm|j||ntjd|qqWdS(Nis adding '%s'( RRRRRuRKRR R(tzR_tnamesRRR'(tbase_dirRX(s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pytvisits !s2.4t compression(tzipfileRRRR_R RPR*RRt ZIP_STOREDt ZIP_DEFLATEDRtZipFileRR ( t zip_filenameRRiRXtcompressRjRRRRR_RR((RRXs@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pyR|s   (4t__doc__RRRt setuptoolsRtdistutils.dir_utilRRt sysconfigRRRt ImportErrortdistutils.sysconfigRt distutilsR tdistutils.errorsR t pkg_resourcesR R R RttypesRtsetuptools.compatRRtsetuptools.extensionRRR$RR%RRtsplitRRRRwRRRRRRRYR*R|(((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_egg.pytsD$     H    # - test.pyo000064400000013413147576665460006310 0ustar00 b-Qc@sddlmZddlmZddlZddlTddlmZddlmZm Z defdYZ d efd YZ dS( i(tCommand(tDistutilsOptionErrorN(t*(t_namespace_packages(t TestLoadertmaintScanningLoadercBseZdZRS(cCs&g}|jdkr1|jtj||nt|drV|j|jnt|drxt|jdD]|}|jdr|dkr|jd|d }n-t|j|d rx|jd|}nqx|j|j |qxWnt |d kr|j |S|d Sd S( sReturn a suite of all tests cases contained in the given module If the module is a package, load tests from all the modules in it. If the module has an ``additional_tests`` function, call it and add the return value to the tests. ssetuptools.tests.doctesttadditional_testst__path__ts.pys __init__.pyt.is /__init__.pyiiN( t__name__tappendRtloadTestsFromModulethasattrRtresource_listdirtendswithtresource_existstloadTestsFromNametlent suiteClass(tselftmoduletteststfilet submodule((s;/usr/lib/python2.7/site-packages/setuptools/command/test.pyR s" (R t __module__R (((s;/usr/lib/python2.7/site-packages/setuptools/command/test.pyRsttestcBsMeZdZdZd dgZdZd Zd Zd Zd Z RS(s.Command to run unit tests after in-place builds#run unit tests after in-place builds test-module=tms$Run 'test_suite' in specified modules test-suite=tss1Test suite to run (e.g. 'some_module.test_suite')cCsd|_d|_d|_dS(N(tNonet test_suitet test_modulet test_loader(R((s;/usr/lib/python2.7/site-packages/setuptools/command/test.pytinitialize_options7s  cCs|jdkrC|jdkr0|jj|_q[|jd|_n|jr[tdn|jg|_|jr|jjddn|jdkrt |jdd|_n|jdkrd|_ndS(Ns .test_suites1You may specify a module or a suite, but not bothis --verboseR!s&setuptools.command.test:ScanningLoader( RRR t distributionRt test_argstverbosetinsertR!tgetattr(R((s;/usr/lib/python2.7/site-packages/setuptools/command/test.pytfinalize_options=s   cCstjd krt|jdtr|jddd|jd|jd}t|j }|jdd||jd|jddd|jdn-|jd|jddd |jd|jd}tj }tj j }zXtj j dt|jtjtd td |j|jf|Wd|tj (tj jtj j|tjXdS( Nituse_2to3tbuild_pytinplaceitegg_infotegg_baset build_exticSs |jS(N(tactivate(tdist((s;/usr/lib/python2.7/site-packages/setuptools/command/test.pyttss%s==%s(i(tsyst version_infoR'R#tFalsetreinitialize_commandt run_commandtget_finalized_commandtnormalize_patht build_libtpathtmodulestcopyR&R-t working_sett__init__tadd_activation_listenertrequiretegg_namet egg_versiontcleartupdate(Rtfunctbpy_cmdt build_pathtei_cmdtold_patht old_modules((s;/usr/lib/python2.7/site-packages/setuptools/command/test.pytwith_project_on_sys_pathTs2$          cCs|jjr%|jj|jjn|jjrJ|jj|jjn|jrdj|j}|jr|jd|q|jd||j |j ndS(Nt s skipping "unittest %s" (dry run)srunning "unittest %s"( R#tinstall_requirestfetch_build_eggst tests_requireRtjoinR$tdry_runtannounceRKt run_tests(Rtcmd((s;/usr/lib/python2.7/site-packages/setuptools/command/test.pytrun~s    cCs2ddl}tjd krt|jdtr|jdjdd}|tkrg}|tj kr{|j |n|d7}x0tj D]%}|j |r|j |qqWt t tj j|qntjd|j}|jdt}|}|jdd|jg|jd|dS( NiiR)R isx=R@t testLoader(i(tunittestR2R3R'R#R4R$tsplitRR;R t startswithtlisttmapt __delitem__t EntryPointtparseR!tloadRRt__file__(RRWRt del_modulestnamet loader_ept loader_classtcks((s;/usr/lib/python2.7/site-packages/setuptools/command/test.pyRSs$ $   (s test-module=Rs$Run 'test_suite' in specified module(s test-suite=Rs1Test suite to run (e.g. 'some_module.test_suite')( R Rt__doc__t descriptiont user_optionsR"R(RKRURS(((s;/usr/lib/python2.7/site-packages/setuptools/command/test.pyR+s    * ( t setuptoolsRtdistutils.errorsRR2t pkg_resourcesRRWRRRR(((s;/usr/lib/python2.7/site-packages/setuptools/command/test.pyts  #egg_info.pyo000064400000042423147576665460007111 0ustar00 b-Qc@sxdZddlZddlZddlZddlmZddlTddlmZddl m Z ddl m Z ddl mZdd lmZdd lmZmZmZmZmZmZmZmZdd l mZd efd YZdefdYZde fdYZdZdZdZ dZ!dZ"dZ#e$dZ%dZ&dZ'dS(sUsetuptools.command.egg_info Create a distribution's .egg-info directory and contentsiN(tCommand(t*(tlog(tsdist(t basestring(t convert_path(tFileList(tparse_requirementst safe_namet parse_versiont safe_versiont yield_linest EntryPointtiter_entry_pointst to_filename(t walk_revctrltegg_infocBseZdZdd d!d"d#d$gZddgZidd 6dd6ZdZdZdZe dZ dZ dZ dZ dZdZedZdZdZRS(%s+create a distribution's .egg-info directorys egg-base=tesLdirectory containing .egg-info directories (default: top of the source tree)stag-svn-revisiontrs,Add subversion revision ID to version numberstag-datetds0Add date stamp (e.g. 20050528) to version numbers tag-build=tbs-Specify explicit tag to add to version numbersno-svn-revisiontRs*Don't add subversion revision ID [default]sno-datetDs"Don't include date stamp [default]cCsUd|_d|_d|_d|_d|_d|_d|_t|_ d|_ dS(Ni( tNonetegg_namet egg_versiontegg_baseRt tag_buildttag_svn_revisionttag_datetFalsetbroken_egg_infotvtags(tself((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pytinitialize_options+s        cCsCddlm}||iidd6dd6|jd6d6dS(Ni(t edit_configiRRRR(tsetuptools.command.setoptR#ttags(R!tfilenameR#((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pytsave_version_info6s cCst|jj|_|j|_|j|_y$tt d|j|jfWn-t k rt d|j|jfnX|j dkr|jj}|pijdtj|_ n|jdt|jd|_|j tjkrtjj|j |j|_nd|jkr8|jn|j|jj_|jj}|dk r|j|jjkr|j|_t|j|_d|j_ndS(Ns%s==%ss2Invalid distribution name or version syntax: %s-%stRs .egg-infot-( Rt distributiontget_nameRR%R ttagged_versionRtlistRt ValueErrortDistutilsOptionErrorRRt package_dirtgettostcurdirtensure_dirnameRRtpathtjointcheck_broken_egg_infotmetadatatversiont _patched_disttkeytlowert_versionR t_parsed_version(R!tdirstpd((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pytfinalize_optionsTs2!  ! !  $ cCsl|r|j|||nLtjj|rh|dkrX| rXtjd||dS|j|ndS(sWrite `data` to `filename` or delete if empty If `data` is non-empty, this routine is the same as ``write_file()``. If `data` is empty but not ``None``, this is the same as calling ``delete_file(filename)`. If `data` is ``None``, then this is a no-op unless `filename` exists, in which case a warning is issued about the orphaned file (if `force` is false), or deleted (if `force` is true). s$%s not set in setup(), but %s existsN(t write_fileR2R5texistsRRtwarnt delete_file(R!twhatR&tdatatforce((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pytwrite_or_delete_file}s  cCsjtjd||tjdkr4|jd}n|jsft|d}|j||jndS(sWrite `data` to `filename` (if not a dry run) after announcing it `what` is used in a log message to identify what is being written to the file. swriting %s to %sisutf-8twbN(i( Rtinfotsyst version_infotencodetdry_runtopentwritetclose(R!RFR&RGtf((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pyRBs  cCs-tjd||js)tj|ndS(s8Delete `filename` (if not a dry run) after announcing its deleting %sN(RRKROR2tunlink(R!R&((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pyREs cCsE|jj}|jr4|j|jr4t|St||jS(N(R*t get_versionR tendswithR (R!R9((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pyR,s cCs|j|j|jj}xNtdD]@}|jd|}|||jtjj |j|jq)Wtjj |jd}tjj |r|j |n|j dS(Nsegg_info.writerst installersnative_libs.txt( tmkpathRR*tfetch_build_eggR tloadtnameR2R5R6RCREt find_sources(R!RWteptwritertnl((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pytruns ,cCsd}|jr||j7}n|jrctjjdsLtjjdrc|d|j7}n|jrddl}||jd7}n|S(NR(s.svnsPKG-INFOs-r%sis-%Y%m%d( RRR2R5RCtget_svn_revisionRttimetstrftime(R!R9Rb((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pyR%s  $  cCs?d}tjd}tjd}xtjtjD]\}}}d|kr_g|(q7n|jdttjj|dd}|j }|j |j dr|j |j d}tg|j|D]} t| j d^qdg} nyt|jd} Wn d} nX| d kr[tjd |g|(q7ntttj|jd }|dd=|dd }tg|D]2} t| d kr| d rt| d ^qdg} |tjkr|d} n|j | sg|(q7nt|| }q7Wt|p;tS(Nis url="([^"]+)"scommitted-rev="(\d+)"s.svntentriesss.$ :J       install_scripts.pyc000064400000005051147576665460010531 0ustar00 b-Qc@sbddlmZddlmZmZmZddlZddlm Z defdYZdS(i(tinstall_scripts(t Distributiont PathMetadatatensure_directoryN(tlogRcBs,eZdZdZdZddZRS(s;Do normal script install, plus any egg_info wrapper scriptscCstj|t|_dS(N(t_install_scriptstinitialize_optionstFalsetno_ep(tself((sF/usr/lib/python2.7/site-packages/setuptools/command/install_scripts.pyR s c Csddlm}ddlm}|jd|jjrItj|n g|_|j r_dS|j d}t |j t |j |j|j|j}|j d}t|d|}t|j ddt}x'||||D]}|j|qWdS( Ni(tget_script_args(tsys_executabletegg_infot build_scriptst executablet bdist_wininstt _is_running(tsetuptools.command.easy_installR R t run_commandt distributiontscriptsRtruntoutfilesRtget_finalized_commandRtegg_baseRR tegg_namet egg_versiontgetattrRt write_script( R R R tei_cmdtdisttbs_cmdRt is_wininsttargs((sF/usr/lib/python2.7/site-packages/setuptools/command/install_scripts.pyRs$    ttc Gsddlm}m}tjd||jtjj|j|}|j j ||}|j st |t |d|} | j|| j||d|ndS(s1Write an executable file to the scripts directoryi(tchmodt current_umasksInstalling %s script to %stwiN(RR#R$Rtinfot install_dirtostpathtjoinRtappendtdry_runRtopentwritetclose( R t script_nametcontentstmodetignoredR#R$ttargettmasktf((sF/usr/lib/python2.7/site-packages/setuptools/command/install_scripts.pyR(s     (t__name__t __module__t__doc__RRR(((sF/usr/lib/python2.7/site-packages/setuptools/command/install_scripts.pyRs  ( t!distutils.command.install_scriptsRRt pkg_resourcesRRRR(t distutilsR(((sF/usr/lib/python2.7/site-packages/setuptools/command/install_scripts.pyts bdist_wininst.pyc000064400000004527147576665460010203 0ustar00 b-Qc@sBddlmZddlZddlZdefdYZdS(i(t bdist_wininstNRcBsWeZdZZddZdZddZdZe e dsUdZ nRS(cCshtj|||||j|}|jrL|j}dd|f|_nd}d||f|_dS(NRtany(t_bdist_wininstt create_exetget_installer_filenamettarget_versiont _bad_uploadt _good_upload(tselftarcnametfullnametbitmaptinstaller_namet pyversion((sD/usr/lib/python2.7/site-packages/setuptools/command/bdist_wininst.pyRs  cCsd|j|j}}t|jdg}||krD|j|n||kr`|j|ndS(Nt dist_files(RRtgetattrt distributiontremovetappend(RtgoodtbadR((sD/usr/lib/python2.7/site-packages/setuptools/command/bdist_wininst.pyt_fix_upload_namess   icCs1|jj||}|dkr-d|_n|S(Ntinstallt install_lib(Rs install_lib(Rtreinitialize_commandtNoneR(Rtcommandtreinit_subcommandstcmd((sD/usr/lib/python2.7/site-packages/setuptools/command/bdist_wininst.pyRs     cCs5t|_ztj||jWdt|_XdS(N(tTruet _is_runningRtrunRtFalse(R((sD/usr/lib/python2.7/site-packages/setuptools/command/bdist_wininst.pyR!s   RcCsQ|jr1tjj|jd||jf}ntjj|jd|}|S(Ns%s.win32-py%s.exes %s.win32.exe(Rtostpathtjointdist_dir(RR R ((sD/usr/lib/python2.7/site-packages/setuptools/command/bdist_wininst.pyR+s  N( t__name__t __module__RRRRRRRthasattrRR(((sD/usr/lib/python2.7/site-packages/setuptools/command/bdist_wininst.pyRs    (tdistutils.command.bdist_wininstRRR!tsys(((sD/usr/lib/python2.7/site-packages/setuptools/command/bdist_wininst.pytsegg_info.pyc000064400000042423147576665460007075 0ustar00 b-Qc@sxdZddlZddlZddlZddlmZddlTddlmZddl m Z ddl m Z ddl mZdd lmZdd lmZmZmZmZmZmZmZmZdd l mZd efd YZdefdYZde fdYZdZdZdZ dZ!dZ"dZ#e$dZ%dZ&dZ'dS(sUsetuptools.command.egg_info Create a distribution's .egg-info directory and contentsiN(tCommand(t*(tlog(tsdist(t basestring(t convert_path(tFileList(tparse_requirementst safe_namet parse_versiont safe_versiont yield_linest EntryPointtiter_entry_pointst to_filename(t walk_revctrltegg_infocBseZdZdd d!d"d#d$gZddgZidd 6dd6ZdZdZdZe dZ dZ dZ dZ dZdZedZdZdZRS(%s+create a distribution's .egg-info directorys egg-base=tesLdirectory containing .egg-info directories (default: top of the source tree)stag-svn-revisiontrs,Add subversion revision ID to version numberstag-datetds0Add date stamp (e.g. 20050528) to version numbers tag-build=tbs-Specify explicit tag to add to version numbersno-svn-revisiontRs*Don't add subversion revision ID [default]sno-datetDs"Don't include date stamp [default]cCsUd|_d|_d|_d|_d|_d|_d|_t|_ d|_ dS(Ni( tNonetegg_namet egg_versiontegg_baseRt tag_buildttag_svn_revisionttag_datetFalsetbroken_egg_infotvtags(tself((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pytinitialize_options+s        cCsCddlm}||iidd6dd6|jd6d6dS(Ni(t edit_configiRRRR(tsetuptools.command.setoptR#ttags(R!tfilenameR#((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pytsave_version_info6s cCst|jj|_|j|_|j|_y$tt d|j|jfWn-t k rt d|j|jfnX|j dkr|jj}|pijdtj|_ n|jdt|jd|_|j tjkrtjj|j |j|_nd|jkr8|jn|j|jj_|jj}|dk r|j|jjkr|j|_t|j|_d|j_ndS(Ns%s==%ss2Invalid distribution name or version syntax: %s-%stRs .egg-infot-( Rt distributiontget_nameRR%R ttagged_versionRtlistRt ValueErrortDistutilsOptionErrorRRt package_dirtgettostcurdirtensure_dirnameRRtpathtjointcheck_broken_egg_infotmetadatatversiont _patched_disttkeytlowert_versionR t_parsed_version(R!tdirstpd((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pytfinalize_optionsTs2!  ! !  $ cCsl|r|j|||nLtjj|rh|dkrX| rXtjd||dS|j|ndS(sWrite `data` to `filename` or delete if empty If `data` is non-empty, this routine is the same as ``write_file()``. If `data` is empty but not ``None``, this is the same as calling ``delete_file(filename)`. If `data` is ``None``, then this is a no-op unless `filename` exists, in which case a warning is issued about the orphaned file (if `force` is false), or deleted (if `force` is true). s$%s not set in setup(), but %s existsN(t write_fileR2R5texistsRRtwarnt delete_file(R!twhatR&tdatatforce((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pytwrite_or_delete_file}s  cCsjtjd||tjdkr4|jd}n|jsft|d}|j||jndS(sWrite `data` to `filename` (if not a dry run) after announcing it `what` is used in a log message to identify what is being written to the file. swriting %s to %sisutf-8twbN(i( Rtinfotsyst version_infotencodetdry_runtopentwritetclose(R!RFR&RGtf((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pyRBs  cCs-tjd||js)tj|ndS(s8Delete `filename` (if not a dry run) after announcing its deleting %sN(RRKROR2tunlink(R!R&((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pyREs cCsE|jj}|jr4|j|jr4t|St||jS(N(R*t get_versionR tendswithR (R!R9((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pyR,s cCs|j|j|jj}xNtdD]@}|jd|}|||jtjj |j|jq)Wtjj |jd}tjj |r|j |n|j dS(Nsegg_info.writerst installersnative_libs.txt( tmkpathRR*tfetch_build_eggR tloadtnameR2R5R6RCREt find_sources(R!RWteptwritertnl((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pytruns ,cCsd}|jr||j7}n|jrctjjdsLtjjdrc|d|j7}n|jrddl}||jd7}n|S(NR(s.svnsPKG-INFOs-r%sis-%Y%m%d( RRR2R5RCtget_svn_revisionRttimetstrftime(R!R9Rb((s?/usr/lib/python2.7/site-packages/setuptools/command/egg_info.pyR%s  $  cCs?d}tjd}tjd}xtjtjD]\}}}d|kr_g|(q7n|jdttjj|dd}|j }|j |j dr|j |j d}tg|j|D]} t| j d^qdg} nyt|jd} Wn d} nX| d kr[tjd |g|(q7ntttj|jd }|dd=|dd }tg|D]2} t| d kr| d rt| d ^qdg} |tjkr|d} n|j | sg|(q7nt|| }q7Wt|p;tS(Nis url="([^"]+)"scommitted-rev="(\d+)"s.svntentriesss.$ :J       sdist.pyo000064400000023656147576665460006471 0ustar00 b-Qc@siddlmZddlmZddlmZddlmZddlZddl Z ddl Z ddl Z ddlmZd#Z d$d%d&d'd(gZ dZddZdZddZddZdZe jde jZdZedee jde jfedefedefed efgZd!efd"YZdS()i(tsdist(t convert_path(tlog(tglobNtREADMEs README.rsts README.txts<ts"t"s't's&t&cCs-x&tD]\}}|j||}qW|S(N(tentitiestreplace(tdatatoldtnew((s</usr/lib/python2.7/site-packages/setuptools/command/sdist.pytunescapescsfd}|S(Nc3sut|d}|j}|jxIj|D]8}|jd}r_|}nt||Vq5WdS(NtrUi(topentreadtclosetfinditertgrouptjoinpath(tdirnametfilenametfR tmatchtpath(tpatterntpostproc(s</usr/lib/python2.7/site-packages/setuptools/command/sdist.pytfinds  ((RRR((RRs</usr/lib/python2.7/site-packages/setuptools/command/sdist.pyt re_finders cCs|s |Stjj||S(N(tosRtjoin(tprefixtsuffix((s</usr/lib/python2.7/site-packages/setuptools/command/sdist.pyR stccs@x9tjdD](}x|j|D] }|Vq)WqWdS(s%Find all files under revision controlssetuptools.file_findersN(t pkg_resourcestiter_entry_pointstload(Rteptitem((s</usr/lib/python2.7/site-packages/setuptools/command/sdist.pyt walk_revctrl-sccsxtD]\}}t||}tjj|rxe|||D]Q}tjj|rd|VqDtjj|rDxt|D] }|VqWqDqDWqqWdS(N(tfindersRR Rtisfiletisdirt_default_revctrl(RRtfinderR)((s</usr/lib/python2.7/site-packages/setuptools/command/sdist.pyR.3sc cst}t|d}xt|jdD]}|j}t|dkr(|\}}|jt|}|dkr|dkrt}q|dkr|r|j Pqq(q(W|j dSx;|j D]-}|j}|rt ||dVqqWdS( s$Find any 'svn:externals' directoriestrtR$itKs svn:externalstVNi( tFalseRtitertreadlinetsplittlenRtinttTrueRt splitlinesR( RRtfoundRtlinetpartstkindtlengthR ((s</usr/lib/python2.7/site-packages/setuptools/command/sdist.pytexternals_finder>s$       s%name="([^"]+)"(?![^>]+deleted="true")ccs3t|d}|j}|j|jdrnxtj|D]#}t|t|jdVqDWnd}yt |j d}WnnX|dkrt j dt jj|dSxhttj |jddD]G}| st|d kr|d d krqnt||dVqWdS( NRstD]}tjj|rdSqW|jddjtdS(Ns,standard file not found: should have one of s, (RqR RRuRDR!(R^R((s</usr/lib/python2.7/site-packages/setuptools/command/sdist.pyRTs  cCstj|||tjj|d}ttdritjj|ritj||jd|n|j dj |dS(Ns setup.cfgtlinkRM( Retmake_release_treeR RR!thasattrRutunlinkt copy_fileRQtsave_version_info(R^tbase_dirRtdest((s</usr/lib/python2.7/site-packages/setuptools/command/sdist.pyRs ! cCsYtjj|jstSt|jd}z|j}Wd|jX|djkS(NtrbUs+# file GENERATED by distutils, do NOT edit ( R RR,tmanifestR3RR5Rtencode(R^tfpt first_line((s</usr/lib/python2.7/site-packages/setuptools/command/sdist.pyt_manifest_is_not_generated s cCstjd|jt|jd}x|D]}tjdkry|jd}Wqtk r{tjd|q,qXn|j }|j ds,| rq,n|j j |q,W|j dS( sRead the manifest file (named by 'self.manifest') and use it to fill in 'self.filelist', the list of files to include in the source distribution. sreading manifest file '%s'RisUTF-8s"%r not UTF-8 decodable -- skippingt#N(i(RtinfoRRRgt version_infotdecodetUnicodeDecodeErrorRDtstripRBRRRSR(R^RR<((s</usr/lib/python2.7/site-packages/setuptools/command/sdist.pyt read_manifests    N(sformats=Ns6formats for source distribution (comma-separated list)(s dist-dir=RLsFdirectory to put the source distribution archive(s) in [default: dist](iii(ii(iii(ii(iii(t__name__t __module__t__doc__tNonet user_optionst negative_optRct_sdist__read_template_hackRgRRfRRTRRR(((s</usr/lib/python2.7/site-packages/setuptools/command/sdist.pyRs(     5 (Rs README.rsts README.txt(s<R(s>R(s"R(s'R(s&R (tdistutils.command.sdistRRetdistutils.utilRRaRRR treRgR%RqR RRRRR*R.R@tcompiletIRCRJtMR+(((s</usr/lib/python2.7/site-packages/setuptools/command/sdist.pyts,0       install_lib.pyc000064400000006224147576665460007613 0ustar00 b-Qc@s6ddlmZddlZdefdYZdS(i(t install_libNRcBsGeZdZdZdZdZdddddZdZRS(s9Don't add compiled flags to filenames of non-Python filescCspg}xc|D][}|jds(q n|jrE|j|dn|jdkr |j|dq q W|S(Ns.pytcito(tendswithtcompiletappendtoptimize(tselft py_filenamestbytecode_filestpy_file((sB/usr/lib/python2.7/site-packages/setuptools/command/install_lib.pyt_bytecode_filenamess  cCs6|j|j}|dk r2|j|ndS(N(tbuildtinstalltNonet byte_compile(Rtoutfiles((sB/usr/lib/python2.7/site-packages/setuptools/command/install_lib.pytruns   cCsi}|jj}|r|jdjrxy|D]n}|jd}xV|rtjj|j|}x'dD]}d|tjj||tj|||Sddlm}ddlmgfd}||||S(Ni(tunpack_directory(tlogcsP|kr jd|tSjd|tjj|j||S(Ns/Skipping installation of %s (namespace package)scopying %s -> %s(twarntFalsetinfoRRtdirnameR(tsrctdst(RR%R(sB/usr/lib/python2.7/site-packages/setuptools/command/install_lib.pytpf;s   (tAssertionErrorR#t _install_libt copy_treetsetuptools.archive_utilR$t distutilsR%( Rtinfiletoutfilet preserve_modetpreserve_timestpreserve_symlinkstlevelR$R,((RR%RsB/usr/lib/python2.7/site-packages/setuptools/command/install_lib.pyR/*s  cCsHtj|}|j}|rDg|D]}||kr(|^q(S|S(N(R.t get_outputsR#(RtoutputsRR"((sB/usr/lib/python2.7/site-packages/setuptools/command/install_lib.pyR8Gs  #(t__name__t __module__t__doc__R RR#R/R8(((sB/usr/lib/python2.7/site-packages/setuptools/command/install_lib.pyRs   (tdistutils.command.install_libRR.R(((sB/usr/lib/python2.7/site-packages/setuptools/command/install_lib.pyts install.pyc000064400000007263147576665460006771 0ustar00 b-Qc@sddlZddlZddlZddlmZddlmZdefdYZgejD]Z e dej krde ^qdej e_dS(iN(tinstall(tDistutilsArgErrorRcBseZdZejddgZejddgZddfddfgZeeZ d Z d Z d Z d Z d ZRS(s7Use easy_install to install the package, w/dependenciessold-and-unmanageablesTry not to use this!s!single-version-externally-manageds5used by system package builders to create 'flat' eggstinstall_egg_infocCstS(N(tTrue(tself((s>/usr/lib/python2.7/site-packages/setuptools/command/install.pytstinstall_scriptscCstS(N(R(R((s>/usr/lib/python2.7/site-packages/setuptools/command/install.pyRscCs,tj|d|_d|_d|_dS(N(t_installtinitialize_optionstNonetold_and_unmanageablet!single_version_externally_managedt no_compile(R((s>/usr/lib/python2.7/site-packages/setuptools/command/install.pyRs   cCsUtj||jr"t|_n/|jrQ|j rQ|j rQtdqQndS(NsAYou must specify --record or --root when building system packages(Rtfinalize_optionstrootRR trecordR(R((s>/usr/lib/python2.7/site-packages/setuptools/command/install.pyR s    cCs5|js|jrtj|Sd|_d|_dS(Nt(RR Rthandle_extra_pathR t path_filet extra_dirs(R((s>/usr/lib/python2.7/site-packages/setuptools/command/install.pyR's  cCs|js|jrtj|Stjd}|jjdd}|jj }|dksg|dkrwtj|n |j dS(Nit__name__Rsdistutils.distt run_commands( R R Rtruntsyst _getframet f_globalstgettf_codetco_nametdo_egg_install(Rtcallert caller_modulet caller_name((s>/usr/lib/python2.7/site-packages/setuptools/command/install.pyR2s  cCs|jjd}||jddd|jd|j}|jd|_|jjtjd|j d|jj dj g}t j r|jd t j n||_|jdt _ dS( Nt easy_installtargstxRRt.s*.eggt bdist_eggi(t distributiontget_command_classRRtensure_finalizedtalways_copy_fromt package_indextscantglobt run_commandtget_command_objt egg_outputt setuptoolstbootstrap_install_fromtinsertR"RR (RR!tcmdR"((s>/usr/lib/python2.7/site-packages/setuptools/command/install.pyRPs$      N(sold-and-unmanageableNsTry not to use this!(s!single-version-externally-managedNs5used by system package builders to create 'flat' eggs(Rt __module__t__doc__Rt user_optionsR tboolean_optionst new_commandstdictt_ncRR RRR(((s>/usr/lib/python2.7/site-packages/setuptools/command/install.pyRs      i( R0RR,tdistutils.command.installRRtdistutils.errorsRt sub_commandsR3R:R8(((s>/usr/lib/python2.7/site-packages/setuptools/command/install.pyts $e,__init__.pyo000064400000001617147576665460007073 0ustar00 b-Qc@sdddddddddd d d d d dddddddgZddlmZddlZejdkrejdnddlmZdejkrdej ds  install.pyo000064400000007263147576665460007005 0ustar00 b-Qc@sddlZddlZddlZddlmZddlmZdefdYZgejD]Z e dej krde ^qdej e_dS(iN(tinstall(tDistutilsArgErrorRcBseZdZejddgZejddgZddfddfgZeeZ d Z d Z d Z d Z d ZRS(s7Use easy_install to install the package, w/dependenciessold-and-unmanageablesTry not to use this!s!single-version-externally-manageds5used by system package builders to create 'flat' eggstinstall_egg_infocCstS(N(tTrue(tself((s>/usr/lib/python2.7/site-packages/setuptools/command/install.pytstinstall_scriptscCstS(N(R(R((s>/usr/lib/python2.7/site-packages/setuptools/command/install.pyRscCs,tj|d|_d|_d|_dS(N(t_installtinitialize_optionstNonetold_and_unmanageablet!single_version_externally_managedt no_compile(R((s>/usr/lib/python2.7/site-packages/setuptools/command/install.pyRs   cCsUtj||jr"t|_n/|jrQ|j rQ|j rQtdqQndS(NsAYou must specify --record or --root when building system packages(Rtfinalize_optionstrootRR trecordR(R((s>/usr/lib/python2.7/site-packages/setuptools/command/install.pyR s    cCs5|js|jrtj|Sd|_d|_dS(Nt(RR Rthandle_extra_pathR t path_filet extra_dirs(R((s>/usr/lib/python2.7/site-packages/setuptools/command/install.pyR's  cCs|js|jrtj|Stjd}|jjdd}|jj }|dksg|dkrwtj|n |j dS(Nit__name__Rsdistutils.distt run_commands( R R Rtruntsyst _getframet f_globalstgettf_codetco_nametdo_egg_install(Rtcallert caller_modulet caller_name((s>/usr/lib/python2.7/site-packages/setuptools/command/install.pyR2s  cCs|jjd}||jddd|jd|j}|jd|_|jjtjd|j d|jj dj g}t j r|jd t j n||_|jdt _ dS( Nt easy_installtargstxRRt.s*.eggt bdist_eggi(t distributiontget_command_classRRtensure_finalizedtalways_copy_fromt package_indextscantglobt run_commandtget_command_objt egg_outputt setuptoolstbootstrap_install_fromtinsertR"RR (RR!tcmdR"((s>/usr/lib/python2.7/site-packages/setuptools/command/install.pyRPs$      N(sold-and-unmanageableNsTry not to use this!(s!single-version-externally-managedNs5used by system package builders to create 'flat' eggs(Rt __module__t__doc__Rt user_optionsR tboolean_optionst new_commandstdictt_ncRR RRR(((s>/usr/lib/python2.7/site-packages/setuptools/command/install.pyRs      i( R0RR,tdistutils.command.installRRtdistutils.errorsRt sub_commandsR3R:R8(((s>/usr/lib/python2.7/site-packages/setuptools/command/install.pyts $e,alias.pyc000064400000006237147576665460006414 0ustar00 b-Qc@sddlZddlZddlmZddlmZddlmZddlTddlm Z m Z m Z dZ de fd YZ d ZdS( iN(tCommand(t convert_path(tlog(t*(t edit_configt option_baset config_filecCsJx$dD]}||krt|SqW|j|gkrFt|S|S(s4Quote an argument for later parsing by shlex.split()t"t's\t#(RRs\R (treprtsplit(targtc((s</usr/lib/python2.7/site-packages/setuptools/command/alias.pytshquotes    taliascBsUeZdZdZeZdgejZejdgZdZ dZ dZ RS( s3Define a shortcut that invokes one or more commandss0define a shortcut to invoke one or more commandstremovetrsremove (unset) the aliascCs#tj|d|_d|_dS(N(Rtinitialize_optionstNonetargsR(tself((s</usr/lib/python2.7/site-packages/setuptools/command/alias.pyRs  cCs>tj||jr:t|jdkr:tdndS(NisFMust specify exactly one argument (the alias name) when using --remove(Rtfinalize_optionsRtlenRtDistutilsOptionError(R((s</usr/lib/python2.7/site-packages/setuptools/command/alias.pyR"s cCs |jjd}|jsNdGHdGHx"|D]}dt||fGHq,WdSt|jdkr|j\}|jrd}q||krdt||fGHdSd|GHdSn,|jd}djtt |jd}t |j ii||6d6|j dS( NtaliasessCommand Aliasess---------------ssetup.py aliasis No alias definition found for %rit ( t distributiontget_option_dictRt format_aliasRRRtjointmapRRtfilenametdry_run(RRRtcommand((s</usr/lib/python2.7/site-packages/setuptools/command/alias.pytrun*s&        (sremoveRsremove (unset) the alias( t__name__t __module__t__doc__t descriptiontTruetcommand_consumes_argumentsRt user_optionstboolean_optionsRRR#(((s</usr/lib/python2.7/site-packages/setuptools/command/alias.pyRs   cCs{||\}}|tdkr+d}n@|tdkrFd}n%|tdkrad}n d|}||d|S( Ntglobals--global-config tusers--user-config tlocalts --filename=%rR(R(tnameRtsourceR"((s</usr/lib/python2.7/site-packages/setuptools/command/alias.pyREs    (t distutilstost setuptoolsRtdistutils.utilRRtdistutils.errorstsetuptools.command.setoptRRRRRR(((s</usr/lib/python2.7/site-packages/setuptools/command/alias.pyts  4setopt.pyc000064400000013642147576665460006637 0ustar00 b-Qc@sddlZddlZddlmZddlmZddlmZddlTdddd gZd d Z e d Z defd YZ d e fdYZ dS(iN(tCommand(t convert_path(tlog(t*t config_filet edit_configt option_basetsetopttlocalcCs|dkrdS|dkr>tjjtjjtjdS|dkrtjdkr_dpbd}tjjtd |St d |d S( sGet the filename of the distutils, local, global, or per-user config `kind` must be one of "local", "global", or "user" Rs setup.cfgtglobals distutils.cfgtusertposixt.ts~/%spydistutils.cfgs7config_file() type must be 'local', 'global', or 'user'N( tostpathtjointdirnamet distutilst__file__tnamet expanduserRt ValueError(tkindtdot((s=/usr/lib/python2.7/site-packages/setuptools/command/setopt.pyR s    c Csddlm}tjd||j}|j|gx+|jD]\}}|d krtjd|||j |qI|j |stjd|||j |nx|jD]\}}|d kr6tjd||||j |||j |sbtjd|||j |qbqtjd|||||j|||qWqIWtjd ||st|d } |j| | jnd S( sYEdit a configuration file to include `settings` `settings` is a dictionary of dictionaries or ``None`` values, keyed by command/section name. A ``None`` value means to delete the entire section, while a dictionary lists settings to be changed or deleted in that section. A setting of ``None`` means to delete that setting. i(t ConfigParsersReading configuration from %ssDeleting section [%s] from %ssAdding new section [%s] to %ssDeleting %s.%s from %ss#Deleting empty [%s] section from %ssSetting %s.%s to %r in %ss Writing %stwN(tsetuptools.compatRRtdebugtRawConfigParsertreadtitemstNonetinfotremove_sectiont has_sectiont add_sectiont remove_optiontoptionstsettopentwritetclose( tfilenametsettingstdry_runRtoptstsectionR&toptiontvaluetf((s=/usr/lib/python2.7/site-packages/setuptools/command/setopt.pyR*s:        cBs;eZdZd d dgZddgZd Zd ZRS(s<Abstract base class for commands that mess with config filess global-configtgs0save options to the site-wide distutils.cfg files user-configtus7save options to the current user's pydistutils.cfg files filename=R2s-configuration file to use (default=setup.cfg)cCsd|_d|_d|_dS(N(R t global_configt user_configR+(tself((s=/usr/lib/python2.7/site-packages/setuptools/command/setopt.pytinitialize_optionscs  cCsg}|jr%|jtdn|jrD|jtdn|jdk rf|j|jn|s|jtdnt|dkrtd|n|\|_dS(NR R Ris/Must specify only one configuration file option(R5tappendRR6R+R tlentDistutilsOptionError(R7t filenames((s=/usr/lib/python2.7/site-packages/setuptools/command/setopt.pytfinalize_optionshs   (s global-configR3s0save options to the site-wide distutils.cfg file(s user-configR4s7save options to the current user's pydistutils.cfg file(s filename=R2s-configuration file to use (default=setup.cfg)(t__name__t __module__t__doc__t user_optionstboolean_optionsR8R=(((s=/usr/lib/python2.7/site-packages/setuptools/command/setopt.pyRSs   cBsXeZdZdZddddgejZejd gZdZdZdZ RS(s#Save command-line options to a files1set an option in setup.cfg or another config filescommand=tcscommand to set an option forsoption=tos option to sets set-value=tssvalue of the optiontremovetrsremove (unset) the valuecCs5tj|d|_d|_d|_d|_dS(N(RR8R tcommandR0t set_valueRF(R7((s=/usr/lib/python2.7/site-packages/setuptools/command/setopt.pyR8s     cCsftj||jdks+|jdkr:tdn|jdkrb|j rbtdndS(Ns%Must specify --command *and* --options$Must specify --set-value or --remove(RR=RHR R0R;RIRF(R7((s=/usr/lib/python2.7/site-packages/setuptools/command/setopt.pyR=s  cCs=t|jii|j|jjdd6|j6|jdS(Nt-t_(RR+RIR0treplaceRHR-(R7((s=/usr/lib/python2.7/site-packages/setuptools/command/setopt.pytruns #(scommand=RCscommand to set an option for(soption=RDs option to set(s set-value=REsvalue of the option(sremoveRGsremove (unset) the value( R>R?R@t descriptionRRARBR8R=RM(((s=/usr/lib/python2.7/site-packages/setuptools/command/setopt.pyR|s   (RRt setuptoolsRtdistutils.utilRRtdistutils.errorst__all__RtFalseRRR(((s=/usr/lib/python2.7/site-packages/setuptools/command/setopt.pyts  ))install_egg_info.pyc000064400000011073147576665460010620 0ustar00 b-Qc@stddlmZddlmZddlmZmZddlZddlZddl Z defdYZ dS(i(tCommand(tunpack_archive(tlogtdir_utilNtinstall_egg_infocBs\eZdZdZd gZdZdZdZdZdZ d Z d Z RS( s.Install an .egg-info directory for the packages install-dir=tdsdirectory to install tocCs d|_dS(N(tNonet install_dir(tself((sG/usr/lib/python2.7/site-packages/setuptools/command/install_egg_info.pytinitialize_optionsscCs|jdd|jd}tjdd|j|jjd}|j|_t j j |j ||_ |j g|_dS(Nt install_libRtegg_infos .egg-info(s install_dirs install_dir(tset_undefined_optionstget_finalized_commandt pkg_resourcest DistributionRtegg_namet egg_versionR tsourcetostpathtjoinRttargettoutputs(Rtei_cmdtbasename((sG/usr/lib/python2.7/site-packages/setuptools/command/install_egg_info.pytfinalize_optionss cCs|jd|j}tjj|jr]tjj|j r]tj|jd|jn;tjj |jr|j tj |jfd|jn|jst j |jn|j |jdd|j|jf|jdS(NR tdry_runs Removing sCopying %s to %s((t run_commandRRRtisdirtislinkRt remove_treeRtexiststexecutetunlinkRtensure_directorytcopytreeRtinstall_namespaces(RR((sG/usr/lib/python2.7/site-packages/setuptools/command/install_egg_info.pytruns  +& cCs|jS(N(R(R((sG/usr/lib/python2.7/site-packages/setuptools/command/install_egg_info.pyt get_outputs*scs)fd}tjj|dS(Ncs[x1dD])}|j|s,d||krdSqWjj|tjd|||S(Ns.svn/sCVS/t/sCopying %s to %s(s.svn/sCVS/(t startswithRRtappendRtdebug(tsrctdsttskip(R(sG/usr/lib/python2.7/site-packages/setuptools/command/install_egg_info.pytskimmer/s  (RRR(RR/((RsG/usr/lib/python2.7/site-packages/setuptools/command/install_egg_info.pyR$-s cCs|j}|sdStjj|j\}}|d7}|jj|tjd||j st |d}xy|D]q}t |}t |j d}d}d|krddj|d |df}n|jdtqzW|jndS( Ns -nspkg.pths Installing %stwtt.s s(; m and setattr(sys.modules[%r], %r, m) is7import sys,types,os; p = os.path.join(sys._getframe(1).f_locals['sitedir'], *%(pth)r); ie = os.path.exists(os.path.join(p,'__init__.py')); m = not ie and sys.modules.setdefault(%(pkg)r,types.ModuleType(%(pkg)r)); mp = (m or []) and m.__dict__.setdefault('__path__',[]); (p not in mp) and mp.append(p)%(trailer)s(t_get_all_ns_packagesRRtsplitextRRR*RtinfoRtopentstrttupletsplitRtwritetlocalstclose(Rtnsptfilenametexttftpkgtpthttrailer((sG/usr/lib/python2.7/site-packages/setuptools/command/install_egg_info.pyR%Ss(      !cCsvi}xS|jjpgD]?}|jd}x'|rWd|dj|<|jq1WqWt|}|j|S(NR1i(t distributiontnamespace_packagesR8Rtpoptlisttsort(RR<R@((sG/usr/lib/python2.7/site-packages/setuptools/command/install_egg_info.pyR2rs   (s install-dir=Rsdirectory to install to( t__name__t __module__t__doc__t descriptiont user_optionsR RR&R'R$R%R2(((sG/usr/lib/python2.7/site-packages/setuptools/command/install_egg_info.pyRs     & ( t setuptoolsRtsetuptools.archive_utilRt distutilsRRRtshutilRR(((sG/usr/lib/python2.7/site-packages/setuptools/command/install_egg_info.pyts$develop.pyc000064400000013273147576665460006757 0ustar00 b-Qc@sddlmZddlmZmZddlmZmZmZddl m Z ddl m Z m Z ddlZddlZddlZddlZdefdYZdS( i(t easy_install(t convert_patht subst_vars(t Distributiont PathMetadatatnormalize_path(tlog(tDistutilsErrortDistutilsOptionErrorNtdevelopcBsseZdZdZejd dgZejdgZeZ dZ dZ d Z d Z d Zd ZRS(sSet up package for developments%install package in 'development mode't uninstalltusUninstall this source packages egg-path=s-Set the path to be used in the .egg-link filecCs7|jrt|_|jn |j|jdS(N(R tTruet multi_versiontuninstall_linktinstall_for_developmenttwarn_deprecated_options(tself((s>/usr/lib/python2.7/site-packages/setuptools/command/develop.pytruns     cCs5d|_d|_tj|d|_d|_dS(Nt.(tNoneR tegg_pathRtinitialize_optionst setup_pathtalways_copy_from(R((s>/usr/lib/python2.7/site-packages/setuptools/command/develop.pyRs     cCs|jd}|jr7td|j|jfn|jg|_tj||j|j |j j t j dt jj|j|jd|_|j|_|jdkrt jj|j|_nt|j}tt jj|j|j|kr!td|nt|t|t jj|jd|j|_|jjt jd}|t jkrd|jdd }n||_tt jj|j|j|}|tt jkrtd |tt jndS( Ntegg_infos-Please rename %r to %r before using 'develop's*.eggs .egg-linksA--egg-path must be a relative path from the install directory to t project_namet/s../isGCan't get a consistent path to setup script from installation directory( tget_finalized_commandtbroken_egg_infoRRtegg_nametargsRtfinalize_optionstexpand_basedirst expand_dirst package_indextscantglobtostpathtjoint install_dirtegg_linktegg_baseRRtabspathRRRRtdisttreplacetseptcurdirtcountR(Rteittargettp((s>/usr/lib/python2.7/site-packages/setuptools/command/develop.pyR 's@    " '  $cCstjd krt|jdtr|jddd|jd|jd}t|j }|jdd||jd|jddd|jd|jd}||_ ||j _ t ||j|j _n-|jd|jddd |jd|jtjr=|jtjdt_ntjd |j|j|jst|jd }|j|j d |j|jn|jd|j |j dS(Nituse_2to3tbuild_pytinplaceiRR+t build_extisCreating %s (link to %s)tws (i( tsyst version_infotgetattrt distributiontFalsetreinitialize_commandt run_commandRRt build_libRR-tlocationRRt _providertinstall_site_pyt setuptoolstbootstrap_install_fromRRRtinfoR*R+tdry_runtopentwriteRtclosetprocess_distributiontno_deps(Rtbpy_cmdt build_pathtei_cmdtf((s>/usr/lib/python2.7/site-packages/setuptools/command/develop.pyRVs4$            cCstjj|jrtjd|j|jt|j}g|D]}|j^qD}|j ||j g|j |j gfkrtj d|dS|j stj|jqn|j s|j|jn|jjrtj dndS(NsRemoving %s (link to %s)s$Link points to %s: uninstall aborteds5Note: you must uninstall or replace scripts manually!(R&R'texistsR*RRGR+RItrstripRKRRtwarnRHtunlinkt update_pthR-R=tscripts(Rt egg_link_filetlinetcontents((s>/usr/lib/python2.7/site-packages/setuptools/command/develop.pyRs $   cCs||jk rtj||S|j|x|jjp>gD]k}tjjt |}tjj |}t |d}|j }|j |j||||q?WdS(NtrU(R-Rtinstall_egg_scriptstinstall_wrapper_scriptsR=RWR&R'R,RtbasenameRItreadRKtinstall_script(RR-t script_namet script_pathRQt script_text((s>/usr/lib/python2.7/site-packages/setuptools/command/develop.pyR\s   (s uninstallR sUninstall this source packageN(s egg-path=Ns-Set the path to be used in the .egg-link file(t__name__t __module__t__doc__t descriptionRt user_optionsRtboolean_optionsR>tcommand_consumes_argumentsRRR RRR\(((s>/usr/lib/python2.7/site-packages/setuptools/command/develop.pyR s   / . (tsetuptools.command.easy_installRtdistutils.utilRRt pkg_resourcesRRRt distutilsRtdistutils.errorsRRR&R:RER%R (((s>/usr/lib/python2.7/site-packages/setuptools/command/develop.pyts 0saveopts.pyo000064400000002317147576665460007176 0ustar00 b-Qc@sXddlZddlZddlmZddlmZmZdefdYZdS(iN(tCommand(t edit_configt option_basetsaveoptscBseZdZdZdZRS(s#Save command-line options to a files7save supplied options to setup.cfg or other config filecCs|j}i}xt|jD]i}|dkr1qnxN|j|jD]7\}\}}|dkrG||j|i|seasy_install.pyo000064400000203307147576665460010023 0ustar00 gc@sdZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl m Z ddl Z ddl mZmZddlmZddlmZmZy,ddlmZmZdZd ZWn9ek r=dd lmZmZd Zd ZnXdd lmZddlmZm Z ddl!m"Z"m#Z#m$Z$m%Z%ddl&m'Z'm(Z(ddl)m*Z*ddl+m,Z,ddl-m.Z.ddl-m/Z/ddl)m0Z0m1Z1ddl2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8ddl m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGdejHkrejHdZInejJjKejLZIddddddgZMddlNZNejOdk oeNjPZQddlRZRd ZSd!ZTejUd"fkr:d#ZVd$ZWnd%ZVd&ZWdefd'YZXd(ZYd)ZZd*Z[d+Z\d,Z]de?fd-YZ^eIe_d.Z`d/Zad0Zbd1Zcd2d3Zdd4Zed5Zfd6Zgydd7lmhZiWnek r&d8ZinXd9Zhd:ZjeIe_d;Zkd<Zld=Zme_ead>Znd?Zod@ZpeqdAZrdS(BsEasy Install ------------ A tool for doing automatic download/extract/build of distutils-based Python packages. For detailed documentation, see the accompanying EasyInstall.txt file, or visit the `EasyInstall home page`__. __ https://pythonhosted.org/setuptools/easy_install.html iN(tglob(tCommandt_dont_write_bytecode(t run_setup(tlogtdir_util(tget_config_varstget_pathcCs tdS(Ntplatlib(R(((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyt _get_platlibscCs tdS(Ntpurelib(R(((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyt _get_purelib!s(Rtget_python_libcCs ttS(N(R tTrue(((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR %scCs ttS(N(R tFalse(((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR 's(t get_platform(t convert_patht subst_vars(tDistutilsArgErrortDistutilsOptionErrortDistutilsErrortDistutilsPlatformError(tINSTALL_SCHEMESt SCHEME_KEYS(tsetopt(tunpack_archive(t PackageIndex(t URL_SCHEME(t bdist_eggtegg_info(t iteritemstmaxsizetxranget basestringtunicodetreraise(t yield_linestnormalize_pathtresource_stringtensure_directorytget_distributiontfind_distributionst Environmentt Requirementt Distributiont PathMetadatat EggMetadatat WorkingSettDistributionNotFoundtVersionConflictt DEVELOP_DISTt__VENV_LAUNCHER__tsamefilet easy_installtPthDistributionstextract_wininst_cfgtmaintget_exe_prefixess2.6cCstjddkS(NtPi(tstructtcalcsize(((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pytis_64bitKscCsttjdrItjj|rItjj|rItjj||Stjjtjj|tjjtjj|kS(NR4(thasattrtostpathtexistsR4tnormpathtnormcase(tp1tp2((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR4Ns $icCs|S(N((ts((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyt _to_asciiYscCs.yt|dtSWntk r)tSXdS(Ntascii(R"R t UnicodeErrorR(RF((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pytisascii[s   cCs |jdS(NRH(tencode(RF((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyRGbscCs.y|jdtSWntk r)tSXdS(NRH(RKR RIR(RF((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyRJds   cBseZdZdZeZdzd{d|d}d~ddddddddddddddddddgZdddd ddd"d1d4d:d=g Ze rej dAdydBe j fej dAnidd+6Z eZdCZdDZdEZdFZdGZdHZdIZdJZdKZdLZdMZdNZdOZdPZdQZdRZe dSZ!e dTZ"dUZ#edVZ$dWZ%dXZ&dYZ'dydZZ(d[dd\Z)d]Z*d^Z+d_Z,d`Z-daZ.dbZ/dcZ0dddeZ1dfZ2dgZ3dhZ4diZ5djZ6dkZ7dlZ8dmZ9dnZ:doZ;dpZ<e=dqe=drdsdtduZ>e=drdvdtdwZ?dxZ@RS(s'Manage a download/build/install processs Find/get/install Python packagessprefix=sinstallation prefixszip-oktzsinstall package as a zipfiles multi-versiontms%make apps have to require() a versiontupgradetUs1force upgrade (searches PyPI for latest versions)s install-dir=tdsinstall package to DIRs script-dir=RFsinstall scripts to DIRsexclude-scriptstxsDon't install scriptss always-copytas'Copy all needed packages to install dirs index-url=tis base URL of Python Package Indexs find-links=tfs(additional URL(s) to search for packagessdelete-conflictingtDs no longer needed; don't use thissignore-conflicts-at-my-risksbuild-directory=tbs/download/extract/build in DIR; keep the resultss optimize=tOslalso compile with optimization: -O1 for "python -O", -O2 for "python -OO", and -O0 to disable [default: -O0]srecord=s3filename in which to record list of installed filess always-unziptZs*don't install as a zipfile, no matter whats site-dirs=tSs)list of directories where .pth files workteditabletes+Install specified packages in editable formsno-depstNsdon't install dependenciess allow-hosts=tHs$pattern(s) that hostnames must matchslocal-snapshots-oktls(allow building eggs from local checkoutstversions"print version information and exits no-find-linkss9Don't load find-links defined in packages being installedtusers!install in user site-package '%s'cCstr0tjjt}|jtj|_n d|_d|_ |_ d|_ |_ |_d|_d|_d|_d|_d|_|_d|_|_|_d|_|_|_d|_|_|_d|_d|_d|_ d|_!d|_"d|_#d|_$d|_%d|_&trKtj'|_(tj|_)nd|_(d|_)d|_*d|_+d|_,|_-d|_.d|_/d|_0i|_1t2|_3d|_4|j5j6|_6|j5j7||j5j8ddS(NiR5(9t HAS_USER_SITER?R@tabspatht__file__t startswithtsitet USER_SITER`tNonetzip_oktlocal_snapshots_okt install_dirt script_dirtexclude_scriptst index_urlt find_linkstbuild_directorytargstoptimizetrecordRNt always_copyt multi_versionRZtno_depst allow_hoststroottprefixt no_reportR_tinstall_purelibtinstall_platlibtinstall_headerst install_libtinstall_scriptst install_datat install_basetinstall_platbaset USER_BASEtinstall_userbasetinstall_usersitet no_find_linkst package_indextpth_filetalways_copy_fromtdelete_conflictingtignore_conflicts_at_my_riskt site_dirstinstalled_projectsRtsitepy_installedt_dry_runt distributiontverboset_set_command_optionstget_option_dict(tselftwhereami((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pytinitialize_optionssP                          cCsx|D]}tjj|s1tjj|rtjd||jstjj|r|tjj| r|t|qtj |qqqWdS(Ns Deleting %s( R?R@RAtislinkRtinfotdry_runtisdirtrmtreetunlink(Rtblockerstfilename((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pytdelete_blockerss $ % c Cs|jr(dtdjGHtjntjjd}tdd\}}i |jjd6|jjd6|jj d6|d 6|dd !d 6|d|d d 6|d6|d6|d6|d6t tddd6|_ t r |j |j d<|j|j d|j9n|jdd/t:|j?t@s=y>t@|j?|_?d|j?ko d knstAnWq=tAk r9t-d(q=Xn|jBr^|jCr^t-d)n|j/r|jD rtEd*n|jFstEd+ng|_GdS(0Ns setuptools %st setuptoolsiRxt exec_prefixt dist_namet dist_versiont dist_fullnamet py_versionitpy_version_shortitpy_version_nodott sys_prefixtsys_exec_prefixtabiflagsttuserbasetusersites$User base directory is not specifiedtposixt unix_usert_userRjRkRoRR}R~tinstallRrt,s"%s (in --site-dirs) does not exists$ (in --site-dirs) is not on sys.pathshttps://pypi.python.org/simplet*t search_paththostsRqs--optimize must be 0, 1, or 2sVCan't use both --delete-conflicting and --ignore-conflicts-at-my-risk at the same times9Must specify a build directory (-b) when using --editables:No urls, filenames, or requirements specified (see --help)(s install_dirs install_dir(s install_dirs script_dir(srecordsrecord(soptimizesoptimize(HR_R(tsystexittsplitRRtget_namet get_versiont get_fullnametgetattrt config_varsRaRRR`tcreate_home_pathRgRRRR?tnamet select_schemetexpand_basedirst expand_dirst_expandRkRjRRtset_undefined_optionsRzR~tmapR%R@t get_site_dirst all_site_dirsRt expandusertstripRRtwarnRtappendRZtcheck_site_dirRmt shadow_pathtinsertRvRt create_indexR*t local_indexRnt isinstanceR!Ritscan_egg_linkstadd_find_linksRqtintt ValueErrorRRRoRRptoutputs( RRRxRRBRFRRPt path_itemR((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pytfinalize_optionss           7   . !         cCsx|D]y}t||}|dk rtjdksFtjdkr[tjj|}nt||j}t|||qqWdS(NRtnt( RRgR?RR@RRRtsetattr(Rtattrstattrtval((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyt _expand_attrscs  cCs|jdddgdS(sNCalls `os.path.expanduser` on install_base, install_platbase and root.RRRwN(R(R((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyRlscCs#|jddddddgdS(s+Calls `os.path.expanduser` on install dirs.RzR{R}R|R~RN(R(R((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyRqs cCs|j|jjkr(tj|jnzx%|jD]}|j||j q5W|jr|j}|j rt |j }x/t t |D]}|||||=%(version)s") # this version or higher s Note also that the installation directory must be on sys.path at runtime for this to work. (e.g. by being the application's script directory, by being on PYTHONPATH, or by being added to sys.path by your code.) R( RtRyRjRR%RR@R)R-R_RW( RtreqRtwhatRtegglocRR_R=((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR8"s     cCs&tjj|}tj}dtS(Ns" Extracted editable version of %(spec)s to %(dirname)s If it uses setuptools in its setup script, you can activate it in "development" mode by going to that directory and running:: %(python)s setup.py develop See the setuptools documentation for the "develop" command for more info. (R?R@RRRRW(RRRgRtpython((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyRe>s cCs$tjjdttjjdtt|}|jdkrid|jd}|jdd|n"|jdkr|jddn|jr|jdd nt j d |t |dd j |yt ||Wn;tk rtjd}td |jdfnXdS( Nsdistutils.command.bdist_eggsdistutils.command.egg_infoiRiiR{s-qs-ns Running %s %st sSetup script exited with %s(Rtmodulest setdefaultRRtlistRRRRRRRRt SystemExitRRRp(RRgRGRpR((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyRKs"  $ c Csddg}tjdddtjj|}z|jtjj||j||j|||t|g}g}x?|D]7}x.||D]"}|j|j |j |qWqW| r|j rt j d|n|SWdt|t j|jXdS(NRs --dist-dirRxs egg-dist-tmp-tdirs+No eggs found in %s (setup script problem?)(R R!R?R@Rt_set_fetcher_optionsRRR*RaR)RRRRRR( RRgRGRptdist_dirtall_eggsteggsRR((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyRf`s$    $   c Cs|jjdj}d }i}xF|jD]8\}}||krOq1n|d||jdd |jd|d|fdfq>q>Wq4q4WWd|jXg|D]\}} |j| f^q}|j|j|S(s4Get exe->egg path translations for a given .exe filesPURELIB/RsPLATLIB/pywin32_system32sPLATLIB/sSCRIPTS/sEGG-INFO/scripts/sDATA/lib/site-packagesRiisPKG-INFOis .egg-infois EGG-INFO/s.pths -nspkg.pthtPURELIBtPLATLIBs\Rs%s/%s/N(sPURELIB/R(sPLATLIB/pywin32_system32R(sPLATLIB/R(sSCRIPTS/sEGG-INFO/scripts/(sDATA/lib/site-packagesR(R R (i(RtZipFiletinfolistRRRR,RRtupperRRRRMR$RRNRdRRRtsorttreverse( t exe_filenameRRLRRRRItpthRQty((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR9s<  "#"3 + cCs<ytj|SWn$tk r7td|fnXdS(Ns1Not a URL, existing file, or requirement spec: %r(R+tparseRR(R((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR% s  cBsMeZdZeZddZdZdZdZdZ dZ RS(s)A .pth file with Distribution paths in itcCs||_ttt||_ttjj|j|_|j t j |gddx6t |jD]%}tt|jt|tqoWdS(N(RRRR%RR?R@Rtbasedirt_loadR*t__init__RgR$RR7R)R (RRRR@((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR-s  cCsg|_t}tj|j}tjj|jr3t |jd}x|D]}|j drpt }qOn|j }|jj ||j sO|jj drqOnttjj|j|}|jdcCs7yt||dWnttfk r.tSXtSdS(s%Is this string a valid Python script?texecN(R)t SyntaxErrort TypeErrorRR (ttextR((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyt is_pythons cCsNy)t|}|jd}|jWnttfk rC|SX|dkS(sCDetermine if the specified executable is a .sh (contains a #! line)is#!(RRRRR(Rtfptmagic((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pytis_shs cCsg}t}d}d|kp'd|k}|r@|jdnx|D]z}|dkrf|d7}qG|dkr|jd|ddd}qG|r|jd|d}n|j|qGW|r|jd|n|r|jd||jdnd j|S( s@Quote a command line argument according to Windows parsing rulesiRs t"s\iis\"R(RRR(R5tresultt needquotetnbtc((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR-s,      cCsb|jds|jdr"tSt||r5tS|jdr^d|jdjkStS(sMIs this text, as a whole, a Python script? (as opposed to shell/bat/etc. s.pys.pyws#!Ri(R,R RDRdR*RR(RXR((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyRUs(R]cGsdS(N((Rp((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyt_chmodscCs_tjd||yt||Wn4tjk rZtjd}tjd|nXdS(Nschanging mode of %s to %oischmod failed: %s(RRRMR?terrorRR(R@R^R[((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR]s cCsntjjdrjt|rjddl}|jjjddkrI|S|r_tj dqjd|Sn|S(Ntjavaisos.nametLinuxsWARNING: Unable to adapt shebang line for Jython, the following script is NOT executable see http://bugs.jython.org/issue1112 for more information.s/usr/bin/env %s( RRxRdRGROtlangtSystemt getPropertyRR(RR1RO((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR.s  c cst|j}td||}xdD]{}xr|j|jD][\}}dt}tjdksu|r|dkrd} d} dg} tj d d |} n0d } d } d ddg} tj dd|} t j j | dd!j dstjdkr| } n|} || | |dg| D]}||^q6fV|dt| dfVts|d}|t|dfVqqG|||fVqGWq+WdS(sEYield write_script() argument tuples for a distribution's entrypointsRtconsole_scriptst gui_scriptss# EASY-INSTALL-ENTRY-SCRIPT: %(spec)r,%(group)r,%(name)r __requires__ = %(spec)r import sys from pkg_resources import load_entry_point if __name__ == '__main__': sys.exit( load_entry_point(%(spec)r, %(group)r, %(name)r)() ) twin32tguis -script.pyws.pyws(?i)python.exes pythonw.exetclis -script.pys.pys.pycs.pyos(?i)pythonw.exes python.exeiiRHR[s.exeRVs .exe.manifestN(RTRU(RTR;RVt get_entry_mapRRWRRxR(tsubR?R@RARtget_win_launcherR=tload_launcher_manifest(RRR/RtheaderR,RtepRXt launcher_typeRRt new_headerR2RQtm_name((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyRK0s4 "   1 0  cCstd|}tjjdkr7|jdd}ntrU|jdd}n|jdd}td|S(s Load the Windows launcher (executable) suitable for launching a script. `type` should be either 'cli' or 'gui' Returns the executable as a byte string. s%s.exetarmt.s-arm.s-64.s-32.R(RxtmachineRRNR=R&(ttypet launcher_fn((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR[ds  cCsHtjtd}tjddkr0|tS|jdtSdS(Nslauncher manifest.xmliisutf-8(t pkg_resourcesR&RRRtvarsRM(Rtmanifest((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR\us cCst|rd}n|dkr*d}ng}ytj|}Wn-tjk rr|tj|tjnXx|D]}tjj||}ytj|j }Wntjk rd}nXt j |rt |||qzytj |Wqztjk r*|tj |tjqzXqzWytj|Wn-tjk ro|tj|tjnXdS(sRecursively delete a directory tree. This code is taken from the Python 2.4 version of 'shutil', because the 2.3 version doesn't really work right. cWsdS(N((Rp((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pytonerrorscWsdS(N((Rp((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyRjsiN(RgR?RCRNRRR@Rtlstattst_modeRtS_ISDIRRRtrmdir(R@t ignore_errorsRjRRtfullnameR^((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR|s2     !cCs tjd}tj||S(Ni(R?tumask(ttmp((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR\s cCsMddl}tjj|jd}|tjds((RRpR(R,R}(RpRRsC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyRs(RRt common_usageR((R,R}(sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR~sic s6ddddgdtjdp)ddS(Nt script_argss-qR5s-vRit distclass(RRt((R~RtRRw(sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyRs(RRwtsetuptools.distR,tdistutils.coreRgRRt(RtR(( R,R~RyRtRRzRRwR}sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyR8s  (sRRR?RjRDR RR(RRRxRRgRRRtsetuptools.sandboxRRRRt sysconfigRRR R Rtdistutils.sysconfigR RRRRtdistutils.errorsRRRRtdistutils.command.installRRtsetuptools.commandRtsetuptools.archive_utilRtsetuptools.package_indexRRRRRRRR R!R"R#R$R%R&R'R(R)R*R+R,R-R.R/R0R1R2Rtsys_executableR@RBRt__all__ReR_tENABLE_USER_SITERaR;R=R4RRGRJR5RRR7R9R%R6RRVR9RrR;RDRGR-RUR]RMR.RKR[R\RR\RvRgR8(((sC/usr/lib/python2.7/site-packages/setuptools/command/easy_install.pyt s                ".d           - ) 6 % h   )     4  #  alias.pyo000064400000006237147576665460006430 0ustar00 b-Qc@sddlZddlZddlmZddlmZddlmZddlTddlm Z m Z m Z dZ de fd YZ d ZdS( iN(tCommand(t convert_path(tlog(t*(t edit_configt option_baset config_filecCsJx$dD]}||krt|SqW|j|gkrFt|S|S(s4Quote an argument for later parsing by shlex.split()t"t's\t#(RRs\R (treprtsplit(targtc((s</usr/lib/python2.7/site-packages/setuptools/command/alias.pytshquotes    taliascBsUeZdZdZeZdgejZejdgZdZ dZ dZ RS( s3Define a shortcut that invokes one or more commandss0define a shortcut to invoke one or more commandstremovetrsremove (unset) the aliascCs#tj|d|_d|_dS(N(Rtinitialize_optionstNonetargsR(tself((s</usr/lib/python2.7/site-packages/setuptools/command/alias.pyRs  cCs>tj||jr:t|jdkr:tdndS(NisFMust specify exactly one argument (the alias name) when using --remove(Rtfinalize_optionsRtlenRtDistutilsOptionError(R((s</usr/lib/python2.7/site-packages/setuptools/command/alias.pyR"s cCs |jjd}|jsNdGHdGHx"|D]}dt||fGHq,WdSt|jdkr|j\}|jrd}q||krdt||fGHdSd|GHdSn,|jd}djtt |jd}t |j ii||6d6|j dS( NtaliasessCommand Aliasess---------------ssetup.py aliasis No alias definition found for %rit ( t distributiontget_option_dictRt format_aliasRRRtjointmapRRtfilenametdry_run(RRRtcommand((s</usr/lib/python2.7/site-packages/setuptools/command/alias.pytrun*s&        (sremoveRsremove (unset) the alias( t__name__t __module__t__doc__t descriptiontTruetcommand_consumes_argumentsRt user_optionstboolean_optionsRRR#(((s</usr/lib/python2.7/site-packages/setuptools/command/alias.pyRs   cCs{||\}}|tdkr+d}n@|tdkrFd}n%|tdkrad}n d|}||d|S( Ntglobals--global-config tusers--user-config tlocalts --filename=%rR(R(tnameRtsourceR"((s</usr/lib/python2.7/site-packages/setuptools/command/alias.pyREs    (t distutilstost setuptoolsRtdistutils.utilRRtdistutils.errorstsetuptools.command.setoptRRRRRR(((s</usr/lib/python2.7/site-packages/setuptools/command/alias.pyts  4build_ext.pyo000064400000024053147576665460007312 0ustar00 b-Qc @sddlmZyddlmZWnek r=eZnXddlZddlZddlm Z ddl m Z ddl m Z ddlmZyddlmZWn>ek rddlmZed [dd lmZnXdd lmZdd lTeZeZd Zejdkr/eZnFejdkruy ddlmZeZeZWquek rqquXndZ defdYZesejdkrddddddddddd Z"n-dZddddddddddd Z"dS(i(t build_extN(t copy_file(tLibrary(t new_compiler(tcustomize_compiler(t _CONFIG_VARS(tget_config_vartLDSHARED(t _config_vars(tlog(t*tsharedtdarwintnt(tRTLD_NOWcCstr |SdS(Nt(t have_rtld(ts((s@/usr/lib/python2.7/site-packages/setuptools/command/build_ext.pytif_dl&sRcBseZdZdZeek r@eed r@dZndZdZ dZ dZ dZ d Z d Zd Zed ZRS( cCs@|jd}|_tj|||_|r<|jndS(s;Build extensions in build directory, then copy if --inplaceiN(tinplacet _build_exttruntcopy_extensions_to_source(tselft old_inplace((s@/usr/lib/python2.7/site-packages/setuptools/command/build_ext.pyR1s   c Cs|jd}x|jD]}|j|j}|j|}|jd}dj|d }|j|}tj j|tj j |}tj j|j |} t | |d|j d|j|jr|j|ptj|tqqWdS(Ntbuild_pyt.itverbosetdry_run(tget_finalized_commandt extensionstget_ext_fullnametnametget_ext_filenametsplittjointget_package_dirtostpathtbasenamet build_libRRRt _needs_stubt write_stubtcurdirtTrue( RRtexttfullnametfilenametmodpathtpackaget package_dirt dest_filenamet src_filename((s@/usr/lib/python2.7/site-packages/setuptools/command/build_ext.pyR9s!  t pyrex_sourcescGs+tj||p|}tj|||S(N(Rt swig_sourcest _du_build_ext(Rtsourcest otherargs((s@/usr/lib/python2.7/site-packages/setuptools/command/build_ext.pyR6QscCstj||}||jkr|j|}t|trhtjj|\}}|jj |t St r|j rtjj |\}}tjj|d|Sn|S(Nsdl-(RR!text_mapt isinstanceRR%R&tsplitexttshlib_compilertlibrary_filenametlibtypet use_stubst_links_to_dynamicR"R#(RR.R/R-tfntd((s@/usr/lib/python2.7/site-packages/setuptools/command/build_ext.pyR!Ys cCs,tj|d|_g|_i|_dS(N(Rtinitialize_optionstNoneR=tshlibsR:(R((s@/usr/lib/python2.7/site-packages/setuptools/command/build_ext.pyRDes   c Cstj||jpg|_|j|jg|jD]}t|tr9|^q9|_|jrs|jnx&|jD]}|j|j |_ q}Wx|jD]}|j }||j |<||j |j dd<|jr|j |pt}|_|otot|t |_|j|}|_tjjtjj|j|}|r||jkr|jj|n|rtrtj|jkr|jjtjqqWdS(NRi(Rtfinalize_optionsRtcheck_extensions_listR;RRFtsetup_shlib_compilerRR t _full_nameR:R"tlinks_to_dynamictFalseRAR@R)R!t _file_nameR%R&tdirnameR#R(t library_dirstappendR+truntime_library_dirs(RR-R.tltdR/tlibdir((s@/usr/lib/python2.7/site-packages/setuptools/command/build_ext.pyRGks*     %$cCstd|jd|jd|j}|_tjdkrtj}z,dtdt startswithtcreate_static_lib(RRRRRcRORQRoRRRRRR/R'R-((s@/usr/lib/python2.7/site-packages/setuptools/command/build_ext.pyRjs  (#tdistutils.command.build_extRR7tPyrex.Distutils.build_extRt ImportErrorR%RXtdistutils.file_utilRtsetuptools.extensionRtdistutils.ccompilerRtdistutils.sysconfigRt sysconfigRRRt distutilsR tdistutils.errorsRLRR@R?RYR,R tdlRRRERj(((s@/usr/lib/python2.7/site-packages/setuptools/command/build_ext.pytsT              test.pyc000064400000013413147576665460006274 0ustar00 b-Qc@sddlmZddlmZddlZddlTddlmZddlmZm Z defdYZ d efd YZ dS( i(tCommand(tDistutilsOptionErrorN(t*(t_namespace_packages(t TestLoadertmaintScanningLoadercBseZdZRS(cCs&g}|jdkr1|jtj||nt|drV|j|jnt|drxt|jdD]|}|jdr|dkr|jd|d }n-t|j|d rx|jd|}nqx|j|j |qxWnt |d kr|j |S|d Sd S( sReturn a suite of all tests cases contained in the given module If the module is a package, load tests from all the modules in it. If the module has an ``additional_tests`` function, call it and add the return value to the tests. ssetuptools.tests.doctesttadditional_testst__path__ts.pys __init__.pyt.is /__init__.pyiiN( t__name__tappendRtloadTestsFromModulethasattrRtresource_listdirtendswithtresource_existstloadTestsFromNametlent suiteClass(tselftmoduletteststfilet submodule((s;/usr/lib/python2.7/site-packages/setuptools/command/test.pyR s" (R t __module__R (((s;/usr/lib/python2.7/site-packages/setuptools/command/test.pyRsttestcBsMeZdZdZd dgZdZd Zd Zd Zd Z RS(s.Command to run unit tests after in-place builds#run unit tests after in-place builds test-module=tms$Run 'test_suite' in specified modules test-suite=tss1Test suite to run (e.g. 'some_module.test_suite')cCsd|_d|_d|_dS(N(tNonet test_suitet test_modulet test_loader(R((s;/usr/lib/python2.7/site-packages/setuptools/command/test.pytinitialize_options7s  cCs|jdkrC|jdkr0|jj|_q[|jd|_n|jr[tdn|jg|_|jr|jjddn|jdkrt |jdd|_n|jdkrd|_ndS(Ns .test_suites1You may specify a module or a suite, but not bothis --verboseR!s&setuptools.command.test:ScanningLoader( RRR t distributionRt test_argstverbosetinsertR!tgetattr(R((s;/usr/lib/python2.7/site-packages/setuptools/command/test.pytfinalize_options=s   cCstjd krt|jdtr|jddd|jd|jd}t|j }|jdd||jd|jddd|jdn-|jd|jddd |jd|jd}tj }tj j }zXtj j dt|jtjtd td |j|jf|Wd|tj (tj jtj j|tjXdS( Nituse_2to3tbuild_pytinplaceitegg_infotegg_baset build_exticSs |jS(N(tactivate(tdist((s;/usr/lib/python2.7/site-packages/setuptools/command/test.pyttss%s==%s(i(tsyst version_infoR'R#tFalsetreinitialize_commandt run_commandtget_finalized_commandtnormalize_patht build_libtpathtmodulestcopyR&R-t working_sett__init__tadd_activation_listenertrequiretegg_namet egg_versiontcleartupdate(Rtfunctbpy_cmdt build_pathtei_cmdtold_patht old_modules((s;/usr/lib/python2.7/site-packages/setuptools/command/test.pytwith_project_on_sys_pathTs2$          cCs|jjr%|jj|jjn|jjrJ|jj|jjn|jrdj|j}|jr|jd|q|jd||j |j ndS(Nt s skipping "unittest %s" (dry run)srunning "unittest %s"( R#tinstall_requirestfetch_build_eggst tests_requireRtjoinR$tdry_runtannounceRKt run_tests(Rtcmd((s;/usr/lib/python2.7/site-packages/setuptools/command/test.pytrun~s    cCs2ddl}tjd krt|jdtr|jdjdd}|tkrg}|tj kr{|j |n|d7}x0tj D]%}|j |r|j |qqWt t tj j|qntjd|j}|jdt}|}|jdd|jg|jd|dS( NiiR)R isx=R@t testLoader(i(tunittestR2R3R'R#R4R$tsplitRR;R t startswithtlisttmapt __delitem__t EntryPointtparseR!tloadRRt__file__(RRWRt del_modulestnamet loader_ept loader_classtcks((s;/usr/lib/python2.7/site-packages/setuptools/command/test.pyRSs$ $   (s test-module=Rs$Run 'test_suite' in specified module(s test-suite=Rs1Test suite to run (e.g. 'some_module.test_suite')( R Rt__doc__t descriptiont user_optionsR"R(RKRURS(((s;/usr/lib/python2.7/site-packages/setuptools/command/test.pyR+s    * ( t setuptoolsRtdistutils.errorsRR2t pkg_resourcesRRWRRRR(((s;/usr/lib/python2.7/site-packages/setuptools/command/test.pyts  #build_py.pyc000064400000026612147576665460007131 0ustar00 gc@sddlZddlZddlZddlmZddlmZddl m Z yrddlm Z ddl m Z ddlmZmZddlZdefd YZd e fd YZ Wn$ek rd dd YZ nXd ee fdYZdZdS(iN(tbuild_py(t convert_path(tglob(t Mixin2to3(tlog(tRefactoringTooltget_fixers_from_packagetDistutilsRefactoringToolcBs#eZdZdZdZRS(cOstj||dS(N(Rterror(tselftmsgtargstkw((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyt log_error scGstj||dS(N(Rtinfo(R R R ((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyt log_messagescGstj||dS(N(Rtdebug(R R R ((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyt log_debugs(t__name__t __module__R RR(((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyR s  RcBs&eZedZdZdZRS(cCs|jjtk rdS|s dStjddj||j|j|rtj rt |j }|j |dtdtqnt j||dS(NsFixing t twritet doctests_only(t distributiontuse_2to3tTrueRRtjoint_Mixin2to3__build_fixer_namest_Mixin2to3__exclude_fixerst setuptoolstrun_2to3_on_doctestsRt fixer_namestrefactort _Mixin2to3trun_2to3(R tfilestdocteststr((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyR"s   cCs|jr dSg|_x'tjD]}|jjt|q W|jjdk rx-|jjD]}|jjt|q_WndS(N(RRtlib2to3_fixer_packagestextendRRtuse_2to3_fixerstNone(R tp((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyt__build_fixer_names(s  cCsqt|dg}|jjdk r:|j|jjnx0|D](}||jkrA|jj|qAqAWdS(Ntexclude_fixers(tgetattrRtuse_2to3_exclude_fixersR)R'Rtremove(R texcluded_fixerst fixer_name((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyt__exclude_fixers1s  (RRtFalseR"RR(((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyRs  cBseZedZRS(cCsdS(N((R R#R$((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyR";s(RRRR"(((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyR:sRcBseZdZdZdZdZdZdZdZdZ dZ d Z e j d kr{d d Znd ZdZdZdZRS(sXEnhanced 'build_py' command that includes data files with packages The data files are specified via a 'package_data' argument to 'setup()'. See 'setuptools.dist.Distribution' for more details. Also, this version of the 'build_py' command allows you to specify both 'py_modules' and 'packages' in the same setup operation. cCsctj||jj|_|jjp+i|_d|jkrM|jd=ng|_g|_dS(Nt data_files(t _build_pytfinalize_optionsRt package_datatexclude_package_datat__dict__t_build_py__updated_filest_build_py__doctests_2to3(R ((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyR6Hs   cCs|j r|j rdS|jr.|jn|jrN|j|jn|j|jt|j|jt|j|j t|j t j |dddS(s?Build modules, packages, and copy data files to build directoryNtinclude_bytecodei( t py_modulestpackagest build_modulestbuild_packagestbuild_package_dataR"R:R3RR;t byte_compileR5t get_outputs(R ((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pytrunPs     cCs3|dkr#|j|_}|Stj||S(NR4(t_get_data_filesR4R5t __getattr__(R tattrR#((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyRFds cCsAtj||||\}}|r7|jj|n||fS(N(R5t build_moduleR:tappend(R tmodulet module_filetpackagetoutfiletcopied((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyRHiscCs|jg}x|jpdD]}|j|}tjj|jg|jd}t|}|ry|d7}ng|j ||D]}||^q}|j ||||fq W|S(s?Generate list of '(package,src_dir,build_dir,filenames)' tuplest.i(( tanalyze_manifestR>tget_package_dirtostpathRt build_libtsplittlentfind_data_filesRI(R tdataRLtsrc_dirt build_dirtplentfilet filenames((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyREos %  )cCs|jjdg|jj|g}|jj|g}x6|D].}|jttjj|t|qEW|j |||S(s6Return filenames for package's data files in 'src_dir't( R7tgettmanifest_filesR'RRRRSRRtexclude_data_files(R RLRYtglobsR#tpattern((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyRWs  ,c Csd}x|jD]\}}}}x|D]}tjj||}|jtjj|tjj||}|j||\} } tjj|}| r)||j j kr)|j j | q)q)WqWdS(s$Copy data files into build directoryN( R)R4RRRSRtmkpathtdirnamet copy_filetabspathRtconvert_2to3_doctestsR;RI( R tlastdirRLRYRZR]tfilenamettargettsrcfiletoutfRN((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyRAs c Cs\i|_}|jjsdSi}x0|jp2dD]}||t|j|tassert_relativeRQt run_commandtget_finalized_commandtfilelistR#RRRSRUR)Rtendswitht setdefaultRI( R tmftsrc_dirsRLtei_cmdRStdtftprevtoldftdf((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyRPs(   ! cCsdS(N((R ((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pytget_data_filesss2.4icCsRtj||g|jD]4\}}}}|D]}tjj||^q/qS(sjReturn complete list of files copied to the build directory This includes both '.py' files and data files, as well as '.pyc' and '.pyo' files if 'include_bytecode' is true. (This method is needed for the 'install_lib' command to do its job properly, and to generate a correct installation manifest.) (R5RCR4RRRSR(R R<RLRYRZR]Rj((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyRCscCsy|j|SWntk r"nXtj|||}||j|<| sY|jj r]|Sx;|jjD])}||ks|j|drjPqjqjW|St|d}dj|j krddl m }|j d|n|j |S(s8Check namespace packages' __init__ for declare_namespaceROtrbUtdeclare_namespacei(RsWARNING: %s is a namespace package, but its __init__.py does not declare_namespace(); setuptools 0.7 will REQUIRE this! (See the setuptools manual under "Namespace Packages" for details.) (tpackages_checkedtKeyErrorR5t check_packageRtnamespace_packagest startswithtopentencodetreadt distutilsRtwarntclose(R RLt package_dirtinit_pytpkgRzR((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyRs(    cCsi|_tj|dS(N(RR5tinitialize_options(R ((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyRs cCsAtj||}|jjdk r=tjj|jj|S|S(N(R5RQRtsrc_rootR)RRRSR(R RLtres((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyRQsc Cs|jjdg|jj|g}g}x<|D]4}|jtj|tjj|t|q5Wt j |}i}g|D]6}||kr||kr|j |dr|^qS(s6Filter filenames for package's data files in 'src_dir'R^i( R8R_R'tfnmatchtfilterRRRSRRtdicttfromkeysRu( R RLRYR#RbtbadRctseenRz((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyRas &(RRt__doc__R6RDRFRHRERWRARPR~tsystversionRCRRRQRa(((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyR?s            cCs:tjj|s|Sddlm}|d|dS(Ni(tDistutilsSetupErrorsError: setup script specifies an absolute path: %s setup() arguments must *always* be /-separated paths relative to the setup.py directory, *never* absolute paths. (RRRStisabstdistutils.errorsR(RSR((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyRps ((tos.pathRRRRtdistutils.command.build_pyRR5tdistutils.utilRRRR!RRtlib2to3.refactorRRRRt ImportErrorRp(((s?/usr/lib/python2.7/site-packages/setuptools/command/build_py.pyts$  # bdist_rpm.pyc000064400000004365147576665460007306 0ustar00 b-Qc@sBddlmZddlZddlZdefdYZdS(i(t bdist_rpmNRcBsAeZdZejdkr-ddZndZdZRS(cCstj|d|_dS(N(t _bdist_rpmtinitialize_optionstNonetno_egg(tself((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_rpm.pyR s s2.5ic Cstj||||||jkr|jdrt|jdgjd|jdradpktjd t j j |t j j |fndS(Ns.rpmt dist_filesRs.src.rpmtanyi( Rt move_filetdist_dirtendswithtgetattrt distributiontappendtsystversiontostpathtjointbasename(Rtsrctdsttlevel((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_rpm.pyRs cCs|jdtj|dS(Ntegg_info(t run_commandRtrun(R((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_rpm.pyRs cCs|jj}|jdd}tj|}d|}d|}g|D]<}|jddjddjdd j||^qK}|j|j|d d ||S( Nt-t_s%define version sSource0: %{name}-%{version}.tars)Source0: %{name}-%{unmangled_version}.tarssetup.py install s5setup.py install --single-version-externally-managed s%setups&%setup -n %{name}-%{unmangled_version}is%define unmangled_version (R t get_versiontreplaceRt_make_spec_filetinserttindex(RRt rpmversiontspectline23tline24tline((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_rpm.pyR*s   F!(t__name__t __module__RRRRRR(((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_rpm.pyR s   (tdistutils.command.bdist_rpmRRRR(((s@/usr/lib/python2.7/site-packages/setuptools/command/bdist_rpm.pyts__pycache__/install_lib.cpython-38.opt-1.pyc000064400000012010147577664100014652 0ustar00U ,a @sLdZddlZddlZddlZddlmZddlmZdZ GdddeZ dS)zkdistutils.command.install_lib Implements the Distutils 'install_lib' command (install all Python modules).N)Command)DistutilsOptionErrorz.pyc@seZdZdZdddddddgZd d d gZd d iZd dZddZddZ ddZ ddZ ddZ ddZ ddZddZdd Zd!S)" install_libz7install all Python modules (extensions and pure Python))z install-dir=dzdirectory to install to)z build-dir=bz'build directory (where to install from))forcefz-force installation (overwrite existing files))compileczcompile .py to .pyc [default]) no-compileNzdon't compile .py files)z optimize=Ozlalso compile with optimization: -O1 for "python -O", -O2 for "python -OO", and -O0 to disable [default: -O0]) skip-buildNzskip the build stepsrr r r cCs(d|_d|_d|_d|_d|_d|_dS)Nr) install_dir build_dirrr optimize skip_buildselfrB/opt/alt/python38/lib64/python3.8/distutils/command/install_lib.pyinitialize_options3s zinstall_lib.initialize_optionsc Cs|ddddddd|jdkr&d|_|jdkr6d |_t|jtszt|j|_|jd kr^tWn ttfk rtd YnXdS) Ninstall) build_libr)rr)rr)r r )rr)rrTF)rzoptimize must be 0, 1, or 2)Zset_undefined_optionsr r isinstanceintAssertionError ValueErrorrrrrrfinalize_options<s&     zinstall_lib.finalize_optionscCs0||}|dk r,|jr,||dSN)buildr distributionhas_pure_modules byte_compilerZoutfilesrrrrunVszinstall_lib.runcCs2|js.|jr|d|jr.|ddS)Nbuild_py build_ext)rr"r#Z run_commandhas_ext_modulesrrrrr!fs    zinstall_lib.buildcCs8tj|jr ||j|j}n|d|jdS|S)Nz3'%s' does not exist -- no Python modules to install)ospathisdirrZ copy_treerwarnr%rrrrmszinstall_lib.installcCsrtjr|ddSddlm}|dj}|jrH||d|j||j d|j dkrn|||j |j||j |j ddS)Nz%byte-compiling is disabled, skipping.r)r$r)rrprefixdry_run)rrr.verboser/) sysdont_write_bytecoder-Zdistutils.utilr$get_finalized_commandrootr rr/rr0)rfilesr$Z install_rootrrrr$vs$    zinstall_lib.byte_compilec Csd|sgS||}|}t||}t|ttj}g}|D] } |tj|| |dq>|Sr ) r3 get_outputsgetattrlenr*sepappendr+join) rZhas_anyZ build_cmdZ cmd_optionZ output_dirZ build_filesr prefix_lenZoutputsfilerrr_mutate_outputss  zinstall_lib._mutate_outputscCsrg}|D]d}tjtj|d}|tkr.q|jrJ|tjj |dd|j dkr|tjj ||j dq|S)Nr) optimizationr) r*r+splitextnormcasePYTHON_SOURCE_EXTENSIONr r: importlibutilcache_from_sourcer)rZ py_filenamesZbytecode_filesZpy_fileZextrrr_bytecode_filenamess     zinstall_lib._bytecode_filenamescCsR||jdd|j}|jr*||}ng}||jdd|j}|||S)zReturn the list of files that would be installed if this command were actually run. Not affected by the "dry-run" flag or whether modules have actually been built yet. r'rr()r>r"r#rr rGr))rZ pure_outputsZbytecode_outputsZ ext_outputsrrrr6s    zinstall_lib.get_outputscCsLg}|jr&|d}|||jrH|d}|||S)zGet the list of files that are input to this command, ie. the files that get installed as they are named in the build tree. The files in this list correspond one-to-one to the output filenames returned by 'get_outputs()'. r'r()r"r#r3extendr6r))rZinputsr'r(rrr get_inputss    zinstall_lib.get_inputsN)__name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsZ negative_optrrr&r!rr$r>rGr6rIrrrrrs*   r) __doc__r*importlib.utilrDr1Zdistutils.corerZdistutils.errorsrrCrrrrrs  __pycache__/build.cpython-38.opt-2.pyc000064400000007345147577664100013475 0ustar00U ,a@sPddlZddlZddlmZddlmZddlmZddZGdddeZ dS) N)Command)DistutilsOptionError) get_platformcCsddlm}|dS)Nrshow_compilers)Zdistutils.ccompilerrrrs    __pycache__/build_scripts.cpython-38.opt-1.pyc000064400000010363147577664100015235 0ustar00U ,aX@sdZddlZddlZddlmZddlmZddlmZddl m Z ddl m Z m Z ddlmZddlZed ZGd d d eZGd d d ee ZdS)zRdistutils.command.build_scripts Implements the Distutils 'build_scripts' command.N)ST_MODE) sysconfig)Command)newer) convert_path Mixin2to3)logs^#!.*python[0-9.]*([ ].*)?$c@sHeZdZdZdddgZdgZddZdd Zd d Zd d Z ddZ dS) build_scriptsz("build" scripts (copy and fixup #! line))z build-dir=dzdirectory to "build" (copy) to)forcefz1forcibly build everything (ignore file timestamps)z executable=ez*specify final destination interpreter pathr cCs"d|_d|_d|_d|_d|_dSN) build_dirscriptsr executableoutfilesselfrD/opt/alt/python38/lib64/python3.8/distutils/command/build_scripts.pyinitialize_optionss z build_scripts.initialize_optionscCs|dddd|jj|_dS)NZbuild)r r)r r )rr)Zset_undefined_optionsZ distributionrrrrrfinalize_options%s zbuild_scripts.finalize_optionscCs|jSr)rrrrrget_source_files,szbuild_scripts.get_source_filescCs|js dS|dSr)r copy_scriptsrrrrrun/szbuild_scripts.runc Cs||jg}g}|jD]}d}t|}tj|jtj|}|||j slt ||slt d|qzt |d}Wn tk r|jsd}YnXXt|j\}}|d|} | s|d|qt| } | rd}| dpd } |rt d ||j|||jstjs*|j} n(tjtd d td tdf} t| } d| | d} z| dWn$tk rt d!| YnXz| |Wn&tk rt d!| |YnXt |d}|"| |#|$W5QRX|r8|%q|r"|%|||&||qtj'dkr|D]`}|jrdt d|nDt(|t)d@}|dBd@}||krJt d|||t*||qJ||fS)a"Copy each script listed in 'self.scripts'; if it's marked as a Python script in the Unix way (first line matches 'first_line_re', ie. starts with "\#!" and contains "python"), then adjust the first line to refer to the current Python interpreter as we copy. Fznot copying %s (up-to-date)rbNrz%s is an empty file (skipping)Tzcopying and adjusting %s -> %sZBINDIRz python%s%sZVERSIONZEXEs#! zutf-8z.The shebang ({!r}) is not decodable from utf-8zAThe shebang ({!r}) is not decodable from the script encoding ({})wbposixzchanging mode of %siimz!changing mode of %s from %o to %o)+Zmkpathrrrospathjoinbasenameappendr rrdebugopenOSErrordry_runtokenizedetect_encodingreadlineseekwarn first_line_rematchgroupinforZ python_buildrZget_config_varfsencodedecodeUnicodeDecodeError ValueErrorformatwrite writelines readlinescloseZ copy_filenamestatrchmod)rr updated_filesZscriptZadjustZoutfiler encodinglinesZ first_liner1Z post_interprZshebangZoutffileZoldmodeZnewmoderrrr5s                   zbuild_scripts.copy_scriptsN) __name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsrrrrrrrrrr sr c@seZdZddZdS)build_scripts_2to3cCs&t|\}}|js||||fSr)r rr*Zrun_2to3)rrr@rrrrs zbuild_scripts_2to3.copy_scriptsN)rDrErFrrrrrrGsrG)__doc__r"rer>rZ distutilsrZdistutils.corerZdistutils.dep_utilrZdistutils.utilrrrr+compiler0r rGrrrrs       __pycache__/build_ext.cpython-38.pyc000064400000037430147577664100013413 0ustar00U ,aP{@sdZddlZddlZddlZddlZddlmZddlTddlm Z m Z ddlm Z ddl m Z ddlmZdd lmZdd lmZdd lmZed Zd dZGdddeZdS)zdistutils.command.build_ext Implements the Distutils 'build_ext' command, for building extension modules (currently limited to C extensions, should accommodate C++ extensions ASAP).N)Command)*)customize_compilerget_python_version)get_config_h_filename) newer_group) Extension) get_platform)log) USER_BASEz3^[a-zA-Z_][a-zA-Z_0-9]*(\.[a-zA-Z_][a-zA-Z_0-9]*)*$cCsddlm}|dS)Nrshow_compilers)distutils.ccompilerr r r@/opt/alt/python38/lib64/python3.8/distutils/command/build_ext.pyr s r c@seZdZdZdejZdddddefdd d d efd d ddddefddddddddddgZddddd gZ d!d"d#e fgZ d$d%Z d&d'Z d(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Zd4d5Zejd6d7Zd8d9Zd:d;Zdd?Zd@dAZdBdCZdDdEZdFdGZd"S)H build_extz8build C/C++ extensions (compile/link to build directory)z (separated by '%s'))z build-lib=bz(directory for compiled extension modules)z build-temp=tz1directory for temporary files (build by-products)z plat-name=pz>platform name to cross-compile for, if supported (default: %s))inplaceiziignore build-lib and put compiled extensions into the source directory alongside your pure Python modulesz include-dirs=Iz.list of directories to search for header files)zdefine=DzC preprocessor macros to define)zundef=Uz!C preprocessor macros to undefine)z libraries=lz!external C libraries to link withz library-dirs=Lz.directories to search for external C libraries)zrpath=Rz7directories to search for shared C libraries at runtime)z link-objects=Oz2extra explicit link objects to include in the link)debuggz'compile/link with debugging information)forcefz2forcibly build everything (ignore file timestamps))z compiler=czspecify the compiler type)z parallel=jznumber of parallel build jobs)swig-cppNz)make SWIG create C++ files (default is C))z swig-opts=Nz!list of SWIG command line options)zswig=Nzpath to the SWIG executable)userNz#add user include, library and rpathrrr r$r%z help-compilerNzlist available compilerscCsd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ d|_ d|_ d|_d|_d|_d|_d|_d|_d|_dS)Nr) extensions build_lib plat_name build_temprpackage include_dirsdefineundef libraries library_dirsrpath link_objectsrr compilerswigswig_cpp swig_optsr%parallelselfrrrinitialize_optionsjs*zbuild_ext.initialize_optionsc Csddlm}|ddddddd d |jdkr8|jj|_|jj|_|}|jd d }|j dkrn|jj pjg|_ t |j t r|j t j|_ tjtjkr|j t jtjd |j | t jj||kr|j | t jj|d|d|jdkrg|_|jdkrg|_nt |jt r:|j t j|_|jdkrNg|_nt |jt rl|j t j|_t jdkrh|jt jtjdtjtjkr|jt jtjd|jrt j|jd|_nt j|jd|_|j t jtt tdd}|r|j||j!dkr*d}n|j!dd}t jtjd}|r\t j||}|j|tj"dddkrtj#$t jtjdr|jt jtjddt%dn |jd|&dr|j's|j|&d n |jd|j(r|j( d!}d"d#|D|_(|j)r4|j) d!|_)|j*dkrHg|_*n|j* d$|_*|j+rt jt,d }t jt,d} t j-|r|j |t j-| r|j| |j| t |j.t rzt/|j.|_.Wnt0k rt1d%YnXdS)&Nr) sysconfigZbuild)r'r')r)r))r2r2)rr)r r )r6r6)r(r()Z plat_specificZincluder.r1ntZlibsZDebugZRelease_homewin32ZPCbuildcygwinbinlibpythonZconfig.Py_ENABLE_SHAREDZLIBDIR,cSsg|] }|dfqS)1r).0Zsymbolrrr sz.build_ext.finalize_options.. zparallel should be an integer)2 distutilsr:Zset_undefined_optionsr* distributionZ ext_packageZ ext_modulesr&Zget_python_incr+ isinstancestrsplitospathsepsys exec_prefixbase_exec_prefixappendpathjoinextendZensure_string_listr.r/r0nameprefixrr)dirnamergetattrr(platform executable startswithrget_config_varZ python_buildr,r-r5r%r isdirr6int ValueErrorZDistutilsOptionError) r8r:Z py_includeZplat_py_includeZ _sys_homesuffixZnew_libZdefinesZ user_includeZuser_librrrfinalize_optionss                           zbuild_ext.finalize_optionscCsjddlm}|jsdS|jrL|d}|j|p:g|j |j ||j |j |j|jd|_ t|j tjdkr|jtkr|j |j|jdk r|j |j|jdk r|jD]\}}|j ||q|jdk r|jD]}|j |q|jdk r|j |j|j dk r*|j |j |jdk rD|j |j|j dk r^|j !|j |"dS)Nr) new_compiler build_clib)r2verbosedry_runr r<)#rrgr&rMZhas_c_librariesget_finalized_commandr.rYZget_library_namesr/rVrhr2rirjr rrQrZr(r Z initializer+Zset_include_dirsr,Z define_macror-Zundefine_macroZ set_librariesZset_library_dirsr0Zset_runtime_library_dirsr1Zset_link_objectsbuild_extensions)r8rgrhrZvaluemacrorrrruns@            z build_ext.runc Csvt|tstdt|D]T\}}t|tr0qt|trFt|dkrNtd|\}}td|t|t rvt |s~tdt|t stdt||d}dD]"}| |}|d k rt|||q| d |_d |krtd | d }|rhg|_g|_|D]b} t| tr"t| dks*tdt| dkrJ|j| dnt| dkr|j| q|||<qd S)aEnsure that the list of extensions (presumably provided as a command option 'extensions') is valid, i.e. it is a list of Extension objects. We also support the old-style list of 2-tuples, where the tuples are (ext_name, build_info), which are converted to Extension instances here. Raise DistutilsSetupError if the structure is invalid anywhere; just returns otherwise. z:'ext_modules' option must be a list of Extension instanceszMeach element of 'ext_modules' option must be an Extension instance or 2-tuplezvold-style (ext_name, build_info) tuple found in ext_modules for extension '%s' -- please convert to Extension instancezRfirst element of each tuple in 'ext_modules' must be the extension name (a string)zOsecond element of each tuple in 'ext_modules' must be a dictionary (build info)sources)r+r/r. extra_objectsextra_compile_argsextra_link_argsNr0Zdef_filez9'def_file' element of build info dict no longer supportedmacros)r;rpz9'macros' element of build info dict must be 1- or 2-tupler;r)rNlistDistutilsSetupError enumeratertuplelenr warnrOextension_name_rematchdictgetsetattrruntime_library_dirs define_macros undef_macrosrV) r8r&rextext_nameZ build_infokeyvalrurnrrrcheck_extensions_listVs^        zbuild_ext.check_extensions_listcCs,||jg}|jD]}||jq|SN)rr&rYrq)r8 filenamesrrrrget_source_filess   zbuild_ext.get_source_filescCs2||jg}|jD]}|||jq|Sr)rr&rVget_ext_fullpathrZ)r8Zoutputsrrrr get_outputss   zbuild_ext.get_outputscCs(||j|jr|n|dSr)rr&r6_build_extensions_parallel_build_extensions_serialr7rrrrls  zbuild_ext.build_extensionsc sj}jdkrt}zddlm}Wntk r@d}YnX|dkrVdS||dPfddjD}tj|D]&\}} || W5QRXqW5QRXdS)NTr)ThreadPoolExecutor)Z max_workerscsg|]}j|qSr)Zsubmitbuild_extension)rIrZexecutorr8rrrJsz8build_ext._build_extensions_parallel..) r6rQ cpu_countZconcurrent.futuresr ImportErrorrr&zip_filter_build_errorsresult)r8ZworkersrZfuturesrZfutrrrrs"     z$build_ext._build_extensions_parallelc Cs0|jD]$}||||W5QRXqdSr)r&rr)r8rrrrrs  z"build_ext._build_extensions_serialc csTz dVWnDtttfk rN}z |js*|d|j|fW5d}~XYnXdS)Nz"building extension "%s" failed: %s)ZCCompilerErrorZDistutilsErrorZ CompileErrorZoptionalr{rZ)r8rerrrrs zbuild_ext._filter_build_errorsc CsP|j}|dkst|ttfs*td|jt|}||j}||j}|jslt ||dslt d|jdSt d|j| ||}|jpg}|jdd}|jD]}||fq|jj||j||j|j ||jd}|dd|_|jr||j|jpg}|jp|j|} |jj|||||j|j|| ||j |j| d dS)Nzjin 'ext_modules' option (extension '%s'), 'sources' must be present and must be a list of source filenamesZnewerz$skipping '%s' extension (up-to-date)zbuilding '%s' extension)Z output_dirrur+rextra_postargsdepends)r.r/rrexport_symbolsrr)Z target_lang)!rqrNrvryrwrZrrr rr rinfo swig_sourcesrsrrrVr2compiler)r+Z_built_objectsrrrYrtlanguageZdetect_languageZlink_shared_object get_librariesr/rget_export_symbols) r8rrqext_pathrZ extra_argsrur-ZobjectsrrrrrsX        zbuild_ext.build_extensioncCs$g}g}i}|jrtd|js6d|jks6d|jkrI don't know how to find (much less run) SWIG on platform '%s'N)rQrZrWrXisfileZDistutilsPlatformError)r8Zversfnrrrrgs    zbuild_ext.find_swigcCs||}|d}||d}|jsRtjj|dd|g}tj|j|Sd|dd}|d}tj | |}tj||S)zReturns the path of the filename for a given extension. The file is located in `build_lib` or directly in the package (inplace option). rErNrbuild_py) get_ext_fullnamerPget_ext_filenamerrQrWrXr'rkabspathZget_package_dir)r8rfullnamemodpathfilenamer*rZ package_dirrrrrs   zbuild_ext.get_ext_fullpathcCs |jdkr|S|jd|SdS)zSReturns the fullname of a given extension name. Adds the `package.` prefixNrE)r*)r8rrrrrs zbuild_ext.get_ext_fullnamecCs.ddlm}|d}|d}tjj||S)zConvert the name of an extension (eg. "foo.bar") into the name of the file from which it will be loaded (eg. "foo/bar.so", or "foo\bar.pyd"). rrarEZ EXT_SUFFIX)distutils.sysconfigrarPrQrWrX)r8rrarZ ext_suffixrrrrs  zbuild_ext.get_ext_filenamecCsxd|jdd}z|dWn0tk rRd|dddd}YnXd |}||jkrr|j||jS) aReturn the list of symbols that a shared extension has to export. This either uses 'ext.export_symbols' or, if it's not provided, "PyInit_" + module_name. Only relevant on Windows, where the .pyd file (DLL) must export the module "PyInit_" function. _rErasciirZpunycode-_ZPyInit)rZrPencodeUnicodeEncodeErrorreplacedecoderrV)r8rreZ initfunc_namerrrrs"  zbuild_ext.get_export_symbolscCstjdkr^ddlm}t|j|sd}|jr4|d}|tjd?tjd?d@f}|j|gSndd l m }d }|d rt td rd }nr) MSVCCompilerz python%d%dZ_drFrFZgetandroidapilevelTrAZ_PYTHON_HOST_PLATFORMZANDROID_API_LEVELZMACHDEPZ LDVERSIONrD)rSr^Zdistutils._msvccompilerrrNr2r hexversionr.rrahasattrrQenviron)r8rrtemplateZ pythonlibraZlink_libpythonZ ldversionrrrrs4         zbuild_ext.get_libraries) __name__ __module__ __qualname__Z descriptionrQrRZsep_byr Z user_optionsZboolean_optionsr Z help_optionsr9rfrorrrrlrr contextlibcontextmanagerrrrrrrrrrrrrrr!sp +@N  K6  r)__doc__rrQrerSZdistutils.corerZdistutils.errorsrrrrZdistutils.dep_utilrZdistutils.extensionrZdistutils.utilr rLr Zsiter rr|r rrrrrs$       __pycache__/install.cpython-38.opt-1.pyc000064400000032451147577664100014037 0ustar00U 2bboh@sdZddlZddlZddlmZddlmZddlmZddl m Z ddl m Z ddl mZdd lmZmZmZdd lmZdd l mZdd lmZdd lmZdZddddddZddddddddddddedZerdddddded <ddd!d"dded#<dZGd$d%d%eZdS)&zFdistutils.command.install Implements the Distutils 'install' command.N)log)Command)DEBUG)get_config_vars)DistutilsPlatformError) write_file) convert_path subst_vars change_root) get_platform)DistutilsOptionError) USER_BASE) USER_SITETz$base/Lib/site-packagesz$base/Include/$dist_namez $base/Scriptsz$base)purelibplatlibheadersscriptsdataz/$base/lib/python$py_version_short/site-packagesz5$platbase/lib64/python$py_version_short/site-packagesz9$base/include/python$py_version_short$abiflags/$dist_namez $base/binz$base/lib/pythonz$base/lib64/pythonz$base/include/python/$dist_name) unix_prefix unix_homentz $usersitez4$userbase/Python$py_version_nodot/Include/$dist_namez)$userbase/Python$py_version_nodot/Scriptsz $userbaseZnt_userz=$userbase/include/python$py_version_short$abiflags/$dist_namez $userbase/bin unix_userc@s:eZdZdZdddddddd d d d d ddddddgZdddgZer`edddefedddiZ ddZ ddZ dd Z d!d"Z d#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Zd5d6Zd7d8Zd9d:Zd;d<Zd=d>Zd?d@ZdAdBZdCdDZdEefdFefdGefdHefdIdJdKfgZdS)Linstallz'install everything from build directory)zprefix=Nzinstallation prefix)z exec-prefix=Nz.(Unix only) prefix for platform-specific files)zhome=Nz+(Unix only) home directory to install under)z install-base=Nz;base installation directory (instead of --prefix or --home))zinstall-platbase=Nz\base installation directory for platform-specific files (instead of --exec-prefix or --home))zroot=Nz/opt/alt/python38/lib64/python3.8/distutils/command/install.pyinitialize_optionss2 zinstall.initialize_optionsc Csx|js|js|jr&|js|jr&td|jr@|js8|jr@td|jrl|jsd|jsd|jsd|jsd|jrltdtjdkr|jr| dd|_| dtjdkr| n| | dt jd }td d \}}z t j}Wntk rd }YnX|j|j|j|d t jdddt jdd|||||d |_trf|j|jd<|j|jd<|| d|j|jd<|j|jd<trd dlm}td||j| | d|jr|!|j"dkr|jj#r|j$|_"n|j%|_"|&dddddddd|'|j"|_(tj)*|j"|j+|_"|j,dk r\|-ddddddd| d |.d!d"d#dS)$zFinalizes options.zWmust supply either prefix/exec-prefix/home or install-base/install-platbase -- not bothz9must supply either home or prefix/exec-prefix -- not bothzGcan't combine user with prefix, exec_prefix/home, or install_(plat)baseposixz+exec-prefix option ignored on this platformNzpre-finalize_{unix,other}zpost-finalize_{unix,other}()rr"r#z%d.%dz%d%d) Z dist_nameZ dist_versionZ dist_fullname py_versionZpy_version_shortZpy_version_nodotZ sys_prefixr"Zsys_exec_prefixr#abiflagsuserbaseZusersitezpost-expand_basedirs()baseZplatbase)pprintz config vars:zpost-expand_dirs()librrrrrZlibbasezafter prepending rootbuild)r5r5)r6r6)/r"r#r$r%r&r r osnamewarn dump_dirs finalize_unixfinalize_othersysversionsplitrrAAttributeError distributionZget_nameZ get_versionZ get_fullname version_info config_vars HAS_USER_SITEr.r/expand_basedirsrrDprint expand_dirscreate_home_pathr+Z ext_modulesr)r( convert_pathshandle_extra_pathinstall_libbasepathjoin extra_dirsr' change_rootsZset_undefined_options)r9r@r"r#rArDr:r:r;finalize_optionss                         zinstall.finalize_optionscCstsdSddlm}t|d|jD]r}|d}|ddkrL|dd}||jkrx|j|}||}t|| }n||}t||}td||q(dS)zDumps the list of user options.Nr) longopt_xlate:=z %s: %s) rZdistutils.fancy_getoptrardebug user_options negative_opt translategetattr)r9msgraoptZopt_namevalr:r:r;rJus         zinstall.dump_dirscCs"|jdk s|jdk r\|jdkr2|jdkr2|jdksP|jdksP|jdksP|jdkrXtddS|j r|j dkrtt d|j |_|_| dn|j dk r|j |_|_| dnl|jdkr|jdk rtdtjtj|_tjtj|_n|jdkr|j|_|j|_|j|_| ddS)z&Finalizes options for posix platforms.NzPinstall-base or install-platbase supplied, but installation scheme is incomplete$User base directory is not specifiedrrz*must not supply exec-prefix without prefixr)r%r&r+r(r)r*r,r-r r r.r select_schemer$r"r#rGr\normpathrMr8r:r:r;rKsL        zinstall.finalize_unixcCs|jr8|jdkrtd|j|_|_|tjdn|jdk r\|j|_|_|dn\|j dkrvtj t j |_ |j |_|_z|tjWn"t k rtdtjYnXdS)z)Finalizes options for non-posix platformsNrmZ_userrz)I don't know how to install stuff on '%s')r r.rr%r&rnrGrHr$r"r\rorMKeyErrorr8r:r:r;rLs&    zinstall.finalize_othercCs<t|}tD]*}d|}t||dkr t||||q dS)z=Sets the install directories by applying the install schemes.install_N)INSTALL_SCHEMES SCHEME_KEYSrisetattr)r9rHZschemekeyattrnamer:r:r;rns zinstall.select_schemecCsX|D]N}t||}|dk rtjdks.tjdkr:tj|}t||j}t|||qdS)Nr=r)rirGrHr\ expanduserr rSrt)r9attrsattrrlr:r:r; _expand_attrss   zinstall._expand_attrscCs|dddgdS)zNCalls `os.path.expanduser` on install_base, install_platbase and root.r%r&r'Nrzr8r:r:r;rUszinstall.expand_basedirscCs|ddddddgdS)z+Calls `os.path.expanduser` on install dirs.r(r)r+r*r,r-Nr{r8r:r:r;rWs zinstall.expand_dirscGs,|D]"}d|}t||tt||qdS)z!Call `convert_path` over `names`.rqN)rtrrir9namesrHryr:r:r;rYszinstall.convert_pathscCs|jdkr|jj|_|jdk rtdt|jtrB|jd|_t|jdkr`|jd}}n"t|jdkrz|j\}}ntdt |}nd}d}||_ ||_ dS) z4Set `path_file` and `extra_dirs` using `extra_path`.NzIDistribution option extra_path is deprecated. See issue27919 for details.,r!rr?zY'extra_path' option must be a list, tuple, or comma-separated string with 1 or 2 elementsr>) r1rQrrI isinstancestrrOlenr r path_filer^)r9rr^r:r:r;rZs(      zinstall.handle_extra_pathc Gs0|D]&}d|}t||t|jt||qdS)z:Change the install directories pointed by name using root.rqN)rtr r'rir|r:r:r;r_ szinstall.change_rootscCsb|js dSttjd}|jD]8\}}||r$tj|s$| d|t |dq$dS)zCreate directories under ~.N~zos.makedirs('%s', 0o700)i) r rrGr\rwrSitems startswithisdirZ debug_printmakedirs)r9r$rHr\r:r:r;rXszinstall.create_home_pathcCs"|js6|d|jdj}|jr6|tkr6td|D]}||q>|j r\| |j r| }|j rt|j }tt|D]}|||d||<q|t|j |fd|j ttjjtj}ttjj|}tjtj|j}|jr|j r|js||krtd|jdS)zRuns the command.rFz"Can't install when cross-compilingNz'writing list of installed files to '%s'zmodules installed to '%s', which is not in Python's module search path (sys.path) -- you'll have to change the search path yourself)r3Z run_commandrQZget_command_objZ plat_namer4r rget_sub_commandsrcreate_path_filer7 get_outputsr'rrangeexecutermaprGr\rorMnormcaser+r2rre)r9Z build_platcmd_nameoutputsZroot_lenZcounterZsys_pathr+r:r:r;runsD    z install.runcCsJtj|j|jd}|jr8|t||jgfd|n| d|dS)zCreates the .pth file.pthz creating %szpath file '%s' not createdN) rGr\r]r[rr2rrr^rI)r9filenamer:r:r;rIs  zinstall.create_path_filecCshg}|D].}||}|D]}||kr"||q"q |jrd|jrd|tj|j |jd|S)z.Assembles the outputs of all the sub-commands.r) rget_finalized_commandrappendrr2rGr\r]r[)r9rrcmdrr:r:r;rWs    zinstall.get_outputscCs.g}|D]}||}||q |S)z*Returns the inputs of all the sub-commands)rrextend get_inputs)r9Zinputsrrr:r:r;rhs   zinstall.get_inputscCs|jp|jS)zSReturns true if the current distribution has any Python modules to install.)rQZhas_pure_modulesZhas_ext_modulesr8r:r:r;has_libts zinstall.has_libcCs |jS)zLReturns true if the current distribution has any headers to install.)rQ has_headersr8r:r:r;rzszinstall.has_headerscCs |jS)zMReturns true if the current distribution has any scripts to. install.)rQ has_scriptsr8r:r:r;rszinstall.has_scriptscCs |jS)zJReturns true if the current distribution has any data to. install.)rQZhas_data_filesr8r:r:r;has_dataszinstall.has_datar+r*r,r-Zinstall_egg_infocCsdS)NTr:r8r:r:r;zinstall.) __name__ __module__ __qualname__Z descriptionrfZboolean_optionsrTrrrgr<r`rJrKrLrnrzrUrWrYrZr_rXrrrrrrrrZ sub_commandsr:r:r:r;rIsn ;  N(  " ,  r)__doc__rMrGZ distutilsrZdistutils.corerZdistutils.debugrZdistutils.sysconfigrZdistutils.errorsrZdistutils.file_utilrZdistutils.utilrr r r r Zsiter rrTZWINDOWS_SCHEMErrrsrr:r:r:r;sb             __pycache__/install_headers.cpython-38.pyc000064400000003273147577664100014573 0ustar00U ,a@s$dZddlmZGdddeZdS)zdistutils.command.install_headers Implements the Distutils 'install_headers' command, to install C/C++ header files to the Python include directory.)Commandc@sFeZdZdZddgZdgZddZddZd d Zd d Z d dZ dS)install_headerszinstall C/C++ header files)z install-dir=dz$directory to install header files to)forcefz-force installation (overwrite existing files)rcCsd|_d|_g|_dS)Nr) install_dirroutfilesselfr F/opt/alt/python38/lib64/python3.8/distutils/command/install_headers.pyinitialize_optionssz"install_headers.initialize_optionscCs|ddddS)NZinstall)rr)rr)Zset_undefined_optionsr r r r finalize_optionssz install_headers.finalize_optionscCsH|jj}|sdS||j|D]"}|||j\}}|j|q dSN) distributionheadersZmkpathrZ copy_filerappend)r rheaderout_r r r run!s zinstall_headers.runcCs |jjp gSr)rrr r r r get_inputs+szinstall_headers.get_inputscCs|jSr)rr r r r get_outputs.szinstall_headers.get_outputsN) __name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsr rrrrr r r r r s rN)__doc__Zdistutils.corerrr r r r s __pycache__/register.cpython-38.opt-1.pyc000064400000020426147577664100014214 0ustar00U ,a-@sddZddlZddlZddlZddlZddlmZddlm Z ddl Tddl m Z Gddde Z dS) zhdistutils.command.register Implements the Distutils 'register' command (register with the repository). N)warn) PyPIRCCommand)*)logc@seZdZdZejddgZejdddgZddd fgZd d Zd d Z ddZ ddZ ddZ ddZ ddZddZddZdddZdS) registerz7register the distribution with the Python package index)list-classifiersNz list the valid Trove classifiers)strictNzBWill stop the registering if the meta-data are not fully compliantverifyrrcheckcCsdS)NTselfr r ?/opt/alt/python38/lib64/python3.8/distutils/command/register.pyzregister.cCst|d|_d|_dS)Nr)rinitialize_optionslist_classifiersrr r r rrs zregister.initialize_optionscCs*t|d|jfdd}||jjd<dS)Nr)r)rrestructuredtextr )rfinalize_optionsr distributionZcommand_options)r Z check_optionsr r rr$s  zregister.finalize_optionscCsT|||D]}||q|jr8|n|jrH|n|dS)N) r _set_configZget_sub_commandsZ run_commandZdry_runverify_metadatar classifiers send_metadata)r Zcmd_namer r rrun+s    z register.runcCs8tdt|jd}||j|_d|_|dS)zDeprecated API.zddistutils.command.register.check_metadata is deprecated, use the check command insteadr rN)rPendingDeprecationWarningrZget_command_objZensure_finalizedrrr)r r r r rcheck_metadata:s zregister.check_metadatacCsz|}|ikr@|d|_|d|_|d|_|d|_d|_n6|jd|jfkr^td|j|jdkrp|j|_d|_d S) z: Reads the configuration file and set attributes. usernamepassword repositoryrealmTZpypiz%s not found in .pypircFN)Z _read_pypircrrr r! has_configZDEFAULT_REPOSITORY ValueError)r Zconfigr r rrDs     zregister._set_configcCs*|jd}tj|}t||dS)z8 Fetch the list of classifiers from the server. z?:action=list_classifiersN)r urllibrequestZurlopenrinfo_read_pypi_response)r ZurlZresponser r rrUs  zregister.classifierscCs&||d\}}td||dS)zF Send the metadata to the package index server to be checked. r Server response (%s): %sN)post_to_serverbuild_post_datarr&)r coderesultr r rr\szregister.verify_metadatac Cs|jrd}|j}|j}n d}d}}d}||krd|dtjt}|sRd}q,||kr,tdq,|dkrl|s|td}qn|st d}q|t j }t j |jd }||j|||||d |\}}|d ||ftj|d kr|jr||j_nf|d tj|d|tjd}|dkrNtd}|s*d}q*|dkr|||nl|dkrddi} d| d<| d<| d<d| d<| dstd| d<q| d| dkr0| dst d| d<q| dst d| d<q| d| dkrd| d<d| d<tdq| dsJtd| d<q0|| \}}|d krrtd ||ntdtd nP|d!krdd"i} d| d<| dstd#| d<q|| \}}td ||dS)$a_ Send the metadata to the package index server. Well, do the following: 1. figure who the user is, and then 2. send the data as a Basic auth'ed POST. First we try to read the username/password from $HOME/.pypirc, which is a ConfigParser-formatted file with a section [distutils] containing username and password entries (both in clear text). Eg: [distutils] index-servers = pypi [pypi] username: fred password: sekrit Otherwise, to figure who the user is, we offer the user three choices: 1. use existing login, 2. register as a new user, or 3. set the password to a random string and email the user. 1xz1 2 3 4zWe need to know who you are, so please choose either: 1. use your existing login, 2. register as a new user, 3. have the server generate a new password for you (and email it to you), or 4. quit Your selection [default 1]: z&Please choose one of the four options!z Username: z Password: rZsubmitr(zAI can store your PyPI login so future submissions will be faster.z (the login will be stored in %s)XZynzSave your login (y/N)?ny2:actionusernamerZemailNZconfirmz Confirm: z!Password and confirm don't match!z EMail: z"You will receive an email shortly.z7Follow the instructions in it to complete registration.3Zpassword_resetzYour email address: )r"rrsplitannouncerINFOinputprintgetpassr$r%ZHTTPPasswordMgrparseZurlparser Z add_passwordr!r)r*rZ _get_rc_filelowerZ _store_pypircr&) r ZchoicerrchoicesauthZhostr+r,datar r rrcs                   zregister.send_metadatacCs|jj}|d|||||||| | | | | |||d}|ds|ds|drd|d<|S)Nz1.0)r5metadata_versionr7versionZsummaryZ home_pageZauthorZ author_emaillicense descriptionkeywordsplatformrZ download_urlprovidesrequires obsoletesrJrKrLz1.1rD)rZmetadataZget_nameZ get_versionZget_descriptionZget_urlZ get_contactZget_contact_emailZ get_licenceZget_long_descriptionZ get_keywordsZ get_platformsZget_classifiersZget_download_urlZ get_providesZ get_requiresZ get_obsoletes)r actionmetarCr r rr*s,zregister.build_post_dataNc Csd|kr$|d|d|jftjd}d|}|d}t}|D]~\}}t|tgtdfkrn|g}|D]R}t|}| || d|| d| ||rr|d d krr| d qrqH| || d | d }d |tt |d} t j|j|| } t jt jj|d} d}z| | } Wnxt jjk r} z"|jrd| j}| j| jf} W5d} ~ XYnJt jjk r} zdt| f} W5d} ~ XYnX|jr|| }d} |jrd d|df}||tj| S)zC Post a query to the server, and return a string response. r7zRegistering %s to %sz3--------------GHSKFJDLGDS7543FJKLFHRE75642756743254z --z--r z* Content-Disposition: form-data; name="%s"z   zutf-8z/multipart/form-data; boundary=%s; charset=utf-8)z Content-typezContent-length)Z password_mgrr/Ni)r0ZOKzK---------------------------------------------------------------------------)r:r rr;ioStringIOitemstypestrwritegetvalueencodelenr$r%ZRequestZ build_openerZHTTPBasicAuthHandleropenerrorZ HTTPErrorZ show_responsefpreadr+msgZURLErrorr'join)r rCrBboundaryZ sep_boundaryZ end_boundaryZbodykeyvalueZheadersZreqZopenerr,er_r r rr)s^          zregister.post_to_server)N)__name__ __module__ __qualname__rGrZ user_optionsZboolean_optionsZ sub_commandsrrrrrrrrr*r)r r r rrs* zr)__doc__r>rRZ urllib.parser$Zurllib.requestwarningsrZdistutils.corerZdistutils.errorsZ distutilsrrr r r rs   __pycache__/install_data.cpython-38.opt-1.pyc000064400000004400147577664100015021 0ustar00U ,a @s<dZddlZddlmZddlmZmZGdddeZdS)zdistutils.command.install_data Implements the Distutils 'install_data' command, for installing platform-independent data files.N)Command) change_root convert_pathc@sHeZdZdZdddgZdgZddZdd Zd d Zd d Z ddZ dS) install_datazinstall data files)z install-dir=dzIbase directory for installing data files (default: installation base dir))zroot=Nzs __pycache__/install_lib.cpython-38.opt-2.pyc000064400000010703147577664100014662 0ustar00U ,a @sHddlZddlZddlZddlmZddlmZdZGdddeZ dS)N)Command)DistutilsOptionErrorz.pyc@seZdZdZdddddddgZd d d gZd d iZd dZddZddZ ddZ ddZ ddZ ddZ ddZddZdd Zd!S)" install_libz7install all Python modules (extensions and pure Python))z install-dir=dzdirectory to install to)z build-dir=bz'build directory (where to install from))forcefz-force installation (overwrite existing files))compileczcompile .py to .pyc [default]) no-compileNzdon't compile .py files)z optimize=Ozlalso compile with optimization: -O1 for "python -O", -O2 for "python -OO", and -O0 to disable [default: -O0]) skip-buildNzskip the build stepsrr r r cCs(d|_d|_d|_d|_d|_d|_dS)Nr) install_dir build_dirrr optimize skip_buildselfrB/opt/alt/python38/lib64/python3.8/distutils/command/install_lib.pyinitialize_options3s zinstall_lib.initialize_optionsc Cs|ddddddd|jdkr&d|_|jdkr6d |_t|jtszt|j|_|jd kr^tWn ttfk rtd YnXdS) Ninstall) build_libr)rr)rr)r r )rr)rrTF)rzoptimize must be 0, 1, or 2)Zset_undefined_optionsr r isinstanceintAssertionError ValueErrorrrrrrfinalize_options<s&     zinstall_lib.finalize_optionscCs0||}|dk r,|jr,||dSN)buildr distributionhas_pure_modules byte_compilerZoutfilesrrrrunVszinstall_lib.runcCs2|js.|jr|d|jr.|ddSNbuild_py build_ext)rr"r#Z run_commandhas_ext_modulesrrrrr!fs    zinstall_lib.buildcCs8tj|jr ||j|j}n|d|jdS|S)Nz3'%s' does not exist -- no Python modules to install)ospathisdirrZ copy_treerwarnr%rrrrmszinstall_lib.installcCsrtjr|ddSddlm}|dj}|jrH||d|j||j d|j dkrn|||j |j||j |j ddS)Nz%byte-compiling is disabled, skipping.r)r$r)rrprefixdry_run)rrr/verboser0) sysdont_write_bytecoder.Zdistutils.utilr$get_finalized_commandrootr rr0rr1)rfilesr$Z install_rootrrrr$vs$    zinstall_lib.byte_compilec Csd|sgS||}|}t||}t|ttj}g}|D] } |tj|| |dq>|Sr ) r4 get_outputsgetattrlenr+sepappendr,join) rZhas_anyZ build_cmdZ cmd_optionZ output_dirZ build_filesr prefix_lenZoutputsfilerrr_mutate_outputss  zinstall_lib._mutate_outputscCsrg}|D]d}tjtj|d}|tkr.q|jrJ|tjj |dd|j dkr|tjj ||j dq|S)Nr) optimizationr) r+r,splitextnormcasePYTHON_SOURCE_EXTENSIONr r; importlibutilcache_from_sourcer)rZ py_filenamesZbytecode_filesZpy_fileZextrrr_bytecode_filenamess     zinstall_lib._bytecode_filenamescCsR||jdd|j}|jr*||}ng}||jdd|j}|||S)Nr(rr))r?r"r#rr rHr*)rZ pure_outputsZbytecode_outputsZ ext_outputsrrrr7s    zinstall_lib.get_outputscCsLg}|jr&|d}|||jrH|d}|||Sr')r"r#r4extendr7r*)rZinputsr(r)rrr get_inputss    zinstall_lib.get_inputsN)__name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsZ negative_optrrr&r!rr$r?rHr7rJrrrrrs*   r) r+importlib.utilrEr2Zdistutils.corerZdistutils.errorsrrDrrrrrs   __pycache__/install.cpython-38.opt-2.pyc000064400000030412147577664100014033 0ustar00U 2bboh@sddlZddlZddlmZddlmZddlmZddlm Z ddl m Z ddl m Z ddlmZmZmZdd lmZdd l mZdd lmZdd lmZd ZddddddZddddddddddddedZerdddddded<ddd d!dded"<dZGd#d$d$eZdS)%N)log)Command)DEBUG)get_config_vars)DistutilsPlatformError) write_file) convert_path subst_vars change_root) get_platform)DistutilsOptionError) USER_BASE) USER_SITETz$base/Lib/site-packagesz$base/Include/$dist_namez $base/Scriptsz$base)purelibplatlibheadersscriptsdataz/$base/lib/python$py_version_short/site-packagesz5$platbase/lib64/python$py_version_short/site-packagesz9$base/include/python$py_version_short$abiflags/$dist_namez $base/binz$base/lib/pythonz$base/lib64/pythonz$base/include/python/$dist_name) unix_prefix unix_homentz $usersitez4$userbase/Python$py_version_nodot/Include/$dist_namez)$userbase/Python$py_version_nodot/Scriptsz $userbaseZnt_userz=$userbase/include/python$py_version_short$abiflags/$dist_namez $userbase/bin unix_userc@s:eZdZdZdddddddd d d d d ddddddgZdddgZer`edddefedddiZ ddZ ddZ dd Z d!d"Z d#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Zd5d6Zd7d8Zd9d:Zd;d<Zd=d>Zd?d@ZdAdBZdCdDZdEefdFefdGefdHefdIdJdKfgZdS)Linstallz'install everything from build directory)zprefix=Nzinstallation prefix)z exec-prefix=Nz.(Unix only) prefix for platform-specific files)zhome=Nz+(Unix only) home directory to install under)z install-base=Nz;base installation directory (instead of --prefix or --home))zinstall-platbase=Nz\base installation directory for platform-specific files (instead of --exec-prefix or --home))zroot=Nz/opt/alt/python38/lib64/python3.8/distutils/command/install.pyinitialize_optionss2 zinstall.initialize_optionsc Csx|js|js|jr&|js|jr&td|jr@|js8|jr@td|jrl|jsd|jsd|jsd|jsd|jrltdtjdkr|jr| dd|_| dtjdkr| n| | dt jd}td d \}}z t j}Wntk rd }YnX|j|j|j|d t jdd dt jdd |||||d |_trf|j|jd<|j|jd<|| d|j|jd<|j|jd<trddlm}td||j| | d|jr|!|j"dkr|jj#r|j$|_"n|j%|_"|&dddddddd|'|j"|_(tj)*|j"|j+|_"|j,dk r\|-ddddddd| d|.d d!d"dS)#NzWmust supply either prefix/exec-prefix/home or install-base/install-platbase -- not bothz9must supply either home or prefix/exec-prefix -- not bothzGcan't combine user with prefix, exec_prefix/home, or install_(plat)baseposixz+exec-prefix option ignored on this platformzpre-finalize_{unix,other}zpost-finalize_{unix,other}()rr"r#z%d.%dz%d%d) Z dist_nameZ dist_versionZ dist_fullname py_versionZpy_version_shortZpy_version_nodotZ sys_prefixr"Zsys_exec_prefixr#abiflagsuserbaseZusersitezpost-expand_basedirs()baseZplatbase)pprintz config vars:zpost-expand_dirs()librrrrrZlibbasezafter prepending rootbuild)r5r5)r6r6)/r"r#r$r%r&r r osnamewarn dump_dirs finalize_unixfinalize_othersysversionsplitrrAAttributeError distributionZget_nameZ get_versionZ get_fullname version_info config_vars HAS_USER_SITEr.r/expand_basedirsrrDprint expand_dirscreate_home_pathr+Z ext_modulesr)r( convert_pathshandle_extra_pathinstall_libbasepathjoin extra_dirsr' change_rootsZset_undefined_options)r9r@r"r#rArDr:r:r;finalize_optionss                         zinstall.finalize_optionscCstsdSddlm}t|d|jD]r}|d}|ddkrL|dd}||jkrx|j|}||}t|| }n||}t||}td||q(dS)Nr) longopt_xlate:=z %s: %s) rZdistutils.fancy_getoptrardebug user_options negative_opt translategetattr)r9msgraoptZopt_namevalr:r:r;rJus         zinstall.dump_dirscCs"|jdk s|jdk r\|jdkr2|jdkr2|jdksP|jdksP|jdksP|jdkrXtddS|j r|j dkrtt d|j |_|_| dn|j dk r|j |_|_| dnl|jdkr|jdk rtdtjtj|_tjtj|_n|jdkr|j|_|j|_|j|_| ddS)NzPinstall-base or install-platbase supplied, but installation scheme is incomplete$User base directory is not specifiedrrz*must not supply exec-prefix without prefixr)r%r&r+r(r)r*r,r-r r r.r select_schemer$r"r#rGr\normpathrMr8r:r:r;rKsL        zinstall.finalize_unixcCs|jr8|jdkrtd|j|_|_|tjdn|jdk r\|j|_|_|dn\|j dkrvtj t j |_ |j |_|_z|tjWn"t k rtdtjYnXdS)NrmZ_userrz)I don't know how to install stuff on '%s')r r.rr%r&rnrGrHr$r"r\rorMKeyErrorr8r:r:r;rLs&    zinstall.finalize_othercCs<t|}tD]*}d|}t||dkr t||||q dSNZinstall_)INSTALL_SCHEMES SCHEME_KEYSrisetattr)r9rHZschemekeyattrnamer:r:r;rns zinstall.select_schemecCsX|D]N}t||}|dk rtjdks.tjdkr:tj|}t||j}t|||qdS)Nr=r)rirGrHr\ expanduserr rSrt)r9Zattrsattrrlr:r:r; _expand_attrss   zinstall._expand_attrscCs|dddgdS)Nr%r&r'ryr8r:r:r;rUszinstall.expand_basedirscCs|ddddddgdS)Nr(r)r+r*r,r-rzr8r:r:r;rWs zinstall.expand_dirscGs,|D]"}d|}t||tt||qdSrq)rtrrir9namesrHrxr:r:r;rYszinstall.convert_pathscCs|jdkr|jj|_|jdk rtdt|jtrB|jd|_t|jdkr`|jd}}n"t|jdkrz|j\}}ntdt |}nd}d}||_ ||_ dS)NzIDistribution option extra_path is deprecated. See issue27919 for details.,r!rr?zY'extra_path' option must be a list, tuple, or comma-separated string with 1 or 2 elementsr>) r1rQrrI isinstancestrrOlenr r path_filer^)r9rr^r:r:r;rZs(      zinstall.handle_extra_pathc Gs0|D]&}d|}t||t|jt||qdSrq)rtr r'rir{r:r:r;r_ szinstall.change_rootscCsb|js dSttjd}|jD]8\}}||r$tj|s$| d|t |dq$dS)N~zos.makedirs('%s', 0o700)i) r rrGr\rwrSitems startswithisdirZ debug_printmakedirs)r9r$rHr\r:r:r;rXszinstall.create_home_pathcCs"|js6|d|jdj}|jr6|tkr6td|D]}||q>|j r\| |j r| }|j rt|j }tt|D]}|||d||<q|t|j |fd|j ttjjtj}ttjj|}tjtj|j}|jr|j r|js||krtd|jdS)NrFz"Can't install when cross-compilingz'writing list of installed files to '%s'zmodules installed to '%s', which is not in Python's module search path (sys.path) -- you'll have to change the search path yourself)r3Z run_commandrQZget_command_objZ plat_namer4r rget_sub_commandsrcreate_path_filer7 get_outputsr'rrangeexecutermaprGr\rorMnormcaser+r2rre)r9Z build_platcmd_nameoutputsZroot_lenZcounterZsys_pathr+r:r:r;runsD    z install.runcCsJtj|j|jd}|jr8|t||jgfd|n| d|dS)N.pthz creating %szpath file '%s' not created) rGr\r]r[rr2rrr^rI)r9filenamer:r:r;rIs  zinstall.create_path_filecCshg}|D].}||}|D]}||kr"||q"q |jrd|jrd|tj|j |jd|S)Nr) rget_finalized_commandrappendrr2rGr\r]r[)r9rrcmdrr:r:r;rWs    zinstall.get_outputscCs.g}|D]}||}||q |SN)rrextend get_inputs)r9Zinputsrrr:r:r;rhs   zinstall.get_inputscCs|jp|jSr)rQZhas_pure_modulesZhas_ext_modulesr8r:r:r;has_libts zinstall.has_libcCs |jSr)rQ has_headersr8r:r:r;rzszinstall.has_headerscCs |jSr)rQ has_scriptsr8r:r:r;rszinstall.has_scriptscCs |jSr)rQZhas_data_filesr8r:r:r;has_dataszinstall.has_datar+r*r,r-Zinstall_egg_infocCsdS)NTr:r8r:r:r;zinstall.) __name__ __module__ __qualname__Z descriptionrfZboolean_optionsrTrrrgr<r`rJrKrLrnryrUrWrYrZr_rXrrrrrrrrZ sub_commandsr:r:r:r;rIsn ;  N(  " ,  r)rMrGZ distutilsrZdistutils.corerZdistutils.debugrZdistutils.sysconfigrZdistutils.errorsrZdistutils.file_utilrZdistutils.utilrr r r r Zsiter rrTZWINDOWS_SCHEMErrrsrr:r:r:r;s`             __pycache__/build_py.cpython-38.opt-1.pyc000064400000024306147577664100014200 0ustar00U ,a&C@szdZddlZddlZddlZddlZddlmZddlTddl m Z m Z ddl m Z GdddeZGd d d ee ZdS) zHdistutils.command.build_py Implements the Distutils 'build_py' command.N)Command)*) convert_path Mixin2to3)logc@seZdZdZdddddgZddgZd diZd d Zd d ZddZ ddZ ddZ ddZ ddZ ddZddZddZddZd d!Zd"d#Zd$d%Zd2d'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1S)3build_pyz5"build" pure Python modules (copy to build directory))z build-lib=dzdirectory to "build" (copy) to)compileczcompile .py to .pyc) no-compileNz!don't compile .py files [default])z optimize=Ozlalso compile with optimization: -O1 for "python -O", -O2 for "python -OO", and -O0 to disable [default: -O0])forcefz2forcibly build everything (ignore file timestamps)r r r cCs4d|_d|_d|_d|_d|_d|_d|_d|_dS)Nr) build_lib py_modulespackage package_data package_dirr optimizer selfr?/opt/alt/python38/lib64/python3.8/distutils/command/build_py.pyinitialize_options szbuild_py.initialize_optionsc Cs|ddd|jj|_|jj|_|jj|_i|_|jjr^|jjD]\}}t||j|<qF||_ t |j t szt |j |_ Wn t tfk rtdYnXdS)NZbuild)rr)r r zoptimize must be 0, 1, or 2)Zset_undefined_options distributionpackagesrrritemsrget_data_files data_files isinstancerint ValueErrorAssertionErrorZDistutilsOptionError)rnamepathrrrfinalize_options*s$      zbuild_py.finalize_optionscCs:|jr||jr$||||jdddSNr)include_bytecode)r build_modulesrbuild_packagesbuild_package_data byte_compile get_outputsrrrrrunCs z build_py.runcsg}|js|S|jD]h}||}tjj|jg|d}d|rPt|dfdd|||D}| ||||fq|S)z?Generate list of '(package,src_dir,build_dir,filenames)' tuples.rcsg|]}|dqSNr).0fileZplenrr ssz+build_py.get_data_files..) rget_package_dirosr$joinrsplitlenfind_data_filesappend)rdatarsrc_dir build_dir filenamesrr3rras     zbuild_py.get_data_filescsd|jdg|j|g}g|D]:}ttjt|t|}fdd|Dq$S)z6Return filenames for package's data files in 'src_dir'cs$g|]}|krtj|r|qSr)r6r$isfile)r1fnfilesrrr4s z,build_py.find_data_files..) rgetglobr6r$r7escaperextend)rrr=ZglobspatternZfilelistrrCrr:ys  zbuild_py.find_data_filescCs`d}|jD]P\}}}}|D]>}tj||}|tj||jtj|||ddqq dS)z$Copy data files into build directoryNFZ preserve_mode)rr6r$r7mkpathdirname copy_file)rZlastdirrr=r>r?filenametargetrrrr*szbuild_py.build_package_datacCs|d}|js&|r tjj|SdSng}|rz|jd|}Wn*tk rl|d|d|d=Yq*X|d|tjj|Sq*|jd}|dk r|d||rtjj|SdSdS)zReturn the directory, relative to the top of the source distribution, where package 'package' should be found (at least according to the 'package_dir' option, if any).r.r@rN)r8rr6r$r7KeyErrorinsertrE)rrr$tailZpdirrrrr5s(       zbuild_py.get_package_dircCsj|dkr8tj|s td|tj|s8td||rftj|d}tj|rZ|Std|dS)Nr@z%package directory '%s' does not existz>supposed package directory '%s' exists, but is not a directoryz __init__.pyz8package init file '%s' not found (or not a regular file)) r6r$existsZDistutilsFileErrorisdirr7rArwarn)rrrinit_pyrrr check_packages&   zbuild_py.check_packagecCs&tj|std||dSdSdS)Nz!file %s (for module %s) not foundFT)r6r$rArrV)rmodule module_filerrr check_modules zbuild_py.check_modulec Cs|||ttjt|d}g}tj|jj}|D]P}tj|}||krtj tj |d}| |||fq>| d|q>|S)Nz*.pyrz excluding %s) rXrFr6r$r7rGabspathrZ script_namesplitextbasenamer;Z debug_print) rrrZ module_filesmodulesZ setup_scriptrZabs_frYrrrfind_package_moduless  zbuild_py.find_package_modulesc Csi}g}|jD]}|d}d|dd}|d}z||\}}Wn"tk rh||}d}YnX|s|||} |df||<| r||d| ftj||d} | || sq|||| fq|S)aFinds individually-specified Python modules, ie. those listed by module name in 'self.py_modules'. Returns a list of tuples (package, module_base, filename): 'package' is a tuple of the path through package-space to the module; 'module_base' is the bare (no packages, no dots) module name, and 'filename' is the path to the ".py" file (relative to the distribution root) that implements the module. r.rrPr/__init__.py) rr8r7rQr5rXr;r6r$r[) rrr_rYr$rZ module_basercheckedrWrZrrr find_moduless*       zbuild_py.find_modulescCsNg}|jr|||jrJ|jD]$}||}|||}||q$|S)a4Compute the list of all modules that will be built, whether they are specified one-module-at-a-time ('self.py_modules') or by whole packages ('self.packages'). Return a list of tuples (package, module, module_file), just like 'find_modules()' and 'find_package_modules()' do.)rrHrdrr5r`)rr_rrmrrrfind_all_moduless    zbuild_py.find_all_modulescCsdd|DS)NcSsg|] }|dqS)rPr)r1rYrrrr4-sz-build_py.get_source_files..)rfrrrrget_source_files,szbuild_py.get_source_filescCs$|gt||dg}tjj|S)Nrb)listr6r$r7)rr>rrYZ outfile_pathrrrget_module_outfile/szbuild_py.get_module_outfiler/cCs|}g}|D]p\}}}|d}||j||}|||r|jr^|tjj|dd|j dkr|tjj||j dq|dd|j D7}|S)Nr.r@) optimizationrcSs,g|]$\}}}}|D]}tj||qqSr)r6r$r7)r1rr=r>r?rNrrrr4Bs z(build_py.get_outputs..) rfr8rirr;r importlibutilcache_from_sourcerr)rr'r_ZoutputsrrYrZrNrrrr,3s*      zbuild_py.get_outputscCsbt|tr|d}nt|ttfs,td||j||}tj |}| ||j ||ddS)Nr.z:'package' must be a string (dot-separated), list, or tuplerrJ) rstrr8rhtuple TypeErrorrirr6r$rLrKrM)rrYrZrZoutfiledirrrr build_moduleJs    zbuild_py.build_modulecCs*|}|D]\}}}||||q dSr0)rdrr)rr_rrYrZrrrr(Yszbuild_py.build_modulescCsD|jD]8}||}|||}|D]\}}}||||q$qdSr0)rr5r`rr)rrrr_Zpackage_rYrZrrrr)bs   zbuild_py.build_packagescCstjr|ddSddlm}|j}|dtjkr>|tj}|jrZ||d|j ||j d|j dkr||||j |j ||j ddS)Nz%byte-compiling is disabled, skipping.r)r+rP)rr prefixdry_run) sysdont_write_bytecoderVdistutils.utilr+rr6sepr r rtr)rrDr+rsrrrr+vs&    zbuild_py.byte_compileN)r/)__name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsZ negative_optrr%r-rr:r*r5rXr[r`rdrfrgrir,rrr(r)r+rrrrrs8    '4  rc@seZdZddZddZdS) build_py_2to3cCsLg|_|jr||jr*||||j||jdddSr&) updated_filesrr(rr)r*Zrun_2to3r+r,rrrrr-s zbuild_py_2to3.runcCs,t||||}|dr(|j|d|S)Nr/r)rrrr}r;)rrYrZrresrrrrrszbuild_py_2to3.build_moduleN)ryrzr{r-rrrrrrr|sr|)__doc__r6importlib.utilrkrurFZdistutils.corerZdistutils.errorsrwrrZ distutilsrrr|rrrrs  }__pycache__/bdist_msi.cpython-38.pyc000064400000046266147577664100013420 0ustar00U ,a߉@sdZddlZddlZddlmZddlmZddlmZddl m Z ddl m Z ddl mZdd lmZddlZdd lmZmZmZdd lmZmZmZmZGd d d eZGdddeZdS)z# Implements the bdist_msi command. N)Command) remove_tree)get_python_version) StrictVersion)DistutilsOptionError) get_platform)log)schemasequencetext) DirectoryFeatureDialogadd_datac@sFeZdZdZddZddZddd Zdd d ZdddZddZ dS)PyDialogzDialog class with a fixed layout: controls at the top, then a ruler, then a list of buttons: back, next, cancel. Optionally a bitmap at the left.cOs>tj|f||jd}d|d}|dd||jddS)zbDialog(database, name, x, y, w, h, attributes, title, first, default, cancel, bitmap=true)$iHZ BottomLinerN)r__init__hlinew)selfargskwZrulerZbmwidthr@/opt/alt/python38/lib64/python3.8/distutils/command/bdist_msi.pyrs  zPyDialog.__init__c Cs|ddddddd|dS) z,Set the title text of the dialog at the top.Title @<z{\VerdanaBold10}%sN)r )rtitlerrrr"#szPyDialog.titleBackc Cs,|r d}nd}||d|jddd|||S)zAdd a back button with a given title, the tab-next button, its name in the Control table, possibly initially disabled. Return the button, so that events can be associatedr$8 pushbuttonrrr"nextnameactiveflagsrrrback*sz PyDialog.backCancelc Cs,|r d}nd}||d|jddd|||S)zAdd a cancel button with a given title, the tab-next button, its name in the Control table, possibly initially disabled. Return the button, so that events can be associatedr%r$i0r'r(r)r*r,rrrcancel5szPyDialog.cancelNextc Cs,|r d}nd}||d|jddd|||S)zAdd a Next button with a given title, the tab-next button, its name in the Control table, possibly initially disabled. Return the button, so that events can be associatedr%r$r'r(r)r*r,rrrr-@sz PyDialog.nextc Cs,||t|j|d|jdddd||S)zAdd a button with a given title, the tab-next button, its name in the Control table, giving its x position; the y-position is aligned with the other buttons. Return the button, so that events can be associatedr'r(r)r%)r+intrr)rr.r"r-ZxposrrrxbuttonKszPyDialog.xbuttonN)r#r$)r2r$)r4r$) __name__ __module__ __qualname____doc__rr"r1r3r-r8rrrrrs  rc@seZdZdZddddefdddd d d d d g ZddddgZddddddddddddddd d!d"d#d$d%gZd&Zd'd(Z d)d*Z d+d,Z d-d.Z d/d0Z d1d2Zd3d4Zd5d6Zd7S)8 bdist_msiz7create a Microsoft Installer (.msi) binary distribution)z bdist-dir=Nz1temporary directory for creating the distributionz plat-name=pz;platform name to embed in generated filenames (default: %s)) keep-tempkzPkeep the pseudo-installation tree around after creating the distribution archive)ztarget-version=Nz6require a specific python version on the target system)no-target-compilecz/do not compile .py to .pyc on the target system)no-target-optimizeoz;do not compile .py to .pyo (optimized) on the target system)z dist-dir=dz-directory to put final built distributions in) skip-buildNz2skip rebuilding everything (for testing/debugging))zinstall-script=NzUbasename of installation script to be run after installation or before deinstallation)zpre-install-script=Nz{Fully qualified filename of a script to be run before any files are installed. This script need not be in the distributionr?rArCrFz2.0z2.1z2.2z2.3z2.4z2.5z2.6z2.7z2.8z2.9z3.0z3.1z3.2z3.3z3.4z3.5z3.6z3.7z3.8z3.9XcCsFd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ dS)Nr) bdist_dir plat_name keep_tempZno_target_compileZno_target_optimizetarget_versiondist_dir skip_buildinstall_scriptpre_install_scriptversions)rrrrinitialize_options}szbdist_msi.initialize_optionscCs|dd|jdkr2|dj}tj|d|_t}|jsN|j rN||_|jr|jg|_ |j s|j r|j|krt d|fn t|j|_ |ddd|jrt d|jr|j jD]}|jtj|krqqt d|jd|_dS) NZbdist)rMrMZmsizMtarget version can only be %s, or the '--skip-build' option must be specified)rLrL)rIrIz5the pre-install-script feature is not yet implementedz(install_script '%s' not found in scripts)Zset_undefined_optionsrHget_finalized_command bdist_baseospathjoinrrK distributionhas_ext_modulesrPrMrlist all_versionsrOrNZscriptsbasenameinstall_script_key)rrSZ short_versionZscriptrrrfinalize_optionssH      zbdist_msi.finalize_optionscCs|js|d|jddd}|j|_|j|_d|_|d}d|_d|_|j r|j }|s~|jslt ddt j dd }d |j|f}|d}tj|jd ||_td |j|t jdtj|jd |t jd=||j|j}||}tj|}tj|r0t ||jj!}|j"} | sJ|j#} | sTd} |$} dt%| j&} |j}|j rd|j |f} nd|} t'(|t)| t'*| | |_+t',|j+t-d| fg} |j.p|j/}|r| 0d|f|j1r| 0d|j1f| rt2|j+d| |3|4|5|6|j+7t8|jdrld|j pXd|f}|jj90||j:st;|j|j }|d?d%d@dAd%d)dB|d7d-dCdDd-d)dE|dFd-dGdHdddI| dJdKd-dLdHdMdNdOddd |jd1dPd1d/} | d0d1|j dPd }|d?d%d@dAd%d)d|d7d-d-dDd-d)d|dFd-ddHddd| ddd-ddHdddddd |ddndd d0d9t|d||||||ddd" }|d|dd%ddtddddXd }|dd ddd-d|dd ddd-d|jd#dd d!| dd"} | dddd| j d0d9dd|d"d} | ddst|d||||||d"d"d"d=d> }|d?d-d%dAd%d)d|dFddddwddġ|ddddd-ddơ|dd&d|d&d-dd} | ddF| ddddZddRddddd } | ddˡ|jddd=d!|j dd"d=d!|d"d# ddst|d||||||ddd" }|d͡|dd%ddHdhddС|dd%ddHddddXd }|dd ddAd{d֡|dd ddAd{d١|jddd=d!| dd"} | dddd| dddd@| ddddN| dddd| dddd| dddd| dddd| dddd| d0d9dd-|d"dѡ ddsdS)Nriri,z[ProductName] Setupr%r$ rc)Z DefaultUIFontDlgFont8)Z ErrorDialogErrorDlg)Z Progress1ZInstall)Z Progress2Zinstalls)MaintenanceForm_ActionRepair) WhichUsersALLZ TextStyle)rTahoma Nr)Z DlgFontBold8rNr$)Z VerdanaBold10VerdanarNr$)Z VerdanaRed9rrrr) PrepareDlgz(Not Privileged or Windows9x or Installed) WhichUsersDlgz.Privileged and not Windows9x and not Installed)SelectFeaturesDlgz Not Installedi)MaintenanceTypeDlgz,Installed AND NOT RESUME AND NOT Preselectedi) ProgressDlgNi ActionTextUITextZ FatalErrorZFinishz)[ProductName] Installer ended prematurelyz< Backr)r/r2r#Z Description1rFrPr!z[ProductName] setup ended prematurely because of an error. Your system has not been modified. To install this program at a later time, please run the installation again.Z Description2z.Click the Finish button to exit the Installer.)r.Z EndDialogZExitZUserExitz'[ProductName] Installer was interruptedz[ProductName] setup was interrupted. Your system has not been modified. To install this program at a later time, please run the installation again.Z ExitDialogz&Completing the [ProductName] InstallerZ DescriptionZReturnZ FilesInUseZRetryF)Zbitmaprz{\DlgFontBold8}Files in Useiz8Some files that need to be updated are currently in use.ZText7iJzThe following applications are using files that need to be updated by this setup. Close these applications and then click Retry to continue the installation or Cancel to exit it.ZListZListBoxkZFileInUseProcessIgnorerreiZ ErrorTextr0rNxHQZNoZErrorNoYZYesZErrorYesAZAbortZ ErrorAbortC*Z ErrorCancelIZ ErrorIgnoreOZOkZErrorOkRZ ErrorRetryZ CancelDlgiUz;Are you sure you want to cancel [ProductName] installation?9r(r)ZWaitForCostingDlgzRPlease wait while the installer finishes determining your disk space requirements.fr(zOPlease wait while the Installer prepares to guide you through the installation.z&Welcome to the [ProductName] Installernz Pondering...Z ActionDatar4Z SpawnDialogrzSelect Python InstallationsZHintz9Select the Python locations where %s should be installed.zNext >z [TARGETDIR]z [SourceDir])Zorderingz [TARGETDIR%s]z FEATURE_SELECTED AND &Python%s=3ZSpawnWaitDialograZFeaturesZ SelectionTreer ZFEATUREZPathEditz[FEATURE_SELECTED]1z!FEATURE_SELECTED AND &Python%s<>3ZOtherz$Provide an alternate Python locationZEnableZShowZDisableZHiderZ DiskCostDlgZOKz&{\DlgFontBold8}Disk Space RequirementszFThe disk space required for the installation of the selected features.5aThe highlighted volumes (if any) do not have enough disk space available for the currently selected features. You can either remove some files from the highlighted volumes, or choose to install less features onto local drive(s), or select different destination drive(s).Z VolumeListZVolumeCostListdiz{120}{70}{70}{70}{70}g?rZ AdminInstallzGSelect whether to install [ProductName] for all users of this computer.rrzInstall for all usersZJUSTMEzInstall just for mez [ALLUSERS]zWhichUsers="ALL"rz({\DlgFontBold8}[Progress1] [ProductName]#AzYPlease wait while the Installer [Progress2] [ProductName]. This may take several minutes.Z StatusLabelzStatus:Z ProgressBariz Progress doneZ SetProgressZProgressrz)Welcome to the [ProductName] Setup WizardZBodyText?z:Select whether you want to repair or remove [ProductName].ZRepairRadioGrouplrrrz&Repair [ProductName]ZRemoverzRe&move [ProductName]z [REINSTALL]zMaintenanceForm_Action="Repair"z [Progress1]Z Repairingz [Progress2]ZrepairsZ Reinstallrz[REMOVE]zMaintenanceForm_Action="Remove" ZRemoving Zremoves z MaintenanceForm_Action<>"Change")ryrr rrrr"r1r3r-ZeventZcontrolrr+mappingrWrprPrZ conditionr8Z radiogroupadd)rryxyrrr"ZmodalZmodelessZtrack_disk_spaceZfatalrBZ user_exitZ exit_dialogZinuseerrorr3ZcostingZprepZseldlgorderrwrZinstall_other_condZdont_install_other_condZcostZ whichusersgZprogressZmaintrrrr~sv                                                   zbdist_msi.add_uicCs<|jrd||j|jf}nd||jf}tj|j|}|S)Nz%s.%s-py%s.msiz %s.%s.msi)rKrIrTrUrVrL)rrZ base_namerrrrrqsz bdist_msi.get_installer_filenameN)r9r:r;Z descriptionrZ user_optionsZboolean_optionsrZrrQr]ror|r{r}r~rqrrrrr=Ss^  ([66&@r=)r<rkrTZdistutils.corerZdistutils.dir_utilrZdistutils.sysconfigrZdistutils.versionrZdistutils.errorsrZdistutils.utilrZ distutilsrrxr r r r r rrrr=rrrrs       >__pycache__/install_egg_info.cpython-38.pyc000064400000005703147577664100014735 0ustar00U ,a+ @sddZddlmZddlmZmZddlZddlZddlZGdddeZ ddZ d d Z d d Z dS) zdistutils.command.install_egg_info Implements the Distutils 'install_egg_info' command, for installing a package's PKG-INFO metadata.)Command)logdir_utilNc@s:eZdZdZdZdgZddZddZdd Zd d Z d S) install_egg_infoz)Install an .egg-info file for the packagez8Install package's PKG-INFO metadata as an .egg-info file)z install-dir=dzdirectory to install tocCs d|_dSN) install_dirselfr G/opt/alt/python38/lib64/python3.8/distutils/command/install_egg_info.pyinitialize_optionssz#install_egg_info.initialize_optionscCsb|dddtt|jtt|jftjdd}t j |j ||_ |j g|_dS)NZ install_lib)rrz%s-%s-py%d.%d.egg-info)Zset_undefined_options to_filename safe_name distributionZget_name safe_versionZ get_versionsys version_infoospathjoinrtargetoutputs)r basenamer r r finalize_optionss  z!install_egg_info.finalize_optionsc Cs|j}tj|r0tj|s0tj||jdnNtj|rV| tj |jfd|n(tj|j s~| tj |j fd|j t d||jst|ddd}|jj|W5QRXdS)N)dry_runz Removing z Creating z Writing %swzUTF-8)encoding)rrrisdirislinkrZ remove_treerexistsZexecuteunlinkrmakedirsrinfoopenrZmetadataZwrite_pkg_file)r rfr r r run s  zinstall_egg_info.runcCs|jSr)rr r r r get_outputs.szinstall_egg_info.get_outputsN) __name__ __module__ __qualname____doc__Z descriptionZ user_optionsr rr'r(r r r r r s rcCstdd|S)zConvert an arbitrary string to a standard distribution name Any runs of non-alphanumeric/. characters are replaced with a single '-'. [^A-Za-z0-9.]+-)resubnamer r r r6srcCs|dd}tdd|S)zConvert an arbitrary string to a standard version string Spaces become dots, and all other non-alphanumeric characters become dashes, with runs of multiple dashes condensed to a single dash.  .r-r.)replacer/r0)versionr r r r>s rcCs |ddS)z|Convert a project or version name to its filename-escaped form Any '-' characters are currently replaced with '_'. r._)r5r1r r r rHsr) r,Z distutils.cmdrZ distutilsrrrrr/rrrrr r r r s + __pycache__/bdist_rpm.cpython-38.pyc000064400000030233147577664100013411 0ustar00U ,aIT@sdZddlZddlZddlZddlmZddlmZddlm Z ddl m Z ddl Tddl mZdd lmZGd d d eZdS) zwdistutils.command.bdist_rpm Implements the Distutils 'bdist_rpm' command (create RPM source and binary distributions).N)Command)DEBUG) get_platform) write_file)*)get_python_version)logc)@seZdZdZdddddddd d d d d ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*g)Zd+d,d-d.d/gZd+d,d-d0Zd1d2Zd3d4Zd5d6Z d7d8Z d9d:Z d;d<Z d=d>Z d?S)@ bdist_rpmzcreate an RPM distribution)z bdist-base=Nz/base directory for creating built distributions)z rpm-base=Nzdbase directory for creating RPMs (defaults to "rpm" under --bdist-base; must be specified for RPM 2))z dist-dir=dzDdirectory to put final RPM files in (and .spec files if --spec-only))zpython=NzMpath to Python interpreter to hard-code in the .spec file (default: "python"))z fix-pythonNzLhard-code the exact path to the current Python interpreter in the .spec file)z spec-onlyNzonly regenerate spec file)z source-onlyNzonly generate source RPM)z binary-onlyNzonly generate binary RPM)z use-bzip2Nz7use bzip2 instead of gzip to create source distribution)zdistribution-name=Nzgname of the (Linux) distribution to which this RPM applies (*not* the name of the module distribution!))zgroup=Nz9package classification [default: "Development/Libraries"])zrelease=NzRPM release number)zserial=NzRPM serial number)zvendor=NzaRPM "vendor" (eg. "Joe Blow ") [default: maintainer or author from setup script])z packager=NzBRPM packager (eg. "Jane Doe ") [default: vendor])z doc-files=Nz6list of documentation files (space or comma-separated))z changelog=Nz RPM changelog)zicon=Nzname of icon file)z provides=Nz%capabilities provided by this package)z requires=Nz%capabilities required by this package)z conflicts=Nz-capabilities which conflict with this package)zbuild-requires=Nz+capabilities required to build this package)z obsoletes=Nz*capabilities made obsolete by this package) no-autoreqNz+do not automatically calculate dependencies) keep-tempkz"don't clean up RPM build directory) no-keep-tempNz&clean up RPM build directory [default])use-rpm-opt-flagsNz8compile with RPM_OPT_FLAGS when building from source RPM)no-rpm-opt-flagsNz&do not pass any RPM CFLAGS to compiler) rpm3-modeNz"RPM 3 compatibility mode (default)) rpm2-modeNzRPM 2 compatibility mode)z prep-script=Nz3Specify a script for the PREP phase of RPM building)z build-script=Nz4Specify a script for the BUILD phase of RPM building)z pre-install=Nz:Specify a script for the pre-INSTALL phase of RPM building)zinstall-script=Nz6Specify a script for the INSTALL phase of RPM building)z post-install=Nz;Specify a script for the post-INSTALL phase of RPM building)zpre-uninstall=Nz@/opt/alt/python38/lib64/python3.8/distutils/command/bdist_rpm.pyinitialize_optionssNzbdist_rpm.initialize_optionscCs|dd|jdkr6|js$tdtj|jd|_|jdkrX|j rPt j |_qfd|_n|j rftdtj dkr~t dtj |jr|jrtd |jsd |_|dd |dS) NZbdist)rrz)you must specify --rpm-base in RPM 2 moderpmZpython3z8--python and --fix-python are mutually exclusive optionsposixz9don't know how to create RPM distributions on platform %sz6cannot supply both '--source-only' and '--binary-only'r)rr)Zset_undefined_optionsrr9ZDistutilsOptionErrorospathjoinrrrsys executablenameZDistutilsPlatformErrorrr distributionhas_ext_modulesr8finalize_package_datar<r>r>r?finalize_optionss6        zbdist_rpm.finalize_optionscCsT|dd|dd|j|jf|d|dt|jtrxdD]&}tj |rP||jkrP|j |qP|dd |d |d |d | |j |_ |d |d|d|d|d|d|d|d|d|d|d|d|d|d|d|ddS)Nr zDevelopment/Librariesr#z%s <%s>r$r%)ZREADMEz README.txtr!1r"rr&r'r(r)r*r+r,r-r.r/r0r2r3r4r5r6r;)Z ensure_stringrIZ get_contactZget_contact_emailZensure_string_list isinstancer%listrCrDexistsappend_format_changelogr&Zensure_filename)r=Zreadmer>r>r?rKsB                        zbdist_rpm.finalize_package_datacCstrr>r?runs                            z bdist_rpm.runcCstj|jtj|S)N)rCrDrErrh)r=rDr>r>r? _dist_pathszbdist_rpm._dist_pathc CsJd|jd|jddd|jd|jdddd|jg}td }d d d | D}d }d}|||}||kr| d| d|d | dddg|j r| dn | d| d|j d|jddg|js|js&| dn| d|jdD]V}t||}t|trb| d|d|fn|dk r*| d||fq*|jd kr| d!|j|jr| d"|j|jr| d#d|j|jr| d$tj|j|jr| d%| dd&|jgd'|jtjtj d(f}d)|} |j!rXd*| } d+|} d,d-d.| fd/d0| fd1d2d3d4d5d6g } | D]n\} } }t|| }|s|r| dd7| g|rt"|}| |#$d W5QRXn | |q| dd8d9g|j%r$| d:d|j%|j&rF| dd;g| |j&|S)r>r? sz-bdist_rpm._make_spec_file..zbrp-python-bytecompile \ z%brp-python-bytecompile %{__python} \ z2# Workaround for http://bugs.python.org/issue14443z%define __os_install_post z Name: %{name}zVersion: %{version}zRelease: %{release}z-Source0: %{name}-%{unmangled_version}.tar.bz2z,Source0: %{name}-%{unmangled_version}.tar.gzz License: zGroup: z>BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildrootzPrefix: %{_prefix}zBuildArch: noarchz BuildArch: %s)ZVendorZPackagerZProvidesZRequiresZ ConflictsZ Obsoletesz%s: %s NZUNKNOWNzUrl: zDistribution: zBuildRequires: zIcon: z AutoReq: 0z %descriptionz%s %srz%s buildzenv CFLAGS="$RPM_OPT_FLAGS" z>%s install -O1 --root=$RPM_BUILD_ROOT --record=INSTALLED_FILES)r1r(z&%setup -n %{name}-%{unmangled_version}Zbuildr)Zinstallr*)Zcleanr+zrm -rf $RPM_BUILD_ROOT)Z verifyscriptr,N)Zprer-N)Zpostr.N)Zpreunr/N)Zpostunr0N%z%files -f INSTALLED_FILESz%defattr(-,root,root)z%doc z %changelog)'rIr[Z get_versionreplacer!Zget_description subprocessZ getoutputrE splitlinesrQr^rZ get_licenser r;rJgetattrlowerrNrOZget_urlrr5r'rCrDrhr:Zget_long_descriptionrrFargvr8openreadrdr%r&)r=Z spec_fileZ vendor_hookZproblemZfixedZ fixed_hookZfieldvalZdef_setup_callZ def_buildZ install_cmdZscript_optionsZrpm_optattrdefaultfr>r>r?r\s                       zbdist_rpm._make_spec_filecCs||s|Sg}|dD]N}|}|ddkrB|d|gq|ddkrZ||q|d|q|dsx|d=|S)zKFormat the changelog correctly and convert it to a list of strings rsrrrrrpz )rcrdr^rQ)r=r&Z new_changelogrkr>r>r?rR1s   zbdist_rpm._format_changelogN)__name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsZ negative_optr@rLrKrnror\rRr>r>r>r?r sxm--*r )__doc__ryrFrCZdistutils.corerZdistutils.debugrZdistutils.utilrZdistutils.file_utilrZdistutils.errorsZdistutils.sysconfigrZ distutilsrr r>r>r>r?s      __pycache__/register.cpython-38.opt-2.pyc000064400000016045147577664100014217 0ustar00U ,a-@s`ddlZddlZddlZddlZddlmZddlmZddl Tddl m Z GdddeZ dS)N)warn) PyPIRCCommand)*)logc@seZdZdZejddgZejdddgZddd fgZd d Zd d Z ddZ ddZ ddZ ddZ ddZddZddZdddZdS) registerz7register the distribution with the Python package index)list-classifiersNz list the valid Trove classifiers)strictNzBWill stop the registering if the meta-data are not fully compliantverifyrrcheckcCsdS)NTselfr r ?/opt/alt/python38/lib64/python3.8/distutils/command/register.pyzregister.cCst|d|_d|_dS)Nr)rinitialize_optionslist_classifiersrr r r rrs zregister.initialize_optionscCs*t|d|jfdd}||jjd<dS)Nr)r)rrestructuredtextr )rfinalize_optionsr distributionZcommand_options)r Z check_optionsr r rr$s  zregister.finalize_optionscCsT|||D]}||q|jr8|n|jrH|n|dS)N) r _set_configZget_sub_commandsZ run_commandZdry_runverify_metadatar classifiers send_metadata)r Zcmd_namer r rrun+s    z register.runcCs8tdt|jd}||j|_d|_|dS)Nzddistutils.command.register.check_metadata is deprecated, use the check command insteadr r)rPendingDeprecationWarningrZget_command_objZensure_finalizedrrr)r r r r rcheck_metadata:s zregister.check_metadatacCsz|}|ikr@|d|_|d|_|d|_|d|_d|_n6|jd|jfkr^td|j|jdkrp|j|_d|_dS) Nusernamepassword repositoryrealmTZpypiz%s not found in .pypircF)Z _read_pypircrrr r! has_configZDEFAULT_REPOSITORY ValueError)r Zconfigr r rrDs     zregister._set_configcCs*|jd}tj|}t||dS)Nz?:action=list_classifiers)r urllibrequestZurlopenrinfo_read_pypi_response)r ZurlZresponser r rrUs  zregister.classifierscCs&||d\}}td||dS)Nr Server response (%s): %s)post_to_serverbuild_post_datarr&)r coderesultr r rr\szregister.verify_metadatac Cs|jrd}|j}|j}n d}d}}d}||krd|dtjt}|sRd}q,||kr,tdq,|dkrl|s|td}qn|st d}q|t j }t j |jd }||j|||||d |\}}|d ||ftj|d kr|jr||j_nf|d tj|d|tjd}|dkrNtd}|s*d}q*|dkr|||nl|dkrddi} d| d<| d<| d<d| d<| dstd| d<q| d| dkr0| dst d| d<q| dst d| d<q| d| dkrd| d<d| d<tdq| dsJtd| d<q0|| \}}|d krrtd ||ntdtdnP|d krdd!i} d| d<| dstd"| d<q|| \}}td ||dS)#N1xz1 2 3 4zWe need to know who you are, so please choose either: 1. use your existing login, 2. register as a new user, 3. have the server generate a new password for you (and email it to you), or 4. quit Your selection [default 1]: z&Please choose one of the four options!z Username: z Password: rZsubmitr(zAI can store your PyPI login so future submissions will be faster.z (the login will be stored in %s)XZynzSave your login (y/N)?ny2:actionusernamerZemailZconfirmz Confirm: z!Password and confirm don't match!z EMail: z"You will receive an email shortly.z7Follow the instructions in it to complete registration.3Zpassword_resetzYour email address: )r"rrsplitannouncerINFOinputprintgetpassr$r%ZHTTPPasswordMgrparseZurlparser Z add_passwordr!r)r*rZ _get_rc_filelowerZ _store_pypircr&) r ZchoicerrchoicesauthZhostr+r,datar r rrcs                   zregister.send_metadatacCs|jj}|d|||||||| | | | | |||d}|ds|ds|drd|d<|S)Nz1.0)r5metadata_versionr7versionZsummaryZ home_pageZauthorZ author_emaillicense descriptionkeywordsplatformrZ download_urlprovidesrequires obsoletesrJrKrLz1.1rD)rZmetadataZget_nameZ get_versionZget_descriptionZget_urlZ get_contactZget_contact_emailZ get_licenceZget_long_descriptionZ get_keywordsZ get_platformsZget_classifiersZget_download_urlZ get_providesZ get_requiresZ get_obsoletes)r actionmetarCr r rr*s,zregister.build_post_dataNc Csd|kr$|d|d|jftjd}d|}|d}t}|D]~\}}t|tgtdfkrn|g}|D]R}t|}| || d|| d| ||rr|d d krr| d qrqH| || d | d }d |tt |d} t j|j|| } t jt jj|d} d}z| | } Wnxt jjk r} z"|jrd| j}| j| jf} W5d} ~ XYnJt jjk r} zdt| f} W5d} ~ XYnX|jr|| }d} |jrd d|df}||tj| S)Nr7zRegistering %s to %sz3--------------GHSKFJDLGDS7543FJKLFHRE75642756743254z --z--r z* Content-Disposition: form-data; name="%s"z   zutf-8z/multipart/form-data; boundary=%s; charset=utf-8)z Content-typezContent-length)Z password_mgrr/i)r0ZOKzK---------------------------------------------------------------------------)r:r rr;ioStringIOitemstypestrwritegetvalueencodelenr$r%ZRequestZ build_openerZHTTPBasicAuthHandleropenerrorZ HTTPErrorZ show_responsefpreadr+msgZURLErrorr'join)r rCrBboundaryZ sep_boundaryZ end_boundaryZbodykeyvalueZheadersZreqZopenerr,er_r r rr)s^          zregister.post_to_server)N)__name__ __module__ __qualname__rGrZ user_optionsZboolean_optionsZ sub_commandsrrrrrrrrr*r)r r r rrs* zr) r>rRZ urllib.parser$Zurllib.requestwarningsrZdistutils.corerZdistutils.errorsZ distutilsrrr r r rs   __pycache__/build_py.cpython-38.opt-2.pyc000064400000022017147577664100014176 0ustar00U ,a&C@svddlZddlZddlZddlZddlmZddlTddlm Z m Z ddl m Z GdddeZ Gdd d e e ZdS) N)Command)*) convert_path Mixin2to3)logc@seZdZdZdddddgZddgZd diZd d Zd d ZddZ ddZ ddZ ddZ ddZ ddZddZddZddZd d!Zd"d#Zd$d%Zd2d'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1S)3build_pyz5"build" pure Python modules (copy to build directory))z build-lib=dzdirectory to "build" (copy) to)compileczcompile .py to .pyc) no-compileNz!don't compile .py files [default])z optimize=Ozlalso compile with optimization: -O1 for "python -O", -O2 for "python -OO", and -O0 to disable [default: -O0])forcefz2forcibly build everything (ignore file timestamps)r r r cCs4d|_d|_d|_d|_d|_d|_d|_d|_dS)Nr) build_lib py_modulespackage package_data package_dirr optimizer selfr?/opt/alt/python38/lib64/python3.8/distutils/command/build_py.pyinitialize_options szbuild_py.initialize_optionsc Cs|ddd|jj|_|jj|_|jj|_i|_|jjr^|jjD]\}}t||j|<qF||_ t |j t szt |j |_ Wn t tfk rtdYnXdS)NZbuild)rr)r r zoptimize must be 0, 1, or 2)Zset_undefined_options distributionpackagesrrritemsrget_data_files data_files isinstancerint ValueErrorAssertionErrorZDistutilsOptionError)rnamepathrrrfinalize_options*s$      zbuild_py.finalize_optionscCs:|jr||jr$||||jdddSNr)include_bytecode)r build_modulesrbuild_packagesbuild_package_data byte_compile get_outputsrrrrrunCs z build_py.runcsg}|js|S|jD]h}||}tjj|jg|d}d|rPt|dfdd|||D}| ||||fq|S)N.rcsg|]}|dqSNr).0fileZplenrr ssz+build_py.get_data_files..) rget_package_dirosr$joinrsplitlenfind_data_filesappend)rdatarsrc_dir build_dir filenamesrr3rras     zbuild_py.get_data_filescsd|jdg|j|g}g|D]:}ttjt|t|}fdd|Dq$S)Ncs$g|]}|krtj|r|qSr)r6r$isfile)r1fnfilesrrr4s z,build_py.find_data_files..) rgetglobr6r$r7escaperextend)rrr=ZglobspatternZfilelistrrCrr:ys  zbuild_py.find_data_filescCs`d}|jD]P\}}}}|D]>}tj||}|tj||jtj|||ddqq dS)NFZ preserve_mode)rr6r$r7mkpathdirname copy_file)rZlastdirrr=r>r?filenametargetrrrr*szbuild_py.build_package_datacCs|d}|js&|r tjj|SdSng}|rz|jd|}Wn*tk rl|d|d|d=Yq*X|d|tjj|Sq*|jd}|dk r|d||rtjj|SdSdS)Nr.r@r)r8rr6r$r7KeyErrorinsertrE)rrr$tailZpdirrrrr5s(       zbuild_py.get_package_dircCsj|dkr8tj|s td|tj|s8td||rftj|d}tj|rZ|Std|dS)Nr@z%package directory '%s' does not existz>supposed package directory '%s' exists, but is not a directoryz __init__.pyz8package init file '%s' not found (or not a regular file)) r6r$existsZDistutilsFileErrorisdirr7rArwarn)rrrinit_pyrrr check_packages&   zbuild_py.check_packagecCs&tj|std||dSdSdS)Nz!file %s (for module %s) not foundFT)r6r$rArrV)rmodule module_filerrr check_modules zbuild_py.check_modulec Cs|||ttjt|d}g}tj|jj}|D]P}tj|}||krtj tj |d}| |||fq>| d|q>|S)Nz*.pyrz excluding %s) rXrFr6r$r7rGabspathrZ script_namesplitextbasenamer;Z debug_print) rrrZ module_filesmodulesZ setup_scriptrZabs_frYrrrfind_package_moduless  zbuild_py.find_package_modulesc Csi}g}|jD]}|d}d|dd}|d}z||\}}Wn"tk rh||}d}YnX|s|||} |df||<| r||d| ftj||d} | || sq|||| fq|S)Nr.rrPr/__init__.py) rr8r7rQr5rXr;r6r$r[) rrr_rYr$rZ module_basercheckedrWrZrrr find_moduless*       zbuild_py.find_modulescCsNg}|jr|||jrJ|jD]$}||}|||}||q$|Sr0)rrHrdrr5r`)rr_rrmrrrfind_all_moduless    zbuild_py.find_all_modulescCsdd|DS)NcSsg|] }|dqS)rPr)r1rYrrrr4-sz-build_py.get_source_files..)rfrrrrget_source_files,szbuild_py.get_source_filescCs$|gt||dg}tjj|S)Nrb)listr6r$r7)rr>rrYZ outfile_pathrrrget_module_outfile/szbuild_py.get_module_outfiler/cCs|}g}|D]p\}}}|d}||j||}|||r|jr^|tjj|dd|j dkr|tjj||j dq|dd|j D7}|S)Nr.r@) optimizationrcSs,g|]$\}}}}|D]}tj||qqSr)r6r$r7)r1rr=r>r?rNrrrr4Bs z(build_py.get_outputs..) rfr8rirr;r importlibutilcache_from_sourcerr)rr'r_ZoutputsrrYrZrNrrrr,3s*      zbuild_py.get_outputscCsbt|tr|d}nt|ttfs,td||j||}tj |}| ||j ||ddS)Nr.z:'package' must be a string (dot-separated), list, or tuplerrJ) rstrr8rhtuple TypeErrorrirr6r$rLrKrM)rrYrZrZoutfiledirrrr build_moduleJs    zbuild_py.build_modulecCs*|}|D]\}}}||||q dSr0)rdrr)rr_rrYrZrrrr(Yszbuild_py.build_modulescCsD|jD]8}||}|||}|D]\}}}||||q$qdSr0)rr5r`rr)rrrr_Zpackage_rYrZrrrr)bs   zbuild_py.build_packagescCstjr|ddSddlm}|j}|dtjkr>|tj}|jrZ||d|j ||j d|j dkr||||j |j ||j ddS)Nz%byte-compiling is disabled, skipping.r)r+rP)rr prefixdry_run) sysdont_write_bytecoderVdistutils.utilr+rr6sepr r rtr)rrDr+rsrrrr+vs&    zbuild_py.byte_compileN)r/)__name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsZ negative_optrr%r-rr:r*r5rXr[r`rdrfrgrir,rrr(r)r+rrrrrs8    '4  rc@seZdZddZddZdS) build_py_2to3cCsLg|_|jr||jr*||||j||jdddSr&) updated_filesrr(rr)r*Zrun_2to3r+r,rrrrr-s zbuild_py_2to3.runcCs,t||||}|dr(|j|d|S)Nr/r)rrrr}r;)rrYrZrresrrrrrszbuild_py_2to3.build_moduleN)ryrzr{r-rrrrrrr|sr|)r6importlib.utilrkrurFZdistutils.corerZdistutils.errorsrwrrZ distutilsrrr|rrrrs  }__pycache__/bdist_dumb.cpython-38.opt-1.pyc000064400000007027147577664100014506 0ustar00U ,a1@shdZddlZddlmZddlmZddlmZmZddl Tddl m Z ddl m Z Gd d d eZdS) zdistutils.command.bdist_dumb Implements the Distutils 'bdist_dumb' command (create a "dumb" built distribution -- i.e., just an archive to be unpacked under $prefix or $exec_prefix).N)Command) get_platform) remove_treeensure_relative)*)get_python_version)logc @s^eZdZdZddddefdddd d d d g Zd ddgZdddZddZddZ ddZ dS) bdist_dumbz"create a "dumb" built distribution)z bdist-dir=dz1temporary directory for creating the distributionz plat-name=pz;platform name to embed in generated filenames (default: %s))zformat=fz>archive format to create (tar, gztar, bztar, xztar, ztar, zip)) keep-tempkzPkeep the pseudo-installation tree around after creating the distribution archive)z dist-dir=r z-directory to put final built distributions in) skip-buildNz2skip rebuilding everything (for testing/debugging))relativeNz7build the archive using relative paths (default: false))zowner=uz@Owner name used when creating a tar file [default: current user])zgroup=gzAGroup name used when creating a tar file [default: current group]r rrZgztarzip)posixntcCs:d|_d|_d|_d|_d|_d|_d|_d|_d|_dS)Nr) bdist_dir plat_nameformat keep_tempdist_dir skip_buildrownergroup)selfrA/opt/alt/python38/lib64/python3.8/distutils/command/bdist_dumb.pyinitialize_options2szbdist_dumb.initialize_optionscCsz|jdkr&|dj}tj|d|_|jdkrfz|jtj|_Wn"t k rdt dtjYnX| dddddS)NZbdistZdumbz@don't know how to create dumb built distributions on platform %s)rr)rr)rr) rZget_finalized_command bdist_baseospathjoinrdefault_formatnameKeyErrorDistutilsPlatformErrorZset_undefined_options)rr"rrr finalize_options=s"    zbdist_dumb.finalize_optionscCs(|js|d|jddd}|j|_|j|_d|_td|j|dd|j |j f}t j |j|}|js~|j}nJ|jr|j|jkrtdt|jt|jfnt j |jt|j}|j||j||j|jd }|jrt}nd }|jjd ||f|js$t|j|jd dS) NZbuildinstall)Zreinit_subcommandsrzinstalling to %sz%s.%szScan't make a dumb built distribution where base and platbase are different (%s, %s))Zroot_dirrranyr )dry_run) rZ run_commandZreinitialize_commandrrootZwarn_dirrinfoZ distributionZ get_fullnamerr#r$r%rrZhas_ext_modulesZ install_baseZinstall_platbaser)reprrZ make_archiverrrrZ dist_filesappendrrr.)rr+Zarchive_basenameZpseudoinstall_rootZ archive_rootfilenameZ pyversionrrr runOsR        zbdist_dumb.runN) __name__ __module__ __qualname__Z descriptionrZ user_optionsZboolean_optionsr&r!r*r4rrrr r s,  r )__doc__r#Zdistutils.corerZdistutils.utilrZdistutils.dir_utilrrZdistutils.errorsZdistutils.sysconfigrZ distutilsrr rrrr s    __pycache__/build_scripts.cpython-38.opt-2.pyc000064400000007551147577664100015243 0ustar00U ,aX@sddlZddlZddlmZddlmZddlmZddlm Z ddl m Z m Z ddlm Z ddlZedZGd d d eZGd d d ee ZdS) N)ST_MODE) sysconfig)Command)newer) convert_path Mixin2to3)logs^#!.*python[0-9.]*([ ].*)?$c@sHeZdZdZdddgZdgZddZdd Zd d Zd d Z ddZ dS) build_scriptsz("build" scripts (copy and fixup #! line))z build-dir=dzdirectory to "build" (copy) to)forcefz1forcibly build everything (ignore file timestamps)z executable=ez*specify final destination interpreter pathr cCs"d|_d|_d|_d|_d|_dSN) build_dirscriptsr executableoutfilesselfrD/opt/alt/python38/lib64/python3.8/distutils/command/build_scripts.pyinitialize_optionss z build_scripts.initialize_optionscCs|dddd|jj|_dS)NZbuild)r r)r r )rr)Zset_undefined_optionsZ distributionrrrrrfinalize_options%s zbuild_scripts.finalize_optionscCs|jSr)rrrrrget_source_files,szbuild_scripts.get_source_filescCs|js dS|dSr)r copy_scriptsrrrrrun/szbuild_scripts.runc Cs||jg}g}|jD]}d}t|}tj|jtj|}|||j slt ||slt d|qzt |d}Wn tk r|jsd}YnXXt|j\}}|d|} | s|d|qt| } | rd}| dpd} |rt d ||j|||jstjs*|j} n(tjtd d td td f} t| } d| | d} z| dWn$tk rt d!| YnXz| |Wn&tk rt d!| |YnXt |d}|"| |#|$W5QRX|r8|%q|r"|%|||&||qtj'dkr|D]`}|jrdt d|nDt(|t)d@}|dBd@}||krJt d|||t*||qJ||fS)NFznot copying %s (up-to-date)rbrz%s is an empty file (skipping)Tzcopying and adjusting %s -> %sZBINDIRz python%s%sZVERSIONZEXEs#! zutf-8z.The shebang ({!r}) is not decodable from utf-8zAThe shebang ({!r}) is not decodable from the script encoding ({})wbposixzchanging mode of %siimz!changing mode of %s from %o to %o)+Zmkpathrrrospathjoinbasenameappendr rrdebugopenOSErrordry_runtokenizedetect_encodingreadlineseekwarn first_line_rematchgroupinforZ python_buildrZget_config_varfsencodedecodeUnicodeDecodeError ValueErrorformatwrite writelines readlinescloseZ copy_filenamestatrchmod)rr updated_filesZscriptZadjustZoutfiler encodinglinesZ first_liner1Z post_interprZshebangZoutffileZoldmodeZnewmoderrrr5s                   zbuild_scripts.copy_scriptsN) __name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsrrrrrrrrrr sr c@seZdZddZdS)build_scripts_2to3cCs&t|\}}|js||||fSr)r rr*Zrun_2to3)rrr@rrrrs zbuild_scripts_2to3.copy_scriptsN)rDrErFrrrrrrGsrG)r"rer>rZ distutilsrZdistutils.corerZdistutils.dep_utilrZdistutils.utilrrrr+compiler0r rGrrrrs       __pycache__/build.cpython-38.opt-1.pyc000064400000007470147577664100013473 0ustar00U ,a@sTdZddlZddlZddlmZddlmZddlmZddZ Gdd d eZ dS) zBdistutils.command.build Implements the Distutils 'build' command.N)Command)DistutilsOptionError) get_platformcCsddlm}|dS)Nrshow_compilers)Zdistutils.ccompilerrrrs    __pycache__/install_headers.cpython-38.opt-2.pyc000064400000003025147577664100015526 0ustar00U ,a@s ddlmZGdddeZdS))Commandc@sFeZdZdZddgZdgZddZddZd d Zd d Z d dZ dS)install_headerszinstall C/C++ header files)z install-dir=dz$directory to install header files to)forcefz-force installation (overwrite existing files)rcCsd|_d|_g|_dS)Nr) install_dirroutfilesselfr F/opt/alt/python38/lib64/python3.8/distutils/command/install_headers.pyinitialize_optionssz"install_headers.initialize_optionscCs|ddddS)NZinstall)rr)rr)Zset_undefined_optionsr r r r finalize_optionssz install_headers.finalize_optionscCsH|jj}|sdS||j|D]"}|||j\}}|j|q dSN) distributionheadersZmkpathrZ copy_filerappend)r rheaderout_r r r run!s zinstall_headers.runcCs |jjp gSr)rrr r r r get_inputs+szinstall_headers.get_inputscCs|jSr)rr r r r get_outputs.szinstall_headers.get_outputsN) __name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsr rrrrr r r r r s rN)Zdistutils.corerrr r r r s __pycache__/config.cpython-38.opt-1.pyc000064400000024002147577664100013627 0ustar00U ,a=3@sldZddlZddlZddlmZddlmZddlmZddl m Z ddd Z Gd d d eZ dd d Z dS)adistutils.command.config Implements the Distutils 'config' command, a (mostly) empty command class that exists mainly to be sub-classed by specific module distributions and applications. The idea is that while every "config" command is different, at least they're all named the same, and users always see "config" in the list of standard commands. Also, this is a good place to put common configure-like tasks: "try to compile this C code", or "figure out where this header file lives". N)Command)DistutilsExecError)customize_compiler)logz.cz.cxx)czc++c @seZdZdZdddddddd d g Zd d Zd dZddZddZddZ ddZ ddZ ddZ ddZ d0dd Zd1d!d"Zd2d#d$Zd3d%d&Zd4d'd(Zd5d*d+Zdddgfd,d-Zd6d.d/ZdS)7configzprepare to build)z compiler=Nzspecify the compiler type)zcc=Nzspecify the compiler executable)z include-dirs=Iz.list of directories to search for header files)zdefine=DzC preprocessor macros to define)zundef=Uz!C preprocessor macros to undefine)z libraries=lz!external C libraries to link with)z library-dirs=Lz.directories to search for external C libraries)noisyNz1show every action (compile, link, run, ...) taken)z dump-sourceNz=dump generated source files before attempting to compile themcCs4d|_d|_d|_d|_d|_d|_d|_g|_dS)N)compilerZcc include_dirs libraries library_dirsr dump_source temp_filesselfr=/opt/alt/python38/lib64/python3.8/distutils/command/config.pyinitialize_options3szconfig.initialize_optionscCs|jdkr|jjpg|_nt|jtr6|jtj|_|jdkrHg|_nt|jtr^|jg|_|jdkrpg|_nt|jtr|jtj|_dSN) rZ distribution isinstancestrsplitospathseprrrrrrfinalize_optionsBs       zconfig.finalize_optionscCsdSrrrrrrrunRsz config.runcCszddlm}m}t|j|sv||j|jdd|_t|j|jrN|j|j|j rb|j |j |j rv|j |j dS)z^Check that 'self.compiler' really is a CCompiler object; if not, make it one. r) CCompiler new_compilerr)rdry_runZforceN) distutils.ccompilerr"r#rrr$rrZset_include_dirsrZ set_librariesrZset_library_dirs)rr"r#rrr_check_compilerYs  zconfig._check_compilerc Csldt|}t|dL}|r>|D]}|d|q |d|||ddkr^|dW5QRX|S)NZ _configtestwz#include <%s>  )LANG_EXTopenwrite)rbodyheaderslangfilenamefileheaderrrr_gen_temp_sourcefileks     zconfig._gen_temp_sourcefilecCs<||||}d}|j||g|jj|||d||fS)Nz _configtest.ir)r3rextendrZ preprocess)rr-r.rr/srcoutrrr _preprocessws zconfig._preprocesscCs\||||}|jr"t|d||j|g\}|j||g|jj|g|d||fS)Nzcompiling '%s':r4)r3r dump_filerZobject_filenamesrr5compile)rr-r.rr/r6objrrr_compile~szconfig._compilec Csr|||||\}}tjtj|d} |jj|g| |||d|jjdk r\| |jj} |j | ||| fS)Nr)rrZ target_lang) r<rpathsplitextbasenamerZlink_executableZ exe_extensionrappend) rr-r.rrrr/r6r;progrrr_links    z config._linkc GsT|s|j}g|_tdd||D](}zt|Wq&tk rLYq&Xq&dS)Nz removing: %s )rrinfojoinrremoveOSError)r filenamesr0rrr_cleansz config._cleanNrcCsRddlm}|d}z|||||Wn|k rDd}YnX||S)aQConstruct a source file from 'body' (a string containing lines of C/C++ code) and 'headers' (a list of header files to include) and run it through the preprocessor. Return true if the preprocessor succeeded, false if there were any errors. ('body' probably isn't of much use, but what the heck.) r CompileErrorTF)r%rKr&r8rIrr-r.rr/rKokrrrtry_cpps  zconfig.try_cppc Csx||||||\}}t|tr0t|}t|.}d} |} | dkrPqb|| r>d} qbq>W5QRX| | S)aConstruct a source file (just like 'try_cpp()'), run it through the preprocessor, and return true if any line of the output matches 'pattern'. 'pattern' should either be a compiled regex object or a string containing a regex. If both 'body' and 'headers' are None, preprocesses an empty file -- which can be useful to determine the symbols the preprocessor and compiler set by default. FT) r&r8rrrer:r+readlinesearchrI) rpatternr-r.rr/r6r7r1matchlinerrr search_cpps     zconfig.search_cppcCsdddlm}|z|||||d}Wn|k rDd}YnXt|rRdpTd||S)zwTry to compile a source file built from 'body' and 'headers'. Return true on success, false otherwise. rrJTFsuccess!failure.)r%rKr&r<rrDrIrLrrr try_compiles  zconfig.try_compilec Cspddlm}m}|z|||||||d} Wn||fk rPd} YnXt| r^dp`d|| S)zTry to compile and link a source file, built from 'body' and 'headers', to executable form. Return true on success, false otherwise. rrK LinkErrorTFrWrX)r%rKr[r&rBrrDrI) rr-r.rrrr/rKr[rMrrrtry_links  zconfig.try_linkc Csddlm}m}|z.|||||||\} } } || gd} Wn||tfk rdd} YnXt| rrdptd| | S)zTry to compile, link to an executable, and run a program built from 'body' and 'headers'. Return true on success, false otherwise. rrZTFrWrX) r%rKr[r&rBZspawnrrrDrI) rr-r.rrrr/rKr[r6r;ZexerMrrrtry_runs    zconfig.try_runrc Cst|g}|r|d||d|r<|d|n|d||dd|d}||||||S)aDetermine if function 'func' is available by constructing a source file that refers to 'func', and compiles and links it. If everything succeeds, returns true; otherwise returns false. The constructed source file starts out by including the header files listed in 'headers'. If 'decl' is true, it then declares 'func' (as "int func()"); you probably shouldn't supply 'headers' and set 'decl' true in the same call, or you might get errors about a conflicting declarations for 'func'. Finally, the constructed 'main()' function either references 'func' or (if 'call' is true) calls it. 'libraries' and 'library_dirs' are used when linking. z int %s ();z int main () {z %s();z %s;}r()r&r@rEr\) rfuncr.rrrZdeclZcallr-rrr check_funcs   zconfig.check_funccCs ||d|||g||S)aDetermine if 'library' is available to be linked against, without actually checking that any particular symbols are provided by it. 'headers' will be used in constructing the source file to be compiled, but the only effect of this is to check if all the header files listed are available. Any libraries listed in 'other_libraries' will be included in the link, in case 'library' has symbols that depend on other libraries. zint main (void) { })r&r\)rZlibraryrr.rZother_librariesrrr check_lib4s  zconfig.check_libcCs|jd|g|dS)zDetermine if the system header file named by 'header_file' exists and can be found by the preprocessor; return true if so, false otherwise. z /* No body */)r-r.r)rN)rr2rrr/rrr check_headerBs zconfig.check_header)NNNr)NNNr)NNr)NNNNr)NNNNr)NNNNrr)NNr)__name__ __module__ __qualname__Z descriptionZ user_optionsrr r!r&r3r8r<rBrIrNrVrYr\r]r`rarbrrrrrs\         rcCsJ|dkrtd|n t|t|}zt|W5|XdS)zjDumps a file content into log.info. If head is not None, will be dumped before the file content. Nz%s)rrDr+closeread)r0headr1rrrr9Ks r9)N)__doc__rrPZdistutils.corerZdistutils.errorsrZdistutils.sysconfigrZ distutilsrr*rr9rrrrs      8__pycache__/install_scripts.cpython-38.pyc000064400000004154147577664100014646 0ustar00U ,a@sDdZddlZddlmZddlmZddlmZGdddeZdS)zudistutils.command.install_scripts Implements the Distutils 'install_scripts' command, for installing Python scripts.N)Command)log)ST_MODEc@sLeZdZdZddddgZddgZdd Zd d Zd d ZddZ ddZ dS)install_scriptsz%install scripts (Python or otherwise))z install-dir=dzdirectory to install scripts to)z build-dir=bz'build directory (where to install from))forcefz-force installation (overwrite existing files)) skip-buildNzskip the build stepsrr cCsd|_d|_d|_d|_dS)Nr) install_dirr build_dir skip_buildselfrF/opt/alt/python38/lib64/python3.8/distutils/command/install_scripts.pyinitialize_optionssz"install_scripts.initialize_optionscCs |dd|dddddS)NZbuild) build_scriptsr Zinstall)rr )rr)r r )Zset_undefined_optionsrrrrfinalize_options!s  z install_scripts.finalize_optionscCs|js|d||j|j|_tjdkr~|D]H}|j rLt d|q4t |t dBd@}t d||t||q4dS)Nrposixzchanging mode of %simizchanging mode of %s to %o)r Z run_commandZ copy_treer r outfilesosname get_outputsZdry_runrinfostatrchmod)rfilemoderrrrun)s   zinstall_scripts.runcCs |jjp gSN)Z distributionZscriptsrrrr get_inputs8szinstall_scripts.get_inputscCs |jpgSr )rrrrrr;szinstall_scripts.get_outputsN) __name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsrrrr!rrrrrrsr) __doc__rZdistutils.corerZ distutilsrrrrrrrrs    __pycache__/upload.cpython-38.opt-2.pyc000064400000011334147577664100013653 0ustar00U ,aY@sddlZddlZddlZddlZddlmZddlmZmZm Z ddl m Z ddl m Z mZddlmZddlmZddlmZGd d d eZdS) N)standard_b64encode)urlopenRequest HTTPError)urlparse)DistutilsErrorDistutilsOptionError) PyPIRCCommand)spawn)logc@sJeZdZdZejddgZejdgZddZddZd d Z d d Z d S)uploadzupload binary package to PyPI)signszsign files to upload using gpg)z identity=izGPG identity used to sign filesr cCs,t|d|_d|_d|_d|_d|_dS)NrF)r initialize_optionsusernamepassword show_responser identity)selfr=/opt/alt/python38/lib64/python3.8/distutils/command/upload.pyr s  zupload.initialize_optionscCsrt||jr|jstd|}|ikrV|d|_|d|_|d|_|d|_ |jsn|j jrn|j j|_dS)Nz.Must use --sign for --identity to have meaningrr repositoryrealm) r finalize_optionsrr rZ _read_pypircrrrr distribution)rZconfigrrrr(s      zupload.finalize_optionscCs:|jjsd}t||jjD]\}}}||||qdS)NzHMust create and upload files in one command (e.g. setup.py sdist upload))rZ dist_filesr upload_file)rmsgcommand pyversionfilenamerrrrun:s z upload.runc Cst|j\}}}}}} |s"|s"| r0td|j|dkrDtd||jr|ddd|g} |jrnd|jg| dd<t| |jd t|d } z | } W5| X|j j } d d | | tj|| f||t| d | | | | | | | | | | | | | d}d|d<|jrpt|dd "} tj|d| f|d<W5QRX|j!d|j"#d}dt$|%d}d}d|#d}|d}t&'}|(D]\}}d|}t)|t*s|g}|D]j}t+|t,kr|d|d7}|d}nt-|#d}|.||.|#d|.d|.|qq|.||/}d||jf}|0|t1j2d |t-t3||d!}t4|j||d"}zt5|}|6}|j7}Wnft8k r}z|j9}|j7}W5d}~XYn8t:k r.}z|0t-|t1j;W5d}~XYnX|d#kr|0d$||ft1j2|j<r|=|}d%>d&|d&f}|0|t1j2n"d'||f}|0|t1j;t?|dS)(NzIncompatible url %s)ZhttpZhttpszunsupported schema Zgpgz --detach-signz-az --local-user)dry_runrbZ file_upload1z1.0)z:actionZprotocol_versionnameversioncontentZfiletyper Z md5_digestZmetadata_versionZsummaryZ home_pageZauthorZ author_emaillicense descriptionkeywordsplatformZ classifiersZ download_urlZprovidesZrequiresZ obsoletesrZcommentz.ascZ gpg_signature:asciizBasic z3--------------GHSKFJDLGDS7543FJKLFHRE75642756743254s --s-- z+ Content-Disposition: form-data; name="%s"z; filename="%s"rzutf-8s zSubmitting %s to %sz multipart/form-data; boundary=%s)z Content-typezContent-lengthZ Authorization)dataheaderszServer response (%s): %s zK---------------------------------------------------------------------------zUpload failed (%s): %s)@rrAssertionErrorr rr r$openclosereadrZmetadataZget_nameZ get_versionospathbasenamehashlibZmd5Z hexdigestZget_descriptionZget_urlZ get_contactZget_contact_emailZ get_licenceZget_long_descriptionZ get_keywordsZ get_platformsZget_classifiersZget_download_urlZ get_providesZ get_requiresZ get_obsoletesrrencoderdecodeioBytesIOitems isinstancelisttypetuplestrwritegetvalueZannouncer INFOlenrrZgetcoderrcodeOSErrorZERRORrZ_read_pypi_responsejoinr) rrr r!ZschemaZnetlocZurlZparamsZqueryZ fragmentsZgpg_argsfr)metar1Z user_passZauthboundaryZ sep_boundaryZ end_boundaryZbodykeyvaluetitlerr2ZrequestresultZstatusreasonetextrrrrBs       !          zupload.upload_fileN) __name__ __module__ __qualname__r+r Z user_optionsZboolean_optionsrrr"rrrrrr s r )r9r?r-r<base64rZurllib.requestrrrZ urllib.parserZdistutils.errorsrrZdistutils.corer Zdistutils.spawnr Z distutilsr r rrrrs     __pycache__/build_clib.cpython-38.pyc000064400000011335147577664100013520 0ustar00U ,aV@sTdZddlZddlmZddlTddlmZddlmZddZ Gd d d eZ dS) zdistutils.command.build_clib Implements the Distutils 'build_clib' command, to build a C/C++ library that is included in the module distribution and needed by an extension module.N)Command)*)customize_compiler)logcCsddlm}|dS)Nrshow_compilers)distutils.ccompilerrrr A/opt/alt/python38/lib64/python3.8/distutils/command/build_clib.pyrs rc@sleZdZdZdddddgZddgZd d d efgZd d ZddZ ddZ ddZ ddZ ddZ ddZd S) build_clibz/build C/C++ libraries used by Python extensions)z build-clib=bz%directory to build C/C++ libraries to)z build-temp=tz,directory to put temporary build by-products)debuggz"compile with debugging information)forcefz2forcibly build everything (ignore file timestamps))z compiler=czspecify the compiler typerrz help-compilerNzlist available compilerscCs:d|_d|_d|_d|_d|_d|_d|_d|_d|_dS)Nr) r build_temp libraries include_dirsdefineundefrrcompilerselfr r r initialize_options4szbuild_clib.initialize_optionscCsh|dddddd|jj|_|jr0||j|jdkrH|jjpDg|_t|jtrd|jtj |_dS)NZbuild)rr )rr)rr)rr)rr) Zset_undefined_optionsZ distributionrcheck_library_listr isinstancestrsplitospathseprr r r finalize_optionsDs    zbuild_clib.finalize_optionscCs|js dSddlm}||j|j|jd|_t|j|jdk rN|j|j|j dk rv|j D]\}}|j ||q^|j dk r|j D]}|j |q| |jdS)Nr) new_compiler)rdry_runr)rrr#rr$rrrZset_include_dirsrZ define_macrorZundefine_macrobuild_libraries)rr#namevalueZmacror r r run^s"      zbuild_clib.runcCst|tstd|D]z}t|ts8t|dkr8td|\}}t|tsRtdd|ksntjdkr~tj|kr~td|dt|tstdqd S) a`Ensure that the list of libraries is valid. `library` is presumably provided as a command option 'libraries'. This method checks that it is a list of 2-tuples, where the tuples are (library_name, build_info_dict). Raise DistutilsSetupError if the structure is invalid anywhere; just returns otherwise. z+'libraries' option must be a list of tuplesz*each element of 'libraries' must a 2-tuplezNfirst element of each tuple in 'libraries' must be a string (the library name)/z;bad library name '%s': may not contain directory separatorsrzMsecond element of each tuple in 'libraries' must be a dictionary (build info)N) rlistDistutilsSetupErrortuplelenrr sepdict)rrlibr& build_infor r r rvs,   zbuild_clib.check_library_listcCs,|js dSg}|jD]\}}||q|S)N)rappend)rZ lib_nameslib_namer2r r r get_library_namess  zbuild_clib.get_library_namescCsZ||jg}|jD]>\}}|d}|dks>t|ttfsJtd|||q|S)Nsourcesfin 'libraries' option (library '%s'), 'sources' must be present and must be a list of source filenames)rrgetrr+r-r,extend)r filenamesr4r2r6r r r get_source_filess   zbuild_clib.get_source_filescCs|D]\}}|d}|dks,t|ttfs8td|t|}td||d}|d}|jj||j |||j d}|jj |||j |j dqdS)Nr6r7zbuilding '%s' librarymacrosr) output_dirr<rr)r=r) r8rr+r-r,rinforcompilerrZcreate_static_libr )rrr4r2r6r<rZobjectsr r r r%s,      zbuild_clib.build_libraries)__name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsrZ help_optionsrr"r(rr5r;r%r r r r r s( $ r ) __doc__r Zdistutils.corerZdistutils.errorsZdistutils.sysconfigrZ distutilsrrr r r r r s   __pycache__/build_ext.cpython-38.opt-2.pyc000064400000033563147577664100014356 0ustar00U ,aP{@sddlZddlZddlZddlZddlmZddlTddlmZm Z ddlm Z ddl m Z ddl mZddlmZdd lmZdd lmZed Zd d ZGdddeZdS)N)Command)*)customize_compilerget_python_version)get_config_h_filename) newer_group) Extension) get_platform)log) USER_BASEz3^[a-zA-Z_][a-zA-Z_0-9]*(\.[a-zA-Z_][a-zA-Z_0-9]*)*$cCsddlm}|dS)Nrshow_compilers)distutils.ccompilerr r r@/opt/alt/python38/lib64/python3.8/distutils/command/build_ext.pyr s r c@seZdZdZdejZdddddefdd d d efd d ddddefddddddddddgZddddd gZ d!d"d#e fgZ d$d%Z d&d'Z d(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Zd4d5Zejd6d7Zd8d9Zd:d;Zdd?Zd@dAZdBdCZdDdEZdFdGZd"S)H build_extz8build C/C++ extensions (compile/link to build directory)z (separated by '%s'))z build-lib=bz(directory for compiled extension modules)z build-temp=tz1directory for temporary files (build by-products)z plat-name=pz>platform name to cross-compile for, if supported (default: %s))inplaceiziignore build-lib and put compiled extensions into the source directory alongside your pure Python modulesz include-dirs=Iz.list of directories to search for header files)zdefine=DzC preprocessor macros to define)zundef=Uz!C preprocessor macros to undefine)z libraries=lz!external C libraries to link withz library-dirs=Lz.directories to search for external C libraries)zrpath=Rz7directories to search for shared C libraries at runtime)z link-objects=Oz2extra explicit link objects to include in the link)debuggz'compile/link with debugging information)forcefz2forcibly build everything (ignore file timestamps))z compiler=czspecify the compiler type)z parallel=jznumber of parallel build jobs)swig-cppNz)make SWIG create C++ files (default is C))z swig-opts=Nz!list of SWIG command line options)zswig=Nzpath to the SWIG executable)userNz#add user include, library and rpathrrr r$r%z help-compilerNzlist available compilerscCsd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ d|_ d|_ d|_d|_d|_d|_d|_d|_d|_dS)Nr) extensions build_lib plat_name build_temprpackage include_dirsdefineundef libraries library_dirsrpath link_objectsrr compilerswigswig_cpp swig_optsr%parallelselfrrrinitialize_optionsjs*zbuild_ext.initialize_optionsc Csddlm}|ddddddd d |jdkr8|jj|_|jj|_|}|jd d }|j dkrn|jj pjg|_ t |j t r|j t j|_ tjtjkr|j t jtjd |j | t jj||kr|j | t jj|d|d|jdkrg|_|jdkrg|_nt |jt r:|j t j|_|jdkrNg|_nt |jt rl|j t j|_t jdkrh|jt jtjdtjtjkr|jt jtjd|jrt j|jd|_nt j|jd|_|j t jtt tdd}|r|j||j!dkr*d}n|j!dd}t jtjd}|r\t j||}|j|tj"dddkrtj#$t jtjdr|jt jtjddt%dn |jd|&dr|j's|j|&d n |jd|j(r|j( d!}d"d#|D|_(|j)r4|j) d!|_)|j*dkrHg|_*n|j* d$|_*|j+rt jt,d }t jt,d} t j-|r|j |t j-| r|j| |j| t |j.t rzt/|j.|_.Wnt0k rt1d%YnXdS)&Nr) sysconfigZbuild)r'r')r)r))r2r2)rr)r r )r6r6)r(r()Z plat_specificZincluder.r1ntZlibsZDebugZRelease_homewin32ZPCbuildcygwinbinlibpythonZconfig.Py_ENABLE_SHAREDZLIBDIR,cSsg|] }|dfqS)1r).0Zsymbolrrr sz.build_ext.finalize_options.. zparallel should be an integer)2 distutilsr:Zset_undefined_optionsr* distributionZ ext_packageZ ext_modulesr&Zget_python_incr+ isinstancestrsplitospathsepsys exec_prefixbase_exec_prefixappendpathjoinextendZensure_string_listr.r/r0nameprefixrr)dirnamergetattrr(platform executable startswithrget_config_varZ python_buildr,r-r5r%r isdirr6int ValueErrorZDistutilsOptionError) r8r:Z py_includeZplat_py_includeZ _sys_homesuffixZnew_libZdefinesZ user_includeZuser_librrrfinalize_optionss                           zbuild_ext.finalize_optionscCsjddlm}|jsdS|jrL|d}|j|p:g|j |j ||j |j |j|jd|_ t|j tjdkr|jtkr|j |j|jdk r|j |j|jdk r|jD]\}}|j ||q|jdk r|jD]}|j |q|jdk r|j |j|j dk r*|j |j |jdk rD|j |j|j dk r^|j !|j |"dS)Nr) new_compiler build_clib)r2verbosedry_runr r<)#rrgr&rMZhas_c_librariesget_finalized_commandr.rYZget_library_namesr/rVrhr2rirjr rrQrZr(r Z initializer+Zset_include_dirsr,Z define_macror-Zundefine_macroZ set_librariesZset_library_dirsr0Zset_runtime_library_dirsr1Zset_link_objectsbuild_extensions)r8rgrhrZvaluemacrorrrruns@            z build_ext.runc Csvt|tstdt|D]T\}}t|tr0qt|trFt|dkrNtd|\}}td|t|t rvt |s~tdt|t stdt||d}dD]"}| |}|dk rt|||q| d |_d |krtd | d }|rhg|_g|_|D]b} t| tr"t| d ks*tdt| dkrJ|j| dnt| dkr|j| q|||<qdS)Nz:'ext_modules' option must be a list of Extension instanceszMeach element of 'ext_modules' option must be an Extension instance or 2-tuplezvold-style (ext_name, build_info) tuple found in ext_modules for extension '%s' -- please convert to Extension instancezRfirst element of each tuple in 'ext_modules' must be the extension name (a string)zOsecond element of each tuple in 'ext_modules' must be a dictionary (build info)sources)r+r/r. extra_objectsextra_compile_argsextra_link_argsr0Zdef_filez9'def_file' element of build info dict no longer supportedmacros)r;rpz9'macros' element of build info dict must be 1- or 2-tupler;r)rNlistDistutilsSetupError enumeratertuplelenr warnrOextension_name_rematchdictgetsetattrruntime_library_dirs define_macros undef_macrosrV) r8r&rextext_nameZ build_infokeyvalrurnrrrcheck_extensions_listVs^        zbuild_ext.check_extensions_listcCs,||jg}|jD]}||jq|SN)rr&rYrq)r8 filenamesrrrrget_source_filess   zbuild_ext.get_source_filescCs2||jg}|jD]}|||jq|Sr)rr&rVget_ext_fullpathrZ)r8Zoutputsrrrr get_outputss   zbuild_ext.get_outputscCs(||j|jr|n|dSr)rr&r6_build_extensions_parallel_build_extensions_serialr7rrrrls  zbuild_ext.build_extensionsc sj}jdkrt}zddlm}Wntk r@d}YnX|dkrVdS||dPfddjD}tj|D]&\}} || W5QRXqW5QRXdS)NTr)ThreadPoolExecutor)Z max_workerscsg|]}j|qSr)Zsubmitbuild_extension)rIrZexecutorr8rrrJsz8build_ext._build_extensions_parallel..) r6rQ cpu_countZconcurrent.futuresr ImportErrorrr&zip_filter_build_errorsresult)r8ZworkersrZfuturesrZfutrrrrs"     z$build_ext._build_extensions_parallelc Cs0|jD]$}||||W5QRXqdSr)r&rr)r8rrrrrs  z"build_ext._build_extensions_serialc csTz dVWnDtttfk rN}z |js*|d|j|fW5d}~XYnXdS)Nz"building extension "%s" failed: %s)ZCCompilerErrorZDistutilsErrorZ CompileErrorZoptionalr{rZ)r8rerrrrs zbuild_ext._filter_build_errorsc CsP|j}|dkst|ttfs*td|jt|}||j}||j}|jslt ||dslt d|jdSt d|j| ||}|jpg}|jdd}|jD]}||fq|jj||j||j|j ||jd}|dd|_|jr||j|jpg}|jp|j|} |jj|||||j|j|| ||j |j| d dS)Nzjin 'ext_modules' option (extension '%s'), 'sources' must be present and must be a list of source filenamesZnewerz$skipping '%s' extension (up-to-date)zbuilding '%s' extension)Z output_dirrur+rextra_postargsdepends)r.r/rrexport_symbolsrr)Z target_lang)!rqrNrvryrwrZrrr rr rinfo swig_sourcesrsrrrVr2compiler)r+Z_built_objectsrrrYrtlanguageZdetect_languageZlink_shared_object get_librariesr/rget_export_symbols) r8rrqext_pathrZ extra_argsrur-ZobjectsrrrrrsX        zbuild_ext.build_extensioncCs$g}g}i}|jrtd|js6d|jks6d|jkrI don't know how to find (much less run) SWIG on platform '%s')rQrZrWrXisfileZDistutilsPlatformError)r8Zversfnrrrrgs    zbuild_ext.find_swigcCs||}|d}||d}|jsRtjj|dd|g}tj|j|Sd|dd}|d}tj | |}tj||S)NrErrbuild_py) get_ext_fullnamerPget_ext_filenamerrQrWrXr'rkabspathZget_package_dir)r8rfullnamemodpathfilenamer*rZ package_dirrrrrs   zbuild_ext.get_ext_fullpathcCs |jdkr|S|jd|SdS)NrE)r*)r8rrrrrs zbuild_ext.get_ext_fullnamecCs.ddlm}|d}|d}tjj||S)NrrarEZ EXT_SUFFIX)distutils.sysconfigrarPrQrWrX)r8rrarZ ext_suffixrrrrs  zbuild_ext.get_ext_filenamecCsxd|jdd}z|dWn0tk rRd|dddd}YnXd |}||jkrr|j||jS) N_rErasciirZpunycode-_ZPyInit)rZrPencodeUnicodeEncodeErrorreplacedecoderrV)r8rreZ initfunc_namerrrrs"  zbuild_ext.get_export_symbolscCstjdkr^ddlm}t|j|sd}|jr4|d}|tjd?tjd?d@f}|j|gSndd l m }d }|d rt td rd }nr) MSVCCompilerz python%d%dZ_drFrFZgetandroidapilevelTrAZ_PYTHON_HOST_PLATFORMZANDROID_API_LEVELZMACHDEPZ LDVERSIONrD)rSr^Zdistutils._msvccompilerrrNr2r hexversionr.rrahasattrrQenviron)r8rrtemplateZ pythonlibraZlink_libpythonZ ldversionrrrrs4         zbuild_ext.get_libraries) __name__ __module__ __qualname__Z descriptionrQrRZsep_byr Z user_optionsZboolean_optionsr Z help_optionsr9rfrorrrrlrr contextlibcontextmanagerrrrrrrrrrrrrrr!sp +@N  K6  r)rrQrerSZdistutils.corerZdistutils.errorsrrrrZdistutils.dep_utilrZdistutils.extensionrZdistutils.utilr rLr Zsiter rr|r rrrrrs"       __pycache__/bdist_wininst.cpython-38.opt-1.pyc000064400000020366147577664100015253 0ustar00U ,a>@sxdZddlZddlZddlZddlmZddlmZddlm Z m Z ddl Tddl m Z ddlmZGd d d eZdS) zzdistutils.command.bdist_wininst Implements the Distutils 'bdist_wininst' command: create a windows installer exe-program.N)Command) get_platform) create_tree remove_tree)*)get_python_version)logc seZdZdZddddefdddd d d d d dddg ZddddgZejdkZ fddZ ddZ ddZ ddZ ddZd'd!d"Zd#d$Zd%d&ZZS)( bdist_wininstz-create an executable installer for MS Windows)z bdist-dir=Nz1temporary directory for creating the distributionz plat-name=pz;platform name to embed in generated filenames (default: %s)) keep-tempkzPkeep the pseudo-installation tree around after creating the distribution archive)ztarget-version=Nz6require a specific python version on the target system)no-target-compilecz/do not compile .py to .pyc on the target system)no-target-optimizeoz;do not compile .py to .pyo (optimized) on the target system)z dist-dir=dz-directory to put final built distributions in)zbitmap=bz>bitmap to use for the installer instead of python-powered logo)ztitle=tz?title to display on the installer background instead of default) skip-buildNz2skip rebuilding everything (for testing/debugging))zinstall-script=NzUbasename of installation script to be run after installation or before deinstallation)zpre-install-script=Nz{Fully qualified filename of a script to be run before any files are installed. This script need not be in the distribution)zuser-access-control=Nzspecify Vista's UAC handling - 'none'/default=no handling, 'auto'=use UAC if target Python installed for all users, 'force'=always use UACr r rrwin32cs tj||tdtddS)Nz^bdist_wininst command is deprecated since Python 3.8, use bdist_wheel (wheel packages) instead)super__init__warningswarnDeprecationWarning)selfargskw __class__D/opt/alt/python38/lib64/python3.8/distutils/command/bdist_wininst.pyr?s zbdist_wininst.__init__cCsRd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ d|_ dS)Nr) bdist_dir plat_name keep_tempno_target_compileno_target_optimizetarget_versiondist_dirbitmaptitle skip_buildinstall_scriptpre_install_scriptuser_access_control)rr!r!r"initialize_optionsEsz bdist_wininst.initialize_optionscCs|dd|jdkrR|jr6|jr6|jd}|j|_|dj}tj |d|_|j s^d|_ |js|j rt }|j r|j |krtd|f||_ |ddd|jr|jjD]}|jtj |krqqtd|jdS) Nbdist)r,r,ZwininstzMtarget version can only be %s, or the '--skip-build' option must be specified)r)r))r$r$z(install_script '%s' not found in scripts)Zset_undefined_optionsr#r,r$ distributionZget_command_objget_finalized_command bdist_baseospathjoinr(has_ext_modulesrZDistutilsOptionErrorr-scriptsbasename)rr1r5Z short_versionscriptr!r!r"finalize_optionsUs>      zbdist_wininst.finalize_optionsc Cstjdkr&|js|jr&td|js6|d|jddd}|j |_ |j|_d|_ |j |_ |d}d|_ d|_|jr|j}|sd tjdd }d |j |f}|d}tj|jd ||_d D],}|}|dkr|d}t|d||qtd|j |tjdtj|j d|tjd=ddlm}|} |j } |j!| d|j d} |"| | |j#|jrt$} nd} |jj%&d| |'| ft(d| t)| |j*st+|j |j,ddS)Nrz^distribution contains extensions and/or C libraries; must be compiled on a Windows 32 platformbuildinstall)Zreinit_subcommandsr install_libz%d.%drz.%s-%slib)ZpurelibZplatlibheadersr:datarCz/Include/$dist_nameZinstall_zinstalling to %sZPURELIB)mktempzip)Zroot_diranyr zremoving temporary file '%s')dry_run)-sysplatformr3r9Zhas_c_librariesZDistutilsPlatformErrorr,Z run_commandZreinitialize_commandr#rootZwarn_dirr$compileoptimizer( version_infor4r6r7r8Z build_baseZ build_libuppersetattrrinfoZensure_finalizedinsertrunZtempfilerE get_fullnameZ make_archive create_exer*rZ dist_filesappendget_installer_filenamedebugremover%rrH) rr?rAr(Zplat_specifierr>keyvaluerEZarchive_basenamefullnamearcnameZ pyversionr!r!r"rS{sr            zbdist_wininst.runc CsZg}|jj}|d|jpdd}dd}dD]B}t||d}|r0|d|||f}|d|||fq0|d |jr|d |j|d |||d |j |d |j |j r|d|j |j r|d|j |j p|j }|d||ddl }ddl} d|| | jf} |d| d|S)Nz [metadata]r2 cSs |ddS)Nr^z\n)replace)sr!r!r"escapesz)bdist_wininst.get_inidata..escape)ZauthorZ author_email descriptionZ maintainerZmaintainer_emailnameZurlversionz %s: %sz%s=%sz [Setup]zinstall_script=%szinfo=%sztarget_compile=%dztarget_optimize=%dztarget_version=%szuser_access_control=%sztitle=%srzBuilt %s with distutils-%sz build_info=%s)r3metadatarVZlong_descriptiongetattr capitalizer-r&r'r(r/r+rTtime distutilsctime __version__r8) rlinesrerQrarcrDr+rhriZ build_infor!r!r" get_inidatas>   zbdist_wininst.get_inidataNc CsHddl}||j|}||}|d||r`t|d}|}W5QRXt|} nd} t|d} | | |r| |t |t r| d}|d}|jrt|jddd } |  d} W5QRX|| d }n|d}| ||d d t|| } | | t|d}| |W5QRXW5QRXdS) Nrz creating %srbwbmbcsrzlatin-1)encodings zs8          zbdist_wininst.get_exe_bytes)N)__name__ __module__ __qualname__rbrZ user_optionsZboolean_optionsrIrJZ _unsupportedrr0r=rSrmrUrWry __classcell__r!r!rr"r s>%  &Q. 7 r )__doc__r6rIrZdistutils.corerZdistutils.utilrZdistutils.dir_utilrrZdistutils.errorsZdistutils.sysconfigrrirr r!r!r!r"s    __pycache__/install_data.cpython-38.opt-2.pyc000064400000004157147577664100015033 0ustar00U ,a @s8ddlZddlmZddlmZmZGdddeZdS)N)Command) change_root convert_pathc@sHeZdZdZdddgZdgZddZdd Zd d Zd d Z ddZ dS) install_datazinstall data files)z install-dir=dzIbase directory for installing data files (default: installation base dir))zroot=Nzs __pycache__/clean.cpython-38.pyc000064400000004103147577664100012505 0ustar00U ,a @sDdZddlZddlmZddlmZddlmZGdddeZdS)zBdistutils.command.clean Implements the Distutils 'clean' command.N)Command) remove_tree)logc@s>eZdZdZddddddgZdgZd d Zd d Zd dZdS)cleanz-clean up temporary files from 'build' command)z build-base=bz2base build directory (default: 'build.build-base'))z build-lib=Nzs    __pycache__/install_headers.cpython-38.opt-1.pyc000064400000003273147577664100015532 0ustar00U ,a@s$dZddlmZGdddeZdS)zdistutils.command.install_headers Implements the Distutils 'install_headers' command, to install C/C++ header files to the Python include directory.)Commandc@sFeZdZdZddgZdgZddZddZd d Zd d Z d dZ dS)install_headerszinstall C/C++ header files)z install-dir=dz$directory to install header files to)forcefz-force installation (overwrite existing files)rcCsd|_d|_g|_dS)Nr) install_dirroutfilesselfr F/opt/alt/python38/lib64/python3.8/distutils/command/install_headers.pyinitialize_optionssz"install_headers.initialize_optionscCs|ddddS)NZinstall)rr)rr)Zset_undefined_optionsr r r r finalize_optionssz install_headers.finalize_optionscCsH|jj}|sdS||j|D]"}|||j\}}|j|q dSN) distributionheadersZmkpathrZ copy_filerappend)r rheaderout_r r r run!s zinstall_headers.runcCs |jjp gSr)rrr r r r get_inputs+szinstall_headers.get_inputscCs|jSr)rr r r r get_outputs.szinstall_headers.get_outputsN) __name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsr rrrrr r r r r s rN)__doc__Zdistutils.corerrr r r r s __pycache__/install_egg_info.cpython-38.opt-1.pyc000064400000005703147577664100015674 0ustar00U ,a+ @sddZddlmZddlmZmZddlZddlZddlZGdddeZ ddZ d d Z d d Z dS) zdistutils.command.install_egg_info Implements the Distutils 'install_egg_info' command, for installing a package's PKG-INFO metadata.)Command)logdir_utilNc@s:eZdZdZdZdgZddZddZdd Zd d Z d S) install_egg_infoz)Install an .egg-info file for the packagez8Install package's PKG-INFO metadata as an .egg-info file)z install-dir=dzdirectory to install tocCs d|_dSN) install_dirselfr G/opt/alt/python38/lib64/python3.8/distutils/command/install_egg_info.pyinitialize_optionssz#install_egg_info.initialize_optionscCsb|dddtt|jtt|jftjdd}t j |j ||_ |j g|_dS)NZ install_lib)rrz%s-%s-py%d.%d.egg-info)Zset_undefined_options to_filename safe_name distributionZget_name safe_versionZ get_versionsys version_infoospathjoinrtargetoutputs)r basenamer r r finalize_optionss  z!install_egg_info.finalize_optionsc Cs|j}tj|r0tj|s0tj||jdnNtj|rV| tj |jfd|n(tj|j s~| tj |j fd|j t d||jst|ddd}|jj|W5QRXdS)N)dry_runz Removing z Creating z Writing %swzUTF-8)encoding)rrrisdirislinkrZ remove_treerexistsZexecuteunlinkrmakedirsrinfoopenrZmetadataZwrite_pkg_file)r rfr r r run s  zinstall_egg_info.runcCs|jSr)rr r r r get_outputs.szinstall_egg_info.get_outputsN) __name__ __module__ __qualname____doc__Z descriptionZ user_optionsr rr'r(r r r r r s rcCstdd|S)zConvert an arbitrary string to a standard distribution name Any runs of non-alphanumeric/. characters are replaced with a single '-'. [^A-Za-z0-9.]+-)resubnamer r r r6srcCs|dd}tdd|S)zConvert an arbitrary string to a standard version string Spaces become dots, and all other non-alphanumeric characters become dashes, with runs of multiple dashes condensed to a single dash.  .r-r.)replacer/r0)versionr r r r>s rcCs |ddS)z|Convert a project or version name to its filename-escaped form Any '-' characters are currently replaced with '_'. r._)r5r1r r r rHsr) r,Z distutils.cmdrZ distutilsrrrrr/rrrrr r r r s + __pycache__/install_lib.cpython-38.pyc000064400000012010147577664100013713 0ustar00U ,a @sLdZddlZddlZddlZddlmZddlmZdZ GdddeZ dS)zkdistutils.command.install_lib Implements the Distutils 'install_lib' command (install all Python modules).N)Command)DistutilsOptionErrorz.pyc@seZdZdZdddddddgZd d d gZd d iZd dZddZddZ ddZ ddZ ddZ ddZ ddZddZdd Zd!S)" install_libz7install all Python modules (extensions and pure Python))z install-dir=dzdirectory to install to)z build-dir=bz'build directory (where to install from))forcefz-force installation (overwrite existing files))compileczcompile .py to .pyc [default]) no-compileNzdon't compile .py files)z optimize=Ozlalso compile with optimization: -O1 for "python -O", -O2 for "python -OO", and -O0 to disable [default: -O0]) skip-buildNzskip the build stepsrr r r cCs(d|_d|_d|_d|_d|_d|_dS)Nr) install_dir build_dirrr optimize skip_buildselfrB/opt/alt/python38/lib64/python3.8/distutils/command/install_lib.pyinitialize_options3s zinstall_lib.initialize_optionsc Cs|ddddddd|jdkr&d|_|jdkr6d |_t|jtszt|j|_|jd kr^tWn ttfk rtd YnXdS) Ninstall) build_libr)rr)rr)r r )rr)rrTF)rzoptimize must be 0, 1, or 2)Zset_undefined_optionsr r isinstanceintAssertionError ValueErrorrrrrrfinalize_options<s&     zinstall_lib.finalize_optionscCs0||}|dk r,|jr,||dSN)buildr distributionhas_pure_modules byte_compilerZoutfilesrrrrunVszinstall_lib.runcCs2|js.|jr|d|jr.|ddS)Nbuild_py build_ext)rr"r#Z run_commandhas_ext_modulesrrrrr!fs    zinstall_lib.buildcCs8tj|jr ||j|j}n|d|jdS|S)Nz3'%s' does not exist -- no Python modules to install)ospathisdirrZ copy_treerwarnr%rrrrmszinstall_lib.installcCsrtjr|ddSddlm}|dj}|jrH||d|j||j d|j dkrn|||j |j||j |j ddS)Nz%byte-compiling is disabled, skipping.r)r$r)rrprefixdry_run)rrr.verboser/) sysdont_write_bytecoder-Zdistutils.utilr$get_finalized_commandrootr rr/rr0)rfilesr$Z install_rootrrrr$vs$    zinstall_lib.byte_compilec Csd|sgS||}|}t||}t|ttj}g}|D] } |tj|| |dq>|Sr ) r3 get_outputsgetattrlenr*sepappendr+join) rZhas_anyZ build_cmdZ cmd_optionZ output_dirZ build_filesr prefix_lenZoutputsfilerrr_mutate_outputss  zinstall_lib._mutate_outputscCsrg}|D]d}tjtj|d}|tkr.q|jrJ|tjj |dd|j dkr|tjj ||j dq|S)Nr) optimizationr) r*r+splitextnormcasePYTHON_SOURCE_EXTENSIONr r: importlibutilcache_from_sourcer)rZ py_filenamesZbytecode_filesZpy_fileZextrrr_bytecode_filenamess     zinstall_lib._bytecode_filenamescCsR||jdd|j}|jr*||}ng}||jdd|j}|||S)zReturn the list of files that would be installed if this command were actually run. Not affected by the "dry-run" flag or whether modules have actually been built yet. r'rr()r>r"r#rr rGr))rZ pure_outputsZbytecode_outputsZ ext_outputsrrrr6s    zinstall_lib.get_outputscCsLg}|jr&|d}|||jrH|d}|||S)zGet the list of files that are input to this command, ie. the files that get installed as they are named in the build tree. The files in this list correspond one-to-one to the output filenames returned by 'get_outputs()'. r'r()r"r#r3extendr6r))rZinputsr'r(rrr get_inputss    zinstall_lib.get_inputsN)__name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsZ negative_optrrr&r!rr$r>rGr6rIrrrrrs*   r) __doc__r*importlib.utilrDr1Zdistutils.corerZdistutils.errorsrrCrrrrrs  __pycache__/build_scripts.cpython-38.pyc000064400000010363147577664100014276 0ustar00U ,aX@sdZddlZddlZddlmZddlmZddlmZddl m Z ddl m Z m Z ddlmZddlZed ZGd d d eZGd d d ee ZdS)zRdistutils.command.build_scripts Implements the Distutils 'build_scripts' command.N)ST_MODE) sysconfig)Command)newer) convert_path Mixin2to3)logs^#!.*python[0-9.]*([ ].*)?$c@sHeZdZdZdddgZdgZddZdd Zd d Zd d Z ddZ dS) build_scriptsz("build" scripts (copy and fixup #! line))z build-dir=dzdirectory to "build" (copy) to)forcefz1forcibly build everything (ignore file timestamps)z executable=ez*specify final destination interpreter pathr cCs"d|_d|_d|_d|_d|_dSN) build_dirscriptsr executableoutfilesselfrD/opt/alt/python38/lib64/python3.8/distutils/command/build_scripts.pyinitialize_optionss z build_scripts.initialize_optionscCs|dddd|jj|_dS)NZbuild)r r)r r )rr)Zset_undefined_optionsZ distributionrrrrrfinalize_options%s zbuild_scripts.finalize_optionscCs|jSr)rrrrrget_source_files,szbuild_scripts.get_source_filescCs|js dS|dSr)r copy_scriptsrrrrrun/szbuild_scripts.runc Cs||jg}g}|jD]}d}t|}tj|jtj|}|||j slt ||slt d|qzt |d}Wn tk r|jsd}YnXXt|j\}}|d|} | s|d|qt| } | rd}| dpd } |rt d ||j|||jstjs*|j} n(tjtd d td tdf} t| } d| | d} z| dWn$tk rt d!| YnXz| |Wn&tk rt d!| |YnXt |d}|"| |#|$W5QRX|r8|%q|r"|%|||&||qtj'dkr|D]`}|jrdt d|nDt(|t)d@}|dBd@}||krJt d|||t*||qJ||fS)a"Copy each script listed in 'self.scripts'; if it's marked as a Python script in the Unix way (first line matches 'first_line_re', ie. starts with "\#!" and contains "python"), then adjust the first line to refer to the current Python interpreter as we copy. Fznot copying %s (up-to-date)rbNrz%s is an empty file (skipping)Tzcopying and adjusting %s -> %sZBINDIRz python%s%sZVERSIONZEXEs#! zutf-8z.The shebang ({!r}) is not decodable from utf-8zAThe shebang ({!r}) is not decodable from the script encoding ({})wbposixzchanging mode of %siimz!changing mode of %s from %o to %o)+Zmkpathrrrospathjoinbasenameappendr rrdebugopenOSErrordry_runtokenizedetect_encodingreadlineseekwarn first_line_rematchgroupinforZ python_buildrZget_config_varfsencodedecodeUnicodeDecodeError ValueErrorformatwrite writelines readlinescloseZ copy_filenamestatrchmod)rr updated_filesZscriptZadjustZoutfiler encodinglinesZ first_liner1Z post_interprZshebangZoutffileZoldmodeZnewmoderrrr5s                   zbuild_scripts.copy_scriptsN) __name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsrrrrrrrrrr sr c@seZdZddZdS)build_scripts_2to3cCs&t|\}}|js||||fSr)r rr*Zrun_2to3)rrr@rrrrs zbuild_scripts_2to3.copy_scriptsN)rDrErFrrrrrrGsrG)__doc__r"rer>rZ distutilsrZdistutils.corerZdistutils.dep_utilrZdistutils.utilrrrr+compiler0r rGrrrrs       __pycache__/bdist_msi.cpython-38.opt-1.pyc000064400000046136147577664100014353 0ustar00U ,a߉@sdZddlZddlZddlmZddlmZddlmZddl m Z ddl m Z ddl mZdd lmZddlZdd lmZmZmZdd lmZmZmZmZGd d d eZGdddeZdS)z# Implements the bdist_msi command. N)Command) remove_tree)get_python_version) StrictVersion)DistutilsOptionError) get_platform)log)schemasequencetext) DirectoryFeatureDialogadd_datac@sFeZdZdZddZddZddd Zdd d ZdddZddZ dS)PyDialogzDialog class with a fixed layout: controls at the top, then a ruler, then a list of buttons: back, next, cancel. Optionally a bitmap at the left.cOs>tj|f||jd}d|d}|dd||jddS)zbDialog(database, name, x, y, w, h, attributes, title, first, default, cancel, bitmap=true)$iHZ BottomLinerN)r__init__hlinew)selfargskwZrulerZbmwidthr@/opt/alt/python38/lib64/python3.8/distutils/command/bdist_msi.pyrs  zPyDialog.__init__c Cs|ddddddd|dS) z,Set the title text of the dialog at the top.Title @<z{\VerdanaBold10}%sN)r )rtitlerrrr"#szPyDialog.titleBackc Cs,|r d}nd}||d|jddd|||S)zAdd a back button with a given title, the tab-next button, its name in the Control table, possibly initially disabled. Return the button, so that events can be associatedr$8 pushbuttonrrr"nextnameactiveflagsrrrback*sz PyDialog.backCancelc Cs,|r d}nd}||d|jddd|||S)zAdd a cancel button with a given title, the tab-next button, its name in the Control table, possibly initially disabled. Return the button, so that events can be associatedr%r$i0r'r(r)r*r,rrrcancel5szPyDialog.cancelNextc Cs,|r d}nd}||d|jddd|||S)zAdd a Next button with a given title, the tab-next button, its name in the Control table, possibly initially disabled. Return the button, so that events can be associatedr%r$r'r(r)r*r,rrrr-@sz PyDialog.nextc Cs,||t|j|d|jdddd||S)zAdd a button with a given title, the tab-next button, its name in the Control table, giving its x position; the y-position is aligned with the other buttons. Return the button, so that events can be associatedr'r(r)r%)r+intrr)rr.r"r-ZxposrrrxbuttonKszPyDialog.xbuttonN)r#r$)r2r$)r4r$) __name__ __module__ __qualname____doc__rr"r1r3r-r8rrrrrs  rc@seZdZdZddddefdddd d d d d g ZddddgZddddddddddddddd d!d"d#d$d%gZd&Zd'd(Z d)d*Z d+d,Z d-d.Z d/d0Z d1d2Zd3d4Zd5d6Zd7S)8 bdist_msiz7create a Microsoft Installer (.msi) binary distribution)z bdist-dir=Nz1temporary directory for creating the distributionz plat-name=pz;platform name to embed in generated filenames (default: %s)) keep-tempkzPkeep the pseudo-installation tree around after creating the distribution archive)ztarget-version=Nz6require a specific python version on the target system)no-target-compilecz/do not compile .py to .pyc on the target system)no-target-optimizeoz;do not compile .py to .pyo (optimized) on the target system)z dist-dir=dz-directory to put final built distributions in) skip-buildNz2skip rebuilding everything (for testing/debugging))zinstall-script=NzUbasename of installation script to be run after installation or before deinstallation)zpre-install-script=Nz{Fully qualified filename of a script to be run before any files are installed. This script need not be in the distributionr?rArCrFz2.0z2.1z2.2z2.3z2.4z2.5z2.6z2.7z2.8z2.9z3.0z3.1z3.2z3.3z3.4z3.5z3.6z3.7z3.8z3.9XcCsFd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ dS)Nr) bdist_dir plat_name keep_tempZno_target_compileZno_target_optimizetarget_versiondist_dir skip_buildinstall_scriptpre_install_scriptversions)rrrrinitialize_options}szbdist_msi.initialize_optionscCs|dd|jdkr2|dj}tj|d|_t}|jsN|j rN||_|jr|jg|_ |j s|j r|j|krt d|fn t|j|_ |ddd|jrt d|jr|j jD]}|jtj|krqqt d|jd|_dS) NZbdist)rMrMZmsizMtarget version can only be %s, or the '--skip-build' option must be specified)rLrL)rIrIz5the pre-install-script feature is not yet implementedz(install_script '%s' not found in scripts)Zset_undefined_optionsrHget_finalized_command bdist_baseospathjoinrrK distributionhas_ext_modulesrPrMrlist all_versionsrOrNZscriptsbasenameinstall_script_key)rrSZ short_versionZscriptrrrfinalize_optionssH      zbdist_msi.finalize_optionscCsz|js|d|jddd}|j|_|j|_d|_|d}d|_d|_|j r|j }|spdt j dd}d |j |f}|d}tj|jd ||_td |j|t jdtj|jd |t jd=||j|j}||}tj|}tj|r"t||jj }|j!} | s<|j"} | sFd } |#} dt$| j%} |j}|j r~d|j |f} nd|} t&'|t(| t&)| | |_*t&+|j*t,d| fg} |j-p|j.}|r| /d|f|j0r| /d|j0f| rt1|j*d| |2|3|4|5|j*6t7|jdr^d|j pJd|f}|jj8/||j9svt:|j|j;ddS)Nbuildinstallr$)Zreinit_subcommandsr install_libz%d.%dz.%s-%slibzinstalling to %sZPURELIBZUNKNOWNz%d.%d.%dz Python %s %sz Python %sZ DistVersionZ ARPCONTACTZARPURLINFOABOUTProperty dist_filesr=any)dry_run) }|d?d%d@dAd%d)dB|d7d-dCdDd-d)dE|dFd-dGdHdddI| dJdKd-dLdHdMdNdOddd |jd1dPd1d/} | d0d1|j dPd }|d?d%d@dAd%d)d|d7d-d-dDd-d)d|dFd-ddHddd| ddd-ddHdddddd |ddndd d0d9t|d||||||ddd" }|d|dd%ddtddddXd }|dd ddd-d|dd ddd-d|jd#dd d!| dd"} | dddd| j d0d9dd|d"d} | ddst|d||||||d"d"d"d=d> }|d?d-d%dAd%d)d|dFddddwddġ|ddddd-ddơ|dd&d|d&d-dd} | ddF| ddddZddRddddd } | ddˡ|jddd=d!|j dd"d=d!|d"d# ddst|d||||||ddd" }|d͡|dd%ddHdhddС|dd%ddHddddXd }|dd ddAd{d֡|dd ddAd{d١|jddd=d!| dd"} | dddd| dddd@| ddddN| dddd| dddd| dddd| dddd| dddd| d0d9dd-|d"dѡ ddsdS)Nriri,z[ProductName] Setupr%r$ rc)Z DefaultUIFontDlgFont8)Z ErrorDialogErrorDlg)Z Progress1ZInstall)Z Progress2Zinstalls)MaintenanceForm_ActionRepair) WhichUsersALLZ TextStyle)rTahoma Nr)Z DlgFontBold8rNr$)Z VerdanaBold10VerdanarNr$)Z VerdanaRed9rrrr) PrepareDlgz(Not Privileged or Windows9x or Installed) WhichUsersDlgz.Privileged and not Windows9x and not Installed)SelectFeaturesDlgz Not Installedi)MaintenanceTypeDlgz,Installed AND NOT RESUME AND NOT Preselectedi) ProgressDlgNi ActionTextUITextZ FatalErrorZFinishz)[ProductName] Installer ended prematurelyz< Backr)r/r2r#Z Description1rFrPr!z[ProductName] setup ended prematurely because of an error. Your system has not been modified. To install this program at a later time, please run the installation again.Z Description2z.Click the Finish button to exit the Installer.)r.Z EndDialogZExitZUserExitz'[ProductName] Installer was interruptedz[ProductName] setup was interrupted. Your system has not been modified. To install this program at a later time, please run the installation again.Z ExitDialogz&Completing the [ProductName] InstallerZ DescriptionZReturnZ FilesInUseZRetryF)Zbitmaprz{\DlgFontBold8}Files in Useiz8Some files that need to be updated are currently in use.ZText7iJzThe following applications are using files that need to be updated by this setup. Close these applications and then click Retry to continue the installation or Cancel to exit it.ZListZListBoxkZFileInUseProcessIgnorerreiZ ErrorTextr0rNxHQZNoZErrorNoYZYesZErrorYesAZAbortZ ErrorAbortC*Z ErrorCancelIZ ErrorIgnoreOZOkZErrorOkRZ ErrorRetryZ CancelDlgiUz;Are you sure you want to cancel [ProductName] installation?9r(r)ZWaitForCostingDlgzRPlease wait while the installer finishes determining your disk space requirements.fr(zOPlease wait while the Installer prepares to guide you through the installation.z&Welcome to the [ProductName] Installernz Pondering...Z ActionDatar4Z SpawnDialogrzSelect Python InstallationsZHintz9Select the Python locations where %s should be installed.zNext >z [TARGETDIR]z [SourceDir])Zorderingz [TARGETDIR%s]z FEATURE_SELECTED AND &Python%s=3ZSpawnWaitDialograZFeaturesZ SelectionTreer ZFEATUREZPathEditz[FEATURE_SELECTED]1z!FEATURE_SELECTED AND &Python%s<>3ZOtherz$Provide an alternate Python locationZEnableZShowZDisableZHiderZ DiskCostDlgZOKz&{\DlgFontBold8}Disk Space RequirementszFThe disk space required for the installation of the selected features.5aThe highlighted volumes (if any) do not have enough disk space available for the currently selected features. You can either remove some files from the highlighted volumes, or choose to install less features onto local drive(s), or select different destination drive(s).Z VolumeListZVolumeCostListdiz{120}{70}{70}{70}{70}g?rZ AdminInstallzGSelect whether to install [ProductName] for all users of this computer.rrzInstall for all usersZJUSTMEzInstall just for mez [ALLUSERS]zWhichUsers="ALL"rz({\DlgFontBold8}[Progress1] [ProductName]#AzYPlease wait while the Installer [Progress2] [ProductName]. This may take several minutes.Z StatusLabelzStatus:Z ProgressBariz Progress doneZ SetProgressZProgressrz)Welcome to the [ProductName] Setup WizardZBodyText?z:Select whether you want to repair or remove [ProductName].ZRepairRadioGrouplrrrz&Repair [ProductName]ZRemoverzRe&move [ProductName]z [REINSTALL]zMaintenanceForm_Action="Repair"z [Progress1]Z Repairingz [Progress2]ZrepairsZ Reinstallrz[REMOVE]zMaintenanceForm_Action="Remove" ZRemoving Zremoves z MaintenanceForm_Action<>"Change")rxrr rrrr"r1r3r-ZeventZcontrolrr+mappingrWrorPrZ conditionr8Z radiogroupadd)rrxxyrrr"ZmodalZmodelessZtrack_disk_spaceZfatalrBZ user_exitZ exit_dialogZinuseerrorr3ZcostingZprepZseldlgorderrvrZinstall_other_condZdont_install_other_condZcostZ whichusersgZprogressZmaintrrrr}sv                                                   zbdist_msi.add_uicCs<|jrd||j|jf}nd||jf}tj|j|}|S)Nz%s.%s-py%s.msiz %s.%s.msi)rKrIrTrUrVrL)rrZ base_namerrrrrpsz bdist_msi.get_installer_filenameN)r9r:r;Z descriptionrZ user_optionsZboolean_optionsrZrrQr]rnr{rzr|r}rprrrrr=Ss^  ([66&@r=)r<rjrTZdistutils.corerZdistutils.dir_utilrZdistutils.sysconfigrZdistutils.versionrZdistutils.errorsrZdistutils.utilrZ distutilsrrwr r r r r rrrr=rrrrs       >__pycache__/upload.cpython-38.pyc000064400000011532147577664100012713 0ustar00U ,aY@sdZddlZddlZddlZddlZddlmZddlmZm Z m Z ddl m Z ddl mZmZddlmZddlmZdd lmZGd d d eZdS) zm distutils.command.upload Implements the Distutils 'upload' subcommand (upload package to a package index). N)standard_b64encode)urlopenRequest HTTPError)urlparse)DistutilsErrorDistutilsOptionError) PyPIRCCommand)spawn)logc@sJeZdZdZejddgZejdgZddZddZd d Z d d Z d S)uploadzupload binary package to PyPI)signszsign files to upload using gpg)z identity=izGPG identity used to sign filesr cCs,t|d|_d|_d|_d|_d|_dS)NrF)r initialize_optionsusernamepassword show_responser identity)selfr=/opt/alt/python38/lib64/python3.8/distutils/command/upload.pyr s  zupload.initialize_optionscCsrt||jr|jstd|}|ikrV|d|_|d|_|d|_|d|_ |jsn|j jrn|j j|_dS)Nz.Must use --sign for --identity to have meaningrr repositoryrealm) r finalize_optionsrr rZ _read_pypircrrrr distribution)rZconfigrrrr(s      zupload.finalize_optionscCs:|jjsd}t||jjD]\}}}||||qdS)NzHMust create and upload files in one command (e.g. setup.py sdist upload))rZ dist_filesr upload_file)rmsgcommand pyversionfilenamerrrrun:s z upload.runc Cst|j\}}}}}} |s"|s"| r0td|j|dkrDtd||jr|ddd|g} |jrnd|jg| dd<t| |jd t|d } z | } W5| X|j j } d d | | tj|| f||t| d | | | | | | | | | | | | | d}d|d<|jrpt|dd "} tj|d| f|d<W5QRX|j!d|j"#d}dt$|%d}d}d|#d}|d}t&'}|(D]\}}d|}t)|t*s|g}|D]j}t+|t,kr|d|d7}|d}nt-|#d}|.||.|#d|.d|.|qq|.||/}d||jf}|0|t1j2d |t-t3||d!}t4|j||d"}zt5|}|6}|j7}Wnft8k r}z|j9}|j7}W5d}~XYn8t:k r.}z|0t-|t1j;W5d}~XYnX|d#kr|0d$||ft1j2|j<r|=|}d%>d&|d&f}|0|t1j2n"d'||f}|0|t1j;t?|dS)(NzIncompatible url %s)ZhttpZhttpszunsupported schema Zgpgz --detach-signz-az --local-user)dry_runrbZ file_upload1z1.0)z:actionZprotocol_versionnameversioncontentZfiletyper Z md5_digestZmetadata_versionZsummaryZ home_pageZauthorZ author_emaillicense descriptionkeywordsplatformZ classifiersZ download_urlZprovidesZrequiresZ obsoletesrZcommentz.ascZ gpg_signature:asciizBasic z3--------------GHSKFJDLGDS7543FJKLFHRE75642756743254s --s-- z+ Content-Disposition: form-data; name="%s"z; filename="%s"rzutf-8s zSubmitting %s to %sz multipart/form-data; boundary=%s)z Content-typezContent-lengthZ Authorization)dataheaderszServer response (%s): %s zK---------------------------------------------------------------------------zUpload failed (%s): %s)@rrAssertionErrorr rr r$openclosereadrZmetadataZget_nameZ get_versionospathbasenamehashlibZmd5Z hexdigestZget_descriptionZget_urlZ get_contactZget_contact_emailZ get_licenceZget_long_descriptionZ get_keywordsZ get_platformsZget_classifiersZget_download_urlZ get_providesZ get_requiresZ get_obsoletesrrencoderdecodeioBytesIOitems isinstancelisttypetuplestrwritegetvalueZannouncer INFOlenrrZgetcoderrcodeOSErrorZERRORrZ_read_pypi_responsejoinr) rrr r!ZschemaZnetlocZurlZparamsZqueryZ fragmentsZgpg_argsfr)metar1Z user_passZauthboundaryZ sep_boundaryZ end_boundaryZbodykeyvaluetitlerr2ZrequestresultZstatusreasonetextrrrrBs       !          zupload.upload_fileN) __name__ __module__ __qualname__r+r Z user_optionsZboolean_optionsrrr"rrrrrr s r )__doc__r9r?r-r<base64rZurllib.requestrrrZ urllib.parserZdistutils.errorsrrZdistutils.corer Zdistutils.spawnr Z distutilsr r rrrrs     __pycache__/config.cpython-38.opt-2.pyc000064400000015372147577664100013642 0ustar00U ,a=3@shddlZddlZddlmZddlmZddlmZddlm Z dddZ Gd d d eZ d d d Z dS)N)Command)DistutilsExecError)customize_compiler)logz.cz.cxx)czc++c @seZdZdZdddddddd d g Zd d Zd dZddZddZddZ ddZ ddZ ddZ ddZ d0dd Zd1d!d"Zd2d#d$Zd3d%d&Zd4d'd(Zd5d*d+Zdddgfd,d-Zd6d.d/ZdS)7configzprepare to build)z compiler=Nzspecify the compiler type)zcc=Nzspecify the compiler executable)z include-dirs=Iz.list of directories to search for header files)zdefine=DzC preprocessor macros to define)zundef=Uz!C preprocessor macros to undefine)z libraries=lz!external C libraries to link with)z library-dirs=Lz.directories to search for external C libraries)noisyNz1show every action (compile, link, run, ...) taken)z dump-sourceNz=dump generated source files before attempting to compile themcCs4d|_d|_d|_d|_d|_d|_d|_g|_dS)N)compilerZcc include_dirs libraries library_dirsr dump_source temp_filesselfr=/opt/alt/python38/lib64/python3.8/distutils/command/config.pyinitialize_options3szconfig.initialize_optionscCs|jdkr|jjpg|_nt|jtr6|jtj|_|jdkrHg|_nt|jtr^|jg|_|jdkrpg|_nt|jtr|jtj|_dSN) rZ distribution isinstancestrsplitospathseprrrrrrfinalize_optionsBs       zconfig.finalize_optionscCsdSrrrrrrrunRsz config.runcCszddlm}m}t|j|sv||j|jdd|_t|j|jrN|j|j|j rb|j |j |j rv|j |j dS)Nr) CCompiler new_compilerr)rdry_runZforce) distutils.ccompilerr"r#rrr$rrZset_include_dirsrZ set_librariesrZset_library_dirs)rr"r#rrr_check_compilerYs  zconfig._check_compilerc Csldt|}t|dL}|r>|D]}|d|q |d|||ddkr^|dW5QRX|S)NZ _configtestwz#include <%s>  )LANG_EXTopenwrite)rbodyheaderslangfilenamefileheaderrrr_gen_temp_sourcefileks     zconfig._gen_temp_sourcefilecCs<||||}d}|j||g|jj|||d||fS)Nz _configtest.ir)r3rextendrZ preprocess)rr-r.rr/srcoutrrr _preprocessws zconfig._preprocesscCs\||||}|jr"t|d||j|g\}|j||g|jj|g|d||fS)Nzcompiling '%s':r4)r3r dump_filerZobject_filenamesrr5compile)rr-r.rr/r6objrrr_compile~szconfig._compilec Csr|||||\}}tjtj|d} |jj|g| |||d|jjdk r\| |jj} |j | ||| fS)Nr)rrZ target_lang) r<rpathsplitextbasenamerZlink_executableZ exe_extensionrappend) rr-r.rrrr/r6r;progrrr_links    z config._linkc GsT|s|j}g|_tdd||D](}zt|Wq&tk rLYq&Xq&dS)Nz removing: %s )rrinfojoinrremoveOSError)r filenamesr0rrr_cleansz config._cleanNrcCsRddlm}|d}z|||||Wn|k rDd}YnX||S)Nr CompileErrorTF)r%rKr&r8rIrr-r.rr/rKokrrrtry_cpps  zconfig.try_cppc Csx||||||\}}t|tr0t|}t|.}d} |} | dkrPqb|| r>d} qbq>W5QRX| | S)NFT) r&r8rrrer:r+readlinesearchrI) rpatternr-r.rr/r6r7r1matchlinerrr search_cpps     zconfig.search_cppcCsdddlm}|z|||||d}Wn|k rDd}YnXt|rRdpTd||S)NrrJTFsuccess!failure.)r%rKr&r<rrDrIrLrrr try_compiles  zconfig.try_compilec Cspddlm}m}|z|||||||d} Wn||fk rPd} YnXt| r^dp`d|| SNr)rK LinkErrorTFrWrX)r%rKr[r&rBrrDrI) rr-r.rrrr/rKr[rMrrrtry_links  zconfig.try_linkc Csddlm}m}|z.|||||||\} } } || gd} Wn||tfk rdd} YnXt| rrdptd| | SrZ) r%rKr[r&rBZspawnrrrDrI) rr-r.rrrr/rKr[r6r;ZexerMrrrtry_runs    zconfig.try_runrc Cst|g}|r|d||d|r<|d|n|d||dd|d}||||||S)Nz int %s ();z int main () {z %s();z %s;}r()r&r@rEr\) rfuncr.rrrZdeclZcallr-rrr check_funcs   zconfig.check_funccCs ||d|||g||S)Nzint main (void) { })r&r\)rZlibraryrr.rZother_librariesrrr check_lib4s  zconfig.check_libcCs|jd|g|dS)Nz /* No body */)r-r.r)rN)rr2rrr/rrr check_headerBs zconfig.check_header)NNNr)NNNr)NNr)NNNNr)NNNNr)NNNNrr)NNr)__name__ __module__ __qualname__Z descriptionZ user_optionsrr r!r&r3r8r<rBrIrNrVrYr\r]r`rarbrrrrrs\         rcCsJ|dkrtd|n t|t|}zt|W5|XdS)Nz%s)rrDr+closeread)r0headr1rrrr9Ks r9)N) rrPZdistutils.corerZdistutils.errorsrZdistutils.sysconfigrZ distutilsrr*rr9rrrr s     8__pycache__/__init__.cpython-38.opt-2.pyc000064400000000701147577664100014122 0ustar00U ,a@s.dddddddddd d d d d dddddgZdS)ZbuildZbuild_pyZ build_extZ build_clibZ build_scriptsZcleanZinstallZ install_libZinstall_headersZinstall_scriptsZ install_dataZsdistregisterZbdistZ bdist_dumbZ bdist_rpmZ bdist_wininstZcheckZuploadN)__all__rr?/opt/alt/python38/lib64/python3.8/distutils/command/__init__.pys&__pycache__/install.cpython-38.pyc000064400000032451147577664100013100 0ustar00U 2bboh@sdZddlZddlZddlmZddlmZddlmZddl m Z ddl m Z ddl mZdd lmZmZmZdd lmZdd l mZdd lmZdd lmZdZddddddZddddddddddddedZerdddddded <ddd!d"dded#<dZGd$d%d%eZdS)&zFdistutils.command.install Implements the Distutils 'install' command.N)log)Command)DEBUG)get_config_vars)DistutilsPlatformError) write_file) convert_path subst_vars change_root) get_platform)DistutilsOptionError) USER_BASE) USER_SITETz$base/Lib/site-packagesz$base/Include/$dist_namez $base/Scriptsz$base)purelibplatlibheadersscriptsdataz/$base/lib/python$py_version_short/site-packagesz5$platbase/lib64/python$py_version_short/site-packagesz9$base/include/python$py_version_short$abiflags/$dist_namez $base/binz$base/lib/pythonz$base/lib64/pythonz$base/include/python/$dist_name) unix_prefix unix_homentz $usersitez4$userbase/Python$py_version_nodot/Include/$dist_namez)$userbase/Python$py_version_nodot/Scriptsz $userbaseZnt_userz=$userbase/include/python$py_version_short$abiflags/$dist_namez $userbase/bin unix_userc@s:eZdZdZdddddddd d d d d ddddddgZdddgZer`edddefedddiZ ddZ ddZ dd Z d!d"Z d#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Zd5d6Zd7d8Zd9d:Zd;d<Zd=d>Zd?d@ZdAdBZdCdDZdEefdFefdGefdHefdIdJdKfgZdS)Linstallz'install everything from build directory)zprefix=Nzinstallation prefix)z exec-prefix=Nz.(Unix only) prefix for platform-specific files)zhome=Nz+(Unix only) home directory to install under)z install-base=Nz;base installation directory (instead of --prefix or --home))zinstall-platbase=Nz\base installation directory for platform-specific files (instead of --exec-prefix or --home))zroot=Nz/opt/alt/python38/lib64/python3.8/distutils/command/install.pyinitialize_optionss2 zinstall.initialize_optionsc Csx|js|js|jr&|js|jr&td|jr@|js8|jr@td|jrl|jsd|jsd|jsd|jsd|jrltdtjdkr|jr| dd|_| dtjdkr| n| | dt jd }td d \}}z t j}Wntk rd }YnX|j|j|j|d t jdddt jdd|||||d |_trf|j|jd<|j|jd<|| d|j|jd<|j|jd<trd dlm}td||j| | d|jr|!|j"dkr|jj#r|j$|_"n|j%|_"|&dddddddd|'|j"|_(tj)*|j"|j+|_"|j,dk r\|-ddddddd| d |.d!d"d#dS)$zFinalizes options.zWmust supply either prefix/exec-prefix/home or install-base/install-platbase -- not bothz9must supply either home or prefix/exec-prefix -- not bothzGcan't combine user with prefix, exec_prefix/home, or install_(plat)baseposixz+exec-prefix option ignored on this platformNzpre-finalize_{unix,other}zpost-finalize_{unix,other}()rr"r#z%d.%dz%d%d) Z dist_nameZ dist_versionZ dist_fullname py_versionZpy_version_shortZpy_version_nodotZ sys_prefixr"Zsys_exec_prefixr#abiflagsuserbaseZusersitezpost-expand_basedirs()baseZplatbase)pprintz config vars:zpost-expand_dirs()librrrrrZlibbasezafter prepending rootbuild)r5r5)r6r6)/r"r#r$r%r&r r osnamewarn dump_dirs finalize_unixfinalize_othersysversionsplitrrAAttributeError distributionZget_nameZ get_versionZ get_fullname version_info config_vars HAS_USER_SITEr.r/expand_basedirsrrDprint expand_dirscreate_home_pathr+Z ext_modulesr)r( convert_pathshandle_extra_pathinstall_libbasepathjoin extra_dirsr' change_rootsZset_undefined_options)r9r@r"r#rArDr:r:r;finalize_optionss                         zinstall.finalize_optionscCstsdSddlm}t|d|jD]r}|d}|ddkrL|dd}||jkrx|j|}||}t|| }n||}t||}td||q(dS)zDumps the list of user options.Nr) longopt_xlate:=z %s: %s) rZdistutils.fancy_getoptrardebug user_options negative_opt translategetattr)r9msgraoptZopt_namevalr:r:r;rJus         zinstall.dump_dirscCs"|jdk s|jdk r\|jdkr2|jdkr2|jdksP|jdksP|jdksP|jdkrXtddS|j r|j dkrtt d|j |_|_| dn|j dk r|j |_|_| dnl|jdkr|jdk rtdtjtj|_tjtj|_n|jdkr|j|_|j|_|j|_| ddS)z&Finalizes options for posix platforms.NzPinstall-base or install-platbase supplied, but installation scheme is incomplete$User base directory is not specifiedrrz*must not supply exec-prefix without prefixr)r%r&r+r(r)r*r,r-r r r.r select_schemer$r"r#rGr\normpathrMr8r:r:r;rKsL        zinstall.finalize_unixcCs|jr8|jdkrtd|j|_|_|tjdn|jdk r\|j|_|_|dn\|j dkrvtj t j |_ |j |_|_z|tjWn"t k rtdtjYnXdS)z)Finalizes options for non-posix platformsNrmZ_userrz)I don't know how to install stuff on '%s')r r.rr%r&rnrGrHr$r"r\rorMKeyErrorr8r:r:r;rLs&    zinstall.finalize_othercCs<t|}tD]*}d|}t||dkr t||||q dS)z=Sets the install directories by applying the install schemes.install_N)INSTALL_SCHEMES SCHEME_KEYSrisetattr)r9rHZschemekeyattrnamer:r:r;rns zinstall.select_schemecCsX|D]N}t||}|dk rtjdks.tjdkr:tj|}t||j}t|||qdS)Nr=r)rirGrHr\ expanduserr rSrt)r9attrsattrrlr:r:r; _expand_attrss   zinstall._expand_attrscCs|dddgdS)zNCalls `os.path.expanduser` on install_base, install_platbase and root.r%r&r'Nrzr8r:r:r;rUszinstall.expand_basedirscCs|ddddddgdS)z+Calls `os.path.expanduser` on install dirs.r(r)r+r*r,r-Nr{r8r:r:r;rWs zinstall.expand_dirscGs,|D]"}d|}t||tt||qdS)z!Call `convert_path` over `names`.rqN)rtrrir9namesrHryr:r:r;rYszinstall.convert_pathscCs|jdkr|jj|_|jdk rtdt|jtrB|jd|_t|jdkr`|jd}}n"t|jdkrz|j\}}ntdt |}nd}d}||_ ||_ dS) z4Set `path_file` and `extra_dirs` using `extra_path`.NzIDistribution option extra_path is deprecated. See issue27919 for details.,r!rr?zY'extra_path' option must be a list, tuple, or comma-separated string with 1 or 2 elementsr>) r1rQrrI isinstancestrrOlenr r path_filer^)r9rr^r:r:r;rZs(      zinstall.handle_extra_pathc Gs0|D]&}d|}t||t|jt||qdS)z:Change the install directories pointed by name using root.rqN)rtr r'rir|r:r:r;r_ szinstall.change_rootscCsb|js dSttjd}|jD]8\}}||r$tj|s$| d|t |dq$dS)zCreate directories under ~.N~zos.makedirs('%s', 0o700)i) r rrGr\rwrSitems startswithisdirZ debug_printmakedirs)r9r$rHr\r:r:r;rXszinstall.create_home_pathcCs"|js6|d|jdj}|jr6|tkr6td|D]}||q>|j r\| |j r| }|j rt|j }tt|D]}|||d||<q|t|j |fd|j ttjjtj}ttjj|}tjtj|j}|jr|j r|js||krtd|jdS)zRuns the command.rFz"Can't install when cross-compilingNz'writing list of installed files to '%s'zmodules installed to '%s', which is not in Python's module search path (sys.path) -- you'll have to change the search path yourself)r3Z run_commandrQZget_command_objZ plat_namer4r rget_sub_commandsrcreate_path_filer7 get_outputsr'rrangeexecutermaprGr\rorMnormcaser+r2rre)r9Z build_platcmd_nameoutputsZroot_lenZcounterZsys_pathr+r:r:r;runsD    z install.runcCsJtj|j|jd}|jr8|t||jgfd|n| d|dS)zCreates the .pth file.pthz creating %szpath file '%s' not createdN) rGr\r]r[rr2rrr^rI)r9filenamer:r:r;rIs  zinstall.create_path_filecCshg}|D].}||}|D]}||kr"||q"q |jrd|jrd|tj|j |jd|S)z.Assembles the outputs of all the sub-commands.r) rget_finalized_commandrappendrr2rGr\r]r[)r9rrcmdrr:r:r;rWs    zinstall.get_outputscCs.g}|D]}||}||q |S)z*Returns the inputs of all the sub-commands)rrextend get_inputs)r9Zinputsrrr:r:r;rhs   zinstall.get_inputscCs|jp|jS)zSReturns true if the current distribution has any Python modules to install.)rQZhas_pure_modulesZhas_ext_modulesr8r:r:r;has_libts zinstall.has_libcCs |jS)zLReturns true if the current distribution has any headers to install.)rQ has_headersr8r:r:r;rzszinstall.has_headerscCs |jS)zMReturns true if the current distribution has any scripts to. install.)rQ has_scriptsr8r:r:r;rszinstall.has_scriptscCs |jS)zJReturns true if the current distribution has any data to. install.)rQZhas_data_filesr8r:r:r;has_dataszinstall.has_datar+r*r,r-Zinstall_egg_infocCsdS)NTr:r8r:r:r;zinstall.) __name__ __module__ __qualname__Z descriptionrfZboolean_optionsrTrrrgr<r`rJrKrLrnrzrUrWrYrZr_rXrrrrrrrrZ sub_commandsr:r:r:r;rIsn ;  N(  " ,  r)__doc__rMrGZ distutilsrZdistutils.corerZdistutils.debugrZdistutils.sysconfigrZdistutils.errorsrZdistutils.file_utilrZdistutils.utilrr r r r Zsiter rrTZWINDOWS_SCHEMErrrsrr:r:r:r;sb             __pycache__/bdist_rpm.cpython-38.opt-1.pyc000064400000030131147577664100014345 0ustar00U ,aIT@sdZddlZddlZddlZddlmZddlmZddlm Z ddl m Z ddl Tddl mZdd lmZGd d d eZdS) zwdistutils.command.bdist_rpm Implements the Distutils 'bdist_rpm' command (create RPM source and binary distributions).N)Command)DEBUG) get_platform) write_file)*)get_python_version)logc)@seZdZdZdddddddd d d d d ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*g)Zd+d,d-d.d/gZd+d,d-d0Zd1d2Zd3d4Zd5d6Z d7d8Z d9d:Z d;d<Z d=d>Z d?S)@ bdist_rpmzcreate an RPM distribution)z bdist-base=Nz/base directory for creating built distributions)z rpm-base=Nzdbase directory for creating RPMs (defaults to "rpm" under --bdist-base; must be specified for RPM 2))z dist-dir=dzDdirectory to put final RPM files in (and .spec files if --spec-only))zpython=NzMpath to Python interpreter to hard-code in the .spec file (default: "python"))z fix-pythonNzLhard-code the exact path to the current Python interpreter in the .spec file)z spec-onlyNzonly regenerate spec file)z source-onlyNzonly generate source RPM)z binary-onlyNzonly generate binary RPM)z use-bzip2Nz7use bzip2 instead of gzip to create source distribution)zdistribution-name=Nzgname of the (Linux) distribution to which this RPM applies (*not* the name of the module distribution!))zgroup=Nz9package classification [default: "Development/Libraries"])zrelease=NzRPM release number)zserial=NzRPM serial number)zvendor=NzaRPM "vendor" (eg. "Joe Blow ") [default: maintainer or author from setup script])z packager=NzBRPM packager (eg. "Jane Doe ") [default: vendor])z doc-files=Nz6list of documentation files (space or comma-separated))z changelog=Nz RPM changelog)zicon=Nzname of icon file)z provides=Nz%capabilities provided by this package)z requires=Nz%capabilities required by this package)z conflicts=Nz-capabilities which conflict with this package)zbuild-requires=Nz+capabilities required to build this package)z obsoletes=Nz*capabilities made obsolete by this package) no-autoreqNz+do not automatically calculate dependencies) keep-tempkz"don't clean up RPM build directory) no-keep-tempNz&clean up RPM build directory [default])use-rpm-opt-flagsNz8compile with RPM_OPT_FLAGS when building from source RPM)no-rpm-opt-flagsNz&do not pass any RPM CFLAGS to compiler) rpm3-modeNz"RPM 3 compatibility mode (default)) rpm2-modeNzRPM 2 compatibility mode)z prep-script=Nz3Specify a script for the PREP phase of RPM building)z build-script=Nz4Specify a script for the BUILD phase of RPM building)z pre-install=Nz:Specify a script for the pre-INSTALL phase of RPM building)zinstall-script=Nz6Specify a script for the INSTALL phase of RPM building)z post-install=Nz;Specify a script for the post-INSTALL phase of RPM building)zpre-uninstall=Nz@/opt/alt/python38/lib64/python3.8/distutils/command/bdist_rpm.pyinitialize_optionssNzbdist_rpm.initialize_optionscCs|dd|jdkr6|js$tdtj|jd|_|jdkrX|j rPt j |_qfd|_n|j rftdtj dkr~t dtj |jr|jrtd |jsd |_|dd |dS) NZbdist)rrz)you must specify --rpm-base in RPM 2 moderpmZpython3z8--python and --fix-python are mutually exclusive optionsposixz9don't know how to create RPM distributions on platform %sz6cannot supply both '--source-only' and '--binary-only'r)rr)Zset_undefined_optionsrr9ZDistutilsOptionErrorospathjoinrrrsys executablenameZDistutilsPlatformErrorrr distributionhas_ext_modulesr8finalize_package_datar<r>r>r?finalize_optionss6        zbdist_rpm.finalize_optionscCsT|dd|dd|j|jf|d|dt|jtrxdD]&}tj |rP||jkrP|j |qP|dd |d |d |d | |j |_ |d |d|d|d|d|d|d|d|d|d|d|d|d|d|d|ddS)Nr zDevelopment/Librariesr#z%s <%s>r$r%)ZREADMEz README.txtr!1r"rr&r'r(r)r*r+r,r-r.r/r0r2r3r4r5r6r;)Z ensure_stringrIZ get_contactZget_contact_emailZensure_string_list isinstancer%listrCrDexistsappend_format_changelogr&Zensure_filename)r=Zreadmer>r>r?rKsB                        zbdist_rpm.finalize_package_datacCstrr>r?runs                            z bdist_rpm.runcCstj|jtj|S)N)rCrDrErre)r=rDr>r>r? _dist_pathszbdist_rpm._dist_pathc CsJd|jd|jddd|jd|jdddd|jg}td }d d d | D}d }d}|||}||kr| d| d|d | dddg|j r| dn | d| d|j d|jddg|js|js&| dn| d|jdD]V}t||}t|trb| d|d|fn|dk r*| d||fq*|jd kr| d!|j|jr| d"|j|jr| d#d|j|jr| d$tj|j|jr| d%| dd&|jgd'|jtjtj d(f}d)|} |j!rXd*| } d+|} d,d-d.| fd/d0| fd1d2d3d4d5d6g } | D]n\} } }t|| }|s|r| dd7| g|rt"|}| |#$d W5QRXn | |q| dd8d9g|j%r$| d:d|j%|j&rF| dd;g| |j&|S)r>r? sz-bdist_rpm._make_spec_file..zbrp-python-bytecompile \ z%brp-python-bytecompile %{__python} \ z2# Workaround for http://bugs.python.org/issue14443z%define __os_install_post z Name: %{name}zVersion: %{version}zRelease: %{release}z-Source0: %{name}-%{unmangled_version}.tar.bz2z,Source0: %{name}-%{unmangled_version}.tar.gzz License: zGroup: z>BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildrootzPrefix: %{_prefix}zBuildArch: noarchz BuildArch: %s)ZVendorZPackagerZProvidesZRequiresZ ConflictsZ Obsoletesz%s: %s NZUNKNOWNzUrl: zDistribution: zBuildRequires: zIcon: z AutoReq: 0z %descriptionz%s %srz%s buildzenv CFLAGS="$RPM_OPT_FLAGS" z>%s install -O1 --root=$RPM_BUILD_ROOT --record=INSTALLED_FILES)r1r(z&%setup -n %{name}-%{unmangled_version}Zbuildr)Zinstallr*)Zcleanr+zrm -rf $RPM_BUILD_ROOT)Z verifyscriptr,N)Zprer-N)Zpostr.N)Zpreunr/N)Zpostunr0N%z%files -f INSTALLED_FILESz%defattr(-,root,root)z%doc z %changelog)'rIrZZ get_versionreplacer!Zget_description subprocessZ getoutputrE splitlinesrQr]rZ get_licenser r;rJgetattrlowerrNrOZget_urlrr5r'rCrDrer:Zget_long_descriptionrrFargvr8openreadrcr%r&)r=Z spec_fileZ vendor_hookZproblemZfixedZ fixed_hookZfieldvalZdef_setup_callZ def_buildZ install_cmdZscript_optionsZrpm_optattrdefaultfr>r>r?r[s                       zbdist_rpm._make_spec_filecCs||s|Sg}|dD]N}|}|ddkrB|d|gq|ddkrZ||q|d|q|dsx|d=|S)zKFormat the changelog correctly and convert it to a list of strings rprrrormz )rbrcr]rQ)r=r&Z new_changelogrhr>r>r?rR1s   zbdist_rpm._format_changelogN)__name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsZ negative_optr@rLrKrkrlr[rRr>r>r>r?r sxm--*r )__doc__rvrFrCZdistutils.corerZdistutils.debugrZdistutils.utilrZdistutils.file_utilrZdistutils.errorsZdistutils.sysconfigrZ distutilsrr r>r>r>r?s      __pycache__/sdist.cpython-38.opt-2.pyc000064400000025644147577664100013526 0ustar00U ,a=J@sddlZddlZddlmZddlmZddlmZddlmZddlm Z ddlm Z ddl m Z dd l mZdd lmZdd lmZdd lmZmZd dZGdddeZdS)N)glob)warn)Command)dir_util) file_util) archive_util)TextFile)FileList)log) convert_path)DistutilsTemplateErrorDistutilsOptionErrorcCs`ddlm}ddlm}g}|D] }|d|d||dfq$|||ddS)Nr) FancyGetopt)ARCHIVE_FORMATSformats=z.List of available source distribution formats:)Zdistutils.fancy_getoptrZdistutils.archive_utilrkeysappendsortZ print_help)rrformatsformatrd?Zd@dAZdBdCZdDdEZ dFdGZ!dHdIZ"dS)Jsdistz6create a source distribution (tarball, zip file, etc.)cCs|jSN)metadata_checkselfrrrchecking_metadata(szsdist.checking_metadata)z template=tz5name of manifest template file [default: MANIFEST.in])z manifest=mz)name of manifest file [default: MANIFEST]) use-defaultsNzRinclude the default file set in the manifest [default; disable with --no-defaults]) no-defaultsNz"don't include the default file set)pruneNzspecifically exclude files/directories that should not be distributed (build tree, RCS/CVS dirs, etc.) [default; disable with --no-prune])no-pruneNz$don't automatically exclude anything) manifest-onlyozEjust regenerate the manifest and then stop (implies --force-manifest))force-manifestfzkforcibly regenerate the manifest and carry on as usual. Deprecated: now the manifest is always regenerated.)rNz6formats for source distribution (comma-separated list)) keep-tempkz@keep the distribution tree around after creating archive file(s))z dist-dir=dzFdirectory to put the source distribution archive(s) in [default: dist])metadata-checkNz[Ensure that all required elements of meta-data are supplied. Warn if any missing. [default])zowner=uz@Owner name used when creating a tar file [default: current user])zgroup=gzAGroup name used when creating a tar file [default: current group]r"r$r&r(r*r-z help-formatsNz#list available distribution formats)r#r%check)ZREADMEz README.txtz README.rstcCsTd|_d|_d|_d|_d|_d|_dg|_d|_d|_d|_ d|_ d|_ d|_ dS)NrZgztar) templatemanifest use_defaultsr$ manifest_onlyZforce_manifestr keep_tempdist_dir archive_filesrownergrouprrrrinitialize_optionseszsdist.initialize_optionscCsZ|jdkrd|_|jdkr d|_|dt|j}|rFtd||jdkrVd|_dS)NZMANIFESTz MANIFEST.inrzunknown archive format '%s'Zdist)r3r2Zensure_string_listrZcheck_archive_formatsrr r7)rZ bad_formatrrrfinalize_options|s     zsdist.finalize_optionscCs>t|_|D]}||q||jr2dS|dSr)r filelistZget_sub_commandsZ run_command get_file_listr5make_distribution)rZcmd_namerrrruns  z sdist.runcCs*tdt|jd}||dS)Nzadistutils.command.sdist.check_metadata is deprecated, use the check command insteadr0)rPendingDeprecationWarning distributionZget_command_objZensure_finalizedr@)rr0rrrcheck_metadatas  zsdist.check_metadatacCstj|j}|s:|r:||j|jdS|sN| d|j|j |j rf| |rr| |jr||j|j|dS)Nz?manifest template '%s' does not exist (using default file list))ospathisfiler2_manifest_is_not_generated read_manifestr=rZremove_duplicatesrfindallr4 add_defaults read_templater$prune_file_listwrite_manifest)rZtemplate_existsrrrr>s(      zsdist.get_file_listcCs<|||||||dSr)_add_defaults_standards_add_defaults_optional_add_defaults_python_add_defaults_data_files_add_defaults_ext_add_defaults_c_libs_add_defaults_scriptsrrrrrJszsdist.add_defaultscCs:tj|sdStj|}tj|\}}|t|kS)NF)rDrEexistsabspathsplitlistdir)fspathrVZ directoryfilenamerrr_cs_path_existss  zsdist._cs_path_existscCs|j|jjg}|D]~}t|trj|}d}|D]"}||r,d}|j|qPq,|s|dd |q||r|j|q|d|qdS)NFTz,standard file not found: should have one of z, zstandard file '%s' not found) READMESrBZ script_name isinstancetupler[r=rrjoin)rZ standardsfnZaltsZgot_itrrrrNs"    zsdist._add_defaults_standardscCs4ddg}|D]"}ttjjt|}|j|q dS)Nz test/test*.pyz setup.cfg)filterrDrErFrr=extend)rZoptionalpatternfilesrrrrOszsdist._add_defaults_optionalcCs\|d}|jr$|j||jD],\}}}}|D]}|jtj ||q:q*dS)Nbuild_py) get_finalized_commandrBZhas_pure_modulesr=rbget_source_files data_filesrrDrEr_)rreZpkgZsrc_dirZ build_dir filenamesrZrrrrPs   zsdist._add_defaults_pythoncCsz|jrv|jjD]b}t|trBt|}tj|rt|j |q|\}}|D]$}t|}tj|rN|j |qNqdSr) rBZhas_data_filesrhr]strr rDrErFr=r)ritemdirnamerir)rrrrQ$s     zsdist._add_defaults_data_filescCs(|jr$|d}|j|dS)N build_ext)rBZhas_ext_modulesrfr=rbrg)rrmrrrrR5s  zsdist._add_defaults_extcCs(|jr$|d}|j|dS)N build_clib)rBZhas_c_librariesrfr=rbrg)rrnrrrrS:s  zsdist._add_defaults_c_libscCs(|jr$|d}|j|dS)N build_scripts)rBZ has_scriptsrfr=rbrg)rrorrrrT?s  zsdist._add_defaults_scriptsc Cstd|jt|jddddddd}zh|}|dkr:qz|j|Wq(tt fk r}z| d|j |j |fW5d}~XYq(Xq(W5|XdS)Nzreading manifest template '%s'r1)Zstrip_commentsZ skip_blanksZ join_linesZ lstrip_wsZ rstrip_wsZ collapse_joinz%s, line %d: %s) r infor2rclosereadliner=Zprocess_template_liner ValueErrorrrZZ current_line)rr2linemsgrrrrKDs&   zsdist.read_templatecCs|d}|j}|jjd|jd|jjd|dtjdkrFd}nd}dddd d d d g}d |d||f}|jj|dddS)Nbuild)prefixZwin32z/|\\/ZRCSZCVSz\.svnz\.hgz\.gitz\.bzrZ_darcsz(^|%s)(%s)(%s).*|r1)Zis_regex) rfrB get_fullnamer=Zexclude_patternZ build_basesysplatformr_)rrvbase_dirZsepsZvcs_dirsZvcs_ptrnrrrrLas    zsdist.prune_file_listcCsX|rtd|jdS|jjdd}|dd|tj |j|fd|jdS)Nz5not writing to manually maintained manifest file '%s'rz*# file GENERATED by distutils, do NOT editzwriting manifest file '%s') rGr rpr3r=rdinsertZexecuterZ write_file)rZcontentrrrrMys zsdist.write_manifestcCs<tj|jsdSt|j}z |}W5|X|dkS)NFz+# file GENERATED by distutils, do NOT edit )rDrErFr3openrqrr)rfpZ first_linerrrrGs   z sdist._manifest_is_not_generatedc CsVtd|jt|j4}|D](}|}|ds|s:q|j|qW5QRXdS)Nzreading manifest file '%s'#)r rpr3rstrip startswithr=r)rr3rtrrrrHs zsdist.read_manifestcCs||tj|||jdttdr4d}d|}n d}d|}|sPtdn t||D]<}tj |s|td|q^tj ||}|j |||dq^|j j|dS) Ndry_runlinkZhardzmaking hard links in %s...zcopying files to %s...z)no files to distribute -- empty manifest?z#'%s' not a regular file -- skipping)r)ZmkpathrZ create_treerhasattrrDr rrprErFr_Z copy_filerBZmetadataZwrite_pkg_info)rr}rdrrufiledestrrrmake_release_trees      zsdist.make_release_treecCs|j}tj|j|}|||jjg}d|j krT|j |j |j d|j D]:}|j ||||j|jd}| ||jj dd|fqZ||_|jstj||jddS)NZtar)r}r9r:rr)rBrzrDrEr_r7rr=rdrrpopindexZ make_archiver9r:Z dist_filesr8r6rZ remove_treer)rr}Z base_namer8Zfmtrrrrr?s     zsdist.make_distributioncCs|jSr)r8rrrrget_archive_filesszsdist.get_archive_files)#__name__ __module__ __qualname__Z descriptionrZ user_optionsZboolean_optionsrZ help_optionsZ negative_optZ sub_commandsr\r;r<r@rCr>rJ staticmethodr[rNrOrPrQrRrSrTrKrLrMrGrHrr?rrrrrr$sp' (  *r)rDr{rwarningsrZdistutils.corerZ distutilsrrrZdistutils.text_filerZdistutils.filelistr r Zdistutils.utilr Zdistutils.errorsr r rrrrrrs          __pycache__/upload.cpython-38.opt-1.pyc000064400000011532147577664100013652 0ustar00U ,aY@sdZddlZddlZddlZddlZddlmZddlmZm Z m Z ddl m Z ddl mZmZddlmZddlmZdd lmZGd d d eZdS) zm distutils.command.upload Implements the Distutils 'upload' subcommand (upload package to a package index). N)standard_b64encode)urlopenRequest HTTPError)urlparse)DistutilsErrorDistutilsOptionError) PyPIRCCommand)spawn)logc@sJeZdZdZejddgZejdgZddZddZd d Z d d Z d S)uploadzupload binary package to PyPI)signszsign files to upload using gpg)z identity=izGPG identity used to sign filesr cCs,t|d|_d|_d|_d|_d|_dS)NrF)r initialize_optionsusernamepassword show_responser identity)selfr=/opt/alt/python38/lib64/python3.8/distutils/command/upload.pyr s  zupload.initialize_optionscCsrt||jr|jstd|}|ikrV|d|_|d|_|d|_|d|_ |jsn|j jrn|j j|_dS)Nz.Must use --sign for --identity to have meaningrr repositoryrealm) r finalize_optionsrr rZ _read_pypircrrrr distribution)rZconfigrrrr(s      zupload.finalize_optionscCs:|jjsd}t||jjD]\}}}||||qdS)NzHMust create and upload files in one command (e.g. setup.py sdist upload))rZ dist_filesr upload_file)rmsgcommand pyversionfilenamerrrrun:s z upload.runc Cst|j\}}}}}} |s"|s"| r0td|j|dkrDtd||jr|ddd|g} |jrnd|jg| dd<t| |jd t|d } z | } W5| X|j j } d d | | tj|| f||t| d | | | | | | | | | | | | | d}d|d<|jrpt|dd "} tj|d| f|d<W5QRX|j!d|j"#d}dt$|%d}d}d|#d}|d}t&'}|(D]\}}d|}t)|t*s|g}|D]j}t+|t,kr|d|d7}|d}nt-|#d}|.||.|#d|.d|.|qq|.||/}d||jf}|0|t1j2d |t-t3||d!}t4|j||d"}zt5|}|6}|j7}Wnft8k r}z|j9}|j7}W5d}~XYn8t:k r.}z|0t-|t1j;W5d}~XYnX|d#kr|0d$||ft1j2|j<r|=|}d%>d&|d&f}|0|t1j2n"d'||f}|0|t1j;t?|dS)(NzIncompatible url %s)ZhttpZhttpszunsupported schema Zgpgz --detach-signz-az --local-user)dry_runrbZ file_upload1z1.0)z:actionZprotocol_versionnameversioncontentZfiletyper Z md5_digestZmetadata_versionZsummaryZ home_pageZauthorZ author_emaillicense descriptionkeywordsplatformZ classifiersZ download_urlZprovidesZrequiresZ obsoletesrZcommentz.ascZ gpg_signature:asciizBasic z3--------------GHSKFJDLGDS7543FJKLFHRE75642756743254s --s-- z+ Content-Disposition: form-data; name="%s"z; filename="%s"rzutf-8s zSubmitting %s to %sz multipart/form-data; boundary=%s)z Content-typezContent-lengthZ Authorization)dataheaderszServer response (%s): %s zK---------------------------------------------------------------------------zUpload failed (%s): %s)@rrAssertionErrorr rr r$openclosereadrZmetadataZget_nameZ get_versionospathbasenamehashlibZmd5Z hexdigestZget_descriptionZget_urlZ get_contactZget_contact_emailZ get_licenceZget_long_descriptionZ get_keywordsZ get_platformsZget_classifiersZget_download_urlZ get_providesZ get_requiresZ get_obsoletesrrencoderdecodeioBytesIOitems isinstancelisttypetuplestrwritegetvalueZannouncer INFOlenrrZgetcoderrcodeOSErrorZERRORrZ_read_pypi_responsejoinr) rrr r!ZschemaZnetlocZurlZparamsZqueryZ fragmentsZgpg_argsfr)metar1Z user_passZauthboundaryZ sep_boundaryZ end_boundaryZbodykeyvaluetitlerr2ZrequestresultZstatusreasonetextrrrrBs       !          zupload.upload_fileN) __name__ __module__ __qualname__r+r Z user_optionsZboolean_optionsrrr"rrrrrr s r )__doc__r9r?r-r<base64rZurllib.requestrrrZ urllib.parserZdistutils.errorsrrZdistutils.corer Zdistutils.spawnr Z distutilsr r rrrrs     __pycache__/build_clib.cpython-38.opt-1.pyc000064400000011335147577664100014457 0ustar00U ,aV@sTdZddlZddlmZddlTddlmZddlmZddZ Gd d d eZ dS) zdistutils.command.build_clib Implements the Distutils 'build_clib' command, to build a C/C++ library that is included in the module distribution and needed by an extension module.N)Command)*)customize_compiler)logcCsddlm}|dS)Nrshow_compilers)distutils.ccompilerrrr A/opt/alt/python38/lib64/python3.8/distutils/command/build_clib.pyrs rc@sleZdZdZdddddgZddgZd d d efgZd d ZddZ ddZ ddZ ddZ ddZ ddZd S) build_clibz/build C/C++ libraries used by Python extensions)z build-clib=bz%directory to build C/C++ libraries to)z build-temp=tz,directory to put temporary build by-products)debuggz"compile with debugging information)forcefz2forcibly build everything (ignore file timestamps))z compiler=czspecify the compiler typerrz help-compilerNzlist available compilerscCs:d|_d|_d|_d|_d|_d|_d|_d|_d|_dS)Nr) r build_temp libraries include_dirsdefineundefrrcompilerselfr r r initialize_options4szbuild_clib.initialize_optionscCsh|dddddd|jj|_|jr0||j|jdkrH|jjpDg|_t|jtrd|jtj |_dS)NZbuild)rr )rr)rr)rr)rr) Zset_undefined_optionsZ distributionrcheck_library_listr isinstancestrsplitospathseprr r r finalize_optionsDs    zbuild_clib.finalize_optionscCs|js dSddlm}||j|j|jd|_t|j|jdk rN|j|j|j dk rv|j D]\}}|j ||q^|j dk r|j D]}|j |q| |jdS)Nr) new_compiler)rdry_runr)rrr#rr$rrrZset_include_dirsrZ define_macrorZundefine_macrobuild_libraries)rr#namevalueZmacror r r run^s"      zbuild_clib.runcCst|tstd|D]z}t|ts8t|dkr8td|\}}t|tsRtdd|ksntjdkr~tj|kr~td|dt|tstdqd S) a`Ensure that the list of libraries is valid. `library` is presumably provided as a command option 'libraries'. This method checks that it is a list of 2-tuples, where the tuples are (library_name, build_info_dict). Raise DistutilsSetupError if the structure is invalid anywhere; just returns otherwise. z+'libraries' option must be a list of tuplesz*each element of 'libraries' must a 2-tuplezNfirst element of each tuple in 'libraries' must be a string (the library name)/z;bad library name '%s': may not contain directory separatorsrzMsecond element of each tuple in 'libraries' must be a dictionary (build info)N) rlistDistutilsSetupErrortuplelenrr sepdict)rrlibr& build_infor r r rvs,   zbuild_clib.check_library_listcCs,|js dSg}|jD]\}}||q|S)N)rappend)rZ lib_nameslib_namer2r r r get_library_namess  zbuild_clib.get_library_namescCsZ||jg}|jD]>\}}|d}|dks>t|ttfsJtd|||q|S)Nsourcesfin 'libraries' option (library '%s'), 'sources' must be present and must be a list of source filenames)rrgetrr+r-r,extend)r filenamesr4r2r6r r r get_source_filess   zbuild_clib.get_source_filescCs|D]\}}|d}|dks,t|ttfs8td|t|}td||d}|d}|jj||j |||j d}|jj |||j |j dqdS)Nr6r7zbuilding '%s' librarymacrosr) output_dirr<rr)r=r) r8rr+r-r,rinforcompilerrZcreate_static_libr )rrr4r2r6r<rZobjectsr r r r%s,      zbuild_clib.build_libraries)__name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsrZ help_optionsrr"r(rr5r;r%r r r r r s( $ r ) __doc__r Zdistutils.corerZdistutils.errorsZdistutils.sysconfigrZ distutilsrrr r r r r s   __pycache__/clean.cpython-38.opt-2.pyc000064400000003760147577664100013455 0ustar00U ,a @s@ddlZddlmZddlmZddlmZGdddeZdS)N)Command) remove_tree)logc@s>eZdZdZddddddgZdgZd d Zd d Zd dZdS)cleanz-clean up temporary files from 'build' command)z build-base=bz2base build directory (default: 'build.build-base'))z build-lib=Nzs   __pycache__/build_ext.cpython-38.opt-1.pyc000064400000037430147577664100014352 0ustar00U ,aP{@sdZddlZddlZddlZddlZddlmZddlTddlm Z m Z ddlm Z ddl m Z ddlmZdd lmZdd lmZdd lmZed Zd dZGdddeZdS)zdistutils.command.build_ext Implements the Distutils 'build_ext' command, for building extension modules (currently limited to C extensions, should accommodate C++ extensions ASAP).N)Command)*)customize_compilerget_python_version)get_config_h_filename) newer_group) Extension) get_platform)log) USER_BASEz3^[a-zA-Z_][a-zA-Z_0-9]*(\.[a-zA-Z_][a-zA-Z_0-9]*)*$cCsddlm}|dS)Nrshow_compilers)distutils.ccompilerr r r@/opt/alt/python38/lib64/python3.8/distutils/command/build_ext.pyr s r c@seZdZdZdejZdddddefdd d d efd d ddddefddddddddddgZddddd gZ d!d"d#e fgZ d$d%Z d&d'Z d(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Zd4d5Zejd6d7Zd8d9Zd:d;Zdd?Zd@dAZdBdCZdDdEZdFdGZd"S)H build_extz8build C/C++ extensions (compile/link to build directory)z (separated by '%s'))z build-lib=bz(directory for compiled extension modules)z build-temp=tz1directory for temporary files (build by-products)z plat-name=pz>platform name to cross-compile for, if supported (default: %s))inplaceiziignore build-lib and put compiled extensions into the source directory alongside your pure Python modulesz include-dirs=Iz.list of directories to search for header files)zdefine=DzC preprocessor macros to define)zundef=Uz!C preprocessor macros to undefine)z libraries=lz!external C libraries to link withz library-dirs=Lz.directories to search for external C libraries)zrpath=Rz7directories to search for shared C libraries at runtime)z link-objects=Oz2extra explicit link objects to include in the link)debuggz'compile/link with debugging information)forcefz2forcibly build everything (ignore file timestamps))z compiler=czspecify the compiler type)z parallel=jznumber of parallel build jobs)swig-cppNz)make SWIG create C++ files (default is C))z swig-opts=Nz!list of SWIG command line options)zswig=Nzpath to the SWIG executable)userNz#add user include, library and rpathrrr r$r%z help-compilerNzlist available compilerscCsd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ d|_ d|_ d|_d|_d|_d|_d|_d|_d|_dS)Nr) extensions build_lib plat_name build_temprpackage include_dirsdefineundef libraries library_dirsrpath link_objectsrr compilerswigswig_cpp swig_optsr%parallelselfrrrinitialize_optionsjs*zbuild_ext.initialize_optionsc Csddlm}|ddddddd d |jdkr8|jj|_|jj|_|}|jd d }|j dkrn|jj pjg|_ t |j t r|j t j|_ tjtjkr|j t jtjd |j | t jj||kr|j | t jj|d|d|jdkrg|_|jdkrg|_nt |jt r:|j t j|_|jdkrNg|_nt |jt rl|j t j|_t jdkrh|jt jtjdtjtjkr|jt jtjd|jrt j|jd|_nt j|jd|_|j t jtt tdd}|r|j||j!dkr*d}n|j!dd}t jtjd}|r\t j||}|j|tj"dddkrtj#$t jtjdr|jt jtjddt%dn |jd|&dr|j's|j|&d n |jd|j(r|j( d!}d"d#|D|_(|j)r4|j) d!|_)|j*dkrHg|_*n|j* d$|_*|j+rt jt,d }t jt,d} t j-|r|j |t j-| r|j| |j| t |j.t rzt/|j.|_.Wnt0k rt1d%YnXdS)&Nr) sysconfigZbuild)r'r')r)r))r2r2)rr)r r )r6r6)r(r()Z plat_specificZincluder.r1ntZlibsZDebugZRelease_homewin32ZPCbuildcygwinbinlibpythonZconfig.Py_ENABLE_SHAREDZLIBDIR,cSsg|] }|dfqS)1r).0Zsymbolrrr sz.build_ext.finalize_options.. zparallel should be an integer)2 distutilsr:Zset_undefined_optionsr* distributionZ ext_packageZ ext_modulesr&Zget_python_incr+ isinstancestrsplitospathsepsys exec_prefixbase_exec_prefixappendpathjoinextendZensure_string_listr.r/r0nameprefixrr)dirnamergetattrr(platform executable startswithrget_config_varZ python_buildr,r-r5r%r isdirr6int ValueErrorZDistutilsOptionError) r8r:Z py_includeZplat_py_includeZ _sys_homesuffixZnew_libZdefinesZ user_includeZuser_librrrfinalize_optionss                           zbuild_ext.finalize_optionscCsjddlm}|jsdS|jrL|d}|j|p:g|j |j ||j |j |j|jd|_ t|j tjdkr|jtkr|j |j|jdk r|j |j|jdk r|jD]\}}|j ||q|jdk r|jD]}|j |q|jdk r|j |j|j dk r*|j |j |jdk rD|j |j|j dk r^|j !|j |"dS)Nr) new_compiler build_clib)r2verbosedry_runr r<)#rrgr&rMZhas_c_librariesget_finalized_commandr.rYZget_library_namesr/rVrhr2rirjr rrQrZr(r Z initializer+Zset_include_dirsr,Z define_macror-Zundefine_macroZ set_librariesZset_library_dirsr0Zset_runtime_library_dirsr1Zset_link_objectsbuild_extensions)r8rgrhrZvaluemacrorrrruns@            z build_ext.runc Csvt|tstdt|D]T\}}t|tr0qt|trFt|dkrNtd|\}}td|t|t rvt |s~tdt|t stdt||d}dD]"}| |}|d k rt|||q| d |_d |krtd | d }|rhg|_g|_|D]b} t| tr"t| dks*tdt| dkrJ|j| dnt| dkr|j| q|||<qd S)aEnsure that the list of extensions (presumably provided as a command option 'extensions') is valid, i.e. it is a list of Extension objects. We also support the old-style list of 2-tuples, where the tuples are (ext_name, build_info), which are converted to Extension instances here. Raise DistutilsSetupError if the structure is invalid anywhere; just returns otherwise. z:'ext_modules' option must be a list of Extension instanceszMeach element of 'ext_modules' option must be an Extension instance or 2-tuplezvold-style (ext_name, build_info) tuple found in ext_modules for extension '%s' -- please convert to Extension instancezRfirst element of each tuple in 'ext_modules' must be the extension name (a string)zOsecond element of each tuple in 'ext_modules' must be a dictionary (build info)sources)r+r/r. extra_objectsextra_compile_argsextra_link_argsNr0Zdef_filez9'def_file' element of build info dict no longer supportedmacros)r;rpz9'macros' element of build info dict must be 1- or 2-tupler;r)rNlistDistutilsSetupError enumeratertuplelenr warnrOextension_name_rematchdictgetsetattrruntime_library_dirs define_macros undef_macrosrV) r8r&rextext_nameZ build_infokeyvalrurnrrrcheck_extensions_listVs^        zbuild_ext.check_extensions_listcCs,||jg}|jD]}||jq|SN)rr&rYrq)r8 filenamesrrrrget_source_filess   zbuild_ext.get_source_filescCs2||jg}|jD]}|||jq|Sr)rr&rVget_ext_fullpathrZ)r8Zoutputsrrrr get_outputss   zbuild_ext.get_outputscCs(||j|jr|n|dSr)rr&r6_build_extensions_parallel_build_extensions_serialr7rrrrls  zbuild_ext.build_extensionsc sj}jdkrt}zddlm}Wntk r@d}YnX|dkrVdS||dPfddjD}tj|D]&\}} || W5QRXqW5QRXdS)NTr)ThreadPoolExecutor)Z max_workerscsg|]}j|qSr)Zsubmitbuild_extension)rIrZexecutorr8rrrJsz8build_ext._build_extensions_parallel..) r6rQ cpu_countZconcurrent.futuresr ImportErrorrr&zip_filter_build_errorsresult)r8ZworkersrZfuturesrZfutrrrrs"     z$build_ext._build_extensions_parallelc Cs0|jD]$}||||W5QRXqdSr)r&rr)r8rrrrrs  z"build_ext._build_extensions_serialc csTz dVWnDtttfk rN}z |js*|d|j|fW5d}~XYnXdS)Nz"building extension "%s" failed: %s)ZCCompilerErrorZDistutilsErrorZ CompileErrorZoptionalr{rZ)r8rerrrrs zbuild_ext._filter_build_errorsc CsP|j}|dkst|ttfs*td|jt|}||j}||j}|jslt ||dslt d|jdSt d|j| ||}|jpg}|jdd}|jD]}||fq|jj||j||j|j ||jd}|dd|_|jr||j|jpg}|jp|j|} |jj|||||j|j|| ||j |j| d dS)Nzjin 'ext_modules' option (extension '%s'), 'sources' must be present and must be a list of source filenamesZnewerz$skipping '%s' extension (up-to-date)zbuilding '%s' extension)Z output_dirrur+rextra_postargsdepends)r.r/rrexport_symbolsrr)Z target_lang)!rqrNrvryrwrZrrr rr rinfo swig_sourcesrsrrrVr2compiler)r+Z_built_objectsrrrYrtlanguageZdetect_languageZlink_shared_object get_librariesr/rget_export_symbols) r8rrqext_pathrZ extra_argsrur-ZobjectsrrrrrsX        zbuild_ext.build_extensioncCs$g}g}i}|jrtd|js6d|jks6d|jkrI don't know how to find (much less run) SWIG on platform '%s'N)rQrZrWrXisfileZDistutilsPlatformError)r8Zversfnrrrrgs    zbuild_ext.find_swigcCs||}|d}||d}|jsRtjj|dd|g}tj|j|Sd|dd}|d}tj | |}tj||S)zReturns the path of the filename for a given extension. The file is located in `build_lib` or directly in the package (inplace option). rErNrbuild_py) get_ext_fullnamerPget_ext_filenamerrQrWrXr'rkabspathZget_package_dir)r8rfullnamemodpathfilenamer*rZ package_dirrrrrs   zbuild_ext.get_ext_fullpathcCs |jdkr|S|jd|SdS)zSReturns the fullname of a given extension name. Adds the `package.` prefixNrE)r*)r8rrrrrs zbuild_ext.get_ext_fullnamecCs.ddlm}|d}|d}tjj||S)zConvert the name of an extension (eg. "foo.bar") into the name of the file from which it will be loaded (eg. "foo/bar.so", or "foo\bar.pyd"). rrarEZ EXT_SUFFIX)distutils.sysconfigrarPrQrWrX)r8rrarZ ext_suffixrrrrs  zbuild_ext.get_ext_filenamecCsxd|jdd}z|dWn0tk rRd|dddd}YnXd |}||jkrr|j||jS) aReturn the list of symbols that a shared extension has to export. This either uses 'ext.export_symbols' or, if it's not provided, "PyInit_" + module_name. Only relevant on Windows, where the .pyd file (DLL) must export the module "PyInit_" function. _rErasciirZpunycode-_ZPyInit)rZrPencodeUnicodeEncodeErrorreplacedecoderrV)r8rreZ initfunc_namerrrrs"  zbuild_ext.get_export_symbolscCstjdkr^ddlm}t|j|sd}|jr4|d}|tjd?tjd?d@f}|j|gSndd l m }d }|d rt td rd }nr) MSVCCompilerz python%d%dZ_drFrFZgetandroidapilevelTrAZ_PYTHON_HOST_PLATFORMZANDROID_API_LEVELZMACHDEPZ LDVERSIONrD)rSr^Zdistutils._msvccompilerrrNr2r hexversionr.rrahasattrrQenviron)r8rrtemplateZ pythonlibraZlink_libpythonZ ldversionrrrrs4         zbuild_ext.get_libraries) __name__ __module__ __qualname__Z descriptionrQrRZsep_byr Z user_optionsZboolean_optionsr Z help_optionsr9rfrorrrrlrr contextlibcontextmanagerrrrrrrrrrrrrrr!sp +@N  K6  r)__doc__rrQrerSZdistutils.corerZdistutils.errorsrrrrZdistutils.dep_utilrZdistutils.extensionrZdistutils.utilr rLr Zsiter rr|r rrrrrs$       __pycache__/install_scripts.cpython-38.opt-2.pyc000064400000003746147577664100015614 0ustar00U ,a@s@ddlZddlmZddlmZddlmZGdddeZdS)N)Command)log)ST_MODEc@sLeZdZdZddddgZddgZdd Zd d Zd d ZddZ ddZ dS)install_scriptsz%install scripts (Python or otherwise))z install-dir=dzdirectory to install scripts to)z build-dir=bz'build directory (where to install from))forcefz-force installation (overwrite existing files)) skip-buildNzskip the build stepsrr cCsd|_d|_d|_d|_dS)Nr) install_dirr build_dir skip_buildselfrF/opt/alt/python38/lib64/python3.8/distutils/command/install_scripts.pyinitialize_optionssz"install_scripts.initialize_optionscCs |dd|dddddS)NZbuild) build_scriptsr Zinstall)rr )rr)r r )Zset_undefined_optionsrrrrfinalize_options!s  z install_scripts.finalize_optionscCs|js|d||j|j|_tjdkr~|D]H}|j rLt d|q4t |t dBd@}t d||t||q4dS)Nrposixzchanging mode of %simizchanging mode of %s to %o)r Z run_commandZ copy_treer r outfilesosname get_outputsZdry_runrinfostatrchmod)rfilemoderrrrun)s   zinstall_scripts.runcCs |jjp gSN)Z distributionZscriptsrrrr get_inputs8szinstall_scripts.get_inputscCs |jpgSr )rrrrrr;szinstall_scripts.get_outputsN) __name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsrrrr!rrrrrrsr)rZdistutils.corerZ distutilsrrrrrrrrs   __pycache__/bdist.cpython-38.opt-2.pyc000064400000006637147577664100013506 0ustar00U ,a@sDddlZddlmZddlTddlmZddZGdddeZdS) N)Command)*) get_platformcCsPddlm}g}tjD]"}|d|dtj|dfq||}|ddS)Nr) FancyGetoptformats=z'List of available distribution formats:)Zdistutils.fancy_getoptrbdistformat_commandsappendformat_commandZ print_help)rformatsformatZpretty_printerr}z||j|dWq tk rFtd|Yq Xq tt|jD]h}||}||}||jkr|j||_ |dkr|j |_ |j |_ |||ddkrd|_ | |qXdS)Nrzinvalid format '%s'r#r)r r r r2ZDistutilsOptionErrorrangelenZreinitialize_commandno_format_optionr r)r(Z keep_tempZ run_command)r*Zcommandsr iZcmd_nameZsub_cmdrrrrunvs"    z bdist.run)__name__ __module__ __qualname__Z descriptionrZ user_optionsZboolean_optionsrZ help_optionsr6r0r r r+r3r8rrrrrsR   r)r-Zdistutils.corerZdistutils.errorsZdistutils.utilrrrrrrrs    __pycache__/bdist_wininst.cpython-38.pyc000064400000020470147577664100014310 0ustar00U ,a>@sxdZddlZddlZddlZddlmZddlmZddlm Z m Z ddl Tddl m Z ddlmZGd d d eZdS) zzdistutils.command.bdist_wininst Implements the Distutils 'bdist_wininst' command: create a windows installer exe-program.N)Command) get_platform) create_tree remove_tree)*)get_python_version)logc seZdZdZddddefdddd d d d d dddg ZddddgZejdkZ fddZ ddZ ddZ ddZ ddZd'd!d"Zd#d$Zd%d&ZZS)( bdist_wininstz-create an executable installer for MS Windows)z bdist-dir=Nz1temporary directory for creating the distributionz plat-name=pz;platform name to embed in generated filenames (default: %s)) keep-tempkzPkeep the pseudo-installation tree around after creating the distribution archive)ztarget-version=Nz6require a specific python version on the target system)no-target-compilecz/do not compile .py to .pyc on the target system)no-target-optimizeoz;do not compile .py to .pyo (optimized) on the target system)z dist-dir=dz-directory to put final built distributions in)zbitmap=bz>bitmap to use for the installer instead of python-powered logo)ztitle=tz?title to display on the installer background instead of default) skip-buildNz2skip rebuilding everything (for testing/debugging))zinstall-script=NzUbasename of installation script to be run after installation or before deinstallation)zpre-install-script=Nz{Fully qualified filename of a script to be run before any files are installed. This script need not be in the distribution)zuser-access-control=Nzspecify Vista's UAC handling - 'none'/default=no handling, 'auto'=use UAC if target Python installed for all users, 'force'=always use UACr r rrwin32cs tj||tdtddS)Nz^bdist_wininst command is deprecated since Python 3.8, use bdist_wheel (wheel packages) instead)super__init__warningswarnDeprecationWarning)selfargskw __class__D/opt/alt/python38/lib64/python3.8/distutils/command/bdist_wininst.pyr?s zbdist_wininst.__init__cCsRd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ d|_ dS)Nr) bdist_dir plat_name keep_tempno_target_compileno_target_optimizetarget_versiondist_dirbitmaptitle skip_buildinstall_scriptpre_install_scriptuser_access_control)rr!r!r"initialize_optionsEsz bdist_wininst.initialize_optionscCs|dd|jdkrR|jr6|jr6|jd}|j|_|dj}tj |d|_|j s^d|_ |js|j rt }|j r|j |krtd|f||_ |ddd|jr|jjD]}|jtj |krqqtd|jdS) Nbdist)r,r,ZwininstzMtarget version can only be %s, or the '--skip-build' option must be specified)r)r))r$r$z(install_script '%s' not found in scripts)Zset_undefined_optionsr#r,r$ distributionZget_command_objget_finalized_command bdist_baseospathjoinr(has_ext_modulesrZDistutilsOptionErrorr-scriptsbasename)rr1r5Z short_versionscriptr!r!r"finalize_optionsUs>      zbdist_wininst.finalize_optionsc Cstjdkr&|js|jr&td|js6|d|jddd}|j |_ |j|_d|_ |j |_ |d}d|_ d|_|jr|j}|s|jstd d tjdd }d |j |f}|d}tj|jd ||_dD],}|}|dkr|d}t|d||qtd|j |tjdtj|j d|tjd=ddlm }|} |j!} |j"| d|j d} |#| | |j$|jrt%} nd} |jj&'d| |(| ft)d| t*| |j+st,|j |j-ddS)Nrz^distribution contains extensions and/or C libraries; must be compiled on a Windows 32 platformbuildinstall)Zreinit_subcommandsr install_libz Should have already checked thisz%d.%drz.%s-%slib)ZpurelibZplatlibheadersr:datarCz/Include/$dist_nameZinstall_zinstalling to %sZPURELIB)mktempzip)Zroot_diranyr zremoving temporary file '%s')dry_run).sysplatformr3r9Zhas_c_librariesZDistutilsPlatformErrorr,Z run_commandZreinitialize_commandr#rootZwarn_dirr$compileoptimizer(AssertionError version_infor4r6r7r8Z build_baseZ build_libuppersetattrrinfoZensure_finalizedinsertrunZtempfilerE get_fullnameZ make_archive create_exer*rZ dist_filesappendget_installer_filenamedebugremover%rrH) rr?rAr(Zplat_specifierr>keyvaluerEZarchive_basenamefullnamearcnameZ pyversionr!r!r"rT{st            zbdist_wininst.runc CsZg}|jj}|d|jpdd}dd}dD]B}t||d}|r0|d|||f}|d|||fq0|d |jr|d |j|d |||d |j |d |j |j r|d|j |j r|d|j |j p|j }|d||ddl }ddl} d|| | jf} |d| d|S)Nz [metadata]r2 cSs |ddS)Nr_z\n)replace)sr!r!r"escapesz)bdist_wininst.get_inidata..escape)ZauthorZ author_email descriptionZ maintainerZmaintainer_emailnameZurlversionz %s: %sz%s=%sz [Setup]zinstall_script=%szinfo=%sztarget_compile=%dztarget_optimize=%dztarget_version=%szuser_access_control=%sztitle=%srzBuilt %s with distutils-%sz build_info=%s)r3metadatarWZlong_descriptiongetattr capitalizer-r&r'r(r/r+rUtime distutilsctime __version__r8) rlinesrfrRrbrdrDr+rirjZ build_infor!r!r" get_inidatas>   zbdist_wininst.get_inidataNc CsHddl}||j|}||}|d||r`t|d}|}W5QRXt|} nd} t|d} | | |r| |t |t r| d}|d}|jrt|jddd } |  d} W5QRX|| d }n|d}| ||d d t|| } | | t|d}| |W5QRXW5QRXdS) Nrz creating %srbwbmbcsrzlatin-1)encodings zs8          zbdist_wininst.get_exe_bytes)N)__name__ __module__ __qualname__rcrZ user_optionsZboolean_optionsrIrJZ _unsupportedrr0r=rTrnrVrXrz __classcell__r!r!rr"r s>%  &Q. 7 r )__doc__r6rIrZdistutils.corerZdistutils.utilrZdistutils.dir_utilrrZdistutils.errorsZdistutils.sysconfigrrjrr r!r!r!r"s    __pycache__/bdist_dumb.cpython-38.pyc000064400000007027147577664100013547 0ustar00U ,a1@shdZddlZddlmZddlmZddlmZmZddl Tddl m Z ddl m Z Gd d d eZdS) zdistutils.command.bdist_dumb Implements the Distutils 'bdist_dumb' command (create a "dumb" built distribution -- i.e., just an archive to be unpacked under $prefix or $exec_prefix).N)Command) get_platform) remove_treeensure_relative)*)get_python_version)logc @s^eZdZdZddddefdddd d d d g Zd ddgZdddZddZddZ ddZ dS) bdist_dumbz"create a "dumb" built distribution)z bdist-dir=dz1temporary directory for creating the distributionz plat-name=pz;platform name to embed in generated filenames (default: %s))zformat=fz>archive format to create (tar, gztar, bztar, xztar, ztar, zip)) keep-tempkzPkeep the pseudo-installation tree around after creating the distribution archive)z dist-dir=r z-directory to put final built distributions in) skip-buildNz2skip rebuilding everything (for testing/debugging))relativeNz7build the archive using relative paths (default: false))zowner=uz@Owner name used when creating a tar file [default: current user])zgroup=gzAGroup name used when creating a tar file [default: current group]r rrZgztarzip)posixntcCs:d|_d|_d|_d|_d|_d|_d|_d|_d|_dS)Nr) bdist_dir plat_nameformat keep_tempdist_dir skip_buildrownergroup)selfrA/opt/alt/python38/lib64/python3.8/distutils/command/bdist_dumb.pyinitialize_options2szbdist_dumb.initialize_optionscCsz|jdkr&|dj}tj|d|_|jdkrfz|jtj|_Wn"t k rdt dtjYnX| dddddS)NZbdistZdumbz@don't know how to create dumb built distributions on platform %s)rr)rr)rr) rZget_finalized_command bdist_baseospathjoinrdefault_formatnameKeyErrorDistutilsPlatformErrorZset_undefined_options)rr"rrr finalize_options=s"    zbdist_dumb.finalize_optionscCs(|js|d|jddd}|j|_|j|_d|_td|j|dd|j |j f}t j |j|}|js~|j}nJ|jr|j|jkrtdt|jt|jfnt j |jt|j}|j||j||j|jd }|jrt}nd }|jjd ||f|js$t|j|jd dS) NZbuildinstall)Zreinit_subcommandsrzinstalling to %sz%s.%szScan't make a dumb built distribution where base and platbase are different (%s, %s))Zroot_dirrranyr )dry_run) rZ run_commandZreinitialize_commandrrootZwarn_dirrinfoZ distributionZ get_fullnamerr#r$r%rrZhas_ext_modulesZ install_baseZinstall_platbaser)reprrZ make_archiverrrrZ dist_filesappendrrr.)rr+Zarchive_basenameZpseudoinstall_rootZ archive_rootfilenameZ pyversionrrr runOsR        zbdist_dumb.runN) __name__ __module__ __qualname__Z descriptionrZ user_optionsZboolean_optionsr&r!r*r4rrrr r s,  r )__doc__r#Zdistutils.corerZdistutils.utilrZdistutils.dir_utilrrZdistutils.errorsZdistutils.sysconfigrZ distutilsrr rrrr s    __pycache__/__init__.cpython-38.opt-1.pyc000064400000001056147577664100014125 0ustar00U ,a@s2dZddddddddd d d d d ddddddgZdS)z\distutils.command Package containing implementation of all the standard Distutils commands.ZbuildZbuild_pyZ build_extZ build_clibZ build_scriptsZcleanZinstallZ install_libZinstall_headersZinstall_scriptsZ install_dataZsdistregisterZbdistZ bdist_dumbZ bdist_rpmZ bdist_wininstZcheckZuploadN)__doc____all__rr?/opt/alt/python38/lib64/python3.8/distutils/command/__init__.pys(__pycache__/build.cpython-38.pyc000064400000007470147577664100012534 0ustar00U ,a@sTdZddlZddlZddlmZddlmZddlmZddZ Gdd d eZ dS) zBdistutils.command.build Implements the Distutils 'build' command.N)Command)DistutilsOptionError) get_platformcCsddlm}|dS)Nrshow_compilers)Zdistutils.ccompilerrrrs    __pycache__/sdist.cpython-38.pyc000064400000034303147577664100012556 0ustar00U ,a=J@sdZddlZddlZddlmZddlmZddlmZddlm Z ddlm Z ddlm Z dd l m Z dd lmZdd lmZdd lmZdd lmZmZddZGdddeZdS)zadistutils.command.sdist Implements the Distutils 'sdist' command (create a source distribution).N)glob)warn)Command)dir_util) file_util) archive_util)TextFile)FileList)log) convert_path)DistutilsTemplateErrorDistutilsOptionErrorcCs`ddlm}ddlm}g}|D] }|d|d||dfq$|||ddS)zoPrint all possible values for the 'formats' option (used by the "--help-formats" command-line option). r) FancyGetopt)ARCHIVE_FORMATSformats=Nz.List of available source distribution formats:)Zdistutils.fancy_getoptrZdistutils.archive_utilrkeysappendsortZ print_help)rrformatsformatrd?Zd@dAZdBdCZdDdEZ dFdGZ!dHdIZ"dS)Jsdistz6create a source distribution (tarball, zip file, etc.)cCs|jS)zYCallable used for the check sub-command. Placed here so user_options can view it)metadata_checkselfrrrchecking_metadata(szsdist.checking_metadata)z template=tz5name of manifest template file [default: MANIFEST.in])z manifest=mz)name of manifest file [default: MANIFEST]) use-defaultsNzRinclude the default file set in the manifest [default; disable with --no-defaults]) no-defaultsNz"don't include the default file set)pruneNzspecifically exclude files/directories that should not be distributed (build tree, RCS/CVS dirs, etc.) [default; disable with --no-prune])no-pruneNz$don't automatically exclude anything) manifest-onlyozEjust regenerate the manifest and then stop (implies --force-manifest))force-manifestfzkforcibly regenerate the manifest and carry on as usual. Deprecated: now the manifest is always regenerated.)rNz6formats for source distribution (comma-separated list)) keep-tempkz@keep the distribution tree around after creating archive file(s))z dist-dir=dzFdirectory to put the source distribution archive(s) in [default: dist])metadata-checkNz[Ensure that all required elements of meta-data are supplied. Warn if any missing. [default])zowner=uz@Owner name used when creating a tar file [default: current user])zgroup=gzAGroup name used when creating a tar file [default: current group]r!r#r%r'r)r,z help-formatsNz#list available distribution formats)r"r$check)ZREADMEz README.txtz README.rstcCsTd|_d|_d|_d|_d|_d|_dg|_d|_d|_d|_ d|_ d|_ d|_ dS)NrZgztar) templatemanifest use_defaultsr# manifest_onlyZforce_manifestr keep_tempdist_dir archive_filesrownergrouprrrrinitialize_optionseszsdist.initialize_optionscCsZ|jdkrd|_|jdkr d|_|dt|j}|rFtd||jdkrVd|_dS)NZMANIFESTz MANIFEST.inrzunknown archive format '%s'Zdist)r2r1Zensure_string_listrZcheck_archive_formatsrr r6)rZ bad_formatrrrfinalize_options|s     zsdist.finalize_optionscCs>t|_|D]}||q||jr2dS|dSN)r filelistZget_sub_commandsZ run_command get_file_listr4make_distribution)rZcmd_namerrrruns  z sdist.runcCs*tdt|jd}||dS)zDeprecated API.zadistutils.command.sdist.check_metadata is deprecated, use the check command insteadr/N)rPendingDeprecationWarning distributionZget_command_objZensure_finalizedr@)rr/rrrcheck_metadatas  zsdist.check_metadatacCstj|j}|s:|r:||j|jdS|sN| d|j|j |j rf| |rr| |jr||j|j|dS)aCFigure out the list of files to include in the source distribution, and put it in 'self.filelist'. This might involve reading the manifest template (and writing the manifest), or just reading the manifest, or just using the default file set -- it all depends on the user's options. Nz?manifest template '%s' does not exist (using default file list))ospathisfiler1_manifest_is_not_generated read_manifestr=rZremove_duplicatesrfindallr3 add_defaults read_templater#prune_file_listwrite_manifest)rZtemplate_existsrrrr>s(      zsdist.get_file_listcCs<|||||||dS)a9Add all the default files to self.filelist: - README or README.txt - setup.py - test/test*.py - all pure Python modules mentioned in setup script - all files pointed by package_data (build_py) - all files defined in data_files. - all files defined as scripts. - all C sources listed as part of extensions or C libraries in the setup script (doesn't catch C headers!) Warns if (README or README.txt) or setup.py are missing; everything else is optional. N)_add_defaults_standards_add_defaults_optional_add_defaults_python_add_defaults_data_files_add_defaults_ext_add_defaults_c_libs_add_defaults_scriptsrrrrrJszsdist.add_defaultscCs:tj|sdStj|}tj|\}}|t|kS)z Case-sensitive path existence check >>> sdist._cs_path_exists(__file__) True >>> sdist._cs_path_exists(__file__.upper()) False F)rDrEexistsabspathsplitlistdir)fspathrVZ directoryfilenamerrr_cs_path_existss  zsdist._cs_path_existscCs|j|jjg}|D]~}t|trj|}d}|D]"}||r,d}|j|qPq,|s|dd |q||r|j|q|d|qdS)NFTz,standard file not found: should have one of z, zstandard file '%s' not found) READMESrBZ script_name isinstancetupler[r=rrjoin)rZ standardsfnZaltsZgot_itrrrrNs"    zsdist._add_defaults_standardscCs4ddg}|D]"}ttjjt|}|j|q dS)Nz test/test*.pyz setup.cfg)filterrDrErFrr=extend)rZoptionalpatternfilesrrrrOszsdist._add_defaults_optionalcCs\|d}|jr$|j||jD],\}}}}|D]}|jtj ||q:q*dS)Nbuild_py) get_finalized_commandrBZhas_pure_modulesr=rbget_source_files data_filesrrDrEr_)rreZpkgZsrc_dirZ build_dir filenamesrZrrrrPs   zsdist._add_defaults_pythoncCsz|jrv|jjD]b}t|trBt|}tj|rt|j |q|\}}|D]$}t|}tj|rN|j |qNqdSr<) rBZhas_data_filesrhr]strr rDrErFr=r)ritemdirnamerir(rrrrQ$s     zsdist._add_defaults_data_filescCs(|jr$|d}|j|dS)N build_ext)rBZhas_ext_modulesrfr=rbrg)rrmrrrrR5s  zsdist._add_defaults_extcCs(|jr$|d}|j|dS)N build_clib)rBZhas_c_librariesrfr=rbrg)rrnrrrrS:s  zsdist._add_defaults_c_libscCs(|jr$|d}|j|dS)N build_scripts)rBZ has_scriptsrfr=rbrg)rrorrrrT?s  zsdist._add_defaults_scriptsc Cstd|jt|jddddddd}zh|}|dkr:qz|j|Wq(tt fk r}z| d|j |j |fW5d}~XYq(Xq(W5|XdS)zRead and parse manifest template file named by self.template. (usually "MANIFEST.in") The parsing and processing is done by 'self.filelist', which updates itself accordingly. zreading manifest template '%s'r0)Zstrip_commentsZ skip_blanksZ join_linesZ lstrip_wsZ rstrip_wsZ collapse_joinNz%s, line %d: %s) r infor1rclosereadliner=Zprocess_template_liner ValueErrorrrZZ current_line)rr1linemsgrrrrKDs&   zsdist.read_templatecCs|d}|j}|jjd|jd|jjd|dtjdkrFd}nd}ddd d d d d g}d|d||f}|jj|dddS)avPrune off branches that might slip into the file list as created by 'read_template()', but really don't belong there: * the build tree (typically "build") * the release tree itself (only an issue if we ran "sdist" previously with --keep-temp, or it aborted) * any RCS, CVS, .svn, .hg, .git, .bzr, _darcs directories buildN)prefixZwin32z/|\\/ZRCSZCVSz\.svnz\.hgz\.gitz\.bzrZ_darcsz(^|%s)(%s)(%s).*|r0)Zis_regex) rfrB get_fullnamer=Zexclude_patternZ build_basesysplatformr_)rrvbase_dirZsepsZvcs_dirsZvcs_ptrnrrrrLas    zsdist.prune_file_listcCsX|rtd|jdS|jjdd}|dd|tj |j|fd|jdS)zWrite the file list in 'self.filelist' (presumably as filled in by 'add_defaults()' and 'read_template()') to the manifest file named by 'self.manifest'. z5not writing to manually maintained manifest file '%s'Nrz*# file GENERATED by distutils, do NOT editzwriting manifest file '%s') rGr rpr2r=rdinsertZexecuterZ write_file)rZcontentrrrrMys zsdist.write_manifestcCs<tj|jsdSt|j}z |}W5|X|dkS)NFz+# file GENERATED by distutils, do NOT edit )rDrErFr2openrqrr)rfpZ first_linerrrrGs   z sdist._manifest_is_not_generatedc CsVtd|jt|j4}|D](}|}|ds|s:q|j|qW5QRXdS)zRead the manifest file (named by 'self.manifest') and use it to fill in 'self.filelist', the list of files to include in the source distribution. zreading manifest file '%s'#N)r rpr2rstrip startswithr=r)rr2rtrrrrHs zsdist.read_manifestcCs||tj|||jdttdr4d}d|}n d}d|}|sPtdn t||D]<}tj |s|td|q^tj ||}|j |||d q^|j j|dS) aCreate the directory tree that will become the source distribution archive. All directories implied by the filenames in 'files' are created under 'base_dir', and then we hard link or copy (if hard linking is unavailable) those files into place. Essentially, this duplicates the developer's source tree, but in a directory named after the distribution, containing only the files to be distributed. dry_runlinkZhardzmaking hard links in %s...Nzcopying files to %s...z)no files to distribute -- empty manifest?z#'%s' not a regular file -- skipping)r)ZmkpathrZ create_treerhasattrrDr rrprErFr_Z copy_filerBZmetadataZwrite_pkg_info)rr}rdrrufiledestrrrmake_release_trees      zsdist.make_release_treecCs|j}tj|j|}|||jjg}d|j krT|j |j |j d|j D]:}|j ||||j|jd}| ||jj dd|fqZ||_|jstj||jddS)aCreate the source distribution(s). First, we create the release tree with 'make_release_tree()'; then, we create all required archive files (according to 'self.formats') from the release tree. Finally, we clean up by blowing away the release tree (unless 'self.keep_temp' is true). The list of archive files created is stored so it can be retrieved later by 'get_archive_files()'. Ztar)r}r8r9rrN)rBrzrDrEr_r6rr=rdrrpopindexZ make_archiver8r9Z dist_filesr7r5rZ remove_treer)rr}Z base_namer7Zfmtrrrrr?s     zsdist.make_distributioncCs|jS)zzReturn the list of archive files created when the command was run, or None if the command hasn't run yet. )r7rrrrget_archive_filesszsdist.get_archive_files)#__name__ __module__ __qualname__Z descriptionrZ user_optionsZboolean_optionsrZ help_optionsZ negative_optZ sub_commandsr\r:r;r@rCr>rJ staticmethodr[rNrOrPrQrRrSrTrKrLrMrGrHrr?rrrrrr$sp' (  *r)__doc__rDr{rwarningsrZdistutils.corerZ distutilsrrrZdistutils.text_filerZdistutils.filelistr r Zdistutils.utilr Zdistutils.errorsr r rrrrrrs          __pycache__/install_egg_info.cpython-38.opt-2.pyc000064400000004434147577664100015675 0ustar00U ,a+ @s`ddlmZddlmZmZddlZddlZddlZGdddeZddZ dd Z d d Z dS) )Command)logdir_utilNc@s6eZdZdZdgZddZddZddZd d Zd S) install_egg_infoz8Install package's PKG-INFO metadata as an .egg-info file)z install-dir=dzdirectory to install tocCs d|_dSN) install_dirselfr G/opt/alt/python38/lib64/python3.8/distutils/command/install_egg_info.pyinitialize_optionssz#install_egg_info.initialize_optionscCsb|dddtt|jtt|jftjdd}t j |j ||_ |j g|_dS)NZ install_lib)rrz%s-%s-py%d.%d.egg-info)Zset_undefined_options to_filename safe_name distributionZget_name safe_versionZ get_versionsys version_infoospathjoinrtargetoutputs)r basenamer r r finalize_optionss  z!install_egg_info.finalize_optionsc Cs|j}tj|r0tj|s0tj||jdnNtj|rV| tj |jfd|n(tj|j s~| tj |j fd|j t d||jst|ddd}|jj|W5QRXdS)N)dry_runz Removing z Creating z Writing %swzUTF-8)encoding)rrrisdirislinkrZ remove_treerexistsZexecuteunlinkrmakedirsrinfoopenrZmetadataZwrite_pkg_file)r rfr r r run s  zinstall_egg_info.runcCs|jSr)rr r r r get_outputs.szinstall_egg_info.get_outputsN) __name__ __module__ __qualname__Z descriptionZ user_optionsr rr'r(r r r r r s rcCstdd|S)N[^A-Za-z0-9.]+-)resubnamer r r r6srcCs|dd}tdd|S)N .r,r-)replacer.r/)versionr r r r>s rcCs |ddS)Nr-_)r4r0r r r rHsr) Z distutils.cmdrZ distutilsrrrrr.rrrrr r r r s + __pycache__/bdist_rpm.cpython-38.opt-2.pyc000064400000027432147577664100014360 0ustar00U ,aIT@s|ddlZddlZddlZddlmZddlmZddlmZddl m Z ddl Tddl m Z ddlmZGd d d eZdS) N)Command)DEBUG) get_platform) write_file)*)get_python_version)logc)@seZdZdZdddddddd d d d d ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*g)Zd+d,d-d.d/gZd+d,d-d0Zd1d2Zd3d4Zd5d6Z d7d8Z d9d:Z d;d<Z d=d>Z d?S)@ bdist_rpmzcreate an RPM distribution)z bdist-base=Nz/base directory for creating built distributions)z rpm-base=Nzdbase directory for creating RPMs (defaults to "rpm" under --bdist-base; must be specified for RPM 2))z dist-dir=dzDdirectory to put final RPM files in (and .spec files if --spec-only))zpython=NzMpath to Python interpreter to hard-code in the .spec file (default: "python"))z fix-pythonNzLhard-code the exact path to the current Python interpreter in the .spec file)z spec-onlyNzonly regenerate spec file)z source-onlyNzonly generate source RPM)z binary-onlyNzonly generate binary RPM)z use-bzip2Nz7use bzip2 instead of gzip to create source distribution)zdistribution-name=Nzgname of the (Linux) distribution to which this RPM applies (*not* the name of the module distribution!))zgroup=Nz9package classification [default: "Development/Libraries"])zrelease=NzRPM release number)zserial=NzRPM serial number)zvendor=NzaRPM "vendor" (eg. "Joe Blow ") [default: maintainer or author from setup script])z packager=NzBRPM packager (eg. "Jane Doe ") [default: vendor])z doc-files=Nz6list of documentation files (space or comma-separated))z changelog=Nz RPM changelog)zicon=Nzname of icon file)z provides=Nz%capabilities provided by this package)z requires=Nz%capabilities required by this package)z conflicts=Nz-capabilities which conflict with this package)zbuild-requires=Nz+capabilities required to build this package)z obsoletes=Nz*capabilities made obsolete by this package) no-autoreqNz+do not automatically calculate dependencies) keep-tempkz"don't clean up RPM build directory) no-keep-tempNz&clean up RPM build directory [default])use-rpm-opt-flagsNz8compile with RPM_OPT_FLAGS when building from source RPM)no-rpm-opt-flagsNz&do not pass any RPM CFLAGS to compiler) rpm3-modeNz"RPM 3 compatibility mode (default)) rpm2-modeNzRPM 2 compatibility mode)z prep-script=Nz3Specify a script for the PREP phase of RPM building)z build-script=Nz4Specify a script for the BUILD phase of RPM building)z pre-install=Nz:Specify a script for the pre-INSTALL phase of RPM building)zinstall-script=Nz6Specify a script for the INSTALL phase of RPM building)z post-install=Nz;Specify a script for the post-INSTALL phase of RPM building)zpre-uninstall=Nz@/opt/alt/python38/lib64/python3.8/distutils/command/bdist_rpm.pyinitialize_optionssNzbdist_rpm.initialize_optionscCs|dd|jdkr6|js$tdtj|jd|_|jdkrX|j rPt j |_qfd|_n|j rftdtj dkr~t dtj |jr|jrtd |jsd |_|dd |dS) NZbdist)rrz)you must specify --rpm-base in RPM 2 moderpmZpython3z8--python and --fix-python are mutually exclusive optionsposixz9don't know how to create RPM distributions on platform %sz6cannot supply both '--source-only' and '--binary-only'r)rr)Zset_undefined_optionsrr9ZDistutilsOptionErrorospathjoinrrrsys executablenameZDistutilsPlatformErrorrr distributionhas_ext_modulesr8finalize_package_datar<r>r>r?finalize_optionss6        zbdist_rpm.finalize_optionscCsT|dd|dd|j|jf|d|dt|jtrxdD]&}tj |rP||jkrP|j |qP|dd |d |d |d | |j |_ |d |d|d|d|d|d|d|d|d|d|d|d|d|d|d|ddS)Nr zDevelopment/Librariesr#z%s <%s>r$r%)ZREADMEz README.txtr!1r"rr&r'r(r)r*r+r,r-r.r/r0r2r3r4r5r6r;)Z ensure_stringrIZ get_contactZget_contact_emailZensure_string_list isinstancer%listrCrDexistsappend_format_changelogr&Zensure_filename)r=Zreadmer>r>r?rKsB                        zbdist_rpm.finalize_package_datacCstrr>r?runs                            z bdist_rpm.runcCstj|jtj|S)N)rCrDrErre)r=rDr>r>r? _dist_pathszbdist_rpm._dist_pathc CsJd|jd|jddd|jd|jdddd|jg}td }d d d | D}d }d}|||}||kr| d| d|d | dddg|j r| dn | d| d|j d|jddg|js|js&| dn| d|jdD]V}t||}t|trb| d|d|fn|dk r*| d||fq*|jdkr| d |j|jr| d!|j|jr| d"d|j|jr| d#tj|j|jr| d$| dd%|jgd&|jtjtj d'f}d(|} |j!rXd)| } d*|} d+d,d-| fd.d/| fd0d1d2d3d4d5g } | D]n\} } }t|| }|s|r| dd6| g|rt"|}| |#$d W5QRXn | |q| dd7d8g|j%r$| d9d|j%|j&rF| dd:g| |j&|S);Nz %define name z%define version -_z%define unmangled_version z%define release z Summary: zrpm --eval %{__os_install_post} cSsg|]}d|qS)z %s \)rb).0rhr>r>r? sz-bdist_rpm._make_spec_file..zbrp-python-bytecompile \ z%brp-python-bytecompile %{__python} \ z2# Workaround for http://bugs.python.org/issue14443z%define __os_install_post z Name: %{name}zVersion: %{version}zRelease: %{release}z-Source0: %{name}-%{unmangled_version}.tar.bz2z,Source0: %{name}-%{unmangled_version}.tar.gzz License: zGroup: z>BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildrootzPrefix: %{_prefix}zBuildArch: noarchz BuildArch: %s)ZVendorZPackagerZProvidesZRequiresZ ConflictsZ Obsoletesz%s: %s ZUNKNOWNzUrl: zDistribution: zBuildRequires: zIcon: z AutoReq: 0z %descriptionz%s %srz%s buildzenv CFLAGS="$RPM_OPT_FLAGS" z>%s install -O1 --root=$RPM_BUILD_ROOT --record=INSTALLED_FILES)r1r(z&%setup -n %{name}-%{unmangled_version}Zbuildr)Zinstallr*)Zcleanr+zrm -rf $RPM_BUILD_ROOT)Z verifyscriptr,N)Zprer-N)Zpostr.N)Zpreunr/N)Zpostunr0N%z%files -f INSTALLED_FILESz%defattr(-,root,root)z%doc z %changelog)'rIrZZ get_versionreplacer!Zget_description subprocessZ getoutputrE splitlinesrQr]rZ get_licenser r;rJgetattrlowerrNrOZget_urlrr5r'rCrDrer:Zget_long_descriptionrrFargvr8openreadrcr%r&)r=Z spec_fileZ vendor_hookZproblemZfixedZ fixed_hookZfieldvalZdef_setup_callZ def_buildZ install_cmdZscript_optionsZrpm_optattrdefaultfr>r>r?r[s                       zbdist_rpm._make_spec_filecCs||s|Sg}|dD]N}|}|ddkrB|d|gq|ddkrZ||q|d|q|dsx|d=|S)Nrprrrormz )rbrcr]rQ)r=r&Z new_changelogrhr>r>r?rR1s   zbdist_rpm._format_changelogN)__name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsZ negative_optr@rLrKrkrlr[rRr>r>r>r?r sxm--*r )rvrFrCZdistutils.corerZdistutils.debugrZdistutils.utilrZdistutils.file_utilrZdistutils.errorsZdistutils.sysconfigrZ distutilsrr r>r>r>r?s      __pycache__/build_py.cpython-38.pyc000064400000024377147577664100013251 0ustar00U ,a&C@szdZddlZddlZddlZddlZddlmZddlTddl m Z m Z ddl m Z GdddeZGd d d ee ZdS) zHdistutils.command.build_py Implements the Distutils 'build_py' command.N)Command)*) convert_path Mixin2to3)logc@seZdZdZdddddgZddgZd diZd d Zd d ZddZ ddZ ddZ ddZ ddZ ddZddZddZddZd d!Zd"d#Zd$d%Zd2d'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1S)3build_pyz5"build" pure Python modules (copy to build directory))z build-lib=dzdirectory to "build" (copy) to)compileczcompile .py to .pyc) no-compileNz!don't compile .py files [default])z optimize=Ozlalso compile with optimization: -O1 for "python -O", -O2 for "python -OO", and -O0 to disable [default: -O0])forcefz2forcibly build everything (ignore file timestamps)r r r cCs4d|_d|_d|_d|_d|_d|_d|_d|_dS)Nr) build_lib py_modulespackage package_data package_dirr optimizer selfr?/opt/alt/python38/lib64/python3.8/distutils/command/build_py.pyinitialize_options szbuild_py.initialize_optionsc Cs|ddd|jj|_|jj|_|jj|_i|_|jjr^|jjD]\}}t||j|<qF||_ t |j t sz,t |j |_ d|j krdksnt Wn tt fk rtdYnXdS)NZbuild)rr)r r rzoptimize must be 0, 1, or 2)Zset_undefined_options distributionpackagesrrritemsrget_data_files data_files isinstancerintAssertionError ValueErrorZDistutilsOptionError)rnamepathrrrfinalize_options*s$       zbuild_py.finalize_optionscCs:|jr||jr$||||jdddSNr)include_bytecode)r build_modulesrbuild_packagesbuild_package_data byte_compile get_outputsrrrrrunCs z build_py.runcsg}|js|S|jD]h}||}tjj|jg|d}d|rPt|dfdd|||D}| ||||fq|S)z?Generate list of '(package,src_dir,build_dir,filenames)' tuples.rcsg|]}|dqSNr).0fileZplenrr ssz+build_py.get_data_files..) rget_package_dirosr%joinrsplitlenfind_data_filesappend)rdatarsrc_dir build_dir filenamesrr4rras     zbuild_py.get_data_filescsd|jdg|j|g}g|D]:}ttjt|t|}fdd|Dq$S)z6Return filenames for package's data files in 'src_dir'cs$g|]}|krtj|r|qSr)r7r%isfile)r2fnfilesrrr5s z,build_py.find_data_files..) rgetglobr7r%r8escaperextend)rrr>ZglobspatternZfilelistrrDrr;ys  zbuild_py.find_data_filescCs`d}|jD]P\}}}}|D]>}tj||}|tj||jtj|||ddqq dS)z$Copy data files into build directoryNFZ preserve_mode)rr7r%r8mkpathdirname copy_file)rZlastdirrr>r?r@filenametargetrrrr+szbuild_py.build_package_datacCs|d}|js&|r tjj|SdSng}|rz|jd|}Wn*tk rl|d|d|d=Yq*X|d|tjj|Sq*|jd}|dk r|d||rtjj|SdSdS)zReturn the directory, relative to the top of the source distribution, where package 'package' should be found (at least according to the 'package_dir' option, if any).r/rArN)r9rr7r%r8KeyErrorinsertrF)rrr%tailZpdirrrrr6s(       zbuild_py.get_package_dircCsj|dkr8tj|s td|tj|s8td||rftj|d}tj|rZ|Std|dS)NrAz%package directory '%s' does not existz>supposed package directory '%s' exists, but is not a directoryz __init__.pyz8package init file '%s' not found (or not a regular file)) r7r%existsZDistutilsFileErrorisdirr8rBrwarn)rrrinit_pyrrr check_packages&   zbuild_py.check_packagecCs&tj|std||dSdSdS)Nz!file %s (for module %s) not foundFT)r7r%rBrrW)rmodule module_filerrr check_modules zbuild_py.check_modulec Cs|||ttjt|d}g}tj|jj}|D]P}tj|}||krtj tj |d}| |||fq>| d|q>|S)Nz*.pyrz excluding %s) rYrGr7r%r8rHabspathrZ script_namesplitextbasenamer<Z debug_print) rrrZ module_filesmodulesZ setup_scriptrZabs_frZrrrfind_package_moduless  zbuild_py.find_package_modulesc Csi}g}|jD]}|d}d|dd}|d}z||\}}Wn"tk rh||}d}YnX|s|||} |df||<| r||d| ftj||d} | || sq|||| fq|S)aFinds individually-specified Python modules, ie. those listed by module name in 'self.py_modules'. Returns a list of tuples (package, module_base, filename): 'package' is a tuple of the path through package-space to the module; 'module_base' is the bare (no packages, no dots) module name, and 'filename' is the path to the ".py" file (relative to the distribution root) that implements the module. r/rrQr0__init__.py) rr9r8rRr6rYr<r7r%r\) rrr`rZr%rZ module_basercheckedrXr[rrr find_moduless*       zbuild_py.find_modulescCsNg}|jr|||jrJ|jD]$}||}|||}||q$|S)a4Compute the list of all modules that will be built, whether they are specified one-module-at-a-time ('self.py_modules') or by whole packages ('self.packages'). Return a list of tuples (package, module, module_file), just like 'find_modules()' and 'find_package_modules()' do.)rrIrerr6ra)rr`rrmrrrfind_all_moduless    zbuild_py.find_all_modulescCsdd|DS)NcSsg|] }|dqS)rQr)r2rZrrrr5-sz-build_py.get_source_files..)rgrrrrget_source_files,szbuild_py.get_source_filescCs$|gt||dg}tjj|S)Nrc)listr7r%r8)rr?rrZZ outfile_pathrrrget_module_outfile/szbuild_py.get_module_outfiler0cCs|}g}|D]p\}}}|d}||j||}|||r|jr^|tjj|dd|j dkr|tjj||j dq|dd|j D7}|S)Nr/rA) optimizationrcSs,g|]$\}}}}|D]}tj||qqSr)r7r%r8)r2rr>r?r@rOrrrr5Bs z(build_py.get_outputs..) rgr9rjrr<r importlibutilcache_from_sourcerr)rr(r`ZoutputsrrZr[rOrrrr-3s*      zbuild_py.get_outputscCsbt|tr|d}nt|ttfs,td||j||}tj |}| ||j ||ddS)Nr/z:'package' must be a string (dot-separated), list, or tuplerrK) r strr9rituple TypeErrorrjrr7r%rMrLrN)rrZr[rZoutfiledirrrr build_moduleJs    zbuild_py.build_modulecCs*|}|D]\}}}||||q dSr1)rers)rr`rrZr[rrrr)Yszbuild_py.build_modulescCsP|jD]D}||}|||}|D]$\}}}||ks:t||||q$qdSr1)rr6rar"rs)rrrr`Zpackage_rZr[rrrr*bs    zbuild_py.build_packagescCstjr|ddSddlm}|j}|dtjkr>|tj}|jrZ||d|j ||j d|j dkr||||j |j ||j ddS)Nz%byte-compiling is disabled, skipping.r)r,rQ)rr prefixdry_run) sysdont_write_bytecoderWdistutils.utilr,rr7sepr r rur)rrEr,rtrrrr,vs&    zbuild_py.byte_compileN)r0)__name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsZ negative_optrr&r.rr;r+r6rYr\rarergrhrjr-rsr)r*r,rrrrrs8    '4  rc@seZdZddZddZdS) build_py_2to3cCsLg|_|jr||jr*||||j||jdddSr') updated_filesrr)rr*r+Zrun_2to3r,r-rrrrr.s zbuild_py_2to3.runcCs,t||||}|dr(|j|d|S)Nr0r)rrsr~r<)rrZr[rresrrrrsszbuild_py_2to3.build_moduleN)rzr{r|r.rsrrrrr}sr})__doc__r7importlib.utilrlrvrGZdistutils.corerZdistutils.errorsrxrrZ distutilsrrr}rrrrs  }__pycache__/sdist.cpython-38.opt-1.pyc000064400000034303147577664100013515 0ustar00U ,a=J@sdZddlZddlZddlmZddlmZddlmZddlm Z ddlm Z ddlm Z dd l m Z dd lmZdd lmZdd lmZdd lmZmZddZGdddeZdS)zadistutils.command.sdist Implements the Distutils 'sdist' command (create a source distribution).N)glob)warn)Command)dir_util) file_util) archive_util)TextFile)FileList)log) convert_path)DistutilsTemplateErrorDistutilsOptionErrorcCs`ddlm}ddlm}g}|D] }|d|d||dfq$|||ddS)zoPrint all possible values for the 'formats' option (used by the "--help-formats" command-line option). r) FancyGetopt)ARCHIVE_FORMATSformats=Nz.List of available source distribution formats:)Zdistutils.fancy_getoptrZdistutils.archive_utilrkeysappendsortZ print_help)rrformatsformatrd?Zd@dAZdBdCZdDdEZ dFdGZ!dHdIZ"dS)Jsdistz6create a source distribution (tarball, zip file, etc.)cCs|jS)zYCallable used for the check sub-command. Placed here so user_options can view it)metadata_checkselfrrrchecking_metadata(szsdist.checking_metadata)z template=tz5name of manifest template file [default: MANIFEST.in])z manifest=mz)name of manifest file [default: MANIFEST]) use-defaultsNzRinclude the default file set in the manifest [default; disable with --no-defaults]) no-defaultsNz"don't include the default file set)pruneNzspecifically exclude files/directories that should not be distributed (build tree, RCS/CVS dirs, etc.) [default; disable with --no-prune])no-pruneNz$don't automatically exclude anything) manifest-onlyozEjust regenerate the manifest and then stop (implies --force-manifest))force-manifestfzkforcibly regenerate the manifest and carry on as usual. Deprecated: now the manifest is always regenerated.)rNz6formats for source distribution (comma-separated list)) keep-tempkz@keep the distribution tree around after creating archive file(s))z dist-dir=dzFdirectory to put the source distribution archive(s) in [default: dist])metadata-checkNz[Ensure that all required elements of meta-data are supplied. Warn if any missing. [default])zowner=uz@Owner name used when creating a tar file [default: current user])zgroup=gzAGroup name used when creating a tar file [default: current group]r!r#r%r'r)r,z help-formatsNz#list available distribution formats)r"r$check)ZREADMEz README.txtz README.rstcCsTd|_d|_d|_d|_d|_d|_dg|_d|_d|_d|_ d|_ d|_ d|_ dS)NrZgztar) templatemanifest use_defaultsr# manifest_onlyZforce_manifestr keep_tempdist_dir archive_filesrownergrouprrrrinitialize_optionseszsdist.initialize_optionscCsZ|jdkrd|_|jdkr d|_|dt|j}|rFtd||jdkrVd|_dS)NZMANIFESTz MANIFEST.inrzunknown archive format '%s'Zdist)r2r1Zensure_string_listrZcheck_archive_formatsrr r6)rZ bad_formatrrrfinalize_options|s     zsdist.finalize_optionscCs>t|_|D]}||q||jr2dS|dSN)r filelistZget_sub_commandsZ run_command get_file_listr4make_distribution)rZcmd_namerrrruns  z sdist.runcCs*tdt|jd}||dS)zDeprecated API.zadistutils.command.sdist.check_metadata is deprecated, use the check command insteadr/N)rPendingDeprecationWarning distributionZget_command_objZensure_finalizedr@)rr/rrrcheck_metadatas  zsdist.check_metadatacCstj|j}|s:|r:||j|jdS|sN| d|j|j |j rf| |rr| |jr||j|j|dS)aCFigure out the list of files to include in the source distribution, and put it in 'self.filelist'. This might involve reading the manifest template (and writing the manifest), or just reading the manifest, or just using the default file set -- it all depends on the user's options. Nz?manifest template '%s' does not exist (using default file list))ospathisfiler1_manifest_is_not_generated read_manifestr=rZremove_duplicatesrfindallr3 add_defaults read_templater#prune_file_listwrite_manifest)rZtemplate_existsrrrr>s(      zsdist.get_file_listcCs<|||||||dS)a9Add all the default files to self.filelist: - README or README.txt - setup.py - test/test*.py - all pure Python modules mentioned in setup script - all files pointed by package_data (build_py) - all files defined in data_files. - all files defined as scripts. - all C sources listed as part of extensions or C libraries in the setup script (doesn't catch C headers!) Warns if (README or README.txt) or setup.py are missing; everything else is optional. N)_add_defaults_standards_add_defaults_optional_add_defaults_python_add_defaults_data_files_add_defaults_ext_add_defaults_c_libs_add_defaults_scriptsrrrrrJszsdist.add_defaultscCs:tj|sdStj|}tj|\}}|t|kS)z Case-sensitive path existence check >>> sdist._cs_path_exists(__file__) True >>> sdist._cs_path_exists(__file__.upper()) False F)rDrEexistsabspathsplitlistdir)fspathrVZ directoryfilenamerrr_cs_path_existss  zsdist._cs_path_existscCs|j|jjg}|D]~}t|trj|}d}|D]"}||r,d}|j|qPq,|s|dd |q||r|j|q|d|qdS)NFTz,standard file not found: should have one of z, zstandard file '%s' not found) READMESrBZ script_name isinstancetupler[r=rrjoin)rZ standardsfnZaltsZgot_itrrrrNs"    zsdist._add_defaults_standardscCs4ddg}|D]"}ttjjt|}|j|q dS)Nz test/test*.pyz setup.cfg)filterrDrErFrr=extend)rZoptionalpatternfilesrrrrOszsdist._add_defaults_optionalcCs\|d}|jr$|j||jD],\}}}}|D]}|jtj ||q:q*dS)Nbuild_py) get_finalized_commandrBZhas_pure_modulesr=rbget_source_files data_filesrrDrEr_)rreZpkgZsrc_dirZ build_dir filenamesrZrrrrPs   zsdist._add_defaults_pythoncCsz|jrv|jjD]b}t|trBt|}tj|rt|j |q|\}}|D]$}t|}tj|rN|j |qNqdSr<) rBZhas_data_filesrhr]strr rDrErFr=r)ritemdirnamerir(rrrrQ$s     zsdist._add_defaults_data_filescCs(|jr$|d}|j|dS)N build_ext)rBZhas_ext_modulesrfr=rbrg)rrmrrrrR5s  zsdist._add_defaults_extcCs(|jr$|d}|j|dS)N build_clib)rBZhas_c_librariesrfr=rbrg)rrnrrrrS:s  zsdist._add_defaults_c_libscCs(|jr$|d}|j|dS)N build_scripts)rBZ has_scriptsrfr=rbrg)rrorrrrT?s  zsdist._add_defaults_scriptsc Cstd|jt|jddddddd}zh|}|dkr:qz|j|Wq(tt fk r}z| d|j |j |fW5d}~XYq(Xq(W5|XdS)zRead and parse manifest template file named by self.template. (usually "MANIFEST.in") The parsing and processing is done by 'self.filelist', which updates itself accordingly. zreading manifest template '%s'r0)Zstrip_commentsZ skip_blanksZ join_linesZ lstrip_wsZ rstrip_wsZ collapse_joinNz%s, line %d: %s) r infor1rclosereadliner=Zprocess_template_liner ValueErrorrrZZ current_line)rr1linemsgrrrrKDs&   zsdist.read_templatecCs|d}|j}|jjd|jd|jjd|dtjdkrFd}nd}ddd d d d d g}d|d||f}|jj|dddS)avPrune off branches that might slip into the file list as created by 'read_template()', but really don't belong there: * the build tree (typically "build") * the release tree itself (only an issue if we ran "sdist" previously with --keep-temp, or it aborted) * any RCS, CVS, .svn, .hg, .git, .bzr, _darcs directories buildN)prefixZwin32z/|\\/ZRCSZCVSz\.svnz\.hgz\.gitz\.bzrZ_darcsz(^|%s)(%s)(%s).*|r0)Zis_regex) rfrB get_fullnamer=Zexclude_patternZ build_basesysplatformr_)rrvbase_dirZsepsZvcs_dirsZvcs_ptrnrrrrLas    zsdist.prune_file_listcCsX|rtd|jdS|jjdd}|dd|tj |j|fd|jdS)zWrite the file list in 'self.filelist' (presumably as filled in by 'add_defaults()' and 'read_template()') to the manifest file named by 'self.manifest'. z5not writing to manually maintained manifest file '%s'Nrz*# file GENERATED by distutils, do NOT editzwriting manifest file '%s') rGr rpr2r=rdinsertZexecuterZ write_file)rZcontentrrrrMys zsdist.write_manifestcCs<tj|jsdSt|j}z |}W5|X|dkS)NFz+# file GENERATED by distutils, do NOT edit )rDrErFr2openrqrr)rfpZ first_linerrrrGs   z sdist._manifest_is_not_generatedc CsVtd|jt|j4}|D](}|}|ds|s:q|j|qW5QRXdS)zRead the manifest file (named by 'self.manifest') and use it to fill in 'self.filelist', the list of files to include in the source distribution. zreading manifest file '%s'#N)r rpr2rstrip startswithr=r)rr2rtrrrrHs zsdist.read_manifestcCs||tj|||jdttdr4d}d|}n d}d|}|sPtdn t||D]<}tj |s|td|q^tj ||}|j |||d q^|j j|dS) aCreate the directory tree that will become the source distribution archive. All directories implied by the filenames in 'files' are created under 'base_dir', and then we hard link or copy (if hard linking is unavailable) those files into place. Essentially, this duplicates the developer's source tree, but in a directory named after the distribution, containing only the files to be distributed. dry_runlinkZhardzmaking hard links in %s...Nzcopying files to %s...z)no files to distribute -- empty manifest?z#'%s' not a regular file -- skipping)r)ZmkpathrZ create_treerhasattrrDr rrprErFr_Z copy_filerBZmetadataZwrite_pkg_info)rr}rdrrufiledestrrrmake_release_trees      zsdist.make_release_treecCs|j}tj|j|}|||jjg}d|j krT|j |j |j d|j D]:}|j ||||j|jd}| ||jj dd|fqZ||_|jstj||jddS)aCreate the source distribution(s). First, we create the release tree with 'make_release_tree()'; then, we create all required archive files (according to 'self.formats') from the release tree. Finally, we clean up by blowing away the release tree (unless 'self.keep_temp' is true). The list of archive files created is stored so it can be retrieved later by 'get_archive_files()'. Ztar)r}r8r9rrN)rBrzrDrEr_r6rr=rdrrpopindexZ make_archiver8r9Z dist_filesr7r5rZ remove_treer)rr}Z base_namer7Zfmtrrrrr?s     zsdist.make_distributioncCs|jS)zzReturn the list of archive files created when the command was run, or None if the command hasn't run yet. )r7rrrrget_archive_filesszsdist.get_archive_files)#__name__ __module__ __qualname__Z descriptionrZ user_optionsZboolean_optionsrZ help_optionsZ negative_optZ sub_commandsr\r:r;r@rCr>rJ staticmethodr[rNrOrPrQrRrSrTrKrLrMrGrHrr?rrrrrr$sp' (  *r)__doc__rDr{rwarningsrZdistutils.corerZ distutilsrrrZdistutils.text_filerZdistutils.filelistr r Zdistutils.utilr Zdistutils.errorsr r rrrrrrs          __pycache__/clean.cpython-38.opt-1.pyc000064400000004103147577664100013444 0ustar00U ,a @sDdZddlZddlmZddlmZddlmZGdddeZdS)zBdistutils.command.clean Implements the Distutils 'clean' command.N)Command) remove_tree)logc@s>eZdZdZddddddgZdgZd d Zd d Zd dZdS)cleanz-clean up temporary files from 'build' command)z build-base=bz2base build directory (default: 'build.build-base'))z build-lib=Nzs    __pycache__/check.cpython-38.opt-1.pyc000064400000011444147577664100013445 0ustar00U ,a@sdZddlmZddlmZzTddlmZddlmZddl m Z ddl m Z ddl m Z Gd d d eZd ZWnek rd ZYnXGd ddeZdS)zCdistutils.command.check Implements the Distutils 'check' command. )Command)DistutilsSetupError)Reporter)Parser)frontend)nodes)StringIOc@seZdZd ddZddZdS) SilentReporterNrasciireplacec Cs"g|_t||||||||dSN)messagesr__init__)selfsource report_level halt_levelstreamdebugencoding error_handlerr}|dd}|dkr8|d}nd|d|f}||qdS)z4Checks if the long string fields are reST-compliant.lineNr)z %s (line %s))r6Zget_long_description_check_rst_datagetr.)rdataZwarningr<rrrr2ns  zcheck.check_restructuredtextc Cs|jjp d}t}tjtfd}d|_d|_d|_t ||j |j |j |j |j|jd}tj|||d}||dz|||Wn:tk r}z|jdd|d ifW5d}~XYnX|jS) z8Returns warnings when the provided data doesn't compile.zsetup.py)Z componentsN)rrrr)rr;z!Could not finish the parsing: %s.)r6Z script_namerrZ OptionParserZget_default_valuesZ tab_widthZpep_referencesZrfc_referencesr rrZwarning_streamrZerror_encodingZerror_encoding_error_handlerrdocumentZ note_sourceparseAttributeErrorr r)rr? source_pathparserZsettingsZreporterrBerrrr=ys.  zcheck._check_rst_dataN)rr r!__doc__Z descriptionZ user_optionsZboolean_optionsr,r-r.r3r0r2r=rrrrr"$s  r"N)rHZdistutils.corerZdistutils.errorsrZdocutils.utilsrZdocutils.parsers.rstrZdocutilsrriorr r1 Exceptionr"rrrrs        __pycache__/bdist.cpython-38.opt-1.pyc000064400000007141147577664100013474 0ustar00U ,a@sHdZddlZddlmZddlTddlmZddZGdd d eZdS) zidistutils.command.bdist Implements the Distutils 'bdist' command (create a built [binary] distribution).N)Command)*) get_platformcCsPddlm}g}tjD]"}|d|dtj|dfq||}|ddS)zFPrint list of available formats (arguments to "--format" option). r) FancyGetoptformats=Nz'List of available distribution formats:)Zdistutils.fancy_getoptrbdistformat_commandsappendformat_commandZ print_help)rformatsformatZpretty_printerr}z||j|dWq tk rFtd|Yq Xq tt|jD]h}||}||}||jkr|j||_ |dkr|j |_ |j |_ |||ddkrd|_ | |qXdS)Nrzinvalid format '%s'r#r)r r r r2ZDistutilsOptionErrorrangelenZreinitialize_commandno_format_optionr r)r(Z keep_tempZ run_command)r*Zcommandsr iZcmd_nameZsub_cmdrrrrunvs"    z bdist.run)__name__ __module__ __qualname__Z descriptionrZ user_optionsZboolean_optionsrZ help_optionsr6r0r r r+r3r8rrrrrsR   r) __doc__r-Zdistutils.corerZdistutils.errorsZdistutils.utilrrrrrrrs    __pycache__/bdist_wininst.cpython-38.opt-2.pyc000064400000020153147577664100015246 0ustar00U ,a>@stddlZddlZddlZddlmZddlmZddlmZm Z ddl Tddl m Z ddl mZGdd d eZdS) N)Command) get_platform) create_tree remove_tree)*)get_python_version)logc seZdZdZddddefdddd d d d d dddg ZddddgZejdkZ fddZ ddZ ddZ ddZ ddZd'd!d"Zd#d$Zd%d&ZZS)( bdist_wininstz-create an executable installer for MS Windows)z bdist-dir=Nz1temporary directory for creating the distributionz plat-name=pz;platform name to embed in generated filenames (default: %s)) keep-tempkzPkeep the pseudo-installation tree around after creating the distribution archive)ztarget-version=Nz6require a specific python version on the target system)no-target-compilecz/do not compile .py to .pyc on the target system)no-target-optimizeoz;do not compile .py to .pyo (optimized) on the target system)z dist-dir=dz-directory to put final built distributions in)zbitmap=bz>bitmap to use for the installer instead of python-powered logo)ztitle=tz?title to display on the installer background instead of default) skip-buildNz2skip rebuilding everything (for testing/debugging))zinstall-script=NzUbasename of installation script to be run after installation or before deinstallation)zpre-install-script=Nz{Fully qualified filename of a script to be run before any files are installed. This script need not be in the distribution)zuser-access-control=Nzspecify Vista's UAC handling - 'none'/default=no handling, 'auto'=use UAC if target Python installed for all users, 'force'=always use UACr r rrwin32cs tj||tdtddS)Nz^bdist_wininst command is deprecated since Python 3.8, use bdist_wheel (wheel packages) instead)super__init__warningswarnDeprecationWarning)selfargskw __class__D/opt/alt/python38/lib64/python3.8/distutils/command/bdist_wininst.pyr?s zbdist_wininst.__init__cCsRd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ d|_ dS)Nr) bdist_dir plat_name keep_tempno_target_compileno_target_optimizetarget_versiondist_dirbitmaptitle skip_buildinstall_scriptpre_install_scriptuser_access_control)rr!r!r"initialize_optionsEsz bdist_wininst.initialize_optionscCs|dd|jdkrR|jr6|jr6|jd}|j|_|dj}tj |d|_|j s^d|_ |js|j rt }|j r|j |krtd|f||_ |ddd|jr|jjD]}|jtj |krqqtd|jdS) Nbdist)r,r,ZwininstzMtarget version can only be %s, or the '--skip-build' option must be specified)r)r))r$r$z(install_script '%s' not found in scripts)Zset_undefined_optionsr#r,r$ distributionZget_command_objget_finalized_command bdist_baseospathjoinr(has_ext_modulesrZDistutilsOptionErrorr-scriptsbasename)rr1r5Z short_versionscriptr!r!r"finalize_optionsUs>      zbdist_wininst.finalize_optionsc Cstjdkr&|js|jr&td|js6|d|jddd}|j |_ |j|_d|_ |j |_ |d}d|_ d|_|jr|j}|sd tjdd }d |j |f}|d}tj|jd ||_d D],}|}|dkr|d}t|d||qtd|j |tjdtj|j d|tjd=ddlm}|} |j } |j!| d|j d} |"| | |j#|jrt$} nd} |jj%&d| |'| ft(d| t)| |j*st+|j |j,ddS)Nrz^distribution contains extensions and/or C libraries; must be compiled on a Windows 32 platformbuildinstall)Zreinit_subcommandsr install_libz%d.%drz.%s-%slib)ZpurelibZplatlibheadersr:datarCz/Include/$dist_nameZinstall_zinstalling to %sZPURELIB)mktempzip)Zroot_diranyr zremoving temporary file '%s')dry_run)-sysplatformr3r9Zhas_c_librariesZDistutilsPlatformErrorr,Z run_commandZreinitialize_commandr#rootZwarn_dirr$compileoptimizer( version_infor4r6r7r8Z build_baseZ build_libuppersetattrrinfoZensure_finalizedinsertrunZtempfilerE get_fullnameZ make_archive create_exer*rZ dist_filesappendget_installer_filenamedebugremover%rrH) rr?rAr(Zplat_specifierr>keyvaluerEZarchive_basenamefullnamearcnameZ pyversionr!r!r"rS{sr            zbdist_wininst.runc CsZg}|jj}|d|jpdd}dd}dD]B}t||d}|r0|d|||f}|d|||fq0|d |jr|d |j|d |||d |j |d |j |j r|d|j |j r|d|j |j p|j }|d||ddl }ddl} d|| | jf} |d| d|S)Nz [metadata]r2 cSs |ddS)Nr^z\n)replace)sr!r!r"escapesz)bdist_wininst.get_inidata..escape)ZauthorZ author_email descriptionZ maintainerZmaintainer_emailnameZurlversionz %s: %sz%s=%sz [Setup]zinstall_script=%szinfo=%sztarget_compile=%dztarget_optimize=%dztarget_version=%szuser_access_control=%sztitle=%srzBuilt %s with distutils-%sz build_info=%s)r3metadatarVZlong_descriptiongetattr capitalizer-r&r'r(r/r+rTtime distutilsctime __version__r8) rlinesrerQrarcrDr+rhriZ build_infor!r!r" get_inidatas>   zbdist_wininst.get_inidataNc CsHddl}||j|}||}|d||r`t|d}|}W5QRXt|} nd} t|d} | | |r| |t |t r| d}|d}|jrt|jddd } |  d} W5QRX|| d }n|d}| ||d d t|| } | | t|d}| |W5QRXW5QRXdS) Nrz creating %srbwbmbcsrzlatin-1)encodings zs8          zbdist_wininst.get_exe_bytes)N)__name__ __module__ __qualname__rbrZ user_optionsZboolean_optionsrIrJZ _unsupportedrr0r=rSrmrUrWry __classcell__r!r!rr"r s>%  &Q. 7 r )r6rIrZdistutils.corerZdistutils.utilrZdistutils.dir_utilrrZdistutils.errorsZdistutils.sysconfigrrirr r!r!r!r"s    __pycache__/bdist.cpython-38.pyc000064400000007141147577664100012535 0ustar00U ,a@sHdZddlZddlmZddlTddlmZddZGdd d eZdS) zidistutils.command.bdist Implements the Distutils 'bdist' command (create a built [binary] distribution).N)Command)*) get_platformcCsPddlm}g}tjD]"}|d|dtj|dfq||}|ddS)zFPrint list of available formats (arguments to "--format" option). r) FancyGetoptformats=Nz'List of available distribution formats:)Zdistutils.fancy_getoptrbdistformat_commandsappendformat_commandZ print_help)rformatsformatZpretty_printerr}z||j|dWq tk rFtd|Yq Xq tt|jD]h}||}||}||jkr|j||_ |dkr|j |_ |j |_ |||ddkrd|_ | |qXdS)Nrzinvalid format '%s'r#r)r r r r2ZDistutilsOptionErrorrangelenZreinitialize_commandno_format_optionr r)r(Z keep_tempZ run_command)r*Zcommandsr iZcmd_nameZsub_cmdrrrrunvs"    z bdist.run)__name__ __module__ __qualname__Z descriptionrZ user_optionsZboolean_optionsrZ help_optionsr6r0r r r+r3r8rrrrrsR   r) __doc__r-Zdistutils.corerZdistutils.errorsZdistutils.utilrrrrrrrs    __pycache__/bdist_dumb.cpython-38.opt-2.pyc000064400000006517147577664100014512 0ustar00U ,a1@sdddlZddlmZddlmZddlmZmZddlTddl m Z ddl m Z Gdd d eZ dS) N)Command) get_platform) remove_treeensure_relative)*)get_python_version)logc @s^eZdZdZddddefdddd d d d g Zd ddgZdddZddZddZ ddZ dS) bdist_dumbz"create a "dumb" built distribution)z bdist-dir=dz1temporary directory for creating the distributionz plat-name=pz;platform name to embed in generated filenames (default: %s))zformat=fz>archive format to create (tar, gztar, bztar, xztar, ztar, zip)) keep-tempkzPkeep the pseudo-installation tree around after creating the distribution archive)z dist-dir=r z-directory to put final built distributions in) skip-buildNz2skip rebuilding everything (for testing/debugging))relativeNz7build the archive using relative paths (default: false))zowner=uz@Owner name used when creating a tar file [default: current user])zgroup=gzAGroup name used when creating a tar file [default: current group]r rrZgztarzip)posixntcCs:d|_d|_d|_d|_d|_d|_d|_d|_d|_dS)Nr) bdist_dir plat_nameformat keep_tempdist_dir skip_buildrownergroup)selfrA/opt/alt/python38/lib64/python3.8/distutils/command/bdist_dumb.pyinitialize_options2szbdist_dumb.initialize_optionscCsz|jdkr&|dj}tj|d|_|jdkrfz|jtj|_Wn"t k rdt dtjYnX| dddddS)NZbdistZdumbz@don't know how to create dumb built distributions on platform %s)rr)rr)rr) rZget_finalized_command bdist_baseospathjoinrdefault_formatnameKeyErrorDistutilsPlatformErrorZset_undefined_options)rr"rrr finalize_options=s"    zbdist_dumb.finalize_optionscCs(|js|d|jddd}|j|_|j|_d|_td|j|dd|j |j f}t j |j|}|js~|j}nJ|jr|j|jkrtdt|jt|jfnt j |jt|j}|j||j||j|jd }|jrt}nd }|jjd ||f|js$t|j|jd dS) NZbuildinstall)Zreinit_subcommandsrzinstalling to %sz%s.%szScan't make a dumb built distribution where base and platbase are different (%s, %s))Zroot_dirrranyr )dry_run) rZ run_commandZreinitialize_commandrrootZwarn_dirrinfoZ distributionZ get_fullnamerr#r$r%rrZhas_ext_modulesZ install_baseZinstall_platbaser)reprrZ make_archiverrrrZ dist_filesappendrrr.)rr+Zarchive_basenameZpseudoinstall_rootZ archive_rootfilenameZ pyversionrrr runOsR        zbdist_dumb.runN) __name__ __module__ __qualname__Z descriptionrZ user_optionsZboolean_optionsr&r!r*r4rrrr r s,  r )r#Zdistutils.corerZdistutils.utilrZdistutils.dir_utilrrZdistutils.errorsZdistutils.sysconfigrZ distutilsrr rrrr s    __pycache__/check.cpython-38.pyc000064400000011444147577664100012506 0ustar00U ,a@sdZddlmZddlmZzTddlmZddlmZddl m Z ddl m Z ddl m Z Gd d d eZd ZWnek rd ZYnXGd ddeZdS)zCdistutils.command.check Implements the Distutils 'check' command. )Command)DistutilsSetupError)Reporter)Parser)frontend)nodes)StringIOc@seZdZd ddZddZdS) SilentReporterNrasciireplacec Cs"g|_t||||||||dSN)messagesr__init__)selfsource report_level halt_levelstreamdebugencoding error_handlerr}|dd}|dkr8|d}nd|d|f}||qdS)z4Checks if the long string fields are reST-compliant.lineNr)z %s (line %s))r6Zget_long_description_check_rst_datagetr.)rdataZwarningr<rrrr2ns  zcheck.check_restructuredtextc Cs|jjp d}t}tjtfd}d|_d|_d|_t ||j |j |j |j |j|jd}tj|||d}||dz|||Wn:tk r}z|jdd|d ifW5d}~XYnX|jS) z8Returns warnings when the provided data doesn't compile.zsetup.py)Z componentsN)rrrr)rr;z!Could not finish the parsing: %s.)r6Z script_namerrZ OptionParserZget_default_valuesZ tab_widthZpep_referencesZrfc_referencesr rrZwarning_streamrZerror_encodingZerror_encoding_error_handlerrdocumentZ note_sourceparseAttributeErrorr r)rr? source_pathparserZsettingsZreporterrBerrrr=ys.  zcheck._check_rst_dataN)rr r!__doc__Z descriptionZ user_optionsZboolean_optionsr,r-r.r3r0r2r=rrrrr"$s  r"N)rHZdistutils.corerZdistutils.errorsrZdocutils.utilsrZdocutils.parsers.rstrZdocutilsrriorr r1 Exceptionr"rrrrs        __pycache__/__init__.cpython-38.pyc000064400000001056147577664100013166 0ustar00U ,a@s2dZddddddddd d d d d ddddddgZdS)z\distutils.command Package containing implementation of all the standard Distutils commands.ZbuildZbuild_pyZ build_extZ build_clibZ build_scriptsZcleanZinstallZ install_libZinstall_headersZinstall_scriptsZ install_dataZsdistregisterZbdistZ bdist_dumbZ bdist_rpmZ bdist_wininstZcheckZuploadN)__doc____all__rr?/opt/alt/python38/lib64/python3.8/distutils/command/__init__.pys(__pycache__/config.cpython-38.pyc000064400000024002147577664100012670 0ustar00U ,a=3@sldZddlZddlZddlmZddlmZddlmZddl m Z ddd Z Gd d d eZ dd d Z dS)adistutils.command.config Implements the Distutils 'config' command, a (mostly) empty command class that exists mainly to be sub-classed by specific module distributions and applications. The idea is that while every "config" command is different, at least they're all named the same, and users always see "config" in the list of standard commands. Also, this is a good place to put common configure-like tasks: "try to compile this C code", or "figure out where this header file lives". N)Command)DistutilsExecError)customize_compiler)logz.cz.cxx)czc++c @seZdZdZdddddddd d g Zd d Zd dZddZddZddZ ddZ ddZ ddZ ddZ d0dd Zd1d!d"Zd2d#d$Zd3d%d&Zd4d'd(Zd5d*d+Zdddgfd,d-Zd6d.d/ZdS)7configzprepare to build)z compiler=Nzspecify the compiler type)zcc=Nzspecify the compiler executable)z include-dirs=Iz.list of directories to search for header files)zdefine=DzC preprocessor macros to define)zundef=Uz!C preprocessor macros to undefine)z libraries=lz!external C libraries to link with)z library-dirs=Lz.directories to search for external C libraries)noisyNz1show every action (compile, link, run, ...) taken)z dump-sourceNz=dump generated source files before attempting to compile themcCs4d|_d|_d|_d|_d|_d|_d|_g|_dS)N)compilerZcc include_dirs libraries library_dirsr dump_source temp_filesselfr=/opt/alt/python38/lib64/python3.8/distutils/command/config.pyinitialize_options3szconfig.initialize_optionscCs|jdkr|jjpg|_nt|jtr6|jtj|_|jdkrHg|_nt|jtr^|jg|_|jdkrpg|_nt|jtr|jtj|_dSN) rZ distribution isinstancestrsplitospathseprrrrrrfinalize_optionsBs       zconfig.finalize_optionscCsdSrrrrrrrunRsz config.runcCszddlm}m}t|j|sv||j|jdd|_t|j|jrN|j|j|j rb|j |j |j rv|j |j dS)z^Check that 'self.compiler' really is a CCompiler object; if not, make it one. r) CCompiler new_compilerr)rdry_runZforceN) distutils.ccompilerr"r#rrr$rrZset_include_dirsrZ set_librariesrZset_library_dirs)rr"r#rrr_check_compilerYs  zconfig._check_compilerc Csldt|}t|dL}|r>|D]}|d|q |d|||ddkr^|dW5QRX|S)NZ _configtestwz#include <%s>  )LANG_EXTopenwrite)rbodyheaderslangfilenamefileheaderrrr_gen_temp_sourcefileks     zconfig._gen_temp_sourcefilecCs<||||}d}|j||g|jj|||d||fS)Nz _configtest.ir)r3rextendrZ preprocess)rr-r.rr/srcoutrrr _preprocessws zconfig._preprocesscCs\||||}|jr"t|d||j|g\}|j||g|jj|g|d||fS)Nzcompiling '%s':r4)r3r dump_filerZobject_filenamesrr5compile)rr-r.rr/r6objrrr_compile~szconfig._compilec Csr|||||\}}tjtj|d} |jj|g| |||d|jjdk r\| |jj} |j | ||| fS)Nr)rrZ target_lang) r<rpathsplitextbasenamerZlink_executableZ exe_extensionrappend) rr-r.rrrr/r6r;progrrr_links    z config._linkc GsT|s|j}g|_tdd||D](}zt|Wq&tk rLYq&Xq&dS)Nz removing: %s )rrinfojoinrremoveOSError)r filenamesr0rrr_cleansz config._cleanNrcCsRddlm}|d}z|||||Wn|k rDd}YnX||S)aQConstruct a source file from 'body' (a string containing lines of C/C++ code) and 'headers' (a list of header files to include) and run it through the preprocessor. Return true if the preprocessor succeeded, false if there were any errors. ('body' probably isn't of much use, but what the heck.) r CompileErrorTF)r%rKr&r8rIrr-r.rr/rKokrrrtry_cpps  zconfig.try_cppc Csx||||||\}}t|tr0t|}t|.}d} |} | dkrPqb|| r>d} qbq>W5QRX| | S)aConstruct a source file (just like 'try_cpp()'), run it through the preprocessor, and return true if any line of the output matches 'pattern'. 'pattern' should either be a compiled regex object or a string containing a regex. If both 'body' and 'headers' are None, preprocesses an empty file -- which can be useful to determine the symbols the preprocessor and compiler set by default. FT) r&r8rrrer:r+readlinesearchrI) rpatternr-r.rr/r6r7r1matchlinerrr search_cpps     zconfig.search_cppcCsdddlm}|z|||||d}Wn|k rDd}YnXt|rRdpTd||S)zwTry to compile a source file built from 'body' and 'headers'. Return true on success, false otherwise. rrJTFsuccess!failure.)r%rKr&r<rrDrIrLrrr try_compiles  zconfig.try_compilec Cspddlm}m}|z|||||||d} Wn||fk rPd} YnXt| r^dp`d|| S)zTry to compile and link a source file, built from 'body' and 'headers', to executable form. Return true on success, false otherwise. rrK LinkErrorTFrWrX)r%rKr[r&rBrrDrI) rr-r.rrrr/rKr[rMrrrtry_links  zconfig.try_linkc Csddlm}m}|z.|||||||\} } } || gd} Wn||tfk rdd} YnXt| rrdptd| | S)zTry to compile, link to an executable, and run a program built from 'body' and 'headers'. Return true on success, false otherwise. rrZTFrWrX) r%rKr[r&rBZspawnrrrDrI) rr-r.rrrr/rKr[r6r;ZexerMrrrtry_runs    zconfig.try_runrc Cst|g}|r|d||d|r<|d|n|d||dd|d}||||||S)aDetermine if function 'func' is available by constructing a source file that refers to 'func', and compiles and links it. If everything succeeds, returns true; otherwise returns false. The constructed source file starts out by including the header files listed in 'headers'. If 'decl' is true, it then declares 'func' (as "int func()"); you probably shouldn't supply 'headers' and set 'decl' true in the same call, or you might get errors about a conflicting declarations for 'func'. Finally, the constructed 'main()' function either references 'func' or (if 'call' is true) calls it. 'libraries' and 'library_dirs' are used when linking. z int %s ();z int main () {z %s();z %s;}r()r&r@rEr\) rfuncr.rrrZdeclZcallr-rrr check_funcs   zconfig.check_funccCs ||d|||g||S)aDetermine if 'library' is available to be linked against, without actually checking that any particular symbols are provided by it. 'headers' will be used in constructing the source file to be compiled, but the only effect of this is to check if all the header files listed are available. Any libraries listed in 'other_libraries' will be included in the link, in case 'library' has symbols that depend on other libraries. zint main (void) { })r&r\)rZlibraryrr.rZother_librariesrrr check_lib4s  zconfig.check_libcCs|jd|g|dS)zDetermine if the system header file named by 'header_file' exists and can be found by the preprocessor; return true if so, false otherwise. z /* No body */)r-r.r)rN)rr2rrr/rrr check_headerBs zconfig.check_header)NNNr)NNNr)NNr)NNNNr)NNNNr)NNNNrr)NNr)__name__ __module__ __qualname__Z descriptionZ user_optionsrr r!r&r3r8r<rBrIrNrVrYr\r]r`rarbrrrrrs\         rcCsJ|dkrtd|n t|t|}zt|W5|XdS)zjDumps a file content into log.info. If head is not None, will be dumped before the file content. Nz%s)rrDr+closeread)r0headr1rrrr9Ks r9)N)__doc__rrPZdistutils.corerZdistutils.errorsrZdistutils.sysconfigrZ distutilsrr*rr9rrrrs      8__pycache__/install_scripts.cpython-38.opt-1.pyc000064400000004154147577664100015605 0ustar00U ,a@sDdZddlZddlmZddlmZddlmZGdddeZdS)zudistutils.command.install_scripts Implements the Distutils 'install_scripts' command, for installing Python scripts.N)Command)log)ST_MODEc@sLeZdZdZddddgZddgZdd Zd d Zd d ZddZ ddZ dS)install_scriptsz%install scripts (Python or otherwise))z install-dir=dzdirectory to install scripts to)z build-dir=bz'build directory (where to install from))forcefz-force installation (overwrite existing files)) skip-buildNzskip the build stepsrr cCsd|_d|_d|_d|_dS)Nr) install_dirr build_dir skip_buildselfrF/opt/alt/python38/lib64/python3.8/distutils/command/install_scripts.pyinitialize_optionssz"install_scripts.initialize_optionscCs |dd|dddddS)NZbuild) build_scriptsr Zinstall)rr )rr)r r )Zset_undefined_optionsrrrrfinalize_options!s  z install_scripts.finalize_optionscCs|js|d||j|j|_tjdkr~|D]H}|j rLt d|q4t |t dBd@}t d||t||q4dS)Nrposixzchanging mode of %simizchanging mode of %s to %o)r Z run_commandZ copy_treer r outfilesosname get_outputsZdry_runrinfostatrchmod)rfilemoderrrrun)s   zinstall_scripts.runcCs |jjp gSN)Z distributionZscriptsrrrr get_inputs8szinstall_scripts.get_inputscCs |jpgSr )rrrrrr;szinstall_scripts.get_outputsN) __name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsrrrr!rrrrrrsr) __doc__rZdistutils.corerZ distutilsrrrrrrrrs    __pycache__/build_clib.cpython-38.opt-2.pyc000064400000010263147577664100014457 0ustar00U ,aV@sPddlZddlmZddlTddlmZddlmZddZGdd d eZ dS) N)Command)*)customize_compiler)logcCsddlm}|dS)Nrshow_compilers)distutils.ccompilerrrr A/opt/alt/python38/lib64/python3.8/distutils/command/build_clib.pyrs rc@sleZdZdZdddddgZddgZd d d efgZd d ZddZ ddZ ddZ ddZ ddZ ddZd S) build_clibz/build C/C++ libraries used by Python extensions)z build-clib=bz%directory to build C/C++ libraries to)z build-temp=tz,directory to put temporary build by-products)debuggz"compile with debugging information)forcefz2forcibly build everything (ignore file timestamps))z compiler=czspecify the compiler typerrz help-compilerNzlist available compilerscCs:d|_d|_d|_d|_d|_d|_d|_d|_d|_dS)Nr) r build_temp libraries include_dirsdefineundefrrcompilerselfr r r initialize_options4szbuild_clib.initialize_optionscCsh|dddddd|jj|_|jr0||j|jdkrH|jjpDg|_t|jtrd|jtj |_dS)NZbuild)rr )rr)rr)rr)rr) Zset_undefined_optionsZ distributionrcheck_library_listr isinstancestrsplitospathseprr r r finalize_optionsDs    zbuild_clib.finalize_optionscCs|js dSddlm}||j|j|jd|_t|j|jdk rN|j|j|j dk rv|j D]\}}|j ||q^|j dk r|j D]}|j |q| |jdS)Nr) new_compiler)rdry_runr)rrr#rr$rrrZset_include_dirsrZ define_macrorZundefine_macrobuild_libraries)rr#namevalueZmacror r r run^s"      zbuild_clib.runcCst|tstd|D]z}t|ts8t|dkr8td|\}}t|tsRtdd|ksntjdkr~tj|kr~td|dt|tstdqdS) Nz+'libraries' option must be a list of tuplesz*each element of 'libraries' must a 2-tuplezNfirst element of each tuple in 'libraries' must be a string (the library name)/z;bad library name '%s': may not contain directory separatorsrzMsecond element of each tuple in 'libraries' must be a dictionary (build info)) rlistDistutilsSetupErrortuplelenrr sepdict)rrlibr& build_infor r r rvs,   zbuild_clib.check_library_listcCs,|js dSg}|jD]\}}||q|S)N)rappend)rZ lib_nameslib_namer2r r r get_library_namess  zbuild_clib.get_library_namescCsZ||jg}|jD]>\}}|d}|dks>t|ttfsJtd|||q|S)Nsourcesfin 'libraries' option (library '%s'), 'sources' must be present and must be a list of source filenames)rrgetrr+r-r,extend)r filenamesr4r2r6r r r get_source_filess   zbuild_clib.get_source_filescCs|D]\}}|d}|dks,t|ttfs8td|t|}td||d}|d}|jj||j |||j d}|jj |||j |j dqdS)Nr6r7zbuilding '%s' librarymacrosr) output_dirr<rr)r=r) r8rr+r-r,rinforcompilerrZcreate_static_libr )rrr4r2r6r<rZobjectsr r r r%s,      zbuild_clib.build_libraries)__name__ __module__ __qualname__Z descriptionZ user_optionsZboolean_optionsrZ help_optionsrr"r(rr5r;r%r r r r r s( $ r ) r Zdistutils.corerZdistutils.errorsZdistutils.sysconfigrZ distutilsrrr r r r r s    __pycache__/install_data.cpython-38.pyc000064400000004400147577664100014062 0ustar00U ,a @s<dZddlZddlmZddlmZmZGdddeZdS)zdistutils.command.install_data Implements the Distutils 'install_data' command, for installing platform-independent data files.N)Command) change_root convert_pathc@sHeZdZdZdddgZdgZddZdd Zd d Zd d Z ddZ dS) install_datazinstall data files)z install-dir=dzIbase directory for installing data files (default: installation base dir))zroot=Nzs __pycache__/register.cpython-38.pyc000064400000020426147577664100013255 0ustar00U ,a-@sddZddlZddlZddlZddlZddlmZddlm Z ddl Tddl m Z Gddde Z dS) zhdistutils.command.register Implements the Distutils 'register' command (register with the repository). N)warn) PyPIRCCommand)*)logc@seZdZdZejddgZejdddgZddd fgZd d Zd d Z ddZ ddZ ddZ ddZ ddZddZddZdddZdS) registerz7register the distribution with the Python package index)list-classifiersNz list the valid Trove classifiers)strictNzBWill stop the registering if the meta-data are not fully compliantverifyrrcheckcCsdS)NTselfr r ?/opt/alt/python38/lib64/python3.8/distutils/command/register.pyzregister.cCst|d|_d|_dS)Nr)rinitialize_optionslist_classifiersrr r r rrs zregister.initialize_optionscCs*t|d|jfdd}||jjd<dS)Nr)r)rrestructuredtextr )rfinalize_optionsr distributionZcommand_options)r Z check_optionsr r rr$s  zregister.finalize_optionscCsT|||D]}||q|jr8|n|jrH|n|dS)N) r _set_configZget_sub_commandsZ run_commandZdry_runverify_metadatar classifiers send_metadata)r Zcmd_namer r rrun+s    z register.runcCs8tdt|jd}||j|_d|_|dS)zDeprecated API.zddistutils.command.register.check_metadata is deprecated, use the check command insteadr rN)rPendingDeprecationWarningrZget_command_objZensure_finalizedrrr)r r r r rcheck_metadata:s zregister.check_metadatacCsz|}|ikr@|d|_|d|_|d|_|d|_d|_n6|jd|jfkr^td|j|jdkrp|j|_d|_d S) z: Reads the configuration file and set attributes. usernamepassword repositoryrealmTZpypiz%s not found in .pypircFN)Z _read_pypircrrr r! has_configZDEFAULT_REPOSITORY ValueError)r Zconfigr r rrDs     zregister._set_configcCs*|jd}tj|}t||dS)z8 Fetch the list of classifiers from the server. z?:action=list_classifiersN)r urllibrequestZurlopenrinfo_read_pypi_response)r ZurlZresponser r rrUs  zregister.classifierscCs&||d\}}td||dS)zF Send the metadata to the package index server to be checked. r Server response (%s): %sN)post_to_serverbuild_post_datarr&)r coderesultr r rr\szregister.verify_metadatac Cs|jrd}|j}|j}n d}d}}d}||krd|dtjt}|sRd}q,||kr,tdq,|dkrl|s|td}qn|st d}q|t j }t j |jd }||j|||||d |\}}|d ||ftj|d kr|jr||j_nf|d tj|d|tjd}|dkrNtd}|s*d}q*|dkr|||nl|dkrddi} d| d<| d<| d<d| d<| dstd| d<q| d| dkr0| dst d| d<q| dst d| d<q| d| dkrd| d<d| d<tdq| dsJtd| d<q0|| \}}|d krrtd ||ntdtd nP|d!krdd"i} d| d<| dstd#| d<q|| \}}td ||dS)$a_ Send the metadata to the package index server. Well, do the following: 1. figure who the user is, and then 2. send the data as a Basic auth'ed POST. First we try to read the username/password from $HOME/.pypirc, which is a ConfigParser-formatted file with a section [distutils] containing username and password entries (both in clear text). Eg: [distutils] index-servers = pypi [pypi] username: fred password: sekrit Otherwise, to figure who the user is, we offer the user three choices: 1. use existing login, 2. register as a new user, or 3. set the password to a random string and email the user. 1xz1 2 3 4zWe need to know who you are, so please choose either: 1. use your existing login, 2. register as a new user, 3. have the server generate a new password for you (and email it to you), or 4. quit Your selection [default 1]: z&Please choose one of the four options!z Username: z Password: rZsubmitr(zAI can store your PyPI login so future submissions will be faster.z (the login will be stored in %s)XZynzSave your login (y/N)?ny2:actionusernamerZemailNZconfirmz Confirm: z!Password and confirm don't match!z EMail: z"You will receive an email shortly.z7Follow the instructions in it to complete registration.3Zpassword_resetzYour email address: )r"rrsplitannouncerINFOinputprintgetpassr$r%ZHTTPPasswordMgrparseZurlparser Z add_passwordr!r)r*rZ _get_rc_filelowerZ _store_pypircr&) r ZchoicerrchoicesauthZhostr+r,datar r rrcs                   zregister.send_metadatacCs|jj}|d|||||||| | | | | |||d}|ds|ds|drd|d<|S)Nz1.0)r5metadata_versionr7versionZsummaryZ home_pageZauthorZ author_emaillicense descriptionkeywordsplatformrZ download_urlprovidesrequires obsoletesrJrKrLz1.1rD)rZmetadataZget_nameZ get_versionZget_descriptionZget_urlZ get_contactZget_contact_emailZ get_licenceZget_long_descriptionZ get_keywordsZ get_platformsZget_classifiersZget_download_urlZ get_providesZ get_requiresZ get_obsoletes)r actionmetarCr r rr*s,zregister.build_post_dataNc Csd|kr$|d|d|jftjd}d|}|d}t}|D]~\}}t|tgtdfkrn|g}|D]R}t|}| || d|| d| ||rr|d d krr| d qrqH| || d | d }d |tt |d} t j|j|| } t jt jj|d} d}z| | } Wnxt jjk r} z"|jrd| j}| j| jf} W5d} ~ XYnJt jjk r} zdt| f} W5d} ~ XYnX|jr|| }d} |jrd d|df}||tj| S)zC Post a query to the server, and return a string response. r7zRegistering %s to %sz3--------------GHSKFJDLGDS7543FJKLFHRE75642756743254z --z--r z* Content-Disposition: form-data; name="%s"z   zutf-8z/multipart/form-data; boundary=%s; charset=utf-8)z Content-typezContent-length)Z password_mgrr/Ni)r0ZOKzK---------------------------------------------------------------------------)r:r rr;ioStringIOitemstypestrwritegetvalueencodelenr$r%ZRequestZ build_openerZHTTPBasicAuthHandleropenerrorZ HTTPErrorZ show_responsefpreadr+msgZURLErrorr'join)r rCrBboundaryZ sep_boundaryZ end_boundaryZbodykeyvalueZheadersZreqZopenerr,er_r r rr)s^          zregister.post_to_server)N)__name__ __module__ __qualname__rGrZ user_optionsZboolean_optionsZ sub_commandsrrrrrrrrr*r)r r r rrs* zr)__doc__r>rRZ urllib.parser$Zurllib.requestwarningsrZdistutils.corerZdistutils.errorsZ distutilsrrr r r rs   __pycache__/bdist_msi.cpython-38.opt-2.pyc000064400000043131147577664100014344 0ustar00U ,a߉@sddlZddlZddlmZddlmZddlmZddlm Z ddl m Z ddl m Z ddlmZddlZdd lmZmZmZdd lmZmZmZmZGd d d eZGd ddeZdS)N)Command) remove_tree)get_python_version) StrictVersion)DistutilsOptionError) get_platform)log)schemasequencetext) DirectoryFeatureDialogadd_datac@sBeZdZddZddZdddZdd d Zdd dZddZdS)PyDialogcOs>tj|f||jd}d|d}|dd||jddS)N$iHZ BottomLiner)r__init__hlinew)selfargskwZrulerZbmwidthr@/opt/alt/python38/lib64/python3.8/distutils/command/bdist_msi.pyrs  zPyDialog.__init__c Cs|ddddddd|dS)NTitle @<z{\VerdanaBold10}%s)r )rtitlerrrr"#szPyDialog.titleBackc Cs,|r d}nd}||d|jddd|||S)Nr$8 pushbuttonrrr"nextnameactiveflagsrrrback*sz PyDialog.backCancelc Cs,|r d}nd}||d|jddd|||S)Nr%r$i0r'r(r)r*r,rrrcancel5szPyDialog.cancelNextc Cs,|r d}nd}||d|jddd|||S)Nr%r$r'r(r)r*r,rrrr-@sz PyDialog.nextc Cs,||t|j|d|jdddd||S)Nr'r(r)r%)r+intrr)rr.r"r-ZxposrrrxbuttonKszPyDialog.xbuttonN)r#r$)r2r$)r4r$) __name__ __module__ __qualname__rr"r1r3r-r8rrrrrs   rc@seZdZdZddddefdddd d d d d g ZddddgZddddddddddddddd d!d"d#d$d%gZd&Zd'd(Z d)d*Z d+d,Z d-d.Z d/d0Z d1d2Zd3d4Zd5d6Zd7S)8 bdist_msiz7create a Microsoft Installer (.msi) binary distribution)z bdist-dir=Nz1temporary directory for creating the distributionz plat-name=pz;platform name to embed in generated filenames (default: %s)) keep-tempkzPkeep the pseudo-installation tree around after creating the distribution archive)ztarget-version=Nz6require a specific python version on the target system)no-target-compilecz/do not compile .py to .pyc on the target system)no-target-optimizeoz;do not compile .py to .pyo (optimized) on the target system)z dist-dir=dz-directory to put final built distributions in) skip-buildNz2skip rebuilding everything (for testing/debugging))zinstall-script=NzUbasename of installation script to be run after installation or before deinstallation)zpre-install-script=Nz{Fully qualified filename of a script to be run before any files are installed. This script need not be in the distributionr>r@rBrEz2.0z2.1z2.2z2.3z2.4z2.5z2.6z2.7z2.8z2.9z3.0z3.1z3.2z3.3z3.4z3.5z3.6z3.7z3.8z3.9XcCsFd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_ d|_ dS)Nr) bdist_dir plat_name keep_tempZno_target_compileZno_target_optimizetarget_versiondist_dir skip_buildinstall_scriptpre_install_scriptversions)rrrrinitialize_options}szbdist_msi.initialize_optionscCs|dd|jdkr2|dj}tj|d|_t}|jsN|j rN||_|jr|jg|_ |j s|j r|j|krt d|fn t|j|_ |ddd|jrt d|jr|j jD]}|jtj|krqqt d|jd|_dS) NZbdist)rLrLZmsizMtarget version can only be %s, or the '--skip-build' option must be specified)rKrK)rHrHz5the pre-install-script feature is not yet implementedz(install_script '%s' not found in scripts)Zset_undefined_optionsrGget_finalized_command bdist_baseospathjoinrrJ distributionhas_ext_modulesrOrLrlist all_versionsrNrMZscriptsbasenameinstall_script_key)rrRZ short_versionZscriptrrrfinalize_optionssH      zbdist_msi.finalize_optionscCsz|js|d|jddd}|j|_|j|_d|_|d}d|_d|_|j r|j }|spdt j dd}d |j |f}|d}tj|jd ||_td |j|t jdtj|jd |t jd=||j|j}||}tj|}tj|r"t||jj }|j!} | s<|j"} | sFd } |#} dt$| j%} |j}|j r~d|j |f} nd|} t&'|t(| t&)| | |_*t&+|j*t,d| fg} |j-p|j.}|r| /d|f|j0r| /d|j0f| rt1|j*d| |2|3|4|5|j*6t7|jdr^d|j pJd|f}|jj8/||j9svt:|j|j;ddS)Nbuildinstallr$)Zreinit_subcommandsr install_libz%d.%dz.%s-%slibzinstalling to %sZPURELIBZUNKNOWNz%d.%d.%dz Python %s %sz Python %sZ DistVersionZ ARPCONTACTZARPURLINFOABOUTProperty dist_filesr<any)dry_run) }|d?d%d@dAd%d)dB|d7d-dCdDd-d)dE|dFd-dGdHdddI| dJdKd-dLdHdMdNdOddd |jd1dPd1d/} | d0d1|j dPd }|d?d%d@dAd%d)d|d7d-d-dDd-d)d|dFd-ddHddd| ddd-ddHdddddd |ddndd d0d9t|d||||||ddd" }|d|dd%ddtddddXd }|dd ddd-d|dd ddd-d|jd#dd d!| dd"} | dddd| j d0d9dd|d"d} | ddst|d||||||d"d"d"d=d> }|d?d-d%dAd%d)d|dFddddwddġ|ddddd-ddơ|dd&d|d&d-dd} | ddF| ddddZddRddddd } | ddˡ|jddd=d!|j dd"d=d!|d"d# ddst|d||||||ddd" }|d͡|dd%ddHdhddС|dd%ddHddddXd }|dd ddAd{d֡|dd ddAd{d١|jddd=d!| dd"} | dddd| dddd@| ddddN| dddd| dddd| dddd| dddd| dddd| d0d9dd-|d"dѡ ddsdS)Nriri,z[ProductName] Setupr%r$ rb)Z DefaultUIFontDlgFont8)Z ErrorDialogErrorDlg)Z Progress1ZInstall)Z Progress2Zinstalls)MaintenanceForm_ActionRepair) WhichUsersALLZ TextStyle)rTahoma Nr)Z DlgFontBold8rNr$)Z VerdanaBold10VerdanarNr$)Z VerdanaRed9rrrr) PrepareDlgz(Not Privileged or Windows9x or Installed) WhichUsersDlgz.Privileged and not Windows9x and not Installed)SelectFeaturesDlgz Not Installedi)MaintenanceTypeDlgz,Installed AND NOT RESUME AND NOT Preselectedi) ProgressDlgNi ActionTextUITextZ FatalErrorZFinishz)[ProductName] Installer ended prematurelyz< Backr)r/r2r#Z Description1rFrPr!z[ProductName] setup ended prematurely because of an error. Your system has not been modified. To install this program at a later time, please run the installation again.Z Description2z.Click the Finish button to exit the Installer.)r.Z EndDialogZExitZUserExitz'[ProductName] Installer was interruptedz[ProductName] setup was interrupted. Your system has not been modified. To install this program at a later time, please run the installation again.Z ExitDialogz&Completing the [ProductName] InstallerZ DescriptionZReturnZ FilesInUseZRetryF)Zbitmaprz{\DlgFontBold8}Files in Useiz8Some files that need to be updated are currently in use.ZText7iJzThe following applications are using files that need to be updated by this setup. Close these applications and then click Retry to continue the installation or Cancel to exit it.ZListZListBoxkZFileInUseProcessIgnorerreiZ ErrorTextr0rNxHQZNoZErrorNoYZYesZErrorYesAZAbortZ ErrorAbortC*Z ErrorCancelIZ ErrorIgnoreOZOkZErrorOkRZ ErrorRetryZ CancelDlgiUz;Are you sure you want to cancel [ProductName] installation?9r(r)ZWaitForCostingDlgzRPlease wait while the installer finishes determining your disk space requirements.fr(zOPlease wait while the Installer prepares to guide you through the installation.z&Welcome to the [ProductName] Installernz Pondering...Z ActionDatar4Z SpawnDialogrzSelect Python InstallationsZHintz9Select the Python locations where %s should be installed.zNext >z [TARGETDIR]z [SourceDir])Zorderingz [TARGETDIR%s]z FEATURE_SELECTED AND &Python%s=3ZSpawnWaitDialogr`ZFeaturesZ SelectionTreer ZFEATUREZPathEditz[FEATURE_SELECTED]1z!FEATURE_SELECTED AND &Python%s<>3ZOtherz$Provide an alternate Python locationZEnableZShowZDisableZHiderZ DiskCostDlgZOKz&{\DlgFontBold8}Disk Space RequirementszFThe disk space required for the installation of the selected features.5aThe highlighted volumes (if any) do not have enough disk space available for the currently selected features. You can either remove some files from the highlighted volumes, or choose to install less features onto local drive(s), or select different destination drive(s).Z VolumeListZVolumeCostListdiz{120}{70}{70}{70}{70}g?rZ AdminInstallzGSelect whether to install [ProductName] for all users of this computer.rrzInstall for all usersZJUSTMEzInstall just for mez [ALLUSERS]zWhichUsers="ALL"rz({\DlgFontBold8}[Progress1] [ProductName]#AzYPlease wait while the Installer [Progress2] [ProductName]. This may take several minutes.Z StatusLabelzStatus:Z ProgressBariz Progress doneZ SetProgressZProgressrz)Welcome to the [ProductName] Setup WizardZBodyText?z:Select whether you want to repair or remove [ProductName].ZRepairRadioGrouplrrrz&Repair [ProductName]ZRemoverzRe&move [ProductName]z [REINSTALL]zMaintenanceForm_Action="Repair"z [Progress1]Z Repairingz [Progress2]ZrepairsZ Reinstallrz[REMOVE]zMaintenanceForm_Action="Remove" ZRemoving Zremoves z MaintenanceForm_Action<>"Change")rwrr rrrr"r1r3r-ZeventZcontrolrr+mappingrVrnrOrZ conditionr8Z radiogroupadd)rrwxyrrr"ZmodalZmodelessZtrack_disk_spaceZfatalrAZ user_exitZ exit_dialogZinuseerrorr3ZcostingZprepZseldlgorderrurZinstall_other_condZdont_install_other_condZcostZ whichusersgZprogressZmaintrrrr|sv                                                   zbdist_msi.add_uicCs<|jrd||j|jf}nd||jf}tj|j|}|S)Nz%s.%s-py%s.msiz %s.%s.msi)rJrHrSrTrUrK)rrZ base_namerrrrrosz bdist_msi.get_installer_filenameN)r9r:r;Z descriptionrZ user_optionsZboolean_optionsrYrrPr\rmrzryr{r|rorrrrr<Ss^  ([66&@r<)rirSZdistutils.corerZdistutils.dir_utilrZdistutils.sysconfigrZdistutils.versionrZdistutils.errorsrZdistutils.utilrZ distutilsrrvr r r r r rrrr<rrrr s       >__pycache__/check.cpython-38.opt-2.pyc000064400000010354147577664100013445 0ustar00U ,a@sddlmZddlmZzTddlmZddlmZddlm Z ddlm Z ddl m Z Gdd d eZ d ZWnek rd ZYnXGd d d eZdS))Command)DistutilsSetupError)Reporter)Parser)frontend)nodes)StringIOc@seZdZd ddZddZdS) SilentReporterNrasciireplacec Cs"g|_t||||||||dSN)messagesr__init__)selfsource report_level halt_levelstreamdebugencoding error_handlerr}|dd}|dkr8|d}nd|d|f}||qdS)Nliner)z %s (line %s))r6Zget_long_description_check_rst_datagetr.)rdataZwarningr<rrrr2ns  zcheck.check_restructuredtextc Cs|jjp d}t}tjtfd}d|_d|_d|_t ||j |j |j |j |j|jd}tj|||d}||dz|||Wn:tk r}z|jdd|difW5d}~XYnX|jS) Nzsetup.py)Z components)rrrr)rr;z!Could not finish the parsing: %s.)r6Z script_namerrZ OptionParserZget_default_valuesZ tab_widthZpep_referencesZrfc_referencesr rrZwarning_streamrZerror_encodingZerror_encoding_error_handlerrdocumentZ note_sourceparseAttributeErrorr r)rr? source_pathparserZsettingsZreporterrBerrrr=ys.  zcheck._check_rst_dataN) rr r!Z descriptionZ user_optionsZboolean_optionsr,r-r.r3r0r2r=rrrrr"$s  r"N)Zdistutils.corerZdistutils.errorsrZdocutils.utilsrZdocutils.parsers.rstrZdocutilsrriorr r1 Exceptionr"rrrrs