diff --git a/cope2n-ai-fi/modules/sdsvkie/._bit/COMMIT_EDITMSG b/cope2n-ai-fi/modules/sdsvkie/._bit/COMMIT_EDITMSG
new file mode 100755
index 0000000..436c316
--- /dev/null
+++ b/cope2n-ai-fi/modules/sdsvkie/._bit/COMMIT_EDITMSG
@@ -0,0 +1 @@
+modify init_predictor
diff --git a/cope2n-ai-fi/modules/sdsvkie/._bit/FETCH_HEAD b/cope2n-ai-fi/modules/sdsvkie/._bit/FETCH_HEAD
new file mode 100755
index 0000000..e69de29
diff --git a/cope2n-ai-fi/modules/sdsvkie/._bit/HEAD b/cope2n-ai-fi/modules/sdsvkie/._bit/HEAD
new file mode 100755
index 0000000..b870d82
--- /dev/null
+++ b/cope2n-ai-fi/modules/sdsvkie/._bit/HEAD
@@ -0,0 +1 @@
+ref: refs/heads/main
diff --git a/cope2n-ai-fi/modules/sdsvkie/._bit/config b/cope2n-ai-fi/modules/sdsvkie/._bit/config
new file mode 100755
index 0000000..043886f
--- /dev/null
+++ b/cope2n-ai-fi/modules/sdsvkie/._bit/config
@@ -0,0 +1,14 @@
+[core]
+ repositoryformatversion = 0
+ filemode = true
+ bare = false
+ logallrefupdates = true
+[user]
+ email = lehoang2797@gmail.com
+ name = LeHoang
+[remote "origin"]
+ url = http://107.120.133.27:801/henryle97/sdsvkie.git
+ fetch = +refs/heads/*:refs/remotes/origin/*
+[branch "main"]
+ remote = origin
+ merge = refs/heads/main
diff --git a/cope2n-ai-fi/modules/sdsvkie/._bit/description b/cope2n-ai-fi/modules/sdsvkie/._bit/description
new file mode 100755
index 0000000..498b267
--- /dev/null
+++ b/cope2n-ai-fi/modules/sdsvkie/._bit/description
@@ -0,0 +1 @@
+Unnamed repository; edit this file 'description' to name the repository.
diff --git a/cope2n-ai-fi/modules/sdsvkie/._bit/hooks/applypatch-msg.sample b/cope2n-ai-fi/modules/sdsvkie/._bit/hooks/applypatch-msg.sample
new file mode 100755
index 0000000..a5d7b84
--- /dev/null
+++ b/cope2n-ai-fi/modules/sdsvkie/._bit/hooks/applypatch-msg.sample
@@ -0,0 +1,15 @@
+#!/bin/sh
+#
+# An example hook script to check the commit log message taken by
+# applypatch from an e-mail message.
+#
+# The hook should exit with non-zero status after issuing an
+# appropriate message if it wants to stop the commit. The hook is
+# allowed to edit the commit message file.
+#
+# To enable this hook, rename this file to "applypatch-msg".
+
+. git-sh-setup
+commitmsg="$(git rev-parse --git-path hooks/commit-msg)"
+test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"}
+:
diff --git a/cope2n-ai-fi/modules/sdsvkie/._bit/hooks/commit-msg.sample b/cope2n-ai-fi/modules/sdsvkie/._bit/hooks/commit-msg.sample
new file mode 100755
index 0000000..b58d118
--- /dev/null
+++ b/cope2n-ai-fi/modules/sdsvkie/._bit/hooks/commit-msg.sample
@@ -0,0 +1,24 @@
+#!/bin/sh
+#
+# An example hook script to check the commit log message.
+# Called by "git commit" with one argument, the name of the file
+# that has the commit message. The hook should exit with non-zero
+# status after issuing an appropriate message if it wants to stop the
+# commit. The hook is allowed to edit the commit message file.
+#
+# To enable this hook, rename this file to "commit-msg".
+
+# Uncomment the below to add a Signed-off-by line to the message.
+# Doing this in a hook is a bad idea in general, but the prepare-commit-msg
+# hook is more suited to it.
+#
+# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
+# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
+
+# This example catches duplicate Signed-off-by lines.
+
+test "" = "$(grep '^Signed-off-by: ' "$1" |
+ sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || {
+ echo >&2 Duplicate Signed-off-by lines.
+ exit 1
+}
diff --git a/cope2n-ai-fi/modules/sdsvkie/._bit/hooks/fsmonitor-watchman.sample b/cope2n-ai-fi/modules/sdsvkie/._bit/hooks/fsmonitor-watchman.sample
new file mode 100755
index 0000000..ef94fa2
--- /dev/null
+++ b/cope2n-ai-fi/modules/sdsvkie/._bit/hooks/fsmonitor-watchman.sample
@@ -0,0 +1,109 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+use IPC::Open2;
+
+# An example hook script to integrate Watchman
+# (https://facebook.github.io/watchman/) with git to speed up detecting
+# new and modified files.
+#
+# The hook is passed a version (currently 1) and a time in nanoseconds
+# formatted as a string and outputs to stdout all files that have been
+# modified since the given time. Paths must be relative to the root of
+# the working tree and separated by a single NUL.
+#
+# To enable this hook, rename this file to "query-watchman" and set
+# 'git config core.fsmonitor .git/hooks/query-watchman'
+#
+my ($version, $time) = @ARGV;
+
+# Check the hook interface version
+
+if ($version == 1) {
+ # convert nanoseconds to seconds
+ # subtract one second to make sure watchman will return all changes
+ $time = int ($time / 1000000000) - 1;
+} else {
+ die "Unsupported query-fsmonitor hook version '$version'.\n" .
+ "Falling back to scanning...\n";
+}
+
+my $git_work_tree;
+if ($^O =~ 'msys' || $^O =~ 'cygwin') {
+ $git_work_tree = Win32::GetCwd();
+ $git_work_tree =~ tr/\\/\//;
+} else {
+ require Cwd;
+ $git_work_tree = Cwd::cwd();
+}
+
+my $retry = 1;
+
+launch_watchman();
+
+sub launch_watchman {
+
+ my $pid = open2(\*CHLD_OUT, \*CHLD_IN, 'watchman -j --no-pretty')
+ or die "open2() failed: $!\n" .
+ "Falling back to scanning...\n";
+
+ # In the query expression below we're asking for names of files that
+ # changed since $time but were not transient (ie created after
+ # $time but no longer exist).
+ #
+ # To accomplish this, we're using the "since" generator to use the
+ # recency index to select candidate nodes and "fields" to limit the
+ # output to file names only.
+
+ my $query = <<" END";
+ ["query", "$git_work_tree", {
+ "since": $time,
+ "fields": ["name"]
+ }]
+ END
+
+ print CHLD_IN $query;
+ close CHLD_IN;
+ my $response = do {local $/;
+ SDSVKIE
+