minio argo nats face
diff --git a/.gitignore b/.gitignore
index 5c58399..6b79163 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
+.DS_Store
 core
 *.pb.go
diff --git "a/argo/\043argo-events-crds-install.yaml\043" "b/argo/\043argo-events-crds-install.yaml\043"
new file mode 100644
index 0000000..92b812a
--- /dev/null
+++ "b/argo/\043argo-events-crds-install.yaml\043"
@@ -0,0 +1,221 @@
+oapiVersion: apiextensions.k8s.io/v1beta1
+kind: CustomResourceDefinition
+metadata:
+  name: gateways.argoproj.io
+spec:
+  group: argoproj.io
+  names:
+    kind: Gateway
+    listKind: GatewayList
+    plural: gateways
+    singular: gateway
+    shortNames:
+      - gw
+  scope: Namespaced
+  version: "v1alpha1"
+---
+apiVersion: apiextensions.k8s.io/v1beta1
+kind: CustomResourceDefinition
+metadata:
+  name: sensors.argoproj.io
+spec:
+  group: argoproj.io
+  names:
+    kind: Sensor
+    listKind: SensorList
+    plural: sensors
+    singular: sensor
+    shortNames:
+      - sn
+  scope: Namespaced
+  version: "v1alpha1"
+---
+apiVersion: apiextensions.k8s.io/v1beta1
+kind: CustomResourceDefinition
+metadata:
+  name: eventsources.argoproj.io
+spec:
+  group: argoproj.io
+  scope: Namespaced
+  names:
+    kind: EventSource
+    plural: eventsources
+    singular: eventsource
+    listKind: EventSourceList
+    shortNames:
+      - es
+  version: "v1alpha1"
+---
+# apiVersion: v1
+# kind: Namespace
+# metadata:
+#   name: argo-events
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+  name: argo-events-sa
+  namespace: kube-system
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: RoleBinding
+metadata:
+  name: argo-events-role-binding
+roleRef:
+  apiGroup: rbac.authorization.k8s.io
+  kind: Role
+  name: argo-events-role
+subjects:
+  - kind: ServiceAccount
+    name: argo-events-sa
+    namespace: kube-system
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: Role
+metadata:
+  name: argo-events-role
+rules:
+  - apiGroups:
+      - argoproj.io
+    verbs:
+      - create
+      - delete
+      - deletecollection
+      - get
+      - list
+      - patch
+      - update
+      - watch
+    resources:
+      - workflows
+      - workflows/finalizers
+      - workflowtemplates
+      - workflowtemplates/finalizers
+      - gateways
+      - gateways/finalizers
+      - sensors
+      - sensors/finalizers
+      - eventsources
+      - eventsources/finalizers
+  - apiGroups:
+      - ""
+    resources:
+      - pods
+      - pods/exec
+      - configmaps
+      - secrets
+      - services
+      - events
+      - persistentvolumeclaims
+    verbs:
+      - create
+      - get
+      - list
+      - watch
+      - update
+      - patch
+      - delete
+  - apiGroups:
+      - "batch"
+    resources:
+      - jobs
+    verbs:
+      - create
+      - get
+      - list
+      - watch
+      - update
+      - patch
+      - delete
+  - apiGroups:
+      - "apps"
+    resources:
+      - deployments
+    verbs:
+      - create
+      - get
+      - list
+      - watch
+      - update
+      - patch
+      - delete
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: gateway-controller-configmap
+  namespace: kube-system
+data:
+  config: |
+    instanceID: argo-events
+    namespace: kube-system
+---
+# The gateway-controller listens for changes on the gateway CRD and creates gateway
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: gateway-controller
+  namespace: kube-system
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: gateway-controller
+  template:
+    metadata:
+      labels:
+        app: gateway-controller
+    spec:
+      serviceAccountName: argo-events-sa
+      containers:
+        - name: gateway-controller
+          image: argoproj/gateway-controller:v0.13.0
+          imagePullPolicy: Always
+          env:
+            - name: NAMESPACE
+              valueFrom:
+                fieldRef:
+                  fieldPath: metadata.namespace
+            - name: CONTROLLER_CONFIG_MAP
+              value: gateway-controller-configmap
+---
+# The sensor-controller configmap includes configuration information for the sensor-controller
+# To watch sensors created in different namespace than the controller is deployed in, remove the namespace: kube-system.
+# Similarly to watch sensors created in specific namespace, change to namespace: <your_namespace>
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: sensor-controller-configmap
+  namespace: kube-system
+data:
+  config: |
+    instanceID: argo-events
+    namespace: kube-system
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: sensor-controller
+  namespace: kube-system
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: sensor-controller
+  template:
+    metadata:
+      labels:
+        app: sensor-controller
+    spec:
+      serviceAccountName: argo-events-sa
+      containers:
+        - name: sensor-controller
+          image: argoproj/sensor-controller:v0.13.0
+          imagePullPolicy: Always
+          env:
+            - name: NAMESPACE
+              valueFrom:
+                fieldRef:
+                  fieldPath: metadata.namespace
+            - name: CONTROLLER_CONFIG_MAP
+              value: sensor-controller-configmap
diff --git a/argo/event-source.yaml b/argo/event-source.yaml
index 11610a0..23ec5ed 100644
--- a/argo/event-source.yaml
+++ b/argo/event-source.yaml
@@ -1,21 +1,48 @@
 apiVersion: argoproj.io/v1alpha1
 kind: EventSource
 metadata:
-  name: minio-event-source
+  name: nats-event-source
 spec:
-  type: "minio"
-  minio:
+  type: nats
+  nats:
     example:
-      bucket:
-        name: input
-      endpoint: mio-minio.default.svc:9000
-      events:
-        - s3:ObjectCreated:Put
-        - s3:ObjectRemoved:Delete
-      insecure: true
-      accessKey:
-        key: accesskey
-        name: artifacts-minio
-      secretKey:
-        key: secretkey
-        name: artifacts-minio
\ No newline at end of file
+      # url of the nats service
+      url: nats://nats.svc:4222
+      # jsonBody specifies that all event body payload coming from this
+      # source will be JSON
+      jsonBody: true
+      # subject name
+      subject: input-objects
+      # optional backoff time for connection retries.
+      # if not provided, default connection backoff time will be used.
+      connectionBackoff:
+        # duration in nanoseconds. following value is 10 seconds
+        duration: 10000000000
+        # how many backoffs
+        steps: 5
+        # factor to increase on each step.
+        # setting factor > 1 makes backoff exponential.
+        factor: 2
+        jitter: 0.2
+
+# apiVersion: argoproj.io/v1alpha1
+# kind: EventSource
+# metadata:
+#   name: minio-event-source
+# spec:
+#   type: "minio"
+#   minio:
+#     example:
+#       bucket:
+#         name: input
+#       endpoint: mio-minio.default.svc:9000
+#       events:
+#         - s3:ObjectCreated:Put
+#         - s3:ObjectRemoved:Delete
+#       insecure: true
+#       accessKey:
+#         key: accesskey
+#         name: artifacts-minio
+#       secretKey:
+#         key: secretkey
+#         name: artifacts-minio
\ No newline at end of file
diff --git a/argo/gateway.yaml b/argo/gateway.yaml
index e56f926..b98baf4 100644
--- a/argo/gateway.yaml
+++ b/argo/gateway.yaml
@@ -1,29 +1,61 @@
 apiVersion: argoproj.io/v1alpha1
 kind: Gateway
 metadata:
-  name: minio-gateway
+  name: nats-gateway
   labels:
     # gateway controller with instanceId "argo-events" will process this gateway
     gateways.argoproj.io/gateway-controller-instanceid: argo-events
 spec:
-  type: minio
+  type: nats
   eventSourceRef:
-    name: minio-event-source
+    name: nats-event-source
   template:
     metadata:
-      name: minio-gateway
+      name: nats-gateway
       labels:
-        gateway-name: minio-gateway
+        gateway-name: nats-gateway
     spec:
       containers:
         - name: gateway-client
