Last active
June 20, 2019 13:21
-
-
Save tomatohammado/3fa5d483e81e57cbba0bd8b3762b9e9b to your computer and use it in GitHub Desktop.
fresh install, pt2
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Last login: Wed Jun 19 23:41:57 on ttys000 | |
MacBook-Air:~ hammad$ brew --version | |
Homebrew 2.1.6 | |
Homebrew/homebrew-core (git revision fef8; last commit 2019-06-19) | |
MacBook-Air:~ hammad$ git --version | |
git version 2.22.0 | |
MacBook-Air:~ hammad$ brew cask install sublime-text visual-studio-code | |
==> Tapping homebrew/cask | |
Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask'... | |
remote: Enumerating objects: 3694, done. | |
remote: Counting objects: 100% (3694/3694), done. | |
remote: Compressing objects: 100% (3684/3684), done. | |
remote: Total 3694 (delta 23), reused 557 (delta 8), pack-reused 0 | |
Receiving objects: 100% (3694/3694), 1.21 MiB | 2.91 MiB/s, done. | |
Resolving deltas: 100% (23/23), done. | |
Tapped 1 command and 3590 casks (3,700 files, 3.9MB). | |
==> Satisfying dependencies | |
==> Downloading https://download.sublimetext.com/Sublime%20Text%20Build%203207.d | |
######################################################################## 100.0% | |
==> Verifying SHA-256 checksum for Cask 'sublime-text'. | |
==> Installing Cask sublime-text | |
==> Moving App 'Sublime Text.app' to '/Applications/Sublime Text.app'. | |
==> Linking Binary 'subl' to '/usr/local/bin/subl'. | |
🍺 sublime-text was successfully installed! | |
==> Satisfying dependencies | |
==> Downloading https://az764295.vo.msecnd.net/stable/c7d83e57cd18f18026a8162d04 | |
######################################################################## 100.0% | |
==> Verifying SHA-256 checksum for Cask 'visual-studio-code'. | |
==> Installing Cask visual-studio-code | |
==> Moving App 'Visual Studio Code.app' to '/Applications/Visual Studio Code.app | |
==> Linking Binary 'code' to '/usr/local/bin/code'. | |
🍺 visual-studio-code was successfully installed! | |
MacBook-Air:~ hammad$ brew --version | |
Homebrew 2.1.6 | |
Homebrew/homebrew-core (git revision fef8; last commit 2019-06-19) | |
Homebrew/homebrew-cask (git revision 1262d; last commit 2019-06-19) | |
MacBook-Air:~ hammad$ subl . | |
MacBook-Air:~ hammad$ subl ~/.bash_profile | |
MacBook-Air:~ hammad$ source ~/.bash_profile | |
MacBook-Air:~ hammad$ source ~/.bash_profile | |
MacBook-Air:~ hammad$ brew install bash-git-prompt | |
==> Downloading https://github.com/magicmonty/bash-git-prompt/archive/2.7.1.tar. | |
==> Downloading from https://codeload.github.com/magicmonty/bash-git-prompt/tar. | |
######################################################################## 100.0% | |
==> Caveats | |
You should add the following to your .bashrc (or .bash_profile): | |
if [ -f "/usr/local/opt/bash-git-prompt/share/gitprompt.sh" ]; then | |
__GIT_PROMPT_DIR="/usr/local/opt/bash-git-prompt/share" | |
source "/usr/local/opt/bash-git-prompt/share/gitprompt.sh" | |
fi | |
==> Summary | |
🍺 /usr/local/Cellar/bash-git-prompt/2.7.1: 44 files, 106.3KB, built in 2 seconds | |
MacBook-Air:~ hammad$ source ~/.bash_profile | |
✔ ~ | |
23:55 $ node --version | |
-bash: node: command not found | |
✘-127 ~ | |
23:55 $ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash | |
% Total % Received % Xferd Average Speed Time Time Time Current | |
Dload Upload Total Spent Left Speed | |
100 13226 100 13226 0 0 69469 0 --:--:-- --:--:-- --:--:-- 69610 | |
=> Downloading nvm from git to '/Users/hammad/.nvm' | |
=> Cloning into '/Users/hammad/.nvm'... | |
remote: Enumerating objects: 278, done. | |
remote: Counting objects: 100% (278/278), done. | |
remote: Compressing objects: 100% (249/249), done. | |
remote: Total 278 (delta 33), reused 88 (delta 16), pack-reused 0 | |
Receiving objects: 100% (278/278), 142.36 KiB | 4.07 MiB/s, done. | |
Resolving deltas: 100% (33/33), done. | |
=> Compressing and cleaning up git repository | |
=> Appending nvm source string to /Users/hammad/.bash_profile | |
=> Appending bash_completion source string to /Users/hammad/.bash_profile | |
=> Close and reopen your terminal to start using nvm or run the following to use it now: | |
export NVM_DIR="$HOME/.nvm" | |
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm | |
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion | |
✔ ~ | |
23:55 $ source ~/.bash_profile | |
✔ ~ | |
23:55 $ command -v nvm | |
nvm | |
✔ ~ | |
23:55 $ node --version | |
-bash: node: command not found | |
✘-127 ~ | |
23:55 $ nvm install node | |
Downloading and installing node v12.4.0... | |
Downloading https://nodejs.org/dist/v12.4.0/node-v12.4.0-darwin-x64.tar.gz... | |
######################################################################## 100.0% | |
Computing checksum with shasum -a 256 | |
Checksums matched! | |
Now using node v12.4.0 (npm v6.9.0) | |
Creating default alias: default -> node (-> v12.4.0) | |
✔ ~ | |
23:55 $ node --version | |
v12.4.0 | |
✔ ~ | |
23:55 $ brew install pyenv | |
==> Installing dependencies for pyenv: autoconf, openssl, pkg-config and readline | |
==> Installing pyenv dependency: autoconf | |
==> Downloading https://homebrew.bintray.com/bottles/autoconf-2.69.mojave.bottle | |
==> Downloading from https://akamai.bintray.com/97/9724736d34773b6e41e2434ffa28f | |
######################################################################## 100.0% | |
==> Pouring autoconf-2.69.mojave.bottle.4.tar.gz | |
==> Caveats | |
Emacs Lisp files have been installed to: | |
/usr/local/share/emacs/site-lisp/autoconf | |
==> Summary | |
🍺 /usr/local/Cellar/autoconf/2.69: 71 files, 3.0MB | |
==> Installing pyenv dependency: openssl | |
==> Downloading https://homebrew.bintray.com/bottles/openssl-1.0.2s.mojave.bottl | |
==> Downloading from https://akamai.bintray.com/c4/c4a762d719c2be74ac686f1aafabb | |
######################################################################## 100.0% | |
==> Pouring openssl-1.0.2s.mojave.bottle.tar.gz | |
==> Caveats | |
A CA file has been bootstrapped using certificates from the SystemRoots | |
keychain. To add additional certificates (e.g. the certificates added in | |
the System keychain), place .pem files in | |
/usr/local/etc/openssl/certs | |
and run | |
/usr/local/opt/openssl/bin/c_rehash | |
openssl is keg-only, which means it was not symlinked into /usr/local, | |
because Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries. | |
If you need to have openssl first in your PATH run: | |
echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile | |
For compilers to find openssl you may need to set: | |
export LDFLAGS="-L/usr/local/opt/openssl/lib" | |
export CPPFLAGS="-I/usr/local/opt/openssl/include" | |
==> Summary | |
🍺 /usr/local/Cellar/openssl/1.0.2s: 1,795 files, 12.0MB | |
==> Installing pyenv dependency: pkg-config | |
==> Downloading https://homebrew.bintray.com/bottles/pkg-config-0.29.2.mojave.bo | |
==> Downloading from https://akamai.bintray.com/85/85e5bbffb3424f22cd1bf54b69161 | |
######################################################################## 100.0% | |
==> Pouring pkg-config-0.29.2.mojave.bottle.tar.gz | |
🍺 /usr/local/Cellar/pkg-config/0.29.2: 11 files, 627.2KB | |
==> Installing pyenv dependency: readline | |
==> Downloading https://homebrew.bintray.com/bottles/readline-8.0.0_1.mojave.bot | |
==> Downloading from https://akamai.bintray.com/fa/faab004773e6449dd97971311cb62 | |
######################################################################## 100.0% | |
==> Pouring readline-8.0.0_1.mojave.bottle.tar.gz | |
==> Caveats | |
readline is keg-only, which means it was not symlinked into /usr/local, | |
because macOS provides the BSD libedit library, which shadows libreadline. | |
In order to prevent conflicts when programs look for libreadline we are | |
defaulting this GNU Readline installation to keg-only. | |
For compilers to find readline you may need to set: | |
export LDFLAGS="-L/usr/local/opt/readline/lib" | |
export CPPFLAGS="-I/usr/local/opt/readline/include" | |
For pkg-config to find readline you may need to set: | |
export PKG_CONFIG_PATH="/usr/local/opt/readline/lib/pkgconfig" | |
==> Summary | |
🍺 /usr/local/Cellar/readline/8.0.0_1: 48 files, 1.5MB | |
==> Installing pyenv | |
==> Downloading https://homebrew.bintray.com/bottles/pyenv-1.2.12.mojave.bottle. | |
==> Downloading from https://akamai.bintray.com/32/328765d7bfe1c36a25274b5a985b3 | |
######################################################################## 100.0% | |
==> Pouring pyenv-1.2.12.mojave.bottle.tar.gz | |
🍺 /usr/local/Cellar/pyenv/1.2.12: 648 files, 2.4MB | |
==> Caveats | |
==> autoconf | |
Emacs Lisp files have been installed to: | |
/usr/local/share/emacs/site-lisp/autoconf | |
==> openssl | |
A CA file has been bootstrapped using certificates from the SystemRoots | |
keychain. To add additional certificates (e.g. the certificates added in | |
the System keychain), place .pem files in | |
/usr/local/etc/openssl/certs | |
and run | |
/usr/local/opt/openssl/bin/c_rehash | |
openssl is keg-only, which means it was not symlinked into /usr/local, | |
because Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries. | |
If you need to have openssl first in your PATH run: | |
echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile | |
For compilers to find openssl you may need to set: | |
export LDFLAGS="-L/usr/local/opt/openssl/lib" | |
export CPPFLAGS="-I/usr/local/opt/openssl/include" | |
For pkg-config to find openssl you may need to set: | |
export PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig" | |
==> readline | |
readline is keg-only, which means it was not symlinked into /usr/local, | |
because macOS provides the BSD libedit library, which shadows libreadline. | |
In order to prevent conflicts when programs look for libreadline we are | |
defaulting this GNU Readline installation to keg-only. | |
For compilers to find readline you may need to set: | |
export LDFLAGS="-L/usr/local/opt/readline/lib" | |
export CPPFLAGS="-I/usr/local/opt/readline/include" | |
For pkg-config to find readline you may need to set: | |
export PKG_CONFIG_PATH="/usr/local/opt/readline/lib/pkgconfig" | |
✔ ~ | |
23:56 $ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bash_profile | |
✔ ~ | |
23:56 $ source ~/.bash_profile | |
✔ ~ | |
23:57 $ pyenv --version | |
pyenv 1.2.12 | |
✔ ~ | |
23:57 $ pyenv install 3.7.3 | |
python-build: use openssl from homebrew | |
python-build: use readline from homebrew | |
Downloading Python-3.7.3.tar.xz... | |
-> https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tar.xz | |
Installing Python-3.7.3... | |
python-build: use readline from homebrew | |
python-build: use zlib from xcode sdk | |
Installed Python-3.7.3 to /Users/hammad/.pyenv/versions/3.7.3 | |
✔ ~ | |
00:00 $ pyenv versions | |
* system (set by /Users/hammad/.pyenv/version) | |
3.7.3 | |
✔ ~ | |
00:00 $ pyenv global 3.7.3 | |
✔ ~ | |
00:00 $ pyenv versions | |
system | |
* 3.7.3 (set by /Users/hammad/.pyenv/version) | |
✔ ~ | |
00:00 $ python --version | |
Python 3.7.3 | |
✔ ~ | |
00:00 $ source ~/.bash_profile | |
✔ ~ | |
00:00 $ python --version | |
Python 3.7.3 | |
✔ ~ | |
00:00 $ pip install ipython | |
Collecting ipython | |
Downloading https://files.pythonhosted.org/packages/a9/2e/41dce4ed129057e05a555a7f9629aa2d5f81fdcd4d16568bc24b75a1d2c9/ipython-7.5.0-py3-none-any.whl (770kB) | |
100% |████████████████████████████████| 778kB 7.0MB/s | |
Collecting prompt-toolkit<2.1.0,>=2.0.0 (from ipython) | |
Downloading https://files.pythonhosted.org/packages/f7/a7/9b1dd14ef45345f186ef69d175bdd2491c40ab1dfa4b2b3e4352df719ed7/prompt_toolkit-2.0.9-py3-none-any.whl (337kB) | |
100% |████████████████████████████████| 337kB 5.7MB/s | |
Requirement already satisfied: setuptools>=18.5 in ./.pyenv/versions/3.7.3/lib/python3.7/site-packages (from ipython) (40.8.0) | |
Collecting pygments (from ipython) | |
Downloading https://files.pythonhosted.org/packages/5c/73/1dfa428150e3ccb0fa3e68db406e5be48698f2a979ccbcec795f28f44048/Pygments-2.4.2-py2.py3-none-any.whl (883kB) | |
100% |████████████████████████████████| 890kB 11.5MB/s | |
Collecting decorator (from ipython) | |
Downloading https://files.pythonhosted.org/packages/5f/88/0075e461560a1e750a0dcbf77f1d9de775028c37a19a346a6c565a257399/decorator-4.4.0-py2.py3-none-any.whl | |
Collecting pexpect; sys_platform != "win32" (from ipython) | |
Downloading https://files.pythonhosted.org/packages/0e/3e/377007e3f36ec42f1b84ec322ee12141a9e10d808312e5738f52f80a232c/pexpect-4.7.0-py2.py3-none-any.whl (58kB) | |
100% |████████████████████████████████| 61kB 4.8MB/s | |
Collecting pickleshare (from ipython) | |
Downloading https://files.pythonhosted.org/packages/9a/41/220f49aaea88bc6fa6cba8d05ecf24676326156c23b991e80b3f2fc24c77/pickleshare-0.7.5-py2.py3-none-any.whl | |
Collecting traitlets>=4.2 (from ipython) | |
Downloading https://files.pythonhosted.org/packages/93/d6/abcb22de61d78e2fc3959c964628a5771e47e7cc60d53e9342e21ed6cc9a/traitlets-4.3.2-py2.py3-none-any.whl (74kB) | |
100% |████████████████████████████████| 81kB 205kB/s | |
Collecting appnope; sys_platform == "darwin" (from ipython) | |
Downloading https://files.pythonhosted.org/packages/87/a9/7985e6a53402f294c8f0e8eff3151a83f1fb901fa92909bb3ff29b4d22af/appnope-0.1.0-py2.py3-none-any.whl | |
Collecting backcall (from ipython) | |
Downloading https://files.pythonhosted.org/packages/84/71/c8ca4f5bb1e08401b916c68003acf0a0655df935d74d93bf3f3364b310e0/backcall-0.1.0.tar.gz | |
Collecting jedi>=0.10 (from ipython) | |
Downloading https://files.pythonhosted.org/packages/25/2b/1f188901be099d52d7b06f4d3b7cb9f8f09692c50697b139eaf6fa2928d8/jedi-0.13.3-py2.py3-none-any.whl (178kB) | |
100% |████████████████████████████████| 184kB 5.6MB/s | |
Collecting six>=1.9.0 (from prompt-toolkit<2.1.0,>=2.0.0->ipython) | |
Downloading https://files.pythonhosted.org/packages/73/fb/00a976f728d0d1fecfe898238ce23f502a721c0ac0ecfedb80e0d88c64e9/six-1.12.0-py2.py3-none-any.whl | |
Collecting wcwidth (from prompt-toolkit<2.1.0,>=2.0.0->ipython) | |
Downloading https://files.pythonhosted.org/packages/7e/9f/526a6947247599b084ee5232e4f9190a38f398d7300d866af3ab571a5bfe/wcwidth-0.1.7-py2.py3-none-any.whl | |
Collecting ptyprocess>=0.5 (from pexpect; sys_platform != "win32"->ipython) | |
Downloading https://files.pythonhosted.org/packages/d1/29/605c2cc68a9992d18dada28206eeada56ea4bd07a239669da41674648b6f/ptyprocess-0.6.0-py2.py3-none-any.whl | |
Collecting ipython-genutils (from traitlets>=4.2->ipython) | |
Downloading https://files.pythonhosted.org/packages/fa/bc/9bd3b5c2b4774d5f33b2d544f1460be9df7df2fe42f352135381c347c69a/ipython_genutils-0.2.0-py2.py3-none-any.whl | |
Collecting parso>=0.3.0 (from jedi>=0.10->ipython) | |
Downloading https://files.pythonhosted.org/packages/a7/bd/e2f4753c5fa93932899243b4299011a757ac212e9bc8ddf062f38df4e78b/parso-0.4.0-py2.py3-none-any.whl (94kB) | |
100% |████████████████████████████████| 102kB 3.4MB/s | |
Installing collected packages: six, wcwidth, prompt-toolkit, pygments, decorator, ptyprocess, pexpect, pickleshare, ipython-genutils, traitlets, appnope, backcall, parso, jedi, ipython | |
Running setup.py install for backcall ... done | |
Successfully installed appnope-0.1.0 backcall-0.1.0 decorator-4.4.0 ipython-7.5.0 ipython-genutils-0.2.0 jedi-0.13.3 parso-0.4.0 pexpect-4.7.0 pickleshare-0.7.5 prompt-toolkit-2.0.9 ptyprocess-0.6.0 pygments-2.4.2 six-1.12.0 traitlets-4.3.2 wcwidth-0.1.7 | |
You are using pip version 19.0.3, however version 19.1.1 is available. | |
You should consider upgrading via the 'pip install --upgrade pip' command. | |
✔ ~ | |
00:01 $ ipython | |
Python 3.7.3 (default, Jun 19 2019, 23:58:50) | |
Type 'copyright', 'credits' or 'license' for more information | |
IPython 7.5.0 -- An enhanced Interactive Python. Type '?' for help. | |
In [1]: exit | |
✔ ~ | |
00:01 $ pip install --user pipenv | |
Collecting pipenv | |
Downloading https://files.pythonhosted.org/packages/13/b4/3ffa55f77161cff9a5220f162670f7c5eb00df52e00939e203f601b0f579/pipenv-2018.11.26-py3-none-any.whl (5.2MB) | |
100% |████████████████████████████████| 5.2MB 4.9MB/s | |
Collecting virtualenv-clone>=0.2.5 (from pipenv) | |
Downloading https://files.pythonhosted.org/packages/ba/f8/50c2b7dbc99e05fce5e5b9d9a31f37c988c99acd4e8dedd720b7b8d4011d/virtualenv_clone-0.5.3-py2.py3-none-any.whl | |
Requirement already satisfied: pip>=9.0.1 in ./.pyenv/versions/3.7.3/lib/python3.7/site-packages (from pipenv) (19.0.3) | |
Collecting virtualenv (from pipenv) | |
Downloading https://files.pythonhosted.org/packages/c4/9a/a3f62ac5122a65dec34ad4b5ed8d802633dae4bc06a0fc62e55fe3e96fe1/virtualenv-16.6.1-py2.py3-none-any.whl (2.0MB) | |
100% |████████████████████████████████| 2.0MB 7.7MB/s | |
Requirement already satisfied: setuptools>=36.2.1 in ./.pyenv/versions/3.7.3/lib/python3.7/site-packages (from pipenv) (40.8.0) | |
Collecting certifi (from pipenv) | |
Downloading https://files.pythonhosted.org/packages/69/1b/b853c7a9d4f6a6d00749e94eb6f3a041e342a885b87340b79c1ef73e3a78/certifi-2019.6.16-py2.py3-none-any.whl (157kB) | |
100% |████████████████████████████████| 163kB 22.3MB/s | |
Installing collected packages: virtualenv-clone, virtualenv, certifi, pipenv | |
The script virtualenv-clone is installed in '/Users/hammad/.local/bin' which is not on PATH. | |
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. | |
The script virtualenv is installed in '/Users/hammad/.local/bin' which is not on PATH. | |
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. | |
The scripts pipenv and pipenv-resolver are installed in '/Users/hammad/.local/bin' which is not on PATH. | |
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. | |
Successfully installed certifi-2019.6.16 pipenv-2018.11.26 virtualenv-16.6.1 virtualenv-clone-0.5.3 | |
You are using pip version 19.0.3, however version 19.1.1 is available. | |
You should consider upgrading via the 'pip install --upgrade pip' command. | |
✔ ~ | |
08:51 $ pipenv --version | |
-bash: pipenv: command not found | |
✘-127 ~ | |
08:51 $ python -m site --user-base | |
/Users/hammad/.local | |
✔ ~ | |
08:53 $ source ~/.bash_profile | |
✔ ~ | |
08:59 $ echo PATH | |
PATH | |
✔ ~ | |
08:59 $ echo $PATH | |
/Users/hammad/.pyenv/shims:/Users/hammad/.nvm/versions/node/v12.4.0/bin:/usr/local/bin:/Users/hammad/.pyenv/shims:/Users/hammad/.nvm/versions/node/v12.4.0/bin:/usr/local/bin:/Users/hammad/.pyenv/shims:/Users/hammad/.nvm/versions/node/v12.4.0/bin:/usr/local/bin:/Users/hammad/.nvm/versions/node/v12.4.0/bin:/usr/local/bin:/usr/local/bin:/usr/local/bin:/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin | |
✔ ~ | |
08:59 $ source ~/.bash_profile | |
✘-1 ~ | |
09:06 $ source ~/.bash_profile | |
✔ ~ | |
09:06 $ pipenv --version | |
pipenv, version 2018.11.26 | |
✔ ~ | |
09:06 $ brew cask install postgres | |
Updating Homebrew... | |
==> Auto-updated Homebrew! | |
Updated 2 taps (homebrew/core and homebrew/cask). | |
==> Updated Formulae | |
amqp-cpp erlang kotlin openapi-generator | |
angle-grinder gawk kubernetes-cli sn0int | |
bind gmic minio terrahub | |
cfn-lint gromacs minio-mc xmake | |
clozure-cl juju neovim | |
==> Satisfying dependencies | |
==> Downloading https://github.com/PostgresApp/PostgresApp/releases/download/v2. | |
==> Downloading from https://github-production-release-asset-2e65be.s3.amazonaws | |
######################################################################## 100.0% | |
==> Verifying SHA-256 checksum for Cask 'postgres'. | |
==> Installing Cask postgres | |
==> Moving App 'Postgres.app' to '/Applications/Postgres.app'. | |
🍺 postgres was successfully installed! | |
✔ ~ | |
09:12 $ sudo mkdir -p /etc/paths.d && echo /Applications/Postgres.app/Contents/Versions/latest/bin | sudo tee /etc/paths.d/postgresapp | |
Password: | |
/Applications/Postgres.app/Contents/Versions/latest/bin | |
✔ ~ | |
09:20 $ source ~/.bash_profile | |
✔ ~ | |
09:20 $ psql | |
-bash: psql: command not found | |
✘-127 ~ | |
09:20 $ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment