diff --git a/src/site/html/static/js/templates/avc/.gitrepo b/src/site/html/static/js/templates/avc/.gitrepo
new file mode 100644
index 0000000..cf738e7
--- /dev/null
+++ b/src/site/html/static/js/templates/avc/.gitrepo
@@ -0,0 +1,12 @@
+; DO NOT EDIT (unless you know what you are doing)
+;
+; This subdirectory is a git "subrepo", and this file is maintained by the
+; git-subrepo command. See https://github.com/git-commands/git-subrepo#readme
+;
+[subrepo]
+ remote = /home/cloud/Code/pinski-plugins/avc
+ branch = master
+ commit = 257d397349f09eae1f5da27b78f4d93993ea5497
+ parent = eb818bf63d0c8389c9997bf9735a75fec023c1c2
+ method = merge
+ cmdver = 0.4.0
diff --git a/src/site/html/static/js/templates/avc/avc.js b/src/site/html/static/js/templates/avc/avc.js
new file mode 100644
index 0000000..e74f433
--- /dev/null
+++ b/src/site/html/static/js/templates/avc/avc.js
@@ -0,0 +1,14 @@
+class AsyncValueCache {
+ constructor(fetchNow, callback) {
+ this.callback = callback
+ this.cachedPromise = null
+ if (fetchNow) this.fetch()
+ }
+
+ fetch() {
+ if (this.cachedPromise) return this.cachedPromise
+ else return this.cachedPromise = this.callback()
+ }
+}
+
+export {AsyncValueCache}