From afb70f11a859e5fd62b72a0d3f5cffc4b4fc8a44 Mon Sep 17 00:00:00 2001 From: blakeblackshear Date: Tue, 12 Mar 2019 20:54:43 -0500 Subject: [PATCH 01/23] switch mqtt to a binary on/off instead of sending a message for each score --- frigate/mqtt.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frigate/mqtt.py b/frigate/mqtt.py index d72c7deb8..fbd401776 100644 --- a/frigate/mqtt.py +++ b/frigate/mqtt.py @@ -43,11 +43,11 @@ class MqttObjectPublisher(threading.Thread): with self.objects_parsed: self.objects_parsed.wait() - # add all the person scores in detected objects and - # average over past 1 seconds (5fps) + # add all the person scores in detected objects detected_objects = self._detected_objects.copy() - avg_person_score = sum([obj['score'] for obj in detected_objects if obj['name'] == 'person'])/5 - payload['person'] = int(avg_person_score*100) + person_score = sum([obj['score'] for obj in detected_objects if obj['name'] == 'person']) + # if the person score is more than 100, set person to ON + payload['person'] = 'ON' if int(person_score*100) > 100 else 'OFF' # send message for objects if different new_payload = json.dumps(payload, sort_keys=True) From c12e19349effbc7e98b165b437455e21c00fc328 Mon Sep 17 00:00:00 2001 From: blakeblackshear Date: Fri, 15 Mar 2019 20:15:41 -0500 Subject: [PATCH 02/23] only cleanup old objects when motion is detected so stationary objects are still detected --- detect_objects.py | 3 ++- frigate/objects.py | 46 +++++++++++++++++++++++++++------------------- 2 files changed, 29 insertions(+), 20 deletions(-) diff --git a/detect_objects.py b/detect_objects.py index 00468775b..643859c63 100644 --- a/detect_objects.py +++ b/detect_objects.py @@ -136,7 +136,8 @@ def main(): object_parser = ObjectParser(object_queue, objects_parsed, DETECTED_OBJECTS) object_parser.start() # start a thread to expire objects from the detected objects list - object_cleaner = ObjectCleaner(objects_parsed, DETECTED_OBJECTS) + object_cleaner = ObjectCleaner(objects_parsed, DETECTED_OBJECTS, + motion_changed, [region['motion_detected'] for region in regions]) object_cleaner.start() # connect to mqtt and setup last will diff --git a/frigate/objects.py b/frigate/objects.py index 2cb19b310..f3b0e0520 100644 --- a/frigate/objects.py +++ b/frigate/objects.py @@ -20,33 +20,41 @@ class ObjectParser(threading.Thread): self._objects_parsed.notify_all() class ObjectCleaner(threading.Thread): - def __init__(self, objects_parsed, detected_objects): + def __init__(self, objects_parsed, detected_objects, motion_changed, motion_regions): threading.Thread.__init__(self) self._objects_parsed = objects_parsed self._detected_objects = detected_objects + self.motion_changed = motion_changed + self.motion_regions = motion_regions def run(self): while True: - # expire the objects that are more than 1 second old - now = datetime.datetime.now().timestamp() - # look for the first object found within the last second - # (newest objects are appended to the end) - detected_objects = self._detected_objects.copy() - num_to_delete = 0 - for obj in detected_objects: - if now-obj['frame_time']<1: - break - num_to_delete += 1 - if num_to_delete > 0: - del self._detected_objects[:num_to_delete] + # while there is motion + while len([r for r in self.motion_regions if r.is_set()]) > 0: + # wait a bit before checking for expired frames + time.sleep(0.2) - # notify that parsed objects were changed - with self._objects_parsed: - self._objects_parsed.notify_all() - - # wait a bit before checking for more expired frames - time.sleep(0.2) + # expire the objects that are more than 1 second old + now = datetime.datetime.now().timestamp() + # look for the first object found within the last second + # (newest objects are appended to the end) + detected_objects = self._detected_objects.copy() + num_to_delete = 0 + for obj in detected_objects: + if now-obj['frame_time']<1: + break + num_to_delete += 1 + if num_to_delete > 0: + del self._detected_objects[:num_to_delete] + + # notify that parsed objects were changed + with self._objects_parsed: + self._objects_parsed.notify_all() + + # wait for the global motion flag to change + with self.motion_changed: + self.motion_changed.wait() # Maintains the frame and person with the highest score from the most recent # motion event From de9c3f4d748ad9d32a486d58a55a9458a8379bc7 Mon Sep 17 00:00:00 2001 From: blakeblackshear Date: Fri, 15 Mar 2019 20:16:19 -0500 Subject: [PATCH 03/23] wait 5 seconds to clear the motion flag --- frigate/motion.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/frigate/motion.py b/frigate/motion.py index 3a6fdbc9e..afe0e8fb7 100644 --- a/frigate/motion.py +++ b/frigate/motion.py @@ -12,10 +12,20 @@ def detect_motion(shared_arr, shared_frame_time, frame_lock, frame_ready, motion avg_frame = None avg_delta = None + last_motion = -1 frame_time = 0.0 motion_frames = 0 while True: now = datetime.datetime.now().timestamp() + + # if it has been long enough since the last motion, clear the flag + if last_motion > 0 and (now - last_motion) > 5: + last_motion = -1 + if motion_detected.is_set(): + motion_detected.clear() + with motion_changed: + motion_changed.notify_all() + with frame_ready: # if there isnt a frame ready for processing or it is old, wait for a signal @@ -95,14 +105,11 @@ def detect_motion(shared_arr, shared_frame_time, frame_lock, frame_ready, motion motion_detected.set() with motion_changed: motion_changed.notify_all() + last_motion = now else: # when no motion, just keep averaging the frames together cv2.accumulateWeighted(gray, avg_frame, 0.01) motion_frames = 0 - if motion_detected.is_set(): - motion_detected.clear() - with motion_changed: - motion_changed.notify_all() if debug and motion_frames == 3: cv2.imwrite("/lab/debug/motion-{}-{}-{}.jpg".format(region_x_offset, region_y_offset, datetime.datetime.now().timestamp()), cropped_frame) From 8bae05cfe26f58c06df36eddd49ed4ea1b441de0 Mon Sep 17 00:00:00 2001 From: blakeblackshear Date: Sun, 17 Mar 2019 09:03:52 -0500 Subject: [PATCH 04/23] first working version, single region and motion detection disabled --- Dockerfile | 35 +++++++++++----- detect_objects.py | 13 ++++-- frigate/motion.py | 2 +- frigate/object_detection.py | 83 +++++++++++++------------------------ frigate/util.py | 2 +- frigate/video.py | 2 +- 6 files changed, 65 insertions(+), 72 deletions(-) diff --git a/Dockerfile b/Dockerfile index 80bca9645..9d8713cf9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -26,20 +26,25 @@ RUN apt-get -qq update && apt-get -qq install --no-install-recommends -y python3 vim \ ffmpeg \ unzip \ + libusb-1.0-0-dev \ + python3-setuptools \ + python3-numpy \ + zlib1g-dev \ + libgoogle-glog-dev \ + swig \ + libunwind-dev \ + libc++-dev \ + libc++abi-dev \ + build-essential \ && rm -rf /var/lib/apt/lists/* # Install core packages RUN wget -q -O /tmp/get-pip.py --no-check-certificate https://bootstrap.pypa.io/get-pip.py && python3 /tmp/get-pip.py RUN pip install -U pip \ numpy \ + pillow \ matplotlib \ notebook \ - jupyter \ - pandas \ - moviepy \ - tensorflow \ - keras \ - autovizwidget \ Flask \ imutils \ paho-mqtt @@ -59,9 +64,6 @@ RUN cd /usr/local/src/ \ && ldconfig \ && rm -rf /usr/local/src/protobuf-3.5.1/ -# Add dataframe display widget -RUN jupyter nbextension enable --py --sys-prefix widgetsnbextension - # Download & build OpenCV RUN wget -q -P /usr/local/src/ --no-check-certificate https://github.com/opencv/opencv/archive/4.0.1.zip RUN cd /usr/local/src/ \ @@ -75,6 +77,16 @@ RUN cd /usr/local/src/ \ && make install \ && rm -rf /usr/local/src/opencv-4.0.1 +# Download and install EdgeTPU libraries +RUN wget -q -O edgetpu_api.tar.gz --no-check-certificate http://storage.googleapis.com/cloud-iot-edge-pretrained-models/edgetpu_api.tar.gz + +RUN tar xzf edgetpu_api.tar.gz \ + && cd python-tflite-source \ + && cp -p libedgetpu/libedgetpu_arm32_throttled.so /lib/arm-linux-gnueabihf/libedgetpu.so \ + && cp edgetpu/swig/compiled_so/_edgetpu_cpp_wrapper_arm32.so edgetpu/swig/_edgetpu_cpp_wrapper.so \ + && cp edgetpu/swig/compiled_so/edgetpu_cpp_wrapper.py edgetpu/swig/ \ + && python3 setup.py develop --user + # Minimize image size RUN (apt-get autoremove -y; \ apt-get autoclean -y) @@ -87,4 +99,7 @@ WORKDIR /opt/frigate/ ADD frigate frigate/ COPY detect_objects.py . -CMD ["python3", "-u", "detect_objects.py"] \ No newline at end of file +CMD ["python3", "-u", "detect_objects.py"] + +# WORKDIR /python-tflite-source/edgetpu/ +# CMD ["python3", "-u", "demo/classify_image.py", "--model", "test_data/mobilenet_v2_1.0_224_inat_bird_quant_edgetpu.tflite", "--label", "test_data/inat_bird_labels.txt", "--image", "test_data/parrot.jpg"] \ No newline at end of file diff --git a/detect_objects.py b/detect_objects.py index 643859c63..405a86a75 100644 --- a/detect_objects.py +++ b/detect_objects.py @@ -72,7 +72,7 @@ def main(): # compute the flattened array length from the array shape flat_array_length = frame_shape[0] * frame_shape[1] * frame_shape[2] # create shared array for storing the full frame image data - shared_arr = mp.Array(ctypes.c_uint16, flat_array_length) + shared_arr = mp.Array(ctypes.c_uint8, flat_array_length) # create shared value for storing the frame_time shared_frame_time = mp.Value('d', 0.0) # Lock to control access to the frame @@ -173,9 +173,14 @@ def main(): print("detection_process pid ", detection_process.pid) # start the motion detection processes - for motion_process in motion_processes: - motion_process.start() - print("motion_process pid ", motion_process.pid) + # for motion_process in motion_processes: + # motion_process.start() + # print("motion_process pid ", motion_process.pid) + + for region in regions: + region['motion_detected'].set() + with motion_changed: + motion_changed.notify_all() # create a flask app that encodes frames a mjpeg on demand app = Flask(__name__) diff --git a/frigate/motion.py b/frigate/motion.py index afe0e8fb7..b09c8afc7 100644 --- a/frigate/motion.py +++ b/frigate/motion.py @@ -34,7 +34,7 @@ def detect_motion(shared_arr, shared_frame_time, frame_lock, frame_ready, motion # lock and make a copy of the cropped frame with frame_lock: - cropped_frame = arr[region_y_offset:region_y_offset+region_size, region_x_offset:region_x_offset+region_size].copy().astype('uint8') + cropped_frame = arr[region_y_offset:region_y_offset+region_size, region_x_offset:region_x_offset+region_size].copy() frame_time = shared_frame_time.value # convert to grayscale diff --git a/frigate/object_detection.py b/frigate/object_detection.py index 2c68f2b40..dfc3d81b5 100644 --- a/frigate/object_detection.py +++ b/frigate/object_detection.py @@ -1,9 +1,8 @@ import datetime import cv2 import numpy as np -import tensorflow as tf -from object_detection.utils import label_map_util -from object_detection.utils import visualization_utils as vis_util +from edgetpu.detection.engine import DetectionEngine +from PIL import Image from . util import tonumpyarray # TODO: make dynamic? @@ -13,58 +12,38 @@ PATH_TO_CKPT = '/frozen_inference_graph.pb' # List of the strings that is used to add correct label for each box. PATH_TO_LABELS = '/label_map.pbtext' -# Loading label map -label_map = label_map_util.load_labelmap(PATH_TO_LABELS) -categories = label_map_util.convert_label_map_to_categories(label_map, max_num_classes=NUM_CLASSES, - use_display_name=True) -category_index = label_map_util.create_category_index(categories) +# Function to read labels from text files. +def ReadLabelFile(file_path): + with open(file_path, 'r') as f: + lines = f.readlines() + ret = {} + for line in lines: + pair = line.strip().split(maxsplit=1) + ret[int(pair[0])] = pair[1].strip() + return ret # do the actual object detection -def tf_detect_objects(cropped_frame, sess, detection_graph, region_size, region_x_offset, region_y_offset, debug): +def tf_detect_objects(cropped_frame, engine, labels, region_size, region_x_offset, region_y_offset, debug): + # Resize to 300x300 + cropped_frame = cv2.resize(cropped_frame, dsize=(300, 300), interpolation=cv2.INTER_LINEAR) # Expand dimensions since the model expects images to have shape: [1, None, None, 3] image_np_expanded = np.expand_dims(cropped_frame, axis=0) - image_tensor = detection_graph.get_tensor_by_name('image_tensor:0') - - # Each box represents a part of the image where a particular object was detected. - boxes = detection_graph.get_tensor_by_name('detection_boxes:0') - - # Each score represent how level of confidence for each of the objects. - # Score is shown on the result image, together with the class label. - scores = detection_graph.get_tensor_by_name('detection_scores:0') - classes = detection_graph.get_tensor_by_name('detection_classes:0') - num_detections = detection_graph.get_tensor_by_name('num_detections:0') # Actual detection. - (boxes, scores, classes, num_detections) = sess.run( - [boxes, scores, classes, num_detections], - feed_dict={image_tensor: image_np_expanded}) - - if debug: - if len([value for index,value in enumerate(classes[0]) if str(category_index.get(value).get('name')) == 'person' and scores[0,index] > 0.5]) > 0: - vis_util.visualize_boxes_and_labels_on_image_array( - cropped_frame, - np.squeeze(boxes), - np.squeeze(classes).astype(np.int32), - np.squeeze(scores), - category_index, - use_normalized_coordinates=True, - line_thickness=4) - cv2.imwrite("/lab/debug/obj-{}-{}-{}.jpg".format(region_x_offset, region_y_offset, datetime.datetime.now().timestamp()), cropped_frame) - + ans = engine.DetectWithInputTensor(image_np_expanded.flatten(), threshold=0.5, top_k=3) # build an array of detected objects objects = [] - for index, value in enumerate(classes[0]): - score = scores[0, index] - if score > 0.5: - box = boxes[0, index].tolist() + if ans: + for obj in ans: + box = obj.bounding_box.flatten().tolist() objects.append({ - 'name': str(category_index.get(value).get('name')), - 'score': float(score), - 'ymin': int((box[0] * region_size) + region_y_offset), - 'xmin': int((box[1] * region_size) + region_x_offset), - 'ymax': int((box[2] * region_size) + region_y_offset), - 'xmax': int((box[3] * region_size) + region_x_offset) + 'name': str(labels[obj.label_id]), + 'score': float(obj.score), + 'xmin': int((box[0] * region_size) + region_x_offset), + 'ymin': int((box[1] * region_size) + region_y_offset), + 'xmax': int((box[2] * region_size) + region_x_offset), + 'ymax': int((box[3] * region_size) + region_y_offset) }) return objects @@ -75,15 +54,9 @@ def detect_objects(shared_arr, object_queue, shared_frame_time, frame_lock, fram # shape shared input array into frame for processing arr = tonumpyarray(shared_arr).reshape(frame_shape) - # Load a (frozen) Tensorflow model into memory before the processing loop - detection_graph = tf.Graph() - with detection_graph.as_default(): - od_graph_def = tf.GraphDef() - with tf.gfile.GFile(PATH_TO_CKPT, 'rb') as fid: - serialized_graph = fid.read() - od_graph_def.ParseFromString(serialized_graph) - tf.import_graph_def(od_graph_def, name='') - sess = tf.Session(graph=detection_graph) + # Load the edgetpu engine and labels + engine = DetectionEngine(PATH_TO_CKPT) + labels = ReadLabelFile(PATH_TO_LABELS) frame_time = 0.0 while True: @@ -105,7 +78,7 @@ def detect_objects(shared_arr, object_queue, shared_frame_time, frame_lock, fram # convert to RGB cropped_frame_rgb = cv2.cvtColor(cropped_frame, cv2.COLOR_BGR2RGB) # do the object detection - objects = tf_detect_objects(cropped_frame_rgb, sess, detection_graph, region_size, region_x_offset, region_y_offset, debug) + objects = tf_detect_objects(cropped_frame_rgb, engine, labels, region_size, region_x_offset, region_y_offset, debug) for obj in objects: # ignore persons below the size threshold if obj['name'] == 'person' and (obj['xmax']-obj['xmin'])*(obj['ymax']-obj['ymin']) < min_person_area: diff --git a/frigate/util.py b/frigate/util.py index 984d37193..fa174f195 100644 --- a/frigate/util.py +++ b/frigate/util.py @@ -2,4 +2,4 @@ import numpy as np # convert shared memory array into numpy array def tonumpyarray(mp_arr): - return np.frombuffer(mp_arr.get_obj(), dtype=np.uint16) \ No newline at end of file + return np.frombuffer(mp_arr.get_obj(), dtype=np.uint8) \ No newline at end of file diff --git a/frigate/video.py b/frigate/video.py index 783bbff13..0edcc6989 100644 --- a/frigate/video.py +++ b/frigate/video.py @@ -78,7 +78,7 @@ class FrameTracker(threading.Thread): # lock and make a copy of the frame with self.frame_lock: - frame = self.shared_frame.copy().astype('uint8') + frame = self.shared_frame.copy() frame_time = self.frame_time.value # add the frame to recent frames From 862aa2d3f03a6ccdf1687f74e0e3ad97f1ddc243 Mon Sep 17 00:00:00 2001 From: blakeblackshear Date: Sun, 17 Mar 2019 20:12:31 -0500 Subject: [PATCH 05/23] only resize when needed --- frigate/object_detection.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/frigate/object_detection.py b/frigate/object_detection.py index dfc3d81b5..8791e33c1 100644 --- a/frigate/object_detection.py +++ b/frigate/object_detection.py @@ -24,8 +24,9 @@ def ReadLabelFile(file_path): # do the actual object detection def tf_detect_objects(cropped_frame, engine, labels, region_size, region_x_offset, region_y_offset, debug): - # Resize to 300x300 - cropped_frame = cv2.resize(cropped_frame, dsize=(300, 300), interpolation=cv2.INTER_LINEAR) + # Resize to 300x300 if needed + if cropped_frame.shape != (300, 300, 3): + cropped_frame = cv2.resize(cropped_frame, dsize=(300, 300), interpolation=cv2.INTER_LINEAR) # Expand dimensions since the model expects images to have shape: [1, None, None, 3] image_np_expanded = np.expand_dims(cropped_frame, axis=0) From f2c205be99877579fecf1ce41c480c6432226ea5 Mon Sep 17 00:00:00 2001 From: blakeblackshear Date: Mon, 18 Mar 2019 07:24:24 -0500 Subject: [PATCH 06/23] prep frames for object detection in a separate process --- detect_objects.py | 36 ++++++++----- frigate/object_detection.py | 105 ++++++++++++++++++++---------------- 2 files changed, 83 insertions(+), 58 deletions(-) diff --git a/detect_objects.py b/detect_objects.py index 405a86a75..79ae829d6 100644 --- a/detect_objects.py +++ b/detect_objects.py @@ -19,7 +19,7 @@ from frigate.mqtt import MqttMotionPublisher, MqttObjectPublisher from frigate.objects import ObjectParser, ObjectCleaner, BestPersonFrame from frigate.motion import detect_motion from frigate.video import fetch_frames, FrameTracker -from frigate.object_detection import detect_objects +from frigate.object_detection import prep_for_detection, detect_objects RTSP_URL = os.getenv('RTSP_URL') @@ -85,6 +85,16 @@ def main(): objects_parsed = mp.Condition() # Queue for detected objects object_queue = mp.Queue() + # array for prepped frame with shape (1, 300, 300, 3) + prepped_frame_array = mp.Array(ctypes.c_uint8, 300*300*3) + # shared value for storing the prepped_frame_time + prepped_frame_time = mp.Value('d', 0.0) + # Condition for notifying that a new prepped frame is ready + prepped_frame_ready = mp.Condition() + # Lock to control access to the prepped frame + prepped_frame_lock = mp.Lock() + # array for prepped frame box [x1, y1, x2, y2] + prepped_frame_box = mp.Array(ctypes.c_uint16, 4) # shape current frame so it can be treated as an image frame_arr = tonumpyarray(shared_arr).reshape(frame_shape) @@ -95,20 +105,19 @@ def main(): capture_process.daemon = True # for each region, start a separate process for motion detection and object detection - detection_processes = [] + detection_prep_processes = [] motion_processes = [] for region in regions: - detection_process = mp.Process(target=detect_objects, args=(shared_arr, - object_queue, + detection_prep_process = mp.Process(target=prep_for_detection, args=(shared_arr, shared_frame_time, frame_lock, frame_ready, region['motion_detected'], frame_shape, region['size'], region['x_offset'], region['y_offset'], - region['min_person_area'], - DEBUG)) - detection_process.daemon = True - detection_processes.append(detection_process) + prepped_frame_array, prepped_frame_time, prepped_frame_ready, + prepped_frame_lock, prepped_frame_box)) + detection_prep_process.daemon = True + detection_prep_processes.append(detection_prep_process) motion_process = mp.Process(target=detect_motion, args=(shared_arr, shared_frame_time, @@ -168,15 +177,16 @@ def main(): print("capture_process pid ", capture_process.pid) # start the object detection processes - for detection_process in detection_processes: - detection_process.start() - print("detection_process pid ", detection_process.pid) + for detection_prep_process in detection_prep_processes: + detection_prep_process.start() + print("detection_prep_process pid ", detection_prep_process.pid) # start the motion detection processes # for motion_process in motion_processes: # motion_process.start() # print("motion_process pid ", motion_process.pid) + # TEMP: short circuit the motion detection for region in regions: region['motion_detected'].set() with motion_changed: @@ -239,8 +249,8 @@ def main(): app.run(host='0.0.0.0', debug=False) capture_process.join() - for detection_process in detection_processes: - detection_process.join() + for detection_prep_process in detection_prep_processes: + detection_prep_process.join() for motion_process in motion_processes: motion_process.join() frame_tracker.join() diff --git a/frigate/object_detection.py b/frigate/object_detection.py index 8791e33c1..3037f803e 100644 --- a/frigate/object_detection.py +++ b/frigate/object_detection.py @@ -2,11 +2,8 @@ import datetime import cv2 import numpy as np from edgetpu.detection.engine import DetectionEngine -from PIL import Image from . util import tonumpyarray -# TODO: make dynamic? -NUM_CLASSES = 90 # Path to frozen detection graph. This is the actual model that is used for the object detection. PATH_TO_CKPT = '/frozen_inference_graph.pb' # List of the strings that is used to add correct label for each box. @@ -22,43 +19,51 @@ def ReadLabelFile(file_path): ret[int(pair[0])] = pair[1].strip() return ret -# do the actual object detection -def tf_detect_objects(cropped_frame, engine, labels, region_size, region_x_offset, region_y_offset, debug): - # Resize to 300x300 if needed - if cropped_frame.shape != (300, 300, 3): - cropped_frame = cv2.resize(cropped_frame, dsize=(300, 300), interpolation=cv2.INTER_LINEAR) - # Expand dimensions since the model expects images to have shape: [1, None, None, 3] - image_np_expanded = np.expand_dims(cropped_frame, axis=0) - - # Actual detection. - ans = engine.DetectWithInputTensor(image_np_expanded.flatten(), threshold=0.5, top_k=3) - - # build an array of detected objects - objects = [] - if ans: - for obj in ans: - box = obj.bounding_box.flatten().tolist() - objects.append({ - 'name': str(labels[obj.label_id]), - 'score': float(obj.score), - 'xmin': int((box[0] * region_size) + region_x_offset), - 'ymin': int((box[1] * region_size) + region_y_offset), - 'xmax': int((box[2] * region_size) + region_x_offset), - 'ymax': int((box[3] * region_size) + region_y_offset) - }) - - return objects - -def detect_objects(shared_arr, object_queue, shared_frame_time, frame_lock, frame_ready, - motion_detected, frame_shape, region_size, region_x_offset, region_y_offset, - min_person_area, debug): - # shape shared input array into frame for processing - arr = tonumpyarray(shared_arr).reshape(frame_shape) - +def detect_objects(prepped_frame_array, prepped_frame_time, prepped_frame_lock, + prepped_frame_ready, prepped_frame_box, object_queue, debug): # Load the edgetpu engine and labels engine = DetectionEngine(PATH_TO_CKPT) labels = ReadLabelFile(PATH_TO_LABELS) + prepped_frame_time = 0.0 + while True: + with prepped_frame_ready: + prepped_frame_ready.wait() + + # make a copy of the cropped frame + with prepped_frame_lock: + prepped_frame_copy = prepped_frame_array.copy() + prepped_frame_time = prepped_frame_time.value + region_box = prepped_frame_box.value + + # Actual detection. + ans = engine.DetectWithInputTensor(prepped_frame_copy, threshold=0.5, top_k=3) + + # put detected objects in the queue + if ans: + # assumes square + region_size = region_box[3]-region_box[0] + for obj in ans: + box = obj.bounding_box.flatten().tolist() + object_queue.append({ + 'frame_time': prepped_frame_time, + 'name': str(labels[obj.label_id]), + 'score': float(obj.score), + 'xmin': int((box[0] * region_size) + region_box[0]), + 'ymin': int((box[1] * region_size) + region_box[1]), + 'xmax': int((box[2] * region_size) + region_box[0]), + 'ymax': int((box[3] * region_size) + region_box[1]) + }) + +def prep_for_detection(shared_whole_frame_array, shared_frame_time, frame_lock, frame_ready, + motion_detected, frame_shape, region_size, region_x_offset, region_y_offset, + prepped_frame_array, prepped_frame_time, prepped_frame_ready, prepped_frame_lock, + prepped_frame_box): + # shape shared input array into frame for processing + shared_whole_frame = tonumpyarray(shared_whole_frame_array).reshape(frame_shape) + + shared_prepped_frame = tonumpyarray(prepped_frame_array).reshape((1,300,300,3)) + frame_time = 0.0 while True: now = datetime.datetime.now().timestamp() @@ -69,20 +74,30 @@ def detect_objects(shared_arr, object_queue, shared_frame_time, frame_lock, fram with frame_ready: # if there isnt a frame ready for processing or it is old, wait for a new frame if shared_frame_time.value == frame_time or (now - shared_frame_time.value) > 0.5: + print("waiting...") frame_ready.wait() # make a copy of the cropped frame with frame_lock: - cropped_frame = arr[region_y_offset:region_y_offset+region_size, region_x_offset:region_x_offset+region_size].copy() + cropped_frame = shared_whole_frame[region_y_offset:region_y_offset+region_size, region_x_offset:region_x_offset+region_size].copy() frame_time = shared_frame_time.value + + print("grabbed frame " + str(frame_time)) # convert to RGB cropped_frame_rgb = cv2.cvtColor(cropped_frame, cv2.COLOR_BGR2RGB) - # do the object detection - objects = tf_detect_objects(cropped_frame_rgb, engine, labels, region_size, region_x_offset, region_y_offset, debug) - for obj in objects: - # ignore persons below the size threshold - if obj['name'] == 'person' and (obj['xmax']-obj['xmin'])*(obj['ymax']-obj['ymin']) < min_person_area: - continue - obj['frame_time'] = frame_time - object_queue.put(obj) \ No newline at end of file + # Resize to 300x300 if needed + if cropped_frame_rgb.shape != (300, 300, 3): + cropped_frame_rgb = cv2.resize(cropped_frame_rgb, dsize=(300, 300), interpolation=cv2.INTER_LINEAR) + # Expand dimensions since the model expects images to have shape: [1, 300, 300, 3] + frame_expanded = np.expand_dims(cropped_frame_rgb, axis=0) + + # copy the prepped frame to the shared output array + with prepped_frame_lock: + shared_prepped_frame[:] = frame_expanded + prepped_frame_time = frame_time + prepped_frame_box[:] = [region_x_offset, region_y_offset, region_x_offset+region_size, region_y_offset+region_size] + + # signal that a prepped frame is ready + with prepped_frame_ready: + prepped_frame_ready.notify_all() \ No newline at end of file From 8ff9a982b61e8af327cdb981e3ae802089f9ab48 Mon Sep 17 00:00:00 2001 From: blakeblackshear Date: Mon, 18 Mar 2019 07:48:04 -0500 Subject: [PATCH 07/23] start the detection process --- detect_objects.py | 16 +++++++++++++++- frigate/object_detection.py | 23 +++++++++++------------ 2 files changed, 26 insertions(+), 13 deletions(-) diff --git a/detect_objects.py b/detect_objects.py index 79ae829d6..f93a22669 100644 --- a/detect_objects.py +++ b/detect_objects.py @@ -108,6 +108,8 @@ def main(): detection_prep_processes = [] motion_processes = [] for region in regions: + # possibly try putting these on threads and putting prepped + # frames in a queue detection_prep_process = mp.Process(target=prep_for_detection, args=(shared_arr, shared_frame_time, frame_lock, frame_ready, @@ -131,6 +133,14 @@ def main(): motion_process.daemon = True motion_processes.append(motion_process) + # create a process for object detection + detection_process = mp.Process(target=detect_objects, args=( + prepped_frame_array, prepped_frame_time, + prepped_frame_lock, prepped_frame_ready, + prepped_frame_box, object_queue, DEBUG + )) + detection_process.daemon = True + # start a thread to store recent motion frames for processing frame_tracker = FrameTracker(frame_arr, shared_frame_time, frame_ready, frame_lock, recent_motion_frames, motion_changed, [region['motion_detected'] for region in regions]) @@ -176,11 +186,14 @@ def main(): capture_process.start() print("capture_process pid ", capture_process.pid) - # start the object detection processes + # start the object detection prep processes for detection_prep_process in detection_prep_processes: detection_prep_process.start() print("detection_prep_process pid ", detection_prep_process.pid) + detection_process.start() + print("detection_process pid ", detection_process.pid) + # start the motion detection processes # for motion_process in motion_processes: # motion_process.start() @@ -253,6 +266,7 @@ def main(): detection_prep_process.join() for motion_process in motion_processes: motion_process.join() + detection_process.join() frame_tracker.join() best_person_frame.join() object_parser.join() diff --git a/frigate/object_detection.py b/frigate/object_detection.py index 3037f803e..b56d527a7 100644 --- a/frigate/object_detection.py +++ b/frigate/object_detection.py @@ -21,32 +21,34 @@ def ReadLabelFile(file_path): def detect_objects(prepped_frame_array, prepped_frame_time, prepped_frame_lock, prepped_frame_ready, prepped_frame_box, object_queue, debug): + prepped_frame_np = tonumpyarray(prepped_frame_array) # Load the edgetpu engine and labels engine = DetectionEngine(PATH_TO_CKPT) labels = ReadLabelFile(PATH_TO_LABELS) - prepped_frame_time = 0.0 + frame_time = 0.0 + region_box = [0,0,0,0] while True: with prepped_frame_ready: prepped_frame_ready.wait() # make a copy of the cropped frame with prepped_frame_lock: - prepped_frame_copy = prepped_frame_array.copy() - prepped_frame_time = prepped_frame_time.value - region_box = prepped_frame_box.value + prepped_frame_copy = prepped_frame_np.copy() + frame_time = prepped_frame_time.value + region_box[:] = prepped_frame_box # Actual detection. - ans = engine.DetectWithInputTensor(prepped_frame_copy, threshold=0.5, top_k=3) - + objects = engine.DetectWithInputTensor(prepped_frame_copy, threshold=0.5, top_k=3) + # print(engine.get_inference_time()) # put detected objects in the queue - if ans: + if objects: # assumes square region_size = region_box[3]-region_box[0] - for obj in ans: + for obj in objects: box = obj.bounding_box.flatten().tolist() object_queue.append({ - 'frame_time': prepped_frame_time, + 'frame_time': frame_time, 'name': str(labels[obj.label_id]), 'score': float(obj.score), 'xmin': int((box[0] * region_size) + region_box[0]), @@ -74,7 +76,6 @@ def prep_for_detection(shared_whole_frame_array, shared_frame_time, frame_lock, with frame_ready: # if there isnt a frame ready for processing or it is old, wait for a new frame if shared_frame_time.value == frame_time or (now - shared_frame_time.value) > 0.5: - print("waiting...") frame_ready.wait() # make a copy of the cropped frame @@ -82,8 +83,6 @@ def prep_for_detection(shared_whole_frame_array, shared_frame_time, frame_lock, cropped_frame = shared_whole_frame[region_y_offset:region_y_offset+region_size, region_x_offset:region_x_offset+region_size].copy() frame_time = shared_frame_time.value - print("grabbed frame " + str(frame_time)) - # convert to RGB cropped_frame_rgb = cv2.cvtColor(cropped_frame, cv2.COLOR_BGR2RGB) # Resize to 300x300 if needed From c406fda28817f47d616c60ce999bbaeccc48d689 Mon Sep 17 00:00:00 2001 From: blakeblackshear Date: Tue, 19 Mar 2019 06:29:58 -0500 Subject: [PATCH 08/23] fixes --- frigate/object_detection.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frigate/object_detection.py b/frigate/object_detection.py index b56d527a7..df77dc70a 100644 --- a/frigate/object_detection.py +++ b/frigate/object_detection.py @@ -44,10 +44,10 @@ def detect_objects(prepped_frame_array, prepped_frame_time, prepped_frame_lock, # put detected objects in the queue if objects: # assumes square - region_size = region_box[3]-region_box[0] + region_size = region_box[2]-region_box[0] for obj in objects: box = obj.bounding_box.flatten().tolist() - object_queue.append({ + object_queue.put({ 'frame_time': frame_time, 'name': str(labels[obj.label_id]), 'score': float(obj.score), From 7d3027e05661ebaf1ad5925f5c78a63872248636 Mon Sep 17 00:00:00 2001 From: blakeblackshear Date: Wed, 20 Mar 2019 07:11:38 -0500 Subject: [PATCH 09/23] looping over all regions with motion. ugly, but working --- detect_objects.py | 34 ++++++--------- frigate/object_detection.py | 85 +++++++++++++++++++++---------------- 2 files changed, 62 insertions(+), 57 deletions(-) diff --git a/detect_objects.py b/detect_objects.py index f93a22669..bcfa10a49 100644 --- a/detect_objects.py +++ b/detect_objects.py @@ -52,11 +52,12 @@ def main(): 'mask': region_mask, # Event for motion detection signaling 'motion_detected': mp.Event(), - # create shared array for storing 10 detected objects - # note: this must be a double even though the value you are storing - # is a float. otherwise it stops updating the value in shared - # memory. probably something to do with the size of the memory block - 'output_array': mp.Array(ctypes.c_double, 6*10) + # array for prepped frame with shape (1, 300, 300, 3) + 'prepped_frame_array': mp.Array(ctypes.c_uint8, 300*300*3), + # shared value for storing the prepped_frame_time + 'prepped_frame_time': mp.Value('d', 0.0), + # Lock to control access to the prepped frame + 'prepped_frame_lock': mp.Lock() }) # capture a single frame and check the frame shape so the correct array # size can be allocated in memory @@ -85,16 +86,6 @@ def main(): objects_parsed = mp.Condition() # Queue for detected objects object_queue = mp.Queue() - # array for prepped frame with shape (1, 300, 300, 3) - prepped_frame_array = mp.Array(ctypes.c_uint8, 300*300*3) - # shared value for storing the prepped_frame_time - prepped_frame_time = mp.Value('d', 0.0) - # Condition for notifying that a new prepped frame is ready - prepped_frame_ready = mp.Condition() - # Lock to control access to the prepped frame - prepped_frame_lock = mp.Lock() - # array for prepped frame box [x1, y1, x2, y2] - prepped_frame_box = mp.Array(ctypes.c_uint16, 4) # shape current frame so it can be treated as an image frame_arr = tonumpyarray(shared_arr).reshape(frame_shape) @@ -116,8 +107,8 @@ def main(): region['motion_detected'], frame_shape, region['size'], region['x_offset'], region['y_offset'], - prepped_frame_array, prepped_frame_time, prepped_frame_ready, - prepped_frame_lock, prepped_frame_box)) + region['prepped_frame_array'], region['prepped_frame_time'], + region['prepped_frame_lock'])) detection_prep_process.daemon = True detection_prep_processes.append(detection_prep_process) @@ -135,9 +126,12 @@ def main(): # create a process for object detection detection_process = mp.Process(target=detect_objects, args=( - prepped_frame_array, prepped_frame_time, - prepped_frame_lock, prepped_frame_ready, - prepped_frame_box, object_queue, DEBUG + [region['prepped_frame_array'] for region in regions], + [region['prepped_frame_time'] for region in regions], + [region['prepped_frame_lock'] for region in regions], + [[region['size'], region['x_offset'], region['y_offset']] for region in regions], + motion_changed, [region['motion_detected'] for region in regions], + object_queue, DEBUG )) detection_process.daemon = True diff --git a/frigate/object_detection.py b/frigate/object_detection.py index df77dc70a..da0375e96 100644 --- a/frigate/object_detection.py +++ b/frigate/object_detection.py @@ -19,48 +19,64 @@ def ReadLabelFile(file_path): ret[int(pair[0])] = pair[1].strip() return ret -def detect_objects(prepped_frame_array, prepped_frame_time, prepped_frame_lock, - prepped_frame_ready, prepped_frame_box, object_queue, debug): - prepped_frame_np = tonumpyarray(prepped_frame_array) +def detect_objects(prepped_frame_arrays, prepped_frame_times, prepped_frame_locks, + prepped_frame_boxes, motion_changed, motion_regions, object_queue, debug): + prepped_frame_nps = [tonumpyarray(prepped_frame_array) for prepped_frame_array in prepped_frame_arrays] # Load the edgetpu engine and labels engine = DetectionEngine(PATH_TO_CKPT) labels = ReadLabelFile(PATH_TO_LABELS) frame_time = 0.0 - region_box = [0,0,0,0] + region_box = [0,0,0] while True: - with prepped_frame_ready: - prepped_frame_ready.wait() + # while there is motion + while len([r for r in motion_regions if r.is_set()]) > 0: - # make a copy of the cropped frame - with prepped_frame_lock: - prepped_frame_copy = prepped_frame_np.copy() - frame_time = prepped_frame_time.value - region_box[:] = prepped_frame_box + # loop over all the motion regions and look for objects + for i, motion_region in enumerate(motion_regions): + # skip the region if no motion + if not motion_region.is_set(): + continue - # Actual detection. - objects = engine.DetectWithInputTensor(prepped_frame_copy, threshold=0.5, top_k=3) - # print(engine.get_inference_time()) - # put detected objects in the queue - if objects: - # assumes square - region_size = region_box[2]-region_box[0] - for obj in objects: - box = obj.bounding_box.flatten().tolist() - object_queue.put({ - 'frame_time': frame_time, - 'name': str(labels[obj.label_id]), - 'score': float(obj.score), - 'xmin': int((box[0] * region_size) + region_box[0]), - 'ymin': int((box[1] * region_size) + region_box[1]), - 'xmax': int((box[2] * region_size) + region_box[0]), - 'ymax': int((box[3] * region_size) + region_box[1]) - }) + # make a copy of the cropped frame + with prepped_frame_locks[i]: + prepped_frame_copy = prepped_frame_nps[i].copy() + frame_time = prepped_frame_times[i].value + region_box[:] = prepped_frame_boxes[i] + + # Actual detection. + objects = engine.DetectWithInputTensor(prepped_frame_copy, threshold=0.5, top_k=3) + # print(engine.get_inference_time()) + # put detected objects in the queue + if objects: + for obj in objects: + box = obj.bounding_box.flatten().tolist() + object_queue.put({ + 'frame_time': frame_time, + 'name': str(labels[obj.label_id]), + 'score': float(obj.score), + 'xmin': int((box[0] * region_box[0]) + region_box[1]), + 'ymin': int((box[1] * region_box[0]) + region_box[2]), + 'xmax': int((box[2] * region_box[0]) + region_box[1]), + 'ymax': int((box[3] * region_box[0]) + region_box[2]) + }) + else: + object_queue.put({ + 'frame_time': frame_time, + 'name': 'dummy', + 'score': 0.99, + 'xmin': int(0 + region_box[1]), + 'ymin': int(0 + region_box[2]), + 'xmax': int(10 + region_box[1]), + 'ymax': int(10 + region_box[2]) + }) + # wait for the global motion flag to change + with motion_changed: + motion_changed.wait() def prep_for_detection(shared_whole_frame_array, shared_frame_time, frame_lock, frame_ready, motion_detected, frame_shape, region_size, region_x_offset, region_y_offset, - prepped_frame_array, prepped_frame_time, prepped_frame_ready, prepped_frame_lock, - prepped_frame_box): + prepped_frame_array, prepped_frame_time, prepped_frame_lock): # shape shared input array into frame for processing shared_whole_frame = tonumpyarray(shared_whole_frame_array).reshape(frame_shape) @@ -94,9 +110,4 @@ def prep_for_detection(shared_whole_frame_array, shared_frame_time, frame_lock, # copy the prepped frame to the shared output array with prepped_frame_lock: shared_prepped_frame[:] = frame_expanded - prepped_frame_time = frame_time - prepped_frame_box[:] = [region_x_offset, region_y_offset, region_x_offset+region_size, region_y_offset+region_size] - - # signal that a prepped frame is ready - with prepped_frame_ready: - prepped_frame_ready.notify_all() \ No newline at end of file + prepped_frame_time.value = frame_time From bca4e78e9a3fa9cefcfe51e58ac06bee3cbcdbe0 Mon Sep 17 00:00:00 2001 From: blakeblackshear Date: Mon, 25 Mar 2019 06:24:36 -0500 Subject: [PATCH 10/23] use a queue instead --- detect_objects.py | 61 +++++++---- frigate/object_detection.py | 196 ++++++++++++++++++++++-------------- 2 files changed, 159 insertions(+), 98 deletions(-) diff --git a/detect_objects.py b/detect_objects.py index bcfa10a49..7c52f115a 100644 --- a/detect_objects.py +++ b/detect_objects.py @@ -6,6 +6,7 @@ import datetime import ctypes import logging import multiprocessing as mp +import queue import threading import json from contextlib import closing @@ -19,7 +20,7 @@ from frigate.mqtt import MqttMotionPublisher, MqttObjectPublisher from frigate.objects import ObjectParser, ObjectCleaner, BestPersonFrame from frigate.motion import detect_motion from frigate.video import fetch_frames, FrameTracker -from frigate.object_detection import prep_for_detection, detect_objects +from frigate.object_detection import FramePrepper, PreppedQueueProcessor, detect_objects RTSP_URL = os.getenv('RTSP_URL') @@ -82,10 +83,20 @@ def main(): frame_ready = mp.Condition() # Condition for notifying that motion status changed globally motion_changed = mp.Condition() + + prepped_frame_array = mp.Array(ctypes.c_uint8, 300*300*3) + # create shared value for storing the frame_time + prepped_frame_time = mp.Value('d', 0.0) + # Event for notifying that object detection needs a new frame + prepped_frame_grabbed = mp.Event() + prepped_frame_ready = mp.Event() # Condition for notifying that objects were parsed objects_parsed = mp.Condition() # Queue for detected objects object_queue = mp.Queue() + # Queue for prepped frames + prepped_frame_queue = queue.Queue() + prepped_frame_box = mp.Array(ctypes.c_uint16, 3) # shape current frame so it can be treated as an image frame_arr = tonumpyarray(shared_arr).reshape(frame_shape) @@ -96,21 +107,18 @@ def main(): capture_process.daemon = True # for each region, start a separate process for motion detection and object detection - detection_prep_processes = [] + detection_prep_threads = [] motion_processes = [] for region in regions: - # possibly try putting these on threads and putting prepped - # frames in a queue - detection_prep_process = mp.Process(target=prep_for_detection, args=(shared_arr, + detection_prep_threads.append(FramePrepper( + frame_arr, shared_frame_time, - frame_lock, frame_ready, + frame_ready, + frame_lock, region['motion_detected'], - frame_shape, region['size'], region['x_offset'], region['y_offset'], - region['prepped_frame_array'], region['prepped_frame_time'], - region['prepped_frame_lock'])) - detection_prep_process.daemon = True - detection_prep_processes.append(detection_prep_process) + prepped_frame_queue + )) motion_process = mp.Process(target=detect_motion, args=(shared_arr, shared_frame_time, @@ -124,13 +132,25 @@ def main(): motion_process.daemon = True motion_processes.append(motion_process) + prepped_queue_processor = PreppedQueueProcessor( + prepped_frame_array, + prepped_frame_time, + prepped_frame_ready, + prepped_frame_grabbed, + prepped_frame_box, + prepped_frame_queue + ) + prepped_queue_processor.start() + # create a process for object detection + # if the coprocessor is doing the work, can this run as a thread + # since it is waiting for IO? detection_process = mp.Process(target=detect_objects, args=( - [region['prepped_frame_array'] for region in regions], - [region['prepped_frame_time'] for region in regions], - [region['prepped_frame_lock'] for region in regions], - [[region['size'], region['x_offset'], region['y_offset']] for region in regions], - motion_changed, [region['motion_detected'] for region in regions], + prepped_frame_array, + prepped_frame_time, + prepped_frame_ready, + prepped_frame_grabbed, + prepped_frame_box, object_queue, DEBUG )) detection_process.daemon = True @@ -181,9 +201,8 @@ def main(): print("capture_process pid ", capture_process.pid) # start the object detection prep processes - for detection_prep_process in detection_prep_processes: - detection_prep_process.start() - print("detection_prep_process pid ", detection_prep_process.pid) + for detection_prep_thread in detection_prep_threads: + detection_prep_thread.start() detection_process.start() print("detection_process pid ", detection_process.pid) @@ -256,8 +275,8 @@ def main(): app.run(host='0.0.0.0', debug=False) capture_process.join() - for detection_prep_process in detection_prep_processes: - detection_prep_process.join() + for detection_prep_thread in detection_prep_threads: + detection_prep_thread.join() for motion_process in motion_processes: motion_process.join() detection_process.join() diff --git a/frigate/object_detection.py b/frigate/object_detection.py index da0375e96..faad222da 100644 --- a/frigate/object_detection.py +++ b/frigate/object_detection.py @@ -1,5 +1,6 @@ import datetime import cv2 +import threading import numpy as np from edgetpu.detection.engine import DetectionEngine from . util import tonumpyarray @@ -19,9 +20,11 @@ def ReadLabelFile(file_path): ret[int(pair[0])] = pair[1].strip() return ret -def detect_objects(prepped_frame_arrays, prepped_frame_times, prepped_frame_locks, - prepped_frame_boxes, motion_changed, motion_regions, object_queue, debug): - prepped_frame_nps = [tonumpyarray(prepped_frame_array) for prepped_frame_array in prepped_frame_arrays] +def detect_objects(prepped_frame_array, prepped_frame_time, + prepped_frame_ready, prepped_frame_grabbed, + prepped_frame_box, object_queue, debug): + prepped_frame_np = tonumpyarray(prepped_frame_array) + # Load the edgetpu engine and labels engine = DetectionEngine(PATH_TO_CKPT) labels = ReadLabelFile(PATH_TO_LABELS) @@ -29,85 +32,124 @@ def detect_objects(prepped_frame_arrays, prepped_frame_times, prepped_frame_lock frame_time = 0.0 region_box = [0,0,0] while True: - # while there is motion - while len([r for r in motion_regions if r.is_set()]) > 0: - - # loop over all the motion regions and look for objects - for i, motion_region in enumerate(motion_regions): - # skip the region if no motion - if not motion_region.is_set(): - continue + # wait until a frame is ready + prepped_frame_grabbed.clear() + prepped_frame_ready.wait() - # make a copy of the cropped frame - with prepped_frame_locks[i]: - prepped_frame_copy = prepped_frame_nps[i].copy() - frame_time = prepped_frame_times[i].value - region_box[:] = prepped_frame_boxes[i] + prepped_frame_copy = prepped_frame_np.copy() + frame_time = prepped_frame_time.value + region_box[:] = prepped_frame_box - # Actual detection. - objects = engine.DetectWithInputTensor(prepped_frame_copy, threshold=0.5, top_k=3) - # print(engine.get_inference_time()) - # put detected objects in the queue - if objects: - for obj in objects: - box = obj.bounding_box.flatten().tolist() - object_queue.put({ - 'frame_time': frame_time, - 'name': str(labels[obj.label_id]), - 'score': float(obj.score), - 'xmin': int((box[0] * region_box[0]) + region_box[1]), - 'ymin': int((box[1] * region_box[0]) + region_box[2]), - 'xmax': int((box[2] * region_box[0]) + region_box[1]), - 'ymax': int((box[3] * region_box[0]) + region_box[2]) - }) - else: - object_queue.put({ - 'frame_time': frame_time, - 'name': 'dummy', - 'score': 0.99, - 'xmin': int(0 + region_box[1]), - 'ymin': int(0 + region_box[2]), - 'xmax': int(10 + region_box[1]), - 'ymax': int(10 + region_box[2]) - }) - # wait for the global motion flag to change - with motion_changed: - motion_changed.wait() + prepped_frame_grabbed.set() -def prep_for_detection(shared_whole_frame_array, shared_frame_time, frame_lock, frame_ready, - motion_detected, frame_shape, region_size, region_x_offset, region_y_offset, - prepped_frame_array, prepped_frame_time, prepped_frame_lock): - # shape shared input array into frame for processing - shared_whole_frame = tonumpyarray(shared_whole_frame_array).reshape(frame_shape) + # Actual detection. + objects = engine.DetectWithInputTensor(prepped_frame_copy, threshold=0.5, top_k=3) + # print(engine.get_inference_time()) + # put detected objects in the queue + if objects: + for obj in objects: + box = obj.bounding_box.flatten().tolist() + object_queue.put({ + 'frame_time': frame_time, + 'name': str(labels[obj.label_id]), + 'score': float(obj.score), + 'xmin': int((box[0] * region_box[0]) + region_box[1]), + 'ymin': int((box[1] * region_box[0]) + region_box[2]), + 'xmax': int((box[2] * region_box[0]) + region_box[1]), + 'ymax': int((box[3] * region_box[0]) + region_box[2]) + }) + else: + object_queue.put({ + 'frame_time': frame_time, + 'name': 'dummy', + 'score': 0.99, + 'xmin': int(0 + region_box[1]), + 'ymin': int(0 + region_box[2]), + 'xmax': int(10 + region_box[1]), + 'ymax': int(10 + region_box[2]) + }) - shared_prepped_frame = tonumpyarray(prepped_frame_array).reshape((1,300,300,3)) +class PreppedQueueProcessor(threading.Thread): + def __init__(self, prepped_frame_array, + prepped_frame_time, + prepped_frame_ready, + prepped_frame_grabbed, + prepped_frame_box, + prepped_frame_queue): - frame_time = 0.0 - while True: - now = datetime.datetime.now().timestamp() + threading.Thread.__init__(self) + self.prepped_frame_array = prepped_frame_array + self.prepped_frame_time = prepped_frame_time + self.prepped_frame_ready = prepped_frame_ready + self.prepped_frame_grabbed = prepped_frame_grabbed + self.prepped_frame_box = prepped_frame_box + self.prepped_frame_queue = prepped_frame_queue - # wait until motion is detected - motion_detected.wait() + def run(self): + prepped_frame_np = tonumpyarray(self.prepped_frame_array) + # process queue... + while True: + frame = self.prepped_frame_queue.get() + print(self.prepped_frame_queue.qsize()) + prepped_frame_np[:] = frame['frame'] + self.prepped_frame_time.value = frame['frame_time'] + self.prepped_frame_box[0] = frame['region_size'] + self.prepped_frame_box[1] = frame['region_x_offset'] + self.prepped_frame_box[2] = frame['region_y_offset'] + self.prepped_frame_ready.set() + self.prepped_frame_grabbed.wait() + self.prepped_frame_ready.clear() - with frame_ready: - # if there isnt a frame ready for processing or it is old, wait for a new frame - if shared_frame_time.value == frame_time or (now - shared_frame_time.value) > 0.5: - frame_ready.wait() - - # make a copy of the cropped frame - with frame_lock: - cropped_frame = shared_whole_frame[region_y_offset:region_y_offset+region_size, region_x_offset:region_x_offset+region_size].copy() - frame_time = shared_frame_time.value - - # convert to RGB - cropped_frame_rgb = cv2.cvtColor(cropped_frame, cv2.COLOR_BGR2RGB) - # Resize to 300x300 if needed - if cropped_frame_rgb.shape != (300, 300, 3): - cropped_frame_rgb = cv2.resize(cropped_frame_rgb, dsize=(300, 300), interpolation=cv2.INTER_LINEAR) - # Expand dimensions since the model expects images to have shape: [1, 300, 300, 3] - frame_expanded = np.expand_dims(cropped_frame_rgb, axis=0) - # copy the prepped frame to the shared output array - with prepped_frame_lock: - shared_prepped_frame[:] = frame_expanded - prepped_frame_time.value = frame_time +# should this be a region class? +class FramePrepper(threading.Thread): + def __init__(self, shared_frame, frame_time, frame_ready, + frame_lock, motion_detected, + region_size, region_x_offset, region_y_offset, + prepped_frame_queue): + + threading.Thread.__init__(self) + self.shared_frame = shared_frame + self.frame_time = frame_time + self.frame_ready = frame_ready + self.frame_lock = frame_lock + self.motion_detected = motion_detected + self.region_size = region_size + self.region_x_offset = region_x_offset + self.region_y_offset = region_y_offset + self.prepped_frame_queue = prepped_frame_queue + + def run(self): + frame_time = 0.0 + while True: + now = datetime.datetime.now().timestamp() + + # wait until motion is detected + self.motion_detected.wait() + + with self.frame_ready: + # if there isnt a frame ready for processing or it is old, wait for a new frame + if self.frame_time.value == frame_time or (now - self.frame_time.value) > 0.5: + self.frame_ready.wait() + + # make a copy of the cropped frame + with self.frame_lock: + cropped_frame = self.shared_frame[self.region_y_offset:self.region_y_offset+self.region_size, self.region_x_offset:self.region_x_offset+self.region_size].copy() + frame_time = self.frame_time.value + + # convert to RGB + cropped_frame_rgb = cv2.cvtColor(cropped_frame, cv2.COLOR_BGR2RGB) + # Resize to 300x300 if needed + if cropped_frame_rgb.shape != (300, 300, 3): + cropped_frame_rgb = cv2.resize(cropped_frame_rgb, dsize=(300, 300), interpolation=cv2.INTER_LINEAR) + # Expand dimensions since the model expects images to have shape: [1, 300, 300, 3] + frame_expanded = np.expand_dims(cropped_frame_rgb, axis=0) + + # add the frame to the queue + self.prepped_frame_queue.put({ + 'frame_time': frame_time, + 'frame': frame_expanded.flatten().copy(), + 'region_size': self.region_size, + 'region_x_offset': self.region_x_offset, + 'region_y_offset': self.region_y_offset + }) From ada8ffccf9755eca7e77e89a6d668b68eafce498 Mon Sep 17 00:00:00 2001 From: blakeblackshear Date: Mon, 25 Mar 2019 20:35:44 -0500 Subject: [PATCH 11/23] fix for queue size growing too large --- detect_objects.py | 8 ++++---- frigate/object_detection.py | 29 +++++++++++++++++++---------- frigate/objects.py | 14 +++++++++++++- 3 files changed, 36 insertions(+), 15 deletions(-) diff --git a/detect_objects.py b/detect_objects.py index 7c52f115a..50acd5a7d 100644 --- a/detect_objects.py +++ b/detect_objects.py @@ -29,9 +29,9 @@ MQTT_USER = os.getenv('MQTT_USER') MQTT_PASS = os.getenv('MQTT_PASS') MQTT_TOPIC_PREFIX = os.getenv('MQTT_TOPIC_PREFIX') -# REGIONS = "350,0,300,50:400,350,250,50:400,750,250,50" +REGIONS = "300,0,0,2000,200,no-mask-300.bmp:300,300,0,2000,200,no-mask-300.bmp:300,600,0,2000,200,no-mask-300.bmp:300,900,0,2000,200,no-mask-300.bmp" # REGIONS = "400,350,250,50" -REGIONS = os.getenv('REGIONS') +# REGIONS = os.getenv('REGIONS') DEBUG = (os.getenv('DEBUG') == '1') @@ -70,7 +70,7 @@ def main(): print("Unable to capture video stream") exit(1) video.release() - + # compute the flattened array length from the array shape flat_array_length = frame_shape[0] * frame_shape[1] * frame_shape[2] # create shared array for storing the full frame image data @@ -95,7 +95,7 @@ def main(): # Queue for detected objects object_queue = mp.Queue() # Queue for prepped frames - prepped_frame_queue = queue.Queue() + prepped_frame_queue = queue.Queue(len(regions)*2) prepped_frame_box = mp.Array(ctypes.c_uint16, 3) # shape current frame so it can be treated as an image diff --git a/frigate/object_detection.py b/frigate/object_detection.py index faad222da..235739d7a 100644 --- a/frigate/object_detection.py +++ b/frigate/object_detection.py @@ -1,4 +1,5 @@ import datetime +import time import cv2 import threading import numpy as np @@ -33,7 +34,6 @@ def detect_objects(prepped_frame_array, prepped_frame_time, region_box = [0,0,0] while True: # wait until a frame is ready - prepped_frame_grabbed.clear() prepped_frame_ready.wait() prepped_frame_copy = prepped_frame_np.copy() @@ -41,10 +41,13 @@ def detect_objects(prepped_frame_array, prepped_frame_time, region_box[:] = prepped_frame_box prepped_frame_grabbed.set() + # print("Grabbed " + str(region_box[1]) + "," + str(region_box[2])) # Actual detection. objects = engine.DetectWithInputTensor(prepped_frame_copy, threshold=0.5, top_k=3) - # print(engine.get_inference_time()) + # time.sleep(0.1) + # objects = [] + print(engine.get_inference_time()) # put detected objects in the queue if objects: for obj in objects: @@ -90,14 +93,16 @@ class PreppedQueueProcessor(threading.Thread): # process queue... while True: frame = self.prepped_frame_queue.get() - print(self.prepped_frame_queue.qsize()) + # print(self.prepped_frame_queue.qsize()) prepped_frame_np[:] = frame['frame'] self.prepped_frame_time.value = frame['frame_time'] self.prepped_frame_box[0] = frame['region_size'] self.prepped_frame_box[1] = frame['region_x_offset'] self.prepped_frame_box[2] = frame['region_y_offset'] + # print("Passed " + str(frame['region_x_offset']) + "," + str(frame['region_x_offset'])) self.prepped_frame_ready.set() self.prepped_frame_grabbed.wait() + self.prepped_frame_grabbed.clear() self.prepped_frame_ready.clear() @@ -145,11 +150,15 @@ class FramePrepper(threading.Thread): # Expand dimensions since the model expects images to have shape: [1, 300, 300, 3] frame_expanded = np.expand_dims(cropped_frame_rgb, axis=0) + # print("Prepped frame at " + str(self.region_x_offset) + "," + str(self.region_y_offset)) # add the frame to the queue - self.prepped_frame_queue.put({ - 'frame_time': frame_time, - 'frame': frame_expanded.flatten().copy(), - 'region_size': self.region_size, - 'region_x_offset': self.region_x_offset, - 'region_y_offset': self.region_y_offset - }) + if not self.prepped_frame_queue.full(): + self.prepped_frame_queue.put({ + 'frame_time': frame_time, + 'frame': frame_expanded.flatten().copy(), + 'region_size': self.region_size, + 'region_x_offset': self.region_x_offset, + 'region_y_offset': self.region_y_offset + }) + # else: + # print("queue full. moving on") diff --git a/frigate/objects.py b/frigate/objects.py index f3b0e0520..9c602430b 100644 --- a/frigate/objects.py +++ b/frigate/objects.py @@ -11,8 +11,18 @@ class ObjectParser(threading.Thread): self._detected_objects = detected_objects def run(self): + # frame_times = {} while True: obj = self._object_queue.get() + # frame_time = obj['frame_time'] + # if frame_time in frame_times: + # if frame_times[frame_time] == 7: + # del frame_times[frame_time] + # else: + # frame_times[frame_time] += 1 + # else: + # frame_times[frame_time] = 1 + # print(frame_times) self._detected_objects.append(obj) # notify that objects were parsed @@ -40,9 +50,11 @@ class ObjectCleaner(threading.Thread): # look for the first object found within the last second # (newest objects are appended to the end) detected_objects = self._detected_objects.copy() + + #print([round(now-obj['frame_time'],2) for obj in detected_objects]) num_to_delete = 0 for obj in detected_objects: - if now-obj['frame_time']<1: + if now-obj['frame_time']<2: break num_to_delete += 1 if num_to_delete > 0: From 48aa2459143670d8ca3e66d41b67f879156e6d8c Mon Sep 17 00:00:00 2001 From: blakeblackshear Date: Tue, 26 Mar 2019 05:44:33 -0500 Subject: [PATCH 12/23] convert docker build to x86 --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 9d8713cf9..ca8029106 100644 --- a/Dockerfile +++ b/Dockerfile @@ -82,8 +82,8 @@ RUN wget -q -O edgetpu_api.tar.gz --no-check-certificate http://storage.googleap RUN tar xzf edgetpu_api.tar.gz \ && cd python-tflite-source \ - && cp -p libedgetpu/libedgetpu_arm32_throttled.so /lib/arm-linux-gnueabihf/libedgetpu.so \ - && cp edgetpu/swig/compiled_so/_edgetpu_cpp_wrapper_arm32.so edgetpu/swig/_edgetpu_cpp_wrapper.so \ + && cp -p libedgetpu/libedgetpu_x86_64.so /lib/x86_64-linux-gnu/libedgetpu.so \ + && cp edgetpu/swig/compiled_so/_edgetpu_cpp_wrapper_x86_64.so edgetpu/swig/_edgetpu_cpp_wrapper.so \ && cp edgetpu/swig/compiled_so/edgetpu_cpp_wrapper.py edgetpu/swig/ \ && python3 setup.py develop --user From 200d769003b586bf7612b17d765b50c14943258e Mon Sep 17 00:00:00 2001 From: blakeblackshear Date: Wed, 27 Mar 2019 06:17:00 -0500 Subject: [PATCH 13/23] removing motion detection --- detect_objects.py | 62 +++------------- frigate/object_detection.py | 8 +-- frigate/objects.py | 136 +++++++++++++++--------------------- frigate/video.py | 48 ++++++------- 4 files changed, 89 insertions(+), 165 deletions(-) diff --git a/detect_objects.py b/detect_objects.py index 50acd5a7d..5ac5f5299 100644 --- a/detect_objects.py +++ b/detect_objects.py @@ -37,22 +37,16 @@ DEBUG = (os.getenv('DEBUG') == '1') def main(): DETECTED_OBJECTS = [] - recent_motion_frames = {} + recent_frames = {} # Parse selected regions regions = [] for region_string in REGIONS.split(':'): region_parts = region_string.split(',') - region_mask_image = cv2.imread("/config/{}".format(region_parts[5]), cv2.IMREAD_GRAYSCALE) - region_mask = np.where(region_mask_image==[0]) regions.append({ 'size': int(region_parts[0]), 'x_offset': int(region_parts[1]), 'y_offset': int(region_parts[2]), 'min_person_area': int(region_parts[3]), - 'min_object_size': int(region_parts[4]), - 'mask': region_mask, - # Event for motion detection signaling - 'motion_detected': mp.Event(), # array for prepped frame with shape (1, 300, 300, 3) 'prepped_frame_array': mp.Array(ctypes.c_uint8, 300*300*3), # shared value for storing the prepped_frame_time @@ -81,14 +75,13 @@ def main(): frame_lock = mp.Lock() # Condition for notifying that a new frame is ready frame_ready = mp.Condition() - # Condition for notifying that motion status changed globally - motion_changed = mp.Condition() - + # Shared memory array for passing prepped frame to tensorflow prepped_frame_array = mp.Array(ctypes.c_uint8, 300*300*3) # create shared value for storing the frame_time prepped_frame_time = mp.Value('d', 0.0) # Event for notifying that object detection needs a new frame prepped_frame_grabbed = mp.Event() + # Event for notifying that new frame is ready for detection prepped_frame_ready = mp.Event() # Condition for notifying that objects were parsed objects_parsed = mp.Condition() @@ -96,6 +89,7 @@ def main(): object_queue = mp.Queue() # Queue for prepped frames prepped_frame_queue = queue.Queue(len(regions)*2) + # Array for passing original region box to compute object bounding box prepped_frame_box = mp.Array(ctypes.c_uint16, 3) # shape current frame so it can be treated as an image @@ -106,32 +100,18 @@ def main(): shared_frame_time, frame_lock, frame_ready, frame_shape, RTSP_URL)) capture_process.daemon = True - # for each region, start a separate process for motion detection and object detection + # for each region, start a separate thread to resize the region and prep for detection detection_prep_threads = [] - motion_processes = [] for region in regions: detection_prep_threads.append(FramePrepper( frame_arr, shared_frame_time, frame_ready, frame_lock, - region['motion_detected'], region['size'], region['x_offset'], region['y_offset'], prepped_frame_queue )) - motion_process = mp.Process(target=detect_motion, args=(shared_arr, - shared_frame_time, - frame_lock, frame_ready, - region['motion_detected'], - motion_changed, - frame_shape, - region['size'], region['x_offset'], region['y_offset'], - region['min_object_size'], region['mask'], - DEBUG)) - motion_process.daemon = True - motion_processes.append(motion_process) - prepped_queue_processor = PreppedQueueProcessor( prepped_frame_array, prepped_frame_time, @@ -157,24 +137,22 @@ def main(): # start a thread to store recent motion frames for processing frame_tracker = FrameTracker(frame_arr, shared_frame_time, frame_ready, frame_lock, - recent_motion_frames, motion_changed, [region['motion_detected'] for region in regions]) + recent_frames) frame_tracker.start() # start a thread to store the highest scoring recent person frame - best_person_frame = BestPersonFrame(objects_parsed, recent_motion_frames, DETECTED_OBJECTS, - motion_changed, [region['motion_detected'] for region in regions]) + best_person_frame = BestPersonFrame(objects_parsed, recent_frames, DETECTED_OBJECTS) best_person_frame.start() # start a thread to parse objects from the queue object_parser = ObjectParser(object_queue, objects_parsed, DETECTED_OBJECTS) object_parser.start() # start a thread to expire objects from the detected objects list - object_cleaner = ObjectCleaner(objects_parsed, DETECTED_OBJECTS, - motion_changed, [region['motion_detected'] for region in regions]) + object_cleaner = ObjectCleaner(objects_parsed, DETECTED_OBJECTS) object_cleaner.start() # connect to mqtt and setup last will - def on_connect(client, userdata, flags, rc): + def on_connect(client, userdata, flags, rc): print("On connect called") # publish a message to signal that the service is running client.publish(MQTT_TOPIC_PREFIX+'/available', 'online', retain=True) @@ -191,32 +169,16 @@ def main(): mqtt_publisher = MqttObjectPublisher(client, MQTT_TOPIC_PREFIX, objects_parsed, DETECTED_OBJECTS) mqtt_publisher.start() - # start thread to publish motion status - mqtt_motion_publisher = MqttMotionPublisher(client, MQTT_TOPIC_PREFIX, motion_changed, - [region['motion_detected'] for region in regions]) - mqtt_motion_publisher.start() - # start the process of capturing frames capture_process.start() print("capture_process pid ", capture_process.pid) - # start the object detection prep processes + # start the object detection prep threads for detection_prep_thread in detection_prep_threads: detection_prep_thread.start() detection_process.start() print("detection_process pid ", detection_process.pid) - - # start the motion detection processes - # for motion_process in motion_processes: - # motion_process.start() - # print("motion_process pid ", motion_process.pid) - - # TEMP: short circuit the motion detection - for region in regions: - region['motion_detected'].set() - with motion_changed: - motion_changed.notify_all() # create a flask app that encodes frames a mjpeg on demand app = Flask(__name__) @@ -259,8 +221,6 @@ def main(): for region in regions: color = (255,255,255) - if region['motion_detected'].is_set(): - color = (0,255,0) cv2.rectangle(frame, (region['x_offset'], region['y_offset']), (region['x_offset']+region['size'], region['y_offset']+region['size']), color, 2) @@ -277,8 +237,6 @@ def main(): capture_process.join() for detection_prep_thread in detection_prep_threads: detection_prep_thread.join() - for motion_process in motion_processes: - motion_process.join() detection_process.join() frame_tracker.join() best_person_frame.join() diff --git a/frigate/object_detection.py b/frigate/object_detection.py index 235739d7a..0b8099247 100644 --- a/frigate/object_detection.py +++ b/frigate/object_detection.py @@ -47,7 +47,7 @@ def detect_objects(prepped_frame_array, prepped_frame_time, objects = engine.DetectWithInputTensor(prepped_frame_copy, threshold=0.5, top_k=3) # time.sleep(0.1) # objects = [] - print(engine.get_inference_time()) + # print(engine.get_inference_time()) # put detected objects in the queue if objects: for obj in objects: @@ -109,7 +109,7 @@ class PreppedQueueProcessor(threading.Thread): # should this be a region class? class FramePrepper(threading.Thread): def __init__(self, shared_frame, frame_time, frame_ready, - frame_lock, motion_detected, + frame_lock, region_size, region_x_offset, region_y_offset, prepped_frame_queue): @@ -118,7 +118,6 @@ class FramePrepper(threading.Thread): self.frame_time = frame_time self.frame_ready = frame_ready self.frame_lock = frame_lock - self.motion_detected = motion_detected self.region_size = region_size self.region_x_offset = region_x_offset self.region_y_offset = region_y_offset @@ -129,9 +128,6 @@ class FramePrepper(threading.Thread): while True: now = datetime.datetime.now().timestamp() - # wait until motion is detected - self.motion_detected.wait() - with self.frame_ready: # if there isnt a frame ready for processing or it is old, wait for a new frame if self.frame_time.value == frame_time or (now - self.frame_time.value) > 0.5: diff --git a/frigate/objects.py b/frigate/objects.py index 9c602430b..605e7254d 100644 --- a/frigate/objects.py +++ b/frigate/objects.py @@ -30,114 +30,92 @@ class ObjectParser(threading.Thread): self._objects_parsed.notify_all() class ObjectCleaner(threading.Thread): - def __init__(self, objects_parsed, detected_objects, motion_changed, motion_regions): + def __init__(self, objects_parsed, detected_objects): threading.Thread.__init__(self) self._objects_parsed = objects_parsed self._detected_objects = detected_objects - self.motion_changed = motion_changed - self.motion_regions = motion_regions def run(self): while True: - # while there is motion - while len([r for r in self.motion_regions if r.is_set()]) > 0: - # wait a bit before checking for expired frames - time.sleep(0.2) + # wait a bit before checking for expired frames + time.sleep(0.2) - # expire the objects that are more than 1 second old - now = datetime.datetime.now().timestamp() - # look for the first object found within the last second - # (newest objects are appended to the end) - detected_objects = self._detected_objects.copy() + # expire the objects that are more than 1 second old + now = datetime.datetime.now().timestamp() + # look for the first object found within the last second + # (newest objects are appended to the end) + detected_objects = self._detected_objects.copy() - #print([round(now-obj['frame_time'],2) for obj in detected_objects]) - num_to_delete = 0 - for obj in detected_objects: - if now-obj['frame_time']<2: - break - num_to_delete += 1 - if num_to_delete > 0: - del self._detected_objects[:num_to_delete] + #print([round(now-obj['frame_time'],2) for obj in detected_objects]) + num_to_delete = 0 + for obj in detected_objects: + if now-obj['frame_time']<2: + break + num_to_delete += 1 + if num_to_delete > 0: + del self._detected_objects[:num_to_delete] - # notify that parsed objects were changed - with self._objects_parsed: - self._objects_parsed.notify_all() + # notify that parsed objects were changed + with self._objects_parsed: + self._objects_parsed.notify_all() - # wait for the global motion flag to change - with self.motion_changed: - self.motion_changed.wait() # Maintains the frame and person with the highest score from the most recent # motion event class BestPersonFrame(threading.Thread): - def __init__(self, objects_parsed, recent_frames, detected_objects, motion_changed, motion_regions): + def __init__(self, objects_parsed, recent_frames, detected_objects): threading.Thread.__init__(self) self.objects_parsed = objects_parsed self.recent_frames = recent_frames self.detected_objects = detected_objects - self.motion_changed = motion_changed - self.motion_regions = motion_regions self.best_person = None self.best_frame = None def run(self): - motion_start = 0.0 - motion_end = 0.0 - while True: - # while there is motion - while len([r for r in self.motion_regions if r.is_set()]) > 0: - # wait until objects have been parsed - with self.objects_parsed: - self.objects_parsed.wait() + # wait until objects have been parsed + with self.objects_parsed: + self.objects_parsed.wait() - # make a copy of detected objects - detected_objects = self.detected_objects.copy() - detected_people = [obj for obj in detected_objects if obj['name'] == 'person'] - # make a copy of the recent frames - recent_frames = self.recent_frames.copy() + # make a copy of detected objects + detected_objects = self.detected_objects.copy() + detected_people = [obj for obj in detected_objects if obj['name'] == 'person'] + # make a copy of the recent frames + recent_frames = self.recent_frames.copy() - # get the highest scoring person - new_best_person = max(detected_people, key=lambda x:x['score'], default=self.best_person) + # get the highest scoring person + new_best_person = max(detected_people, key=lambda x:x['score'], default=self.best_person) - # if there isnt a person, continue - if new_best_person is None: - continue + # if there isnt a person, continue + if new_best_person is None: + continue - # if there is no current best_person - if self.best_person is None: + # if there is no current best_person + if self.best_person is None: + self.best_person = new_best_person + # if there is already a best_person + else: + now = datetime.datetime.now().timestamp() + # if the new best person is a higher score than the current best person + # or the current person is more than 1 minute old, use the new best person + if new_best_person['score'] > self.best_person['score'] or (now - self.best_person['frame_time']) > 60: self.best_person = new_best_person - # if there is already a best_person - else: - now = datetime.datetime.now().timestamp() - # if the new best person is a higher score than the current best person - # or the current person is more than 1 minute old, use the new best person - if new_best_person['score'] > self.best_person['score'] or (now - self.best_person['frame_time']) > 60: - self.best_person = new_best_person - if not self.best_person is None and self.best_person['frame_time'] in recent_frames: - best_frame = recent_frames[self.best_person['frame_time']] - best_frame = cv2.cvtColor(best_frame, cv2.COLOR_BGR2RGB) - # draw the bounding box on the frame - vis_util.draw_bounding_box_on_image_array(best_frame, - self.best_person['ymin'], - self.best_person['xmin'], - self.best_person['ymax'], - self.best_person['xmax'], - color='red', - thickness=2, - display_str_list=["{}: {}%".format(self.best_person['name'],int(self.best_person['score']*100))], - use_normalized_coordinates=False) + if not self.best_person is None and self.best_person['frame_time'] in recent_frames: + best_frame = recent_frames[self.best_person['frame_time']] + best_frame = cv2.cvtColor(best_frame, cv2.COLOR_BGR2RGB) + # draw the bounding box on the frame + vis_util.draw_bounding_box_on_image_array(best_frame, + self.best_person['ymin'], + self.best_person['xmin'], + self.best_person['ymax'], + self.best_person['xmax'], + color='red', + thickness=2, + display_str_list=["{}: {}%".format(self.best_person['name'],int(self.best_person['score']*100))], + use_normalized_coordinates=False) - # convert back to BGR - self.best_frame = cv2.cvtColor(best_frame, cv2.COLOR_RGB2BGR) - - motion_end = datetime.datetime.now().timestamp() - - # wait for the global motion flag to change - with self.motion_changed: - self.motion_changed.wait() - - motion_start = datetime.datetime.now().timestamp() \ No newline at end of file + # convert back to BGR + self.best_frame = cv2.cvtColor(best_frame, cv2.COLOR_RGB2BGR) diff --git a/frigate/video.py b/frigate/video.py index 0edcc6989..a4eeef8e5 100644 --- a/frigate/video.py +++ b/frigate/video.py @@ -54,42 +54,34 @@ def fetch_frames(shared_arr, shared_frame_time, frame_lock, frame_ready, frame_s # Stores 2 seconds worth of frames when motion is detected so they can be used for other threads class FrameTracker(threading.Thread): - def __init__(self, shared_frame, frame_time, frame_ready, frame_lock, recent_frames, motion_changed, motion_regions): + def __init__(self, shared_frame, frame_time, frame_ready, frame_lock, recent_frames): threading.Thread.__init__(self) self.shared_frame = shared_frame self.frame_time = frame_time self.frame_ready = frame_ready self.frame_lock = frame_lock self.recent_frames = recent_frames - self.motion_changed = motion_changed - self.motion_regions = motion_regions def run(self): frame_time = 0.0 while True: - # while there is motion - while len([r for r in self.motion_regions if r.is_set()]) > 0: - now = datetime.datetime.now().timestamp() - # wait for a frame - with self.frame_ready: - # if there isnt a frame ready for processing or it is old, wait for a signal - if self.frame_time.value == frame_time or (now - self.frame_time.value) > 0.5: - self.frame_ready.wait() - - # lock and make a copy of the frame - with self.frame_lock: - frame = self.shared_frame.copy() - frame_time = self.frame_time.value - - # add the frame to recent frames - self.recent_frames[frame_time] = frame + now = datetime.datetime.now().timestamp() + # wait for a frame + with self.frame_ready: + # if there isnt a frame ready for processing or it is old, wait for a signal + if self.frame_time.value == frame_time or (now - self.frame_time.value) > 0.5: + self.frame_ready.wait() + + # lock and make a copy of the frame + with self.frame_lock: + frame = self.shared_frame.copy() + frame_time = self.frame_time.value + + # add the frame to recent frames + self.recent_frames[frame_time] = frame - # delete any old frames - stored_frame_times = list(self.recent_frames.keys()) - for k in stored_frame_times: - if (now - k) > 2: - del self.recent_frames[k] - - # wait for the global motion flag to change - with self.motion_changed: - self.motion_changed.wait() \ No newline at end of file + # delete any old frames + stored_frame_times = list(self.recent_frames.keys()) + for k in stored_frame_times: + if (now - k) > 2: + del self.recent_frames[k] From a26d2217d4e60c5bce6bac59aacfe3c6859f85a5 Mon Sep 17 00:00:00 2001 From: blakeblackshear Date: Wed, 27 Mar 2019 06:45:27 -0500 Subject: [PATCH 14/23] implement min person size again --- frigate/object_detection.py | 20 ++++++++++---------- frigate/objects.py | 25 ++++++++++++++++++++++++- 2 files changed, 34 insertions(+), 11 deletions(-) diff --git a/frigate/object_detection.py b/frigate/object_detection.py index 0b8099247..00f1360a6 100644 --- a/frigate/object_detection.py +++ b/frigate/object_detection.py @@ -61,16 +61,16 @@ def detect_objects(prepped_frame_array, prepped_frame_time, 'xmax': int((box[2] * region_box[0]) + region_box[1]), 'ymax': int((box[3] * region_box[0]) + region_box[2]) }) - else: - object_queue.put({ - 'frame_time': frame_time, - 'name': 'dummy', - 'score': 0.99, - 'xmin': int(0 + region_box[1]), - 'ymin': int(0 + region_box[2]), - 'xmax': int(10 + region_box[1]), - 'ymax': int(10 + region_box[2]) - }) + # else: + # object_queue.put({ + # 'frame_time': frame_time, + # 'name': 'dummy', + # 'score': 0.99, + # 'xmin': int(0 + region_box[1]), + # 'ymin': int(0 + region_box[2]), + # 'xmax': int(10 + region_box[1]), + # 'ymax': int(10 + region_box[2]) + # }) class PreppedQueueProcessor(threading.Thread): def __init__(self, prepped_frame_array, diff --git a/frigate/objects.py b/frigate/objects.py index 605e7254d..17a340ab0 100644 --- a/frigate/objects.py +++ b/frigate/objects.py @@ -4,16 +4,39 @@ import threading import cv2 from object_detection.utils import visualization_utils as vis_util class ObjectParser(threading.Thread): - def __init__(self, object_queue, objects_parsed, detected_objects): + def __init__(self, object_queue, objects_parsed, detected_objects, regions): threading.Thread.__init__(self) self._object_queue = object_queue self._objects_parsed = objects_parsed self._detected_objects = detected_objects + self.regions = regions def run(self): # frame_times = {} while True: obj = self._object_queue.get() + # filter out persons + # [obj['score'] for obj in detected_objects if obj['name'] == 'person'] + if obj['name'] == 'person': + person_area = (obj['xmax']-obj['xmin'])*(obj['ymax']-obj['ymin']) + # find the matching region + region = None + for r in self.regions: + if ( + obj['xmin'] >= r['x_offset'] and + obj['ymin'] >= r['y_offset'] and + obj['xmax'] <= r['x_offset']+r['size'] and + obj['ymax'] <= r['y_offset']+r['size'] + ): + region = r + break + + # if the min person area is larger than the + # detected person, don't add it to detected objects + if region and region['min_person_area'] > person_area: + continue + + # frame_time = obj['frame_time'] # if frame_time in frame_times: # if frame_times[frame_time] == 7: From a074945394e86d4f6b99b1c9e0f37d70a8a7efbf Mon Sep 17 00:00:00 2001 From: blakeblackshear Date: Wed, 27 Mar 2019 06:55:32 -0500 Subject: [PATCH 15/23] missing param and updated readme --- README.md | 13 ++++++++++--- detect_objects.py | 6 +++--- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index ff06c9fb9..255865ea7 100644 --- a/README.md +++ b/README.md @@ -108,19 +108,26 @@ sensor: - Use SSDLite models to reduce CPU usage ## Future improvements -- [ ] Build tensorflow from source for CPU optimizations +- [x] Remove motion detection for now +- [ ] Try running object detection in a thread rather than a process +- [x] Implement min person size again +- [ ] Switch to a config file +- [ ] Handle multiple cameras in the same container +- [ ] Simplify motion detection (check entire image against mask) +- [ ] See if motion detection is even worth running +- [ ] Scan for people across entire image rather than specfic regions +- [ ] Dynamically resize detection area and follow people - [ ] Add ability to turn detection on and off via MQTT - [ ] MQTT motion occasionally gets stuck ON - [ ] Output movie clips of people for notifications, etc. - [ ] Integrate with homeassistant push camera - [ ] Merge bounding boxes that span multiple regions -- [ ] Switch to a config file - [ ] Allow motion regions to be different than object detection regions - [ ] Implement mode to save labeled objects for training - [ ] Try and reduce CPU usage by simplifying the tensorflow model to just include the objects we care about - [ ] Look into GPU accelerated decoding of RTSP stream - [ ] Send video over a socket and use JSMPEG -- [ ] Look into neural compute stick +- [x] Look into neural compute stick ## Building Tensorflow from source for CPU optimizations https://www.tensorflow.org/install/source#docker_linux_builds diff --git a/detect_objects.py b/detect_objects.py index 5ac5f5299..cd1da04cf 100644 --- a/detect_objects.py +++ b/detect_objects.py @@ -29,9 +29,9 @@ MQTT_USER = os.getenv('MQTT_USER') MQTT_PASS = os.getenv('MQTT_PASS') MQTT_TOPIC_PREFIX = os.getenv('MQTT_TOPIC_PREFIX') -REGIONS = "300,0,0,2000,200,no-mask-300.bmp:300,300,0,2000,200,no-mask-300.bmp:300,600,0,2000,200,no-mask-300.bmp:300,900,0,2000,200,no-mask-300.bmp" +# REGIONS = "300,0,0,2000,200,no-mask-300.bmp:300,300,0,2000,200,no-mask-300.bmp:300,600,0,2000,200,no-mask-300.bmp:300,900,0,2000,200,no-mask-300.bmp:300,0,300,2000,200,no-mask-300.bmp:300,300,300,2000,200,no-mask-300.bmp:300,600,300,2000,200,no-mask-300.bmp:300,900,300,2000,200,no-mask-300.bmp" # REGIONS = "400,350,250,50" -# REGIONS = os.getenv('REGIONS') +REGIONS = os.getenv('REGIONS') DEBUG = (os.getenv('DEBUG') == '1') @@ -145,7 +145,7 @@ def main(): best_person_frame.start() # start a thread to parse objects from the queue - object_parser = ObjectParser(object_queue, objects_parsed, DETECTED_OBJECTS) + object_parser = ObjectParser(object_queue, objects_parsed, DETECTED_OBJECTS, regions) object_parser.start() # start a thread to expire objects from the detected objects list object_cleaner = ObjectCleaner(objects_parsed, DETECTED_OBJECTS) From 0514eeac03fd520bab885db541158656f90ecf44 Mon Sep 17 00:00:00 2001 From: blakeblackshear Date: Wed, 27 Mar 2019 20:44:57 -0500 Subject: [PATCH 16/23] switch to a thread for object detection --- detect_objects.py | 37 ++----------- frigate/object_detection.py | 101 ++++++++++-------------------------- 2 files changed, 29 insertions(+), 109 deletions(-) diff --git a/detect_objects.py b/detect_objects.py index cd1da04cf..121fd9002 100644 --- a/detect_objects.py +++ b/detect_objects.py @@ -75,22 +75,12 @@ def main(): frame_lock = mp.Lock() # Condition for notifying that a new frame is ready frame_ready = mp.Condition() - # Shared memory array for passing prepped frame to tensorflow - prepped_frame_array = mp.Array(ctypes.c_uint8, 300*300*3) - # create shared value for storing the frame_time - prepped_frame_time = mp.Value('d', 0.0) - # Event for notifying that object detection needs a new frame - prepped_frame_grabbed = mp.Event() - # Event for notifying that new frame is ready for detection - prepped_frame_ready = mp.Event() # Condition for notifying that objects were parsed objects_parsed = mp.Condition() # Queue for detected objects - object_queue = mp.Queue() + object_queue = queue.Queue() # Queue for prepped frames prepped_frame_queue = queue.Queue(len(regions)*2) - # Array for passing original region box to compute object bounding box - prepped_frame_box = mp.Array(ctypes.c_uint16, 3) # shape current frame so it can be treated as an image frame_arr = tonumpyarray(shared_arr).reshape(frame_shape) @@ -113,28 +103,11 @@ def main(): )) prepped_queue_processor = PreppedQueueProcessor( - prepped_frame_array, - prepped_frame_time, - prepped_frame_ready, - prepped_frame_grabbed, - prepped_frame_box, - prepped_frame_queue + prepped_frame_queue, + object_queue ) prepped_queue_processor.start() - # create a process for object detection - # if the coprocessor is doing the work, can this run as a thread - # since it is waiting for IO? - detection_process = mp.Process(target=detect_objects, args=( - prepped_frame_array, - prepped_frame_time, - prepped_frame_ready, - prepped_frame_grabbed, - prepped_frame_box, - object_queue, DEBUG - )) - detection_process.daemon = True - # start a thread to store recent motion frames for processing frame_tracker = FrameTracker(frame_arr, shared_frame_time, frame_ready, frame_lock, recent_frames) @@ -176,9 +149,6 @@ def main(): # start the object detection prep threads for detection_prep_thread in detection_prep_threads: detection_prep_thread.start() - - detection_process.start() - print("detection_process pid ", detection_process.pid) # create a flask app that encodes frames a mjpeg on demand app = Flask(__name__) @@ -237,7 +207,6 @@ def main(): capture_process.join() for detection_prep_thread in detection_prep_threads: detection_prep_thread.join() - detection_process.join() frame_tracker.join() best_person_frame.join() object_parser.join() diff --git a/frigate/object_detection.py b/frigate/object_detection.py index 00f1360a6..d4a9c14e8 100644 --- a/frigate/object_detection.py +++ b/frigate/object_detection.py @@ -21,89 +21,40 @@ def ReadLabelFile(file_path): ret[int(pair[0])] = pair[1].strip() return ret -def detect_objects(prepped_frame_array, prepped_frame_time, - prepped_frame_ready, prepped_frame_grabbed, - prepped_frame_box, object_queue, debug): - prepped_frame_np = tonumpyarray(prepped_frame_array) - - # Load the edgetpu engine and labels - engine = DetectionEngine(PATH_TO_CKPT) - labels = ReadLabelFile(PATH_TO_LABELS) - - frame_time = 0.0 - region_box = [0,0,0] - while True: - # wait until a frame is ready - prepped_frame_ready.wait() - - prepped_frame_copy = prepped_frame_np.copy() - frame_time = prepped_frame_time.value - region_box[:] = prepped_frame_box - - prepped_frame_grabbed.set() - # print("Grabbed " + str(region_box[1]) + "," + str(region_box[2])) - - # Actual detection. - objects = engine.DetectWithInputTensor(prepped_frame_copy, threshold=0.5, top_k=3) - # time.sleep(0.1) - # objects = [] - # print(engine.get_inference_time()) - # put detected objects in the queue - if objects: - for obj in objects: - box = obj.bounding_box.flatten().tolist() - object_queue.put({ - 'frame_time': frame_time, - 'name': str(labels[obj.label_id]), - 'score': float(obj.score), - 'xmin': int((box[0] * region_box[0]) + region_box[1]), - 'ymin': int((box[1] * region_box[0]) + region_box[2]), - 'xmax': int((box[2] * region_box[0]) + region_box[1]), - 'ymax': int((box[3] * region_box[0]) + region_box[2]) - }) - # else: - # object_queue.put({ - # 'frame_time': frame_time, - # 'name': 'dummy', - # 'score': 0.99, - # 'xmin': int(0 + region_box[1]), - # 'ymin': int(0 + region_box[2]), - # 'xmax': int(10 + region_box[1]), - # 'ymax': int(10 + region_box[2]) - # }) - class PreppedQueueProcessor(threading.Thread): - def __init__(self, prepped_frame_array, - prepped_frame_time, - prepped_frame_ready, - prepped_frame_grabbed, - prepped_frame_box, - prepped_frame_queue): + def __init__(self, prepped_frame_queue, object_queue): threading.Thread.__init__(self) - self.prepped_frame_array = prepped_frame_array - self.prepped_frame_time = prepped_frame_time - self.prepped_frame_ready = prepped_frame_ready - self.prepped_frame_grabbed = prepped_frame_grabbed - self.prepped_frame_box = prepped_frame_box self.prepped_frame_queue = prepped_frame_queue + self.object_queue = object_queue + + # Load the edgetpu engine and labels + self.engine = DetectionEngine(PATH_TO_CKPT) + self.labels = ReadLabelFile(PATH_TO_LABELS) def run(self): - prepped_frame_np = tonumpyarray(self.prepped_frame_array) # process queue... while True: frame = self.prepped_frame_queue.get() # print(self.prepped_frame_queue.qsize()) - prepped_frame_np[:] = frame['frame'] - self.prepped_frame_time.value = frame['frame_time'] - self.prepped_frame_box[0] = frame['region_size'] - self.prepped_frame_box[1] = frame['region_x_offset'] - self.prepped_frame_box[2] = frame['region_y_offset'] - # print("Passed " + str(frame['region_x_offset']) + "," + str(frame['region_x_offset'])) - self.prepped_frame_ready.set() - self.prepped_frame_grabbed.wait() - self.prepped_frame_grabbed.clear() - self.prepped_frame_ready.clear() + # Actual detection. + objects = self.engine.DetectWithInputTensor(frame['frame'], threshold=0.5, top_k=3) + # time.sleep(0.1) + # objects = [] + # print(engine.get_inference_time()) + # put detected objects in the queue + if objects: + for obj in objects: + box = obj.bounding_box.flatten().tolist() + self.object_queue.put({ + 'frame_time': frame['frame_time'], + 'name': str(self.labels[obj.label_id]), + 'score': float(obj.score), + 'xmin': int((box[0] * frame['region_size']) + frame['region_x_offset']), + 'ymin': int((box[1] * frame['region_size']) + frame['region_y_offset']), + 'xmax': int((box[2] * frame['region_size']) + frame['region_x_offset']), + 'ymax': int((box[3] * frame['region_size']) + frame['region_y_offset']) + }) # should this be a region class? @@ -156,5 +107,5 @@ class FramePrepper(threading.Thread): 'region_x_offset': self.region_x_offset, 'region_y_offset': self.region_y_offset }) - # else: - # print("queue full. moving on") + else: + print("queue full. moving on") From 8774e537dce07a07cf158b140222301160a80077 Mon Sep 17 00:00:00 2001 From: blakeblackshear Date: Thu, 28 Mar 2019 07:30:58 -0500 Subject: [PATCH 17/23] implementing a config file for a single camera --- Dockerfile | 3 ++- config/config.yml | 27 ++++++++++++++++++++++++++ detect_objects.py | 48 +++++++++++++++++++++-------------------------- 3 files changed, 50 insertions(+), 28 deletions(-) create mode 100644 config/config.yml diff --git a/Dockerfile b/Dockerfile index ca8029106..7dd0026f2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -47,7 +47,8 @@ RUN pip install -U pip \ notebook \ Flask \ imutils \ - paho-mqtt + paho-mqtt \ + PyYAML # Install tensorflow models object detection RUN GIT_SSL_NO_VERIFY=true git clone -q https://github.com/tensorflow/models /usr/local/lib/python3.5/dist-packages/tensorflow/models diff --git a/config/config.yml b/config/config.yml new file mode 100644 index 000000000..baa897662 --- /dev/null +++ b/config/config.yml @@ -0,0 +1,27 @@ +web_port: 5000 + +mqtt: + host: mqtt.blakeshome.com + topic_prefix: cameras + +cameras: + back: + rtsp: + user: viewer + host: 10.0.10.10 + port: 554 + password: $RTSP_PASSWORD + path: /cam/realmonitor?channel=1&subtype=2 + regions: + - size: 350 + x_offset: 0 + y_offset: 300 + min_person_size: 5000 + - size: 400 + x_offset: 350 + y_offset: 250 + min_person_size: 2000 + - size: 400 + x_offset: 750 + y_offset: 250 + min_person_size: 2000 \ No newline at end of file diff --git a/detect_objects.py b/detect_objects.py index 121fd9002..30cf9662c 100644 --- a/detect_objects.py +++ b/detect_objects.py @@ -9,6 +9,7 @@ import multiprocessing as mp import queue import threading import json +import yaml from contextlib import closing import numpy as np from object_detection.utils import visualization_utils as vis_util @@ -20,40 +21,33 @@ from frigate.mqtt import MqttMotionPublisher, MqttObjectPublisher from frigate.objects import ObjectParser, ObjectCleaner, BestPersonFrame from frigate.motion import detect_motion from frigate.video import fetch_frames, FrameTracker -from frigate.object_detection import FramePrepper, PreppedQueueProcessor, detect_objects +from frigate.object_detection import FramePrepper, PreppedQueueProcessor -RTSP_URL = os.getenv('RTSP_URL') +with open('/config/config.yml') as f: + # use safe_load instead load + CONFIG = yaml.safe_load(f) -MQTT_HOST = os.getenv('MQTT_HOST') -MQTT_USER = os.getenv('MQTT_USER') -MQTT_PASS = os.getenv('MQTT_PASS') -MQTT_TOPIC_PREFIX = os.getenv('MQTT_TOPIC_PREFIX') +rtsp_camera = CONFIG['cameras']['back']['rtsp'] +if (rtsp_camera['password'].startswith('$')): + rtsp_camera['password'] = os.getenv(rtsp_camera['password'][1:]) +RTSP_URL = 'rtsp://{}:{}@{}:{}{}'.format(rtsp_camera['user'], + rtsp_camera['password'], rtsp_camera['host'], rtsp_camera['port'], + rtsp_camera['path']) -# REGIONS = "300,0,0,2000,200,no-mask-300.bmp:300,300,0,2000,200,no-mask-300.bmp:300,600,0,2000,200,no-mask-300.bmp:300,900,0,2000,200,no-mask-300.bmp:300,0,300,2000,200,no-mask-300.bmp:300,300,300,2000,200,no-mask-300.bmp:300,600,300,2000,200,no-mask-300.bmp:300,900,300,2000,200,no-mask-300.bmp" -# REGIONS = "400,350,250,50" -REGIONS = os.getenv('REGIONS') +MQTT_HOST = CONFIG['mqtt']['host'] +MQTT_PORT = CONFIG.get('mqtt', {}).get('port', 1883) +MQTT_TOPIC_PREFIX = CONFIG['mqtt']['topic_prefix'] + '/back' +MQTT_USER = CONFIG.get('mqtt', {}).get('user') +MQTT_PASS = CONFIG.get('mqtt', {}).get('password') -DEBUG = (os.getenv('DEBUG') == '1') +WEB_PORT = CONFIG.get('web_port', 5000) +DEBUG = (CONFIG.get('debug', '0') == '1') def main(): DETECTED_OBJECTS = [] recent_frames = {} # Parse selected regions - regions = [] - for region_string in REGIONS.split(':'): - region_parts = region_string.split(',') - regions.append({ - 'size': int(region_parts[0]), - 'x_offset': int(region_parts[1]), - 'y_offset': int(region_parts[2]), - 'min_person_area': int(region_parts[3]), - # array for prepped frame with shape (1, 300, 300, 3) - 'prepped_frame_array': mp.Array(ctypes.c_uint8, 300*300*3), - # shared value for storing the prepped_frame_time - 'prepped_frame_time': mp.Value('d', 0.0), - # Lock to control access to the prepped frame - 'prepped_frame_lock': mp.Lock() - }) + regions = CONFIG['cameras']['back']['regions'] # capture a single frame and check the frame shape so the correct array # size can be allocated in memory video = cv2.VideoCapture(RTSP_URL) @@ -135,7 +129,7 @@ def main(): if not MQTT_USER is None: client.username_pw_set(MQTT_USER, password=MQTT_PASS) - client.connect(MQTT_HOST, 1883, 60) + client.connect(MQTT_HOST, MQTT_PORT, 60) client.loop_start() # start a thread to publish object scores (currently only person) @@ -202,7 +196,7 @@ def main(): yield (b'--frame\r\n' b'Content-Type: image/jpeg\r\n\r\n' + jpg.tobytes() + b'\r\n\r\n') - app.run(host='0.0.0.0', debug=False) + app.run(host='0.0.0.0', port=WEB_PORT, debug=False) capture_process.join() for detection_prep_thread in detection_prep_threads: From 0279121d77f13535b5262cf5edc948b531948979 Mon Sep 17 00:00:00 2001 From: blakeblackshear Date: Fri, 29 Mar 2019 20:49:27 -0500 Subject: [PATCH 18/23] WIP: convert to camera class --- detect_objects.py | 215 +++++++++++------------------------- frigate/object_detection.py | 35 +++--- frigate/objects.py | 46 +------- frigate/video.py | 133 ++++++++++++++++++++++ 4 files changed, 223 insertions(+), 206 deletions(-) diff --git a/detect_objects.py b/detect_objects.py index 30cf9662c..9ec382019 100644 --- a/detect_objects.py +++ b/detect_objects.py @@ -20,23 +20,16 @@ from frigate.util import tonumpyarray from frigate.mqtt import MqttMotionPublisher, MqttObjectPublisher from frigate.objects import ObjectParser, ObjectCleaner, BestPersonFrame from frigate.motion import detect_motion -from frigate.video import fetch_frames, FrameTracker +from frigate.video import fetch_frames, FrameTracker, Camera from frigate.object_detection import FramePrepper, PreppedQueueProcessor with open('/config/config.yml') as f: # use safe_load instead load CONFIG = yaml.safe_load(f) -rtsp_camera = CONFIG['cameras']['back']['rtsp'] -if (rtsp_camera['password'].startswith('$')): - rtsp_camera['password'] = os.getenv(rtsp_camera['password'][1:]) -RTSP_URL = 'rtsp://{}:{}@{}:{}{}'.format(rtsp_camera['user'], - rtsp_camera['password'], rtsp_camera['host'], rtsp_camera['port'], - rtsp_camera['path']) - MQTT_HOST = CONFIG['mqtt']['host'] MQTT_PORT = CONFIG.get('mqtt', {}).get('port', 1883) -MQTT_TOPIC_PREFIX = CONFIG['mqtt']['topic_prefix'] + '/back' +MQTT_TOPIC_PREFIX = CONFIG.get('mqtt', {}).get('topic_prefix', 'frigate') MQTT_USER = CONFIG.get('mqtt', {}).get('user') MQTT_PASS = CONFIG.get('mqtt', {}).get('password') @@ -44,80 +37,6 @@ WEB_PORT = CONFIG.get('web_port', 5000) DEBUG = (CONFIG.get('debug', '0') == '1') def main(): - DETECTED_OBJECTS = [] - recent_frames = {} - # Parse selected regions - regions = CONFIG['cameras']['back']['regions'] - # capture a single frame and check the frame shape so the correct array - # size can be allocated in memory - video = cv2.VideoCapture(RTSP_URL) - ret, frame = video.read() - if ret: - frame_shape = frame.shape - else: - print("Unable to capture video stream") - exit(1) - video.release() - - # compute the flattened array length from the array shape - flat_array_length = frame_shape[0] * frame_shape[1] * frame_shape[2] - # create shared array for storing the full frame image data - shared_arr = mp.Array(ctypes.c_uint8, flat_array_length) - # create shared value for storing the frame_time - shared_frame_time = mp.Value('d', 0.0) - # Lock to control access to the frame - frame_lock = mp.Lock() - # Condition for notifying that a new frame is ready - frame_ready = mp.Condition() - # Condition for notifying that objects were parsed - objects_parsed = mp.Condition() - # Queue for detected objects - object_queue = queue.Queue() - # Queue for prepped frames - prepped_frame_queue = queue.Queue(len(regions)*2) - - # shape current frame so it can be treated as an image - frame_arr = tonumpyarray(shared_arr).reshape(frame_shape) - - # start the process to capture frames from the RTSP stream and store in a shared array - capture_process = mp.Process(target=fetch_frames, args=(shared_arr, - shared_frame_time, frame_lock, frame_ready, frame_shape, RTSP_URL)) - capture_process.daemon = True - - # for each region, start a separate thread to resize the region and prep for detection - detection_prep_threads = [] - for region in regions: - detection_prep_threads.append(FramePrepper( - frame_arr, - shared_frame_time, - frame_ready, - frame_lock, - region['size'], region['x_offset'], region['y_offset'], - prepped_frame_queue - )) - - prepped_queue_processor = PreppedQueueProcessor( - prepped_frame_queue, - object_queue - ) - prepped_queue_processor.start() - - # start a thread to store recent motion frames for processing - frame_tracker = FrameTracker(frame_arr, shared_frame_time, frame_ready, frame_lock, - recent_frames) - frame_tracker.start() - - # start a thread to store the highest scoring recent person frame - best_person_frame = BestPersonFrame(objects_parsed, recent_frames, DETECTED_OBJECTS) - best_person_frame.start() - - # start a thread to parse objects from the queue - object_parser = ObjectParser(object_queue, objects_parsed, DETECTED_OBJECTS, regions) - object_parser.start() - # start a thread to expire objects from the detected objects list - object_cleaner = ObjectCleaner(objects_parsed, DETECTED_OBJECTS) - object_cleaner.start() - # connect to mqtt and setup last will def on_connect(client, userdata, flags, rc): print("On connect called") @@ -128,84 +47,82 @@ def main(): client.will_set(MQTT_TOPIC_PREFIX+'/available', payload='offline', qos=1, retain=True) if not MQTT_USER is None: client.username_pw_set(MQTT_USER, password=MQTT_PASS) - client.connect(MQTT_HOST, MQTT_PORT, 60) client.loop_start() + + # Queue for prepped frames + # TODO: set length to 1.5x the number of total regions + prepped_frame_queue = queue.Queue(6) - # start a thread to publish object scores (currently only person) - mqtt_publisher = MqttObjectPublisher(client, MQTT_TOPIC_PREFIX, objects_parsed, DETECTED_OBJECTS) - mqtt_publisher.start() - # start the process of capturing frames - capture_process.start() - print("capture_process pid ", capture_process.pid) + camera = Camera('back', CONFIG['cameras']['back'], prepped_frame_queue, client, MQTT_TOPIC_PREFIX) - # start the object detection prep threads - for detection_prep_thread in detection_prep_threads: - detection_prep_thread.start() + cameras = { + 'back': camera + } + + prepped_queue_processor = PreppedQueueProcessor( + cameras, + prepped_frame_queue + ) + prepped_queue_processor.start() + + camera.start() + camera.join() # create a flask app that encodes frames a mjpeg on demand - app = Flask(__name__) + # app = Flask(__name__) - @app.route('/best_person.jpg') - def best_person(): - frame = np.zeros(frame_shape, np.uint8) if best_person_frame.best_frame is None else best_person_frame.best_frame - ret, jpg = cv2.imencode('.jpg', frame) - response = make_response(jpg.tobytes()) - response.headers['Content-Type'] = 'image/jpg' - return response + # @app.route('/best_person.jpg') + # def best_person(): + # frame = np.zeros(frame_shape, np.uint8) if camera.get_best_person() is None else camera.get_best_person() + # ret, jpg = cv2.imencode('.jpg', frame) + # response = make_response(jpg.tobytes()) + # response.headers['Content-Type'] = 'image/jpg' + # return response - @app.route('/') - def index(): - # return a multipart response - return Response(imagestream(), - mimetype='multipart/x-mixed-replace; boundary=frame') - def imagestream(): - while True: - # max out at 5 FPS - time.sleep(0.2) - # make a copy of the current detected objects - detected_objects = DETECTED_OBJECTS.copy() - # lock and make a copy of the current frame - with frame_lock: - frame = frame_arr.copy() - # convert to RGB for drawing - frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB) - # draw the bounding boxes on the screen - for obj in detected_objects: - vis_util.draw_bounding_box_on_image_array(frame, - obj['ymin'], - obj['xmin'], - obj['ymax'], - obj['xmax'], - color='red', - thickness=2, - display_str_list=["{}: {}%".format(obj['name'],int(obj['score']*100))], - use_normalized_coordinates=False) + # @app.route('/') + # def index(): + # # return a multipart response + # return Response(imagestream(), + # mimetype='multipart/x-mixed-replace; boundary=frame') + # def imagestream(): + # while True: + # # max out at 5 FPS + # time.sleep(0.2) + # # make a copy of the current detected objects + # detected_objects = DETECTED_OBJECTS.copy() + # # lock and make a copy of the current frame + # with frame_lock: + # frame = frame_arr.copy() + # # convert to RGB for drawing + # frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB) + # # draw the bounding boxes on the screen + # for obj in detected_objects: + # vis_util.draw_bounding_box_on_image_array(frame, + # obj['ymin'], + # obj['xmin'], + # obj['ymax'], + # obj['xmax'], + # color='red', + # thickness=2, + # display_str_list=["{}: {}%".format(obj['name'],int(obj['score']*100))], + # use_normalized_coordinates=False) - for region in regions: - color = (255,255,255) - cv2.rectangle(frame, (region['x_offset'], region['y_offset']), - (region['x_offset']+region['size'], region['y_offset']+region['size']), - color, 2) + # for region in regions: + # color = (255,255,255) + # cv2.rectangle(frame, (region['x_offset'], region['y_offset']), + # (region['x_offset']+region['size'], region['y_offset']+region['size']), + # color, 2) - # convert back to BGR - frame = cv2.cvtColor(frame, cv2.COLOR_RGB2BGR) - # encode the image into a jpg - ret, jpg = cv2.imencode('.jpg', frame) - yield (b'--frame\r\n' - b'Content-Type: image/jpeg\r\n\r\n' + jpg.tobytes() + b'\r\n\r\n') + # # convert back to BGR + # frame = cv2.cvtColor(frame, cv2.COLOR_RGB2BGR) + # # encode the image into a jpg + # ret, jpg = cv2.imencode('.jpg', frame) + # yield (b'--frame\r\n' + # b'Content-Type: image/jpeg\r\n\r\n' + jpg.tobytes() + b'\r\n\r\n') - app.run(host='0.0.0.0', port=WEB_PORT, debug=False) - - capture_process.join() - for detection_prep_thread in detection_prep_threads: - detection_prep_thread.join() - frame_tracker.join() - best_person_frame.join() - object_parser.join() - object_cleaner.join() - mqtt_publisher.join() + # app.run(host='0.0.0.0', port=WEB_PORT, debug=False) if __name__ == '__main__': main() \ No newline at end of file diff --git a/frigate/object_detection.py b/frigate/object_detection.py index d4a9c14e8..5c718b456 100644 --- a/frigate/object_detection.py +++ b/frigate/object_detection.py @@ -22,11 +22,11 @@ def ReadLabelFile(file_path): return ret class PreppedQueueProcessor(threading.Thread): - def __init__(self, prepped_frame_queue, object_queue): + def __init__(self, cameras, prepped_frame_queue): threading.Thread.__init__(self) + self.cameras = cameras self.prepped_frame_queue = prepped_frame_queue - self.object_queue = object_queue # Load the edgetpu engine and labels self.engine = DetectionEngine(PATH_TO_CKPT) @@ -41,30 +41,32 @@ class PreppedQueueProcessor(threading.Thread): objects = self.engine.DetectWithInputTensor(frame['frame'], threshold=0.5, top_k=3) # time.sleep(0.1) # objects = [] - # print(engine.get_inference_time()) + print(self.engine.get_inference_time()) # put detected objects in the queue - if objects: - for obj in objects: - box = obj.bounding_box.flatten().tolist() - self.object_queue.put({ - 'frame_time': frame['frame_time'], - 'name': str(self.labels[obj.label_id]), - 'score': float(obj.score), - 'xmin': int((box[0] * frame['region_size']) + frame['region_x_offset']), - 'ymin': int((box[1] * frame['region_size']) + frame['region_y_offset']), - 'xmax': int((box[2] * frame['region_size']) + frame['region_x_offset']), - 'ymax': int((box[3] * frame['region_size']) + frame['region_y_offset']) - }) + parsed_objects = [] + for obj in objects: + box = obj.bounding_box.flatten().tolist() + parsed_objects.append({ + 'frame_time': frame['frame_time'], + 'name': str(self.labels[obj.label_id]), + 'score': float(obj.score), + 'xmin': int((box[0] * frame['region_size']) + frame['region_x_offset']), + 'ymin': int((box[1] * frame['region_size']) + frame['region_y_offset']), + 'xmax': int((box[2] * frame['region_size']) + frame['region_x_offset']), + 'ymax': int((box[3] * frame['region_size']) + frame['region_y_offset']) + }) + self.cameras[frame['camera_name']].add_objects(parsed_objects) # should this be a region class? class FramePrepper(threading.Thread): - def __init__(self, shared_frame, frame_time, frame_ready, + def __init__(self, camera_name, shared_frame, frame_time, frame_ready, frame_lock, region_size, region_x_offset, region_y_offset, prepped_frame_queue): threading.Thread.__init__(self) + self.camera_name = camera_name self.shared_frame = shared_frame self.frame_time = frame_time self.frame_ready = frame_ready @@ -101,6 +103,7 @@ class FramePrepper(threading.Thread): # add the frame to the queue if not self.prepped_frame_queue.full(): self.prepped_frame_queue.put({ + 'camera_name': self.camera_name, 'frame_time': frame_time, 'frame': frame_expanded.flatten().copy(), 'region_size': self.region_size, diff --git a/frigate/objects.py b/frigate/objects.py index 17a340ab0..66672cf1d 100644 --- a/frigate/objects.py +++ b/frigate/objects.py @@ -4,53 +4,17 @@ import threading import cv2 from object_detection.utils import visualization_utils as vis_util class ObjectParser(threading.Thread): - def __init__(self, object_queue, objects_parsed, detected_objects, regions): + def __init__(self, cameras, object_queue, detected_objects, regions): threading.Thread.__init__(self) - self._object_queue = object_queue - self._objects_parsed = objects_parsed - self._detected_objects = detected_objects + self.cameras = cameras + self.object_queue = object_queue self.regions = regions def run(self): # frame_times = {} while True: - obj = self._object_queue.get() - # filter out persons - # [obj['score'] for obj in detected_objects if obj['name'] == 'person'] - if obj['name'] == 'person': - person_area = (obj['xmax']-obj['xmin'])*(obj['ymax']-obj['ymin']) - # find the matching region - region = None - for r in self.regions: - if ( - obj['xmin'] >= r['x_offset'] and - obj['ymin'] >= r['y_offset'] and - obj['xmax'] <= r['x_offset']+r['size'] and - obj['ymax'] <= r['y_offset']+r['size'] - ): - region = r - break - - # if the min person area is larger than the - # detected person, don't add it to detected objects - if region and region['min_person_area'] > person_area: - continue - - - # frame_time = obj['frame_time'] - # if frame_time in frame_times: - # if frame_times[frame_time] == 7: - # del frame_times[frame_time] - # else: - # frame_times[frame_time] += 1 - # else: - # frame_times[frame_time] = 1 - # print(frame_times) - self._detected_objects.append(obj) - - # notify that objects were parsed - with self._objects_parsed: - self._objects_parsed.notify_all() + obj = self.object_queue.get() + self.cameras[obj['camera_name']].add_object(obj) class ObjectCleaner(threading.Thread): def __init__(self, objects_parsed, detected_objects): diff --git a/frigate/video.py b/frigate/video.py index a4eeef8e5..bcaee55c1 100644 --- a/frigate/video.py +++ b/frigate/video.py @@ -1,8 +1,14 @@ +import os import time import datetime import cv2 import threading +import ctypes +import multiprocessing as mp from . util import tonumpyarray +from . object_detection import FramePrepper +from . objects import ObjectCleaner, ObjectParser, BestPersonFrame +from . mqtt import MqttObjectPublisher # fetch the frames as fast a possible, only decoding the frames when the # detection_process has consumed the current frame @@ -85,3 +91,130 @@ class FrameTracker(threading.Thread): for k in stored_frame_times: if (now - k) > 2: del self.recent_frames[k] + +def get_frame_shape(rtsp_url): + # capture a single frame and check the frame shape so the correct array + # size can be allocated in memory + video = cv2.VideoCapture(rtsp_url) + ret, frame = video.read() + frame_shape = frame.shape + video.release() + return frame_shape + +def get_rtsp_url(rtsp_config): + if (rtsp_config['password'].startswith('$')): + rtsp_config['password'] = os.getenv(rtsp_config['password'][1:]) + return 'rtsp://{}:{}@{}:{}{}'.format(rtsp_config['user'], + rtsp_config['password'], rtsp_config['host'], rtsp_config['port'], + rtsp_config['path']) + +class Camera: + def __init__(self, name, config, prepped_frame_queue, mqtt_client, mqtt_prefix): + self.name = name + self.config = config + self.detected_objects = [] + self.recent_frames = {} + self.rtsp_url = get_rtsp_url(self.config['rtsp']) + self.regions = self.config['regions'] + self.frame_shape = get_frame_shape(self.rtsp_url) + self.mqtt_client = mqtt_client + self.mqtt_topic_prefix = '{}/{}'.format(mqtt_prefix, self.name) + + # compute the flattened array length from the shape of the frame + flat_array_length = self.frame_shape[0] * self.frame_shape[1] * self.frame_shape[2] + # create shared array for storing the full frame image data + self.shared_frame_array = mp.Array(ctypes.c_uint8, flat_array_length) + # create shared value for storing the frame_time + self.shared_frame_time = mp.Value('d', 0.0) + # Lock to control access to the frame + self.frame_lock = mp.Lock() + # Condition for notifying that a new frame is ready + self.frame_ready = mp.Condition() + # Condition for notifying that objects were parsed + self.objects_parsed = mp.Condition() + + # shape current frame so it can be treated as a numpy image + self.shared_frame_np = tonumpyarray(self.shared_frame_array).reshape(self.frame_shape) + + # create the process to capture frames from the RTSP stream and store in a shared array + self.capture_process = mp.Process(target=fetch_frames, args=(self.shared_frame_array, + self.shared_frame_time, self.frame_lock, self.frame_ready, self.frame_shape, self.rtsp_url)) + self.capture_process.daemon = True + + # for each region, create a separate thread to resize the region and prep for detection + self.detection_prep_threads = [] + for region in self.config['regions']: + self.detection_prep_threads.append(FramePrepper( + self.name, + self.shared_frame_np, + self.shared_frame_time, + self.frame_ready, + self.frame_lock, + region['size'], region['x_offset'], region['y_offset'], + prepped_frame_queue + )) + + # start a thread to store recent motion frames for processing + self.frame_tracker = FrameTracker(self.shared_frame_np, self.shared_frame_time, + self.frame_ready, self.frame_lock, self.recent_frames) + self.frame_tracker.start() + + # start a thread to store the highest scoring recent person frame + self.best_person_frame = BestPersonFrame(self.objects_parsed, self.recent_frames, self.detected_objects) + self.best_person_frame.start() + + # start a thread to expire objects from the detected objects list + self.object_cleaner = ObjectCleaner(self.objects_parsed, self.detected_objects) + self.object_cleaner.start() + + # start a thread to publish object scores (currently only person) + mqtt_publisher = MqttObjectPublisher(self.mqtt_client, self.mqtt_topic_prefix, self.objects_parsed, self.detected_objects) + mqtt_publisher.start() + + def start(self): + self.capture_process.start() + # start the object detection prep threads + for detection_prep_thread in self.detection_prep_threads: + detection_prep_thread.start() + + def join(self): + self.capture_process.join() + + def get_capture_pid(self): + return self.capture_process.pid + + def add_objects(self, objects): + if len(objects) == 0: + return + + for obj in objects: + if obj['name'] == 'person': + person_area = (obj['xmax']-obj['xmin'])*(obj['ymax']-obj['ymin']) + # find the matching region + region = None + for r in self.regions: + if ( + obj['xmin'] >= r['x_offset'] and + obj['ymin'] >= r['y_offset'] and + obj['xmax'] <= r['x_offset']+r['size'] and + obj['ymax'] <= r['y_offset']+r['size'] + ): + region = r + break + + # if the min person area is larger than the + # detected person, don't add it to detected objects + if region and region['min_person_area'] > person_area: + continue + + self.detected_objects.append(obj) + + with self.objects_parsed: + self.objects_parsed.notify_all() + + def get_best_person(self): + return self.best_person_frame.best_frame + + + + \ No newline at end of file From edf0cd36dfa33749771fcb2a2fcc75ebca36597c Mon Sep 17 00:00:00 2001 From: blakeblackshear Date: Fri, 29 Mar 2019 21:02:40 -0500 Subject: [PATCH 19/23] add back flask endpoints --- detect_objects.py | 73 ++++++++++++------------------------- frigate/object_detection.py | 2 +- frigate/video.py | 33 +++++++++++++++++ 3 files changed, 58 insertions(+), 50 deletions(-) diff --git a/detect_objects.py b/detect_objects.py index 9ec382019..ce3de0d6b 100644 --- a/detect_objects.py +++ b/detect_objects.py @@ -68,61 +68,36 @@ def main(): prepped_queue_processor.start() camera.start() - camera.join() # create a flask app that encodes frames a mjpeg on demand - # app = Flask(__name__) + app = Flask(__name__) - # @app.route('/best_person.jpg') - # def best_person(): - # frame = np.zeros(frame_shape, np.uint8) if camera.get_best_person() is None else camera.get_best_person() - # ret, jpg = cv2.imencode('.jpg', frame) - # response = make_response(jpg.tobytes()) - # response.headers['Content-Type'] = 'image/jpg' - # return response + @app.route('/best_person.jpg') + def best_person(): + frame = np.zeros((720,1280,3), np.uint8) if camera.get_best_person() is None else camera.get_best_person() + ret, jpg = cv2.imencode('.jpg', frame) + response = make_response(jpg.tobytes()) + response.headers['Content-Type'] = 'image/jpg' + return response - # @app.route('/') - # def index(): - # # return a multipart response - # return Response(imagestream(), - # mimetype='multipart/x-mixed-replace; boundary=frame') - # def imagestream(): - # while True: - # # max out at 5 FPS - # time.sleep(0.2) - # # make a copy of the current detected objects - # detected_objects = DETECTED_OBJECTS.copy() - # # lock and make a copy of the current frame - # with frame_lock: - # frame = frame_arr.copy() - # # convert to RGB for drawing - # frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB) - # # draw the bounding boxes on the screen - # for obj in detected_objects: - # vis_util.draw_bounding_box_on_image_array(frame, - # obj['ymin'], - # obj['xmin'], - # obj['ymax'], - # obj['xmax'], - # color='red', - # thickness=2, - # display_str_list=["{}: {}%".format(obj['name'],int(obj['score']*100))], - # use_normalized_coordinates=False) + @app.route('/') + def index(): + # return a multipart response + return Response(imagestream(), + mimetype='multipart/x-mixed-replace; boundary=frame') + def imagestream(): + while True: + # max out at 5 FPS + time.sleep(0.2) + frame = camera.get_current_frame_with_objects() + # encode the image into a jpg + ret, jpg = cv2.imencode('.jpg', frame) + yield (b'--frame\r\n' + b'Content-Type: image/jpeg\r\n\r\n' + jpg.tobytes() + b'\r\n\r\n') - # for region in regions: - # color = (255,255,255) - # cv2.rectangle(frame, (region['x_offset'], region['y_offset']), - # (region['x_offset']+region['size'], region['y_offset']+region['size']), - # color, 2) + app.run(host='0.0.0.0', port=WEB_PORT, debug=False) - # # convert back to BGR - # frame = cv2.cvtColor(frame, cv2.COLOR_RGB2BGR) - # # encode the image into a jpg - # ret, jpg = cv2.imencode('.jpg', frame) - # yield (b'--frame\r\n' - # b'Content-Type: image/jpeg\r\n\r\n' + jpg.tobytes() + b'\r\n\r\n') - - # app.run(host='0.0.0.0', port=WEB_PORT, debug=False) + camera.join() if __name__ == '__main__': main() \ No newline at end of file diff --git a/frigate/object_detection.py b/frigate/object_detection.py index 5c718b456..f845920a6 100644 --- a/frigate/object_detection.py +++ b/frigate/object_detection.py @@ -41,7 +41,7 @@ class PreppedQueueProcessor(threading.Thread): objects = self.engine.DetectWithInputTensor(frame['frame'], threshold=0.5, top_k=3) # time.sleep(0.1) # objects = [] - print(self.engine.get_inference_time()) + # print(self.engine.get_inference_time()) # put detected objects in the queue parsed_objects = [] for obj in objects: diff --git a/frigate/video.py b/frigate/video.py index bcaee55c1..903064cc1 100644 --- a/frigate/video.py +++ b/frigate/video.py @@ -5,6 +5,7 @@ import cv2 import threading import ctypes import multiprocessing as mp +from object_detection.utils import visualization_utils as vis_util from . util import tonumpyarray from . object_detection import FramePrepper from . objects import ObjectCleaner, ObjectParser, BestPersonFrame @@ -214,6 +215,38 @@ class Camera: def get_best_person(self): return self.best_person_frame.best_frame + + def get_current_frame_with_objects(self): + # make a copy of the current detected objects + detected_objects = self.detected_objects.copy() + # lock and make a copy of the current frame + with self.frame_lock: + frame = self.shared_frame_np.copy() + + # convert to RGB for drawing + frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB) + # draw the bounding boxes on the screen + for obj in detected_objects: + vis_util.draw_bounding_box_on_image_array(frame, + obj['ymin'], + obj['xmin'], + obj['ymax'], + obj['xmax'], + color='red', + thickness=2, + display_str_list=["{}: {}%".format(obj['name'],int(obj['score']*100))], + use_normalized_coordinates=False) + + for region in self.regions: + color = (255,255,255) + cv2.rectangle(frame, (region['x_offset'], region['y_offset']), + (region['x_offset']+region['size'], region['y_offset']+region['size']), + color, 2) + + # convert back to BGR + frame = cv2.cvtColor(frame, cv2.COLOR_RGB2BGR) + + return frame From 5aa3775c77478f72939a36cdeed5cd46cbc0a2b8 Mon Sep 17 00:00:00 2001 From: blakeblackshear Date: Fri, 29 Mar 2019 21:14:24 -0500 Subject: [PATCH 20/23] create a camera object for each camera in the config --- detect_objects.py | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/detect_objects.py b/detect_objects.py index ce3de0d6b..6c0c9d295 100644 --- a/detect_objects.py +++ b/detect_objects.py @@ -54,12 +54,9 @@ def main(): # TODO: set length to 1.5x the number of total regions prepped_frame_queue = queue.Queue(6) - - camera = Camera('back', CONFIG['cameras']['back'], prepped_frame_queue, client, MQTT_TOPIC_PREFIX) - - cameras = { - 'back': camera - } + cameras = {} + for name, config in CONFIG['cameras'].items(): + cameras[name] = Camera(name, config, prepped_frame_queue, client, MQTT_TOPIC_PREFIX) prepped_queue_processor = PreppedQueueProcessor( cameras, @@ -67,29 +64,33 @@ def main(): ) prepped_queue_processor.start() - camera.start() + for name, camera in cameras.items(): + camera.start() # create a flask app that encodes frames a mjpeg on demand app = Flask(__name__) - @app.route('/best_person.jpg') - def best_person(): - frame = np.zeros((720,1280,3), np.uint8) if camera.get_best_person() is None else camera.get_best_person() - ret, jpg = cv2.imencode('.jpg', frame) + @app.route('//best_person.jpg') + def best_person(camera_name): + best_person_frame = cameras[camera_name].get_best_person() + if best_person_frame is None: + best_person_frame = np.zeros((720,1280,3), np.uint8) + ret, jpg = cv2.imencode('.jpg', best_person_frame) response = make_response(jpg.tobytes()) response.headers['Content-Type'] = 'image/jpg' return response - @app.route('/') - def index(): + @app.route('/') + def mjpeg_feed(camera_name): # return a multipart response - return Response(imagestream(), + return Response(imagestream(camera_name), mimetype='multipart/x-mixed-replace; boundary=frame') - def imagestream(): + + def imagestream(camera_name): while True: # max out at 5 FPS time.sleep(0.2) - frame = camera.get_current_frame_with_objects() + frame = cameras[camera_name].get_current_frame_with_objects() # encode the image into a jpg ret, jpg = cv2.imencode('.jpg', frame) yield (b'--frame\r\n' From 4476bd8a1393a73c73025cbf5eefd5c9c2745cad Mon Sep 17 00:00:00 2001 From: blakeblackshear Date: Fri, 29 Mar 2019 21:18:20 -0500 Subject: [PATCH 21/23] log capture process pid --- detect_objects.py | 1 + 1 file changed, 1 insertion(+) diff --git a/detect_objects.py b/detect_objects.py index 6c0c9d295..babdc3300 100644 --- a/detect_objects.py +++ b/detect_objects.py @@ -66,6 +66,7 @@ def main(): for name, camera in cameras.items(): camera.start() + print("Capture process for {}: {}".format(name, camera.get_capture_pid())) # create a flask app that encodes frames a mjpeg on demand app = Flask(__name__) From e0b9b616ce86b037d1d80339bd07cc1ff8cdca70 Mon Sep 17 00:00:00 2001 From: blakeblackshear Date: Sat, 30 Mar 2019 07:58:31 -0500 Subject: [PATCH 22/23] cleanup and update readme --- Dockerfile | 7 ++- README.md | 114 +++++++++-------------------------- config/config.yml | 32 ++++++++-- config/mask-0-300.bmp | Bin 245056 -> 0 bytes config/mask-350-250.bmp | Bin 320056 -> 0 bytes config/mask-750-250.bmp | Bin 320056 -> 0 bytes detect_objects.py | 27 ++------- frigate/motion.py | 116 ------------------------------------ frigate/mqtt.py | 23 ------- frigate/object_detection.py | 8 +-- frigate/objects.py | 20 ++----- frigate/video.py | 5 +- 12 files changed, 74 insertions(+), 278 deletions(-) delete mode 100644 config/mask-0-300.bmp delete mode 100644 config/mask-350-250.bmp delete mode 100644 config/mask-750-250.bmp delete mode 100644 frigate/motion.py diff --git a/Dockerfile b/Dockerfile index 7dd0026f2..b2f6e7edf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -92,6 +92,10 @@ RUN tar xzf edgetpu_api.tar.gz \ RUN (apt-get autoremove -y; \ apt-get autoclean -y) +# symlink the model and labels +RUN ln -s /python-tflite-source/edgetpu/test_data/mobilenet_ssd_v2_coco_quant_postprocess_edgetpu.tflite /frozen_inference_graph.pb +RUN ln -s /python-tflite-source/edgetpu/test_data/coco_labels.txt /label_map.pbtext + # Set TF object detection available ENV PYTHONPATH "$PYTHONPATH:/usr/local/lib/python3.5/dist-packages/tensorflow/models/research:/usr/local/lib/python3.5/dist-packages/tensorflow/models/research/slim" RUN cd /usr/local/lib/python3.5/dist-packages/tensorflow/models/research && protoc object_detection/protos/*.proto --python_out=. @@ -101,6 +105,3 @@ ADD frigate frigate/ COPY detect_objects.py . CMD ["python3", "-u", "detect_objects.py"] - -# WORKDIR /python-tflite-source/edgetpu/ -# CMD ["python3", "-u", "demo/classify_image.py", "--model", "test_data/mobilenet_v2_1.0_224_inat_bird_quant_edgetpu.tflite", "--label", "test_data/inat_bird_labels.txt", "--image", "test_data/parrot.jpg"] \ No newline at end of file diff --git a/README.md b/README.md index 255865ea7..933a6ccfa 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,18 @@ # Frigate - Realtime Object Detection for RTSP Cameras +**Note:** This version requires the use of a [Google Coral USB Accelerator](https://coral.withgoogle.com/products/accelerator/) + Uses OpenCV and Tensorflow to perform realtime object detection locally for RTSP cameras. Designed for integration with HomeAssistant or others via MQTT. - Leverages multiprocessing and threads heavily with an emphasis on realtime over processing every frame -- Allows you to define specific regions (squares) in the image to look for motion/objects -- Motion detection runs in a separate process per region and signals to object detection to avoid wasting CPU cycles looking for objects when there is no motion -- Object detection with Tensorflow runs in a separate process per region -- Detected objects are placed on a shared mp.Queue and aggregated into a list of recently detected objects in a separate thread -- A person score is calculated as the sum of all scores/5 -- Motion and object info is published over MQTT for integration into HomeAssistant or others +- Allows you to define specific regions (squares) in the image to look for objects +- No motion detection (for now) +- Object detection with Tensorflow runs in a separate thread +- Object info is published over MQTT for integration into HomeAssistant as a binary sensor - An endpoint is available to view an MJPEG stream for debugging ![Diagram](diagram.png) -## Example video +## Example video (from older version) You see multiple bounding boxes because it draws bounding boxes from all frames in the past 1 second where a person was detected. Not all of the bounding boxes were from the current frame. [![](http://img.youtube.com/vi/nqHbCtyo4dY/0.jpg)](http://www.youtube.com/watch?v=nqHbCtyo4dY "Frigate") @@ -22,24 +22,16 @@ Build the container with docker build -t frigate . ``` -Download a model from the [zoo](https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/detection_model_zoo.md). - -Download the cooresponding label map from [here](https://github.com/tensorflow/models/tree/master/research/object_detection/data). +The `mobilenet_ssd_v2_coco_quant_postprocess_edgetpu.tflite` model is included and used by default. You can use your own model and labels by mounting files in the container at `/frozen_inference_graph.pb` and `/label_map.pbtext`. Models must be compatible with the Coral according to [this](https://coral.withgoogle.com/models/). Run the container with ``` docker run --rm \ --v :/frozen_inference_graph.pb:ro \ --v :/label_map.pbtext:ro \ +--privileged \ +-v /dev/bus/usb:/dev/bus/usb \ -v :/config:ro \ -p 5000:5000 \ --e RTSP_URL='' \ --e REGIONS=',,,,,:,,,,,' \ --e MQTT_HOST='your.mqtthost.com' \ --e MQTT_USER='username' \ --e MQTT_PASS='password' \ --e MQTT_TOPIC_PREFIX='cameras/1' \ --e DEBUG='0' \ +-e RTSP_PASSWORD='password' \ frigate:latest ``` @@ -48,107 +40,59 @@ Example docker-compose: frigate: container_name: frigate restart: unless-stopped + privileged: true image: frigate:latest volumes: - - :/frozen_inference_graph.pb:ro - - :/label_map.pbtext:ro + - /dev/bus/usb:/dev/bus/usb - :/config ports: - - "127.0.0.1:5000:5000" + - "5000:5000" environment: - RTSP_URL: "" - REGIONS: ",,,,,:,,,,," - MQTT_HOST: "your.mqtthost.com" - MQTT_USER: "username" #optional - MQTT_PASS: "password" #optional - MQTT_TOPIC_PREFIX: "cameras/1" - DEBUG: "0" + RTSP_PASSWORD: "password" ``` -Here is an example `REGIONS` env variable: -`350,0,300,5000,200,mask-0-300.bmp:400,350,250,2000,200,mask-350-250.bmp:400,750,250,2000,200,mask-750-250.bmp` +A `config.yml` file must exist in the `config` directory. See example [here](config/config.yml). -First region broken down (all are required): -- `350` - size of the square (350px by 350px) -- `0` - x coordinate of upper left corner (top left of image is 0,0) -- `300` - y coordinate of upper left corner (top left of image is 0,0) -- `5000` - minimum person bounding box size (width*height for bounding box of identified person) -- `200` - minimum number of changed pixels to trigger motion -- `mask-0-300.bmp` - a bmp file with the masked regions as pure black, must be the same size as the region - -Mask files go in the `/config` directory. - -Access the mjpeg stream at http://localhost:5000 +Access the mjpeg stream at `http://localhost:5000/` and the best person snapshot at `http://localhost:5000//best_person.jpg` ## Integration with HomeAssistant ``` camera: - name: Camera Last Person platform: generic - still_image_url: http://:5000/best_person.jpg - -binary_sensor: - - name: Camera Motion - platform: mqtt - state_topic: "cameras/1/motion" - device_class: motion - availability_topic: "cameras/1/available" + still_image_url: http://:5000//best_person.jpg sensor: - - name: Camera Person Score + - name: Camera Person platform: mqtt - state_topic: "cameras/1/objects" + state_topic: "frigate//objects" value_template: '{{ value_json.person }}' - unit_of_measurement: '%' - availability_topic: "cameras/1/available" + device_class: moving + availability_topic: "frigate/available" ``` ## Tips - Lower the framerate of the RTSP feed on the camera to reduce the CPU usage for capturing the feed -- Use SSDLite models to reduce CPU usage ## Future improvements - [x] Remove motion detection for now -- [ ] Try running object detection in a thread rather than a process +- [x] Try running object detection in a thread rather than a process - [x] Implement min person size again -- [ ] Switch to a config file -- [ ] Handle multiple cameras in the same container -- [ ] Simplify motion detection (check entire image against mask) +- [x] Switch to a config file +- [x] Handle multiple cameras in the same container +- [ ] Attempt to figure out coral symlinking +- [ ] Add object list to config with min scores for mqtt +- [ ] Move mjpeg encoding to a separate process +- [ ] Simplify motion detection (check entire image against mask, resize instead of gaussian blur) - [ ] See if motion detection is even worth running - [ ] Scan for people across entire image rather than specfic regions - [ ] Dynamically resize detection area and follow people - [ ] Add ability to turn detection on and off via MQTT -- [ ] MQTT motion occasionally gets stuck ON - [ ] Output movie clips of people for notifications, etc. - [ ] Integrate with homeassistant push camera - [ ] Merge bounding boxes that span multiple regions -- [ ] Allow motion regions to be different than object detection regions - [ ] Implement mode to save labeled objects for training - [ ] Try and reduce CPU usage by simplifying the tensorflow model to just include the objects we care about - [ ] Look into GPU accelerated decoding of RTSP stream - [ ] Send video over a socket and use JSMPEG - [x] Look into neural compute stick - -## Building Tensorflow from source for CPU optimizations -https://www.tensorflow.org/install/source#docker_linux_builds -used `tensorflow/tensorflow:1.12.0-devel-py3` - -## Optimizing the graph (cant say I saw much difference in CPU usage) -https://github.com/tensorflow/tensorflow/blob/master/tensorflow/tools/graph_transforms/README.md#optimizing-for-deployment -``` -docker run -it -v ${PWD}:/lab -v ${PWD}/../back_camera_model/models/ssd_mobilenet_v2_coco_2018_03_29/frozen_inference_graph.pb:/frozen_inference_graph.pb:ro tensorflow/tensorflow:1.12.0-devel-py3 bash - -bazel build tensorflow/tools/graph_transforms:transform_graph - -bazel-bin/tensorflow/tools/graph_transforms/transform_graph \ ---in_graph=/frozen_inference_graph.pb \ ---out_graph=/lab/optimized_inception_graph.pb \ ---inputs='image_tensor' \ ---outputs='num_detections,detection_scores,detection_boxes,detection_classes' \ ---transforms=' - strip_unused_nodes(type=float, shape="1,300,300,3") - remove_nodes(op=Identity, op=CheckNumerics) - fold_constants(ignore_errors=true) - fold_batch_norms - fold_old_batch_norms' -``` \ No newline at end of file diff --git a/config/config.yml b/config/config.yml index baa897662..53ee9d20b 100644 --- a/config/config.yml +++ b/config/config.yml @@ -1,8 +1,8 @@ web_port: 5000 mqtt: - host: mqtt.blakeshome.com - topic_prefix: cameras + host: mqtt.server.com + topic_prefix: frigate cameras: back: @@ -10,18 +10,40 @@ cameras: user: viewer host: 10.0.10.10 port: 554 + # values that begin with a "$" will be replaced with environment variable password: $RTSP_PASSWORD path: /cam/realmonitor?channel=1&subtype=2 regions: - size: 350 x_offset: 0 y_offset: 300 - min_person_size: 5000 + min_person_area: 5000 - size: 400 x_offset: 350 y_offset: 250 - min_person_size: 2000 + min_person_area: 2000 - size: 400 x_offset: 750 y_offset: 250 - min_person_size: 2000 \ No newline at end of file + min_person_area: 2000 + back2: + rtsp: + user: viewer + host: 10.0.10.10 + port: 554 + # values that begin with a "$" will be replaced with environment variable + password: $RTSP_PASSWORD + path: /cam/realmonitor?channel=1&subtype=2 + regions: + - size: 350 + x_offset: 0 + y_offset: 300 + min_person_area: 5000 + - size: 400 + x_offset: 350 + y_offset: 250 + min_person_area: 2000 + - size: 400 + x_offset: 750 + y_offset: 250 + min_person_area: 2000 \ No newline at end of file diff --git a/config/mask-0-300.bmp b/config/mask-0-300.bmp deleted file mode 100644 index 8a80c196f69459ea683dac5021eaa8e4189ca8b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 245056 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 lSpGj$E_Qr-5y-E=D*xd)zh^Dv1QrqKmy*` 0 and (now - last_motion) > 5: - last_motion = -1 - if motion_detected.is_set(): - motion_detected.clear() - with motion_changed: - motion_changed.notify_all() - - - with frame_ready: - # if there isnt a frame ready for processing or it is old, wait for a signal - if shared_frame_time.value == frame_time or (now - shared_frame_time.value) > 0.5: - frame_ready.wait() - - # lock and make a copy of the cropped frame - with frame_lock: - cropped_frame = arr[region_y_offset:region_y_offset+region_size, region_x_offset:region_x_offset+region_size].copy() - frame_time = shared_frame_time.value - - # convert to grayscale - gray = cv2.cvtColor(cropped_frame, cv2.COLOR_BGR2GRAY) - - # apply image mask to remove areas from motion detection - gray[mask] = [255] - - # apply gaussian blur - gray = cv2.GaussianBlur(gray, (21, 21), 0) - - if avg_frame is None: - avg_frame = gray.copy().astype("float") - continue - - # look at the delta from the avg_frame - frameDelta = cv2.absdiff(gray, cv2.convertScaleAbs(avg_frame)) - - if avg_delta is None: - avg_delta = frameDelta.copy().astype("float") - - # compute the average delta over the past few frames - # the alpha value can be modified to configure how sensitive the motion detection is. - # higher values mean the current frame impacts the delta a lot, and a single raindrop may - # register as motion, too low and a fast moving person wont be detected as motion - # this also assumes that a person is in the same location across more than a single frame - cv2.accumulateWeighted(frameDelta, avg_delta, 0.2) - - # compute the threshold image for the current frame - current_thresh = cv2.threshold(frameDelta, 25, 255, cv2.THRESH_BINARY)[1] - - # black out everything in the avg_delta where there isnt motion in the current frame - avg_delta_image = cv2.convertScaleAbs(avg_delta) - avg_delta_image[np.where(current_thresh==[0])] = [0] - - # then look for deltas above the threshold, but only in areas where there is a delta - # in the current frame. this prevents deltas from previous frames from being included - thresh = cv2.threshold(avg_delta_image, 25, 255, cv2.THRESH_BINARY)[1] - - # dilate the thresholded image to fill in holes, then find contours - # on thresholded image - thresh = cv2.dilate(thresh, None, iterations=2) - cnts = cv2.findContours(thresh.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) - cnts = imutils.grab_contours(cnts) - - motion_found = False - - # loop over the contours - for c in cnts: - # if the contour is big enough, count it as motion - contour_area = cv2.contourArea(c) - if contour_area > min_motion_area: - motion_found = True - if debug: - cv2.drawContours(cropped_frame, [c], -1, (0, 255, 0), 2) - x, y, w, h = cv2.boundingRect(c) - cv2.putText(cropped_frame, str(contour_area), (x, y), - cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 100, 0), 2) - else: - break - - if motion_found: - motion_frames += 1 - # if there have been enough consecutive motion frames, report motion - if motion_frames >= 3: - # only average in the current frame if the difference persists for at least 3 frames - cv2.accumulateWeighted(gray, avg_frame, 0.01) - motion_detected.set() - with motion_changed: - motion_changed.notify_all() - last_motion = now - else: - # when no motion, just keep averaging the frames together - cv2.accumulateWeighted(gray, avg_frame, 0.01) - motion_frames = 0 - - if debug and motion_frames == 3: - cv2.imwrite("/lab/debug/motion-{}-{}-{}.jpg".format(region_x_offset, region_y_offset, datetime.datetime.now().timestamp()), cropped_frame) - cv2.imwrite("/lab/debug/avg_delta-{}-{}-{}.jpg".format(region_x_offset, region_y_offset, datetime.datetime.now().timestamp()), avg_delta_image) diff --git a/frigate/mqtt.py b/frigate/mqtt.py index fbd401776..0a7bd6de7 100644 --- a/frigate/mqtt.py +++ b/frigate/mqtt.py @@ -1,29 +1,6 @@ import json import threading -class MqttMotionPublisher(threading.Thread): - def __init__(self, client, topic_prefix, motion_changed, motion_flags): - threading.Thread.__init__(self) - self.client = client - self.topic_prefix = topic_prefix - self.motion_changed = motion_changed - self.motion_flags = motion_flags - - def run(self): - last_sent_motion = "" - while True: - with self.motion_changed: - self.motion_changed.wait() - - # send message for motion - motion_status = 'OFF' - if any(obj.is_set() for obj in self.motion_flags): - motion_status = 'ON' - - if last_sent_motion != motion_status: - last_sent_motion = motion_status - self.client.publish(self.topic_prefix+'/motion', motion_status, retain=False) - class MqttObjectPublisher(threading.Thread): def __init__(self, client, topic_prefix, objects_parsed, detected_objects): threading.Thread.__init__(self) diff --git a/frigate/object_detection.py b/frigate/object_detection.py index f845920a6..76050f1ec 100644 --- a/frigate/object_detection.py +++ b/frigate/object_detection.py @@ -36,13 +36,10 @@ class PreppedQueueProcessor(threading.Thread): # process queue... while True: frame = self.prepped_frame_queue.get() - # print(self.prepped_frame_queue.qsize()) + # Actual detection. objects = self.engine.DetectWithInputTensor(frame['frame'], threshold=0.5, top_k=3) - # time.sleep(0.1) - # objects = [] - # print(self.engine.get_inference_time()) - # put detected objects in the queue + # parse and pass detected objects back to the camera parsed_objects = [] for obj in objects: box = obj.bounding_box.flatten().tolist() @@ -99,7 +96,6 @@ class FramePrepper(threading.Thread): # Expand dimensions since the model expects images to have shape: [1, 300, 300, 3] frame_expanded = np.expand_dims(cropped_frame_rgb, axis=0) - # print("Prepped frame at " + str(self.region_x_offset) + "," + str(self.region_y_offset)) # add the frame to the queue if not self.prepped_frame_queue.full(): self.prepped_frame_queue.put({ diff --git a/frigate/objects.py b/frigate/objects.py index 66672cf1d..5c5a2e8ac 100644 --- a/frigate/objects.py +++ b/frigate/objects.py @@ -3,18 +3,6 @@ import datetime import threading import cv2 from object_detection.utils import visualization_utils as vis_util -class ObjectParser(threading.Thread): - def __init__(self, cameras, object_queue, detected_objects, regions): - threading.Thread.__init__(self) - self.cameras = cameras - self.object_queue = object_queue - self.regions = regions - - def run(self): - # frame_times = {} - while True: - obj = self.object_queue.get() - self.cameras[obj['camera_name']].add_object(obj) class ObjectCleaner(threading.Thread): def __init__(self, objects_parsed, detected_objects): @@ -34,7 +22,6 @@ class ObjectCleaner(threading.Thread): # (newest objects are appended to the end) detected_objects = self._detected_objects.copy() - #print([round(now-obj['frame_time'],2) for obj in detected_objects]) num_to_delete = 0 for obj in detected_objects: if now-obj['frame_time']<2: @@ -69,8 +56,6 @@ class BestPersonFrame(threading.Thread): # make a copy of detected objects detected_objects = self.detected_objects.copy() detected_people = [obj for obj in detected_objects if obj['name'] == 'person'] - # make a copy of the recent frames - recent_frames = self.recent_frames.copy() # get the highest scoring person new_best_person = max(detected_people, key=lambda x:x['score'], default=self.best_person) @@ -89,7 +74,10 @@ class BestPersonFrame(threading.Thread): # or the current person is more than 1 minute old, use the new best person if new_best_person['score'] > self.best_person['score'] or (now - self.best_person['frame_time']) > 60: self.best_person = new_best_person - + + # make a copy of the recent frames + recent_frames = self.recent_frames.copy() + if not self.best_person is None and self.best_person['frame_time'] in recent_frames: best_frame = recent_frames[self.best_person['frame_time']] best_frame = cv2.cvtColor(best_frame, cv2.COLOR_BGR2RGB) diff --git a/frigate/video.py b/frigate/video.py index 903064cc1..41b77f9ba 100644 --- a/frigate/video.py +++ b/frigate/video.py @@ -8,11 +8,10 @@ import multiprocessing as mp from object_detection.utils import visualization_utils as vis_util from . util import tonumpyarray from . object_detection import FramePrepper -from . objects import ObjectCleaner, ObjectParser, BestPersonFrame +from . objects import ObjectCleaner, BestPersonFrame from . mqtt import MqttObjectPublisher -# fetch the frames as fast a possible, only decoding the frames when the -# detection_process has consumed the current frame +# fetch the frames as fast a possible and store current frame in a shared memory array def fetch_frames(shared_arr, shared_frame_time, frame_lock, frame_ready, frame_shape, rtsp_url): # convert shared memory array into numpy and shape into image array arr = tonumpyarray(shared_arr).reshape(frame_shape) From 7a7f507781cee3b9724fa652d7d47251ae8b3be9 Mon Sep 17 00:00:00 2001 From: blakeblackshear Date: Sat, 30 Mar 2019 08:22:41 -0500 Subject: [PATCH 23/23] update diagram --- diagram.png | Bin 315218 -> 290173 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/diagram.png b/diagram.png index 6eb9df8ae794332032a7944e0418b9be7f330e10..4fd2d03a215874c0110f8d814afc6bc8d61ee808 100644 GIT binary patch literal 290173 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

