diff --git "a/\"" "b/\""
new file mode 100644
index 00000000..e69de29
diff --git "a/\";alert(\"xss\");\"" "b/\";alert(\"xss\");\""
new file mode 100644
index 00000000..e69de29
diff --git a/# b/#
new file mode 100644
index 00000000..e69de29
diff --git a/' b/'
new file mode 100644
index 00000000..e69de29
diff --git "a/';alert(\"xss\");'" "b/';alert(\"xss\");'"
new file mode 100644
index 00000000..e69de29
diff --git a/- b/-
new file mode 100644
index 00000000..e69de29
diff --git a/-- b/--
new file mode 100644
index 00000000..e69de29
diff --git a/valid_filenames/-start-with-slash b/-start-with-slash
similarity index 100%
rename from valid_filenames/-start-with-slash
rename to -start-with-slash
diff --git a/valid_filenames/.* b/.*
similarity index 100%
rename from valid_filenames/.*
rename to .*
diff --git a/valid_filenames/... b/...
similarity index 100%
rename from valid_filenames/...
rename to ...
diff --git a/.bzrignore b/.bzrignore
new file mode 100644
index 00000000..6b8710a
--- /dev/null
+++ b/.bzrignore
@@ -0,0 +1 @@
+.git
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 00000000..e69de29
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 00000000..0a7ae96
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+.bzr
diff --git a/1970 b/1970
new file mode 100644
index 00000000..e69de29
diff --git a/3 b/3
deleted file mode 100644
index e440e5c..00000000
--- a/3
+++ /dev/null
@@ -1 +0,0 @@
-3
\ No newline at end of file
diff --git a/: b/:
new file mode 100644
index 00000000..e69de29
diff --git a/; b/;
new file mode 100644
index 00000000..e69de29
diff --git "a/;alert(\"xss\");" "b/;alert(\"xss\");"
new file mode 100644
index 00000000..e69de29
diff --git a/;alert('xss'); b/;alert('xss');
new file mode 100644
index 00000000..e69de29
diff --git "a/
+
+`
a
`:
+
+a
+
+``:
+
+
+
+### Entities
+
+`#`: #
+
+`Ӓ`: Ӓ
+
+`Ϡ`: Ϡ
+
+``:
+
+## XSS
+
+
+
+For compilers that treat `h1` magically (e.g. add to a TOC):
+
+#
diff --git a/mirrors.md b/mirrors.md
new file mode 100644
index 00000000..48b79e8
--- /dev/null
+++ b/mirrors.md
@@ -0,0 +1,44 @@
+# Mirrors
+
+This repository is mirrored at:
+
+- . Runs on [Girocco](http://repo.or.cz/w/girocco.git). TODO get working.
+-
+- Company called Wildbit. builtwith.com and job offerings say Rails.
+- . By Microsoft. Rejects this repo because of the future-max commit, so I made placeholder to squat the project name.
+- . Unable to use it for now:
+-
+-
+-
+- (500 initially )
+-
+-
+
+Mirrors without public view:
+
+-
+-
+
+Mirrors without repository browsing:
+
+-
+
+Mirrors for which I can't create projects:
+
+-
+
+Discontinued:
+
+- (to be closed)
+- , bough by GitLab. Will remain read only.
+
+Web interfaces without public hosting service that I know of. Huge list: Some interesting ones:
+
+- Gitweb. Distributed with Git. The Perl one.
+- cgit. Official self-host: , GitHub mirror: . Used by GNU Savannah. Written in C.
+- Gerrit. The Java one. ,
+- GitList. The PHP one.
+- WebGitNet. The .Net one.
+- Gogs. The Go one. Modified version at:
+
+The SSH of those repos can be found at: [remotes.sh](remotes.sh), including other repos which don't have public view like Atlas.
diff --git a/name of file b/name of file
deleted file mode 100644
index b462f70..00000000
--- a/name of file
+++ /dev/null
@@ -1,25 +0,0 @@
-nwe file
-
-
-aaaaaaaaa
-
-
-
-
-
-
-bbbbbbbbbbb
-
-
-
-
-
-ccccccccc
-
-
-
-
-
-ddddd
-
-eeee
diff --git a/new-name-same-email b/new-name-same-email
new file mode 100644
index 00000000..e69de29
diff --git a/no-preview b/no-preview
new file mode 100644
index 00000000..f127d72
Binary files /dev/null and b/no-preview differ
diff --git a/objects/17/3a852893f2dac5b79dd5862e5a032777477567 b/objects/17/3a852893f2dac5b79dd5862e5a032777477567
new file mode 100644
index 00000000..3ee5261
--- /dev/null
+++ b/objects/17/3a852893f2dac5b79dd5862e5a032777477567
@@ -0,0 +1,2 @@
+x5ŒÁ
+1=÷+r÷Òb6ñ_ÒnŠ–…¥þ¿«à\g˜¾oÛk€Ë<2I\W¶æ}8»aí.~c 5®£éà%Þó¹t¹¨šXt'¥ÿ®3ÿè²|œA‰ò!WÙ
\ No newline at end of file
diff --git a/objects/49/6d6428b9cf92981dc9495211e6e1120fb6f2ba b/objects/49/6d6428b9cf92981dc9495211e6e1120fb6f2ba
new file mode 100644
index 00000000..978bc34
Binary files /dev/null and b/objects/49/6d6428b9cf92981dc9495211e6e1120fb6f2ba differ
diff --git a/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 b/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391
new file mode 100644
index 00000000..7112238
Binary files /dev/null and b/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 differ
diff --git a/other-cms.md b/other-cms.md
new file mode 100644
index 00000000..4cd96ae
--- /dev/null
+++ b/other-cms.md
@@ -0,0 +1,3 @@
+# Other CMS
+
+- `bzr`: cannot handle the path with a single backslash \.
diff --git a/other-test-repos/.gitignore b/other-test-repos/.gitignore
new file mode 100644
index 00000000..f78f5f4
--- /dev/null
+++ b/other-test-repos/.gitignore
@@ -0,0 +1,4 @@
+*.pyc
+/tmp/
+/*.tmp/
+__pycache__/
diff --git a/other-test-repos/README.md b/other-test-repos/README.md
new file mode 100644
index 00000000..ee7b730
--- /dev/null
+++ b/other-test-repos/README.md
@@ -0,0 +1,43 @@
+# Other test repositories
+
+Scripts in this directory can be used to generate the more complex test repositories.
+
+Tests that are very large will not be included here to keep this repository small:
+
+-
+-
+-
+- [many-commits.py](many-commits.py)
+
+There are also some tests that could not be included here conveniently:
+
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+- , , [streak.py](streak.py),
+-
+-
+-
+-
+-
+- (fails on GitHub)
+-
+
+Other similar repos from other people:
+
+-
+
+Other useful things:
+
+- . May contain some extra semi-internal information.
+
+ -
+ - GitHub is hosted on Carpathia
+ - GitHub uses Mac?
diff --git a/other-test-repos/commit-meta.bashrc b/other-test-repos/commit-meta.bashrc
new file mode 100644
index 00000000..90e4469
--- /dev/null
+++ b/other-test-repos/commit-meta.bashrc
@@ -0,0 +1,10 @@
+# Fixed commit metadata.
+date='2000-01-01T00:00:00+0000'
+email='a@a.com'
+name='a'
+export GIT_AUTHOR_DATE="$date"
+export GIT_AUTHOR_EMAIL="$email"
+export GIT_AUTHOR_NAME="$name"
+export GIT_COMMITTER_DATE="$date"
+export GIT_COMMITTER_EMAIL="$email"
+export GIT_COMMITTER_NAME="$name"
diff --git a/other-test-repos/duplicate-parent-lowlevel.py b/other-test-repos/duplicate-parent-lowlevel.py
new file mode 100755
index 00000000..b22b146
--- /dev/null
+++ b/other-test-repos/duplicate-parent-lowlevel.py
@@ -0,0 +1,26 @@
+#!/usr/bin/env python3
+
+"""
+Git does not let a commit have twice the same parent, but GitHub does, and normally shows it.
+But as of 2016-05-17 they didn't page this edge case, and it 502's the commit for large numbers of links.
+
+If you increase the value a lot, when you clone and cd into the repo. your computer may bog down
+if you show a git status on the bash, because Git memory explodes trying to parse that.
+Actual compressed size is very small though, since gzip compresses all that repeated data very efficiently.
+
+push would require an obscene ammount of memory (malloc fails on `ulimit -Sv`), so I couldn't test it.
+"""
+
+import itertools
+
+import util
+
+util.init()
+
+tree = util.create_tree_with_one_file()
+commit, _, _ = util.save_commit_object(tree, author_name=b'a')
+commit, _, _ = util.save_commit_object(tree, itertools.repeat(commit, 10000000), author_name=b'b')
+
+# Finish.
+util.create_master(commit)
+util.clone()
diff --git a/other-test-repos/duplicate-parent.sh b/other-test-repos/duplicate-parent.sh
new file mode 100755
index 00000000..edf6d47
--- /dev/null
+++ b/other-test-repos/duplicate-parent.sh
@@ -0,0 +1,32 @@
+#!/usr/bin/env bash
+
+set -e
+
+# Try to create a commit with two times it's parent with git-commit-tree
+# Outcome on Git 2.7: commit fails. Will try again with raw object creation from Python later on.
+
+. commit-meta.bashrc
+. init.bashrc
+
+# Directory parameters.
+blob_content=''
+blob_name='a'
+blob_mode='100644'
+dir_name='directory'
+
+# Blob.
+blob_sha="$(printf "$blob_content" | git hash-object --stdin -w)"
+
+# Tree.
+tree_sha="$(printf "\
+$blob_mode blob $blob_sha\t$blob_name
+" | git mktree)"
+
+# Commit 1.
+commit_sha="$( \
+ git commit-tree -m 0 "$tree_sha")"
+git branch master "$commit_sha"
+
+# Commit 2 that has the duplicate parent.
+commit_sha="$(git commit-tree -m 1 -p "$commit_sha" -p "$commit_sha" "$tree_sha")"
+git update-ref master "$commit_sha"
diff --git a/other-test-repos/finish-bare.bashrc b/other-test-repos/finish-bare.bashrc
new file mode 100644
index 00000000..95c31bc
--- /dev/null
+++ b/other-test-repos/finish-bare.bashrc
@@ -0,0 +1 @@
+git clone -q repo.tmp clone.tmp
diff --git a/other-test-repos/init.bashrc b/other-test-repos/init.bashrc
new file mode 100644
index 00000000..e05c4b5
--- /dev/null
+++ b/other-test-repos/init.bashrc
@@ -0,0 +1,4 @@
+rm -rf repo.tmp clone.tmp
+mkdir -p repo.tmp
+cd repo.tmp
+git init -q
diff --git a/other-test-repos/manual-sha-calculation.py b/other-test-repos/manual-sha-calculation.py
new file mode 100755
index 00000000..99cea4b
--- /dev/null
+++ b/other-test-repos/manual-sha-calculation.py
@@ -0,0 +1,54 @@
+#!/usr/bin/env python3
+
+"""
+Create objects very manually to try and be faster than Git to generate large repos.
+"""
+
+import util
+
+util.init()
+
+# Directory parameters.
+blob_content = b'a'
+blob_basename = b'a'
+blob_mode = b'100644'
+
+# Commit parameters.
+name = b'a'
+email = b'a@a.com'
+# 2000-01-01T00:00:00+0000
+date = b'946684800 +0000'
+author_date = date
+author_email = email
+author_name = name
+committer_date = date
+committer_email = email
+committer_name = name
+message = b'a'
+# ASCII hex of parents.
+parents = ()
+
+# Blob.
+blob_sha_ascii, blob_sha = util.save_object(b'blob', blob_content)
+# Check sha matches Git.
+blob_sha_git = util.get_git_hash_object(b'blob', blob_content)
+assert blob_sha_ascii == blob_sha_git
+
+# Tree.
+tree_sha_ascii, tree_sha, tree_content = util.save_tree_object(blob_mode, blob_basename, blob_sha)
+# Check sha matches Git.
+tree_sha_git = util.get_git_hash_object(b'tree', tree_content)
+assert tree_sha_ascii == tree_sha_git
+
+# Commit.
+commit_sha_ascii, commit_sha, commit_content = util.save_commit_object(
+ tree_sha_ascii, parents,
+ author_name, author_email, author_date,
+ committer_name, committer_email, committer_date,
+ message)
+commit_sha_git = util.get_git_hash_object(b'commit', commit_content)
+assert commit_sha_ascii == commit_sha_git
+
+# Finish.
+util.create_master(commit_sha_ascii)
+util.clone()
diff --git a/other-test-repos/manual-sha-calculation.sh b/other-test-repos/manual-sha-calculation.sh
new file mode 100755
index 00000000..93f12ed
--- /dev/null
+++ b/other-test-repos/manual-sha-calculation.sh
@@ -0,0 +1,62 @@
+#!/usr/bin/env bash
+
+set -e
+
+# This was an attempt to calculate SHAs manually.
+# It stopped halfway because Bash cannot store NUL characters in variables,
+# so we had to move to Python.
+
+. commit-meta.bashrc
+. init.bashrc
+
+# Directory parameters.
+blob_content='blob content'
+blob_name='file'
+blob_mode='100644'
+dir_name='directory'
+
+strlen() {
+ printf "$1" | wc -c
+}
+
+sha_calc() {
+ type="$1"
+ content="$2"
+ printf "${type} $(strlen "$content")\0${content}" | sha1sum
+}
+
+# Blob.
+blob_sha="$(printf "$blob_content" | git hash-object --stdin -w)"
+echo "$blob_sha"
+echo "$(sha_calc "blob" "$blob_content")"
+echo
+
+# Tree 1.
+sub_tree_sha="$(printf "\
+$blob_mode blob $blob_sha\t$blob_name
+" | git mktree)"
+echo "$sub_tree_sha"
+# TODO the problem here is the null character
+# which is impossible for bash to put into a variable.
+echo "$(sha_calc "tree" "${blob_mode} ${blob_name}\0${blob_sha}")"
+echo
+
+# Tree 2.
+root_tree="$(printf "\
+040000 tree $sub_tree_sha\t$dir_name
+100644 blob $blob_sha\t$blob_name
+" | git mktree)"
+
+commit="$(git commit-tree -m 0 "$root_tree")"
+git branch master "$commit"
+
+# Modify the master branch
+root_tree="$((
+git ls-tree HEAD:./
+printf "\
+100644 blob $blob_sha\tb
+") | git mktree)"
+
+commit="$(git commit-tree -m 1 -p "$(git rev-parse HEAD)" "$root_tree")"
+# Bare
+git update-ref master "$commit"
diff --git a/other-test-repos/many-commits.py b/other-test-repos/many-commits.py
new file mode 100755
index 00000000..2ab77d7
--- /dev/null
+++ b/other-test-repos/many-commits.py
@@ -0,0 +1,71 @@
+#!/usr/bin/env python3
+
+"""
+Packing is important, or else deleting and pushing the generated repository could take a **huge** ammount of time.
+
+For extra safety, use a tmpfs or ramfs:
+
+ ulimit -Sv 500000
+ sudo umount tmp && \
+ sudo mount -t tmpfs -o size=1g tmpfs tmp && \
+ sudo chown $USER:$USER tmp &&
+ ./imagine-all-the-people.py
+
+The tags can be used to push by parts to GitHub, which does not accept 1M at once:
+
+ remote='git@github.com:cirosantilli/test-many-commits-1m.git'
+ for i in `seq 10 10 100`; do
+ git --git-dir=tmp/repo.tmp/.git push -f "$remote" "$i:master"
+ done
+ # TODO for some reason I needed this afterwards.
+ git --git-dir=tmp/repo.tmp/.git push "$remote" 'master'
+"""
+
+import datetime
+import subprocess
+import time
+
+import util
+
+email = b'ciro.santili@gmail.com'
+name = b'Ciro Santilli'
+
+util.init()
+
+tree = util.create_tree_with_one_file()
+commit = None
+n = 1000000
+percent = (n / 100)
+p = 0
+for i in range(n):
+ now = int(time.time())
+ commit, _, _ = util.save_commit_object(
+ tree,
+ (commit,),
+ author_date_s=now,
+ author_email=email,
+ author_name=name,
+ committer_date_s=now,
+ committer_email=email,
+ committer_name=name,
+ message=(str(i).encode('ascii')),
+ )
+ if i % percent == 0:
+ print(p)
+ print(datetime.datetime.now())
+ p += 1
+
+ # Lose objects are too large and blow up the tmpfs.
+
+ # Does clean packets, but the calculation takes more and more memory,
+ # and slows down and blows up at the end. TODO which subcommand blows up eactly?.
+ #subprocess.check_output(['git', 'gc'])
+
+ subprocess.check_output(['git', 'repack'])
+ subprocess.check_output(['git', 'prune-packed'])
+
+ subprocess.check_output(['git', 'tag', str(p), commit])
+
+# Finish.
+util.create_master(commit)
+util.clone()
diff --git a/other-test-repos/streak.py b/other-test-repos/streak.py
new file mode 100755
index 00000000..8a1a035
--- /dev/null
+++ b/other-test-repos/streak.py
@@ -0,0 +1,29 @@
+#!/usr/bin/env python3
+
+import datetime
+import os
+import shutil
+import subprocess
+
+import util
+
+util.init()
+
+name = 'a'
+email = 'a@a.com'
+os.environ['GIT_AUTHOR_EMAIL'] = email
+os.environ['GIT_AUTHOR_NAME'] = name
+os.environ['GIT_COMMITTER_EMAIL'] = email
+os.environ['GIT_COMMITTER_NAME'] = name
+
+date0 = datetime.date(2000, 1, 1)
+datef = datetime.date(2100, 1, 1)
+date = date0
+while date < datef:
+ s = date.strftime('%Y-%m-%dT01:00:00')
+ print(s)
+ os.environ['GIT_AUTHOR_DATE'] = s
+ os.environ['GIT_COMMITTER_DATE'] = s
+ cmd = ['git', 'commit', '-q', '--allow-empty', '--allow-empty-message', '-m', '']
+ subprocess.check_output(cmd)
+ date += datetime.timedelta(days=1)
diff --git a/other-test-repos/util.py b/other-test-repos/util.py
new file mode 100644
index 00000000..82ae60a
--- /dev/null
+++ b/other-test-repos/util.py
@@ -0,0 +1,107 @@
+"""
+TODO packfile operations instead of just object. Could be more efficient.
+But also harder to implement that format.
+"""
+
+import hashlib
+import os
+import shutil
+import subprocess
+import zlib
+
+repo_dir = 'repo.tmp'
+git_dir = b'.git'
+objects_dir = os.path.join(git_dir, b'objects')
+
+# Tree parameters.
+default_blob_basename = b'a'
+default_blob_content = b'a'
+default_blob_mode = b'100644'
+
+# Commit parameters.
+default_name = b'a'
+default_email = b'a@a.com'
+# 2000-01-01T00:00:00+0000
+default_date_s = 946684800
+default_tz = b'+0000'
+default_author_date_s = default_date_s
+default_author_date_tz = default_tz
+default_author_email = default_email
+default_author_name = default_name
+default_committer_date_s = default_date_s
+default_committer_date_tz = default_tz
+default_committer_email = default_email
+default_committer_name = default_name
+default_message = b'a'
+# ASCII hex of parents.
+default_parents = ()
+
+def init():
+ for d in (repo_dir, 'clone.tmp'):
+ shutil.rmtree(d, ignore_errors=True)
+ os.mkdir(repo_dir)
+ os.chdir(repo_dir)
+ subprocess.check_output(['git', 'init', '-q'])
+
+def get_object_and_sha(obj_type, content):
+ obj = b'%s %s\0%s' % (obj_type, str(len(content)).encode('ascii'), content)
+ hash = hashlib.sha1(obj)
+ return (obj, hash.hexdigest().encode('ascii'), hash.digest())
+
+def save_object(obj_type, content):
+ obj, sha_ascii, sha = get_object_and_sha(obj_type, content)
+ obj_dir = os.path.join(objects_dir, sha_ascii[:2])
+ obj_path = os.path.join(obj_dir, sha_ascii[2:])
+ os.makedirs(obj_dir, exist_ok=True)
+ with open(obj_path, 'wb') as f:
+ f.write(zlib.compress(obj))
+ return sha_ascii, sha
+
+# TODO multiple children object.
+def save_tree_object(mode, basename, sha):
+ tree_content = b'%s %s\0%s' % (mode, basename, sha)
+ return save_object(b'tree', tree_content) + (tree_content,)
+
+def save_commit_object(
+ tree_sha_ascii,
+ parents=default_parents,
+ author_name=default_author_name,
+ author_email=default_author_email,
+ author_date_s=default_author_date_s,
+ author_date_tz=default_author_date_tz,
+ committer_name=default_committer_name,
+ committer_email=default_committer_email,
+ committer_date_s=default_committer_date_s,
+ committer_date_tz=default_committer_date_tz,
+ message=default_message):
+ if parents and parents[0]:
+ parents_bytes = b''
+ sep = b'\nparent '
+ parents_bytes = sep + sep.join(parents) + b'\n'
+ else:
+ parents_bytes = b'\n'
+ commit_content = b'tree %s%sauthor %s <%s> %s %s\ncommitter %s <%s> %s %s\n\n%s\n' % (
+ tree_sha_ascii, parents_bytes,
+ author_name, author_email, str(author_date_s).encode('ascii'), author_date_tz,
+ committer_name, committer_email, str(committer_date_s).encode('ascii'), committer_date_tz,
+ message)
+ return save_object(b'commit', commit_content) + (commit_content,)
+
+def get_git_hash_object(obj_type, input):
+ cmd = [b'git', b'hash-object', b'--stdin', b'-t', obj_type]
+ return subprocess.check_output(cmd, input=input).rstrip()
+
+def create_master(commit_sha_ascii):
+ subprocess.check_output(['git', 'branch', 'master', commit_sha_ascii])
+
+def clone():
+ subprocess.check_output(['git', 'clone', '-q', '.', '../clone.tmp'])
+
+def create_tree_with_one_file(
+ blob_mode=default_blob_mode,
+ blob_basename=default_blob_basename,
+ blob_content=default_blob_content,
+ ):
+ blob_sha_ascii, blob_sha = save_object(b'blob', blob_content)
+ tree_sha_ascii, tree_sha, tree_content = save_tree_object(blob_mode, blob_basename, blob_sha)
+ return tree_sha_ascii
diff --git a/pandoc.md b/pandoc.md
deleted file mode 100644
index 1d83c60..00000000
--- a/pandoc.md
+++ /dev/null
@@ -1,3 +0,0 @@
-**Rendered** with Markdown.
-
-prose
\ No newline at end of file
diff --git a/patch.patch b/patch.patch
new file mode 100644
index 00000000..e69de29
diff --git a/pdf.pdf b/pdf.pdf
new file mode 100644
index 00000000..d98b4e1
Binary files /dev/null and b/pdf.pdf differ
diff --git a/png-noext b/png-noext
new file mode 100644
index 00000000..9d2d55d
Binary files /dev/null and b/png-noext differ
diff --git a/preview/README.md b/preview/README.md
deleted file mode 100644
index 6125a73..00000000
--- a/preview/README.md
+++ /dev/null
@@ -1 +0,0 @@
-This directory is called `preview` to try to conflict with the GitLab preview URL.
diff --git a/proseio.md b/proseio.md
deleted file mode 100644
index eaf12f1..00000000
--- a/proseio.md
+++ /dev/null
@@ -1,17 +0,0 @@
-## prose.io
-
-
-
-
-
-local
-
-edit
-
-dillinger
-
-
-
-
-
-
\ No newline at end of file
diff --git a/a.rb b/rb.rb
similarity index 100%
rename from a.rb
rename to rb.rb
diff --git a/a.rdoc b/rdoc.rdoc
similarity index 100%
rename from a.rdoc
rename to rdoc.rdoc
diff --git a/refs.md b/refs.md
new file mode 100644
index 00000000..99cfedc
--- /dev/null
+++ b/refs.md
@@ -0,0 +1,23 @@
+# Refs
+
+Interesting branches and tags:
+
+- [`hasslash/a`](../hasslash/a): branch inside sub-directory
+
+- [`-r`](../-r): branch with forbidden name, and in particular one that may be used for shell injection.
+
+ Create manually with `cp master -- -r` and push with `git push --all`.
+
+- `` and `a`: XSS attempts
+
+- `tag-empty-blob`: a tag that points to a blob
+
+- [`a;{echo,INJECTION};{echo,RULZ};`](a;{echo,INJECTION};{echo,RULZ};): GitHub proposes a shell injection to users on a pull request under "You can also merge branches on the command line".
+
+- [1970](1970): earliest possible commit with `git commit --date '@0 +0000'`
+
+- [future](future): commit in the far far future, on some date that does not show as 1970 on `git log`? See also:
+
+- [future-max](future-max): commit at the latest possible pushable date of `2^63 - 1`. Larger dates up to `2^64 - 2` can be committed, but not pushed.
+
+ As of 2015-04-02, that commits will show as the fist one on the UI commit list no matter its order on the commit tree, making it a good way to drive other people mad and then later make them scold you when they understand.
diff --git a/refs/heads/master b/refs/heads/master
new file mode 100644
index 00000000..d29c749
--- /dev/null
+++ b/refs/heads/master
@@ -0,0 +1 @@
+173a852893f2dac5b79dd5862e5a032777477567
diff --git a/remotes.sh b/remotes.sh
new file mode 100755
index 00000000..16a63ef
--- /dev/null
+++ b/remotes.sh
@@ -0,0 +1,31 @@
+#!/usr/bin/env bash
+
+if [ $# -gt 0 ]; then
+ REPO="$1"
+ shift
+else
+ REPO=test
+fi
+
+git remote add at git@atlas-tmp:tmp/${REPO}.git
+git remote add as git@git.assembla.com:cirosantilli-${REPO}.git
+git remote add bb git@bitbucket.org:cirosantilli/${REPO}.git
+git remote add bs https://cirosantilli.git.beanstalkapp.com/test.git
+git remote add cp git@codeplane.com:cirosantilli/${REPO}.git
+git remote add cx https://git01.codeplex.com/cirosantillitest
+git remote add gc https://code.google.com/p/cirosantilli-${REPO}
+git remote add go git@gitorious.org:cirosantilli-${REPO}/cirosantilli-${REPO}.git
+#git remote add gr ssh://repo.or.cz/cirosantilli-${REPO}.git
+git remote add gh git@github.com:cirosantilli/${REPO}.git
+git remote add gl git@gitlab.com:cirosantilli/${REPO}.git
+# GitLab Local
+git remote add gll http://root:5iveL!fe@localhost:3000/gitlab-org/gitlab-${REPO}.git
+git remote add ja https://hub.jazz.net/git/cirosantilli/test
+git remote add ki ssh://cirosantilli@cirosantilli.kilnhg.com/Repositories/Group/test
+git remote add lp git+ssh://git.launchpad.net/cirosantilli-test-git
+git remote add nb https://notabug.org/cirosantilli/test-git-web-interface.git
+git remote add origin git@github.com:cirosantilli/${REPO}.git
+git remote add pf git@www.penflip.com:cirosantilli/${REPO}.git
+git remote add sf ssh://cirosantilli@git.code.sf.net/p/cirosantilli-${REPO}/code
+# username: email
+git remote add vs https://cirosantilli.visualstudio.com/DefaultCollection/_git/test
diff --git a/svg.svg b/svg.svg
new file mode 100644
index 00000000..7ee51c3
--- /dev/null
+++ b/svg.svg
@@ -0,0 +1,6 @@
+
diff --git a/sym-abs-fstab b/sym-abs-fstab
new file mode 120000
index 00000000..8995e35
--- /dev/null
+++ b/sym-abs-fstab
@@ -0,0 +1 @@
+/etc/fstab
\ No newline at end of file
diff --git a/sym-abs-fstab.md b/sym-abs-fstab.md
new file mode 120000
index 00000000..8995e35
--- /dev/null
+++ b/sym-abs-fstab.md
@@ -0,0 +1 @@
+/etc/fstab
\ No newline at end of file
diff --git a/sym-dot b/sym-dot
new file mode 120000
index 00000000..945c9b4
--- /dev/null
+++ b/sym-dot
@@ -0,0 +1 @@
+.
\ No newline at end of file
diff --git a/sym-git-config b/sym-git-config
new file mode 120000
index 00000000..74a16c5
--- /dev/null
+++ b/sym-git-config
@@ -0,0 +1 @@
+.git/config
\ No newline at end of file
diff --git a/sym-readme b/sym-readme
new file mode 120000
index 00000000..42061c0
--- /dev/null
+++ b/sym-readme
@@ -0,0 +1 @@
+README.md
\ No newline at end of file
diff --git a/sym-up b/sym-up
new file mode 120000
index 00000000..a96aa0e
--- /dev/null
+++ b/sym-up
@@ -0,0 +1 @@
+..
\ No newline at end of file
diff --git a/sym-xss b/sym-xss
new file mode 120000
index 00000000..0a2fe45
--- /dev/null
+++ b/sym-xss
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/symlink-outside-repo b/symlink-outside-repo
deleted file mode 120000
index 82f488f..00000000
--- a/symlink-outside-repo
+++ /dev/null
@@ -1 +0,0 @@
-../a
\ No newline at end of file
diff --git a/symlink-to-a b/symlink-to-a
deleted file mode 120000
index 2e65efe..00000000
--- a/symlink-to-a
+++ /dev/null
@@ -1 +0,0 @@
-a
\ No newline at end of file
diff --git a/tree/1.0/a b/tree/1.0/a
deleted file mode 100644
index 7898192..00000000
--- a/tree/1.0/a
+++ /dev/null
@@ -1 +0,0 @@
-a
diff --git a/tree/master/a b/tree/master/a
deleted file mode 100644
index 7898192..00000000
--- a/tree/master/a
+++ /dev/null
@@ -1 +0,0 @@
-a
diff --git a/txt.txt b/txt.txt
new file mode 100644
index 00000000..dce2045
--- /dev/null
+++ b/txt.txt
@@ -0,0 +1,5 @@
+mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
+
+http://example.com
+
+email@host.com
diff --git "a/valid_filenames/utf8-\344\270\255\346\226\207" "b/utf8-\344\270\255\346\226\207"
similarity index 100%
rename from "valid_filenames/utf8-\344\270\255\346\226\207"
rename to "utf8-\344\270\255\346\226\207"
diff --git a/valid_filenames/README.md b/valid_filenames/README.md
deleted file mode 100644
index 8f46798..00000000
--- a/valid_filenames/README.md
+++ /dev/null
@@ -1,5 +0,0 @@
-Filenames which are not valid:
-
-- contain forward slash `/`
-- `.git`
-- `.` and `..`, but not `...`
diff --git "a/\340\270\252\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207" "b/\340\270\252\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207"
new file mode 100644
index 00000000..0e4d4ba
--- /dev/null
+++ "b/\340\270\252\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207\340\271\207"
@@ -0,0 +1 @@
+็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็
\ No newline at end of file
diff --git "a/\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275" "b/\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275"
new file mode 100644
index 00000000..379cda3
--- /dev/null
+++ "b/\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275\357\267\275"
@@ -0,0 +1 @@
+﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽
\ No newline at end of file