-          image: argoproj/gateway-client:v0.13.0
-          imagePullPolicy: Always
+          image: argoproj/gateway-client:v0.14.0
+          imagePullPolicy: IfNotPresent
           command: ["/bin/gateway-client"]
-        - name: minio-events
-          image: argoproj/artifact-gateway:v0.13.0
-          imagePullPolicy: Always
+        - name: nats-events
+          image: argoproj/nats-gateway:v0.14.0
+          imagePullPolicy: IfNotPresent
+          command: ["/bin/nats-gateway"]
       serviceAccountName: argo-events-sa
   subscribers:
     http:
-      - "http://minio-sensor.kube-system.svc:9300/"
+      - "http://nats-sensor.svc:9300/"
+
+
+# apiVersion: argoproj.io/v1alpha1
+# kind: Gateway
+# metadata:
+#   name: minio-gateway
+#   labels:
+#     # gateway controller with instanceId "argo-events" will process this gateway
+#     gateways.argoproj.io/gateway-controller-instanceid: argo-events
+# spec:
+#   type: minio
+#   eventSourceRef:
+#     name: minio-event-source
+#   template:
+#     metadata:
+#       name: minio-gateway
+#       labels:
+#         gateway-name: minio-gateway
+#     spec:
+#       containers:
+#         - name: gateway-client
+#           image: argoproj/gateway-client:v0.13.0
+#           imagePullPolicy: Always
+#           command: ["/bin/gateway-client"]
+#         - name: minio-events
+#           image: argoproj/artifact-gateway:v0.13.0
+#           imagePullPolicy: Always
+#       serviceAccountName: argo-events-sa
+#   subscribers:
+#     http:
+#       - "http://minio-sensor.kube-system.svc:9300/"
diff --git a/argo/mio-minio-secrets.yaml b/argo/mio-minio-secrets.yaml
index cdd09f3..c48d5ef 100644
--- a/argo/mio-minio-secrets.yaml
+++ b/argo/mio-minio-secrets.yaml
@@ -1,9 +1,9 @@
 apiVersion: v1
 kind: Secret
 metadata:
-  name: artifacts-minio
+  name: minio-credentials
 data:
   # base64 of minio
-  accesskey: Z2lv
+  accesskey: bWluaW8K
   # base64 of minio123
-  secretkey: cDEyMzQ1Njc4
+  secretkey: bWluaW8xMjMK
diff --git a/argo/sensor.yaml b/argo/sensor.yaml
index 8c0427c..6918bd5 100644
--- a/argo/sensor.yaml
+++ b/argo/sensor.yaml
@@ -1,28 +1,27 @@
 apiVersion: argoproj.io/v1alpha1
 kind: Sensor
 metadata:
-  name: minio-sensor
+  name: nats-sensor
   labels:
-    # sensor controller with instanceId "argo-events" will process this sensor
     sensors.argoproj.io/sensor-controller-instanceid: argo-events
 spec:
   template:
     spec:
       containers:
         - name: sensor
-          image: argoproj/sensor:v0.13.0
-          imagePullPolicy: Always
+          image: argoproj/sensor:v0.14.0
+          imagePullPolicy: IfNotPresent
       serviceAccountName: argo-events-sa
   subscription:
     http:
       port: 9300
   dependencies:
     - name: test-dep
-      gatewayName: minio-gateway
+      gatewayName: nats-gateway
       eventName: example
   triggers:
     - template:
-        name: minio-workflow-trigger
+        name: nats-workflow-trigger
         k8s:
           group: argoproj.io
           version: v1alpha1
@@ -33,20 +32,107 @@
               apiVersion: argoproj.io/v1alpha1
               kind: Workflow
               metadata:
-                generateName: artifact-workflow-2-
+                generateName: nats-workflow-
               spec:
                 entrypoint: whalesay
+                arguments:
+                  parameters:
+                  - name: message
+                    value: WILL_BE_REPLACED
                 templates:
-                  - name: whalesay
-                    container:
-                      command:
-                        - cowsay
-                      image: docker/whalesay:latest
-                      args:
-                        - THIS_WILL_BE_REPLACED
-          # The container args from the workflow are overridden by the s3 notification key
+                - name: whalesay
+                  inputs:
+                    parameters:
+                    - name: message
+                  container:
+                    image: docker/whalesay:latest
+                    imagePyllPolicy: IfNotPresent
+                    command: [cowsay]
+                    args: ["{{inputs.parameters.message}}"]
           parameters:
             - src:
                 dependencyName: test-dep
-                dataKey: notification.0.s3.object.key
-              dest: spec.templates.0.container.args.0
+              dest: spec.arguments.parameters.0.value
+
+
+# apiVersion: argoproj.io/v1alpha1
+# kind: Sensor
+# metadata:
+#   name: minio-sensor
+#   labels:
+#     # sensor controller with instanceId "argo-events" will process this sensor
+#     sensors.argoproj.io/sensor-controller-instanceid: argo-events
+# spec:
+#   template:
+#     spec:
+#       containers:
+#         - name: sensor
+#           image: argoproj/sensor:v0.13.0
+#           imagePullPolicy: Always
+#       serviceAccountName: argo-events-sa
+#   subscription:
+#     http:
+#       port: 9300
+#   dependencies:
+#     - name: test-dep
+#       gatewayName: minio-gateway
+#       eventName: example
+#   triggers:
+#     - template:
+#         name: minio-workflow-trigger
+#         k8s:
+#           group: argoproj.io
+#           version: v1alpha1
+#           resource: workflows
+#           operation: create
+#           source:
+#             resource:
+#               apiVersion: argoproj.io/v1alpha1
+#               kind: Workflow
+#               metadata:
+#                 generateName: artifact-workflow-2-
+#               spec:
+#                 entrypoint: detect
+#                 templates:
+#                   - name: detect
+#                     inputs:
+#                       artifacts:
+#                       - name: input-image
+#                         path: /input
+#                         s3:
+#                           # endpoint: mio-minio.default.svc:9000
+#                           # bucket: input  # change
+#                           key: harry.jpg
+#                           # insecure: true
+#                           # accessKeySecret:
+#                           #   key: accessKey
+#                           #   name: artifacts-minio
+#                           # secretKeySecret:
+#                           #   key: secretKey
+#                           #   name: artifacts-minio
+#                           # useSDKCreds: true
+#                     # outputs:
+#                     #   artifacts:
+#                     #   - name: output-image
+#                     #     path: /output
+#                     #     s3:
+#                     #       endpoint: mio-minio.default.svc:9000
+#                     #       bucket: output  # change
+#                     #       key: PARAMETER
+#                     #       insecure: true
+#                     #       accessKeySecret:
+#                     #         key: accessKey
+#                     #         name: artifacts-minio
+#                     #       secretKeySecret:
+#                     #         key: secretKey
+#                     #         name: artifacts-minio
+#                     #       useSDKCreds: true
+#                     container:
+#                       image: face:latest
+#                       command: [python face.py]
+#                       args: ["/input", "/output"]
+#           # parameters:
+#           #   - src:
+#           #       dependencyName: test-dep
+#           #       dataKey: notification.0.s3.object.key
+#           #     dest: spec.templates.0.inputs.artifacts.0.s3.key
diff --git a/argo/setup.sh b/argo/setup.sh
index 72a2339..493e866 100644
--- a/argo/setup.sh
+++ b/argo/setup.sh
@@ -1,30 +1,16 @@
 #!/bin/sh
 