4A 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\+;VVPb_BrsC^{!&ft)2SO^Uu6q}Zq8+o!?+qS zWB%RKE3SpI;OZx=M!ucay&0yv?*L|PJNH7gN|NTp6Op$Su3e+$gWC49)d@xG%*7=o z!PV=Wy~6BTAYgoH*~@7B=| zzQO@v#8;TTl)qy{vej}qRmZ=oL4x9AC&}T;)&dIH4DY)cr7`k}0FkYVnbd;UYcvQA z$(a+%IfSNEE}+~v^JJu}DLI)rCFRlPxsM`S>5L{YZ%orw6zKVKj;{A50aH23!((We_{0j_^!Z9A9GMylvq#D}`+wS!4qyeO67 zk*7;xCNB8`zKfr5Uv&gAW0eNpWkJ}|K1>9jJ}Z;BC0Q=KEk;2^_$yc-Nu~TdZoU<~ zih%`Z#yCJ6E!Ein4^(|U^j7mhy|7qsLy~IXa?jCwDpQSBYI`cc1JkU)-3WD5m(Ria zAMJWV?j5jKqta_Wt#q^iA_ia7wz2VcDVh}i1e9KGGa6kzrRcpBb~1vvNLu@iP9?5> zVlDqirVe4kyLrlkSSuF03{tAugHVA)NpSQ zOuv=DbZ>JUbE6`h3BMZgp{Sd1gYM3@SaF3u)IgrS5Sr;8j3^yJHtNrL{qynUpA|^=jRtmE;R-ZOemGlV{ zmGc|ei={xik0QvlT;rtu-+sBT6+pmT9n~!6i4J1>&YDdfe zgUbe}lQjRFiVAs=-PszmB{%3?<40}cJf_l@AxSt=DMe{zov?UKg3DlhSPoG1bPOI- zD&=TY&1|`U1FH3x7F(w(pi*z1Un!P8=v*}*vJ%OD8q5M>&w*U^O_oS2E zV!bP4M~P`9o`q~d+!*u?44x=4S6W6jFMQZJ?>HYwBxPf6Xa@SC4=E*H9Ptr_KdfIR z`&F=MKzQAhm6GE(L;c&rRR!>(@UmbCyv;LYJ6>cfrY|bZaf=_9-sYjs|HFrx4K~z#2d(*yld>(5#u^CoAwZfpao@fn5hmPJuW@UCN zU=h6S-rG0BQ{xZ}8gU*`!EoYWz%)&?pfK{1mzO_y2!GhsKcKkwWe~s@#&-c7=f_G9 zxBua*c5mL#j*FvbyK~`jdYF}5uRkB;KWeca30P407nfxs7QTM3hsV%I#_c^3_3r$9 zf3fXsaS{Qbt61U)X*MMjK=H^o->jUJjxT0|RmxW_mMl7G=`gDdMFHg>uz^?(iBe?$ z$w3|IPs>4eD;bf{Sr@XI$0;ydRb-QKqoE0EhlTTyLG7Rgj9y4bE&l6-s*tC1N27U|fA^kWPpzGu;`T zNC9bOM^u&kUg}j-Mc?fw_sBLU6If%=3*8GBo)u$YSCr^!OWD`OmVE@5W-USh`ySpruxshJ&J2AYlPQJglHEnAey})M;Y`4 z&__mI^o~ArbHF;t_!~kiN)|14H^CS8^V>O(;nlh^iOjlD5xhVEbB_umsRA2rZtVYs zKgARx&;jBjZ6_X0|MQD0GUKL`y8!^ulNr)5xfY`mt&>;K)gW+D&vVoo6_D+B*zFFB zDdm@7j*9h`rLU{&n|MDmXm;qBD;K74ay78w_1QdTDgADXLoeNyBH)Fg$)0s=T{KXO zPmclN`hPr~byO7E`}G0o98$WZLj*y(bLj3A5D=sr0qO2gNogr*>4u@CWe|fDh7c*~ z`klGocfEh0cZv7jr5w(AV(-sZevzYq8()mFGDMw{P6#9fDw(>aN$9nLPU)#Hs8bjx zJ!$ESST;y)yZ&q>GZln`=6Q}Gq4a08Ue}v zpi?fXrj&i8rL^}89Afkmh>ftLwy6(h`wVe53(hashh_TPS6mTqe!I9kWhsW~TXPA= z_MTu9iKH}9*wPIc*R(|VusL>9A7C3eL3ATeq4jXv8f9Z;u7$p$-%lu;b!*f(`54bN#1vmYXKd_x;0&+kb?6e^y_BxVvl>RC0Pg3GRLSywUmxe!1r(X9l96 zp__N*)2_y=F&ve(vuXXMSh-58HlJzP%K#6nSlmaYXBzMdX9!{9BN4T1KbaDLpOb^O z+BospY;PwI0=AI!0l$fT50)npQs<&zdl6cE3SNPTu`#IS-SOMH(@$V7`mRLro5KLS z)-2#C!Rku@B7X!tGa}$UaTKIxSJyKC?|6*R1fBh{K}_XqUEc7v{`CB^A>6e_aD?y# zpQUvG?jz5iM;(jZ$rhcyM>Fz7wWs;koBr@u(4{Os3gOVJJ&WKWQwV*FW^ZzF7cbG64ICv+o(Zk0x5{>)@upEChsVHouiwD z2{I4^$<~DEm7TbLe|RvFiP=12nlKbIRa-S+rmV`06sc{}f=YUF9+IHDgx^cX6x2EHLjw3M;pp*mjL?UmhVqO_< zRAMJTLvW2Zmd?BCi6o?_^GsBZ&v2J#!j|I4hX`v%z1||7JQ(3-#j}oJx>evsY5T1= zR9f8c?{6e3{vOCAM99#ME;p_2HW{3M#*x6RImgeCiy6*H z#%a&ex4)h8i$&C%X6-_JQIm$=O%`paV$Q~gk+QXUn#Zo|q3!X+5Nhak%&_`w?XdGV zgrHTjm`1&m=TzLT0Dps%GpcE9IUxpX5DxOk^-g7}?-iVr$j}gyF#SOhv4dcDc>{9# zROrCB4iA#r=;;87IQSbmcFtw9@$okgRd&*JnJ}NnF^Ys|;vU7psnc1&FijT+F2WK% zZUT-cbwZ|%*|KaM*O+dU7rJsPmYalT6kg3{AMs|Qyg!jH%3~K}nQYcfdjaJgayI-N5^(*mBuQ`4xXI*j z6{?O5qEwx&RRvQ6)pA~NfW3{g`sC*{6Q!o?j72ZILG9`VaPwKH+T%0p#VSO3aibIB z5$3frJ?EcQzN*6f)G9bHf~AYo$fK+h#>veX8yJz1RIQpx_N|JAu4W`Vx@UX#;B@h7 zkTUMZ*jp@rZFqgXauorqk&7q)<-=Sh3~v+FrTw8*5J^3eO?mk>kj ztQkJuPc@V@)f+V>I@LvG&wq7z(0}ih*;L(aq1J_hatR3KtE%MoSQP3wfp`U2?3HqP zy}6)ICr_rne=&BBBp`j1nE3fyvy;5L1QXVeY!=-JFOh=?3Z{OOm`t2K7z`pZr>(BFjxe$9Zy%_WT8h$ zh!71F&G;iKCsw7nQ#`Xw_D1c|WHx2FG}tgqxg`q9%F+XKKxj$u!z7OW!V|!(8W${@h=3Y=SVJwQkj?7axGC2FN#*A zt{F~gOSv87&!n9brdE%ClqA43?N#F=kE(`Zh@0Mj)U=%D*oTp(&Ix5XHvheq>xMbN zR|-5lcfh*SRyMzLxKJ08C4ILc9Wq|n3w%AB!XX>N{tMNX!=i{huP+#PBO`SZI`}wwK^6ZCiBUt>s4!K@1{}*jkb4nIk?kyI)d>eKT1E0J5 z%`J{PV@f2=T^-sBsL(W0(odfb0*^kp1-HPkc%9qoa{Q3_N0sd!jK&Rppw||(^-!|r z{|fa>V*m5bl}U0V^CS5Y3*h5*mRvxdMF|{a_vR;Y5HL-%ywc<_{r$|^$yj)CvEmGS7sL>Ffdds^qCeh2ey@n5@(ASne~={<^N5hBO`TD&X8L!*EI$ zcqTUf?~7n}NK6PQl`0AbfOpF&M>_`%6%byqGE;%G-cCM$>l@{A3?T;-%d%)>W+@aG zl6}cYh(r8SK^b=};v?zvn{b+O0$eck~Z}N5iY&rD0JG&bdkL$_EB&q zRqZOqcmiLXJUl{vPWik-FKpgf-6E1OKTHH!87I`4gq2mOOvWFVY1BY&rNjMG8CwP+ ziG~Ts_;@%Oi-tL9X14xJx#MnZI(DJK5emK=GnMG(-?~QDq4|AOoXaxTqXWo%%{f? zeS1ac(r6*p?w(SCY{6L-R#{vZ@}J&CG-@A8hiGC{1qTB2uqVJsj~OuGD&Ab+?PMGc zDpVt{v5Ci>f2fAv=ld-OXkGpUrPk%3^o{)T1x#4V;g_M-h+EG|xb06xq{Lh5U+BG< z8Q%pX&@k}fW7Ggmgwt0qw#Ag0oqs!Ls^A}Jn?C(I-!EDC68h21X}SmEcH-R-)p_s( ztFN5ER_hz#8zg)IQQ%8AZTDrP{no8_7-^~~TnP~hJ$+xN%(NE+Y?EWZf3uiz1X$5}gMBPz{s{F#sDXMD3DC%bq3rXfm(Ma-&&Kc<$q- zv8`jvE=R47ssO(ftejx40mf{kNa-BzJSxtJEdk9*UG%JJam=z!tf*3L=Er8z)@3SH za#l1siq5BY0d1A{r0y+IDylo8Pg z7Hkb&)l^`x>+(~6j$b<{mXMjQA0?u&L5rK>PPm2v#$YG@Qc zb*ZA%6E*BB-p(kcuC%durev?aeV&dM_F-`^%8MoZV>Ft%h&`9iDxFjMM*fJgnyy-^ zoopht`;gE>&5TMOnrAg7zy7XAm2%(#T`cq@lO^jN^N{MU`Z~Alri3Y8%_)lj?X>MO ze%h#4BoML?<>Tx0;ZoX0KO8dR3$JSo*Wb|3|ba{Hs9@r^;J#D#))VOl2G=dJls!U%r$?|&7cGN$kslBR1d`YfGPUa@Kix_HC+8kD z6#(A^Q4cLIoFxvfrbXjj|spv4~ zD98iZU5@VcZI1r6;Gwio33UIpL%5!SMPw?aEfqsk28AwCDP*TQa5B%2nuhBzI&&_m&>3irQFC584vg9nNT#QLnoxnW zZu{VhJ|2ArKYWy0JN?nkMR!56oE6IE{FU7^{Rsb;s`ey$ZlHJhwjp_Uai6KO0abi4 zezK4=u}Ep^n-5Ruo$2W7*+hE0nXzK}(j0I(2Nj{tykfKdsL71Us+^SwAz%S9NoS1u zVD)e3E!ZSnDW+()MyN^L7LRqcj9==+VPa)X0Pm=>r`z z0H8tQIX9Z;H8+In0w(zhlfm_dY)n12XPCgkmin{H(y?uV5wZf9FT4{3syQ0hwl#!q zS2!a}Ev||(o;Ems|9QWVx`u-rcrJ?nIo92edhXriX{!;s!d}8R0Fc1ux_p~1RrakAv)d9TE^}tKBhxV9-+u}tn_CW~wS&HUzLIUf-P*I)KV~kRKG$tH@l0$rl;O&KxYQtv<}})SP~OguJ&+ypWJXiTx8W z9a_VAPX+;P7CYLJ6=Kw5tPX@`G=dcpP%w6u=d%J1n^36}1golwMT4~F^xK?v9Re8B zh8WAWpiw@A2frG^Qy>vNoY9|(7B(RY)CUm}740D0Rs|gckF{vgqS&6jQg!g# zRT2*$1KYH7ru`V;6QwFu5C6V;3q(50;+YVCMEz8~%`LiV01GqEh;8lgqmNafBrvV8 zQ`O1DfUA`9PJKrD(nLw;%<)_`ydsY&$)=}a8VU-`QVmgeJ>dNf2t2`{j4qwor8zVV_jlAuqSBU!^9 z$g7ljlOC?mt!}Rqr=%Lz@?ecq#~-0>im#xS(nM~_l4)OWWP%8X#P-E8T62~eFR(^I zut9`5P@f|tO|!OHSgV~g(JINhizgKX;tj$#Hwhhtoc~DsQ}TwdzQkmH4k}k*a>rN9 z`G5Eqp$*U*{{~q?+oU}nfty)Io@1;?wuCknw-UW(!Fc3;L_ zO0r<(y44L4+)I}|{pB&zgNc-eNj?a}UM;8#Mr*js|9KbXMlfOtY@5hSe$d0JXaCX7 znAPjF{FT>l7$jb&0^Jz$_cVad-t5;hPk z*h&PWc40wSoENh;wo{g?IKt$7VL;mwsb3 zd*9kmXjXZEcQ27>q@s!|GSgo;R>Ye=PM$k?cfC=C$%8P{u+%C3A6j!?CIzn##5I%F zJkev+#ob&F(yjz{ojDx5&?fYJXu69P2>yc|(_>H4MpbO<`!7{6>6 zmSJn+Ia>l2FZE5S$twI>TeLz=u0n#<=s=e0`` zBxRfyevs*hERV_rmkqE3SkSa+7oN6IKfSP<`Z$7Tq>QIly^)V)8Fw!&P?s3En36q2_rq8q}%~fUd5ODrrSv)7nOf@z)Zt{`+t&diw zo7loZ7x~PAPB;7R=Z zwHCTfCmailuE3NH>K$M4Vd}it;Xxa_y&4&l_a9H(v0udKtY!8!Y@z&y`ul%)+L zzlp^})0V}-zCo?Fpg3#fhr!|p7Snp>X;!ecko2bi-zX%%5C^o*><_J8AMp*?*sg$7r;$Aosleh`WuH)q{j7PZ~{3_JOVUgZzq=ib9r*76m9%W# zoJ=E-AAt8xhE(hzg&Li{04aU84|qhu+h4kVr>ljy4&D9l5;}%~Atv;#6?m0ykX}T4;EYyt7Y5 zS1TYHdHMR_0N!9k?968K?jG@atje=d6T5?wl%v%MBH&#CY|M}~489@4t)+ugV)QU5 z=h&A&%=?V}j zzg6>C3GV_PC~=5EIf-|t#jylKmozroBiS!_!NxCB<##?FQnL4pc7>0}oVUTbuszqJ zu){ZaNCG|`J_MbC42P}M>~OC5L087xo_}RsTS9eI@kYooAE^ADK|>I^a*rUV^? ztMI}>v0JC4M)m5~oecVM#N#SRKSgAOEe2;hmyB^xqDV_1%^3;t5CO^_5B&Q~2`dJ+ zR{9HnmVH-Q0}~_z(-AXW7m_65n2!&C2I<2LAD$gp*f23Q1!=AP(ydSO4rV>Vt0xRG zniygHkZDS9E;^4*5#d!DsZqU1$dT?jT8p6y23K0dT{R;6YN3jc*!aWlO! z>TSLJm!K3HkvU^Y2kcT25nEA8)qEgjGQ?*l7;GmOxND1*5Z?9{L%JzZ zkbZ9qu)A>nv(yxW?63YiMIDo$02!^w{dE3sTf9V&dB_sYlFy2i>*XIhN?U%IC-5~{ zzYL5+RzqW_MP9qYA^YaOzgknIFBA9(M}jZTTal&_mFo9IowfhL6hLwG8gPBe0l&o+OaG*jG{B`3AFK2}K%a#x_MVWN~%{yE%dR*%HreUjGpSW z&$VU4FPIc#-_g*LYQG@e!8GqWsNL;M_Zns|3*L7+bkbKPNQz?$anGweKDUn5d?ti!0Umc z`nhV>>CeP5?m5H02_=bZ@||%SuIJ;Pr!HcF8;Tsv zieaa&LbC>_Xo}H@ML1FM(70?z%Veq|RS9#3Sje(axl^%gS{N~4RDx(57-F*=WepEz zXK-T-1r!(pwQ|b))081fl7Bhgn!EorD3`;Q%_;xZGiWL!#y3jWq{m#tyekU zc~U-Y15gc*!4W>1ZPN9*|h zJUc)|(jO1o`GRwu>+bOjyDrskcAYIH{(R{GAe|Y<-_wp?^gIBQ%3ls^5e)mD``^!Y zx&E@^l*Ans=qR_xzx49S;O&98T1|=ASeqKuBa{?13wXd7hJb!4Y`o zN>iV>+tSf7v;lfTwP-v)x!5c=@$(xB3Ndv$sV~Q#xmmulCS-tB*VUw-g~J~LXU-bX zX9ZG9uHGwdK6#bHsf^NqShP7@z@DwLWyUS633AT5y(R*RSfDH4%ABk~XHQ9`_3*f~ zXEXNpG=4nkwHU$zEMdEbV>dRk3aCQi$a6xjR2ALe!A8XeL(x@RU z)QK=U?@%bF7gO7CB+)b{t5YfO=e$#{U6TY?zo-{YQMI(^zs`fp%LzB47;py@&<$3gofP%0F-@-rCdoXmJ_u(zDRX4R>g(M-} z4_th~J8DZU&JU5d&Z4>3B-pK0j6du-#0c4I4RNL7$36eXGcfI+QnF5 zcJ7qt`mbCsx5D+1kL~C@gw7cJXr1(Ef+P`#SqbD-5F}G5$Htzlt58%(aJ_hCFluUS zF5|C}&8otQGB$V2eD8gJ{_cH2$^8D>uf9sfZDn0mn_9(jMomsuDk`VOxxY^Y<_4}k zXB=1|mdDu`mwR3k9O$1 zaHyE&vbQT84ts$0t=EkK_}1vBKN6`adjFrTC?E zp;1kQ?BQlJ@1L*A;3bP8BvfSWdF0S-;3f$vNKMKc$)GcQz7FK%XbXA7U_d~E{7Qk| zO&s#m{{FW2-tTe8c5zF=_i3T(Tixl*lWED^lR_BTH^<*dY+vYhV8K|M(jzbjyWOgI zZRtFW+-ZOl0tgK66E8i^o_gLCw`>(BJYEMMVoFb}eC&RC&x5Rn?gPcW3vN45vnv#I znu7{n9(Av!E_mNm>p#1Wbfoc1WI1o|1l7Z^Oa(-_oG5ypGI=ZtCRI&rA@8%AM(RCw zl(i3B)id%eENHS7i}nHS5q`3i0x<1=L7Db({IVakRhbkZc0lo4{DcJ>JK;68UNa~j z{pn*#=jVcCfSzuYu>E!A6Y+}Hqmxq4Cb9qB%mPa|0*r^^XQCDyKVNk6g+zs3>{@{D zV|w6y08|Vfjh!=G*a$nvc)0lA3o&Spb{q_9EbNbcyp`mVC3s+o1zL}J5NPp z%dW`_8**WM7pJaN@>k1t?u%@b-8q6Y<9w=W6fkD!xlK+LL5BzFr$?VeerTqM{7{2G zg;B&Co9H>?VIL#u;+|R3FB(bo%P^pz2p!~nHZ9Aj#nsAvDLzBP!^VL9u%&&SHhMH3 zBYk6o^0@18fRs)10MF_IjpmsPWxNrx!v|5n@#_Yl`Y}X~&iz3gDM*Huo-EhMMQK}) z=N8#-p1&A)*aO@Z|4|Tsk04t;hC3JW*>rs5Tc*GQY!;*QNCi4D@dJ0v^V+gT19!my zzo8oMOtYQsQ7Hs1DJki;!t*N6i=P)4VxL_Ch~XxU66_j!&G139*jJn7B9`HevPRETxNuO_EyDW;jQgH6t4iRYzT- z*S~Alecv%6`q%Heujxw!vX72VU!VUCa{3J8|4be4ge;wa*|*QMzz=>Rdigu!@+yC2 zeL1K%#jB{7dlu)Znpec9Ct)Yn`6Fsn9d9#%ob!#ItmWv7k;C&v`Riuu* z+Nxld41UN0i8)biLO!K@xRfH*1^!VhLDS%i%w;x1{c7FF!bBI~e-vVyy(nyXZbQOS zJs}e$Ll1@9a5!}$9oril837gYJuuT`XH$T*ihqH@c~AY_`o+75el$M&=R~Dv^9o|0 zOe{hhvE2qqddCLvl<6-_VwdIXo9Aq%m*pishsOWvWcV$g52PmrS{=e&VgT~TbMCVa51XBj-j&r8T+FaPay4ofY=_ITu&iwEa z?{F_|15AkV8vpXThX}2`fo@KGh>5Of#KZ6qr;k-qiU!*HtYxQU@YzcIeK3bFXx9W^ z8=f=OE10fvf)CmO25uZ`ph4Uz#U5}D3CZo7X-6l`pZ^>YXZ9b|5|Ne*_@I%QD45lI|rpUJTM+v zy2jn8+Otl^%OM>Y)l-74VB#&A{#8{w>FMizhVSW1W=ix;lU0k1Gwrj;i zM}r5xwt+0!F)Y<#sh-sO^rspp!2UNJ9j#_IFimMqeG#B+U?3vNhYRoNT29YTFF9LA^5SLPI|k}G=IKIn^gglSkv0S z6WJ#o^E7(SB)-vZ%YA#hic4*Y8!9jy7NM8-dK~@K6c#qjirfGLDg%x1D?1yT0?WD- z2#9=cC|gTYX4uL?+%Zp?YD(XF(|5Qf3PxGh#lUkk4Ya@GI?=(YB*5-$3f;kE#Ye@! zy-U=VNyi^79sqYA8eN84M_e!-5P9xztD}n5nuGJ0)rl5v+;zyYiMj5m{X*_Mb3{DB zYZc;81ixa8H%Wkl6IG)P789_IC$c=c%>PVqpgXkbjF~<`7;-W>Wn{2o?7d7?{B>-} zINXNxqTG1KJ{(0S-l>>x(ySm?g+=!3oPexK{nUCXjrT`7(P>{sRYJVEE)-(gms0_a zrb;@Q-^O*S9sVVRhe&%@FVKii;9qZnBQpMnB{{d-DE=*`ApaGZq^xYhlE*3}(c6^EdS$!qQ2e}(kg0^LiRnOnEe zof$dm`uz{)5iDuG`+LdR9dEHOU%sH!H#QD{6=}@0=QSldh|tVbITz6YQtP(3V*QoN$sim`DIQgqWVqgbb=rus}`w4X>xQ4}9G%MljeC;P5o6JdwJcRv~r&J?ni z4a6MRgvqmuq>L9o4-AYRIb%RO0My#zUw=K}CKX;+J2Yvgz*NVc-xU_a@N=SQu!&MH zZHsft@XwFV6rg}8cX$CvTwP=U;oRUhO>g-xy%yP)iSh+-o`;-hju$I`|LEcF2k;XEhU8vQYfbn|XK^hV(T@{!I07rbs-U z#AREqgp=g)Ad=b!xUEYR8A-}WJEMQ#fl+l$z3ak0`x67It6mooH~Iu&*~s~%)!$~4 z=hc6!Z9~0l9~1rUYA%@FJBz^n_Hq8;j6*FUb*5%P^sA-aLYIL7Yey0MYJ)OPf)$yt z13@oTd)#hUTXAB`4@4&5Ss4cs(l>{A$6y9?9BGvfR!w%bq8o`%+YkjoZJXI2bt;E_SjAO&L`8brdd2Tte%OKJn$n*Et#0k z*PNu)GgKBPifN+fC@ElIUy8GVuBvMJulV8Nx4S`gx*P}l04m^q=+&j?6ngx-jfs}W z*YM+}DBQGJmnBEmC|iz`%3Kb;NQomAAD!HpSdOs_h3qy2cuvp&>p1O2zH4u>RVHmt zK;m$ey;wf|fZe(#U*Myv;8j{0=NF@-;g( zyyPD^tEVpKjfhP=IG66jv;0SrZkp6EOR;io7~g`Krc#bTIH~{s4Ml^0i0TW_;&rxe zuoEk)XH|{d_{62gt7ZK6w0>ESg5D}zi+iq=A~_5gbfD>_Dw{ea+PEfB%ezw3J_S=gEAjTa?JyywHmCoG_fKMwNhP<&4$moI*EjlnHS?|BnWH^^C^O#?j%es zw^h__U2-mkULYgyV|_2M9C|s@V=|q3hzVzG9RN zKE@MU_1JsT{s0X86(Xi({vs~b#Fmc|WsCbdCUH|_aWmc>l7KEd6?HL8bo=%mmTlB) zQ!AaG<}m84Ra<*X7E*5RvtS@I+8Fxy4$U8t@8@|m{P3xe5JsPd@UNk3u%&D%Fhnj6 zctO4sC(_Y_3?vJx-*gCG3F;}FIB5KI9kLUo_7VqYp5WOxbe543_HxGGnfkdliB>;;+yu+QKh+0=ncLy1tn5gy~q~hPD%gm>mQpa=I%( zr+VFS_jvl%-NpWLHojpj!AqQihYO0%2fv&pollpY&n*j2FGDWD=5DAYMQR+7egO?q zfZ_gP|*fab=z zrPT6!h^eXR`o3G}^~Cc1!yj5J1XiFBw>(?<@#6#01^ru(yAp2I+p!FBGo zIF`X~VquZQhaEr{zj9xkyLP>HZFN)09B(O$9j4hj=xExMH z!0uSg&3R63tP!-Olq(YX;+#|vRjGIJks3*4CfRVNW_1!7W0_2Rcj|+%(*gyK-3}#{ zuuL2n<+skq2e}^-AvwO9hd~v@*f|!KOz4mt0E197@9>TS=!gCW+ZYqGAAQCXo7F~~ zFbwbqAvywuXxeEKK@FaH@8>Z6_|Z$*S9UzM(-)eopNL$Wb>RLCr5>~a*sMv zhAVEQqNnK~DNvBg3j^eA`7Z2YZ zHqTKE;6RcU)Wmp|4<`$1d0sJcr;$T?aG_`ZGnm9^Q^tLQp;kHh`cNfi*%*@w*SY-RA-DL;^C^xtA@ud&I(@ ztX8{MeiZs_WV8pgp3pO(%LUf>`0qhI!yc~If^LXynCu{D^`%(tsCdBqO?>gbk{h z11a2I-!LIloIQ^_K}?@S@x2bKC=AH~F1VHJ&*4=I3kD&`^k)08uSqXRy3UjigR4(& z?D@o+;GUPq_HS+>2TH3g4Gl*cuRa;!eg=?k&E>Pttw%tWJIMbP_;jvyK`7`pdE_ci zF-}eRIg9CfTB5RT`saZ~jacUM0WOb{eP&lX)5#xl?m_qW$3?E;eFH9q+>5QVrfK$6 z@SN^n29rLRoH!~h;Z8c~tpKJDO7+Z~7t48$u&v8CsUKRtudE2>Q&1u(2}e>nq|SdI z*t*1dV5Z2ZsbwR&F2B-Hx<1Sk>4|Shb|?%;W(fRY_D&P8CgV?Hw0YO-sLS?%XTqP~ zYpRug{c505o!`{nFgAXS8_|!#34$MVDC|i;tzGOcJ-rzUKA$UmuN*J}FGC%``73sW zdG+)uM-gDr+KSYQc&{?TOko>LFv=HKPazUc>DC%h?Boy!!W1kVQ+t31Z5a-V;1}B5 z<~4xJ53^;C4QC8fALS|F-h2vn3_Aq!WX_FlbH0X zrH2cyYk9*RY^%6TjNVTvW=vyJCs#V_O?b; zHDm7ZaNtM@mf)i{2@`7LC1DH06ynR{HXkgDf4eq+DOH&35jz#3iJ{8oZ#Jiyi!!l5 zpYI4V!Pq$&kEYW6GHxeQiWhUNE~2bZRv$22pyX>JUN9hjyr|v0yFLhA8tq%Ts$B`R z_!Z3o$Z47d5@Qd0FBI=4doP8%?r#qeU*12>6Z7Hv+)&IB-=mx_8I-+pf4hQc4ZUvd z-E{1xagEd$_EqdY$v*%jyVuiL{HA-ieS2m7i)s(*XqXn0bmFz7Zv|;+X!!7&dJO7M z!Ls%EuU~KO_215epu3R7VvcZ1YsFda@867pvbn~Ka!*Dj^UZTHR<~(uxu{edzNU_b z^Ice5-4jm~+yt>`lT z*&kQ+ehSLuVMjj|6Eok>SQ?``G`@aV#?J4o-rL&yq)jII%qbkg#8Yhc;x}4p5xb{C zpFbT~*OV1*Nu0Diyew+%i2~PF&)w;X%U_qK_V&r$aa`5FWzXHm1;JYZ-}5Q(5+=;s z{KMp9h#Go&!sgN?roqe!KncCSzuwWh&t&LExJFKGf0=wje@2yr<$WF8DDlY6XC^>t zOOh)Mz4o0;N~&tT_!2WzFaxc80~M4jEk!@}pV!EO1TH2<;$kPYol*@7K`6;KWJdK- zOW*gLs>cm;Ak=sG>^E0dol1IQ<2ymr%&-2oC}H@iDvH`U-{Be`V--HK33|i&)drvk zbVaUG55bZrry&(oG=~0sDs~^ZxYK!9MN%?X^F}BmSOp25$wY3Q!`sVSSkdR8IsVl+ zn(}XWpf+v3YlW>I^)0AV(Lr=zZ_C^y85h@Rk%QA6R-`}wC!+f#n20YT z(Xw}{P`dYicPjL3`fh1bYO3{>t!)Gd^7gy`<6&n_rnrLF4DSLCkd0plA;QwQ(BrQtN2DBqd}bMbu}PO!`z$dN_`h9jURWIv2kc z{)ye5%pg7W%Wq{;o=6hC&o%{Q_`xupot^W*>C_6n`cDD6QYdzGv5^8+FxA!7H#gJw z5}^kNw~~KBZm54KNamB|lxhUWuFZc(q94!v%~~m=Gu4aZ!No>4qsBqVN=?s7BkOkG$G1Rv(F2@i&a&X|8m`^8JYbfO-;Z? zsrQsRiNjgTVjM)Re$b#EdwlJ-;o`vW${Ge1S>Y;$Sqhq8eHE$laVV3inDg1O|p3avzm zf@o~d|LMdHx^6s!iAQfSRO@2@S#}lTV}S*BwQ^ME{IZY(N|zq!FR;9@&?w=t4(GDNC%7^n66 zd2donSJxMI>C3TOb_BTBiWg&mi|7~`dVHH*w15n~*8+^QV_WGnTYia4LNim-=T1&> z8SGkrLl1s_`-Y5}+dvBHFNyBgq}{i^P{HBwi&15%M(OmMwHSsihWm}sn~uvR@SooP zLEPJ^Fw33#9paKun#JGSHRRs`H8DbGb$^piVn(B%9{wQDc>tSJNA-{JCs%ac$#=5u z@U^Uw#qjp`gf09U-&T2-h3j0ePM*E}P{XZX%$a2G>^Ev>S}#ex0i^5&V~zu5YDUH; zf4!_vQT*~mhSCPHprlcnx{s~8r{J(u-}FXc%udgIuFIdVK4UV4hj{!!uOEJvDt-O^ z#JB>CUR{#V?nds{=3sw5?i z2<10I6lJSRh@SD_)BDKtf`!4>lbe>hr<|?d3Mjt%Ec^+^&90|YImR~%lH(uh2#=!! zDO;*e&&nr9hwH2Y2@lrJN?MP~OW5DPw?bpUemtWa4mmrM5FK`Z(szNQd)lX#-W_V* zd-S=LS?6Zyl5h5}ultm)A^A%_6_*_ENs*q_T*ySwBD&sGMCxQnCFC$DiIX$;gDx}) zVx2EPUQW&$)n}TbNzzx8$UvuL&fb{sx zkLsq+0-d5S=7ZPRp*^8VZ0ap=o0sy{Svo|L_6F&#UNt8G@AFHIk>lHs{%FXyIq_>3 zYsEU=j4`|WtQY{8>-BC*Ie8@-d?g4BX+g$jW(n7yiaD+d{7RBell{6PT3UpbLF;mS zaQCY>VMDisBi<5gsz9={_s3xwQh|O*bk{G9)Tyhz<_XREh1~**)HFcu`lfX>XzkWj^7sux4 zfy$5rn{yX=@r3qij{5s-p$(^gN3pVxFXJ0um}aWS$2;i=6l5o|>y^*PuQ`6P)1BFC zAr30p8nSepZGI)F$_WW)nKf_k>i>R9*K_qV!R3=%V|TZFYu51tx2_05sQ==FbB`ad zly`i+3Ieuh{`?`NO0F8BGZ%O}2(nTZt`8_=*hoP6JyVh$4%$=LJc9dFgT6^C-^i3M&WK$reOdBIGzOb9K^3$<1c)L3lshB@6X%4AH8Dx#j-gcL!_@6@>g zn!omA?Jx#M6?ImrN{;kmDoY%jh7gFWEq5X{WK!{tC(*!5StX7vkBgSUku6{=g@QmB z)?5pF#!-?eYz+}sVh*O~?&| z8@kJDNQR)p7n;R*cZ-!cWQ$qh&mQ4NrRuk!=4`$5Nj6LmofjG4=vYEd_R%IkrZ37z z0K?n-Pp@go>$QdVPaW2YGIhv;r^Q2VMBYBOSVxw3C|XjNEbN+jtKc^ZUps<#b+*;I zb~A$EhOt63|2t9L-|lnE0&qDd^8aTE0cBY7+JbZ6+#Cs!#3727#1Z<&(L1CsdF^YZ zp3KSZ8Td&8O!vUm`twhTk`CEz%Mc1T=r19utwKLVET_Q0^< zDDgsomm@y@sMK1bK!7&++Y+4sy%wbwZag@H0yaXgeu-gO(ZGH_JF-TZ^M$M?*{H2?A9 zr`o5q$q+eD@Kvbs`f3kAQ$;+guo7atgpNy*D`%YcC zZ6;E53ZpdhqWdUtd4Ingmmcxp!;??NS?3~`(G1T+woo>kVH>hsc|_QiACsKqIG4Ue zel=Z-kav>JE;pY4SrMm-E%o7zI(J8aCig^+M>IMKXP+4fMx2YUA?Fgh8TE`@>RzP& z9@`T@UmhYDZG>K0-M!5X&bu$ydc97HJaH)3 zoptMv-+?Z`%CYwH+lUlQPfK!mcb5wkUdYeCK8#@aNi#vGs6*CGfvm(HDJTC)!RrDy z7WlTOMIJ1_m0&+w;tOi{jyFiF#kv?b>KOp1*dL5C!d_UxEA=XX84#>+ED}%+$-2?@ z^*T)6wub;nqGC43ZlkpT_4BImMoQaVTyh!z1i$ExJnKC)J#|iYTecD=1OEQ6^8Z=XQNK;=?ba=sP1&l{Qx^-Rf{PK-aNBs1dfO6>xGri4bbo#C! zz^EX@g$-ktm%&cK3MYFr1Y+7b8Q+|nue1-?2@EV??$JUx;&J|uueT10!u{e#X_ojR z-69^TkojnJy8nYlz}V{lPWbicaFz5s`vz9f4<(;b73!ue=1M6+=w*EyXxufLPpcOP=R~gxd;*Vv z{a4$lovRj)yZ(Q!KO+=5;-eFvx#sETtiAOca5f>i8NYK)ER_#<8;a=Y7?r=o{ks8H zQ;LVbKCz;9Pu#o*=yKPK6GO+`V1m;E)gv(>|5p|ilmJ?a+!ZIv<7=De1L{G=e5D(5X(bnT%D5`^Q zVo|WYm9>|NuyYD{C6rA-Rqu7UVpJ4-7$iPl-`tJpFNxwQi*uANe0F(^PQ)bj=^RNE ztpL2{RM7*MY70s^zn^tzbCAJF*?{{}wr>X?M+V-iE*%#Iz#g?Le_ucRS$$uVG*QU8 zJby9(k`}MwIe;BM*|OYw|7@D;BdV zXiV2!*B%>XR+PP~&?s+2iUkj%0Y9Sb(hPDIHZvFataB|1Yy%IADdz|8uQ`eJq;q^e ziu;q%-ssv6d4+nxz3_AmcCQwf_=6*fQ^q|^aV%E@)}1#gk-z)JSSe!qOcSz6`LLP` ziQ>{aHmnR7$;dxu1fj!qwkCi*?+0w&rwcafv-d68ZK~&WOFinn z>~Va8=UTf1s18f=d$@AP|0=1+ae_`&|F94qgF))7*)WZ;niS zs6*G1))QuN#+0D%C9xjoX{Egtoku;vF9^RbEzzQ6?5OW?#@|70!zonjty^T2OGOWO zv9aVJHQsIA{z=5)kW3>TePit*?9LC7wW~sV=B)frR=0j3bdXQFkO@?E$63uUhMe05 z2SQRLdVf$J-kt;;XJ@qfeC;Fj44dJjf7tf1u$AE(u7~^pLo0)I%lzi|{vc8c=W<%D z;=)}lj8!WtJGYk^k+lboPuKovxmonI4Ej6?jtJlVL&aYV-yN?!+&V6C2>a^pxt0BP z?DP0%=J1g~B_pGp4jdLht=cET3AAx}kauDatt=FwB}(g27DcoMfZ;jWLv$L}=zdX4$Lc9AT|9AJ~ z`YAYpXr1I{az4kF3&g@GEQb^}wzMc$Gc@}=teDBu!vhD$c8)-}^)Z>Pcs2c`T2{C~jB35V>y>AaDBWMaPT;NTFqc_;y)S9Kn-7cF0RZ|;^UTOMt< z$oh;tUtC;e9}!M;qcxnPo;Hr3j*r=)R3eZzy=Oj0ZE$+FdzZ*`OZOt5SXP~=U}K*xV2bqMf^ zW#$~s%e7)6VSW{EOzOsMR!BMQAvFXxG$xzE@|i=y+{8w^g+&^W3{)Y`obTl&&DUo2 z1o*5fLD*cBAm~T3FerR(oL?C9jn$C)*z+&oY$cKOB(B~%3G8x?!zoO=)8$$>;B=4@ zbaOHcjDOYtfZP4UqL5!BlCEN)Ga31Buh#)ANaC7vDq!SnZ@xX`&og=g8h{Syf~6E( z8DQe>RCLs@*(bUKBX}MMEYMI`bo2}kYVBEcG$E}8%Y@k#r6Q{&eXX-)KzFeWSR18V z_u}D6IQ<$|TA)k378L*?pP!ega#Qw7)-9TGbwYDyADKz)TDA3Y`?&Ni{5>6J zjp@uyFKsEBM!4kgw;{?}ZIJ?Ph+OKoyb=4+mCuCB=9uYhid;Fm_|gZ7{ejxq&ObXi zJa;r$Ox72Qzl;J@JoUTE%ujob1H7h1ONS^{P4A|b62 z3*5_V49D_KN1GgxSqU1`RMEi0Nc2R$;fyJDv5#T)LYGC)a_*9VpkqLgC0R<$jYD>| z!$A?Lc!)DPyNL2 zYD?a6SSDS<1dVu^+Gwh?R|b8%uSW#?+OtoLuMiyAR{R zk#vOE%SEdc|Duz90;+{Idb_8Z?oh+~`T9Zq+esxEAn--aoj&VCyMo=Qc44imt;Mpj zv3(5u(KVKxFZ-I|vra)J!*t0^8*|$U^fJ#Gs8KliBY>K)@@ruiUNn}k(>Jg~ zO0P2ZqiZzrI@sAUl#`v!pU9=g#EcUVkULqpOUq+?OfuL z&W~Ol6qpVrCCr(I=~hU3j+k?$hl{@!qfo0nknzy6Pfo)qKlU;%5l6OBE z&DzoNrGICV4-w19wOzO7ZN7Mqiuvc)Kf%%uW|`)emLag1IUx%+!Fu1bI2?~!s$Q{T zqef*qaS4eZ{++Vt3wEeB@?_@6OeMIp&yLHffm^{7^M4>8KtOi?{CZQ=znB+=`_05G z4_GI~*{Ms0S*Lll4jv-Ga0mqw?vfl`jT!PIhHj5oH@A6!SWNPMp70J0&8Tildtv>PHU%jL;bl*sYr5oL66+_%$#tK-e}A{ZiDH3@z5S6* zxx2Wuq^22B#Y0rb+tlLE0D-Vjrwp^jmDagFUnRojn?N{c|z+ATqsED{Zivm7K_&6_yo zc?Sn?YQ4{j!lEPWyW^BSx?MZU7m65?F7WwoSb|XFQq5a+?&ShD;{t)pBLQ9wy--dD zsKoZIt6LfjX2cE^i?BD%<^%*LX0-AzYeZF!SX)V!u!st-Y)2{R14E-ET?1L`nnCKQ ziwI&2=!3wc6Xa$Mrb@HVxc%>R2g+t6wYOYDv*8N_xfpS=2TdOqYW3m@bYCP-O*VRm zszA`W*fU0=%gY^)8{J2t0vD?R zPeKU87^H*GdG9^^O?&}v0Cx#{pxIbW{A)HFxa%Pg0@lJ3TYLWCO2S3Q1_tiOa8VO+ zU~!#D*44TT(LYKftsaRsmQb%EbRyIu@OhdXz@;^Ij*MQy;kR7%}O}f3*X`y(26pIq1x~cTb=%iV3 znZ4vvx%|AHEG-M-W3XcHx~(j~3xZ-UsHL^_2XMOOF6ZW+Hr(!J-^k6?soG1g7B|@z zD#s>pw1q640{tw;5uZqR5PTFeWT&MpRZXnRT=3C$Dp#$QG@2ai2pAyiin;I%&VuB1 zjO3-)1-<7XGd<~~5i9FEnH5r|bN7#Y^<5(G=^0TBQM=l`i^p){MFwZKW;%?g^xmRR z!?ldeaWe4yAi$DamvmZm@m^r`1?S=llWru{`0eX57qVfCtv4VaZ z2QLh|Ne|)5rNkZzlEu(@sV>M5z4^pC#`s0!c%_+YVPT=PZtoV2M`Q4OR`}g6_3SC( zgXSFR{)O=7BG6*y@{*F0ZuKLg`ZpZ5G0QV0cfs;h=F&kGGKdB)Q&wXK@6{QD?B%;q zr|BTTJ>5Rc2G3D%X|E*A%iTT6+@qac9352_>@O~3UwlHXVrXEZ(e!BFp#NI{g#lu5a5BfLq@Wp> zj?ch0@#aPHrdRBVvx0;tOEfc@%N)Ee1oDabcxWrB-~1lSMwB{_j$pEXC$=c-jY@dG zb#U)lG(>V8{-yxJtcY`r)PF1n@@}(1f*6b@%A4rup?Dy-`DO%J>|rtcGNiqg0LoQ> z>x3CpByqrf&(GmR$rc*hjK2HO&osSKXBi5KVP!5;s>13Futb`r#y3?T%jwanD{Nw7 zVTlJq?W$^qX~zZ=CVb9*VuQ=rz~f&3@eK!ucU>}1m|0SRvfH1bPP9QSAZTPtse6#~j0I2uyWY7=w zw+uS5z5PxBK`+!zC_JzX3Ad_`Nsk|a_u(oY$Mb5@q!8435=jL(MA=%LmJ2-mFyHH4 zH1@h41kv5yUMh&O6V){lf~bzOF()`GxcC~nTV+_`lbq!d{T7JqTY z9Do1f+qZ9CbNY|7wJSBSYP*s|aQGZV&IJOy8bWq>{!-X+?C(E)o5`j#{muWen3AX+ z8d+f~XA)%-jlPM*TO6{IR5|q+dTppo?t?Gx{w)E5bE2C@&O?M|M_{1k)OzZ!ky$#w zCnPch)}3kI@-H4~--2e;rtwKOlD9oK76xo0y&+YCbNX~q#H3slXiyGGrgv@$#`x^y z#GjgKXz<>V%V8}nKcu*^>T~!{F4}Q76DD~iIJ6nsXOd!wr?I&Iahldm)--#ga1eJG z;Wq#0%4g#Av&a*tfPhcF)6w413h&&srH1Cjy6k655!uz;Cu8v^_~Dj zdGB7lV?ZPrPK!jnjp+ac{*_f967#Rph?GUv&cF>1&^Df}hhCfja5)kn$wO4sUHIbS z;*tOpOp*Ns@eDi7H?^|*295z#0G|1JH!OQ|{GmW5Ao)R2;QeILl+y3PY9STu08}Bf z_M;}OC_A8>>CgG{g#zboWWwuKg$IQG0Sk+KCV%UnI678Lq$v|%8JqxgTG?=}+5c9$ zAE(Kp1o8E9D$1g>3%T-?Al27NdY@?MtLaMw_Ru`sKDk`s701Fck}OiyMU&e`nqH)N zQjz(4fH~m<>|3kkTuKQ0h~I#}(B=m0&5VG>*JQF-Z$={i32z6Vd|mU&adXbBhGrQ@ zZ@*+KiOQVp&&V^H{X|pKB4tv}pYekpZ+P73Y8cG`4M0E3x5M3a+rRGT^!>|&3jzbzNKK;%^a4R*g@=4lRvIfiu1uKEGy$44%W)!ki=TUF>|3h zk9;#&rUi*;zoRdFnr&4-wiy-c!p`@znnMR@2CxrjEKF=g&E@kx^$v5q-GJ z`=`@*&pf+|Gd3cM^KNZn&}c%*Jw2GdX_Pmm&J6Dc{FUgR*Nj+AWb2yxh|i*D>~K0r ztSZr;bp8cE9BrWec%FMV%su;idvWx)`11I}z0=KmFD@OKc)%kUJe|bRw|=+$B0r#e z&+?iT8?Y1}{Q~yktNYui32Z_p=ocH)^}_JwcXj#EnMd;Dm2ziXjG@2vi(MSMMP>iL zl$nvu53$<>U3c-I9sxGJ4WvFOy6LymH-BXTaXW4kYb(`T-swY?n7TF>RmJm)RZsfdW=V=^=*`r0m4Qwp})f{lEV6sTswJ?$|J zE^;W3wk4TtuuP{cRs=z^At1sB}f4jrJea`h9g#FTyO-K0gO9VDUqiB{y1=Rh9*%vVJ=Cp<@>Ma>N1#x=9rC?D(7w8g7b63-b_;; z3(o8{bv`W1Dt}5lHV{F7TT5bVs%v(AO7j#3qM=nz^H|J6zQBeA%M}X#ZqE$dd6z)CIw-*Jhm*JUsehzxDZ3_kb_P^nd-HKdELN7Oj ziFMRJixad9R)EPZs^?wb*VFF7Pd(hhVC4u(YeSf2%hf=nYEMT+hZUHDSECWI)Hku zpR7=GT_*HiCZKj!)b4-RJdgMSPW@?g-6`d*R z=8Y(8p>UbwxMaBU;VTL{q*s6Jga^s~c4g7lh5T%Ro22H74ciW3*2g!XORtH^mLmG_ zE9A}l$MdFUMJ3`d{|uV?$J)WzzfT~W5D3-xSs93D)7m}`p-GE}ghAQDj0fosTpy-# z;9p9=xPX->;{+0`g7xlwysX>IfzIN>3Y%vuiL{Nse|BMixPPUN5iJpu)wl2c?9rKQ zniv>x*sE@Fy}WYZ2A%E5Orcr*>6Eab4EPiq!=;$4w){sevT@@};LW>n|l7&xE- zLSS(CH{63udlyh><0R_%fGE=~&LAIF0EmaZKze!e=k$7Wyi)$wrRVBPeNRn^AM47M z{|eY~z_(FcX-6lgpl!PKOUv%0|0DX4z^J0T+d8;DLOE0&uGfL;ZR+Tt{ZI{>?8ASh z)zAf3NO$!Qh=t@GtD%jJ@zi*F_>66`XU^%ovSC05AM3m$4GEu2EHSsT+89NM5iwZ| zQ4jZjQRTPl`n<25(!`rwTOk-eBpsBhxw##2^Z2VS z6%u^#;|@B6{tN~STfYpD*SCd*M%l$0gBoFGcS%oY%L5^9zOs(nS2$~?5CDbb=I54I z6N-pD9Eu_VTzV(Rh1Eq>&bU-m91ZXR!?-^((ga+0{-dO#eCMjnGm-nlPcx&8CazKx z9b~d$?J7bOYjfWeeh9t?G*=&IaaOEkAQ4q=+OU~JxFDiG_z}cLK+pDts1*dgirl7N z|7-U!b@PQcI!k_`dGw^k`I@A1xuM9K9zKX9w>w^AiB@_!nfRR`%#$h;m#wyIknSju zEaQ11V%u?lYk>Z3btx}5JpHnJDhh(mKe^{iqr-7YEZCxkp6)o2JxAN+j?vx0F@?Xr zB3a`;L~Le27Tsq^$pQ;GHrYKH0$n&qp;Q#g4TnW5G>2=sIXYfxSAq>(?4qA>mwq4^ zBf{{(EJBehCLKSzOjs;x6D`8p-=hU@9Y8w5x!RY5Pi|C;7lr&pK9v5uf$UixVdNeE z1Z(L@>9mCu(NRO+5!${%B*bzQF>;oNn(P+mlX5%RWmP<;e|jIc-q5fz5ZlH&W!uJYV` zmlH(&8+BJ5h3P${@Iuc^AsjyTmO4GC*niANCZ>hkV^6N6V~xKxt~Gabd_0|aV(-WS zhWN&}xRNh6Wm{|NHY_!>Il>j75v>%u3Ia#Mwg0X1?o976D5Y|i{Fv}vTr7g+a2>EY z$mXW9xy(raipS&`lfC{dvhw_rxuj0YD=-V3kVgzuc}70{DtNy~2icqy?#~0XV}crY zk7->Bx{SPz7J8E+rvO14moUJ>c=9zVpeJI<#Q616L8qYzwImUv^gubF433df?siBX zeKMDdP~aKKztuABpehP~5Kb<+>xCpPP<>VhEkk0)ipmea65h5*TM31Uba0N;6ib=6a_ zjB>uRdyog3r{Bc6z-YnlcaTa-OiE)vGelaAXIS1xJUK@yn<_pMYGa%(%Hn1u zc0FcAX-|_tMp{nZcUROTt0g$Jf${XI#}G;6)cc>xOjpEUqOYl|`&9x+(G`W;Y3hud ztW19(lU+YgTY(qN7TH_W4omW4QKNq%^w38lbRU4u`oCZQAA&PzRWD{V4u=_o37xGb zTN)eD`_`p5FwH08p768^#c60Ln(A5p52qr`s-j$^Ch%x@b% z@#*r-Yxo6N4S>mqoouf4Q-vSlu*d;pNjnfVGzO#ArB301FVk#KouNFpDo9INUSvQdg;+Seuyk~QO;tIn&JoAnAcOzALGnD9VDqIU0T2UEdzEZIiuTu zF6pFbX?ymHKLD_j!U>~LLC(;^9(wx`8)dBA9sr-_YaiVJBvEz24mj?mFFG@^)b z{9JsNEvj>@DE1aB>Mi3O+x@}qG-z?i3^VIw;$3qK-la3GJ4^I!g()OLR42b!AiCQN z5qAh!^&lMAi498DH5{y`8R^9sF<=_p+)MxVhzzApoKk1P-az@`dyevu)*^0D&)wL- z`-!mg=94dJs7ewNVBoqGkv|owsjc9F{5k}fi`NJs5axVD{1ZElD0P=pjX8K83a7fg5IWN zm93fwZVs1d=#z1!O%!pT^MC?dDf_3RJwt?x)O}9`309&Xy;<(|&#b-A=SvV0h?Q4p zaI6Q<2a|+=^qn2{xp|52aF{=?vM=QG_;?edTe*JOCLkbOjGg<71_tw|8G0`EIYVD* zJW^s7=B@|&>D6_BFx8()j#A5r^&1-q-N!n|%-&#_o0D{FKw5YAx6yVD8;)zpHeb9K z7jv+*O)RN%i?@yU7DH5}Dv?I2ZuJF6#}YgHOJn!0^L7Z?Hn=!tZD5i{tnWGfp(DxG zbIzJ{@e3Mb@GO}r8Vpi*a7%2JBoSOQFl1*5Y~p=eM+p7N@s2EV0~3keg+>)ZMvbk} zlo&o>2ADD`T#-KEeKP9P(37@`5*!E@_?*)td8an=E6gB=`D%P?ZBJ%I0nXgS>!yao zjriMB%1N#BAZJ5g8oeYHYg&bM5Jl4Kd2;jh(H+}lv>Iv;d>?lEkNt87W^k0;0mZnJ zUqMYgFCQNFVS!{1OQ z(0`;!Fl)erw6`o1$nwrjnHd-e#d$Qs8x-=&3VH)$tX`n+(yQNN+8VtQ=hnmnVR80B z3E=~{k1Ag`%TPy#i;kHV~+-S`^p>`-Brkj2f05$aUZG?wK#w@SiQvB#}^F74oaP{|M;ZC-etv%c6&F z?`wlhvYHb%&6oGk`4pZ%fIB{a44Qw`vo=wlL=B=Sf7b%c`r(mVYQgzN<_f_~#^6I@jjvJ^=X?&B-3Ez|)_4Ia=63 zNY!o7t1T)$o!B}oEPFF>z)O;O!pH2OV6`7oO9uFw9n~Y|G&0LFvqq}D^HId9Fi_Kq z3Z|6K>=)+(L1n~jW{Qx&-F)Vs0`L+nj7};TFatIP)L?`7(s1I2HM^SCdrdWdqMg-w z3f0xzA z8x$-b1EQR#lT&OH=MT6HCwrC7X~0f_GJc#fY2$j7+a2yWKaZVjqR@3j)&fC^$4vkP zy_{S#y%^!4B(}Iez&)0}x@wte44DeySD6Z!0irzAeJFxM@;Sn3$P-Ajwm!!FZ*7m? zGy;3lUgBIHIDCEpTyz64wj8FA-+X)^=iQt_`G0C*>WSh%I>O4cF&3mHI5TW~N@ESV zr4yJ07lP4rR$wO1_dD=pksy#NCz*$oPftmLWhMgi>C;2KFBH=}KE!Gwr*{recft$kjH9{s=p5HL<&EtkE;|`W_I#-D!u_&FsEiNq% z(k5IadlVT^vR9mAk!g@EtkHq*U zfT>x|?$2{-iNeW4f9j+mHpSH6S8PE;ht}HJ-z1OnH|o}hWD+17?nxqIkcoHHb}{{J z71(0@YMDp_TCD@#A=9T`3*8DMGLPK(vRcF6)>Ht}x~Y-&1B21hVqSuR=2=8#9iM|K zjP3)xdSr$Y>bgMSkqKinGca->JDe3`1QpGNjg(e8hHzCSImy!Aj~Nb5fG|GEnjNHm zl9gDAIVUl{xUyt#k|Na=k`v|@QRV!XB14AR z)xPB0Bm?G8cQhTK_t}s%9joG|>4Js2ijWS|f+DoF6w>_rdS0stJ}etY0wg;_J)Dfli}Y+jVg<&3*bcrsBSs=`MXzV|7FhYA07%W zA4R%nb23PJp*cOIs<$l3YSn;meRLlV{I)lt2mxte_GCPI`SI=T{GBq(gaJ5MN2#TF z#I6P;k!3l?zn@!XLNzidZ`%QngzT3wE;~i*>T`mLux;#AJisrB0cU80B2=?8Lx`Hl zrS+M8c>5xwd8e|r`?>jhICn$B{`_EsUSKxDFOCvhu`7KfB z2cg@rH(FEz(|Z?a{om#&U0MM#^OcK>>9UEFQ=3*gJG_H-y6;_{ZFFUya5VvM#Hy=G zgiUMSvrzblNu&Kt*1G>B+TnglW9IX1EzQWmaj}*$lD!ZA)!h@P&Sq7c5nBGh;9uGK zlt{e2rxQ7MD82pT)#?;~#*fs}JiQ!@Z9+31?S@(8MwdDdpbQzz8yXGzN)J+x1&3t80V-^c@WH z|0TZ6PTEth7S_`yNENK(;4H~gZM>iA04DJb;h2+bT^Uv_0}$Y?Lk`wQu3CyUnS%Gg zSr$?>Vy&IN3*wAL8Aa%mAZrr+1`w>gk%Tziv|x8`kP>8cAW+?XA`Z+t^Te-vt>wSZ zn7u7iVa^*P2&)gJR9$BPeEx;7(;vVUVdcGa%ALrYKZGE8mEeDSPg741GcWz?s#qb$nWxJ z?tdP=2aEe#oET!$53ZTQa}L9By3HOopSK5NXU$tdzP#6V?9;@Q!Re9~)cB zjCO#0Dxjug)6|7{?bU*+Yp43tFR`xMH*@e?Pf0%~Qnz)`S-78eCNU=igE*)9{us>h zI<)9Xa9W0E7lm8Cw{O&Drg?Jhv%6{ONSdYE%zm$dG`j?H)wolfLXM{%o^K5X-xLMC zJUBoPs*L%pMJlTJx~m~9jn}ieT|^BUb1ylSRw?y6;N6Ik#?fSct!1nbCZD0*H8Hr+1Z*=|ef+MF-ex>h?-R!SZa)n4>q6T30kn zNzJM%W;`U^OD7YTK|yns!y*Vd*)^NQO-ljoWdnQ2j5Le&AqaxDlq!&5bBQFPJ;H1j z(W19}IQr*6jF^25x2Y>;k`&H7@yu1hO_f`0&HR_FvKz|KXf}-4;lkhE$Vjn%S#cJJ zMNFyhxfnWWX1d94)gIW83awtNxO9+8~- z2lt=8<}qKkKj2^cz}L#4?$W=*<92E7U7=J#1Cw}SHk@1!kP2F8c_2ZzN4~cU-hFKP zA!CiKbXQFtEtggiwG1I8>=1X89GAvMLVA)T}4)9(O zbAEjD$8Xx7j@_V3=yN?iR@Rh9fH$M>d#$CzlJsa^w@pn`E7Jko4@1aTgI_RfJnvPx z^;^^r#~{R-dTiZ8Ga~3%3^!J?NQU~qAof1BUVb7T7;a!&m1Cb58M;GPwcF*oKAvr2L&a?MJnY<6vt3fTSRl-)Y_ugT zY3V9jzR&H{Gy4ny5yjTEwKavnmpHncBV%5aMgIWOztvqble@|183Mc-jfpYfnThdS z+dpzVdbN`6TC!Mq7S4F=fG@Ve#Mz&?6X zOa;Uu{9km<07w=ErCwEA9)(`4wlY~g1f-)75c{0?Z$`Oz*ZZ_=12DD6<;?z1M^UY3 zmgAvOtyh4my7OW+AYt>_VZE)bk3V_s(yjFcN;`zwCGhH;AWvV)cx>l7y#WD{zOXb- z#cT%%m!$u1Vj$Jz&><@$_LX569Ti1?8K9l;!)kkME72y*rYI?iuggzzS2E-~+T;1T z@IEAx5~|rG`XD+_Irgf{YZC)GM?M%mI2Z)h)Je_JU!(Ws0$W;I7FJhnqzg-DGMhNR zUj*BO2^XiF9L%5g3C$L3?a7F2&#vSDe#tron|b+#7P`&Xr6FKV#$;U}jR*d1BMsYe z*PL7xTWQ0B`B5In1k#$$oX3@i#XeC@Y}tJIX^m%UIai&y;SA~K#`kA$$YLLx6q>8d z7Y)`7dr7iQ2uEJnYYwd3(EIo_hdbGLy!5Cf2oES~;{I_aeM!8qw&o~F4=Ono$_lIk z0IXkK2a&U`RRugGD(F`C@HMzHRaA3VSC`iPQ~Dmo=n%OP!ZZsA0*^SyzWKiakuSN2 zgn%D6ar&(XF>X~4{*hIgfBc!;Ww~{@xRv!Y39I8z?s8>kTvRJ1VzYHVyr20|oaHD> zgGuT{|Dq=cI_X-;%k*80D+{fh4aQT`Ol=1dJ*ej>b5r6yx($2fP&+6Ud%?(pHD?B% zbC;xPiGgm;E9BL`Ean0!%s$V*=bpXXZ!skRspHw#Pj{aNVwu8nz{0a{#9$889pv3t z9*N{Pm&5WzqO91D3Z(}DDByWM^?!Sc*8eoKmao~WUWzJ@0+13&j?t+2t-wLz$Hg@- za-vy=n+s@A8zkk&yd*hvL_+lFrTtUiKbFwvW|p-A;W|7ziUBmUUj3T@6!*wp zT@^xpA(mAYVtFJCC+FnKdGfuX9YHXl^iJ|wU{=E8IvZIy*`T%T{m1y8_(V)5Uk75S zPFhO&D-$2s0qSf}-H%-^7}v|UECkIAa1B99e#>qRPn+yb-vP&NY}0`@`k6!jw&Tx~ z+pF8)n7Lz7xg#5i!otBvCdmFV~|8EkX$*PiGCE|oMDoRf-^ zo~@b&Bi6!0*m3v9iQW+_a3QD`L^~U6@Pd2kjZ6XU(?jBT6jeN_xb=P|I5ond-Co` zYs}_bns{5NX||-B<}yP_xabHchn;Ts4;}6J$b(gM3~D0W-_PASW=IRR7fOuyt$Lv8 zW#lt?<>lBf-;(J3V&)tpsjX2hCH>|kllXx3XLa;s;yl5CK^{I8uc~P}hfXk$WPk1O zy=Ql$VxodHRJ=$(n)&Pv?B>&lE&giG*nXy|PVrN1i#u6tG;!(L(6Po3xH*|*@zq-~ zJg+r_@g{B-=f79-k>)mc9|~IO<&qGnFO^jdwWaIISBm1KxpE(&H3UcK8D)J9dTB_y zN6)DNAE1lU%QLP_8YN9P9%`T`Q7Uc_%g-R`cwLH6iC36A*vQC)zhQZ%qtl0}#EpeF zhvk)8tx(4nH#?j4mXi>HxeZpXml-6vS!!byE+vK;-#Ba2NDG=FVE26lU8)s- z)gW&*(f-Z9V}t9$|B;jvqy)HiL73_L`|tJqiOtb^Eo4A_U&R2rN_A3%!7#%q5w4{NQ!dAMxYqlL!e9&zYfgoqVk!9OK`GcC|YX z!nPiuwE>>&ldOkqZ!SMRKz;mZKquw^c5*4WP~^;%vvkY5Ulu8dr|6BR{2ZuY^vACL^oCjqqv+E z24=OCM*1aLwvvpe5{Esp%IYcJzvq@+T7&83d~=jziJC;Xb2_kVa_!m-_Cu3{ESzZ# zpe}H7_>zphE^kcE7|kHKTkfzEG>R*^d7z=+ihE!s4m-{^ z_t+$RbE)zaMUwruBD<;lJDU`A`jW7)KX|k@n6N7lsgbjH?%XO3D1Sj~wu02hLlSF4 zO9;M-EJc=+A;nTW80@<5pp{{JrTr93c4maw2HUh~t6&oe0;<41L*fz7gHOc&TQb0b zESe>n){{3id=K(phUGauh8sW_PS%c7XvpbCRA1P?36U?x&qmsrf8f{oh=*p}oP z!ssZ>NHRs!91!prT|G&pxELU3lnsobG^cuKZi53~$we6*`E z$e_I8zsE!0<_QJ48wV}voJeHY9$TO#lGk3mtaW&6%vl73#inrcx-0+ z#uR1`%3PrD804?!dPk;mm94SO*dz@M9#ibVnYAcPtMzO@GZo&+?!4nLi6G6Zu4_9z zmoc?8vvCiOg(JduC(L0I{zhN?bf%}VHWz59v~gHN+#3zv)vy+#!-okHeivuC<~cPm z8M13eW+)y$y?^r8zcBv*I9-9H_m;zT9ZED0 zs8k;3tHh|$L=A9b0s%UMhO&7+MWy}$j_TS!LC3#px#<4iK}DOxcd6U)=81kW2x#Lr ze*9YMPelg3WCQg57h6F6s0AJt4y^2jR&RE8jI`Z}Vbh1_)QJ^n)O(VFUj^sq#BG)?ZT);EqkZx0J)V5gXIi8GGm zb=$^UdA={W%WtvZDJSKbcY&=Q&@w!DCT0bC&3g_+AE(66d3#3SmNnLZ^uFfd`8nsv}ouugPnlNm_S($?Rssm!6= ze|jXy_=xj;UUhYjF30Z<%b~YIK}B}8B{PR!XQN_?LZ4K;Z$5fQ-UA%Lf`GDI4y;GE zveOcqnN>Uh(GRZWCXVJP1IbFDN>qgg%@V|Lc30Mx@e7)%-K@mLkB5%-Iy?p#r$m2( z3I2%def(yiO6M04iE2oCPn*MF?e4s{pW(rwLXcvqXt&jC-AdKU`9UeIboHf>-(K7C~a7h6d;v8x!Iz+ST>QssJ$0<9Q6;UK@km5UspX8ZwBK^A2&R+ zju}5-Y4&kXX6TJcc+B7Y+&WHKJ=yDSMRo1uy!BVPKxka+-y|j**_>y)`D=-_T4mE% zqH9zjhCt%7zx9SWC>SSXgig1>+RZItq|Nbcl7v5Wn^65;T|zH@Jf>9)LqF z!)-NxiPoVby?Mb;Ih zHa-~WI|>|lNa@H6>gsRe#Hr2-TV4vy+dtKqD>9#(TJLrbn_cVJJSM+2LP;Wu0HM=) z=n~kdF5?D%@qZ=r-MnG0(c3Sft5B#_@^t>L?K|Rs>K&pw#x1(_z_h_X89-W= z`XKBASlKNIB?=XE1}2{hgcZKIi~ai;WdzQ~%geBla<}n!c*MZ7;>&^eEwIA7ees8@ z=x=)K@W5`MV;vN1%`G7BrM^lDNlc$6eaPt#3?Um$@Y~8fn z-9jqI+IUZ>o61sZ*b9L|CX`%Hu{4UUcuKmGvl4hJyengYaK>{X8h@L+Yg>v2zp0KV zKIhiJg6zkJ>kyUUl?+LN#fMqJB__N(Epi;#a+YLI$1`JOjASk@nigCH?&eKGM{ZLI zxQ-=9Nr@PwkZtcwU)=FZYfZ-W%~BRRYvaMnA)dL(^KF4P1cf!;zi`)}JU~(Ml$bF5 z!*vB;_9un<_5X*cuK!KwDR3r>iLPSKAl9rTG=@O7ek&y0&p%euXX~{t;$)OvD zM!GwO?uMa;nYm}a|33GA&%@)V49q+4d(Pf#ueJ6*uR^}>R)8tI>NU4T6@D6L)OX&G z{7FF9^f^pmM8xL0@lNFRdg(njZQ%}*c~5vni60dj3BpK1#c$j>NZWP8A(y?DlC1+* zy#vLSmBa#EFx>3E5-{8r_}XVcx8i?*=2T)8*C#J!*SYC!#9Y&-DhWlhVk! z>e_Y$Hp*n75$-ea%y_Q~&k;pQ6=ia0Aw3+0(Af;^X(*YMKs%pMgQ65v!kt#%a6%WFq#p;xYaf8rJ&}Q7EaUJ#`ab2_D|*R=+75=9Wgib;?0yJ5Tw=x6;IeGOK;?b+(F^TQL1>x zJmQeNx=7<-CTIyo<0&bAEBoQ%VuO@gT+oM`vg9(^H4Qpc&PNC28pBXm#e#^Sh z4zVSusLq@|O^PcCnhUV=nsBq8sPckxvg8JJHr`mU|8w57O z{$QEL^)Y)0bRFvVFc?|YxU7cJv$??e_HeBi|7lpW>yn*d9Jj-1UnJ({(y|Kh#}MI0 zs^N@z{|!7{j+E-heXUDjFV4|y|E1RCyc8YrLjyH@$D>e0lNz=cjW}9nLjS{t?nW3b ztiB)WUkix5x`G|CLk`wak`8s-v^?T2@3GF1O$h1%1htQSf@hN;e2TyzoX^ziku#V{ z-J3uE+Zb2FJia^0{T{6p*bN0H%mnrXUMDYDH@KdFsiG+LKCk2dy*eRvxnFY-@$5MR ziu`{=w-TSM(a?Be?(;bA#LHeqRG}ZJVfG-4jQi*J-)65!Vf)w551CQPSL@jQecnXX zixy^yzUj|2Uaj}{OpD#XC;^Hxcee=pymK_WRL`Dc%aLzF;+{AhTL*pbw@c4%|Kf{V znn5Jj@oY^#gG6Pwt3Io%VqIOERdHWnM$Z*yAG*4+7^B?Hfoq&J23;o4*)?w7x9%4G z`6RgHNBxYYq1WTA#ct#c8g9GcedJVP(cQrm&t(SrT{<--&{7n=^v;Y$T|rk} zw1&nGk?>C|6(eCY(yaJ@cy4-8**CnNqw6B1in5T*Y|JvQbJ z8{zUUOR8#eU!RKT9Qoe>#e3s)@ze=mu&-*BO3qBni`SpXD1UzYU?yN4^zcS&o`vQ; z21EUi0!&evT)qdCP1IDC0vm=4!L8>>a*rN;dv*PRfLLBRI4FkqH_&NX%)aBlymp|t zvrB2ylD|MGM4PGJ+uu)MS|H7Od-%P|w?n3VLgSAseC7hQnl%9~X|?3n_y?lKsvN!0 zoE1XXe>)Y^-1Meix8SX4Cvvn8B^~(DL{GpJ*iqYro3=1}VbeRnsW}}a_o-A_YgAA# zKDv^hIO8@61%s(5!w7U!D~@fBlf6eXZKhK{ia_Q;q=Qx0bBRPTmN zK3Bw}_Tdmn3Ifb`Lozb2dYta)0ph~{gVcj?*w07+2phFTQ^|o6M~mHHMrWXfaFg54 zn@A*^fI$q_wlDZ!6*~78j=rzv--EaP405&O?}^kL7oEqBL>{#8(^T&knO(JDmm9AB zVGk_Ib;Pl~M3@nFNCE`wAl1r)Zs~j{QQwvfSy9EDBCtbfUebl>cBHQDbM%?-PSsJI zl)t-F{pBXqF95sQ013bA!Pu(b$&8)XJx5@mP~cQr;M~VA&5^-WeWEiqA7W^|BUq?_LtR(rAv*3Qa)iP>iog@Uh`f-L4otq z>0K~6&{zZ#m^DV2>2?1=9QirNk!fw6=7~-CC>YVf5}Q4@X_i8Ats#*vJC1E&X0&2e zMaof(M;sFP)~37kk;;Sg17pYY!KVpDhOOXK@}D2+6sCh7nQIaY35EJz^zaw1p}xVK-0KAnJL+*%3V*svubC;nvDP8)jb6ofkO1wBl(aUWky}Q9f@WS! zf0tS>O^A$@Kp}h6edZ0m%(DCb+q2TBWpcuk8Kuf_ow+P1U1*dC3v6gSrN)Ep;+ za)zeH^L;RnACjnOpW1d`d1{hYJ^pS;kTER7WU0msboNyt6LR>_c2fm{*#eT1B_BH@xdMH8(`I@ate!*TKR0reQ>3eq#%5?2e~9T zRw|o4^Vq-0u0mXg`7a+cucn@12L16|m%xfXHo-tIHXH;{c~U3*SePzaNN@WTc80jh zFVDv-S1f@ap@bh^MD7Wf`kzVpEhcj>Be0j27fotXz2JO^Rv6?2p{3l7 zKEpwt1E~vb3>pSGHHT#XioLpgjg{CJy(p{SUKu#z!A@XPQ~R2QjZTjT3>R9lE4pWp zx$1of!#(I#vtFa;<-mVG-+0tH(71JmILkXP0Ms%8hv_H(D23Rg4+{xl4f@k83sI3 zQYgJw2+oSQ69fP;7IL~L+4zmm=n9*2=bnnT-0)qUn}vS}rr*l14C?5`-^((u3c8*g zJ7#{H;(?tmYPIvGy{r#q0u02_&2>mMRIJu!NP(J5-;P_EbOGy2A}GXEyPHzj9Gv{u*=)s6W4k++*K~!KNz2 zWpzD*O5mLS{4(78ATS%&0o^*-fp3hE^g{qLxIP*%;6aY?!lt)+K`9Vk%zl?AhXZMs zd*TSe6!tJ;diuuJb+Jyim+&4QR3mph1Vu(hmU4U{ay6te4}nObtR>f$)uh^8)^6p% zufmjgw$~jxJyI^O?m?lVeKp63!(9)AQz}OE64}sg64~RC*2A;iSyLw2D6yU~kVP+o zXsRhg{9y@G67WOscX=@= z6XUK~xzl*D#%VGR=@YhuuU=gc`yvDn+7nC;cB@QA95G@L^}XmPSRdL|3QIu&frB|O ztR%5~b%>Sx@`AR%zket(?CH~|wBT$*p=7dyf!e(Md{!FGUzwRE1zzi{Zi!@{4KBLK_@`>nkbnJiBsdk<@*n_<={)YS*y zqNIl^+vIm7!uslT{fM^uYD;Ou zXKK~Zdo#<>Z3>V3+a)=|!>>lpg>L=Z65sA>iWnrV%mmT{?{BVJPgetk!(ix_W64Go z^`#@ndHTRvS(L9Nv%t%He&1>{DX^Do;<{F-VHhGy!1s(X!N`ej{YB)L#uMq*EWb+v z$2|jPGO$*V!id5BQvW6|?z$aK0l&+^90!xH1kkF$viV~H-w7IUw>&;c^%Exb@MM^j z$4hEBetQ)R`%OW3Y1}-fk>H%WrYWG|_w}eb!2}!5Z{i1jISR=$Ku8rAH47FQz-gtayBuhw!kiSip zwP=D!YxPhdw7Sg0uO@Dc-1J?~FhMld*C7Xv+aoMu@0~>apqDpX{isa7O zH^)>Dd-t>`D0Cu0YUWGM~@0~<@xN>&TvCS%ZMsjhzJg0QelmJeNK+E!htr9&T=KR?pd=csGb{=VfT!y~z?n`TJL&1vvZb)u&G!c=lDvy}imeKHdQT zzVv6b)XHO0uN6$u+rJ&bLtgTzN9e%9N=X&s4 zz3G*gaF<9NZMyS^2x6FsL1WQAq=i8)In>;rxDvM7NH>OJiw$0prQl!vbXIjOx>_9| zMi*TRaA(9m9yYqW^k=hRA+Bfj!{Ji<*7s*Gw<52zgnXrqcojTl`uIE7=MfAb(CS>VAUh3#pdzg20Vd6PIds_)1) zcXD@r$|x9B{n}{1eL-?hqY81y93eAyp~yG?8v`Fc^TWD4Sn*b6C|m}gc7 zx4ycy`sKFln7%p`dKKj1J^_4#>Ypa=un9u_58C@&|JcH2Pa&;aSUe+a`b1o!S%is? zrH9HOr=Yxc7DOtcpXWn?zy6?FI%IV8i#XH7t$O_+U7En&raK@iw-FtBiqqaAp0yXo zTU}kHc^lcijm%Rke+G^x$k&DK4eINISINCrC(x^@sfmq?i%L$;CobirCViC=m8F!x zXVFV5Kwm>dgL_qH*RM}2HEj2Pon_MbBuf1>?|pM~N(hO$_tYeJX;(Pay1TB!xAE9I zH7DGtQ(-FYj^oV~Dyj|e9lY;~je;9U%tR&Euanh8Z)Eio!2-DnR{mme3$72@lZUcC z@zmDV9@|@p>s7{$q;09a3&Ad1%y6I`7+f_890KPr8Zp{`O(z#T8@vs{F7WureE!?wSM-wl zVZ<3H`;T$($Bw*&YD2`eV!6;G?|~0!N!^}X3HX78N*mB#hLx(cpB#E5a(NJ{zn;U) zSogQHK=|hsk%Zi66J25DCy@)8HFLewP<_S^$(2x}obO@o<=&;bvo0Vy@X zO#?IVl#;WK!-I^K8l;F0q?{xdEfr||Of{|#mBfmEb8>Qu+6&uQ^T#ktv3aaH;$9gQs8C= zbpSk8bG&!$&i+k@dZlvZq8~oABcqw5CS7N}k<=OYJ=w;kRt!h|20IP=&SMR@w}d`# z~18GL#J+SJa8+0SV#y$1U{{^OFp-w~d@K)k zU%AeO)`nR1E;=57lf6kA;$vgms-2drF_+sjCoc`vD4CflUdqbKf*?^_Q|F&@{hUy( zP-2$XwoSeJ6hp&$VMWsd1vHqV-NfT{p3cubv~J6RhJ)&bsC;NMW^ z>}!mnQ#BOPrwbyskjZ`*B_YSwufN3)Pi(Wr#Wn1XKQ0=A1^WSA#^boMJn$%BOnN1( zI`orGahJ=HQqd-i3>@DD*BfEMe?HK~Gb0dggAw7 z!^SEmv#}MTM`>7>K^sN9{KIXU($va5lLyd&*Jv7ORc!?6=4;R)Eb>dpE=hm8+mu&b zM~8ZRBq)Mp>z;Q*n%D8#bBB3x*V;6n9b7_wdE>^7M~@yAdmb)5rf|PULz9nn02vI- z2};7QxIL5@$9J}%OEU<5k93Oit57s|gHJQ!klTT5ei;nqxoOG+6 zqpS?0e<=zcpmvOTtgBK&l{1eI3wMW*+cn_IZ0G^He)qg!t{1DiuV zOJWx+_GW?Zi&Mqz$9N9NeE2f(8#b@JBtbeB8(5U#X8lxZMrllrEG5uwhC=?}X4>2< z5VyhKo71BrmnL1FthkG_!`rT`Za;5b|0(K5CrI+ceNysWmG*5xM`G}oXz*_ugqDBZ zst8QN;jH1(tjyq$BRfw*=j^9FVy6rb-M0Atgi01Lk${UZ-q&+Zn|*UK7^+Zj`97xc zSw-WWeZ4nVjC$Z5rME`SrDqN<`bik`M{|34rS$K)a>`G9sL)qXQOWxA=g;eV6HIY@ zY528}jM>VPE`+3K4|D_@Xwv6!R0UG7`oU!D_xrvtq?pB0II21|QWAO+wbIgsmWfSN zS9>7%=^$bA+8?Zf{V(fw@x6_uSCLVrPi!o;6av=j;x}kcRFp_aP$$z`OfYjEMC(%P zSXEH%N<6|Tm`8Wpf&*D+k@aJ3-7J(J{1WlQ{n}WVc;_>hP20JA2&aFb-3_7d-Jt( zLtI&p`zmGbb^?Ov(o{vTNV_IWMo@s&>^eL>grz#F^?;@ z#q9Uz8&ap&`;Fn%)wRd#IT=R$2i9qx-a%JcyY+GIO@_Yc!&-#cSco7at4-Sh}tg#`2gyB>24F z8E^n5daw2dSkt*$3GekvsFo#e#9rA`@740WQK(Wsuyu6xl6RuR{bUULk3TCOW#0pU+k3E*_^^E|r^4A_{)H+EMolL(M_BeWzoa<%m3e+@qF^WN>4L zr-N^0=PHO$FqjXYSkelKCfkr0DuCp%(M9Rk@!++*?&GdB z7v@u88(N{u(EI%p?t87JAMzm$4w5~?@*@W+S7E(1Y>f21cNu%^t76j9il`@yE3CDv z$Sja>o!1?*E}n;x`N_BBt`6gukc_MpX%klch2hx!;I^rNIhp|{&FjGtYC^B3RmRuY+ld{RB|gW@9W$$B+vB~{)u*iP{p zg}Qa>b#>Gb{^O6zIoJxq!wcV8kCB)0=6y>!YbGUIs}o)ey2oBHYxcDjX3d04U&$jT zK`rol|FiW3J>=2$Y?{E2h|fKfhb@mQ=5V!Rb&U%%e?`qn3n|NF?NVPXB)t`a{m7P zy0Y?7A>t9pFupJ+-kwcY91Yg>QFBHlRW&R;JeWWqtV9upALKR06*Ie;nVExC4hU|k zzd4zAYLE9qEM{o=ucqWAUwFzjP)N9RGk;G+mE}~w_vHMXOhZ`g>VKPvR58g&w*u{# zJue7Nz??i)(p@hG<#{!zyVDFxS)P2Y*x!}4etyQDmexnc`X$dzu<aU|{S%oKei(RDd2Ju6xwf#1-HvzAMzZbNBAIu&@?e zArimWiG3EhDP%~jZlONaX(_1OWI^$4QASrb^?l5GcM$O7+@K`-_U#+Eoo|>=L8;{H zFWMa&%6_!K`l){X{3ig>=k4dSZ#;5aSNqTnN#5^jUQx~ke`i4QrNx*mi95#byg1W1 z>E%Qsw?jLA+UqyJnz_&ExgyDw&ZrVF?_4xy%5BYmY*_SJMis-6Atibf{ z4X4aZgW`fo#l0(L;>c8zAH$AEpVRFu(H5*e^Qd1d&l!`k$0;*;uNrO08F2ejIZZ@y zw+cz|Vy9qwASnV?a(>7mt#M=!O7Z(BD+ll2FIV=;guD{CUhr|Br2_2>IXg?e5^WW# z>h*?5{3lgh54n)!c+s7=);sPKMU9)yK$|KD~IY!vgPtQoiO=){_(On>rbceGwhrDfw0`JP|$OiV|V=-9o{J!C1@mB-=D?EWN@^nQB-uv51V8L=aul)u&; z{i%mD_AMV4Tl6J8&c)E@kh<0w;>I3=*#-$TCcd|GM(CXV02R^63`ucX?m*W1p5mAY zpHBkxf_>?HU$>lV{uUKkfNH=xO!~hX?N**jZYCoGps*Db6gFIIEe4vo$cFVesohK+ zz&?7h!+*l{R48?`E3= ztWU+)cc%$ke~1st+o}38_0(NtPB%8;`wTW%3XPEmF#2{xHpKw9K1ow0RQ6?0rxnD2gRbTb-(`s&@P4r~ z7>BaX-;+n{>3)|h3sLS95ANEnyVnJ4{&es3_NI^cqHFB+8L%qGzK8NhM@Iq7nrC22 zNId7^ghzjOcZ)?Cpcxe2yfHmm>DocSnX6{{zzlObQCF+Uo**p7VrQ}h5S8G}Bp?hV z_jLf=GFAR*ga`&1%hUd7ZjS#G3LOAbxmv}aE`8Xz0fmxg4V^50Gly%A47;CP3n^Lv zf$BA&;A!{jYvw)$$bUTfq4u8VPbS8uS3vN_Hna0z-&U!Ap8INd#$tW&bWPld@Wvb< zZ9%VPq=+i3I*6KLPwGY|z)qpK`PNJIVuaFS;D&K0*sypEFWjS7o^$O7?`B!s@_bf( zk-Zc8(5K%|8b3EAN;U{nw6k2;8fpsm`7&0V>MiUk>#iyiOK4*hQN1aO#D=zS!=;3< z5A5IEg269-d-oDVE(TzRwwx51_)|J95aHn0cFdpMgW36n-4-?qeKqo$tl--o8}F~I z(cMHo^DuAeX>GDF#%?65y}8*UUm7YLt1yN|>0-ZkL9cA-_v@_o~q3s%&- zjXc`SfgT<8@PyuyLmwr;0eg|^0M2ApNfvV282tVC#Wo>Fu!UB(^82>0w;R?zm;gd` z!xr!mZSC#vg^~fr)FjlOsdAtY6`t93cUyCPkTLWRj0~XTx44A{qbOGXMKMVE*N^QI z8xtlgKL+hvC0{8vfUa}%!4uCB2DW#j@1}#7N3j!Dmy{kZoclXPi=c7|VHlkTB*l;i zyW{CL#OdJzljGZ?La@g^uS0VN(Hr_8M}~}|v_@;yLCF(VrC&`suu}9JTOkFGV~G55 z*wxI6tCPE0ytcLjD~fSB5YR`5{+sY0Ft7EDZ2W?NKgSr;F?GQCwti_Tv{os353(h) z6)=oyxO&037rt|B_J8UZS0V}GSa~C!du9I)x6VJ7Q z^iEODx#ZpaPR9?3xA$Py=FUtNMcGs@SpQCVREO0HaU$m5YH?+;=1fJ=_?)a_KwqojGgf3bqR zlb!oJ=jG$M)q&j_bj2Co8{tB${l>#zv@-_@$!v#{JuD*MEsyhyb)WX`H8{ zMVXZS_;7N^N6eQxsk%Bgca1tc%ivm>zcq$R9_|<9(0J;6L8XteK(l6Oc8p-Bv-!IK z{Q^PnyWK;desj0WcT#MrPJZRuEonsKAzL>cXLlq;RcG2A@^e?p_YCq&)P_kC8aYN3 zjst=QhVVO-Holw=4abN&IlS$`-?F~otb-IuKl%gg40@+*z!Qy}@Y*h{67f3v7-N2k z-0qwz!wB$$bEl!_BT&pe=Q&X0gI+Lx@croMXj*YkM_6q-j*foF!JBSgp+6R?X>Dyi zS!PM$P=EMpFqor{sB&5+F)G~L6^SRjG^{8-Pr;h>nl23}1&b@s|oe9n#+ z1G-C^!C2Nq&q3=7z)hI(B?j^R24?`cWykicTA$WENila5Wdv(5rYp1Pb`2m>Y zsTPiKSu8Ml4u)^0yMw`n@pwAIgL9HnGAD9JpSIr>d3j2{-w+UmSfV1tg zjq1FS)As22;3k$1#GP7AoPg0hx2JHvCk#(-{L5zjC z+>iq_eQONvw4G{pak3D4wKu>MYK!XUuA{HNoP(M?-pjsyD~wUG*^I*DTY&QG3xF#O zZ_k~S`Cm|Brv4@?>HKYembIHc`CGY0;>SoDR(r-oYDq^@V$#)g#dCM@&Hh6?)>q{c z0e`Q-2snhz0cpd+!V0q&$g5IWLntI=>#R#iw;z#sSQ}cjuJ(#4*PPvG+t+UhQ#P0Ob z+~P5-oZ2J&0%MEwGqvE8{E7o$8NnT)*`y2zP7cFGFy=&e%d`VIWqBFzgl;(-ephkyauyZqtDq>GR4YmNqzSme+Q$%X}U|v z4vjS%C_!YxSt-!o&Y{ARRzd;V+M5HCfUq99w+HUEiJ%};z%oji?NC^dQGL&&-5k%? zdE;Gp;G?WHTy;X~jlRFHhXY(E!EUMXwQmyHgkDZS*KO5un`;`zNRrA`0Ltpt%}X*$ zh!%3}ZoPY9zJ+bYp|T|_M*Tvm0OaQD&X${hZw!Gbrj{y^H)eftqy$O48Qk3TM?PGJ zd&Dqe%P~QlK-q3=Y8!;1MGu8cu?O5mH_pyUKIq;{SVUezOV7LqqK{Wz;aDvBRh0Cu z1Up1z=;`LAPEqc4eId5FmawJLbb8IG(>)RlyA?=Gw&e}K8yh!2FG#QQoA@%GipB|i zjbXpExh%l$PmKNf0?L{X{^eiWe5jX1^?{_21_(7ax2@9jmQV$cxocOHZ|Z63>FHP4 zd!fU_!$Qm^4aREz{*s_nxXZ4p{`Re$v-6R>52RJ_*%^nV#5s$3^7vsBY)x2f&hH;D z7Cyu?aIV#V;VWr8UHuA;%AXN>?XAoG?_Gw}8KlN8L%;e8P_;yn61@eZL)L})HjQdG z{$^gkTC?GS*2>odCqk3O6Hr_-C*okl1jrCch^sZ>lWh;D zeIn-m#BM;&Ru;ib0eh6UyH7Ib(Qr9z59(t40Dzf=^f0h2so5To)N_baW%?dy5@-Qz z{kIb92siv6t%T!^kQIk9*i@j3-LSSaLJ7zB^H`V8H_>a-DBdW=-%>6H#*`;BJ8JhY z(w1d`JSJb(vk$~AGvvr5;Kh)F0O5N)!v35#$&En*6e7JFyL>RK1=%S^*HA_^=G6a^ z+Koz0RngW4UW8PweWN{XAxjME;I@Qw@)Dz<~4;;&ikvg}LQel8zKewdj zKqdoiCf6-l(O)fD0-H#j1I`jyv4#Ix1Ok!>mXLWv5pX zC+1Lx395XK#+2AXb|u0l(5WEIP>7Ou_}m%Q)4LzG77gm`ztF2MB>tjbv~u7dl%@>u zR{Eg~o3d=&FFpSHj7@%>0aAMTIz&OZ&$@DM?##Tn#F6ekX@b+qfz+fy1L;A|-K)M< zt;u)Q-}5giObea^BW>Ct`+S0b$neDFu!m1R!7g+W~kn|s*h@G^xZVu<-=jY!z zi;c}zd+&*QFFwsdT#IWCLfr51nN@Z|BIOC zPCppq5OXeoM-24#k179q^8uKq@BlOEUiOJ7?ou7R-USFXw`e`%YEw!4 zk+S1KxfE(2*H5t;Gx)e)2&BNg{zmU7mN$U{gaajp5Eo7&8;D{C z2B|G4Pn=!^e-RIY->(;v33k}Brz=NQvreo)Bsbj~NP7r${5!7@%6($YIF&K?EaxwO z5nzuVTV6u=&Mei4cA1+(plqKf^qhv=LTe?AVF~}aG9ZPAvxbnZp5|bZjEQYP`*=1O zBYiqoolBfo73~2eqvm`!_|Zteuu`Q5Ol8(GG*kxW2+<6ii=)+doYZ-Fc|jIl6>ezI z7u;YxfI*{zr|l4p62qZJA-~0Z{iic(^uGX9)zuHFR!D7kOhI3o;KVnOpt$-)>}UJ^ zX77$W2TqrL-)QviXNM*5tB_$olx!sGaYDM~rha(nX&8R_WPJzltq;wHQ>9H*d!T%R zdhX4vXU}_1%x>yBthd8=Ss+8f$_nssP%z>_(Cj0lj|At^{?ts!?!F#260WMHkToOu zVu<*qA*`vLHgJ63*c|(N8OQAM@2SZMA3P;KiL@B-VRk`k>pFt35W{%^!Q8H$C*}q> zBeEm)XRI@J$;R!xQvoma++s9B84f9!<_4*@+b-M_iQQWUmw<0NU+_&_U^$Ij&_E@m z6R>KQ{R|epzlLnXf{H%Mbhz3B3_XSrq$g90vt3!3_ZW@!#Jg;k{RQ?zA=-!(Ugxp2i-LJTmJ} z51%&_i+CkFe+;o$EX$t)^eGPgQ(Rd~vf4BEokLZ%W+Ip@KaTal%D^64P|H1!fvRKx z&8}z%Lgp~#LFqT9ZRr0wJ|b>k9f%_XT>UJV>?rZeWbC8MynN3KH7wO4glO>wC&50_ zd#b{Q2AoCEW?$v9F~~yAZTJ=Nd&R{++rw${`HRRIM4CYBeor`04JX8j( z6BZIgtZPstPjb5w#6Kc+1{(?(o+k0L92P>Oz!}XgS-Yp+iE2`!9XMrseeQ-dp(TzV z1$b@>#C;)g6an6`Fwfd)32X2;@?Q&G;du8j#W+rI9o)%_FE}50h|>wplXu(Z7`>jv0790K>20>iVsb}J@E_W?I8`~E#k zVq&7)>(?=Wd;whpqoQ(bY;0Si>}qM>`z*`=+ohZ)4ro<|)6$U~wHzRb{Q5=fb~=$H zXal%I>$R{S?;s%kf}a5n2h};tAtWx#yv8}b{G;69m#75j#BmM+{%`m~{+GZGs`1^Jbg@zvGUs@pEhKK2I)4}^0Mplrnx!91DJow|u_bKvd} zN1u!UY6}GSGK)TIXOrk(zy1<`iG`3Za_9FF7?gEDWgx(F)|)KMW5u~3GrkX`XekK5 zRsg*;ZH?vY)w*)H*ENh_=Zp)^s>C+G52$&FT7Dl>V?|G!Mcx|Q4Hex}+` zH-&tbO9rF!bc>N}1h@wv7tINrPJ~4Y-Vc`>Ocl(1D3PpRbPbyWQIk zu)PzEF=y)G#ir^yJf7ekYF@GpM|%cGW*)Ycnh4&Y=Ab9}6N_N>eH1a#llNlx1>w1+ zH<#h_*JK|Bjf)O1fz^05akc`-(T>8JFvQ$0tJ?ZFi37*2rf&~K#~my1&EFm!2rI06 zhuxuAK2}V6Z+_~ya2Z=02dX)JmESXQ$S=nTwy3=TN*Pxwi?YP-Zbg8iYvq$(vTzgs zKmVS!DA{Umb4m(>ucS!~Sesbz(En~74P#D~zkkc3Hx1`D1ELPjVx)=sX1h0$DyzCAp%=R&KD71U8_+mcDSW&E2tk_QtoGfR*Sd;>>pN zGK>pi0UkJ~QK~G~1{QW=z|zQ$kBikZ<%%~xj*X9h5TM70Ja`IjOHxu2b%J(~9%u{7 z$jb`@2c_WwZz7PdL1@y{(sB}Eh?>V4Bmc~l>KB60W>z+Zhy9)(9ernOd%LTr2b|T( zd+?hpxH({Cb0;qFS-a60ttYskx4zZVVJ+ZxZ@8T{__~x6zD#M?|B&4cTn$(ZAfaqvnB9vWS z{V3o+k7#jwd%K37o&xYKdN(iu)vVbx9sDQh{JzA&Sb|X?zeY#P z0BhT3A9ITD#KwSsw3wF@*-yB55HC_ZP`M})?K-6TFg9!|B2aSV$ zz(DfP`#w%5QPTua4iqp!{%e>W4ppCikaB(`8N&)+u_5SBP;RmqGQ3Wk{m&Kkn?qdy ztsC}_lZgQ~gggLnra~{Ip5Z@h*Pf6gl)5$os(P}3)4XTkyQ=6RW5CY?2im>zt5K7A zpW6uh+uVs&PjQi32+V|U-E{pRlnk&S0C?{E^L@b8*rFKzd(8TIavyLv1HR64EzuH? zq(D5?)YOz2-^6tg$nl1@HUm*%^ljkO)D%z;D>r9r91x9f_P^l1&0UILi;-^54jB@5 z8510ub=lt_P4bK7yVp=|D1oxnT5raCM2>45FZ8=qQ%2eD| z?%cUktX~M8REb3&J#feV&zSA(;xbifcON{%sCgsYqU|~G6kl0c`MXJg50qmCC8coJ z32;-c50L=_Y+O(U-2Utc7z~(>kY*L^LH@d18Wra5$6&pz0so#0$N~KxQhz3oEO8f~ zd}nDUcFE&^WDYy}%V`IN3P&utTa!pY@Vd`Rr#UNb)^;D5hi zHoi@K!xWdt{>TE#m7H1f`_KkYrZ_Y1PcP$VhhJqJd4^-!!5I z7sh=PI?$P?ogWmWtD2*wxpR}H_EtjA=bqJ;^<%*q3!s7h>RZ#9pt7$k0{;>f6N8hq z1N66bhtAJVuN%TCX<}ZDgaQ%}C&1&JFTf~sxWtU@2XUHo${!ayQ%&SLcCpQB_P-Q> z9T7m+7F@MeQHWga0a;IWy0EOvpBI|A>~hh5Ziv_G0-4Tke1>nE_{`f1a8#Lk-r2hD)d(I*yt#)%bGICZwt)zGsW+NGnH{Z>mFpBi5Y7(auDWtO0yo6JjAg$1_;o6b~hIoBt1ins2upYce%er&~^*Ym(^cvi2qK%Aa;B=KV`t?6XrBQe=Gjfs(AXT>_4kGGjZQe)&E1{LYB3?P1u;S9xt6+W&8 za!jHw3|o<8uvZ-gG6Bn8M>B9q>l+p2ZnG&2d`4SIov zgsAUJlek|sLw0Th0pUX7@)1~X5~`-%F9SdhTkB7qSq;)1lpr~f8^GZrQ7s<=2H+e4 zff9Lkb>&NZi?#_ILs)2>BTQcHVPX2zP*6~i_SP42(lt+UCLDj1sQj*QJbl@V1qICT zUA?`x^j}+BKXtE5t*xyUnnS(8%XjIzP?OVi5WyI@ zenB=>`IIdP2kIIcPJuSKC0_fZgM$!ER{;K5>4aOxH(0!BzzT2wAPt+)GB)n7aasS@ z(_;p*4j79R1g5A1ybRuy%b+sEFmz(OebF&QnRM^aGpW#L+quS3guzohO$Rk8lJ&cD zc@a<}#0yP0cgRnb`EHO)$zr>lQJ?+5C1cMJOrm3Qr5t(Lbu zh$rfI{_A0o%ehX~mY18m`O^(ZbOk!k0Q3gO-@f$r7PTnTvo-@edSg6R|0!5E0TANW z60^>gTrU>61RMc@2cYb0eSQ6yCU0kFKBWY1q6eUC>^jQVDSRj@n)E-<9LJL<*KZzx zxDA}TFwEZZ#oxbw9{`j6`MD>^PB_QCpkRdp-oHghN-8ROUte+1>G7RjP|?UkRrQCc z4X1>J(cBkc;so#p{0K1N0k6x4!F1_D$p9ed7tid1){l%a>twr}6L}2{joTzz}{wAV$pDI|wzggH;2X4E~GJpJE@x-}#s%;`AY3O{r2| zMuq^OCsr}B`v(IZ^g_1pLW#P;>%Icy*=%5FcU|b_MTB2m(M$ z20kXyRCwN#b!-eo$WhQOkbY_gLv>so&tBv4H1h z9U*>KKbWP+n+mJuyBC^+hpYsEQ~6-rz#-QT7}-bth0^@;uMvYIL~)yNy>SYJTB3iq z{sYqBs4CT*Y?Mpg9LO|3FXnmV^!4dMF7neK`cT6AX*iQS^$-U(UB7fR=N}z8-vB$f zHWPy0HVJ?Wnb=T-MKHX$6Tkz%;@dz1ciK<*v*y&7AoMOReXwsp>VV5C8jo?VG2FV8 zV2Y&ws<}sW54h-?tSf{Jgu&hZTh{zoB?+uqBBn@^RMppphKAv}_;IN3mEycKG&G@I zA6x9J_&*Ilsvrl4+A{#Pt*}UGGjewMI*T`{*CRdfBq?b=tLB)^RN8^J|GOy}%g!z4 zd_OKO4s`E?0Yeiou@VOd+Rao(ff8#|_Q7=e;tFZhUeLzpKg9iCU1{WaMn!NfLTu}t zU~gw#QwL=OcS3&qrLSUM^L9}k_Xe^fkru>HymLz`L1XBh(bAb+X}3%Qztbtpz9KOO zK*{1}Sc4A?P9e1tIGS}Ci2C_+aK~A3rczUrVA@v5jq!2JH^A738toT1%uvgG-Fs#6 zA6{7cqoAsqU0=^|fGBoz#ZxK)=sTUxgoA_Q-o1OS=LJ0A(=ExoIZ(Vl#K=+hf7tpH za4O&LdmKL~Dj`jZqLE}Oq!2Phks&gVMTiW^Q09^-p&}KD%raG`%t{euo*h$3GSBn$ zTTk_RfBxU=`oFI0{k|&4InQ~X``-87Yp=ET3!T>`5Suhy@bdTKAAT-oa%4xtf~LQR zb>6TLH3Mt=$TEgU;B2^t&64RD(qV0eNe(=n5{Dez$p`@#Gj#~c;p^8MFvPvm)bcI8 zmYkI?0yN9t_oyhvYymZ%#3fir&_lJN)=+dP#BN-O%Nbj zua6-yj8~39%DffruN9c?A9xs&5UrW>~~so}`@A`1r+(Z*huYN0|Ljgja1} zY-Rj=@BU?lzc27b`2bBc#%nkNEyiBQ#K_!6 z+_Ek~egF~$c^Cztnu?0&*IvpcfwT=9Hhih5kVq09zy8)YwR2OSZ~ho2eO~*3(4}I(!}vWB-2- zquyK)1jl2ayWm4B;^0C^Pw?o*`UV5<-CMudFN>!U6)n7r9z_EQAOW}5n>}^)w?VYQ-=;9%fMk$G# zvW1030V)Vm*l`<;r(Xe*Nl38yeg637V##lEHXmLCyeu>1$>s!kfDwle-@kKbjl=VV zghSv}5)5T1ovr*+D` z?+*vJT2y3tZ;FcdvoJR|_qFG6KHR%z|LHHM4;(uErFTE;&Wb*d=5d=pDW*RN_cdbT ztH?WJ;^Seqr*psc>PW*d(#DOLCln|lArXgv^2R>7e&JPO>uK{P8Rb zIHyZ3p2y$2xCp_`8K=`zQYc_a^DEYTy_34Sy5vj6>|39HJ?-Fd3?Rxc4AliW=PthB zF{7HgcwS#$5s&SQyT*kJw%`jzUf!~03#dX3&CSPIb`5=*)yz<; z^4Ry-xny3MQY-unwGqBP>D=EW(rJSc1=0`|9O9?+_4VW9OOP)~9+Ly@E=33l9?#k@)Q>9z3VdQ~YYpmE4klNn#8R z>WqvGzjrBF;&aW7on0?w|GNm)b%bhiUlevJ-iQ<~PDQ)aPs_!{g=bGwY?^-5qTx`Y zAC8u&`rco^UZ;D8E13lnr;Ci-m~#Oky^OC{Ifp>I5$j&+ydF zG8}*%5Tzz&rV#A1Gfo^=2b)p`r*aD`a`~EIH}ik*jHCDSd4%y(Fy=ZGBxUOS8a;RMn z4i4Ogh57YaZxL(!9$V{U%QOEg9u=N}S8`hMU;=Tz_uIcFE1f<2Xb(&feCdy&XOlV7 zh-85P?(Y14oS|ctt(fw@PeM+3nDBRJpPy09fX*}z-9PY_m8;EYgXy{z*;%V z?C&YztFEH5sb6{@?l}!mhnA~CB%!MswNG4`xK_MaA`+1217&pS|3`v1FmG$K>UVIf= zm4@H;iK;b++=K>U3K#JtH1vLTpWoC)M!dQbiCSsEZdy-3S8v`NAtD&@%TcD2IFQu1 z0nnfc*n5oq(#VmJG9dG{2D6X%DOa73EKmlfUyy>r{2fs<0^9A36EvT=6kqGJe~+x+ zkL^WvBkv_)4a;(S8{+gs84Gw9DF;&jKeTjK{D%I+>c0IT|BW>l=;YtH7L!NF1MvRY z2mgYf_S)C`s!pdhQ_0wGI>O6~tT%B6Z|e=H;SAfKH~7|;X^G%K!Wuu@LCAjb>%5-- zmd9mm7VJt2a3uoF7sSJr%23)gwCTY!0BMKJ!X~2d*>{pPFjVACOw1khIsWgPDE|8< zb=Z~AO8X9R1LJ6L9BO$*{T3$?j@voc!ZU2__((=mp)d-Mfnw|d*<8^-k5$Uv<-doL z?L2Kkx+=tiGL&)HPd571yLXRKrxvq)3KhKanAoyWOzBvoP*)1sbaE$Bc@y8^&TrCx zZ}9ZRiwET-^vi#ULdE+GRHRVIlC#0mL{&yn- z_x!t&w2*(&6hm|YQEvYTX=RTF>XB}SOLQzk8wusNHEzXwUpqTHQqADBMF(-{;wnCQ z2mM=}-tXU^aM<1iQ{TLE6@`#;9P{mU%saYcBct;5L%4t+sQ3`;DBf6+h0gBAzu>oJ zXwViR{*deMFxW(~a;i3jM;F^#9m@gX0m}hzVtZm=2M<0i{LA1pzst;35<)cr2aX^% z5sOOf{=bK5We(~3$OUU_>!;7X*GAU&qmUsQ1~@CQ#UG6j;X~;iY8b3B=K=$_V&d0- z%jecDAEr2Ym6!#fm3-zh2AhAU!^e31|D)80gB$$$fRwWq{BVy-81xnZ`c^ z!-IS8m^1y0yX5|X^fz0vfP#aANdW1d3trjG8pu)CK|oSUyiaNUK2x3oivBMy_|hU6 zdRgR{nwmaFDEr!b-@aLf1vkh@C=5NC^MiucrbFT=GgY%)(px0%FXSGwFvYctM+e|()8o8_YsB|k_B8ymRgH+}tXE0e2>AAh`{r3IRhVR`+Klzi2pV^4cc%@8 zqA`JnG3tM!XhSQ9cX^Mt^7ru@zGY1@Xo%lOAulhlg&H{~ukrGi z=^)<&IqsV)$DIq1mQkq~7$^bpiOFl|J=E1@laqZqmn({iIVpnr%dC?b^hk&TKESQ8 zPj4EQoou2o&2~cprih>&%Du5yqPM?k+i8p{AW92t+u=~sI zPs^X!ppzn0r|)+HSN-TfvvQPhMagE+oQ=x@%J*Dc$M4CpFY)-sZijjYK&I3pL3{=512w!wCXRrMxJO8S zc40fs*^C*w3}+fdj7a~>)7Kreol(aoGffw+(;s;Jzl^g2X$H^`;@$!nk**Z1*?jPQ zEJhnZEYPj2f1~$_Cgmm|1^pcs#}A%ZYujB+0e(UW8u6%uN_)mLc1+Ql@IT)n?s~$h z^Cm~MTwsW&I@7^E3C6SkwXdm;?8E1=zeDPS`$PR^7d;Isa1szJ$0Qbmf4!rOJq2R1 zk$Mt2vC>(rc?2kItuVl~-%PKo$V(`{X_K8-Hd%To#8df*YT;A6a zZe2bo=GWKoRR6~gd6I%4dwSYOj^?5$u7{(esntE>-P6vE4L6A*2Q)!aN?i3|0QLbf zpp66$IJNt;E9?#*ovDRa@1;g^M65!$fA1&lIs3H}jDZ{Hm;6#Av)xv>4j(?FtV|PG zSXfAI4BGHS)fQP=Ol<7wTuY`#?=^401*AAK`62JDLcx9$mgZWK?R=9A0b6+@ysf*{ znHmi7FF!`VL_ux(>k22+@CnYv*ERYs+h$h|JObOC-5S0>gK~0jtdsU#w=O>|arYIn z%Kzt!y!C4T6r`0_>C2*>2m4dQcrCimv^J|u9o3v{%Zfjx-9IzCxJ2Y>L|U zR3?||&l$g4GP?GSN%>|H+JV?Qk49AU0PER;xsS+CLS2F~jauyHVVz$mZMVWfAuN9c z?oD2r!=-#ATvy61pBTrIHwk5eq#Rif|`^0?t?{P-gzUm8)vy=q9&Gw((3y} z11F1XL1amoE~C45ujT00sDroxo*uG8e-27i8=H3jwDDLB3(W;sB-70PH+7oY0agno zuv1JaczMPtz9U12M4!tLHj{eLg?Sh)pJ!2id;rM)& z+Srf~wZALz4&Oy|np54H>GJQd4Q!WFzbQ`YkJ|>bh_GQzi2Jvm%%h7K&2Ni8TOUDT zbo$!!wj$dQIurQn%-8P2=R5+D+F^HPilOj!|G-zq)q5RWUIi$0AD#Nkv7X*>cZ1P} z+U*8unu`5xVWuB8?3J;BoRAqzjQt&SxGNVQ{!QbYH-gH6WkZ_ms}8hx;>FxtW~4;} zSGfTR0Xabm=xg7c%iU4T1*x>*7gAH*HZoyd!aW%nw!{O+0z3_q%F^a9hEscVD>^^g zR!f25y{>rMQ^SfemNcq8rrnLugWeycrYl~Y*1pQ8e*I_5*RagHx(RXLUbCb)D>S@gFE0Hz3KJ3YL4-^Po$5Ex_ zYQHHyrKt=2i?CF2W=A<5HxROs207L=I$eK~+6ovi(-Q;?#^bTTrNjMU)P!UXX-Ckr zXD$0@(geV8*>$?s>mwzQ z)5A3)s&S_0)y`ScO1Hvw&QU`2T16!nrmxwfEd$~Di6y0@H)-R~&)2D$ROc`_bucNK zUd?O_&(>!s?qp`_P7~;b@)ug(OUu&qh*kqLLpDvg3BFLg42Ubi25^!XBjbLNhjy&3 z$_758(>oG_Vr0y%SE2z#sd?`f2L|Ev81)9w3JizDpPI2s>-r~=3vm`oCNKgvmz(MX7= z65I+@CQTJ%Zgg}tGAnZ3{|Xm{&2~+}eZd}aRS>(aDG;BNYo=7u7`G0~P7Ca3n_8Tf zUM8zk>fJvYZM_i(^-2ANYNZ#{D)p>~7dHvG(i5&D5_d=InGcuk3ATOOvE1}3vM0`$ zW%CxhIQ8q;lRkQZc2}8c$Z;`U+ol$w^d!B2a)w?wB+BX0pD%m;Sn8uedy(D+ZTr^% z3eoRsjDR1&X0-lbTnLD0*nLwi5Y+V6wszk3UgoqO9M4udvc3TaG<&4{^L102&N!`o z`t|cIDw-2807aL}JhSbLQ-9R3jcx=uX6tJ6i3+r%6C^yM(SuC&71}=u$;qF-+aB>) zaYefwrv~I<;B_jaVhoh<$ub2y7)!P{GkkG}+v1TIGy$(O!$PAA_Srv-9r?**)mf-2 z`WpT`X}lFHT!~arwR+9Gg26-sNjdV>TdFYqW^ZmX>)l7vwyY<>8MjEj_GY-^_n4Ql zRE8{31IbixdnT?j{(*+=A<=(Hy~oN6bmU^m-NYg^EAu5fl?;pZqY&a10?8;mksKtB@QQ?z4I&B)~XF~UM>8!lNZC+;?r!Fcs= zLdf(bOMoq(#nZ!eqB^oUaCLHPciPQuspVVbD8~99b?azWjKWgPaiP#f$-TV3x?pQY zb%po?1?GDxF0ejY6e(>Hwo)ikDKr+qu+VvmSUeAQjcN-BxnR5dXMEw=&#s3g7} z-VzmEJ_I=CcMfwr!-YE=EY{c768+F)ZV~8 zp^7^!#42vsz3-y4Hfx{{N+$N%Jf7Y0#Vdy9T_1;wng`Xh zn|1Pv-PX4^XU!CGfKPCzx35nPXVU}+CugGKVB5RPwAd|=I%6G0Z;b6B0okleb9N$; zJV|F|Brl*FPZ_Sn)X(eidcb1UNC%Pyu)}=qosgoG!ToAGJS16sN`RW!zs9Nq4FJZH zS5)?Jv9nXBx3&+gy{Wl zcBO?>{I%DHrXY1Gb)3fTEetFPzZWq6)IE!HPVcTVYPELv^ZMqv`OPlVvSPy3y zA96na+>Jm8h^F-R2?wH}Lieo{t~lA`Mx#5AE#AESWxxj~J$ClH=-*H8Ee)Y$@o!c` z^@{;4D$XUKH9VBu6IcfCNR8~vLSbH6aCv*HlX8Ha9TwLF^ErZ&O3bR&w5PD|=TD#k zXjj9S22 z;^C$AR(y5h9%SmcGzuH()twi6eYuthz`i)ad-(9l&;-FaMan)zI3%SQLHXc=vg@H<>I=;wV ziBrDaFz&Tge3wMl*`iBylV27pWwU|{Vw=L4m!d5j9V^7|<|XqFDhdZAHLZrnoGn^w zG@YIvrte|A-#V8b$D+xyX>=~3b^DAtQkvzgvCHciPL)3J$s11% z+yqa@c#mu?ZlX^Kegm^V;t62KEi*Iq_4O31CDSP70obc*YRbvV%GT__Uq$gMD7AyY zVt_f^+t#b7w-v15%XP-ol>ILqf_nPOa9gHTr|BV~Fn{RY)zsBvP4|{pRO|!a1HAeq zw{-F_(WLl__Tn@2WI;J;j`u3Utt<;V-_yd@({>Rcz|@C3qj%G9kwIw zId}12Wb-X_JsV7PD*|iHuO=iVsja5w8yFgP89`ax1X^iVoVy_Y3x4|a`0we3NFi#k zR}dfzzmdM0AY^$u)4Y~BgdW)KF6dg#gQorer7d&1)>7pzpjla~`(Qz1>+ZN6z zx0TgpYSU$oK22EdYR^T^#ta7}ua(rPSL1e-DSQouLOCm8p$!jIs;0@wE9~z$T`PU;_zKGj*{9**DTSTwndUvs zPr6vTymtDRQWqF>4cO7qNj%uk>|Yvb8PV3(b{GF+H?F!xhW)nMQ+3e4sJ%Ya{1lPT zDYW=1Bz=B?@kHlqy`r_O(y=zTjC-65#1qo!=vLldzP$1H8=G5$7VX)#ZHGo(dPcYP zc1Zz`sF|T!Y^|w@3{cO`Tou#4AnkR*#&1nhqdXQlAiBL~I%{?Q67OKS3!Mec-2OBy zcHsOVlG^6z!DfaAY*?HvP-%gO!VCRKOa4s(<&)!U9P@U2=H`l^V*+Xu31sB$JUTMK zsL-(dcz9sk1`UkvE6*^48js^r{ zGS>ZJYM894=q(6WKlXFaP62NJ3j%`n06j>z7lXJ_e_bpfM(m_U4kpT3tLcG8(z!4p zI#8<((##;%Achnq>*YKK*#o}?)-eg$CIG*4z-Ji5rZyS6O+Rs73U&lk3syer;LEso ztS6s&(J;JLyWE8_2Bx#e$CfG4;iDZGrD8Z4Ibs7w_8(pTryylUJ(006^8`3-)I#%p{f0NA2IpEVwS4yxU%B&57*u25Rg9C>b zcZ|H-ojJ-hxq~oN{xTn*eLl7SR^%cD(QuGHecD@OaR1im+B5i4F?pQMdoC|!3!@ZC zYJ44X{)#ns%=lo%XhlmZ?3lp941F*!WS}%JW}83$wv4qWi)?La$Ht@-@wXihfO~ST zCy*vntyJR4c$;n3PI)B3#ERSKXXpC$5679d^?0v=`pz!8#_ZBE5L3ebsB3gjSnW9x zq=h!U%goSvW|!2&L>#h$JL7>Bga3i}guaK>z~3|SiUNrX09xePBPQU@kp^fq=O1ry zRfvv?LdYX5H^!73F*Sh)2;<3_7GpTvC9w?@8{M_r!gOOZR#yd+Mo+gtae)sO3FWMEnoIBm5>&1Hsd=aFf z>Vb(92RFaxJr(ZWS+^oI>rP>zvLV#{8fUOLm!bVFie$9&63OaWTjsoX%=JEf`n0*q zxCmu*D1@+-}!y0LMyh`{6g75xJCT+LwHp#eaDK<=$LiDfg3g_$Qut{kO*ZlWVlM!*~I9+<2Zd|HrmK9od-Clmuchu z`KcMd7#-=h7ilDg)TNa&C?8{uwpLhmIh=TF+eM_Kpoe%bogdgK9Ij-Y)4Tl-easT{ zv3BRd6rNuL>ISRhfgZ_)akb`v=_xdlGRwb(fdH4VnkEzQWQ*(j<(htbTpD&y5WAwP ze!Q3AEO9gY0ft%}42w8RE+@M^$S-B^qfQMcO$aC$MkeXKCm>Ee;#{c1^negZ`( zcHl_i;z*>MnETQR+353?=UKo;Lz5a}H`Fl>9zA&1f+8%~-)kH}4I%g)yC9BA=Vwv6 zD9G%UCF=UVNQtm(4dr%$DUM?S8^U)uT%u^l`m&v%Mj25eNDF^G7o!RbUjjLMARF!M ziY_YnYA6iRTzV}&zRlXd>=c3Zm6ZVlIRmy-UK6%sxT1xjKEdI|cLK?$L23|DazHpf zy7g*SBt_hr_1SFUt%hmMo+z<8Rq&vYz%&{63oAbpUw`QU$(gZi_`aaj19NNiyJNer z->P3X;di=fa^YK8xA?fafg7o4An^R0r-uc{oZsHV$20uF1;Uwu5XFtGi6G@&nJIlV zn`NF_^h)U}qE%i8tNllde8t`_&F=D~f-B)DXheY`44fXHtd`(QR4a;aw1C0_^C{?% zkf-YBY310(I*(+5^>=(x-kB^qnjiFNzZ`XV{gX-4Lj+ZlnGYo`{9>nn$CrSO;HTQH zo7OA<#wl=7IW>NTVuo~gunpp>HdcN6_7g(z0ugB$v#J$tF0TCo0_oCOM0re76o_3{ zyRBeM>PGs4p~tdAj`AkPc(6rP3%ypq2mV4c=H&0fb7!@gc+mp_2&9t|g2Jox!Om!E zx83w|EfM#?R;2etCV714;C$J!$a)1fuN3X#o|T@nhM~A#@Gb8 zi&o&Up^%bBAClfj+Vt}Jz5A?TuI*XWnX0FTiZPTK4R3Tik^Ei5S&8%lTr(_caLvFz z(&7$@Tx3PyqAy+B^jHN{on7>DeqJtwM<7;MdNYN1L|R9Bz!SHPW_Q&TmR0yY1hZFA zRBNOeOQn=Ra}JL<_OcAI#bMM_@KW${x5@8R8QnJL^{kREm6~^S{D#zsr9zpU?=QhB zo%$DWhnC4rk~)G^qu4N;ZmG+K$KR<6dfR1#j6cMijnvXwTh^h%LpRU0W}`W{kRUE2 zoD8jJ9Fx9#_)mZJbKm6mX=n6e_kvQ6vXQ>aRCm!do9wj!YQ?>P0Cs3e5^O5oY94aS z`xR>W(IWcXsg`$_{d832ZrTuCgGQrgbxQqDOTL@)rwg~Q%$lIZ^dneXfX#jGRcMIP z{1qOa2&H)GwB{s%w_ACi`k^=fhIfKo&(IsCb}vR3&Glgexfp9zQzD~`+~<^rt?#pY zwzPIQWJXi?{2?z7QO6+_Guh1Pavzo81`mI#NBktNJDa{^Y=JEJDG5|3_6g#vfmu%Q zGfok*SyU?Me>v~^z_uwvi`$CV*(#g-KWQVSa6FzYG&~83AD&R`uN7`eGh`@!d{E(x zl9II@LsEVJ3D>zJK-VRoa}WTU&p}F>D>!6PX`@Apis$wRqdnjyLL~W+T#XxtT7GKE z9^g;d3l~hF@%8sVC@%i;AM6GyX4338eCC0y`G(xe5#C*CX ztkQI0W|*Y`={-73MqtC|bqwTi3kU?Eh>C3fu=>y({dc@GGU%toc=Ml58YeJ62+780 z&hr{bJo#^j1EDv0UhG$iKzK2mtc|>1Jc1#jIzBFs_Bfk`?gIG7cua`K-;oREbsNK@ zPc1G4cB?pHLJRo>1SW4&UEaMjyhsJb03^_0#WWD658L?+HqO-_1rx_Sod3km5w&L@ zm7{CX^NrsgDt7J18kBYx6golWpFqEDOm*OL$j0MFYFOMXRX?D zI&bvQMPAYGI)y&@&qd%q+Ucf50XgtsAk(t>hrI|Onezf3xF_7(6}}Y9Ub}V_)hS|A zX1JXMw35$Y;L*)?Mz!i1mf*P;C*FR3e)jsWZ|4W~5O)AJuAQS{1!7N*bHAhd|CIVX zOz&52-=-vFy3P$1R8K(pKqG51L8zXl3&2y@$HnD`QxHE>02G4@LYri=%`$Cm3fVOMyryP6t3rW6 z8hsNdxvHwF)HFSjA!|eJV~?dCwrA(!-gq#_TW|Rxh120YFu@rIS(HP#lffY&{0LeE zoQHn^sXjU*@n1|;wFcQUuwj27lcD}~XK7!hl0DuDLpX4H2m5?-KSL)R~DZ9H$t&mLtrjAKX z4Z!Mo6cN!CWAo2h5)06Dak~zzAln=H4P17oDI>hEYkaiUEMHg z(ETl=*lk1npK{cUU3+__s>KOhQkFHD&noWg_b>_Yd>XsWA^!<0XX zYzcbj;lrTRZ=G6O)Be_`y{XskDA<}qjxIHCY1<940e%Tvr@wm?)F5|TAlA2~( z>fdKt^#YS0F2w&lTqbz@I8%y7QsL@whvDAb$G^lErS#TeePGXZvqcX0M&*1|7LLz+ zT5Em)Giz`ZB`QZBd$BRi;MS(yoUlbWRV7hyt9g*v++$sGXF7taqIX#$Sm3m8%Sg6U zY?`#?$} zEzX$A&16x891{^|U}LZC0%MEPJiRLGR=T05bxN(N)qT-G9wi~@B*+~vqh@np*A&OEeJ zY1;Wdd6U(_*)S>J)X1o)+X7})YxJuR9g{A(w{vRy@Qs> z&N>da5nOLQQ9YK)FiqlNUd(A*2_Xr(SNpxeEB8CC@1>w+Ivp>uH5wsCg|X)?7+h`N+U{6HObS z`Zu9X2I1{e4IKn4d6CQ8z=Q&zny7pr&9KOTT5KQeqL0Fk5Sri}sP3|pM2R-SO3}=H z_utf6Hq@b;_Spq<7$UV>lP1#IZ0JE3DK4}5Py^MbSFGG?sZz4yH;#CwuC)4 zuu2mbN<$2bfcYou$tmXoB+{AIli&+!!C3+W3s^+LQ$H^{T#jp=8}A8QQq+!sN=c+F zvmvnbbjyOKCx6-cA0^S7UO4=G<-_{pUs<2m{o!5l!a;dq zui`?^<@&*C%+EOZ+xc8tGtKTvFol2xGz9C&7d`3O5B{UQ*=XS+FL;1rE;D050Mx*1 zx3=a*iFI3(!i1WjEAq;{^xYDE`ex{Qf?iT?^vFCyMIf4rlOhTAy$0W>#%d3ym$zcS z)m=HqcKw+5S_Z;A3L46N9hH7c!o0DT=|_|mu1q)$W*z453sG5gUw=*dQd{nVUoL~) zN`EWT1I!jW!H?VYBkW>OIuwG&C>dh?x%jghD1v>7LEr)l6&pi+uRk~MeK{`=bIh_@ddmVHY^vZvhx%w zZ9gVH`VITCvbt_9cIwOohXg#TW9#kuh`k`h@!Uqoc?m^>oq{P1i zpbU(^Jv(Z_+>SE?WklJ!jRxRp0ZZoO5ZMsAF4q(XvWpqm@ z9tvmQ(JIM5CDEAtsy8X>&e5+nH7&`ZbJKZ)g{8K`!FRzEt zQr$}vFfHn|nwpwof$Ec696jiFi)@|BQ;LsYx@6dZWr8@jlS4<(!=&5a(h(BfjA1%sFRgmoR9=T7yTu%+{huG z5*p)|AyF%Y@wU>gIVu>CqNg7DtN1(#j(6_^ni46(i&r(l54biY++a~t1~Sy3`EFR< z36V?tM3v#3hZn)+grT+c`o!1m&5YJzDjWCvbf+%f77kq1>?>L?l~E7RVTvzRRUyyc zGnEsp1fnem63$+-;HI%1qGoegcJf8 z1mUzG0we{*Tg4zIa~$9nVOdlAYaE*OY38WJpk|Yl5D5=Jl?~eu{0&Gt`-e9uX23WO zy()0QBY3$pC?5Q|#a1a!%t7Unf63?E1 z4FgNJbMm>~zh5x~;cv(0V#h#*!N84LX*PEJ4u*MLY+NX!$-K5ZB^pCFrW(V}9#7dr z{Df}Oc1U<@2J2+>=}#LYq`!>`6B9Nt+5@c{3$?Hi?ux2nxG`h)hayHWr53{rpQ=w@ z<+ObvWW$-As$iU=IjiEu0fMAY3EFMkHO{Aq&`YV}#f>Zy#xmG_BoF3~r5~O?;nMs8 z23r;YVy_R8O*aGX-NRt7JwImC&mCnR3t;^OAN!oW)hZ?C|B?ZVgB1$ai_ zK0;~#y1+Ac2JCD!?WwJ7WS9GKZ_2jYg`}cL|pV7Q5L#KwQ zl~4gdIhi=9IiP56F1cXL%kPUX~0Jn$^QgJ;dS;uA#LT82t1HoV9 zip2cSAkx4!B20lJ{_Weh$Yn>7a0sfPClUGSW?1MdoZabcS#$I-TpxiCx3{;`FEOzb z8{_4n*OG^~LxJ@BQcObX@2da}cDKJyOMALiRo{1EUSb|%fI3$;nm_9jF5$Ngz#;mS zpSK-Gp9g?A{_iNi{o3p`wsJz1lI`r`VB8^#1%e%**h?b zzD`VRC&gU-VlQ{+I!{>lH|#obAJaD^t%6tJ{(oq`gM0f)J2ryz23ks326%8=-OhQ~ zQ>AT4QdB5A-OBd&z)B!fH#7$u*KZ>X6#&A=Lqzuf@{hT4^muW`2%{8+zv(5M69g|1 zu*7j;HZDnKkjbZVtNV=qjk5Y*E>i+3x3+d7uW_ah{MQc=82}yvfhuDQ1R-HFaf9EW z2@04Cnwmj>hfRG`l23uO|x!A4EV+IwgBzi=0Hq8ozc+WTw!EpOVd*)KHCk3tvREH$+)xpM%W{pr;6uUX`Q^PB-!sXecN3Ui|EHdkgJXTF5H08UX zDcGK&*JHf(#yKgg_?#@M4DWWE4Yk+cZUkxrK*sF(?=)aKqu9YFyVwK3tv1C!IxW|GTG})X=6`p)8+! zFhRfl;STv`(~C$b2oF!h_J3T<#Ke`4SGLf@s`PRg6XlVkN#_#o0_5;Ezsn6uv>IH;V44exSffKYURrW zcH-?i!ORSIWTQZubeG=|mZcb zG{}KqQ+}emw-+oyUkvuz_W82KKv7d$#_8`K;-5fp#SQ%guIGNYmeYK3Cx{w-3ztk9Lexz;o5U@0B5Nb5Sc`bds-ecs3=JoCm?%~DA!*q1rBUM7b7 zmH03Og@v(9MaI?f9y|5~wrpqzeZz8Wu-qT}>k_I$yuu8E42z;*ox9y^%~?7r12a#o z2p3&E9idjugKh>!DW8z2kw#E4MlP!j$V2Jvi?Q{|2an}gb{(Oq;G{dBHs;&8&bICR9Xb`^$GP*Eq0D)%fH zRLC$eil5!PW3T)gaaFK5u9%yvc%V6r5`cy%OVswjSH;WyfvoYDW*UYWiQzodw$OQ@ zrbTugfbRwGW|v?8Cp{47 zXU4sW;K@H~(`~h1+Z`=;k(5{B=|I{qHuSLQ-{4_1@V0e@Mfl)!_mVeD0uC}yaJJqi zw^Y0el#q_@FX@@Aqi8XA+n-QLIQJGh3j~O**x!kEpJ2J`Uqxiy?8`U1MHWceon9?&4D($Q?5EzkEjo%X4hcAf zBc@rV=G?`5!D?!AumLgu1?Pa>bfacc8aO?)r#jd`+d`>?ylSAu{_ix|y&Rr^43Wm1 zn;Gp&8%e6u9Fxe8nMxX8c(SZA^EN6Xk!`^QCE) zg3LIEVOj<_32hp$s2&6#0_+5n=Mr1+G=?q_u;0>{_x6Dkhd)z3`Ql+@`>kg@p)4Lw zbgebe71PT9iCx0r#B`hX2!)TciKx+)-;g+`wZ937gYoCpuk5 z30ID!q!KLNCr`YA;Ry?C(^>QAWE}cA0~bHkIH$s&{Iop*@48#VUn?p=TNqeD27D=- zjM=?$cth-Rg5c$$k){F>Uv3)oUT{5um*khMJjY?Urx0Y{%a;#AoB?P8>l%U$ji;9OWhu_BzV48%Z4p7s-enXNR484h@zr`f7Tw*51ksY^R z2ETt;2&sWN;fHc$hbJ3r=ccG*K#Ur8s;1OJfP_Du$sLSi_YhE4`2OjZgbHk#1B2uU zcjkLk9!79?K1Q~7F4Y3-OSmtKI+pfodmPx%poVdKug=#nxb3{L4TacwYu!)yHU5cT zgBZpYwelsR)?(4SBQCaQvxNl3{g7%x`9yqdu#c1;XwAyY?wXX^e^ft@x?yuA5)Q%> zoX{4=Jb=!l_<^oauV$gIGAy3@42sle1Oaz6e^N;$59|s6h7CK52@f6;(T`h*| zrqnlYR1}xd$d6B5MV7I5G4=u9@zf5&g#gD3csCR(WxkUW6E)_702PtPU?Ze7C2rJX znDe>;n(#VNv6yv=7DlIw(W$~5E$b}bE=;z8{fwriJUmF!FMr)WO>2(p!S(^d-_Q)d z87z*IsmBwUfllGWSywK^nBF^$T@t2p3+Pg6Zu5WYB&>GwJ5|XQoC+raC61Kd-PieNl=& z?D{Hor!GW9MaQa0gUk`QGqvh*ZjEC~W-atch$d$g3VLq0WlX>SO>NNlYe8Ge{tgh& zgz1|C{QQK6gA5mnC74B7G{O-rgKc%LOwoWv*zN#!d|+Aq$Y?Pr@@tn4(WDA1ON1fMw7xV}b|gU%^*NbTw7pO{4}RbvPC&sm)g3^HLI zqxnub`|6s?nM67bG??usWYE(B9JM<_{ZJ4kk`gJjc^vcf-M*+}XvXcV-4)3Dh<5BB zcdlYE)QY7U#18aYi+Fx39=HwQygc%Zz?_81eYCg6svVeGUE_Z`ccd%K?q`4DW-&~^1rHiPgMdCx%LV^-y}atYr) zZP0wrIBiSj{IIvTe4W4SmYJ>9h)ODkhHP6mT?nvB;8R@# zT4(F3rbDE~AONL9@oLQ5hMk*-dtsBNlVTCNTG~H&y6ms}B81&IVU!$t{ErJQwn?mv z2Rf!@=R6np7qHU5+51GYNHo0aAx<9=w5geQS@?nL@p`puj(KPrL$=KMS6newNJu;I zG0#wkQwqQpT!Pf5rLP{%aKv~KZdctq*_LV0)xLXLq>aZFrX z)=m9=&xpIp?9qxu<(MrYbk6HQZ!i7qr}wEkbiYDW--_>ufClE)y|S3h)!ioR<}7_jNuo9L!f&`pBs_^H*Uv zmD|_{nxT%or-<{B(_G58sV(&Km2a{YfK{q@y>jjBX$bq&DyXO&^TGjOsR0oBW9RXk zBp=G^i4l1xk%)CX1Pu=Du<4V`mZM@xxP_fpz^U}~2vO;wse5v*1niSkthvO*^~{

dFe$k#gx2+R!RqQQPiQHAC#N9i9|a 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 RJUP9zeL8zn{{5Zr{{TVEQTYG>