-e git+https://osm.etsi.org/gerrit/osm/N2VC.git@v10.0#egg=n2vc
    # via -r requirements-dev.in
-e git+https://osm.etsi.org/gerrit/osm/common.git@v10.0#egg=osm-common
    # via -r requirements-dev.in
aiokafka==0.7.0
    # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=v10.0
async-timeout==3.0.1
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=v10.0
    #   retrying-async
bcrypt==3.2.0
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=v10.0
    #   paramiko
cachetools==4.2.1
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=v10.0
    #   google-auth
certifi==2020.12.5
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=v10.0
    #   kubernetes
    #   requests
cffi==1.14.5
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=v10.0
    #   bcrypt
    #   cryptography
    #   pynacl
chardet==4.0.0
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=v10.0
    #   requests
cryptography==3.4.7
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=v10.0
    #   paramiko
dataclasses==0.6
    # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=v10.0
google-auth==1.28.0
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=v10.0
    #   kubernetes
idna==2.10
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=v10.0
    #   requests
juju==2.8.4
    # via -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=v10.0
jujubundlelib==0.5.6
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=v10.0
    #   theblues
kafka-python==2.0.2
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=v10.0
    #   aiokafka
kubernetes==10.0.1
    # via -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=v10.0
macaroonbakery==1.3.1
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=v10.0
    #   juju
    #   theblues
motor==1.3.1
    # via -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=v10.0
mypy-extensions==0.4.3
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=v10.0
    #   typing-inspect
oauthlib==3.1.0
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=v10.0
    #   requests-oauthlib
paramiko==2.7.2
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=v10.0
    #   juju
protobuf==3.15.6
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=v10.0
    #   macaroonbakery
pyasn1-modules==0.2.8
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=v10.0
    #   google-auth
pyasn1==0.4.8
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=v10.0
    #   juju
    #   pyasn1-modules
    #   rsa
pycparser==2.20
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=v10.0
    #   cffi
pycrypto==2.6.1
    # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=v10.0
pymacaroons==0.13.0
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=v10.0
    #   macaroonbakery
pymongo==3.11.3
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=v10.0
    #   -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=v10.0
    #   motor
pynacl==1.4.0
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=v10.0
    #   macaroonbakery
    #   paramiko
    #   pymacaroons
pyrfc3339==1.1
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=v10.0
    #   juju
    #   macaroonbakery
python-dateutil==2.8.1
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=v10.0
    #   kubernetes
pytz==2021.1
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=v10.0
    #   pyrfc3339
pyyaml==5.4.1
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=v10.0
    #   -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=v10.0
    #   juju
    #   jujubundlelib
    #   kubernetes
requests-oauthlib==1.3.0
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=v10.0
    #   kubernetes
requests==2.25.1
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=v10.0
    #   kubernetes
    #   macaroonbakery
    #   requests-oauthlib
    #   theblues
retrying-async==1.2.0
    # via -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=v10.0
rsa==4.7.2
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=v10.0
    #   google-auth
six==1.15.0
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=v10.0
    #   bcrypt
    #   google-auth
    #   kubernetes
    #   macaroonbakery
    #   protobuf
    #   pymacaroons
    #   pynacl
    #   python-dateutil
    #   websocket-client
theblues==0.5.2
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=v10.0
    #   juju
toposort==1.6
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=v10.0
    #   juju
typing-extensions==3.7.4.3
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=v10.0
    #   typing-inspect
typing-inspect==0.6.0
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=v10.0
    #   juju
urllib3==1.26.4
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=v10.0
    #   kubernetes
    #   requests
websocket-client==0.58.0
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=v10.0
    #   kubernetes
websockets==7.0
    # via
    #   -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=v10.0
    #   juju

# The following packages are considered to be unsafe in a requirements file:
# setuptools
#######################################################################################
# Copyright ETSI Contributors and Others.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
# implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#######################################################################################