-export MINIO_ACCESSKEY="gio"
-export MINIO_SECRETKEY="p12345678"
-export MINIO_HOST="http://localhost:9000"
-
-# -- kubectl apply -n kube-system -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
-
-# helm install mio --set accessKey=${MINIO_ACCESSKEY},secretKey=${MINIO_SECRETKEY} stable/minio
-read -s
-kubectl port-forward svc/mio-minio 9000 &
-read -s
-mc config host add mio-minio ${MINIO_HOST} ${MINIO_ACCESSKEY} ${MINIO_SECRETKEY}
-mc mb mio-minio/input
+# kubectl apply -n kube-system -f mio-minio-secrets.yaml
 
 
-kubectl apply -n kube-system -f mio-minio-secrets.yaml
-
-
-
-helm repo add argo https://argoproj.github.io/argo-helm
-helm install my-argo --namespace kube-system argo/argo
-read -s
-kubectl -n kube-system port-forward deployment/my-argo-server 2746 &
-read -s
+# helm repo add argo https://argoproj.github.io/argo-helm
+# helm install my-argo --namespace kube-system argo/argo
+# read -s
+# kubectl -n kube-system port-forward deployment/my-argo-server 2746 &
+# read -s
 
 kubectl apply -n kube-system -f argo-events-crds-install.yaml
+read -s
 
 
 kubectl apply -n kube-system -f event-source.yaml
diff --git a/dgraph/schema.graphql b/dgraph/schema.graphql
new file mode 100644
index 0000000..1ce2e10
--- /dev/null
+++ b/dgraph/schema.graphql
@@ -0,0 +1,46 @@
+enum EntityType {
+     HUMAN
+     CAR
+}
+
+type Person {
+     id: Int!
+     fullName: String!
+     nick: String
+     imgs: [Image]
+}
+
+type Image {
+     id: Int! @search
+     objectPath: String! @search(by: [term])
+     segments: [ImageSegment]
+}
+
+type Point {
+     x: Int!
+     y: Int!
+}
+
+type ImageSegment {
+     id: Int!
+     upperLeft: Point!
+     lowerRight: Point!
+     represents: EntityType
+     depicts: Person
+}
+
+type A {
+     id: ID!
+}
+
+type B {
+     id: ID!
+     name: String
+     a: [A]
+}
+
+extend type A {
+       name: String @search(by: [term])
+       b: B @hasInverse(field: a)
+       
+}
\ No newline at end of file
diff --git a/face/.DS_Store b/face/.DS_Store
index 5008ddf..1b83a3b 100644
--- a/face/.DS_Store
+++ b/face/.DS_Store
Binary files differ
diff --git a/face/Dockerfile b/face/Dockerfile
index 8b7641a..b0fc938 100644
--- a/face/Dockerfile
+++ b/face/Dockerfile
@@ -7,4 +7,9 @@
 RUN pip install opencv-python-headless --no-cache-dir
 RUN pip install matplotlib --no-cache-dir
 
-WORKDIR /face
\ No newline at end of file
+# COPY . /face
+WORKDIR /face
+
+# RUN rm -r -f output/*
+CMD python face.py detect input output
+# CMD python face.py classify output class
diff --git a/face/detected.jpg b/face/detected.jpg
deleted file mode 100644
index dfd5bfd..0000000
--- a/face/detected.jpg
+++ /dev/null
Binary files differ
diff --git a/face/face.py b/face/face.py
index 4dc874f..8501957 100644
--- a/face/face.py
+++ b/face/face.py
@@ -1,16 +1,46 @@
-from facenet_pytorch import MTCNN
-import cv2
-from PIL import Image, ImageDraw, ImageColor
-import numpy as np
-from matplotlib import pyplot as plt
+import os
+import sys
 
-mtcnn = MTCNN(keep_all=True)
+from facenet_pytorch import MTCNN, InceptionResnetV1
+from PIL import Image
 
-img = Image.open("face.jpg")
 
-boxes, _ = mtcnn.detect(img)
-draw = ImageDraw.Draw(img)
-for i, box in enumerate(boxes):
-    draw.rectangle(((box[0], box[1]), (box[2], box[3])), outline="red")
-img.save("detected.jpg")
-#print(face)
+def detect(input_dir, output_dir):
+    mtcnn = MTCNN(keep_all=True)
+    resnet = InceptionResnetV1(pretrained='vggface2').eval()
+    for f in os.listdir(input_dir):
+        with Image.open(input_dir + "/" + f) as img:
+            # if img.filename != "input/P7260028.jpg":
+            #     continue
+            print(img.filename)
+            for m in mtcnn(img):
+                print(resnet(m))
+            
+            # embedding = resnet(mtcnn(img))
+            # print(len(embedding[0]))
+            
+            # boxes, _ = mtcnn.detect(img)
+            # for i, box in enumerate(boxes):
+            #     cropped = img.crop(box)
+            #     cropped.save(output_dir + "/" + str(i) + "_" + f)
+
+
+def classify(input_dir, output_dir):
+    mtcnn = MTCNN()
+    resnet = InceptionResnetV1(pretrained='vggface2').eval()
+    for f in os.listdir(input_dir):
+        with Image.open(input_dir + "/" + f) as img:
+            print(img.filename)            
+            embedding = resnet(mtcnn(img))
+            print(len(embedding[0]))
+    
+
+def main():
+    if sys.argv[1] == "detect":
+        detect(sys.argv[2], sys.argv[3])
+    else:
+        classify(sys.argv[2], sys.argv[3])
+
+
+if __name__ == "__main__":
+    main()
diff --git a/face/input/P7260009.jpg b/face/input/P7260009.jpg
new file mode 100644
index 0000000..c059fb9
--- /dev/null
+++ b/face/input/P7260009.jpg
Binary files differ
diff --git a/face/input/P7260011.jpg b/face/input/P7260011.jpg
new file mode 100644
index 0000000..ffe8e6a
--- /dev/null
+++ b/face/input/P7260011.jpg
Binary files differ
diff --git a/face/input/P7260013.jpg b/face/input/P7260013.jpg
new file mode 100644
index 0000000..6d954fc
--- /dev/null
+++ b/face/input/P7260013.jpg
Binary files differ
diff --git a/face/input/P7260020.jpg b/face/input/P7260020.jpg
new file mode 100644
index 0000000..61e6657
--- /dev/null
+++ b/face/input/P7260020.jpg
Binary files differ
diff --git a/face/input/P7260026.jpg b/face/input/P7260026.jpg
new file mode 100644
index 0000000..192735e
--- /dev/null
+++ b/face/input/P7260026.jpg
Binary files differ
diff --git a/face/input/P7260027.jpg b/face/input/P7260027.jpg
new file mode 100644
index 0000000..dd739f2
--- /dev/null
+++ b/face/input/P7260027.jpg
Binary files differ
diff --git a/face/input/P7260028.jpg b/face/input/P7260028.jpg
new file mode 100644
index 0000000..7a62a34
--- /dev/null
+++ b/face/input/P7260028.jpg
Binary files differ
diff --git a/face/input/P7260029.jpg b/face/input/P7260029.jpg
new file mode 100644
index 0000000..42789e3
--- /dev/null
+++ b/face/input/P7260029.jpg
Binary files differ
diff --git a/face/input/Picture 031.jpg b/face/input/Picture 031.jpg
new file mode 100644
index 0000000..bbe29c1
--- /dev/null
+++ b/face/input/Picture 031.jpg
Binary files differ
diff --git a/face/input/Picture 033.jpg b/face/input/Picture 033.jpg
new file mode 100644
index 0000000..dbffd80
--- /dev/null
+++ b/face/input/Picture 033.jpg
Binary files differ
diff --git a/face/input/Picture 035.jpg b/face/input/Picture 035.jpg
new file mode 100644
index 0000000..be2d4f1
--- /dev/null
+++ b/face/input/Picture 035.jpg
Binary files differ
diff --git a/face/input/Picture 039.jpg b/face/input/Picture 039.jpg
new file mode 100644
index 0000000..bf3d6c6
--- /dev/null
+++ b/face/input/Picture 039.jpg
Binary files differ
diff --git a/face/input/Picture 048.jpg b/face/input/Picture 048.jpg
new file mode 100644
index 0000000..088abea
--- /dev/null
+++ b/face/input/Picture 048.jpg
Binary files differ
diff --git a/face/input/Picture 057.jpg b/face/input/Picture 057.jpg
new file mode 100644
index 0000000..f522cbb
--- /dev/null
+++ b/face/input/Picture 057.jpg
Binary files differ
diff --git a/face/input/Picture 070.jpg b/face/input/Picture 070.jpg
new file mode 100644
index 0000000..ad4d11d
--- /dev/null
+++ b/face/input/Picture 070.jpg
Binary files differ
diff --git a/face/input/Picture 082.jpg b/face/input/Picture 082.jpg
new file mode 100644
index 0000000..3885845
--- /dev/null
+++ b/face/input/Picture 082.jpg
Binary files differ
diff --git a/face/input/Picture 083.jpg b/face/input/Picture 083.jpg
new file mode 100644
index 0000000..2f0e13a
--- /dev/null
+++ b/face/input/Picture 083.jpg
Binary files differ
diff --git a/face/input/Picture 091.jpg b/face/input/Picture 091.jpg
new file mode 100644
index 0000000..b3807eb
--- /dev/null
+++ b/face/input/Picture 091.jpg
Binary files differ
diff --git a/face/input/Picture 095.jpg b/face/input/Picture 095.jpg
new file mode 100644
index 0000000..4d98c81
--- /dev/null
+++ b/face/input/Picture 095.jpg
Binary files differ
diff --git a/face/gl.jpg b/face/input/gl.jpg
similarity index 100%
rename from face/gl.jpg
rename to face/input/gl.jpg
Binary files differ
diff --git a/face/harry.jpg b/face/input/harry.jpg
similarity index 100%
rename from face/harry.jpg
rename to face/input/harry.jpg
Binary files differ
diff --git a/face/output/0_P7260009.jpg b/face/output/0_P7260009.jpg
new file mode 100644
index 0000000..88cf7ea
--- /dev/null
+++ b/face/output/0_P7260009.jpg
Binary files differ
diff --git a/face/output/0_P7260011.jpg b/face/output/0_P7260011.jpg
new file mode 100644
index 0000000..ba2daf1
--- /dev/null
+++ b/face/output/0_P7260011.jpg
Binary files differ
diff --git a/face/output/0_P7260013.jpg b/face/output/0_P7260013.jpg
new file mode 100644
index 0000000..f0f0d97
--- /dev/null
+++ b/face/output/0_P7260013.jpg
Binary files differ
diff --git a/face/output/0_P7260020.jpg b/face/output/0_P7260020.jpg
new file mode 100644
index 0000000..5746118
--- /dev/null
+++ b/face/output/0_P7260020.jpg
Binary files differ
diff --git a/face/output/0_P7260026.jpg b/face/output/0_P7260026.jpg
new file mode 100644
index 0000000..78c8647
--- /dev/null
+++ b/face/output/0_P7260026.jpg
Binary files differ
diff --git a/face/output/0_P7260027.jpg b/face/output/0_P7260027.jpg
new file mode 100644
index 0000000..a1a7da1
--- /dev/null
+++ b/face/output/0_P7260027.jpg
Binary files differ
diff --git a/face/output/0_P7260028.jpg b/face/output/0_P7260028.jpg
new file mode 100644
index 0000000..7173654
--- /dev/null
+++ b/face/output/0_P7260028.jpg
Binary files differ
diff --git a/face/output/0_P7260029.jpg b/face/output/0_P7260029.jpg
new file mode 100644
index 0000000..3df841a
--- /dev/null
+++ b/face/output/0_P7260029.jpg
Binary files differ
diff --git a/face/output/0_Picture 031.jpg b/face/output/0_Picture 031.jpg
new file mode 100644
index 0000000..d9423e1
--- /dev/null
+++ b/face/output/0_Picture 031.jpg
Binary files differ
diff --git a/face/output/0_Picture 033.jpg b/face/output/0_Picture 033.jpg
new file mode 100644
index 0000000..c65a7e2
--- /dev/null
+++ b/face/output/0_Picture 033.jpg
Binary files differ
diff --git a/face/output/0_Picture 035.jpg b/face/output/0_Picture 035.jpg
new file mode 100644
index 0000000..48110ae
--- /dev/null
+++ b/face/output/0_Picture 035.jpg
Binary files differ
diff --git a/face/output/0_Picture 039.jpg b/face/output/0_Picture 039.jpg
new file mode 100644
index 0000000..a2fea06
--- /dev/null
+++ b/face/output/0_Picture 039.jpg
Binary files differ
diff --git a/face/output/0_Picture 048.jpg b/face/output/0_Picture 048.jpg
new file mode 100644
index 0000000..1f2d553
--- /dev/null
+++ b/face/output/0_Picture 048.jpg
Binary files differ
diff --git a/face/output/0_Picture 057.jpg b/face/output/0_Picture 057.jpg
new file mode 100644
index 0000000..cd00f05
--- /dev/null
+++ b/face/output/0_Picture 057.jpg
Binary files differ
diff --git a/face/output/0_Picture 070.jpg b/face/output/0_Picture 070.jpg
new file mode 100644
index 0000000..5018cb2
--- /dev/null
+++ b/face/output/0_Picture 070.jpg
Binary files differ
diff --git a/face/output/0_Picture 082.jpg b/face/output/0_Picture 082.jpg
new file mode 100644
index 0000000..cf380ec
--- /dev/null
+++ b/face/output/0_Picture 082.jpg
Binary files differ
diff --git a/face/output/0_Picture 083.jpg b/face/output/0_Picture 083.jpg
new file mode 100644
index 0000000..9ab1db8
--- /dev/null
+++ b/face/output/0_Picture 083.jpg
Binary files differ
diff --git a/face/output/0_Picture 091.jpg b/face/output/0_Picture 091.jpg
new file mode 100644
index 0000000..25a932a
--- /dev/null
+++ b/face/output/0_Picture 091.jpg
Binary files differ
diff --git a/face/output/0_Picture 095.jpg b/face/output/0_Picture 095.jpg
new file mode 100644
index 0000000..5890ba6
--- /dev/null
+++ b/face/output/0_Picture 095.jpg
Binary files differ
diff --git a/face/output/0_gl.jpg b/face/output/0_gl.jpg
new file mode 100644
index 0000000..a23ac3e
--- /dev/null
+++ b/face/output/0_gl.jpg
Binary files differ
diff --git a/face/output/0_harry.jpg b/face/output/0_harry.jpg
new file mode 100644
index 0000000..2a70ee6
--- /dev/null
+++ b/face/output/0_harry.jpg
Binary files differ
diff --git a/face/output/10_P7260026.jpg b/face/output/10_P7260026.jpg
new file mode 100644
index 0000000..1859fd5
--- /dev/null
+++ b/face/output/10_P7260026.jpg
Binary files differ
diff --git a/face/output/10_gl.jpg b/face/output/10_gl.jpg
new file mode 100644
index 0000000..10de102
--- /dev/null
+++ b/face/output/10_gl.jpg
Binary files differ
diff --git a/face/output/11_gl.jpg b/face/output/11_gl.jpg
new file mode 100644
index 0000000..0294c57
--- /dev/null
+++ b/face/output/11_gl.jpg
Binary files differ
diff --git a/face/output/12_gl.jpg b/face/output/12_gl.jpg
new file mode 100644
index 0000000..9057fe1
--- /dev/null
+++ b/face/output/12_gl.jpg
Binary files differ
diff --git a/face/output/13_gl.jpg b/face/output/13_gl.jpg
new file mode 100644
index 0000000..bf7d0e6
--- /dev/null
+++ b/face/output/13_gl.jpg
Binary files differ
diff --git a/face/output/1_P7260009.jpg b/face/output/1_P7260009.jpg
new file mode 100644
index 0000000..c043c1d
--- /dev/null
+++ b/face/output/1_P7260009.jpg
Binary files differ
diff --git a/face/output/1_P7260011.jpg b/face/output/1_P7260011.jpg
new file mode 100644
index 0000000..640e7ec
--- /dev/null
+++ b/face/output/1_P7260011.jpg
Binary files differ
diff --git a/face/output/1_P7260013.jpg b/face/output/1_P7260013.jpg
new file mode 100644
index 0000000..2ca0a74
--- /dev/null
+++ b/face/output/1_P7260013.jpg
Binary files differ
diff --git a/face/output/1_P7260020.jpg b/face/output/1_P7260020.jpg
new file mode 100644
index 0000000..fd97587
--- /dev/null
+++ b/face/output/1_P7260020.jpg
Binary files differ
diff --git a/face/output/1_P7260026.jpg b/face/output/1_P7260026.jpg
new file mode 100644
index 0000000..e2c859a
--- /dev/null
+++ b/face/output/1_P7260026.jpg
Binary files differ
diff --git a/face/output/1_P7260027.jpg b/face/output/1_P7260027.jpg
new file mode 100644
index 0000000..3fce948
--- /dev/null
+++ b/face/output/1_P7260027.jpg
Binary files differ
diff --git a/face/output/1_P7260028.jpg b/face/output/1_P7260028.jpg
new file mode 100644
index 0000000..ef20132
--- /dev/null
+++ b/face/output/1_P7260028.jpg
Binary files differ
diff --git a/face/output/1_P7260029.jpg b/face/output/1_P7260029.jpg
new file mode 100644
index 0000000..cf8f79c
--- /dev/null
+++ b/face/output/1_P7260029.jpg
Binary files differ
diff --git a/face/output/1_Picture 031.jpg b/face/output/1_Picture 031.jpg
new file mode 100644
index 0000000..9a1c3a4
--- /dev/null
+++ b/face/output/1_Picture 031.jpg
Binary files differ
diff --git a/face/output/1_Picture 033.jpg b/face/output/1_Picture 033.jpg
new file mode 100644
index 0000000..d831d25
--- /dev/null
+++ b/face/output/1_Picture 033.jpg
Binary files differ
diff --git a/face/output/1_Picture 035.jpg b/face/output/1_Picture 035.jpg
new file mode 100644
index 0000000..7f64d58
--- /dev/null
+++ b/face/output/1_Picture 035.jpg
Binary files differ
diff --git a/face/output/1_Picture 039.jpg b/face/output/1_Picture 039.jpg
new file mode 100644
index 0000000..db0d4f1
--- /dev/null
+++ b/face/output/1_Picture 039.jpg
Binary files differ
diff --git a/face/output/1_Picture 048.jpg b/face/output/1_Picture 048.jpg
new file mode 100644
index 0000000..3eb1f7a
--- /dev/null
+++ b/face/output/1_Picture 048.jpg
Binary files differ
diff --git a/face/output/1_Picture 082.jpg b/face/output/1_Picture 082.jpg
new file mode 100644
index 0000000..c2b45f1
--- /dev/null
+++ b/face/output/1_Picture 082.jpg
Binary files differ
diff --git a/face/output/1_Picture 083.jpg b/face/output/1_Picture 083.jpg
new file mode 100644
index 0000000..d0e7679
--- /dev/null
+++ b/face/output/1_Picture 083.jpg
Binary files differ
diff --git a/face/output/1_Picture 091.jpg b/face/output/1_Picture 091.jpg
new file mode 100644
index 0000000..dbd409a
--- /dev/null
+++ b/face/output/1_Picture 091.jpg
Binary files differ
diff --git a/face/output/1_gl.jpg b/face/output/1_gl.jpg
new file mode 100644
index 0000000..2486358
--- /dev/null
+++ b/face/output/1_gl.jpg
Binary files differ
diff --git a/face/output/1_harry.jpg b/face/output/1_harry.jpg
new file mode 100644
index 0000000..867748b
--- /dev/null
+++ b/face/output/1_harry.jpg
Binary files differ
diff --git a/face/output/2_P7260009.jpg b/face/output/2_P7260009.jpg
new file mode 100644
index 0000000..0bc2495
--- /dev/null
+++ b/face/output/2_P7260009.jpg
Binary files differ
diff --git a/face/output/2_P7260011.jpg b/face/output/2_P7260011.jpg
new file mode 100644
index 0000000..596d900
--- /dev/null
+++ b/face/output/2_P7260011.jpg
Binary files differ
diff --git a/face/output/2_P7260013.jpg b/face/output/2_P7260013.jpg
new file mode 100644
index 0000000..625c87b
--- /dev/null
+++ b/face/output/2_P7260013.jpg
Binary files differ
diff --git a/face/output/2_P7260020.jpg b/face/output/2_P7260020.jpg
new file mode 100644
index 0000000..c2bf889
--- /dev/null
+++ b/face/output/2_P7260020.jpg
Binary files differ
diff --git a/face/output/2_P7260026.jpg b/face/output/2_P7260026.jpg
new file mode 100644
index 0000000..0fddf82
--- /dev/null
+++ b/face/output/2_P7260026.jpg
Binary files differ
diff --git a/face/output/2_P7260027.jpg b/face/output/2_P7260027.jpg
new file mode 100644
index 0000000..328efbd
--- /dev/null
+++ b/face/output/2_P7260027.jpg
Binary files differ
diff --git a/face/output/2_P7260028.jpg b/face/output/2_P7260028.jpg
new file mode 100644
index 0000000..712c142
--- /dev/null
+++ b/face/output/2_P7260028.jpg
Binary files differ
diff --git a/face/output/2_P7260029.jpg b/face/output/2_P7260029.jpg
new file mode 100644
index 0000000..5c29def
--- /dev/null
+++ b/face/output/2_P7260029.jpg
Binary files differ
diff --git a/face/output/2_Picture 031.jpg b/face/output/2_Picture 031.jpg
new file mode 100644
index 0000000..933f5cc
--- /dev/null
+++ b/face/output/2_Picture 031.jpg
Binary files differ
diff --git a/face/output/2_Picture 033.jpg b/face/output/2_Picture 033.jpg
new file mode 100644
index 0000000..af7357c
--- /dev/null
+++ b/face/output/2_Picture 033.jpg
Binary files differ
diff --git a/face/output/2_Picture 039.jpg b/face/output/2_Picture 039.jpg
new file mode 100644
index 0000000..6f8dc1b
--- /dev/null
+++ b/face/output/2_Picture 039.jpg
Binary files differ
diff --git a/face/output/2_Picture 048.jpg b/face/output/2_Picture 048.jpg
new file mode 100644
index 0000000..0bdac9d
--- /dev/null
+++ b/face/output/2_Picture 048.jpg
Binary files differ
diff --git a/face/output/2_Picture 082.jpg b/face/output/2_Picture 082.jpg
new file mode 100644
index 0000000..87ad2de
--- /dev/null
+++ b/face/output/2_Picture 082.jpg
Binary files differ
diff --git a/face/output/2_gl.jpg b/face/output/2_gl.jpg
new file mode 100644
index 0000000..6541d7b
--- /dev/null
+++ b/face/output/2_gl.jpg
Binary files differ
diff --git a/face/output/2_harry.jpg b/face/output/2_harry.jpg
new file mode 100644
index 0000000..b6526f8
--- /dev/null
+++ b/face/output/2_harry.jpg
Binary files differ
diff --git a/face/output/3_P7260009.jpg b/face/output/3_P7260009.jpg
new file mode 100644
index 0000000..20b529f
--- /dev/null
+++ b/face/output/3_P7260009.jpg
Binary files differ
diff --git a/face/output/3_P7260011.jpg b/face/output/3_P7260011.jpg
new file mode 100644
index 0000000..07483f4
--- /dev/null
+++ b/face/output/3_P7260011.jpg
Binary files differ
diff --git a/face/output/3_P7260013.jpg b/face/output/3_P7260013.jpg
new file mode 100644
index 0000000..a2024ed
--- /dev/null
+++ b/face/output/3_P7260013.jpg
Binary files differ
diff --git a/face/output/3_P7260026.jpg b/face/output/3_P7260026.jpg
new file mode 100644
index 0000000..4dde7c1
--- /dev/null
+++ b/face/output/3_P7260026.jpg
Binary files differ
diff --git a/face/output/3_P7260027.jpg b/face/output/3_P7260027.jpg
new file mode 100644
index 0000000..927ff34
--- /dev/null
+++ b/face/output/3_P7260027.jpg
Binary files differ
diff --git a/face/output/3_P7260028.jpg b/face/output/3_P7260028.jpg
new file mode 100644
index 0000000..a4abcd4
--- /dev/null
+++ b/face/output/3_P7260028.jpg
Binary files differ
diff --git a/face/output/3_P7260029.jpg b/face/output/3_P7260029.jpg
new file mode 100644
index 0000000..9f0f0ad
--- /dev/null
+++ b/face/output/3_P7260029.jpg
Binary files differ
diff --git a/face/output/3_Picture 031.jpg b/face/output/3_Picture 031.jpg
new file mode 100644
index 0000000..fe23c77
--- /dev/null
+++ b/face/output/3_Picture 031.jpg
Binary files differ
diff --git a/face/output/3_Picture 039.jpg b/face/output/3_Picture 039.jpg
new file mode 100644
index 0000000..a15005c
--- /dev/null
+++ b/face/output/3_Picture 039.jpg
Binary files differ
diff --git a/face/output/3_Picture 048.jpg b/face/output/3_Picture 048.jpg
new file mode 100644
index 0000000..86c6caf
--- /dev/null
+++ b/face/output/3_Picture 048.jpg
Binary files differ
diff --git a/face/output/3_Picture 082.jpg b/face/output/3_Picture 082.jpg
new file mode 100644
index 0000000..fa7bce9
--- /dev/null
+++ b/face/output/3_Picture 082.jpg
Binary files differ
diff --git a/face/output/3_gl.jpg b/face/output/3_gl.jpg
new file mode 100644
index 0000000..8a9fe6b
--- /dev/null
+++ b/face/output/3_gl.jpg
Binary files differ
diff --git a/face/output/4_P7260009.jpg b/face/output/4_P7260009.jpg
new file mode 100644
index 0000000..670ab77
--- /dev/null
+++ b/face/output/4_P7260009.jpg
Binary files differ
diff --git a/face/output/4_P7260011.jpg b/face/output/4_P7260011.jpg
new file mode 100644
index 0000000..a4e3fda
--- /dev/null
+++ b/face/output/4_P7260011.jpg
Binary files differ
diff --git a/face/output/4_P7260013.jpg b/face/output/4_P7260013.jpg
new file mode 100644
index 0000000..92eaf7c
--- /dev/null
+++ b/face/output/4_P7260013.jpg
Binary files differ
diff --git a/face/output/4_P7260026.jpg b/face/output/4_P7260026.jpg
new file mode 100644
index 0000000..12710a2
--- /dev/null
+++ b/face/output/4_P7260026.jpg
Binary files differ
diff --git a/face/output/4_P7260027.jpg b/face/output/4_P7260027.jpg
new file mode 100644
index 0000000..ec45b9f
--- /dev/null
+++ b/face/output/4_P7260027.jpg
Binary files differ
diff --git a/face/output/4_P7260028.jpg b/face/output/4_P7260028.jpg
new file mode 100644
index 0000000..6a57733
--- /dev/null
+++ b/face/output/4_P7260028.jpg
Binary files differ
diff --git a/face/output/4_P7260029.jpg b/face/output/4_P7260029.jpg
new file mode 100644
index 0000000..b9bc659
--- /dev/null
+++ b/face/output/4_P7260029.jpg
Binary files differ
diff --git a/face/output/4_Picture 031.jpg b/face/output/4_Picture 031.jpg
new file mode 100644
index 0000000..a55e3af
--- /dev/null
+++ b/face/output/4_Picture 031.jpg
Binary files differ
diff --git a/face/output/4_Picture 039.jpg b/face/output/4_Picture 039.jpg
new file mode 100644
index 0000000..d72ce4d
--- /dev/null
+++ b/face/output/4_Picture 039.jpg
Binary files differ
diff --git a/face/output/4_gl.jpg b/face/output/4_gl.jpg
new file mode 100644
index 0000000..8d83101
--- /dev/null
+++ b/face/output/4_gl.jpg
Binary files differ
diff --git a/face/output/5_P7260009.jpg b/face/output/5_P7260009.jpg
new file mode 100644
index 0000000..203c831
--- /dev/null
+++ b/face/output/5_P7260009.jpg
Binary files differ
diff --git a/face/output/5_P7260011.jpg b/face/output/5_P7260011.jpg
new file mode 100644
index 0000000..c8449b8
--- /dev/null
+++ b/face/output/5_P7260011.jpg
Binary files differ
diff --git a/face/output/5_P7260013.jpg b/face/output/5_P7260013.jpg
new file mode 100644
index 0000000..ce9aec3
--- /dev/null
+++ b/face/output/5_P7260013.jpg
Binary files differ
diff --git a/face/output/5_P7260026.jpg b/face/output/5_P7260026.jpg
new file mode 100644
index 0000000..4170be9
--- /dev/null
+++ b/face/output/5_P7260026.jpg
Binary files differ
diff --git a/face/output/5_P7260027.jpg b/face/output/5_P7260027.jpg
new file mode 100644
index 0000000..65b08ad
--- /dev/null
+++ b/face/output/5_P7260027.jpg
Binary files differ
diff --git a/face/output/5_P7260028.jpg b/face/output/5_P7260028.jpg
new file mode 100644
index 0000000..b2b7482
--- /dev/null
+++ b/face/output/5_P7260028.jpg
Binary files differ
diff --git a/face/output/5_P7260029.jpg b/face/output/5_P7260029.jpg
new file mode 100644
index 0000000..438f27c
--- /dev/null
+++ b/face/output/5_P7260029.jpg
Binary files differ
diff --git a/face/output/5_Picture 031.jpg b/face/output/5_Picture 031.jpg
new file mode 100644
index 0000000..eedf822
--- /dev/null
+++ b/face/output/5_Picture 031.jpg
Binary files differ
diff --git a/face/output/5_Picture 039.jpg b/face/output/5_Picture 039.jpg
new file mode 100644
index 0000000..dc6d473
--- /dev/null
+++ b/face/output/5_Picture 039.jpg
Binary files differ
diff --git a/face/output/5_gl.jpg b/face/output/5_gl.jpg
new file mode 100644
index 0000000..04aba8c
--- /dev/null
+++ b/face/output/5_gl.jpg
Binary files differ
diff --git a/face/output/6_P7260009.jpg b/face/output/6_P7260009.jpg
new file mode 100644
index 0000000..e053d76
--- /dev/null
+++ b/face/output/6_P7260009.jpg
Binary files differ
diff --git a/face/output/6_P7260011.jpg b/face/output/6_P7260011.jpg
new file mode 100644
index 0000000..871c89a
--- /dev/null
+++ b/face/output/6_P7260011.jpg
Binary files differ
diff --git a/face/output/6_P7260026.jpg b/face/output/6_P7260026.jpg
new file mode 100644
index 0000000..28e7e8b
--- /dev/null
+++ b/face/output/6_P7260026.jpg
Binary files differ
diff --git a/face/output/6_P7260027.jpg b/face/output/6_P7260027.jpg
new file mode 100644
index 0000000..bdfd2c4
--- /dev/null
+++ b/face/output/6_P7260027.jpg
Binary files differ
diff --git a/face/output/6_P7260028.jpg b/face/output/6_P7260028.jpg
new file mode 100644
index 0000000..5c8c33c
--- /dev/null
+++ b/face/output/6_P7260028.jpg
Binary files differ
diff --git a/face/output/6_P7260029.jpg b/face/output/6_P7260029.jpg
new file mode 100644
index 0000000..ac96ac9
--- /dev/null
+++ b/face/output/6_P7260029.jpg
Binary files differ
diff --git a/face/output/6_Picture 031.jpg b/face/output/6_Picture 031.jpg
new file mode 100644
index 0000000..911e74c
--- /dev/null
+++ b/face/output/6_Picture 031.jpg
Binary files differ
diff --git a/face/output/6_Picture 039.jpg b/face/output/6_Picture 039.jpg
new file mode 100644
index 0000000..c52fabe
--- /dev/null
+++ b/face/output/6_Picture 039.jpg
Binary files differ
diff --git a/face/output/6_gl.jpg b/face/output/6_gl.jpg
new file mode 100644
index 0000000..ec3f399
--- /dev/null
+++ b/face/output/6_gl.jpg
Binary files differ
diff --git a/face/output/7_P7260011.jpg b/face/output/7_P7260011.jpg
new file mode 100644
index 0000000..dc128f2
--- /dev/null
+++ b/face/output/7_P7260011.jpg
Binary files differ
diff --git a/face/output/7_P7260026.jpg b/face/output/7_P7260026.jpg
new file mode 100644
index 0000000..068254b
--- /dev/null
+++ b/face/output/7_P7260026.jpg
Binary files differ
diff --git a/face/output/7_P7260027.jpg b/face/output/7_P7260027.jpg
new file mode 100644
index 0000000..7c9b3fb
--- /dev/null
+++ b/face/output/7_P7260027.jpg
Binary files differ
diff --git a/face/output/7_P7260028.jpg b/face/output/7_P7260028.jpg
new file mode 100644
index 0000000..8e83e9c
--- /dev/null
+++ b/face/output/7_P7260028.jpg
Binary files differ
diff --git a/face/output/7_Picture 031.jpg b/face/output/7_Picture 031.jpg
new file mode 100644
index 0000000..da6c8cb
--- /dev/null
+++ b/face/output/7_Picture 031.jpg
Binary files differ
diff --git a/face/output/7_gl.jpg b/face/output/7_gl.jpg
new file mode 100644
index 0000000..0bf8ff3
--- /dev/null
+++ b/face/output/7_gl.jpg
Binary files differ
diff --git a/face/output/8_P7260011.jpg b/face/output/8_P7260011.jpg
new file mode 100644
index 0000000..0bb4326
--- /dev/null
+++ b/face/output/8_P7260011.jpg
Binary files differ
diff --git a/face/output/8_P7260026.jpg b/face/output/8_P7260026.jpg
new file mode 100644
index 0000000..cbdf84b
--- /dev/null
+++ b/face/output/8_P7260026.jpg
Binary files differ
diff --git a/face/output/8_P7260027.jpg b/face/output/8_P7260027.jpg
new file mode 100644
index 0000000..703180f
--- /dev/null
+++ b/face/output/8_P7260027.jpg
Binary files differ
diff --git a/face/output/8_P7260028.jpg b/face/output/8_P7260028.jpg
new file mode 100644
index 0000000..6503128
--- /dev/null
+++ b/face/output/8_P7260028.jpg
Binary files differ
diff --git a/face/output/8_gl.jpg b/face/output/8_gl.jpg
new file mode 100644
index 0000000..bc3022e
--- /dev/null
+++ b/face/output/8_gl.jpg
Binary files differ
diff --git a/face/output/9_P7260011.jpg b/face/output/9_P7260011.jpg
new file mode 100644
index 0000000..c786abc
--- /dev/null
+++ b/face/output/9_P7260011.jpg
Binary files differ
diff --git a/face/output/9_P7260026.jpg b/face/output/9_P7260026.jpg
new file mode 100644
index 0000000..452308d
--- /dev/null
+++ b/face/output/9_P7260026.jpg
Binary files differ
diff --git a/face/output/9_P7260027.jpg b/face/output/9_P7260027.jpg
new file mode 100644
index 0000000..663e51a
--- /dev/null
+++ b/face/output/9_P7260027.jpg
Binary files differ
diff --git a/face/output/9_P7260028.jpg b/face/output/9_P7260028.jpg
new file mode 100644
index 0000000..dab18c5
--- /dev/null
+++ b/face/output/9_P7260028.jpg
Binary files differ
diff --git a/face/output/9_gl.jpg b/face/output/9_gl.jpg
new file mode 100644
index 0000000..494039f
--- /dev/null
+++ b/face/output/9_gl.jpg
Binary files differ
diff --git a/minio/configure-nats.yaml b/minio/configure-nats.yaml
new file mode 100644
index 0000000..eb5bb9c
--- /dev/null
+++ b/minio/configure-nats.yaml
@@ -0,0 +1,23 @@
+apiVersion: v1
+kind: Pod
+metadata:
+  name: configure-nats
+  labels:
+    app: configure-nats
+spec:
+  volumes:
+  - name: minio-secrets
+    secret:
+      secretName: minio-creds-secret
+  containers:
+  - name: mc
+    image: minio/mc:RELEASE.2020-04-04T05-28-55Z
+    imagePullPolicy: IfNotPresent
+    volumeMounts:
+    - name: minio-secrets
+      readOnly: true
+      mountPath: "/etc/minio-secrets"
+    command: ["/bin/sh", "-c"]
+    args: ["mc config host add mio http://minio-hl-svc:9000 $(cat /etc/minio-secrets/accesskey) $(cat /etc/minio-secrets/secretkey) && mc mb mio/input && mc admin config set mio notify_nats:input streaming_max_pub_acks_in_flight=\"10\" subject=\"input-objects\" address=\"nats.svc:4222\" ping_interval=\"0\" queue_limit=\"1000\" tls=\"off\" streaming_async=\"on\" queue_dir=\"/data/events\" streaming_cluster_id=\"nats-streaming\" && mc admin service restart mio && mc event add mio/input arn:minio:sqs::input:nats"]
+  restartPolicy: Never
+
diff --git a/minio/deployment.yaml b/minio/deployment.yaml
new file mode 100644
index 0000000..a480be2
--- /dev/null
+++ b/minio/deployment.yaml
@@ -0,0 +1,108 @@
+apiVersion: miniocontroller.min.io/v1beta1
+kind: MinIOInstance
+metadata:
+  name: minio
+## If specified, MinIOInstance pods will be dispatched by specified scheduler.
+## If not specified, the pod will be dispatched by default scheduler.
+# scheduler:
+#  name: my-custom-scheduler
+spec:
+  selector:
+    matchLabels:
+      app: minio # Should match spec.metadata.labels
+  ## Add metadata to the all pods created by the StatefulSet
+  metadata:
+    labels:
+      app: minio # Should match spec.selector.matchLabels
+    annotations:
+      prometheus.io/path: /minio/prometheus/metrics
+      prometheus.io/port: "9000"
+      prometheus.io/scrape: "true"
+  ## Registry location and Tag to download MinIO Server image
+  image: minio/minio:RELEASE.2020-01-03T19-12-21Z
+  ## Secret with credentials to be used by MinIO instance.
+  credsSecret:
+    name: minio-creds-secret
+  ## Supply number of replicas.
+  ## For standalone mode, supply 1. For distributed mode, supply 4 or more (should be even).
+  ## Note that the operator does not support upgrading from standalone to distributed mode.
+  replicas: 1
+  ## PodManagement policy for pods created by StatefulSet. Can be "OrderedReady" or "Parallel"
+  ## Refer https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/#pod-management-policy
+  ## for details. Defaults to "Parallel"
+  ## If set to "OrderedReady", then disable Readiness checks below. Readiness check will only
+  ## work if PodManagementPolicy is set to "Parallel".
+  podManagementPolicy: Parallel
+  ## Enable Kubernetes based certificate generation and signing as explained in
+  ## https://kubernetes.io/docs/tasks/tls/managing-tls-in-a-cluster
+  requestAutoCert: false
+  ## Used when "requestAutoCert" is set to true. Set CommonName for the auto-generated certificate.
+  ## Internal DNS name for the pod will be used if CommonName is not provided.
+  certConfig:
+    commonName: ""
+    organizationName: []
+    dnsNames: []
+
+  ## Used to specify a toleration for a pod
+  # tolerations:
+  #  - effect: NoSchedule
+  #    key: dedicated
+  #    operator: Equal
+  #    value: storage
+  ## Add environment variables to be set in MinIO container (https://github.com/minio/minio/tree/master/docs/config)
+  env:
+    - name: MINIO_BROWSER
+      value: "on"
+    # - name: MINIO_STORAGE_CLASS_RRS
+    #   value: "EC:2"
+  ## Configure resource requests and limits for MinIO containers
+  resources:
+    requests:
+      memory: 512Mi
+      cpu: 250m
+  ## Liveness probe detects situations where MinIO server instance
+  ## is not working properly and needs restart. Kubernetes automatically
+  ## restarts the pods if liveness checks fail.
+  liveness:
+    httpGet:
+      path: /minio/health/live
+      port: 9000
+    initialDelaySeconds: 120
+    periodSeconds: 20
+  ## Readiness probe detects situations when MinIO server instance
+  ## is not ready to accept traffic. Kubernetes doesn't forward
+  ## traffic to the pod while readiness checks fail.
+  ## Readiness check will only work if PodManagementPolicy is set to "Parallel".
+  ## Disable this check if you're setting PodManagementPolicy to "OrderedReady".
+  readiness:
+    httpGet:
+      path: /minio/health/ready
+      port: 9000
+    initialDelaySeconds: 120
+    periodSeconds: 20
+  ## nodeSelector parameters for MinIO Pods. It specifies a map of key-value pairs. For the pod to be
+  ## eligible to run on a node, the node must have each of the
+  ## indicated key-value pairs as labels.
+  ## Read more here: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
+  # nodeSelector:
+  #   disktype: ssd
+  ## Affinity settings for MinIO pods. Read more about affinity
+  ## here: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity.
+  # affinity:
+  ## Secret with certificates to configure TLS for MinIO certs. Create secrets as explained
+  ## here: https://github.com/minio/minio/tree/master/docs/tls/kubernetes#2-create-kubernetes-secret
+  # externalCertSecret:
+  # name: tls-ssl-minio
+  ## Mountpath where PV will be mounted inside container(s). Defaults to "/export".
+  # mountPath: /export
+  ## Subpath inside Mountpath where MinIO starts. Defaults to "".
+  # subPath: /data
+  volumeClaimTemplate:
+    metadata:
+      name: data
+    spec:
+      accessModes:
+        - ReadWriteOnce
+      resources:
+        requests:
+          storage: 10Gi
\ No newline at end of file
diff --git a/minio/operator.yaml b/minio/operator.yaml
new file mode 100644
index 0000000..3b9910e
--- /dev/null
+++ b/minio/operator.yaml
@@ -0,0 +1,136 @@
+apiVersion: v1
+kind: Namespace
+metadata:
+  name: minio-operator-ns
+---
+apiVersion: apiextensions.k8s.io/v1beta1
+kind: CustomResourceDefinition
+metadata:
+  name: minioinstances.miniocontroller.min.io
+spec:
+  group: miniocontroller.min.io
+  version: v1beta1
+  scope: Namespaced
+  names:
+    kind: MinIOInstance
+    singular: minioinstance
+    plural: minioinstances
+  preserveUnknownFields: true
+  validation:
+  # openAPIV3Schema is the schema for validating custom objects.
+  # Refer https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/#specifying-a-structural-schema
+  # for more details
+    openAPIV3Schema:
+      type: object
+      properties:
+        spec:
+          type: object
+          properties:
+            replicas:
+              type: integer
+              minimum: 1
+              maximum: 32
+            version:
+              type: string
+            mountpath:
+              type: string
+            subpath:
+              type: string
+  additionalPrinterColumns:
+    - name: Replicas
+      type: integer
+      JSONPath: ".spec.replicas"
+---
+apiVersion: rbac.authorization.k8s.io/v1beta1
+kind: ClusterRole
+metadata:
+  name: minio-operator-role
+rules:
+- apiGroups:
+  - ""
+  resources:
+  - namespaces
+  - secrets
+  - pods
+  - services
+  - events
+  verbs:
+  - get
+  - watch
+  - create
+  - list
+  - patch
+- apiGroups:
+  - apps
+  resources:
+  - statefulsets
+  verbs:
+  - get
+  - create
+  - list
+  - patch
+  - watch
+  - update
+- apiGroups:
+  - "certificates.k8s.io"
+  resources:
+  - "certificatesigningrequests"
+  - "certificatesigningrequests/approval"
+  - "certificatesigningrequests/status"
+  verbs:
+  - update
+  - create
+  - get
+- apiGroups:
+  - miniocontroller.min.io
+  resources:
+  - "*"
+  verbs:
+  - "*"
+- apiGroups:
+  - min.io
+  resources:
+  - "*"
+  verbs:
+  - "*"
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+  name: minio-operator-sa
+  namespace: minio-operator-ns
+---
+kind: ClusterRoleBinding
+apiVersion: rbac.authorization.k8s.io/v1beta1
+metadata:
+  name: minio-operator-binding
+  namespace: minio-operator-ns
+roleRef:
+  apiGroup: rbac.authorization.k8s.io
+  kind: ClusterRole
+  name: minio-operator-role
+subjects:
+- kind: ServiceAccount
+  name: minio-operator-sa
+  namespace: minio-operator-ns
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: minio-operator
+  namespace: minio-operator-ns
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      name: minio-operator
+  template:
+    metadata:
+      labels:
+        name: minio-operator
+    spec:
+      serviceAccountName: minio-operator-sa
+      containers:
+        - name: minio-operator
+          image: minio/k8s-operator:1.0.7
+          imagePullPolicy: IfNotPresent
\ No newline at end of file
diff --git a/minio/secrets.yaml b/minio/secrets.yaml
new file mode 100644
index 0000000..8672768
--- /dev/null
+++ b/minio/secrets.yaml
@@ -0,0 +1,8 @@
+apiVersion: v1
+kind: Secret
+metadata:
+  name: minio-creds-secret
+type: Opaque
+data:
+  accesskey: bWluaW8= # base 64 encoded "minio" (echo -n 'minio' | base64)
+  secretkey: bWluaW8xMjM= # based 64 encoded "minio123" (echo -n 'minio123' | base64)
diff --git a/minio/setup.sh b/minio/setup.sh
new file mode 100644
index 0000000..447d9cd
--- /dev/null
+++ b/minio/setup.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+kubectl create -f operator.yaml
+kubectl create namespace minio
+kubectl create -n minio -f secrets.yaml
+kubectl create -n minio -f deployment.yaml
diff --git a/nats/deployment.yaml b/nats/deployment.yaml
new file mode 100644
index 0000000..66418cb
--- /dev/null
+++ b/nats/deployment.yaml
@@ -0,0 +1,15 @@
+---
+apiVersion: "nats.io/v1alpha2"
+kind: "NatsCluster"
+metadata:
+  name: "nats"
+spec:
+  size: 1
+---
+apiVersion: "streaming.nats.io/v1alpha1"
+kind: "NatsStreamingCluster"
+metadata:
+  name: "nats-streaming"
+spec:
+  size: 2
+  natsSvc: "nats"
\ No newline at end of file
diff --git a/nats/setup.sh b/nats/setup.sh
new file mode 100644
index 0000000..e988ea3
--- /dev/null
+++ b/nats/setup.sh
@@ -0,0 +1,11 @@
+# kubectl apply -f https://github.com/nats-io/nats-operator/releases/download/v0.5.0/00-prereqs.yaml
+# kubectl apply -f https://github.com/nats-io/nats-operator/releases/download/v0.5.0/10-deployment.yaml
+
+# # Install NATS Streaming Operator on default namespace
+# kubectl apply -f https://raw.githubusercontent.com/nats-io/nats-streaming-operator/master/deploy/default-rbac.yaml
+
+# kubectl apply -f https://raw.githubusercontent.com/nats-io/nats-streaming-operator/master/deploy/deployment.yaml
+
+# sleep 10
+
+kubectl apply -f deployment.yaml