diff --git a/.gitignore b/.gitignore index 0f0e3031340..836dc6ca842 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,4 @@ src/HowBadIsMyBatch.nbconvert.html src/__pycache__/ src/intensivstationen/__pycache__/ google-chrome-stable_current_amd64* +src/captcha/__pycache__ \ No newline at end of file diff --git a/src/CaptchaReader.py b/src/CaptchaReader.py deleted file mode 100644 index 82d803ff21a..00000000000 --- a/src/CaptchaReader.py +++ /dev/null @@ -1,74 +0,0 @@ -import numpy as np -import tensorflow as tf -from tensorflow import keras -from tensorflow.keras import layers -from PIL import Image -import numpy as np -import io - -# copied from value of characters variable in captcha_ocr.ipynb or captcha_ocr_trainAndSaveModel.ipynb -characters = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'a', 'b', 'c', 'd', 'e', 'f'] - -img_width = 241 -img_height = 62 - -downsample_factor = 4 - -# copied from value of max_length variable in captcha_ocr.ipynb or captcha_ocr_trainAndSaveModel.ipynb -max_length = 6 - -char_to_num = layers.StringLookup( - vocabulary=list(characters), - mask_token=None) - -num_to_char = layers.StringLookup( - vocabulary=char_to_num.get_vocabulary(), - mask_token=None, invert=True) - -def encode_single_sample(img_path): - # 1. Read image - img = tf.io.read_file(img_path) - # 2. Decode and convert to grayscale - img = tf.io.decode_png(img, channels=1) - # 3. Convert to float32 in [0, 1] range - img = tf.image.convert_image_dtype(img, tf.float32) - # 4. Resize to the desired size - img = tf.image.resize(img, [img_height, img_width]) - # 5. Transpose the image because we want the time - # dimension to correspond to the width of the image. - img = tf.transpose(img, perm=[1, 0, 2]) - # 7. Return a dict as our model is expecting two inputs - return asSingleSampleBatch(img) - -def asSingleSampleBatch(img): - array = keras.utils.img_to_array(img) - array = np.expand_dims(array, axis=0) - return array - -def decode_batch_predictions(pred): - input_len = np.ones(pred.shape[0]) * pred.shape[1] - # Use greedy search. For complex tasks, you can use beam search - results = keras.backend.ctc_decode(pred, input_length=input_len, greedy=True)[0][0][:, :max_length] - # Iterate over the results and get back the text - output_text = [] - for res in results: - res = tf.strings.reduce_join(num_to_char(res)).numpy().decode("utf-8") - output_text.append(res) - return output_text - -def _getModel(): - print("loading model...") - model = load_model() - model.summary() - return model - -def load_model(): - model = keras.models.load_model('src/model') - return keras.models.Model( - model.get_layer(name="image").input, - model.get_layer(name="dense2").output) - -def getTextInCaptchaImage(captchaImageFile): - batchImages = encode_single_sample(captchaImageFile) - preds = _getModel().predict(batchImages) - return decode_batch_predictions(preds)[0] diff --git a/src/CaptchaReaderTest.py b/src/CaptchaReaderTest.py deleted file mode 100644 index b6d46da6f0c..00000000000 --- a/src/CaptchaReaderTest.py +++ /dev/null @@ -1,15 +0,0 @@ -import unittest -from CaptchaReader import getTextInCaptchaImage - - -class CaptchaReaderTest(unittest.TestCase): - - def test_getTextInCaptchaImage(self): - # Given - textInCaptchaImage = '1Ad47a' - - # When - textInCaptchaImageActual = getTextInCaptchaImage(f'src/captchas/VAERS/{textInCaptchaImage}.jpeg') - - # Then - self.assertEqual(textInCaptchaImageActual, textInCaptchaImage) diff --git a/src/VAERSFileDownloader.py b/src/VAERSFileDownloader.py index cd6cf4b3717..5f98de34704 100644 --- a/src/VAERSFileDownloader.py +++ b/src/VAERSFileDownloader.py @@ -2,7 +2,7 @@ import os import time from WebDriver import getWebDriver, isCaptchaSolved, saveCaptchaImageAs from selenium.webdriver.common.by import By -from CaptchaReader import getTextInCaptchaImage +from captcha.CaptchaReader import CaptchaReader from zipUtils import unzipAndRemove @@ -15,11 +15,15 @@ from zipUtils import unzipAndRemove def solveCaptchaAndStartFileDownload(driver, captchaImageFile): saveCaptchaImageAs(driver, captchaImageFile) - textInCaptchaImage = getTextInCaptchaImage(captchaImageFile) + textInCaptchaImage = _createCaptchaReader().getTextInCaptchaImage(captchaImageFile) print('textInCaptchaImage:', textInCaptchaImage) driver.find_element(By.ID, "verificationCode").send_keys(textInCaptchaImage) driver.find_element(By.CSS_SELECTOR, '[name="downloadbut"]').click() +def _createCaptchaReader(): + working_directory = os.path.dirname(__file__) + return CaptchaReader(modelFilepath = f'{working_directory}/captcha/MobileNetV3Small') + def downloadFile(absoluteFile, driver, maxTries): def _downloadFile(): driver.get('https://vaers.hhs.gov/eSubDownload/index.jsp?fn=' + os.path.basename(absoluteFile)) @@ -42,7 +46,7 @@ def _waitUntilDownloadHasFinished(file): time.sleep(2) def downloadVAERSFile(file, downloadDir): - driver = getWebDriver(downloadDir, isHeadless = True) + driver = getWebDriver(downloadDir, isHeadless = False) downloadedFile = downloadFile( absoluteFile = downloadDir + "/" + file, driver = driver, diff --git a/src/__init__.py b/src/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/captcha/CTCLayer.py b/src/captcha/CTCLayer.py new file mode 100644 index 00000000000..09c80461277 --- /dev/null +++ b/src/captcha/CTCLayer.py @@ -0,0 +1,27 @@ +import tensorflow as tf +from tensorflow import keras +from tensorflow.keras import layers + + +# see https://keras.io/guides/making_new_layers_and_models_via_subclassing/ +class CTCLayer(layers.Layer): + + def __init__(self, name=None): + super().__init__(name=name) + self.loss_fn = keras.backend.ctc_batch_cost + + def call(self, y_true, y_pred): + # Compute the training-time loss value and add it + # to the layer using `self.add_loss()`. + batch_len = tf.cast(tf.shape(y_true)[0], dtype="int64") + input_length = tf.cast(tf.shape(y_pred)[1], dtype="int64") + label_length = tf.cast(tf.shape(y_true)[1], dtype="int64") + + input_length = input_length * tf.ones(shape=(batch_len, 1), dtype="int64") + label_length = label_length * tf.ones(shape=(batch_len, 1), dtype="int64") + + loss = self.loss_fn(y_true, y_pred, input_length, label_length) + self.add_loss(loss) + + # At test time, just return the computed predictions + return y_pred diff --git a/src/captcha/CaptchaGenerator.py b/src/captcha/CaptchaGenerator.py new file mode 100644 index 00000000000..affc3f6ebcf --- /dev/null +++ b/src/captcha/CaptchaGenerator.py @@ -0,0 +1,43 @@ +from PIL import Image, ImageDraw, ImageFont +import random +import string +import shutil + + +class CaptchaGenerator: + + characters = sorted(set(list(string.ascii_letters + string.digits))) + captchaLength = 6 + + def __init__(self, numCaptchas, dataDir): + self.numCaptchas = numCaptchas + self.dataDir = dataDir + + def createAndSaveCaptchas(self): + self._prepareDataDir() + for _ in range(self.numCaptchas): + self._createAndSaveCaptcha() + + def _prepareDataDir(self): + shutil.rmtree(self.dataDir, ignore_errors = True) + self.dataDir.mkdir(parents=True, exist_ok=True) + + def _createAndSaveCaptcha(self): + captchaString = self._createCaptchaString() + captcha = self._createCaptcha(captchaString) + captcha.save(f"{str(self.dataDir)}/{captchaString}.jpeg") + + def _createCaptchaString(self): + return ''.join(random.choice(CaptchaGenerator.characters) for _ in range(CaptchaGenerator.captchaLength)) + + def _createCaptcha(self, word): + image = Image.new("RGB", (360, 96), "#373737") + draw = ImageDraw.Draw(image) + font = ImageFont.truetype("ariali.ttf", size=40) + draw.text((30, 10), word[0], font=font) + draw.text((80, 30), word[1], font=font) + draw.text((135, 10), word[2], font=font) + draw.text((190, 30), word[3], font=font) + draw.text((250, 10), word[4], font=font) + draw.text((295, 30), word[5], font=font) + return image diff --git a/src/captcha/CaptchaReader.py b/src/captcha/CaptchaReader.py new file mode 100644 index 00000000000..418621cae56 --- /dev/null +++ b/src/captcha/CaptchaReader.py @@ -0,0 +1,34 @@ +from captcha.ModelDAO import ModelDAO +from captcha.ModelFactory import ModelFactory +from captcha.PredictionsDecoder import PredictionsDecoder +from captcha.CaptchaGenerator import CaptchaGenerator +from captcha.CharNumConverter import CharNumConverter +from captcha.DatasetFactory import DatasetFactory +import numpy as np +from tensorflow import keras + +# FK-TODO: DRY with captcha.ipynb +img_width = 241 +img_height = 62 + +class CaptchaReader: + + def __init__(self, modelFilepath): + self.modelFilepath = modelFilepath + + def getTextInCaptchaImage(self, captchaImageFile): + modelDAO = ModelDAO(inColab = False) + model = modelDAO.loadModel(self.modelFilepath) + prediction_model = ModelFactory.createPredictionModel(model) + charNumConverter = CharNumConverter(CaptchaGenerator.characters) + datasetFactory = DatasetFactory(img_height, img_width, charNumConverter.char_to_num, batch_size = 64) + batchImages = self._asSingleSampleBatch(datasetFactory._encode_single_sample(captchaImageFile, 'dummy')['image']) + preds = prediction_model.predict(batchImages) + predictionsDecoder = PredictionsDecoder(CaptchaGenerator.captchaLength, charNumConverter.num_to_char) + pred_texts = predictionsDecoder.decode_batch_predictions(preds) + return pred_texts[0] + + def _asSingleSampleBatch(self, img): + array = keras.utils.img_to_array(img) + array = np.expand_dims(array, axis=0) + return array diff --git a/src/captcha/CaptchaReaderTest.py b/src/captcha/CaptchaReaderTest.py new file mode 100644 index 00000000000..8a4050ca4e8 --- /dev/null +++ b/src/captcha/CaptchaReaderTest.py @@ -0,0 +1,19 @@ +import unittest +from captcha.CaptchaReader import CaptchaReader +import os + +class CaptchaReaderTest(unittest.TestCase): + + def setUp(self): + self.working_directory = os.path.dirname(__file__) + + def test_getTextInCaptchaImage(self): + # Given + textInCaptchaImage = '1Ad47a' + captchaReader = CaptchaReader(modelFilepath = f'{self.working_directory}/MobileNetV3Small') + + # When + textInCaptchaImageActual = captchaReader.getTextInCaptchaImage(f'{self.working_directory}/captchas/VAERS/{textInCaptchaImage}.jpeg') + + # Then + self.assertEqual(textInCaptchaImageActual, textInCaptchaImage) diff --git a/src/captcha/CharNumConverter.py b/src/captcha/CharNumConverter.py new file mode 100644 index 00000000000..6187b087a8b --- /dev/null +++ b/src/captcha/CharNumConverter.py @@ -0,0 +1,10 @@ +from tensorflow.keras import layers + +class CharNumConverter: + + def __init__(self, characters): + self.char_to_num = layers.StringLookup(vocabulary=list(characters), mask_token=None) + self.num_to_char = layers.StringLookup( + vocabulary=self.char_to_num.get_vocabulary(), + mask_token=None, + invert=True) \ No newline at end of file diff --git a/src/captcha/DatasetFactory.py b/src/captcha/DatasetFactory.py new file mode 100644 index 00000000000..c09b4b53bd2 --- /dev/null +++ b/src/captcha/DatasetFactory.py @@ -0,0 +1,25 @@ +import tensorflow as tf + + +class DatasetFactory: + + def __init__(self, img_height, img_width, char_to_num, batch_size): + self.img_height = img_height + self.img_width = img_width + self.char_to_num = char_to_num + self.batch_size = batch_size + + def createDataset(self, x, y): + dataset = tf.data.Dataset.from_tensor_slices((x, y)) + dataset = dataset.map(self._encode_single_sample, num_parallel_calls=tf.data.AUTOTUNE) + dataset = dataset.batch(self.batch_size).prefetch(buffer_size=tf.data.AUTOTUNE) + return dataset + + def _encode_single_sample(self, img_path, label): + img = tf.io.read_file(img_path) + img = tf.io.decode_jpeg(img, channels=3) + img = tf.image.resize(img, [self.img_height, self.img_width]) + # Map the characters in label to numbers + label = self.char_to_num(tf.strings.unicode_split(label, input_encoding="UTF-8")) + # Return a dict as our model is expecting two inputs + return {"image": img, "label": label} diff --git a/src/captcha/GoogleDriveManager.py b/src/captcha/GoogleDriveManager.py new file mode 100644 index 00000000000..0738235511a --- /dev/null +++ b/src/captcha/GoogleDriveManager.py @@ -0,0 +1,27 @@ +from pathlib import Path + + +class GoogleDriveManager: + + _googleDriveFolder = Path('/content/gdrive') + _baseFolder = _googleDriveFolder / 'MyDrive/CAPTCHA/models/' + + @staticmethod + def mount(): + from google.colab import drive + drive.mount(str(GoogleDriveManager._googleDriveFolder)) + + @staticmethod + def uploadFolderToGoogleDrive(folder): + pass + # FK-TODO: refactor + # !zip -r {folder}.zip {folder}/ + # !cp {folder}.zip {GoogleDriveManager._baseFolder} + + @staticmethod + def downloadFolderFromGoogleDrive(folder): + pass + # FK-TODO: refactor + # !cp {GoogleDriveManager._baseFolder}/{folder}.zip . + # !rm -rf {folder} + # !unzip {folder}.zip diff --git a/src/captcha/MobileNetV3Small/fingerprint.pb b/src/captcha/MobileNetV3Small/fingerprint.pb new file mode 100644 index 00000000000..6cf754ced3d Binary files /dev/null and b/src/captcha/MobileNetV3Small/fingerprint.pb differ diff --git a/src/captcha/MobileNetV3Small/keras_metadata.pb b/src/captcha/MobileNetV3Small/keras_metadata.pb new file mode 100644 index 00000000000..4a613237688 --- /dev/null +++ b/src/captcha/MobileNetV3Small/keras_metadata.pb @@ -0,0 +1,220 @@ + +¡«root"_tf_keras_network*þª{"name": "MobileNetV3Small", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": false, "class_name": "Functional", "config": {"name": "MobileNetV3Small", "layers": [{"class_name": "InputLayer", "config": {"batch_input_shape": {"class_name": "__tuple__", "items": [null, 62, 241, 3]}, "dtype": "float32", "sparse": false, "ragged": false, "name": "image"}, "name": "image", "inbound_nodes": []}, {"class_name": "Permute", "config": {"name": "permute", "trainable": false, "dtype": "float32", "dims": {"class_name": "__tuple__", "items": [2, 1, 3]}}, "name": "permute", "inbound_nodes": [[["image", 0, 0, {}]]]}, {"class_name": "Rescaling", "config": {"name": "rescaling", "trainable": false, "dtype": "float32", "scale": 0.00784313725490196, "offset": -1.0}, "name": "rescaling", "inbound_nodes": [[["permute", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "Conv", "trainable": false, "dtype": "float32", "filters": 16, "kernel_size": {"class_name": "__tuple__", "items": [3, 3]}, "strides": {"class_name": "__tuple__", "items": [2, 2]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "Conv", "inbound_nodes": [[["rescaling", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "Conv/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "Conv/BatchNorm", "inbound_nodes": [[["Conv", 0, 0, {}]]]}, {"class_name": "ReLU", "config": {"name": "re_lu", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu", "inbound_nodes": [[["Conv/BatchNorm", 0, 0, {}]]]}, {"class_name": "ZeroPadding2D", "config": {"name": "expanded_conv/depthwise/pad", "trainable": false, "dtype": "float32", "padding": {"class_name": "__tuple__", "items": [{"class_name": "__tuple__", "items": [1, 1]}, {"class_name": "__tuple__", "items": [1, 1]}]}, "data_format": "channels_last"}, "name": "expanded_conv/depthwise/pad", "inbound_nodes": [[["re_lu", 0, 0, {}]]]}, {"class_name": "DepthwiseConv2D", "config": {"name": "expanded_conv/depthwise", "trainable": false, "dtype": "float32", "kernel_size": {"class_name": "__tuple__", "items": [3, 3]}, "strides": {"class_name": "__tuple__", "items": [2, 2]}, "padding": "valid", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "depthwise_regularizer": null, "depthwise_constraint": null}, "name": "expanded_conv/depthwise", "inbound_nodes": [[["expanded_conv/depthwise/pad", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv/depthwise/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv/depthwise/BatchNorm", "inbound_nodes": [[["expanded_conv/depthwise", 0, 0, {}]]]}, {"class_name": "ReLU", "config": {"name": "re_lu_1", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_1", "inbound_nodes": [[["expanded_conv/depthwise/BatchNorm", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "expanded_conv/project", "trainable": false, "dtype": "float32", "filters": 16, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "expanded_conv/project", "inbound_nodes": [[["re_lu_1", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv/project/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv/project/BatchNorm", "inbound_nodes": [[["expanded_conv/project", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "expanded_conv_1/expand", "trainable": false, "dtype": "float32", "filters": 72, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "expanded_conv_1/expand", "inbound_nodes": [[["expanded_conv/project/BatchNorm", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_1/expand/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_1/expand/BatchNorm", "inbound_nodes": [[["expanded_conv_1/expand", 0, 0, {}]]]}, {"class_name": "ReLU", "config": {"name": "re_lu_2", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_2", "inbound_nodes": [[["expanded_conv_1/expand/BatchNorm", 0, 0, {}]]]}, {"class_name": "ZeroPadding2D", "config": {"name": "expanded_conv_1/depthwise/pad", "trainable": false, "dtype": "float32", "padding": {"class_name": "__tuple__", "items": [{"class_name": "__tuple__", "items": [1, 1]}, {"class_name": "__tuple__", "items": [0, 1]}]}, "data_format": "channels_last"}, "name": "expanded_conv_1/depthwise/pad", "inbound_nodes": [[["re_lu_2", 0, 0, {}]]]}, {"class_name": "DepthwiseConv2D", "config": {"name": "expanded_conv_1/depthwise", "trainable": false, "dtype": "float32", "kernel_size": {"class_name": "__tuple__", "items": [3, 3]}, "strides": {"class_name": "__tuple__", "items": [2, 2]}, "padding": "valid", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "depthwise_regularizer": null, "depthwise_constraint": null}, "name": "expanded_conv_1/depthwise", "inbound_nodes": [[["expanded_conv_1/depthwise/pad", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_1/depthwise/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_1/depthwise/BatchNorm", "inbound_nodes": [[["expanded_conv_1/depthwise", 0, 0, {}]]]}, {"class_name": "ReLU", "config": {"name": "re_lu_3", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_3", "inbound_nodes": [[["expanded_conv_1/depthwise/BatchNorm", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "expanded_conv_1/project", "trainable": false, "dtype": "float32", "filters": 24, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "expanded_conv_1/project", "inbound_nodes": [[["re_lu_3", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_1/project/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_1/project/BatchNorm", "inbound_nodes": [[["expanded_conv_1/project", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "expanded_conv_2/expand", "trainable": false, "dtype": "float32", "filters": 88, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "expanded_conv_2/expand", "inbound_nodes": [[["expanded_conv_1/project/BatchNorm", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_2/expand/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_2/expand/BatchNorm", "inbound_nodes": [[["expanded_conv_2/expand", 0, 0, {}]]]}, {"class_name": "ReLU", "config": {"name": "re_lu_4", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_4", "inbound_nodes": [[["expanded_conv_2/expand/BatchNorm", 0, 0, {}]]]}, {"class_name": "DepthwiseConv2D", "config": {"name": "expanded_conv_2/depthwise", "trainable": false, "dtype": "float32", "kernel_size": {"class_name": "__tuple__", "items": [3, 3]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "depthwise_regularizer": null, "depthwise_constraint": null}, "name": "expanded_conv_2/depthwise", "inbound_nodes": [[["re_lu_4", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_2/depthwise/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_2/depthwise/BatchNorm", "inbound_nodes": [[["expanded_conv_2/depthwise", 0, 0, {}]]]}, {"class_name": "ReLU", "config": {"name": "re_lu_5", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_5", "inbound_nodes": [[["expanded_conv_2/depthwise/BatchNorm", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "expanded_conv_2/project", "trainable": false, "dtype": "float32", "filters": 24, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "expanded_conv_2/project", "inbound_nodes": [[["re_lu_5", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_2/project/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_2/project/BatchNorm", "inbound_nodes": [[["expanded_conv_2/project", 0, 0, {}]]]}, {"class_name": "Add", "config": {"name": "expanded_conv_2/Add", "trainable": false, "dtype": "float32"}, "name": "expanded_conv_2/Add", "inbound_nodes": [[["expanded_conv_1/project/BatchNorm", 0, 0, {}], ["expanded_conv_2/project/BatchNorm", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "expanded_conv_3/expand", "trainable": false, "dtype": "float32", "filters": 96, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "expanded_conv_3/expand", "inbound_nodes": [[["expanded_conv_2/Add", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_3/expand/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_3/expand/BatchNorm", "inbound_nodes": [[["expanded_conv_3/expand", 0, 0, {}]]]}, {"class_name": "ReLU", "config": {"name": "re_lu_6", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_6", "inbound_nodes": [[["expanded_conv_3/expand/BatchNorm", 0, 0, {}]]]}, {"class_name": "ZeroPadding2D", "config": {"name": "expanded_conv_3/depthwise/pad", "trainable": false, "dtype": "float32", "padding": {"class_name": "__tuple__", "items": [{"class_name": "__tuple__", "items": [1, 1]}, {"class_name": "__tuple__", "items": [0, 1]}]}, "data_format": "channels_last"}, "name": "expanded_conv_3/depthwise/pad", "inbound_nodes": [[["re_lu_6", 0, 0, {}]]]}, {"class_name": "DepthwiseConv2D", "config": {"name": "expanded_conv_3/depthwise", "trainable": false, "dtype": "float32", "kernel_size": {"class_name": "__tuple__", "items": [3, 3]}, "strides": {"class_name": "__tuple__", "items": [2, 2]}, "padding": "valid", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "depthwise_regularizer": null, "depthwise_constraint": null}, "name": "expanded_conv_3/depthwise", "inbound_nodes": [[["expanded_conv_3/depthwise/pad", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_3/depthwise/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_3/depthwise/BatchNorm", "inbound_nodes": [[["expanded_conv_3/depthwise", 0, 0, {}]]]}, {"class_name": "ReLU", "config": {"name": "re_lu_7", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_7", "inbound_nodes": [[["expanded_conv_3/depthwise/BatchNorm", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "expanded_conv_3/project", "trainable": false, "dtype": "float32", "filters": 40, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "expanded_conv_3/project", "inbound_nodes": [[["re_lu_7", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_3/project/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_3/project/BatchNorm", "inbound_nodes": [[["expanded_conv_3/project", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "expanded_conv_4/expand", "trainable": false, "dtype": "float32", "filters": 240, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "expanded_conv_4/expand", "inbound_nodes": [[["expanded_conv_3/project/BatchNorm", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_4/expand/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_4/expand/BatchNorm", "inbound_nodes": [[["expanded_conv_4/expand", 0, 0, {}]]]}, {"class_name": "ReLU", "config": {"name": "re_lu_8", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_8", "inbound_nodes": [[["expanded_conv_4/expand/BatchNorm", 0, 0, {}]]]}, {"class_name": "DepthwiseConv2D", "config": {"name": "expanded_conv_4/depthwise", "trainable": false, "dtype": "float32", "kernel_size": {"class_name": "__tuple__", "items": [3, 3]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "depthwise_regularizer": null, "depthwise_constraint": null}, "name": "expanded_conv_4/depthwise", "inbound_nodes": [[["re_lu_8", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_4/depthwise/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_4/depthwise/BatchNorm", "inbound_nodes": [[["expanded_conv_4/depthwise", 0, 0, {}]]]}, {"class_name": "ReLU", "config": {"name": "re_lu_9", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_9", "inbound_nodes": [[["expanded_conv_4/depthwise/BatchNorm", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "expanded_conv_4/project", "trainable": false, "dtype": "float32", "filters": 40, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "expanded_conv_4/project", "inbound_nodes": [[["re_lu_9", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_4/project/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_4/project/BatchNorm", "inbound_nodes": [[["expanded_conv_4/project", 0, 0, {}]]]}, {"class_name": "Add", "config": {"name": "expanded_conv_4/Add", "trainable": false, "dtype": "float32"}, "name": "expanded_conv_4/Add", "inbound_nodes": [[["expanded_conv_3/project/BatchNorm", 0, 0, {}], ["expanded_conv_4/project/BatchNorm", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "expanded_conv_5/expand", "trainable": false, "dtype": "float32", "filters": 240, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "expanded_conv_5/expand", "inbound_nodes": [[["expanded_conv_4/Add", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_5/expand/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_5/expand/BatchNorm", "inbound_nodes": [[["expanded_conv_5/expand", 0, 0, {}]]]}, {"class_name": "ReLU", "config": {"name": "re_lu_10", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_10", "inbound_nodes": [[["expanded_conv_5/expand/BatchNorm", 0, 0, {}]]]}, {"class_name": "DepthwiseConv2D", "config": {"name": "expanded_conv_5/depthwise", "trainable": false, "dtype": "float32", "kernel_size": {"class_name": "__tuple__", "items": [3, 3]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "depthwise_regularizer": null, "depthwise_constraint": null}, "name": "expanded_conv_5/depthwise", "inbound_nodes": [[["re_lu_10", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_5/depthwise/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_5/depthwise/BatchNorm", "inbound_nodes": [[["expanded_conv_5/depthwise", 0, 0, {}]]]}, {"class_name": "ReLU", "config": {"name": "re_lu_11", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_11", "inbound_nodes": [[["expanded_conv_5/depthwise/BatchNorm", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "expanded_conv_5/project", "trainable": false, "dtype": "float32", "filters": 40, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "expanded_conv_5/project", "inbound_nodes": [[["re_lu_11", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_5/project/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_5/project/BatchNorm", "inbound_nodes": [[["expanded_conv_5/project", 0, 0, {}]]]}, {"class_name": "Add", "config": {"name": "expanded_conv_5/Add", "trainable": false, "dtype": "float32"}, "name": "expanded_conv_5/Add", "inbound_nodes": [[["expanded_conv_4/Add", 0, 0, {}], ["expanded_conv_5/project/BatchNorm", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "expanded_conv_6/expand", "trainable": false, "dtype": "float32", "filters": 120, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "expanded_conv_6/expand", "inbound_nodes": [[["expanded_conv_5/Add", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_6/expand/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_6/expand/BatchNorm", "inbound_nodes": [[["expanded_conv_6/expand", 0, 0, {}]]]}, {"class_name": "ReLU", "config": {"name": "re_lu_12", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_12", "inbound_nodes": [[["expanded_conv_6/expand/BatchNorm", 0, 0, {}]]]}, {"class_name": "DepthwiseConv2D", "config": {"name": "expanded_conv_6/depthwise", "trainable": false, "dtype": "float32", "kernel_size": {"class_name": "__tuple__", "items": [3, 3]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "depthwise_regularizer": null, "depthwise_constraint": null}, "name": "expanded_conv_6/depthwise", "inbound_nodes": [[["re_lu_12", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_6/depthwise/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_6/depthwise/BatchNorm", "inbound_nodes": [[["expanded_conv_6/depthwise", 0, 0, {}]]]}, {"class_name": "ReLU", "config": {"name": "re_lu_13", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_13", "inbound_nodes": [[["expanded_conv_6/depthwise/BatchNorm", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "expanded_conv_6/project", "trainable": false, "dtype": "float32", "filters": 48, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "expanded_conv_6/project", "inbound_nodes": [[["re_lu_13", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_6/project/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_6/project/BatchNorm", "inbound_nodes": [[["expanded_conv_6/project", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "expanded_conv_7/expand", "trainable": false, "dtype": "float32", "filters": 144, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "expanded_conv_7/expand", "inbound_nodes": [[["expanded_conv_6/project/BatchNorm", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_7/expand/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_7/expand/BatchNorm", "inbound_nodes": [[["expanded_conv_7/expand", 0, 0, {}]]]}, {"class_name": "ReLU", "config": {"name": "re_lu_14", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_14", "inbound_nodes": [[["expanded_conv_7/expand/BatchNorm", 0, 0, {}]]]}, {"class_name": "DepthwiseConv2D", "config": {"name": "expanded_conv_7/depthwise", "trainable": false, "dtype": "float32", "kernel_size": {"class_name": "__tuple__", "items": [3, 3]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "depthwise_regularizer": null, "depthwise_constraint": null}, "name": "expanded_conv_7/depthwise", "inbound_nodes": [[["re_lu_14", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_7/depthwise/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_7/depthwise/BatchNorm", "inbound_nodes": [[["expanded_conv_7/depthwise", 0, 0, {}]]]}, {"class_name": "ReLU", "config": {"name": "re_lu_15", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_15", "inbound_nodes": [[["expanded_conv_7/depthwise/BatchNorm", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "expanded_conv_7/project", "trainable": false, "dtype": "float32", "filters": 48, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "expanded_conv_7/project", "inbound_nodes": [[["re_lu_15", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_7/project/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_7/project/BatchNorm", "inbound_nodes": [[["expanded_conv_7/project", 0, 0, {}]]]}, {"class_name": "Add", "config": {"name": "expanded_conv_7/Add", "trainable": false, "dtype": "float32"}, "name": "expanded_conv_7/Add", "inbound_nodes": [[["expanded_conv_6/project/BatchNorm", 0, 0, {}], ["expanded_conv_7/project/BatchNorm", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "expanded_conv_8/expand", "trainable": false, "dtype": "float32", "filters": 288, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "expanded_conv_8/expand", "inbound_nodes": [[["expanded_conv_7/Add", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_8/expand/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_8/expand/BatchNorm", "inbound_nodes": [[["expanded_conv_8/expand", 0, 0, {}]]]}, {"class_name": "ReLU", "config": {"name": "re_lu_16", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_16", "inbound_nodes": [[["expanded_conv_8/expand/BatchNorm", 0, 0, {}]]]}, {"class_name": "ZeroPadding2D", "config": {"name": "expanded_conv_8/depthwise/pad", "trainable": false, "dtype": "float32", "padding": {"class_name": "__tuple__", "items": [{"class_name": "__tuple__", "items": [0, 1]}, {"class_name": "__tuple__", "items": [0, 1]}]}, "data_format": "channels_last"}, "name": "expanded_conv_8/depthwise/pad", "inbound_nodes": [[["re_lu_16", 0, 0, {}]]]}, {"class_name": "DepthwiseConv2D", "config": {"name": "expanded_conv_8/depthwise", "trainable": false, "dtype": "float32", "kernel_size": {"class_name": "__tuple__", "items": [3, 3]}, "strides": {"class_name": "__tuple__", "items": [2, 2]}, "padding": "valid", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "depthwise_regularizer": null, "depthwise_constraint": null}, "name": "expanded_conv_8/depthwise", "inbound_nodes": [[["expanded_conv_8/depthwise/pad", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_8/depthwise/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_8/depthwise/BatchNorm", "inbound_nodes": [[["expanded_conv_8/depthwise", 0, 0, {}]]]}, {"class_name": "ReLU", "config": {"name": "re_lu_17", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_17", "inbound_nodes": [[["expanded_conv_8/depthwise/BatchNorm", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "expanded_conv_8/project", "trainable": false, "dtype": "float32", "filters": 96, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "expanded_conv_8/project", "inbound_nodes": [[["re_lu_17", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_8/project/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_8/project/BatchNorm", "inbound_nodes": [[["expanded_conv_8/project", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "expanded_conv_9/expand", "trainable": false, "dtype": "float32", "filters": 576, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "expanded_conv_9/expand", "inbound_nodes": [[["expanded_conv_8/project/BatchNorm", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_9/expand/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_9/expand/BatchNorm", "inbound_nodes": [[["expanded_conv_9/expand", 0, 0, {}]]]}, {"class_name": "ReLU", "config": {"name": "re_lu_18", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_18", "inbound_nodes": [[["expanded_conv_9/expand/BatchNorm", 0, 0, {}]]]}, {"class_name": "DepthwiseConv2D", "config": {"name": "expanded_conv_9/depthwise", "trainable": false, "dtype": "float32", "kernel_size": {"class_name": "__tuple__", "items": [3, 3]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "depthwise_regularizer": null, "depthwise_constraint": null}, "name": "expanded_conv_9/depthwise", "inbound_nodes": [[["re_lu_18", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_9/depthwise/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_9/depthwise/BatchNorm", "inbound_nodes": [[["expanded_conv_9/depthwise", 0, 0, {}]]]}, {"class_name": "ReLU", "config": {"name": "re_lu_19", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_19", "inbound_nodes": [[["expanded_conv_9/depthwise/BatchNorm", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "expanded_conv_9/project", "trainable": false, "dtype": "float32", "filters": 96, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "expanded_conv_9/project", "inbound_nodes": [[["re_lu_19", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_9/project/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_9/project/BatchNorm", "inbound_nodes": [[["expanded_conv_9/project", 0, 0, {}]]]}, {"class_name": "Add", "config": {"name": "expanded_conv_9/Add", "trainable": false, "dtype": "float32"}, "name": "expanded_conv_9/Add", "inbound_nodes": [[["expanded_conv_8/project/BatchNorm", 0, 0, {}], ["expanded_conv_9/project/BatchNorm", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "expanded_conv_10/expand", "trainable": false, "dtype": "float32", "filters": 576, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "expanded_conv_10/expand", "inbound_nodes": [[["expanded_conv_9/Add", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_10/expand/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_10/expand/BatchNorm", "inbound_nodes": [[["expanded_conv_10/expand", 0, 0, {}]]]}, {"class_name": "ReLU", "config": {"name": "re_lu_20", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_20", "inbound_nodes": [[["expanded_conv_10/expand/BatchNorm", 0, 0, {}]]]}, {"class_name": "DepthwiseConv2D", "config": {"name": "expanded_conv_10/depthwise", "trainable": false, "dtype": "float32", "kernel_size": {"class_name": "__tuple__", "items": [3, 3]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "depthwise_regularizer": null, "depthwise_constraint": null}, "name": "expanded_conv_10/depthwise", "inbound_nodes": [[["re_lu_20", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_10/depthwise/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_10/depthwise/BatchNorm", "inbound_nodes": [[["expanded_conv_10/depthwise", 0, 0, {}]]]}, {"class_name": "ReLU", "config": {"name": "re_lu_21", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_21", "inbound_nodes": [[["expanded_conv_10/depthwise/BatchNorm", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "expanded_conv_10/project", "trainable": false, "dtype": "float32", "filters": 96, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "expanded_conv_10/project", "inbound_nodes": [[["re_lu_21", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_10/project/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_10/project/BatchNorm", "inbound_nodes": [[["expanded_conv_10/project", 0, 0, {}]]]}, {"class_name": "Add", "config": {"name": "expanded_conv_10/Add", "trainable": false, "dtype": "float32"}, "name": "expanded_conv_10/Add", "inbound_nodes": [[["expanded_conv_9/Add", 0, 0, {}], ["expanded_conv_10/project/BatchNorm", 0, 0, {}]]]}, {"class_name": "Conv2D", "config": {"name": "Conv_1", "trainable": false, "dtype": "float32", "filters": 576, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "Conv_1", "inbound_nodes": [[["expanded_conv_10/Add", 0, 0, {}]]]}, {"class_name": "BatchNormalization", "config": {"name": "Conv_1/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "Conv_1/BatchNorm", "inbound_nodes": [[["Conv_1", 0, 0, {}]]]}, {"class_name": "ReLU", "config": {"name": "re_lu_22", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_22", "inbound_nodes": [[["Conv_1/BatchNorm", 0, 0, {}]]]}, {"class_name": "Reshape", "config": {"name": "reshape", "trainable": true, "dtype": "float32", "target_shape": {"class_name": "__tuple__", "items": [8, 1152]}}, "name": "reshape", "inbound_nodes": [[["re_lu_22", 0, 0, {}]]]}, {"class_name": "Dense", "config": {"name": "dense1", "trainable": true, "dtype": "float32", "units": 64, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "dense1", "inbound_nodes": [[["reshape", 0, 0, {}]]]}, {"class_name": "Dropout", "config": {"name": "dropout", "trainable": true, "dtype": "float32", "rate": 0.2, "noise_shape": null, "seed": null}, "name": "dropout", "inbound_nodes": [[["dense1", 0, 0, {}]]]}, {"class_name": "Bidirectional", "config": {"name": "bidirectional", "trainable": true, "dtype": "float32", "layer": {"class_name": "LSTM", "config": {"name": "LSTM1", "trainable": true, "dtype": "float32", "return_sequences": true, "return_state": false, "go_backwards": false, "stateful": false, "unroll": false, "time_major": false, "units": 128, "activation": "tanh", "recurrent_activation": "sigmoid", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 324}, "recurrent_initializer": {"class_name": "Orthogonal", "config": {"gain": 1.0, "seed": null}, "shared_object_id": 325}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 326}, "unit_forget_bias": true, "kernel_regularizer": null, "recurrent_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "recurrent_constraint": null, "bias_constraint": null, "dropout": 0.25, "recurrent_dropout": 0.0, "implementation": 2}}, "merge_mode": "concat"}, "name": "bidirectional", "inbound_nodes": [[["dropout", 0, 0, {}]]]}, {"class_name": "Bidirectional", "config": {"name": "bidirectional_1", "trainable": true, "dtype": "float32", "layer": {"class_name": "LSTM", "config": {"name": "LSTM2", "trainable": true, "dtype": "float32", "return_sequences": true, "return_state": false, "go_backwards": false, "stateful": false, "unroll": false, "time_major": false, "units": 64, "activation": "tanh", "recurrent_activation": "sigmoid", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 330}, "recurrent_initializer": {"class_name": "Orthogonal", "config": {"gain": 1.0, "seed": null}, "shared_object_id": 331}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 332}, "unit_forget_bias": true, "kernel_regularizer": null, "recurrent_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "recurrent_constraint": null, "bias_constraint": null, "dropout": 0.25, "recurrent_dropout": 0.0, "implementation": 2}}, "merge_mode": "concat"}, "name": "bidirectional_1", "inbound_nodes": [[["bidirectional", 0, 0, {}]]]}, {"class_name": "InputLayer", "config": {"batch_input_shape": {"class_name": "__tuple__", "items": [null, null]}, "dtype": "float32", "sparse": false, "ragged": false, "name": "label"}, "name": "label", "inbound_nodes": []}, {"class_name": "Dense", "config": {"name": "dense2", "trainable": true, "dtype": "float32", "units": 64, "activation": "softmax", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "dense2", "inbound_nodes": [[["bidirectional_1", 0, 0, {}]]]}, {"class_name": "CTCLayer", "config": {"name": "ctc_loss", "trainable": true, "dtype": "float32"}, "name": "ctc_loss", "inbound_nodes": [[["label", 0, 0, {"y_pred": ["dense2", 0, 0]}]]]}], "input_layers": [["image", 0, 0], ["label", 0, 0]], "output_layers": [["ctc_loss", 0, 0]]}, "shared_object_id": 341, "input_spec": [{"class_name": "InputSpec", "config": {"dtype": null, "shape": {"class_name": "__tuple__", "items": [null, 62, 241, 3]}, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {}}}, {"class_name": "InputSpec", "config": {"dtype": null, "shape": {"class_name": "__tuple__", "items": [null, null]}, "ndim": 2, "max_ndim": null, "min_ndim": null, "axes": {}}}], "build_input_shape": [{"class_name": "TensorShape", "items": [null, 62, 241, 3]}, {"class_name": "TensorShape", "items": [null, null]}], "is_graph_network": true, "full_save_spec": {"class_name": "__tuple__", "items": [[[{"class_name": "TypeSpec", "type_spec": "tf.TensorSpec", "serialized": [{"class_name": "TensorShape", "items": [null, 62, 241, 3]}, "float32", "image"]}, {"class_name": "TypeSpec", "type_spec": "tf.TensorSpec", "serialized": [{"class_name": "TensorShape", "items": [null, null]}, "float32", "label"]}]], {}]}, "save_spec": [{"class_name": "TypeSpec", "type_spec": "tf.TensorSpec", "serialized": [{"class_name": "TensorShape", "items": [null, 62, 241, 3]}, "float32", "image"]}, {"class_name": "TypeSpec", "type_spec": "tf.TensorSpec", "serialized": [{"class_name": "TensorShape", "items": [null, null]}, "float32", "label"]}], "keras_version": "2.11.0", "backend": "tensorflow", "model_config": {"class_name": "Functional", "config": {"name": "MobileNetV3Small", "layers": [{"class_name": "InputLayer", "config": {"batch_input_shape": {"class_name": "__tuple__", "items": [null, 62, 241, 3]}, "dtype": "float32", "sparse": false, "ragged": false, "name": "image"}, "name": "image", "inbound_nodes": [], "shared_object_id": 0}, {"class_name": "Permute", "config": {"name": "permute", "trainable": false, "dtype": "float32", "dims": {"class_name": "__tuple__", "items": [2, 1, 3]}}, "name": "permute", "inbound_nodes": [[["image", 0, 0, {}]]], "shared_object_id": 1}, {"class_name": "Rescaling", "config": {"name": "rescaling", "trainable": false, "dtype": "float32", "scale": 0.00784313725490196, "offset": -1.0}, "name": "rescaling", "inbound_nodes": [[["permute", 0, 0, {}]]], "shared_object_id": 2}, {"class_name": "Conv2D", "config": {"name": "Conv", "trainable": false, "dtype": "float32", "filters": 16, "kernel_size": {"class_name": "__tuple__", "items": [3, 3]}, "strides": {"class_name": "__tuple__", "items": [2, 2]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 3}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 4}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "Conv", "inbound_nodes": [[["rescaling", 0, 0, {}]]], "shared_object_id": 5}, {"class_name": "BatchNormalization", "config": {"name": "Conv/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 6}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 7}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 8}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 9}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "Conv/BatchNorm", "inbound_nodes": [[["Conv", 0, 0, {}]]], "shared_object_id": 10}, {"class_name": "ReLU", "config": {"name": "re_lu", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu", "inbound_nodes": [[["Conv/BatchNorm", 0, 0, {}]]], "shared_object_id": 11}, {"class_name": "ZeroPadding2D", "config": {"name": "expanded_conv/depthwise/pad", "trainable": false, "dtype": "float32", "padding": {"class_name": "__tuple__", "items": [{"class_name": "__tuple__", "items": [1, 1]}, {"class_name": "__tuple__", "items": [1, 1]}]}, "data_format": "channels_last"}, "name": "expanded_conv/depthwise/pad", "inbound_nodes": [[["re_lu", 0, 0, {}]]], "shared_object_id": 12}, {"class_name": "DepthwiseConv2D", "config": {"name": "expanded_conv/depthwise", "trainable": false, "dtype": "float32", "kernel_size": {"class_name": "__tuple__", "items": [3, 3]}, "strides": {"class_name": "__tuple__", "items": [2, 2]}, "padding": "valid", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 14}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 15}, "depthwise_regularizer": null, "depthwise_constraint": null}, "name": "expanded_conv/depthwise", "inbound_nodes": [[["expanded_conv/depthwise/pad", 0, 0, {}]]], "shared_object_id": 16}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv/depthwise/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 17}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 18}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 19}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 20}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv/depthwise/BatchNorm", "inbound_nodes": [[["expanded_conv/depthwise", 0, 0, {}]]], "shared_object_id": 21}, {"class_name": "ReLU", "config": {"name": "re_lu_1", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_1", "inbound_nodes": [[["expanded_conv/depthwise/BatchNorm", 0, 0, {}]]], "shared_object_id": 22}, {"class_name": "Conv2D", "config": {"name": "expanded_conv/project", "trainable": false, "dtype": "float32", "filters": 16, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 23}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 24}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "expanded_conv/project", "inbound_nodes": [[["re_lu_1", 0, 0, {}]]], "shared_object_id": 25}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv/project/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 26}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 27}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 28}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 29}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv/project/BatchNorm", "inbound_nodes": [[["expanded_conv/project", 0, 0, {}]]], "shared_object_id": 30}, {"class_name": "Conv2D", "config": {"name": "expanded_conv_1/expand", "trainable": false, "dtype": "float32", "filters": 72, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 31}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 32}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "expanded_conv_1/expand", "inbound_nodes": [[["expanded_conv/project/BatchNorm", 0, 0, {}]]], "shared_object_id": 33}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_1/expand/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 34}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 35}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 36}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 37}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_1/expand/BatchNorm", "inbound_nodes": [[["expanded_conv_1/expand", 0, 0, {}]]], "shared_object_id": 38}, {"class_name": "ReLU", "config": {"name": "re_lu_2", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_2", "inbound_nodes": [[["expanded_conv_1/expand/BatchNorm", 0, 0, {}]]], "shared_object_id": 39}, {"class_name": "ZeroPadding2D", "config": {"name": "expanded_conv_1/depthwise/pad", "trainable": false, "dtype": "float32", "padding": {"class_name": "__tuple__", "items": [{"class_name": "__tuple__", "items": [1, 1]}, {"class_name": "__tuple__", "items": [0, 1]}]}, "data_format": "channels_last"}, "name": "expanded_conv_1/depthwise/pad", "inbound_nodes": [[["re_lu_2", 0, 0, {}]]], "shared_object_id": 40}, {"class_name": "DepthwiseConv2D", "config": {"name": "expanded_conv_1/depthwise", "trainable": false, "dtype": "float32", "kernel_size": {"class_name": "__tuple__", "items": [3, 3]}, "strides": {"class_name": "__tuple__", "items": [2, 2]}, "padding": "valid", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 42}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 43}, "depthwise_regularizer": null, "depthwise_constraint": null}, "name": "expanded_conv_1/depthwise", "inbound_nodes": [[["expanded_conv_1/depthwise/pad", 0, 0, {}]]], "shared_object_id": 44}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_1/depthwise/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 45}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 46}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 47}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 48}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_1/depthwise/BatchNorm", "inbound_nodes": [[["expanded_conv_1/depthwise", 0, 0, {}]]], "shared_object_id": 49}, {"class_name": "ReLU", "config": {"name": "re_lu_3", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_3", "inbound_nodes": [[["expanded_conv_1/depthwise/BatchNorm", 0, 0, {}]]], "shared_object_id": 50}, {"class_name": "Conv2D", "config": {"name": "expanded_conv_1/project", "trainable": false, "dtype": "float32", "filters": 24, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 51}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 52}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "expanded_conv_1/project", "inbound_nodes": [[["re_lu_3", 0, 0, {}]]], "shared_object_id": 53}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_1/project/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 54}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 55}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 56}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 57}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_1/project/BatchNorm", "inbound_nodes": [[["expanded_conv_1/project", 0, 0, {}]]], "shared_object_id": 58}, {"class_name": "Conv2D", "config": {"name": "expanded_conv_2/expand", "trainable": false, "dtype": "float32", "filters": 88, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 59}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 60}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "expanded_conv_2/expand", "inbound_nodes": [[["expanded_conv_1/project/BatchNorm", 0, 0, {}]]], "shared_object_id": 61}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_2/expand/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 62}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 63}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 64}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 65}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_2/expand/BatchNorm", "inbound_nodes": [[["expanded_conv_2/expand", 0, 0, {}]]], "shared_object_id": 66}, {"class_name": "ReLU", "config": {"name": "re_lu_4", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_4", "inbound_nodes": [[["expanded_conv_2/expand/BatchNorm", 0, 0, {}]]], "shared_object_id": 67}, {"class_name": "DepthwiseConv2D", "config": {"name": "expanded_conv_2/depthwise", "trainable": false, "dtype": "float32", "kernel_size": {"class_name": "__tuple__", "items": [3, 3]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 69}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 70}, "depthwise_regularizer": null, "depthwise_constraint": null}, "name": "expanded_conv_2/depthwise", "inbound_nodes": [[["re_lu_4", 0, 0, {}]]], "shared_object_id": 71}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_2/depthwise/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 72}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 73}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 74}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 75}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_2/depthwise/BatchNorm", "inbound_nodes": [[["expanded_conv_2/depthwise", 0, 0, {}]]], "shared_object_id": 76}, {"class_name": "ReLU", "config": {"name": "re_lu_5", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_5", "inbound_nodes": [[["expanded_conv_2/depthwise/BatchNorm", 0, 0, {}]]], "shared_object_id": 77}, {"class_name": "Conv2D", "config": {"name": "expanded_conv_2/project", "trainable": false, "dtype": "float32", "filters": 24, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 78}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 79}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "expanded_conv_2/project", "inbound_nodes": [[["re_lu_5", 0, 0, {}]]], "shared_object_id": 80}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_2/project/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 81}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 82}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 83}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 84}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_2/project/BatchNorm", "inbound_nodes": [[["expanded_conv_2/project", 0, 0, {}]]], "shared_object_id": 85}, {"class_name": "Add", "config": {"name": "expanded_conv_2/Add", "trainable": false, "dtype": "float32"}, "name": "expanded_conv_2/Add", "inbound_nodes": [[["expanded_conv_1/project/BatchNorm", 0, 0, {}], ["expanded_conv_2/project/BatchNorm", 0, 0, {}]]], "shared_object_id": 86}, {"class_name": "Conv2D", "config": {"name": "expanded_conv_3/expand", "trainable": false, "dtype": "float32", "filters": 96, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 87}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 88}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "expanded_conv_3/expand", "inbound_nodes": [[["expanded_conv_2/Add", 0, 0, {}]]], "shared_object_id": 89}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_3/expand/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 90}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 91}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 92}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 93}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_3/expand/BatchNorm", "inbound_nodes": [[["expanded_conv_3/expand", 0, 0, {}]]], "shared_object_id": 94}, {"class_name": "ReLU", "config": {"name": "re_lu_6", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_6", "inbound_nodes": [[["expanded_conv_3/expand/BatchNorm", 0, 0, {}]]], "shared_object_id": 95}, {"class_name": "ZeroPadding2D", "config": {"name": "expanded_conv_3/depthwise/pad", "trainable": false, "dtype": "float32", "padding": {"class_name": "__tuple__", "items": [{"class_name": "__tuple__", "items": [1, 1]}, {"class_name": "__tuple__", "items": [0, 1]}]}, "data_format": "channels_last"}, "name": "expanded_conv_3/depthwise/pad", "inbound_nodes": [[["re_lu_6", 0, 0, {}]]], "shared_object_id": 96}, {"class_name": "DepthwiseConv2D", "config": {"name": "expanded_conv_3/depthwise", "trainable": false, "dtype": "float32", "kernel_size": {"class_name": "__tuple__", "items": [3, 3]}, "strides": {"class_name": "__tuple__", "items": [2, 2]}, "padding": "valid", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 98}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 99}, "depthwise_regularizer": null, "depthwise_constraint": null}, "name": "expanded_conv_3/depthwise", "inbound_nodes": [[["expanded_conv_3/depthwise/pad", 0, 0, {}]]], "shared_object_id": 100}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_3/depthwise/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 101}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 102}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 103}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 104}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_3/depthwise/BatchNorm", "inbound_nodes": [[["expanded_conv_3/depthwise", 0, 0, {}]]], "shared_object_id": 105}, {"class_name": "ReLU", "config": {"name": "re_lu_7", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_7", "inbound_nodes": [[["expanded_conv_3/depthwise/BatchNorm", 0, 0, {}]]], "shared_object_id": 106}, {"class_name": "Conv2D", "config": {"name": "expanded_conv_3/project", "trainable": false, "dtype": "float32", "filters": 40, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 107}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 108}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "expanded_conv_3/project", "inbound_nodes": [[["re_lu_7", 0, 0, {}]]], "shared_object_id": 109}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_3/project/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 110}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 111}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 112}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 113}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_3/project/BatchNorm", "inbound_nodes": [[["expanded_conv_3/project", 0, 0, {}]]], "shared_object_id": 114}, {"class_name": "Conv2D", "config": {"name": "expanded_conv_4/expand", "trainable": false, "dtype": "float32", "filters": 240, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 115}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 116}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "expanded_conv_4/expand", "inbound_nodes": [[["expanded_conv_3/project/BatchNorm", 0, 0, {}]]], "shared_object_id": 117}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_4/expand/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 118}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 119}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 120}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 121}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_4/expand/BatchNorm", "inbound_nodes": [[["expanded_conv_4/expand", 0, 0, {}]]], "shared_object_id": 122}, {"class_name": "ReLU", "config": {"name": "re_lu_8", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_8", "inbound_nodes": [[["expanded_conv_4/expand/BatchNorm", 0, 0, {}]]], "shared_object_id": 123}, {"class_name": "DepthwiseConv2D", "config": {"name": "expanded_conv_4/depthwise", "trainable": false, "dtype": "float32", "kernel_size": {"class_name": "__tuple__", "items": [3, 3]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 125}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 126}, "depthwise_regularizer": null, "depthwise_constraint": null}, "name": "expanded_conv_4/depthwise", "inbound_nodes": [[["re_lu_8", 0, 0, {}]]], "shared_object_id": 127}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_4/depthwise/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 128}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 129}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 130}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 131}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_4/depthwise/BatchNorm", "inbound_nodes": [[["expanded_conv_4/depthwise", 0, 0, {}]]], "shared_object_id": 132}, {"class_name": "ReLU", "config": {"name": "re_lu_9", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_9", "inbound_nodes": [[["expanded_conv_4/depthwise/BatchNorm", 0, 0, {}]]], "shared_object_id": 133}, {"class_name": "Conv2D", "config": {"name": "expanded_conv_4/project", "trainable": false, "dtype": "float32", "filters": 40, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 134}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 135}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "expanded_conv_4/project", "inbound_nodes": [[["re_lu_9", 0, 0, {}]]], "shared_object_id": 136}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_4/project/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 137}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 138}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 139}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 140}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_4/project/BatchNorm", "inbound_nodes": [[["expanded_conv_4/project", 0, 0, {}]]], "shared_object_id": 141}, {"class_name": "Add", "config": {"name": "expanded_conv_4/Add", "trainable": false, "dtype": "float32"}, "name": "expanded_conv_4/Add", "inbound_nodes": [[["expanded_conv_3/project/BatchNorm", 0, 0, {}], ["expanded_conv_4/project/BatchNorm", 0, 0, {}]]], "shared_object_id": 142}, {"class_name": "Conv2D", "config": {"name": "expanded_conv_5/expand", "trainable": false, "dtype": "float32", "filters": 240, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 143}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 144}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "expanded_conv_5/expand", "inbound_nodes": [[["expanded_conv_4/Add", 0, 0, {}]]], "shared_object_id": 145}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_5/expand/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 146}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 147}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 148}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 149}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_5/expand/BatchNorm", "inbound_nodes": [[["expanded_conv_5/expand", 0, 0, {}]]], "shared_object_id": 150}, {"class_name": "ReLU", "config": {"name": "re_lu_10", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_10", "inbound_nodes": [[["expanded_conv_5/expand/BatchNorm", 0, 0, {}]]], "shared_object_id": 151}, {"class_name": "DepthwiseConv2D", "config": {"name": "expanded_conv_5/depthwise", "trainable": false, "dtype": "float32", "kernel_size": {"class_name": "__tuple__", "items": [3, 3]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 153}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 154}, "depthwise_regularizer": null, "depthwise_constraint": null}, "name": "expanded_conv_5/depthwise", "inbound_nodes": [[["re_lu_10", 0, 0, {}]]], "shared_object_id": 155}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_5/depthwise/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 156}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 157}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 158}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 159}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_5/depthwise/BatchNorm", "inbound_nodes": [[["expanded_conv_5/depthwise", 0, 0, {}]]], "shared_object_id": 160}, {"class_name": "ReLU", "config": {"name": "re_lu_11", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_11", "inbound_nodes": [[["expanded_conv_5/depthwise/BatchNorm", 0, 0, {}]]], "shared_object_id": 161}, {"class_name": "Conv2D", "config": {"name": "expanded_conv_5/project", "trainable": false, "dtype": "float32", "filters": 40, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 162}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 163}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "expanded_conv_5/project", "inbound_nodes": [[["re_lu_11", 0, 0, {}]]], "shared_object_id": 164}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_5/project/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 165}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 166}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 167}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 168}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_5/project/BatchNorm", "inbound_nodes": [[["expanded_conv_5/project", 0, 0, {}]]], "shared_object_id": 169}, {"class_name": "Add", "config": {"name": "expanded_conv_5/Add", "trainable": false, "dtype": "float32"}, "name": "expanded_conv_5/Add", "inbound_nodes": [[["expanded_conv_4/Add", 0, 0, {}], ["expanded_conv_5/project/BatchNorm", 0, 0, {}]]], "shared_object_id": 170}, {"class_name": "Conv2D", "config": {"name": "expanded_conv_6/expand", "trainable": false, "dtype": "float32", "filters": 120, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 171}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 172}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "expanded_conv_6/expand", "inbound_nodes": [[["expanded_conv_5/Add", 0, 0, {}]]], "shared_object_id": 173}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_6/expand/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 174}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 175}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 176}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 177}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_6/expand/BatchNorm", "inbound_nodes": [[["expanded_conv_6/expand", 0, 0, {}]]], "shared_object_id": 178}, {"class_name": "ReLU", "config": {"name": "re_lu_12", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_12", "inbound_nodes": [[["expanded_conv_6/expand/BatchNorm", 0, 0, {}]]], "shared_object_id": 179}, {"class_name": "DepthwiseConv2D", "config": {"name": "expanded_conv_6/depthwise", "trainable": false, "dtype": "float32", "kernel_size": {"class_name": "__tuple__", "items": [3, 3]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 181}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 182}, "depthwise_regularizer": null, "depthwise_constraint": null}, "name": "expanded_conv_6/depthwise", "inbound_nodes": [[["re_lu_12", 0, 0, {}]]], "shared_object_id": 183}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_6/depthwise/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 184}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 185}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 186}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 187}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_6/depthwise/BatchNorm", "inbound_nodes": [[["expanded_conv_6/depthwise", 0, 0, {}]]], "shared_object_id": 188}, {"class_name": "ReLU", "config": {"name": "re_lu_13", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_13", "inbound_nodes": [[["expanded_conv_6/depthwise/BatchNorm", 0, 0, {}]]], "shared_object_id": 189}, {"class_name": "Conv2D", "config": {"name": "expanded_conv_6/project", "trainable": false, "dtype": "float32", "filters": 48, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 190}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 191}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "expanded_conv_6/project", "inbound_nodes": [[["re_lu_13", 0, 0, {}]]], "shared_object_id": 192}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_6/project/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 193}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 194}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 195}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 196}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_6/project/BatchNorm", "inbound_nodes": [[["expanded_conv_6/project", 0, 0, {}]]], "shared_object_id": 197}, {"class_name": "Conv2D", "config": {"name": "expanded_conv_7/expand", "trainable": false, "dtype": "float32", "filters": 144, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 198}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 199}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "expanded_conv_7/expand", "inbound_nodes": [[["expanded_conv_6/project/BatchNorm", 0, 0, {}]]], "shared_object_id": 200}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_7/expand/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 201}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 202}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 203}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 204}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_7/expand/BatchNorm", "inbound_nodes": [[["expanded_conv_7/expand", 0, 0, {}]]], "shared_object_id": 205}, {"class_name": "ReLU", "config": {"name": "re_lu_14", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_14", "inbound_nodes": [[["expanded_conv_7/expand/BatchNorm", 0, 0, {}]]], "shared_object_id": 206}, {"class_name": "DepthwiseConv2D", "config": {"name": "expanded_conv_7/depthwise", "trainable": false, "dtype": "float32", "kernel_size": {"class_name": "__tuple__", "items": [3, 3]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 208}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 209}, "depthwise_regularizer": null, "depthwise_constraint": null}, "name": "expanded_conv_7/depthwise", "inbound_nodes": [[["re_lu_14", 0, 0, {}]]], "shared_object_id": 210}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_7/depthwise/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 211}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 212}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 213}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 214}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_7/depthwise/BatchNorm", "inbound_nodes": [[["expanded_conv_7/depthwise", 0, 0, {}]]], "shared_object_id": 215}, {"class_name": "ReLU", "config": {"name": "re_lu_15", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_15", "inbound_nodes": [[["expanded_conv_7/depthwise/BatchNorm", 0, 0, {}]]], "shared_object_id": 216}, {"class_name": "Conv2D", "config": {"name": "expanded_conv_7/project", "trainable": false, "dtype": "float32", "filters": 48, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 217}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 218}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "expanded_conv_7/project", "inbound_nodes": [[["re_lu_15", 0, 0, {}]]], "shared_object_id": 219}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_7/project/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 220}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 221}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 222}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 223}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_7/project/BatchNorm", "inbound_nodes": [[["expanded_conv_7/project", 0, 0, {}]]], "shared_object_id": 224}, {"class_name": "Add", "config": {"name": "expanded_conv_7/Add", "trainable": false, "dtype": "float32"}, "name": "expanded_conv_7/Add", "inbound_nodes": [[["expanded_conv_6/project/BatchNorm", 0, 0, {}], ["expanded_conv_7/project/BatchNorm", 0, 0, {}]]], "shared_object_id": 225}, {"class_name": "Conv2D", "config": {"name": "expanded_conv_8/expand", "trainable": false, "dtype": "float32", "filters": 288, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 226}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 227}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "expanded_conv_8/expand", "inbound_nodes": [[["expanded_conv_7/Add", 0, 0, {}]]], "shared_object_id": 228}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_8/expand/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 229}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 230}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 231}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 232}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_8/expand/BatchNorm", "inbound_nodes": [[["expanded_conv_8/expand", 0, 0, {}]]], "shared_object_id": 233}, {"class_name": "ReLU", "config": {"name": "re_lu_16", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_16", "inbound_nodes": [[["expanded_conv_8/expand/BatchNorm", 0, 0, {}]]], "shared_object_id": 234}, {"class_name": "ZeroPadding2D", "config": {"name": "expanded_conv_8/depthwise/pad", "trainable": false, "dtype": "float32", "padding": {"class_name": "__tuple__", "items": [{"class_name": "__tuple__", "items": [0, 1]}, {"class_name": "__tuple__", "items": [0, 1]}]}, "data_format": "channels_last"}, "name": "expanded_conv_8/depthwise/pad", "inbound_nodes": [[["re_lu_16", 0, 0, {}]]], "shared_object_id": 235}, {"class_name": "DepthwiseConv2D", "config": {"name": "expanded_conv_8/depthwise", "trainable": false, "dtype": "float32", "kernel_size": {"class_name": "__tuple__", "items": [3, 3]}, "strides": {"class_name": "__tuple__", "items": [2, 2]}, "padding": "valid", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 237}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 238}, "depthwise_regularizer": null, "depthwise_constraint": null}, "name": "expanded_conv_8/depthwise", "inbound_nodes": [[["expanded_conv_8/depthwise/pad", 0, 0, {}]]], "shared_object_id": 239}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_8/depthwise/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 240}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 241}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 242}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 243}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_8/depthwise/BatchNorm", "inbound_nodes": [[["expanded_conv_8/depthwise", 0, 0, {}]]], "shared_object_id": 244}, {"class_name": "ReLU", "config": {"name": "re_lu_17", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_17", "inbound_nodes": [[["expanded_conv_8/depthwise/BatchNorm", 0, 0, {}]]], "shared_object_id": 245}, {"class_name": "Conv2D", "config": {"name": "expanded_conv_8/project", "trainable": false, "dtype": "float32", "filters": 96, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 246}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 247}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "expanded_conv_8/project", "inbound_nodes": [[["re_lu_17", 0, 0, {}]]], "shared_object_id": 248}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_8/project/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 249}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 250}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 251}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 252}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_8/project/BatchNorm", "inbound_nodes": [[["expanded_conv_8/project", 0, 0, {}]]], "shared_object_id": 253}, {"class_name": "Conv2D", "config": {"name": "expanded_conv_9/expand", "trainable": false, "dtype": "float32", "filters": 576, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 254}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 255}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "expanded_conv_9/expand", "inbound_nodes": [[["expanded_conv_8/project/BatchNorm", 0, 0, {}]]], "shared_object_id": 256}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_9/expand/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 257}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 258}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 259}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 260}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_9/expand/BatchNorm", "inbound_nodes": [[["expanded_conv_9/expand", 0, 0, {}]]], "shared_object_id": 261}, {"class_name": "ReLU", "config": {"name": "re_lu_18", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_18", "inbound_nodes": [[["expanded_conv_9/expand/BatchNorm", 0, 0, {}]]], "shared_object_id": 262}, {"class_name": "DepthwiseConv2D", "config": {"name": "expanded_conv_9/depthwise", "trainable": false, "dtype": "float32", "kernel_size": {"class_name": "__tuple__", "items": [3, 3]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 264}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 265}, "depthwise_regularizer": null, "depthwise_constraint": null}, "name": "expanded_conv_9/depthwise", "inbound_nodes": [[["re_lu_18", 0, 0, {}]]], "shared_object_id": 266}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_9/depthwise/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 267}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 268}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 269}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 270}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_9/depthwise/BatchNorm", "inbound_nodes": [[["expanded_conv_9/depthwise", 0, 0, {}]]], "shared_object_id": 271}, {"class_name": "ReLU", "config": {"name": "re_lu_19", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_19", "inbound_nodes": [[["expanded_conv_9/depthwise/BatchNorm", 0, 0, {}]]], "shared_object_id": 272}, {"class_name": "Conv2D", "config": {"name": "expanded_conv_9/project", "trainable": false, "dtype": "float32", "filters": 96, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 273}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 274}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "expanded_conv_9/project", "inbound_nodes": [[["re_lu_19", 0, 0, {}]]], "shared_object_id": 275}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_9/project/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 276}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 277}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 278}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 279}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_9/project/BatchNorm", "inbound_nodes": [[["expanded_conv_9/project", 0, 0, {}]]], "shared_object_id": 280}, {"class_name": "Add", "config": {"name": "expanded_conv_9/Add", "trainable": false, "dtype": "float32"}, "name": "expanded_conv_9/Add", "inbound_nodes": [[["expanded_conv_8/project/BatchNorm", 0, 0, {}], ["expanded_conv_9/project/BatchNorm", 0, 0, {}]]], "shared_object_id": 281}, {"class_name": "Conv2D", "config": {"name": "expanded_conv_10/expand", "trainable": false, "dtype": "float32", "filters": 576, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 282}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 283}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "expanded_conv_10/expand", "inbound_nodes": [[["expanded_conv_9/Add", 0, 0, {}]]], "shared_object_id": 284}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_10/expand/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 285}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 286}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 287}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 288}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_10/expand/BatchNorm", "inbound_nodes": [[["expanded_conv_10/expand", 0, 0, {}]]], "shared_object_id": 289}, {"class_name": "ReLU", "config": {"name": "re_lu_20", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_20", "inbound_nodes": [[["expanded_conv_10/expand/BatchNorm", 0, 0, {}]]], "shared_object_id": 290}, {"class_name": "DepthwiseConv2D", "config": {"name": "expanded_conv_10/depthwise", "trainable": false, "dtype": "float32", "kernel_size": {"class_name": "__tuple__", "items": [3, 3]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 292}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 293}, "depthwise_regularizer": null, "depthwise_constraint": null}, "name": "expanded_conv_10/depthwise", "inbound_nodes": [[["re_lu_20", 0, 0, {}]]], "shared_object_id": 294}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_10/depthwise/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 295}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 296}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 297}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 298}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_10/depthwise/BatchNorm", "inbound_nodes": [[["expanded_conv_10/depthwise", 0, 0, {}]]], "shared_object_id": 299}, {"class_name": "ReLU", "config": {"name": "re_lu_21", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_21", "inbound_nodes": [[["expanded_conv_10/depthwise/BatchNorm", 0, 0, {}]]], "shared_object_id": 300}, {"class_name": "Conv2D", "config": {"name": "expanded_conv_10/project", "trainable": false, "dtype": "float32", "filters": 96, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 301}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 302}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "expanded_conv_10/project", "inbound_nodes": [[["re_lu_21", 0, 0, {}]]], "shared_object_id": 303}, {"class_name": "BatchNormalization", "config": {"name": "expanded_conv_10/project/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 304}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 305}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 306}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 307}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "expanded_conv_10/project/BatchNorm", "inbound_nodes": [[["expanded_conv_10/project", 0, 0, {}]]], "shared_object_id": 308}, {"class_name": "Add", "config": {"name": "expanded_conv_10/Add", "trainable": false, "dtype": "float32"}, "name": "expanded_conv_10/Add", "inbound_nodes": [[["expanded_conv_9/Add", 0, 0, {}], ["expanded_conv_10/project/BatchNorm", 0, 0, {}]]], "shared_object_id": 309}, {"class_name": "Conv2D", "config": {"name": "Conv_1", "trainable": false, "dtype": "float32", "filters": 576, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 310}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 311}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "Conv_1", "inbound_nodes": [[["expanded_conv_10/Add", 0, 0, {}]]], "shared_object_id": 312}, {"class_name": "BatchNormalization", "config": {"name": "Conv_1/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 313}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 314}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 315}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 316}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "name": "Conv_1/BatchNorm", "inbound_nodes": [[["Conv_1", 0, 0, {}]]], "shared_object_id": 317}, {"class_name": "ReLU", "config": {"name": "re_lu_22", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "name": "re_lu_22", "inbound_nodes": [[["Conv_1/BatchNorm", 0, 0, {}]]], "shared_object_id": 318}, {"class_name": "Reshape", "config": {"name": "reshape", "trainable": true, "dtype": "float32", "target_shape": {"class_name": "__tuple__", "items": [8, 1152]}}, "name": "reshape", "inbound_nodes": [[["re_lu_22", 0, 0, {}]]], "shared_object_id": 319}, {"class_name": "Dense", "config": {"name": "dense1", "trainable": true, "dtype": "float32", "units": 64, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 320}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 321}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "dense1", "inbound_nodes": [[["reshape", 0, 0, {}]]], "shared_object_id": 322}, {"class_name": "Dropout", "config": {"name": "dropout", "trainable": true, "dtype": "float32", "rate": 0.2, "noise_shape": null, "seed": null}, "name": "dropout", "inbound_nodes": [[["dense1", 0, 0, {}]]], "shared_object_id": 323}, {"class_name": "Bidirectional", "config": {"name": "bidirectional", "trainable": true, "dtype": "float32", "layer": {"class_name": "LSTM", "config": {"name": "LSTM1", "trainable": true, "dtype": "float32", "return_sequences": true, "return_state": false, "go_backwards": false, "stateful": false, "unroll": false, "time_major": false, "units": 128, "activation": "tanh", "recurrent_activation": "sigmoid", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 324}, "recurrent_initializer": {"class_name": "Orthogonal", "config": {"gain": 1.0, "seed": null}, "shared_object_id": 325}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 326}, "unit_forget_bias": true, "kernel_regularizer": null, "recurrent_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "recurrent_constraint": null, "bias_constraint": null, "dropout": 0.25, "recurrent_dropout": 0.0, "implementation": 2}, "shared_object_id": 328}, "merge_mode": "concat"}, "name": "bidirectional", "inbound_nodes": [[["dropout", 0, 0, {}]]], "shared_object_id": 329}, {"class_name": "Bidirectional", "config": {"name": "bidirectional_1", "trainable": true, "dtype": "float32", "layer": {"class_name": "LSTM", "config": {"name": "LSTM2", "trainable": true, "dtype": "float32", "return_sequences": true, "return_state": false, "go_backwards": false, "stateful": false, "unroll": false, "time_major": false, "units": 64, "activation": "tanh", "recurrent_activation": "sigmoid", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 330}, "recurrent_initializer": {"class_name": "Orthogonal", "config": {"gain": 1.0, "seed": null}, "shared_object_id": 331}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 332}, "unit_forget_bias": true, "kernel_regularizer": null, "recurrent_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "recurrent_constraint": null, "bias_constraint": null, "dropout": 0.25, "recurrent_dropout": 0.0, "implementation": 2}, "shared_object_id": 334}, "merge_mode": "concat"}, "name": "bidirectional_1", "inbound_nodes": [[["bidirectional", 0, 0, {}]]], "shared_object_id": 335}, {"class_name": "InputLayer", "config": {"batch_input_shape": {"class_name": "__tuple__", "items": [null, null]}, "dtype": "float32", "sparse": false, "ragged": false, "name": "label"}, "name": "label", "inbound_nodes": [], "shared_object_id": 336}, {"class_name": "Dense", "config": {"name": "dense2", "trainable": true, "dtype": "float32", "units": 64, "activation": "softmax", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 337}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 338}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "name": "dense2", "inbound_nodes": [[["bidirectional_1", 0, 0, {}]]], "shared_object_id": 339}, {"class_name": "CTCLayer", "config": {"name": "ctc_loss", "trainable": true, "dtype": "float32"}, "name": "ctc_loss", "inbound_nodes": [[["label", 0, 0, {"y_pred": ["dense2", 0, 0]}]]], "shared_object_id": 340}], "input_layers": [["image", 0, 0], ["label", 0, 0]], "output_layers": [["ctc_loss", 0, 0]]}}, "training_config": {"loss": null, "metrics": null, "weighted_metrics": null, "loss_weights": null, "optimizer_config": {"class_name": "Custom>Adam", "config": {"name": "Adam", "weight_decay": null, "clipnorm": null, "global_clipnorm": null, "clipvalue": null, "use_ema": false, "ema_momentum": 0.99, "ema_overwrite_frequency": null, "jit_compile": false, "is_legacy_optimizer": false, "learning_rate": 0.0010000000474974513, "beta_1": 0.9, "beta_2": 0.999, "epsilon": 1e-07, "amsgrad": false}}}}2 +„ root.layer-0"_tf_keras_input_layer*Ô{"class_name": "InputLayer", "name": "image", "dtype": "float32", "sparse": false, "ragged": false, "batch_input_shape": {"class_name": "__tuple__", "items": [null, 62, 241, 3]}, "config": {"batch_input_shape": {"class_name": "__tuple__", "items": [null, 62, 241, 3]}, "dtype": "float32", "sparse": false, "ragged": false, "name": "image"}}2 +— root.layer-1"_tf_keras_layer*í{"name": "permute", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Permute", "config": {"name": "permute", "trainable": false, "dtype": "float32", "dims": {"class_name": "__tuple__", "items": [2, 1, 3]}}, "inbound_nodes": [[["image", 0, 0, {}]]], "shared_object_id": 1, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {}}, "shared_object_id": 344}}2 +ë root.layer-2"_tf_keras_layer*Á{"name": "rescaling", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Rescaling", "config": {"name": "rescaling", "trainable": false, "dtype": "float32", "scale": 0.00784313725490196, "offset": -1.0}, "inbound_nodes": [[["permute", 0, 0, {}]]], "shared_object_id": 2}2 +± +root.layer_with_weights-0"_tf_keras_layer*ú {"name": "Conv", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Conv2D", "config": {"name": "Conv", "trainable": false, "dtype": "float32", "filters": 16, "kernel_size": {"class_name": "__tuple__", "items": [3, 3]}, "strides": {"class_name": "__tuple__", "items": [2, 2]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 3}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 4}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["rescaling", 0, 0, {}]]], "shared_object_id": 5, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 4, "axes": {"-1": 3}}, "shared_object_id": 345}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 241, 62, 3]}}2 +î root.layer_with_weights-1"_tf_keras_layer*· {"name": "Conv/BatchNorm", "trainable": false, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "BatchNormalization", "config": {"name": "Conv/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 6}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 7}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 8}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 9}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["Conv", 0, 0, {}]]], "shared_object_id": 10, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {"3": 16}}, "shared_object_id": 346}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 121, 31, 16]}}2 +ô root.layer-5"_tf_keras_layer*Ê{"name": "re_lu", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "ReLU", "config": {"name": "re_lu", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["Conv/BatchNorm", 0, 0, {}]]], "shared_object_id": 11}2 +¼ root.layer-6"_tf_keras_layer*’{"name": "expanded_conv/depthwise/pad", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "ZeroPadding2D", "config": {"name": "expanded_conv/depthwise/pad", "trainable": false, "dtype": "float32", "padding": {"class_name": "__tuple__", "items": [{"class_name": "__tuple__", "items": [1, 1]}, {"class_name": "__tuple__", "items": [1, 1]}]}, "data_format": "channels_last"}, "inbound_nodes": [[["re_lu", 0, 0, {}]]], "shared_object_id": 12, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {}}, "shared_object_id": 347}}2 +‰ root.layer_with_weights-2"_tf_keras_layer*Ò +{"name": "expanded_conv/depthwise", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "DepthwiseConv2D", "config": {"name": "expanded_conv/depthwise", "trainable": false, "dtype": "float32", "kernel_size": {"class_name": "__tuple__", "items": [3, 3]}, "strides": {"class_name": "__tuple__", "items": [2, 2]}, "padding": "valid", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 14}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 15}, "depthwise_regularizer": null, "depthwise_constraint": null}, "inbound_nodes": [[["expanded_conv/depthwise/pad", 0, 0, {}]]], "shared_object_id": 16, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 4, "axes": {"-1": 16}}, "shared_object_id": 348}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 123, 33, 16]}}2 +ª + root.layer_with_weights-3"_tf_keras_layer*ó {"name": "expanded_conv/depthwise/BatchNorm", "trainable": false, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "BatchNormalization", "config": {"name": "expanded_conv/depthwise/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 17}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 18}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 19}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 20}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["expanded_conv/depthwise", 0, 0, {}]]], "shared_object_id": 21, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {"3": 16}}, "shared_object_id": 349}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 61, 16, 16]}}2 +‹ + root.layer-9"_tf_keras_layer*á{"name": "re_lu_1", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "ReLU", "config": {"name": "re_lu_1", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["expanded_conv/depthwise/BatchNorm", 0, 0, {}]]], "shared_object_id": 22}2 +Õ + root.layer_with_weights-4"_tf_keras_layer*ž +{"name": "expanded_conv/project", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Conv2D", "config": {"name": "expanded_conv/project", "trainable": false, "dtype": "float32", "filters": 16, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 23}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 24}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["re_lu_1", 0, 0, {}]]], "shared_object_id": 25, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 4, "axes": {"-1": 16}}, "shared_object_id": 350}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 61, 16, 16]}}2 +¤ + root.layer_with_weights-5"_tf_keras_layer*í {"name": "expanded_conv/project/BatchNorm", "trainable": false, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "BatchNormalization", "config": {"name": "expanded_conv/project/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 26}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 27}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 28}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 29}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["expanded_conv/project", 0, 0, {}]]], "shared_object_id": 30, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {"3": 16}}, "shared_object_id": 351}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 61, 16, 16]}}2 +ï + root.layer_with_weights-6"_tf_keras_layer*¸ +{"name": "expanded_conv_1/expand", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Conv2D", "config": {"name": "expanded_conv_1/expand", "trainable": false, "dtype": "float32", "filters": 72, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 31}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 32}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["expanded_conv/project/BatchNorm", 0, 0, {}]]], "shared_object_id": 33, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 4, "axes": {"-1": 16}}, "shared_object_id": 352}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 61, 16, 16]}}2 +§ +root.layer_with_weights-7"_tf_keras_layer*ð {"name": "expanded_conv_1/expand/BatchNorm", "trainable": false, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "BatchNormalization", "config": {"name": "expanded_conv_1/expand/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 34}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 35}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 36}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 37}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["expanded_conv_1/expand", 0, 0, {}]]], "shared_object_id": 38, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {"3": 72}}, "shared_object_id": 353}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 61, 16, 72]}}2 +‹ root.layer-14"_tf_keras_layer*à{"name": "re_lu_2", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "ReLU", "config": {"name": "re_lu_2", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["expanded_conv_1/expand/BatchNorm", 0, 0, {}]]], "shared_object_id": 39}2 +à root.layer-15"_tf_keras_layer*˜{"name": "expanded_conv_1/depthwise/pad", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "ZeroPadding2D", "config": {"name": "expanded_conv_1/depthwise/pad", "trainable": false, "dtype": "float32", "padding": {"class_name": "__tuple__", "items": [{"class_name": "__tuple__", "items": [1, 1]}, {"class_name": "__tuple__", "items": [0, 1]}]}, "data_format": "channels_last"}, "inbound_nodes": [[["re_lu_2", 0, 0, {}]]], "shared_object_id": 40, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {}}, "shared_object_id": 354}}2 +Ž root.layer_with_weights-8"_tf_keras_layer*× +{"name": "expanded_conv_1/depthwise", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "DepthwiseConv2D", "config": {"name": "expanded_conv_1/depthwise", "trainable": false, "dtype": "float32", "kernel_size": {"class_name": "__tuple__", "items": [3, 3]}, "strides": {"class_name": "__tuple__", "items": [2, 2]}, "padding": "valid", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 42}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 43}, "depthwise_regularizer": null, "depthwise_constraint": null}, "inbound_nodes": [[["expanded_conv_1/depthwise/pad", 0, 0, {}]]], "shared_object_id": 44, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 4, "axes": {"-1": 72}}, "shared_object_id": 355}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 63, 17, 72]}}2 +¯ +root.layer_with_weights-9"_tf_keras_layer*ø {"name": "expanded_conv_1/depthwise/BatchNorm", "trainable": false, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "BatchNormalization", "config": {"name": "expanded_conv_1/depthwise/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 45}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 46}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 47}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 48}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["expanded_conv_1/depthwise", 0, 0, {}]]], "shared_object_id": 49, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {"3": 72}}, "shared_object_id": 356}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 31, 8, 72]}}2 +Ž root.layer-18"_tf_keras_layer*ã{"name": "re_lu_3", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "ReLU", "config": {"name": "re_lu_3", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["expanded_conv_1/depthwise/BatchNorm", 0, 0, {}]]], "shared_object_id": 50}2 +Ù +root.layer_with_weights-10"_tf_keras_layer*¡ +{"name": "expanded_conv_1/project", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Conv2D", "config": {"name": "expanded_conv_1/project", "trainable": false, "dtype": "float32", "filters": 24, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 51}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 52}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["re_lu_3", 0, 0, {}]]], "shared_object_id": 53, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 4, "axes": {"-1": 72}}, "shared_object_id": 357}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 31, 8, 72]}}2 +ª +root.layer_with_weights-11"_tf_keras_layer*ò {"name": "expanded_conv_1/project/BatchNorm", "trainable": false, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "BatchNormalization", "config": {"name": "expanded_conv_1/project/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 54}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 55}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 56}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 57}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["expanded_conv_1/project", 0, 0, {}]]], "shared_object_id": 58, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {"3": 24}}, "shared_object_id": 358}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 31, 8, 24]}}2 +ñ +root.layer_with_weights-12"_tf_keras_layer*¹ +{"name": "expanded_conv_2/expand", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Conv2D", "config": {"name": "expanded_conv_2/expand", "trainable": false, "dtype": "float32", "filters": 88, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 59}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 60}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["expanded_conv_1/project/BatchNorm", 0, 0, {}]]], "shared_object_id": 61, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 4, "axes": {"-1": 24}}, "shared_object_id": 359}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 31, 8, 24]}}2 +§ +root.layer_with_weights-13"_tf_keras_layer*ï {"name": "expanded_conv_2/expand/BatchNorm", "trainable": false, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "BatchNormalization", "config": {"name": "expanded_conv_2/expand/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 62}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 63}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 64}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 65}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["expanded_conv_2/expand", 0, 0, {}]]], "shared_object_id": 66, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {"3": 88}}, "shared_object_id": 360}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 31, 8, 88]}}2 +‹ root.layer-23"_tf_keras_layer*à{"name": "re_lu_4", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "ReLU", "config": {"name": "re_lu_4", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["expanded_conv_2/expand/BatchNorm", 0, 0, {}]]], "shared_object_id": 67}2 +÷ +root.layer_with_weights-14"_tf_keras_layer*¿ +{"name": "expanded_conv_2/depthwise", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "DepthwiseConv2D", "config": {"name": "expanded_conv_2/depthwise", "trainable": false, "dtype": "float32", "kernel_size": {"class_name": "__tuple__", "items": [3, 3]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 69}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 70}, "depthwise_regularizer": null, "depthwise_constraint": null}, "inbound_nodes": [[["re_lu_4", 0, 0, {}]]], "shared_object_id": 71, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 4, "axes": {"-1": 88}}, "shared_object_id": 361}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 31, 8, 88]}}2 +° +root.layer_with_weights-15"_tf_keras_layer*ø {"name": "expanded_conv_2/depthwise/BatchNorm", "trainable": false, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "BatchNormalization", "config": {"name": "expanded_conv_2/depthwise/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 72}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 73}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 74}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 75}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["expanded_conv_2/depthwise", 0, 0, {}]]], "shared_object_id": 76, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {"3": 88}}, "shared_object_id": 362}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 31, 8, 88]}}2 +Ž root.layer-26"_tf_keras_layer*ã{"name": "re_lu_5", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "ReLU", "config": {"name": "re_lu_5", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["expanded_conv_2/depthwise/BatchNorm", 0, 0, {}]]], "shared_object_id": 77}2 +Ù +root.layer_with_weights-16"_tf_keras_layer*¡ +{"name": "expanded_conv_2/project", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Conv2D", "config": {"name": "expanded_conv_2/project", "trainable": false, "dtype": "float32", "filters": 24, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 78}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 79}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["re_lu_5", 0, 0, {}]]], "shared_object_id": 80, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 4, "axes": {"-1": 88}}, "shared_object_id": 363}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 31, 8, 88]}}2 +ª +root.layer_with_weights-17"_tf_keras_layer*ò {"name": "expanded_conv_2/project/BatchNorm", "trainable": false, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "BatchNormalization", "config": {"name": "expanded_conv_2/project/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 81}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 82}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 83}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 84}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["expanded_conv_2/project", 0, 0, {}]]], "shared_object_id": 85, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {"3": 24}}, "shared_object_id": 364}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 31, 8, 24]}}2 +¥ root.layer-29"_tf_keras_layer*ú{"name": "expanded_conv_2/Add", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Add", "config": {"name": "expanded_conv_2/Add", "trainable": false, "dtype": "float32"}, "inbound_nodes": [[["expanded_conv_1/project/BatchNorm", 0, 0, {}], ["expanded_conv_2/project/BatchNorm", 0, 0, {}]]], "shared_object_id": 86, "build_input_shape": [{"class_name": "TensorShape", "items": [null, 31, 8, 24]}, {"class_name": "TensorShape", "items": [null, 31, 8, 24]}]}2 +ã +root.layer_with_weights-18"_tf_keras_layer*« +{"name": "expanded_conv_3/expand", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Conv2D", "config": {"name": "expanded_conv_3/expand", "trainable": false, "dtype": "float32", "filters": 96, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 87}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 88}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["expanded_conv_2/Add", 0, 0, {}]]], "shared_object_id": 89, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 4, "axes": {"-1": 24}}, "shared_object_id": 365}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 31, 8, 24]}}2 +§ + root.layer_with_weights-19"_tf_keras_layer*ï {"name": "expanded_conv_3/expand/BatchNorm", "trainable": false, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "BatchNormalization", "config": {"name": "expanded_conv_3/expand/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 90}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 91}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 92}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 93}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["expanded_conv_3/expand", 0, 0, {}]]], "shared_object_id": 94, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {"3": 96}}, "shared_object_id": 366}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 31, 8, 96]}}2 +‹! root.layer-32"_tf_keras_layer*à{"name": "re_lu_6", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "ReLU", "config": {"name": "re_lu_6", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["expanded_conv_3/expand/BatchNorm", 0, 0, {}]]], "shared_object_id": 95}2 +Ã" root.layer-33"_tf_keras_layer*˜{"name": "expanded_conv_3/depthwise/pad", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "ZeroPadding2D", "config": {"name": "expanded_conv_3/depthwise/pad", "trainable": false, "dtype": "float32", "padding": {"class_name": "__tuple__", "items": [{"class_name": "__tuple__", "items": [1, 1]}, {"class_name": "__tuple__", "items": [0, 1]}]}, "data_format": "channels_last"}, "inbound_nodes": [[["re_lu_6", 0, 0, {}]]], "shared_object_id": 96, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {}}, "shared_object_id": 367}}2 + #root.layer_with_weights-20"_tf_keras_layer*× +{"name": "expanded_conv_3/depthwise", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "DepthwiseConv2D", "config": {"name": "expanded_conv_3/depthwise", "trainable": false, "dtype": "float32", "kernel_size": {"class_name": "__tuple__", "items": [3, 3]}, "strides": {"class_name": "__tuple__", "items": [2, 2]}, "padding": "valid", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 98}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 99}, "depthwise_regularizer": null, "depthwise_constraint": null}, "inbound_nodes": [[["expanded_conv_3/depthwise/pad", 0, 0, {}]]], "shared_object_id": 100, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 4, "axes": {"-1": 96}}, "shared_object_id": 368}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 33, 9, 96]}}2 +µ +$root.layer_with_weights-21"_tf_keras_layer*ý {"name": "expanded_conv_3/depthwise/BatchNorm", "trainable": false, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "BatchNormalization", "config": {"name": "expanded_conv_3/depthwise/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 101}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 102}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 103}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 104}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["expanded_conv_3/depthwise", 0, 0, {}]]], "shared_object_id": 105, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {"3": 96}}, "shared_object_id": 369}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 16, 4, 96]}}2 +% root.layer-36"_tf_keras_layer*ä{"name": "re_lu_7", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "ReLU", "config": {"name": "re_lu_7", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["expanded_conv_3/depthwise/BatchNorm", 0, 0, {}]]], "shared_object_id": 106}2 +Ü +&root.layer_with_weights-22"_tf_keras_layer*¤ +{"name": "expanded_conv_3/project", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Conv2D", "config": {"name": "expanded_conv_3/project", "trainable": false, "dtype": "float32", "filters": 40, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 107}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 108}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["re_lu_7", 0, 0, {}]]], "shared_object_id": 109, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 4, "axes": {"-1": 96}}, "shared_object_id": 370}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 16, 4, 96]}}2 +¯ +'root.layer_with_weights-23"_tf_keras_layer*÷ {"name": "expanded_conv_3/project/BatchNorm", "trainable": false, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "BatchNormalization", "config": {"name": "expanded_conv_3/project/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 110}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 111}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 112}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 113}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["expanded_conv_3/project", 0, 0, {}]]], "shared_object_id": 114, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {"3": 40}}, "shared_object_id": 371}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 16, 4, 40]}}2 +õ +(root.layer_with_weights-24"_tf_keras_layer*½ +{"name": "expanded_conv_4/expand", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Conv2D", "config": {"name": "expanded_conv_4/expand", "trainable": false, "dtype": "float32", "filters": 240, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 115}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 116}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["expanded_conv_3/project/BatchNorm", 0, 0, {}]]], "shared_object_id": 117, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 4, "axes": {"-1": 40}}, "shared_object_id": 372}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 16, 4, 40]}}2 +® +)root.layer_with_weights-25"_tf_keras_layer*ö {"name": "expanded_conv_4/expand/BatchNorm", "trainable": false, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "BatchNormalization", "config": {"name": "expanded_conv_4/expand/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 118}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 119}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 120}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 121}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["expanded_conv_4/expand", 0, 0, {}]]], "shared_object_id": 122, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {"3": 240}}, "shared_object_id": 373}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 16, 4, 240]}}2 +Œ* root.layer-41"_tf_keras_layer*á{"name": "re_lu_8", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "ReLU", "config": {"name": "re_lu_8", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["expanded_conv_4/expand/BatchNorm", 0, 0, {}]]], "shared_object_id": 123}2 +ü ++root.layer_with_weights-26"_tf_keras_layer*Ä +{"name": "expanded_conv_4/depthwise", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "DepthwiseConv2D", "config": {"name": "expanded_conv_4/depthwise", "trainable": false, "dtype": "float32", "kernel_size": {"class_name": "__tuple__", "items": [3, 3]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 125}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 126}, "depthwise_regularizer": null, "depthwise_constraint": null}, "inbound_nodes": [[["re_lu_8", 0, 0, {}]]], "shared_object_id": 127, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 4, "axes": {"-1": 240}}, "shared_object_id": 374}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 16, 4, 240]}}2 +· +,root.layer_with_weights-27"_tf_keras_layer*ÿ {"name": "expanded_conv_4/depthwise/BatchNorm", "trainable": false, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "BatchNormalization", "config": {"name": "expanded_conv_4/depthwise/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 128}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 129}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 130}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 131}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["expanded_conv_4/depthwise", 0, 0, {}]]], "shared_object_id": 132, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {"3": 240}}, "shared_object_id": 375}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 16, 4, 240]}}2 +- root.layer-44"_tf_keras_layer*ä{"name": "re_lu_9", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "ReLU", "config": {"name": "re_lu_9", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["expanded_conv_4/depthwise/BatchNorm", 0, 0, {}]]], "shared_object_id": 133}2 +Þ +.root.layer_with_weights-28"_tf_keras_layer*¦ +{"name": "expanded_conv_4/project", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Conv2D", "config": {"name": "expanded_conv_4/project", "trainable": false, "dtype": "float32", "filters": 40, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 134}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 135}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["re_lu_9", 0, 0, {}]]], "shared_object_id": 136, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 4, "axes": {"-1": 240}}, "shared_object_id": 376}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 16, 4, 240]}}2 +¯ +/root.layer_with_weights-29"_tf_keras_layer*÷ {"name": "expanded_conv_4/project/BatchNorm", "trainable": false, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "BatchNormalization", "config": {"name": "expanded_conv_4/project/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 137}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 138}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 139}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 140}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["expanded_conv_4/project", 0, 0, {}]]], "shared_object_id": 141, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {"3": 40}}, "shared_object_id": 377}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 16, 4, 40]}}2 +¦0 root.layer-47"_tf_keras_layer*û{"name": "expanded_conv_4/Add", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Add", "config": {"name": "expanded_conv_4/Add", "trainable": false, "dtype": "float32"}, "inbound_nodes": [[["expanded_conv_3/project/BatchNorm", 0, 0, {}], ["expanded_conv_4/project/BatchNorm", 0, 0, {}]]], "shared_object_id": 142, "build_input_shape": [{"class_name": "TensorShape", "items": [null, 16, 4, 40]}, {"class_name": "TensorShape", "items": [null, 16, 4, 40]}]}2 +ç +1root.layer_with_weights-30"_tf_keras_layer*¯ +{"name": "expanded_conv_5/expand", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Conv2D", "config": {"name": "expanded_conv_5/expand", "trainable": false, "dtype": "float32", "filters": 240, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 143}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 144}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["expanded_conv_4/Add", 0, 0, {}]]], "shared_object_id": 145, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 4, "axes": {"-1": 40}}, "shared_object_id": 378}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 16, 4, 40]}}2 +® +2root.layer_with_weights-31"_tf_keras_layer*ö {"name": "expanded_conv_5/expand/BatchNorm", "trainable": false, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "BatchNormalization", "config": {"name": "expanded_conv_5/expand/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 146}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 147}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 148}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 149}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["expanded_conv_5/expand", 0, 0, {}]]], "shared_object_id": 150, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {"3": 240}}, "shared_object_id": 379}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 16, 4, 240]}}2 +Ž3 root.layer-50"_tf_keras_layer*ã{"name": "re_lu_10", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "ReLU", "config": {"name": "re_lu_10", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["expanded_conv_5/expand/BatchNorm", 0, 0, {}]]], "shared_object_id": 151}2 +ý +4root.layer_with_weights-32"_tf_keras_layer*Å +{"name": "expanded_conv_5/depthwise", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "DepthwiseConv2D", "config": {"name": "expanded_conv_5/depthwise", "trainable": false, "dtype": "float32", "kernel_size": {"class_name": "__tuple__", "items": [3, 3]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 153}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 154}, "depthwise_regularizer": null, "depthwise_constraint": null}, "inbound_nodes": [[["re_lu_10", 0, 0, {}]]], "shared_object_id": 155, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 4, "axes": {"-1": 240}}, "shared_object_id": 380}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 16, 4, 240]}}2 +· +5root.layer_with_weights-33"_tf_keras_layer*ÿ {"name": "expanded_conv_5/depthwise/BatchNorm", "trainable": false, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "BatchNormalization", "config": {"name": "expanded_conv_5/depthwise/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 156}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 157}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 158}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 159}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["expanded_conv_5/depthwise", 0, 0, {}]]], "shared_object_id": 160, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {"3": 240}}, "shared_object_id": 381}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 16, 4, 240]}}2 +‘6 root.layer-53"_tf_keras_layer*æ{"name": "re_lu_11", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "ReLU", "config": {"name": "re_lu_11", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["expanded_conv_5/depthwise/BatchNorm", 0, 0, {}]]], "shared_object_id": 161}2 +ß +7root.layer_with_weights-34"_tf_keras_layer*§ +{"name": "expanded_conv_5/project", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Conv2D", "config": {"name": "expanded_conv_5/project", "trainable": false, "dtype": "float32", "filters": 40, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 162}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 163}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["re_lu_11", 0, 0, {}]]], "shared_object_id": 164, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 4, "axes": {"-1": 240}}, "shared_object_id": 382}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 16, 4, 240]}}2 +¯ +8root.layer_with_weights-35"_tf_keras_layer*÷ {"name": "expanded_conv_5/project/BatchNorm", "trainable": false, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "BatchNormalization", "config": {"name": "expanded_conv_5/project/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 165}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 166}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 167}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 168}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["expanded_conv_5/project", 0, 0, {}]]], "shared_object_id": 169, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {"3": 40}}, "shared_object_id": 383}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 16, 4, 40]}}2 +˜9 root.layer-56"_tf_keras_layer*í{"name": "expanded_conv_5/Add", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Add", "config": {"name": "expanded_conv_5/Add", "trainable": false, "dtype": "float32"}, "inbound_nodes": [[["expanded_conv_4/Add", 0, 0, {}], ["expanded_conv_5/project/BatchNorm", 0, 0, {}]]], "shared_object_id": 170, "build_input_shape": [{"class_name": "TensorShape", "items": [null, 16, 4, 40]}, {"class_name": "TensorShape", "items": [null, 16, 4, 40]}]}2 +ç +:root.layer_with_weights-36"_tf_keras_layer*¯ +{"name": "expanded_conv_6/expand", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Conv2D", "config": {"name": "expanded_conv_6/expand", "trainable": false, "dtype": "float32", "filters": 120, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 171}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 172}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["expanded_conv_5/Add", 0, 0, {}]]], "shared_object_id": 173, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 4, "axes": {"-1": 40}}, "shared_object_id": 384}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 16, 4, 40]}}2 +® +;root.layer_with_weights-37"_tf_keras_layer*ö {"name": "expanded_conv_6/expand/BatchNorm", "trainable": false, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "BatchNormalization", "config": {"name": "expanded_conv_6/expand/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 174}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 175}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 176}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 177}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["expanded_conv_6/expand", 0, 0, {}]]], "shared_object_id": 178, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {"3": 120}}, "shared_object_id": 385}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 16, 4, 120]}}2 +Ž< root.layer-59"_tf_keras_layer*ã{"name": "re_lu_12", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "ReLU", "config": {"name": "re_lu_12", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["expanded_conv_6/expand/BatchNorm", 0, 0, {}]]], "shared_object_id": 179}2 +ý +=root.layer_with_weights-38"_tf_keras_layer*Å +{"name": "expanded_conv_6/depthwise", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "DepthwiseConv2D", "config": {"name": "expanded_conv_6/depthwise", "trainable": false, "dtype": "float32", "kernel_size": {"class_name": "__tuple__", "items": [3, 3]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 181}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 182}, "depthwise_regularizer": null, "depthwise_constraint": null}, "inbound_nodes": [[["re_lu_12", 0, 0, {}]]], "shared_object_id": 183, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 4, "axes": {"-1": 120}}, "shared_object_id": 386}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 16, 4, 120]}}2 +· +>root.layer_with_weights-39"_tf_keras_layer*ÿ {"name": "expanded_conv_6/depthwise/BatchNorm", "trainable": false, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "BatchNormalization", "config": {"name": "expanded_conv_6/depthwise/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 184}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 185}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 186}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 187}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["expanded_conv_6/depthwise", 0, 0, {}]]], "shared_object_id": 188, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {"3": 120}}, "shared_object_id": 387}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 16, 4, 120]}}2 +‘? root.layer-62"_tf_keras_layer*æ{"name": "re_lu_13", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "ReLU", "config": {"name": "re_lu_13", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["expanded_conv_6/depthwise/BatchNorm", 0, 0, {}]]], "shared_object_id": 189}2 +ß +@root.layer_with_weights-40"_tf_keras_layer*§ +{"name": "expanded_conv_6/project", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Conv2D", "config": {"name": "expanded_conv_6/project", "trainable": false, "dtype": "float32", "filters": 48, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 190}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 191}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["re_lu_13", 0, 0, {}]]], "shared_object_id": 192, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 4, "axes": {"-1": 120}}, "shared_object_id": 388}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 16, 4, 120]}}2 +¯ +Aroot.layer_with_weights-41"_tf_keras_layer*÷ {"name": "expanded_conv_6/project/BatchNorm", "trainable": false, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "BatchNormalization", "config": {"name": "expanded_conv_6/project/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 193}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 194}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 195}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 196}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["expanded_conv_6/project", 0, 0, {}]]], "shared_object_id": 197, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {"3": 48}}, "shared_object_id": 389}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 16, 4, 48]}}2 +õ +Broot.layer_with_weights-42"_tf_keras_layer*½ +{"name": "expanded_conv_7/expand", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Conv2D", "config": {"name": "expanded_conv_7/expand", "trainable": false, "dtype": "float32", "filters": 144, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 198}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 199}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["expanded_conv_6/project/BatchNorm", 0, 0, {}]]], "shared_object_id": 200, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 4, "axes": {"-1": 48}}, "shared_object_id": 390}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 16, 4, 48]}}2 +® +Croot.layer_with_weights-43"_tf_keras_layer*ö {"name": "expanded_conv_7/expand/BatchNorm", "trainable": false, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "BatchNormalization", "config": {"name": "expanded_conv_7/expand/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 201}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 202}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 203}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 204}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["expanded_conv_7/expand", 0, 0, {}]]], "shared_object_id": 205, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {"3": 144}}, "shared_object_id": 391}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 16, 4, 144]}}2 +ŽD root.layer-67"_tf_keras_layer*ã{"name": "re_lu_14", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "ReLU", "config": {"name": "re_lu_14", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["expanded_conv_7/expand/BatchNorm", 0, 0, {}]]], "shared_object_id": 206}2 +ý +Eroot.layer_with_weights-44"_tf_keras_layer*Å +{"name": "expanded_conv_7/depthwise", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "DepthwiseConv2D", "config": {"name": "expanded_conv_7/depthwise", "trainable": false, "dtype": "float32", "kernel_size": {"class_name": "__tuple__", "items": [3, 3]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 208}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 209}, "depthwise_regularizer": null, "depthwise_constraint": null}, "inbound_nodes": [[["re_lu_14", 0, 0, {}]]], "shared_object_id": 210, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 4, "axes": {"-1": 144}}, "shared_object_id": 392}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 16, 4, 144]}}2 +· +Froot.layer_with_weights-45"_tf_keras_layer*ÿ {"name": "expanded_conv_7/depthwise/BatchNorm", "trainable": false, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "BatchNormalization", "config": {"name": "expanded_conv_7/depthwise/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 211}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 212}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 213}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 214}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["expanded_conv_7/depthwise", 0, 0, {}]]], "shared_object_id": 215, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {"3": 144}}, "shared_object_id": 393}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 16, 4, 144]}}2 +‘G root.layer-70"_tf_keras_layer*æ{"name": "re_lu_15", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "ReLU", "config": {"name": "re_lu_15", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["expanded_conv_7/depthwise/BatchNorm", 0, 0, {}]]], "shared_object_id": 216}2 +ß +Hroot.layer_with_weights-46"_tf_keras_layer*§ +{"name": "expanded_conv_7/project", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Conv2D", "config": {"name": "expanded_conv_7/project", "trainable": false, "dtype": "float32", "filters": 48, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 217}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 218}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["re_lu_15", 0, 0, {}]]], "shared_object_id": 219, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 4, "axes": {"-1": 144}}, "shared_object_id": 394}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 16, 4, 144]}}2 +¯ +Iroot.layer_with_weights-47"_tf_keras_layer*÷ {"name": "expanded_conv_7/project/BatchNorm", "trainable": false, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "BatchNormalization", "config": {"name": "expanded_conv_7/project/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 220}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 221}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 222}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 223}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["expanded_conv_7/project", 0, 0, {}]]], "shared_object_id": 224, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {"3": 48}}, "shared_object_id": 395}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 16, 4, 48]}}2 +¦J root.layer-73"_tf_keras_layer*û{"name": "expanded_conv_7/Add", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Add", "config": {"name": "expanded_conv_7/Add", "trainable": false, "dtype": "float32"}, "inbound_nodes": [[["expanded_conv_6/project/BatchNorm", 0, 0, {}], ["expanded_conv_7/project/BatchNorm", 0, 0, {}]]], "shared_object_id": 225, "build_input_shape": [{"class_name": "TensorShape", "items": [null, 16, 4, 48]}, {"class_name": "TensorShape", "items": [null, 16, 4, 48]}]}2 +ç +Kroot.layer_with_weights-48"_tf_keras_layer*¯ +{"name": "expanded_conv_8/expand", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Conv2D", "config": {"name": "expanded_conv_8/expand", "trainable": false, "dtype": "float32", "filters": 288, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 226}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 227}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["expanded_conv_7/Add", 0, 0, {}]]], "shared_object_id": 228, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 4, "axes": {"-1": 48}}, "shared_object_id": 396}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 16, 4, 48]}}2 +® +Lroot.layer_with_weights-49"_tf_keras_layer*ö {"name": "expanded_conv_8/expand/BatchNorm", "trainable": false, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "BatchNormalization", "config": {"name": "expanded_conv_8/expand/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 229}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 230}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 231}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 232}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["expanded_conv_8/expand", 0, 0, {}]]], "shared_object_id": 233, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {"3": 288}}, "shared_object_id": 397}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 16, 4, 288]}}2 +ŽM root.layer-76"_tf_keras_layer*ã{"name": "re_lu_16", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "ReLU", "config": {"name": "re_lu_16", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["expanded_conv_8/expand/BatchNorm", 0, 0, {}]]], "shared_object_id": 234}2 +ÅN root.layer-77"_tf_keras_layer*š{"name": "expanded_conv_8/depthwise/pad", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "ZeroPadding2D", "config": {"name": "expanded_conv_8/depthwise/pad", "trainable": false, "dtype": "float32", "padding": {"class_name": "__tuple__", "items": [{"class_name": "__tuple__", "items": [0, 1]}, {"class_name": "__tuple__", "items": [0, 1]}]}, "data_format": "channels_last"}, "inbound_nodes": [[["re_lu_16", 0, 0, {}]]], "shared_object_id": 235, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {}}, "shared_object_id": 398}}2 +“ Oroot.layer_with_weights-50"_tf_keras_layer*Û +{"name": "expanded_conv_8/depthwise", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "DepthwiseConv2D", "config": {"name": "expanded_conv_8/depthwise", "trainable": false, "dtype": "float32", "kernel_size": {"class_name": "__tuple__", "items": [3, 3]}, "strides": {"class_name": "__tuple__", "items": [2, 2]}, "padding": "valid", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 237}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 238}, "depthwise_regularizer": null, "depthwise_constraint": null}, "inbound_nodes": [[["expanded_conv_8/depthwise/pad", 0, 0, {}]]], "shared_object_id": 239, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 4, "axes": {"-1": 288}}, "shared_object_id": 399}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 17, 5, 288]}}2 +¶ +Proot.layer_with_weights-51"_tf_keras_layer*þ {"name": "expanded_conv_8/depthwise/BatchNorm", "trainable": false, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "BatchNormalization", "config": {"name": "expanded_conv_8/depthwise/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 240}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 241}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 242}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 243}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["expanded_conv_8/depthwise", 0, 0, {}]]], "shared_object_id": 244, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {"3": 288}}, "shared_object_id": 400}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 8, 2, 288]}}2 +‘Q root.layer-80"_tf_keras_layer*æ{"name": "re_lu_17", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "ReLU", "config": {"name": "re_lu_17", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["expanded_conv_8/depthwise/BatchNorm", 0, 0, {}]]], "shared_object_id": 245}2 +Þ +Rroot.layer_with_weights-52"_tf_keras_layer*¦ +{"name": "expanded_conv_8/project", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Conv2D", "config": {"name": "expanded_conv_8/project", "trainable": false, "dtype": "float32", "filters": 96, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 246}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 247}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["re_lu_17", 0, 0, {}]]], "shared_object_id": 248, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 4, "axes": {"-1": 288}}, "shared_object_id": 401}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 8, 2, 288]}}2 +® +Sroot.layer_with_weights-53"_tf_keras_layer*ö {"name": "expanded_conv_8/project/BatchNorm", "trainable": false, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "BatchNormalization", "config": {"name": "expanded_conv_8/project/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 249}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 250}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 251}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 252}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["expanded_conv_8/project", 0, 0, {}]]], "shared_object_id": 253, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {"3": 96}}, "shared_object_id": 402}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 8, 2, 96]}}2 +ô +Troot.layer_with_weights-54"_tf_keras_layer*¼ +{"name": "expanded_conv_9/expand", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Conv2D", "config": {"name": "expanded_conv_9/expand", "trainable": false, "dtype": "float32", "filters": 576, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 254}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 255}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["expanded_conv_8/project/BatchNorm", 0, 0, {}]]], "shared_object_id": 256, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 4, "axes": {"-1": 96}}, "shared_object_id": 403}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 8, 2, 96]}}2 +­ +Uroot.layer_with_weights-55"_tf_keras_layer*õ {"name": "expanded_conv_9/expand/BatchNorm", "trainable": false, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "BatchNormalization", "config": {"name": "expanded_conv_9/expand/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 257}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 258}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 259}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 260}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["expanded_conv_9/expand", 0, 0, {}]]], "shared_object_id": 261, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {"3": 576}}, "shared_object_id": 404}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 8, 2, 576]}}2 +ŽV root.layer-85"_tf_keras_layer*ã{"name": "re_lu_18", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "ReLU", "config": {"name": "re_lu_18", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["expanded_conv_9/expand/BatchNorm", 0, 0, {}]]], "shared_object_id": 262}2 +ü +Wroot.layer_with_weights-56"_tf_keras_layer*Ä +{"name": "expanded_conv_9/depthwise", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "DepthwiseConv2D", "config": {"name": "expanded_conv_9/depthwise", "trainable": false, "dtype": "float32", "kernel_size": {"class_name": "__tuple__", "items": [3, 3]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 264}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 265}, "depthwise_regularizer": null, "depthwise_constraint": null}, "inbound_nodes": [[["re_lu_18", 0, 0, {}]]], "shared_object_id": 266, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 4, "axes": {"-1": 576}}, "shared_object_id": 405}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 8, 2, 576]}}2 +¶ +Xroot.layer_with_weights-57"_tf_keras_layer*þ {"name": "expanded_conv_9/depthwise/BatchNorm", "trainable": false, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "BatchNormalization", "config": {"name": "expanded_conv_9/depthwise/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 267}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 268}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 269}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 270}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["expanded_conv_9/depthwise", 0, 0, {}]]], "shared_object_id": 271, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {"3": 576}}, "shared_object_id": 406}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 8, 2, 576]}}2 +‘Y root.layer-88"_tf_keras_layer*æ{"name": "re_lu_19", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "ReLU", "config": {"name": "re_lu_19", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["expanded_conv_9/depthwise/BatchNorm", 0, 0, {}]]], "shared_object_id": 272}2 +Þ +Zroot.layer_with_weights-58"_tf_keras_layer*¦ +{"name": "expanded_conv_9/project", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Conv2D", "config": {"name": "expanded_conv_9/project", "trainable": false, "dtype": "float32", "filters": 96, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 273}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 274}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["re_lu_19", 0, 0, {}]]], "shared_object_id": 275, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 4, "axes": {"-1": 576}}, "shared_object_id": 407}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 8, 2, 576]}}2 +® +[root.layer_with_weights-59"_tf_keras_layer*ö {"name": "expanded_conv_9/project/BatchNorm", "trainable": false, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "BatchNormalization", "config": {"name": "expanded_conv_9/project/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 276}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 277}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 278}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 279}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["expanded_conv_9/project", 0, 0, {}]]], "shared_object_id": 280, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {"3": 96}}, "shared_object_id": 408}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 8, 2, 96]}}2 +¤\ root.layer-91"_tf_keras_layer*ù{"name": "expanded_conv_9/Add", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Add", "config": {"name": "expanded_conv_9/Add", "trainable": false, "dtype": "float32"}, "inbound_nodes": [[["expanded_conv_8/project/BatchNorm", 0, 0, {}], ["expanded_conv_9/project/BatchNorm", 0, 0, {}]]], "shared_object_id": 281, "build_input_shape": [{"class_name": "TensorShape", "items": [null, 8, 2, 96]}, {"class_name": "TensorShape", "items": [null, 8, 2, 96]}]}2 +è +]root.layer_with_weights-60"_tf_keras_layer*° +{"name": "expanded_conv_10/expand", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Conv2D", "config": {"name": "expanded_conv_10/expand", "trainable": false, "dtype": "float32", "filters": 576, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 282}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 283}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["expanded_conv_9/Add", 0, 0, {}]]], "shared_object_id": 284, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 4, "axes": {"-1": 96}}, "shared_object_id": 409}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 8, 2, 96]}}2 +° +^root.layer_with_weights-61"_tf_keras_layer*ø {"name": "expanded_conv_10/expand/BatchNorm", "trainable": false, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "BatchNormalization", "config": {"name": "expanded_conv_10/expand/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 285}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 286}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 287}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 288}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["expanded_conv_10/expand", 0, 0, {}]]], "shared_object_id": 289, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {"3": 576}}, "shared_object_id": 410}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 8, 2, 576]}}2 +_ root.layer-94"_tf_keras_layer*ä{"name": "re_lu_20", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "ReLU", "config": {"name": "re_lu_20", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["expanded_conv_10/expand/BatchNorm", 0, 0, {}]]], "shared_object_id": 290}2 +þ +`root.layer_with_weights-62"_tf_keras_layer*Æ +{"name": "expanded_conv_10/depthwise", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "DepthwiseConv2D", "config": {"name": "expanded_conv_10/depthwise", "trainable": false, "dtype": "float32", "kernel_size": {"class_name": "__tuple__", "items": [3, 3]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 292}, "bias_regularizer": null, "activity_regularizer": null, "bias_constraint": null, "depth_multiplier": 1, "depthwise_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 293}, "depthwise_regularizer": null, "depthwise_constraint": null}, "inbound_nodes": [[["re_lu_20", 0, 0, {}]]], "shared_object_id": 294, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 4, "axes": {"-1": 576}}, "shared_object_id": 411}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 8, 2, 576]}}2 +¹ +aroot.layer_with_weights-63"_tf_keras_layer* +{"name": "expanded_conv_10/depthwise/BatchNorm", "trainable": false, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "BatchNormalization", "config": {"name": "expanded_conv_10/depthwise/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 295}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 296}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 297}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 298}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["expanded_conv_10/depthwise", 0, 0, {}]]], "shared_object_id": 299, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {"3": 576}}, "shared_object_id": 412}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 8, 2, 576]}}2 +’b root.layer-97"_tf_keras_layer*ç{"name": "re_lu_21", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "ReLU", "config": {"name": "re_lu_21", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["expanded_conv_10/depthwise/BatchNorm", 0, 0, {}]]], "shared_object_id": 300}2 +à +croot.layer_with_weights-64"_tf_keras_layer*¨ +{"name": "expanded_conv_10/project", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Conv2D", "config": {"name": "expanded_conv_10/project", "trainable": false, "dtype": "float32", "filters": 96, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 301}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 302}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["re_lu_21", 0, 0, {}]]], "shared_object_id": 303, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 4, "axes": {"-1": 576}}, "shared_object_id": 413}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 8, 2, 576]}}2 +± +droot.layer_with_weights-65"_tf_keras_layer*ù {"name": "expanded_conv_10/project/BatchNorm", "trainable": false, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "BatchNormalization", "config": {"name": "expanded_conv_10/project/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 304}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 305}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 306}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 307}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["expanded_conv_10/project", 0, 0, {}]]], "shared_object_id": 308, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {"3": 96}}, "shared_object_id": 414}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 8, 2, 96]}}2 +šeroot.layer-100"_tf_keras_layer*î{"name": "expanded_conv_10/Add", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Add", "config": {"name": "expanded_conv_10/Add", "trainable": false, "dtype": "float32"}, "inbound_nodes": [[["expanded_conv_9/Add", 0, 0, {}], ["expanded_conv_10/project/BatchNorm", 0, 0, {}]]], "shared_object_id": 309, "build_input_shape": [{"class_name": "TensorShape", "items": [null, 8, 2, 96]}, {"class_name": "TensorShape", "items": [null, 8, 2, 96]}]}2 +Ç +froot.layer_with_weights-66"_tf_keras_layer* +{"name": "Conv_1", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Conv2D", "config": {"name": "Conv_1", "trainable": false, "dtype": "float32", "filters": 576, "kernel_size": {"class_name": "__tuple__", "items": [1, 1]}, "strides": {"class_name": "__tuple__", "items": [1, 1]}, "padding": "same", "data_format": "channels_last", "dilation_rate": {"class_name": "__tuple__", "items": [1, 1]}, "groups": 1, "activation": "linear", "use_bias": false, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 310}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 311}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["expanded_conv_10/Add", 0, 0, {}]]], "shared_object_id": 312, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 4, "axes": {"-1": 96}}, "shared_object_id": 415}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 8, 2, 96]}}2 +ý groot.layer_with_weights-67"_tf_keras_layer*Å {"name": "Conv_1/BatchNorm", "trainable": false, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "BatchNormalization", "config": {"name": "Conv_1/BatchNorm", "trainable": false, "dtype": "float32", "axis": [3], "momentum": 0.999, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 313}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 314}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 315}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 316}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "inbound_nodes": [[["Conv_1", 0, 0, {}]]], "shared_object_id": 317, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 4, "max_ndim": null, "min_ndim": null, "axes": {"3": 576}}, "shared_object_id": 416}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 8, 2, 576]}}2 +ÿhroot.layer-103"_tf_keras_layer*Ó{"name": "re_lu_22", "trainable": false, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "ReLU", "config": {"name": "re_lu_22", "trainable": false, "dtype": "float32", "max_value": null, "negative_slope": 0.0, "threshold": 0.0}, "inbound_nodes": [[["Conv_1/BatchNorm", 0, 0, {}]]], "shared_object_id": 318}2 +ûiroot.layer-104"_tf_keras_layer*Ï{"name": "reshape", "trainable": true, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Reshape", "config": {"name": "reshape", "trainable": true, "dtype": "float32", "target_shape": {"class_name": "__tuple__", "items": [8, 1152]}}, "inbound_nodes": [[["re_lu_22", 0, 0, {}]]], "shared_object_id": 319}2 +½jroot.layer_with_weights-68"_tf_keras_layer*…{"name": "dense1", "trainable": true, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Dense", "config": {"name": "dense1", "trainable": true, "dtype": "float32", "units": 64, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 320}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 321}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["reshape", 0, 0, {}]]], "shared_object_id": 322, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 2, "axes": {"-1": 1152}}, "shared_object_id": 417}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 8, 1152]}}2 +³kroot.layer-106"_tf_keras_layer*‡{"name": "dropout", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Dropout", "config": {"name": "dropout", "trainable": true, "dtype": "float32", "rate": 0.2, "noise_shape": null, "seed": null}, "inbound_nodes": [[["dense1", 0, 0, {}]]], "shared_object_id": 323, "build_input_shape": {"class_name": "TensorShape", "items": [null, 8, 64]}}2 +‘ lroot.layer_with_weights-69"_tf_keras_layer*Ù {"name": "bidirectional", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Bidirectional", "config": {"name": "bidirectional", "trainable": true, "dtype": "float32", "layer": {"class_name": "LSTM", "config": {"name": "LSTM1", "trainable": true, "dtype": "float32", "return_sequences": true, "return_state": false, "go_backwards": false, "stateful": false, "unroll": false, "time_major": false, "units": 128, "activation": "tanh", "recurrent_activation": "sigmoid", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 324}, "recurrent_initializer": {"class_name": "Orthogonal", "config": {"gain": 1.0, "seed": null}, "shared_object_id": 325}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 326}, "unit_forget_bias": true, "kernel_regularizer": null, "recurrent_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "recurrent_constraint": null, "bias_constraint": null, "dropout": 0.25, "recurrent_dropout": 0.0, "implementation": 2}, "shared_object_id": 328}, "merge_mode": "concat"}, "inbound_nodes": [[["dropout", 0, 0, {}]]], "shared_object_id": 329, "input_spec": [{"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 3, "max_ndim": null, "min_ndim": null, "axes": {}}, "shared_object_id": 418}], "build_input_shape": {"class_name": "TensorShape", "items": [null, 8, 64]}}2 +› mroot.layer_with_weights-70"_tf_keras_layer*ã {"name": "bidirectional_1", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Bidirectional", "config": {"name": "bidirectional_1", "trainable": true, "dtype": "float32", "layer": {"class_name": "LSTM", "config": {"name": "LSTM2", "trainable": true, "dtype": "float32", "return_sequences": true, "return_state": false, "go_backwards": false, "stateful": false, "unroll": false, "time_major": false, "units": 64, "activation": "tanh", "recurrent_activation": "sigmoid", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 330}, "recurrent_initializer": {"class_name": "Orthogonal", "config": {"gain": 1.0, "seed": null}, "shared_object_id": 331}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 332}, "unit_forget_bias": true, "kernel_regularizer": null, "recurrent_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "recurrent_constraint": null, "bias_constraint": null, "dropout": 0.25, "recurrent_dropout": 0.0, "implementation": 2}, "shared_object_id": 334}, "merge_mode": "concat"}, "inbound_nodes": [[["bidirectional", 0, 0, {}]]], "shared_object_id": 335, "input_spec": [{"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 3, "max_ndim": null, "min_ndim": null, "axes": {}}, "shared_object_id": 419}], "build_input_shape": {"class_name": "TensorShape", "items": [null, 8, 256]}}2 +únroot.layer-109"_tf_keras_input_layer*È{"class_name": "InputLayer", "name": "label", "dtype": "float32", "sparse": false, "ragged": false, "batch_input_shape": {"class_name": "__tuple__", "items": [null, null]}, "config": {"batch_input_shape": {"class_name": "__tuple__", "items": [null, null]}, "dtype": "float32", "sparse": false, "ragged": false, "name": "label"}}2 +Æoroot.layer_with_weights-71"_tf_keras_layer*Ž{"name": "dense2", "trainable": true, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "Dense", "config": {"name": "dense2", "trainable": true, "dtype": "float32", "units": 64, "activation": "softmax", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 337}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 338}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "inbound_nodes": [[["bidirectional_1", 0, 0, {}]]], "shared_object_id": 339, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 2, "axes": {"-1": 128}}, "shared_object_id": 420}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 8, 128]}}2 +Ôproot.layer-111"_tf_keras_layer*¨{"name": "ctc_loss", "trainable": true, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "CTCLayer", "config": {"name": "ctc_loss", "trainable": true, "dtype": "float32"}, "inbound_nodes": [[["label", 0, 0, {"y_pred": ["dense2", 0, 0]}]]], "shared_object_id": 340}2 +© Ú(root.layer_with_weights-69.forward_layer"_tf_keras_rnn_layer*Þ {"name": "forward_LSTM1", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "LSTM", "config": {"name": "forward_LSTM1", "trainable": true, "dtype": "float32", "return_sequences": true, "return_state": false, "go_backwards": false, "stateful": false, "unroll": false, "time_major": false, "zero_output_for_mask": true, "units": 128, "activation": "tanh", "recurrent_activation": "sigmoid", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 421}, "recurrent_initializer": {"class_name": "Orthogonal", "config": {"gain": 1.0, "seed": null}, "shared_object_id": 422}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 423}, "unit_forget_bias": true, "kernel_regularizer": null, "recurrent_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "recurrent_constraint": null, "bias_constraint": null, "dropout": 0.25, "recurrent_dropout": 0.0, "implementation": 2}, "shared_object_id": 425, "input_spec": [{"class_name": "InputSpec", "config": {"dtype": null, "shape": {"class_name": "__tuple__", "items": [null, null, 64]}, "ndim": 3, "max_ndim": null, "min_ndim": null, "axes": {}}, "shared_object_id": 426}], "build_input_shape": {"class_name": "TensorShape", "items": [null, 8, 64]}}2 +« Û)root.layer_with_weights-69.backward_layer"_tf_keras_rnn_layer*ß {"name": "backward_LSTM1", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "LSTM", "config": {"name": "backward_LSTM1", "trainable": true, "dtype": "float32", "return_sequences": true, "return_state": false, "go_backwards": true, "stateful": false, "unroll": false, "time_major": false, "zero_output_for_mask": true, "units": 128, "activation": "tanh", "recurrent_activation": "sigmoid", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 427}, "recurrent_initializer": {"class_name": "Orthogonal", "config": {"gain": 1.0, "seed": null}, "shared_object_id": 428}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 429}, "unit_forget_bias": true, "kernel_regularizer": null, "recurrent_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "recurrent_constraint": null, "bias_constraint": null, "dropout": 0.25, "recurrent_dropout": 0.0, "implementation": 2}, "shared_object_id": 431, "input_spec": [{"class_name": "InputSpec", "config": {"dtype": null, "shape": {"class_name": "__tuple__", "items": [null, null, 64]}, "ndim": 3, "max_ndim": null, "min_ndim": null, "axes": {}}, "shared_object_id": 432}], "build_input_shape": {"class_name": "TensorShape", "items": [null, 8, 64]}}2 +ª ã(root.layer_with_weights-70.forward_layer"_tf_keras_rnn_layer*ß {"name": "forward_LSTM2", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "LSTM", "config": {"name": "forward_LSTM2", "trainable": true, "dtype": "float32", "return_sequences": true, "return_state": false, "go_backwards": false, "stateful": false, "unroll": false, "time_major": false, "zero_output_for_mask": true, "units": 64, "activation": "tanh", "recurrent_activation": "sigmoid", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 433}, "recurrent_initializer": {"class_name": "Orthogonal", "config": {"gain": 1.0, "seed": null}, "shared_object_id": 434}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 435}, "unit_forget_bias": true, "kernel_regularizer": null, "recurrent_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "recurrent_constraint": null, "bias_constraint": null, "dropout": 0.25, "recurrent_dropout": 0.0, "implementation": 2}, "shared_object_id": 437, "input_spec": [{"class_name": "InputSpec", "config": {"dtype": null, "shape": {"class_name": "__tuple__", "items": [null, null, 256]}, "ndim": 3, "max_ndim": null, "min_ndim": null, "axes": {}}, "shared_object_id": 438}], "build_input_shape": {"class_name": "TensorShape", "items": [null, 8, 256]}}2 +¬ ä)root.layer_with_weights-70.backward_layer"_tf_keras_rnn_layer*à {"name": "backward_LSTM2", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "LSTM", "config": {"name": "backward_LSTM2", "trainable": true, "dtype": "float32", "return_sequences": true, "return_state": false, "go_backwards": true, "stateful": false, "unroll": false, "time_major": false, "zero_output_for_mask": true, "units": 64, "activation": "tanh", "recurrent_activation": "sigmoid", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 439}, "recurrent_initializer": {"class_name": "Orthogonal", "config": {"gain": 1.0, "seed": null}, "shared_object_id": 440}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 441}, "unit_forget_bias": true, "kernel_regularizer": null, "recurrent_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "recurrent_constraint": null, "bias_constraint": null, "dropout": 0.25, "recurrent_dropout": 0.0, "implementation": 2}, "shared_object_id": 443, "input_spec": [{"class_name": "InputSpec", "config": {"dtype": null, "shape": {"class_name": "__tuple__", "items": [null, null, 256]}, "ndim": 3, "max_ndim": null, "min_ndim": null, "axes": {}}, "shared_object_id": 444}], "build_input_shape": {"class_name": "TensorShape", "items": [null, 8, 256]}}2 +‹ Ù-root.layer_with_weights-69.forward_layer.cell"_tf_keras_layer*¿{"name": "lstm_cell_1", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "LSTMCell", "config": {"name": "lstm_cell_1", "trainable": true, "dtype": "float32", "units": 128, "activation": "tanh", "recurrent_activation": "sigmoid", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 421}, "recurrent_initializer": {"class_name": "Orthogonal", "config": {"gain": 1.0, "seed": null}, "shared_object_id": 422}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 423}, "unit_forget_bias": true, "kernel_regularizer": null, "recurrent_regularizer": null, "bias_regularizer": null, "kernel_constraint": null, "recurrent_constraint": null, "bias_constraint": null, "dropout": 0.25, "recurrent_dropout": 0.0, "implementation": 2}, "shared_object_id": 424, "build_input_shape": {"class_name": "__tuple__", "items": [null, 64]}}2 +Œ ã.root.layer_with_weights-69.backward_layer.cell"_tf_keras_layer*¿{"name": "lstm_cell_2", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "LSTMCell", "config": {"name": "lstm_cell_2", "trainable": true, "dtype": "float32", "units": 128, "activation": "tanh", "recurrent_activation": "sigmoid", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 427}, "recurrent_initializer": {"class_name": "Orthogonal", "config": {"gain": 1.0, "seed": null}, "shared_object_id": 428}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 429}, "unit_forget_bias": true, "kernel_regularizer": null, "recurrent_regularizer": null, "bias_regularizer": null, "kernel_constraint": null, "recurrent_constraint": null, "bias_constraint": null, "dropout": 0.25, "recurrent_dropout": 0.0, "implementation": 2}, "shared_object_id": 430, "build_input_shape": {"class_name": "__tuple__", "items": [null, 64]}}2 +‹ ú-root.layer_with_weights-70.forward_layer.cell"_tf_keras_layer*¿{"name": "lstm_cell_4", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "LSTMCell", "config": {"name": "lstm_cell_4", "trainable": true, "dtype": "float32", "units": 64, "activation": "tanh", "recurrent_activation": "sigmoid", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 433}, "recurrent_initializer": {"class_name": "Orthogonal", "config": {"gain": 1.0, "seed": null}, "shared_object_id": 434}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 435}, "unit_forget_bias": true, "kernel_regularizer": null, "recurrent_regularizer": null, "bias_regularizer": null, "kernel_constraint": null, "recurrent_constraint": null, "bias_constraint": null, "dropout": 0.25, "recurrent_dropout": 0.0, "implementation": 2}, "shared_object_id": 436, "build_input_shape": {"class_name": "__tuple__", "items": [null, 256]}}2 +Œ „.root.layer_with_weights-70.backward_layer.cell"_tf_keras_layer*¿{"name": "lstm_cell_5", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "preserve_input_structure_in_config": false, "autocast": true, "class_name": "LSTMCell", "config": {"name": "lstm_cell_5", "trainable": true, "dtype": "float32", "units": 64, "activation": "tanh", "recurrent_activation": "sigmoid", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 439}, "recurrent_initializer": {"class_name": "Orthogonal", "config": {"gain": 1.0, "seed": null}, "shared_object_id": 440}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 441}, "unit_forget_bias": true, "kernel_regularizer": null, "recurrent_regularizer": null, "bias_regularizer": null, "kernel_constraint": null, "recurrent_constraint": null, "bias_constraint": null, "dropout": 0.25, "recurrent_dropout": 0.0, "implementation": 2}, "shared_object_id": 442, "build_input_shape": {"class_name": "__tuple__", "items": [null, 256]}}2 +»•root.keras_api.metrics.0"_tf_keras_metric*ƒ{"class_name": "Mean", "name": "loss", "dtype": "float32", "config": {"name": "loss", "dtype": "float32"}, "shared_object_id": 445}2 \ No newline at end of file diff --git a/src/captcha/MobileNetV3Small/saved_model.pb b/src/captcha/MobileNetV3Small/saved_model.pb new file mode 100644 index 00000000000..dbc2703d1ed Binary files /dev/null and b/src/captcha/MobileNetV3Small/saved_model.pb differ diff --git a/src/captcha/MobileNetV3Small/variables/variables.data-00000-of-00001 b/src/captcha/MobileNetV3Small/variables/variables.data-00000-of-00001 new file mode 100644 index 00000000000..bde23625bdd Binary files /dev/null and b/src/captcha/MobileNetV3Small/variables/variables.data-00000-of-00001 differ diff --git a/src/captcha/MobileNetV3Small/variables/variables.index b/src/captcha/MobileNetV3Small/variables/variables.index new file mode 100644 index 00000000000..178a0dc09ee Binary files /dev/null and b/src/captcha/MobileNetV3Small/variables/variables.index differ diff --git a/src/captcha/ModelDAO.py b/src/captcha/ModelDAO.py new file mode 100644 index 00000000000..168d9c37ee8 --- /dev/null +++ b/src/captcha/ModelDAO.py @@ -0,0 +1,20 @@ +from tensorflow import keras +from captcha.GoogleDriveManager import GoogleDriveManager +import shutil + + +class ModelDAO: + + def __init__(self, inColab): + self.inColab = inColab + + def saveModel(self, model): + shutil.rmtree(model.name, ignore_errors = True) + model.save(model.name) + if self.inColab: + GoogleDriveManager.uploadFolderToGoogleDrive(model.name) + + def loadModel(self, modelFilepath): + if self.inColab: + GoogleDriveManager.downloadFolderFromGoogleDrive(modelFilepath) + return keras.models.load_model(modelFilepath) diff --git a/src/captcha/ModelFactory.py b/src/captcha/ModelFactory.py new file mode 100644 index 00000000000..a829b5b2dff --- /dev/null +++ b/src/captcha/ModelFactory.py @@ -0,0 +1,103 @@ +from captcha.CTCLayer import CTCLayer +import tensorflow as tf +from tensorflow import keras +from tensorflow.keras import layers + + +class ModelFactory: + + predictionModelInputLayerName = "image" + predictionModelOutputLayerName = "dense2" + + def __init__(self, img_height, img_width, char_to_num): + self.img_height = img_height + self.img_width = img_width + self.char_to_num = char_to_num + + # see https://www.tensorflow.org/api_docs/python/tf/keras/applications/resnet/ResNet101 + def createResNet101(self): + return self._createModel( + baseModelFactory = lambda input_tensor: tf.keras.applications.resnet.ResNet101( + input_tensor = input_tensor, + weights = 'imagenet', + include_top = False), + preprocess_input = tf.keras.applications.resnet.preprocess_input, + name = 'ResNet101') + + def createMobileNetV2(self): + return self._createModel( + baseModelFactory = lambda input_tensor: tf.keras.applications.MobileNetV2( + input_tensor = input_tensor, + weights = 'imagenet', + include_top = False), + preprocess_input = tf.keras.applications.mobilenet_v2.preprocess_input, + name = 'MobileNetV2') + + def createMobileNetV3Small(self): + return self._createModel( + baseModelFactory = lambda input_tensor: tf.keras.applications.MobileNetV3Small( + input_tensor = input_tensor, + minimalistic = True, + weights = 'imagenet', + include_top = False), + preprocess_input = tf.keras.applications.mobilenet_v3.preprocess_input, + name = 'MobileNetV3Small') + + @staticmethod + def createPredictionModel(model): + return keras.models.Model( + model.get_layer(name=ModelFactory.predictionModelInputLayerName).input, + model.get_layer(name=ModelFactory.predictionModelOutputLayerName).output) + + def _createModel(self, baseModelFactory, preprocess_input, name): + # Inputs to the model + input_image = layers.Input( + shape=(self.img_height, self.img_width, 3), + name=ModelFactory.predictionModelInputLayerName, + dtype="float32") + labels = layers.Input(name="label", shape=(None,), dtype="float32") + + image = preprocess_input(input_image) + # Transpose the image because we want the time dimension to correspond to the width of the image. + image = tf.keras.layers.Permute(dims=[2, 1, 3])(image) + base_model = baseModelFactory(image) + x = layers.Reshape( + target_shape=(base_model.output_shape[1], base_model.output_shape[2] * base_model.output_shape[3]), + name="reshape")(base_model.output) + x = layers.Dense(64, activation="relu", name="dense1")(x) + x = layers.Dropout(0.2)(x) + + # RNNs + x = layers.Bidirectional( + layers.LSTM( + 128, + return_sequences=True, + dropout=0.25, + unroll=False, + name="LSTM1"))(x) + x = layers.Bidirectional( + layers.LSTM( + 64, + return_sequences=True, + dropout=0.25, + unroll=False, + name="LSTM2"))(x) + + # Output layer + x = layers.Dense( + len(self.char_to_num.get_vocabulary()) + 1, + activation="softmax", + name=ModelFactory.predictionModelOutputLayerName)(x) + + # Add CTC layer for calculating CTC loss at each step + output = CTCLayer(name="ctc_loss")(labels, x) + + model = keras.models.Model( + inputs=[input_image, labels], + outputs=output, + name=name) + # "The model is optimized by a stochastic gradient descent (SGD) strategy with an initial learning rate of 0.004, weight decay of 0.00004 and momentum of 0.9." + # from tensorflow.keras.optimizers import SGD + # model.compile(optimizer=SGD(learning_rate=0.004, "weight_decay=0.00004," momentum=0.9) + model.compile(optimizer=keras.optimizers.Adam()) + return model diff --git a/src/captcha/PredictionsDecoder.py b/src/captcha/PredictionsDecoder.py new file mode 100644 index 00000000000..15a1dfaa7ca --- /dev/null +++ b/src/captcha/PredictionsDecoder.py @@ -0,0 +1,24 @@ +import tensorflow as tf +from tensorflow import keras +import numpy as np + + +class PredictionsDecoder: + + def __init__(self, captchaLength, num_to_char): + self.captchaLength = captchaLength + self.num_to_char = num_to_char + + def decode_batch_predictions(self, pred): + return self.asStrings(self.ctc_decode(pred)) + + def ctc_decode(self, pred): + input_len = np.ones(pred.shape[0]) * pred.shape[1] + # Use greedy search. For complex tasks, you can use beam search + return keras.backend.ctc_decode(pred, input_length=input_len, greedy=True)[0][0][:, :self.captchaLength] + + def asStrings(self, labels): + return [self.asString(label) for label in labels] + + def asString(self, label): + return tf.strings.reduce_join(self.num_to_char(label)).numpy().decode("utf-8") diff --git a/src/captcha/__init__.py b/src/captcha/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/captcha.ipynb b/src/captcha/captcha.ipynb similarity index 57% rename from src/captcha.ipynb rename to src/captcha/captcha.ipynb index c0a19e3a785..48b04c13f33 100644 --- a/src/captcha.ipynb +++ b/src/captcha/captcha.ipynb @@ -25,11 +25,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "metadata": { "id": "zZSwQragIS_v" }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2023-03-15 10:46:02.303787: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: SSE4.1 SSE4.2 AVX AVX2 FMA\n", + "To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.\n", + "/home/frankknoll/.local/lib/python3.9/site-packages/scipy/__init__.py:146: UserWarning: A NumPy version >=1.16.5 and <1.23.0 is required for this version of SciPy (detected version 1.23.5\n", + " warnings.warn(f\"A NumPy version >={np_minversion} and <{np_maxversion}\"\n" + ] + } + ], "source": [ "import os\n", "import numpy as np\n", @@ -43,90 +54,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": { "id": "QB8QZJPg3MGI" }, "outputs": [], "source": [ - "class GoogleDriveManager:\n", - " \n", - " _googleDriveFolder = Path('/content/gdrive')\n", - " _baseFolder = _googleDriveFolder / 'MyDrive/CAPTCHA/models/'\n", - "\n", - " @staticmethod\n", - " def mount():\n", - " from google.colab import drive\n", - " drive.mount(str(GoogleDriveManager._googleDriveFolder))\n", - "\n", - " @staticmethod\n", - " def uploadFolderToGoogleDrive(folder):\n", - " !zip -r {folder}.zip {folder}/\n", - " !cp {folder}.zip {GoogleDriveManager._baseFolder}\n", - "\n", - " @staticmethod\n", - " def downloadFolderFromGoogleDrive(folder):\n", - " !cp {GoogleDriveManager._baseFolder}/{folder}.zip .\n", - " !rm -rf {folder}\n", - " !unzip {folder}.zip\n" + "from GoogleDriveManager import GoogleDriveManager" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": { "id": "C3bxU1US2blM" }, "outputs": [], "source": [ - "from PIL import Image, ImageDraw, ImageFont\n", - "import random\n", - "import string\n", - "from pathlib import Path\n", - "\n", - "\n", - "class CaptchaGenerator:\n", - "\n", - " characters = sorted(set(list(string.ascii_letters + string.digits)))\n", - " captchaLength = 6\n", - "\n", - " def __init__(self, numCaptchas, dataDir):\n", - " self.numCaptchas = numCaptchas\n", - " self.dataDir = dataDir\n", - "\n", - " def createAndSaveCaptchas(self):\n", - " self._prepareDataDir()\n", - " for _ in range(self.numCaptchas):\n", - " self._createAndSaveCaptcha()\n", - "\n", - " def _prepareDataDir(self):\n", - " !rm -fr {self.dataDir}\n", - " self.dataDir.mkdir(parents=True, exist_ok=True)\n", - "\n", - " def _createAndSaveCaptcha(self):\n", - " captchaString = self._createCaptchaString()\n", - " captcha = self._createCaptcha(captchaString)\n", - " captcha.save(f\"{str(self.dataDir)}/{captchaString}.jpeg\")\n", - "\n", - " def _createCaptchaString(self):\n", - " return ''.join(random.choice(CaptchaGenerator.characters) for _ in range(CaptchaGenerator.captchaLength))\n", - "\n", - " def _createCaptcha(self, word):\n", - " image = Image.new(\"RGB\", (360, 96), \"#373737\")\n", - " draw = ImageDraw.Draw(image)\n", - " font = ImageFont.truetype(\"ariali.ttf\", size=40)\n", - " draw.text((30, 10), word[0], font=font)\n", - " draw.text((80, 30), word[1], font=font)\n", - " draw.text((135, 10), word[2], font=font)\n", - " draw.text((190, 30), word[3], font=font)\n", - " draw.text((250, 10), word[4], font=font)\n", - " draw.text((295, 30), word[5], font=font)\n", - " return image\n" + "from CaptchaGenerator import CaptchaGenerator" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": { "id": "0DZfMrbe3MGN" }, @@ -141,25 +91,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": { "id": "sNJjugG83MGO" }, "outputs": [], "source": [ - "class CharNumConverter:\n", - "\n", - " def __init__(self, characters):\n", - " self.char_to_num = layers.StringLookup(vocabulary=list(characters), mask_token=None)\n", - " self.num_to_char = layers.StringLookup(\n", - " vocabulary=self.char_to_num.get_vocabulary(),\n", - " mask_token=None,\n", - " invert=True)" + "from CharNumConverter import CharNumConverter" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": { "id": "qxs04OTR3MGP" }, @@ -194,39 +137,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "metadata": { "id": "dAAACymS3MGR" }, "outputs": [], "source": [ - "class DatasetFactory:\n", - " \n", - " def __init__(self, img_height, img_width, char_to_num, batch_size):\n", - " self.img_height = img_height\n", - " self.img_width = img_width\n", - " self.char_to_num = char_to_num\n", - " self.batch_size = batch_size\n", - "\n", - " def createDataset(self, x, y):\n", - " dataset = tf.data.Dataset.from_tensor_slices((x, y))\n", - " dataset = dataset.map(self._encode_single_sample, num_parallel_calls=tf.data.AUTOTUNE)\n", - " dataset = dataset.batch(self.batch_size).prefetch(buffer_size=tf.data.AUTOTUNE)\n", - " return dataset\n", - "\n", - " def _encode_single_sample(self, img_path, label):\n", - " img = tf.io.read_file(img_path)\n", - " img = tf.io.decode_jpeg(img, channels=3)\n", - " img = tf.image.resize(img, [self.img_height, self.img_width])\n", - " # Map the characters in label to numbers\n", - " label = self.char_to_num(tf.strings.unicode_split(label, input_encoding=\"UTF-8\"))\n", - " # Return a dict as our model is expecting two inputs\n", - " return {\"image\": img, \"label\": label}\n" + "from DatasetFactory import DatasetFactory" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "metadata": { "id": "kdL9_t03Mf3t" }, @@ -248,7 +170,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "metadata": { "id": "FqVSEuZp3MGT" }, @@ -275,7 +197,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "metadata": { "id": "apkeCHhP3MGU" }, @@ -300,138 +222,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "metadata": { "id": "st13jAjL3MGV" }, "outputs": [], "source": [ - "# see https://keras.io/guides/making_new_layers_and_models_via_subclassing/\n", - "class CTCLayer(layers.Layer):\n", - " \n", - " def __init__(self, name=None):\n", - " super().__init__(name=name)\n", - " self.loss_fn = keras.backend.ctc_batch_cost\n", - "\n", - " def call(self, y_true, y_pred):\n", - " # Compute the training-time loss value and add it\n", - " # to the layer using `self.add_loss()`.\n", - " batch_len = tf.cast(tf.shape(y_true)[0], dtype=\"int64\")\n", - " input_length = tf.cast(tf.shape(y_pred)[1], dtype=\"int64\")\n", - " label_length = tf.cast(tf.shape(y_true)[1], dtype=\"int64\")\n", - "\n", - " input_length = input_length * tf.ones(shape=(batch_len, 1), dtype=\"int64\")\n", - " label_length = label_length * tf.ones(shape=(batch_len, 1), dtype=\"int64\")\n", - "\n", - " loss = self.loss_fn(y_true, y_pred, input_length, label_length)\n", - " self.add_loss(loss)\n", - "\n", - " # At test time, just return the computed predictions\n", - " return y_pred\n", - "\n", - "\n", - "class ModelFactory:\n", - " \n", - " predictionModelInputLayerName = \"image\"\n", - " predictionModelOutputLayerName = \"dense2\"\n", - "\n", - " def __init__(self, img_height, img_width, char_to_num):\n", - " self.img_height = img_height\n", - " self.img_width = img_width\n", - " self.char_to_num = char_to_num\n", - "\n", - " # see https://www.tensorflow.org/api_docs/python/tf/keras/applications/resnet/ResNet101\n", - " def createResNet101(self):\n", - " return self._createModel(\n", - " baseModelFactory = lambda input_tensor: tf.keras.applications.resnet.ResNet101(\n", - " input_tensor = input_tensor,\n", - " weights = 'imagenet',\n", - " include_top = False),\n", - " preprocess_input = tf.keras.applications.resnet.preprocess_input,\n", - " name = 'ResNet101')\n", - "\n", - " def createMobileNetV2(self):\n", - " return self._createModel(\n", - " baseModelFactory = lambda input_tensor: tf.keras.applications.MobileNetV2(\n", - " input_tensor = input_tensor,\n", - " weights = 'imagenet',\n", - " include_top = False),\n", - " preprocess_input = tf.keras.applications.mobilenet_v2.preprocess_input,\n", - " name = 'MobileNetV2')\n", - "\n", - " def createMobileNetV3Small(self):\n", - " return self._createModel(\n", - " baseModelFactory = lambda input_tensor: tf.keras.applications.MobileNetV3Small(\n", - " input_tensor = input_tensor,\n", - " minimalistic = True,\n", - " weights = 'imagenet',\n", - " include_top = False),\n", - " preprocess_input = tf.keras.applications.mobilenet_v3.preprocess_input,\n", - " name = 'MobileNetV3Small')\n", - " \n", - " @staticmethod\n", - " def createPredictionModel(model):\n", - " return keras.models.Model(\n", - " model.get_layer(name=ModelFactory.predictionModelInputLayerName).input,\n", - " model.get_layer(name=ModelFactory.predictionModelOutputLayerName).output)\n", - "\n", - " def _createModel(self, baseModelFactory, preprocess_input, name):\n", - " # Inputs to the model\n", - " input_image = layers.Input(\n", - " shape=(self.img_height, self.img_width, 3),\n", - " name=ModelFactory.predictionModelInputLayerName,\n", - " dtype=\"float32\")\n", - " labels = layers.Input(name=\"label\", shape=(None,), dtype=\"float32\")\n", - " \n", - " image = preprocess_input(input_image)\n", - " # Transpose the image because we want the time dimension to correspond to the width of the image.\n", - " image = tf.keras.layers.Permute(dims=[2, 1, 3])(image)\n", - " base_model = baseModelFactory(image)\n", - " x = layers.Reshape(\n", - " target_shape=(base_model.output_shape[1], base_model.output_shape[2] * base_model.output_shape[3]),\n", - " name=\"reshape\")(base_model.output)\n", - " x = layers.Dense(64, activation=\"relu\", name=\"dense1\")(x)\n", - " x = layers.Dropout(0.2)(x)\n", - "\n", - " # RNNs\n", - " x = layers.Bidirectional(\n", - " layers.LSTM(\n", - " 128,\n", - " return_sequences=True,\n", - " dropout=0.25,\n", - " unroll=False,\n", - " name=\"LSTM1\"))(x)\n", - " x = layers.Bidirectional(\n", - " layers.LSTM(\n", - " 64,\n", - " return_sequences=True,\n", - " dropout=0.25,\n", - " unroll=False,\n", - " name=\"LSTM2\"))(x)\n", - "\n", - " # Output layer\n", - " x = layers.Dense(\n", - " len(self.char_to_num.get_vocabulary()) + 1,\n", - " activation=\"softmax\",\n", - " name=ModelFactory.predictionModelOutputLayerName)(x)\n", - "\n", - " # Add CTC layer for calculating CTC loss at each step\n", - " output = CTCLayer(name=\"ctc_loss\")(labels, x)\n", - "\n", - " model = keras.models.Model(\n", - " inputs=[input_image, labels],\n", - " outputs=output,\n", - " name=name)\n", - " # \"The model is optimized by a stochastic gradient descent (SGD) strategy with an initial learning rate of 0.004, weight decay of 0.00004 and momentum of 0.9.\"\n", - " # from tensorflow.keras.optimizers import SGD\n", - " # model.compile(optimizer=SGD(learning_rate=0.004, \"weight_decay=0.00004,\" momentum=0.9)\n", - " model.compile(optimizer=keras.optimizers.Adam())\n", - " return model\n" + "from ModelFactory import ModelFactory" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "metadata": {}, "outputs": [], "source": [ @@ -442,61 +244,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "metadata": { "id": "B7GZlk2_3MGX" }, "outputs": [], "source": [ - "class PredictionsDecoder:\n", - "\n", - " def __init__(self, captchaLength, num_to_char):\n", - " self.captchaLength = captchaLength\n", - " self.num_to_char = num_to_char\n", - "\n", - " def decode_batch_predictions(self, pred):\n", - " return self.asStrings(self.ctc_decode(pred))\n", - "\n", - " def ctc_decode(self, pred):\n", - " input_len = np.ones(pred.shape[0]) * pred.shape[1]\n", - " # Use greedy search. For complex tasks, you can use beam search\n", - " return keras.backend.ctc_decode(pred, input_length=input_len, greedy=True)[0][0][:, :self.captchaLength]\n", - "\n", - " def asStrings(self, labels):\n", - " return [self.asString(label) for label in labels]\n", - "\n", - " def asString(self, label):\n", - " return tf.strings.reduce_join(self.num_to_char(label)).numpy().decode(\"utf-8\")\n" + "from PredictionsDecoder import PredictionsDecoder" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "metadata": { "id": "8Oa7avYt3MGX" }, "outputs": [], "source": [ - "class ModelDAO:\n", - "\n", - " def __init__(self, inColab):\n", - " self.inColab = inColab\n", - "\n", - " def saveModel(self, model):\n", - " !rm -rf {model.name}\n", - " model.save(model.name)\n", - " if self.inColab:\n", - " GoogleDriveManager.uploadFolderToGoogleDrive(model.name)\n", - "\n", - " def loadModel(self, modelName):\n", - " if self.inColab:\n", - " GoogleDriveManager.downloadFolderFromGoogleDrive(modelName)\n", - " return keras.models.load_model(modelName)\n" + "from ModelDAO import ModelDAO" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "metadata": { "id": "S3X_SslH3MGY" }, @@ -523,7 +293,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "metadata": { "id": "NZrKXF6P3MGY" }, @@ -534,7 +304,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "metadata": { "id": "7EsmTaF03MGZ" }, @@ -546,7 +316,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "metadata": { "id": "S_4hl4S4BmZK" }, @@ -559,7 +329,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "metadata": { "id": "WmUghcQaMf3y" }, @@ -570,18 +340,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "metadata": { "id": "cpxO7yGAMf3z" }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2023-03-15 10:41:54.085280: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: SSE4.1 SSE4.2 AVX AVX2 FMA\n", + "To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.\n", + "2023-03-15 10:41:54.089954: I tensorflow/core/common_runtime/process_util.cc:146] Creating new thread pool with default inter op setting: 2. Tune using inter_op_parallelism_threads for best performance.\n" + ] + } + ], "source": [ "charNumConverter = CharNumConverter(CaptchaGenerator.characters)" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 21, "metadata": { "id": "tVb5nDFTMf3z" }, @@ -592,7 +372,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "metadata": { "id": "t1wzlHQ-Mf3z" }, @@ -603,7 +383,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 23, "metadata": { "id": "s35OUslsMf30" }, @@ -623,7 +403,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 24, "metadata": { "id": "oRcemcbG3MGa" }, @@ -637,7 +417,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 25, "metadata": { "id": "P7myCt7e2h6A" }, @@ -645,13 +425,13 @@ "source": [ "# \"We generate 200,000 images for base model pre-training\"\n", "captchaGenerator = CaptchaGenerator(\n", - " numCaptchas = 200000, # 50, # 200000,\n", + " numCaptchas = 50, # 50, # 200000,\n", " dataDir = Path(\"captchas/generated/VAERS/\"))" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 27, "metadata": { "id": "j9apYsyI3MGb" }, diff --git a/src/captchas/VAERS/101659.jpeg b/src/captcha/captchas/VAERS/101659.jpeg similarity index 100% rename from src/captchas/VAERS/101659.jpeg rename to src/captcha/captchas/VAERS/101659.jpeg diff --git a/src/captchas/VAERS/101c33.jpeg b/src/captcha/captchas/VAERS/101c33.jpeg similarity index 100% rename from src/captchas/VAERS/101c33.jpeg rename to src/captcha/captchas/VAERS/101c33.jpeg diff --git a/src/captchas/VAERS/10472b.jpeg b/src/captcha/captchas/VAERS/10472b.jpeg similarity index 100% rename from src/captchas/VAERS/10472b.jpeg rename to src/captcha/captchas/VAERS/10472b.jpeg diff --git a/src/captchas/VAERS/10947F.jpeg b/src/captcha/captchas/VAERS/10947F.jpeg similarity index 100% rename from src/captchas/VAERS/10947F.jpeg rename to src/captcha/captchas/VAERS/10947F.jpeg diff --git a/src/captchas/VAERS/109adF.jpeg b/src/captcha/captchas/VAERS/109adF.jpeg similarity index 100% rename from src/captchas/VAERS/109adF.jpeg rename to src/captcha/captchas/VAERS/109adF.jpeg diff --git a/src/captchas/VAERS/109d2a.jpeg b/src/captcha/captchas/VAERS/109d2a.jpeg similarity index 100% rename from src/captchas/VAERS/109d2a.jpeg rename to src/captcha/captchas/VAERS/109d2a.jpeg diff --git a/src/captchas/VAERS/10DDd9.jpeg b/src/captcha/captchas/VAERS/10DDd9.jpeg similarity index 100% rename from src/captchas/VAERS/10DDd9.jpeg rename to src/captcha/captchas/VAERS/10DDd9.jpeg diff --git a/src/captchas/VAERS/10b1b3.jpeg b/src/captcha/captchas/VAERS/10b1b3.jpeg similarity index 100% rename from src/captchas/VAERS/10b1b3.jpeg rename to src/captcha/captchas/VAERS/10b1b3.jpeg diff --git a/src/captchas/VAERS/10bcdd.jpeg b/src/captcha/captchas/VAERS/10bcdd.jpeg similarity index 100% rename from src/captchas/VAERS/10bcdd.jpeg rename to src/captcha/captchas/VAERS/10bcdd.jpeg diff --git a/src/captchas/VAERS/110C20.jpeg b/src/captcha/captchas/VAERS/110C20.jpeg similarity index 100% rename from src/captchas/VAERS/110C20.jpeg rename to src/captcha/captchas/VAERS/110C20.jpeg diff --git a/src/captchas/VAERS/117f67.jpeg b/src/captcha/captchas/VAERS/117f67.jpeg similarity index 100% rename from src/captchas/VAERS/117f67.jpeg rename to src/captcha/captchas/VAERS/117f67.jpeg diff --git a/src/captchas/VAERS/118c39.jpeg b/src/captcha/captchas/VAERS/118c39.jpeg similarity index 100% rename from src/captchas/VAERS/118c39.jpeg rename to src/captcha/captchas/VAERS/118c39.jpeg diff --git a/src/captchas/VAERS/11CD9E.jpeg b/src/captcha/captchas/VAERS/11CD9E.jpeg similarity index 100% rename from src/captchas/VAERS/11CD9E.jpeg rename to src/captcha/captchas/VAERS/11CD9E.jpeg diff --git a/src/captchas/VAERS/123C40.jpeg b/src/captcha/captchas/VAERS/123C40.jpeg similarity index 100% rename from src/captchas/VAERS/123C40.jpeg rename to src/captcha/captchas/VAERS/123C40.jpeg diff --git a/src/captchas/VAERS/126383.jpeg b/src/captcha/captchas/VAERS/126383.jpeg similarity index 100% rename from src/captchas/VAERS/126383.jpeg rename to src/captcha/captchas/VAERS/126383.jpeg diff --git a/src/captchas/VAERS/12E29c.jpeg b/src/captcha/captchas/VAERS/12E29c.jpeg similarity index 100% rename from src/captchas/VAERS/12E29c.jpeg rename to src/captcha/captchas/VAERS/12E29c.jpeg diff --git a/src/captchas/VAERS/12a107.jpeg b/src/captcha/captchas/VAERS/12a107.jpeg similarity index 100% rename from src/captchas/VAERS/12a107.jpeg rename to src/captcha/captchas/VAERS/12a107.jpeg diff --git a/src/captchas/VAERS/12b8A8.jpeg b/src/captcha/captchas/VAERS/12b8A8.jpeg similarity index 100% rename from src/captchas/VAERS/12b8A8.jpeg rename to src/captcha/captchas/VAERS/12b8A8.jpeg diff --git a/src/captchas/VAERS/133427.jpeg b/src/captcha/captchas/VAERS/133427.jpeg similarity index 100% rename from src/captchas/VAERS/133427.jpeg rename to src/captcha/captchas/VAERS/133427.jpeg diff --git a/src/captchas/VAERS/136B3b.jpeg b/src/captcha/captchas/VAERS/136B3b.jpeg similarity index 100% rename from src/captchas/VAERS/136B3b.jpeg rename to src/captcha/captchas/VAERS/136B3b.jpeg diff --git a/src/captchas/VAERS/13709F.jpeg b/src/captcha/captchas/VAERS/13709F.jpeg similarity index 100% rename from src/captchas/VAERS/13709F.jpeg rename to src/captcha/captchas/VAERS/13709F.jpeg diff --git a/src/captchas/VAERS/137d4B.jpeg b/src/captcha/captchas/VAERS/137d4B.jpeg similarity index 100% rename from src/captchas/VAERS/137d4B.jpeg rename to src/captcha/captchas/VAERS/137d4B.jpeg diff --git a/src/captchas/VAERS/13DeEA.jpeg b/src/captcha/captchas/VAERS/13DeEA.jpeg similarity index 100% rename from src/captchas/VAERS/13DeEA.jpeg rename to src/captcha/captchas/VAERS/13DeEA.jpeg diff --git a/src/captchas/VAERS/1421bf.jpeg b/src/captcha/captchas/VAERS/1421bf.jpeg similarity index 100% rename from src/captchas/VAERS/1421bf.jpeg rename to src/captcha/captchas/VAERS/1421bf.jpeg diff --git a/src/captchas/VAERS/1450C9.jpeg b/src/captcha/captchas/VAERS/1450C9.jpeg similarity index 100% rename from src/captchas/VAERS/1450C9.jpeg rename to src/captcha/captchas/VAERS/1450C9.jpeg diff --git a/src/captchas/VAERS/14540d.jpeg b/src/captcha/captchas/VAERS/14540d.jpeg similarity index 100% rename from src/captchas/VAERS/14540d.jpeg rename to src/captcha/captchas/VAERS/14540d.jpeg diff --git a/src/captchas/VAERS/14853f.jpeg b/src/captcha/captchas/VAERS/14853f.jpeg similarity index 100% rename from src/captchas/VAERS/14853f.jpeg rename to src/captcha/captchas/VAERS/14853f.jpeg diff --git a/src/captchas/VAERS/158AB4.jpeg b/src/captcha/captchas/VAERS/158AB4.jpeg similarity index 100% rename from src/captchas/VAERS/158AB4.jpeg rename to src/captcha/captchas/VAERS/158AB4.jpeg diff --git a/src/captchas/VAERS/15A9c4.jpeg b/src/captcha/captchas/VAERS/15A9c4.jpeg similarity index 100% rename from src/captchas/VAERS/15A9c4.jpeg rename to src/captcha/captchas/VAERS/15A9c4.jpeg diff --git a/src/captchas/VAERS/15B2c5.jpeg b/src/captcha/captchas/VAERS/15B2c5.jpeg similarity index 100% rename from src/captchas/VAERS/15B2c5.jpeg rename to src/captcha/captchas/VAERS/15B2c5.jpeg diff --git a/src/captchas/VAERS/16042f.jpeg b/src/captcha/captchas/VAERS/16042f.jpeg similarity index 100% rename from src/captchas/VAERS/16042f.jpeg rename to src/captcha/captchas/VAERS/16042f.jpeg diff --git a/src/captchas/VAERS/1624Dd.jpeg b/src/captcha/captchas/VAERS/1624Dd.jpeg similarity index 100% rename from src/captchas/VAERS/1624Dd.jpeg rename to src/captcha/captchas/VAERS/1624Dd.jpeg diff --git a/src/captchas/VAERS/1687dF.jpeg b/src/captcha/captchas/VAERS/1687dF.jpeg similarity index 100% rename from src/captchas/VAERS/1687dF.jpeg rename to src/captcha/captchas/VAERS/1687dF.jpeg diff --git a/src/captchas/VAERS/16E867.jpeg b/src/captcha/captchas/VAERS/16E867.jpeg similarity index 100% rename from src/captchas/VAERS/16E867.jpeg rename to src/captcha/captchas/VAERS/16E867.jpeg diff --git a/src/captchas/VAERS/170Af9.jpeg b/src/captcha/captchas/VAERS/170Af9.jpeg similarity index 100% rename from src/captchas/VAERS/170Af9.jpeg rename to src/captcha/captchas/VAERS/170Af9.jpeg diff --git a/src/captchas/VAERS/170b0f.jpeg b/src/captcha/captchas/VAERS/170b0f.jpeg similarity index 100% rename from src/captchas/VAERS/170b0f.jpeg rename to src/captcha/captchas/VAERS/170b0f.jpeg diff --git a/src/captchas/VAERS/171465.jpeg b/src/captcha/captchas/VAERS/171465.jpeg similarity index 100% rename from src/captchas/VAERS/171465.jpeg rename to src/captcha/captchas/VAERS/171465.jpeg diff --git a/src/captchas/VAERS/172166.jpeg b/src/captcha/captchas/VAERS/172166.jpeg similarity index 100% rename from src/captchas/VAERS/172166.jpeg rename to src/captcha/captchas/VAERS/172166.jpeg diff --git a/src/captchas/VAERS/1766Ce.jpeg b/src/captcha/captchas/VAERS/1766Ce.jpeg similarity index 100% rename from src/captchas/VAERS/1766Ce.jpeg rename to src/captcha/captchas/VAERS/1766Ce.jpeg diff --git a/src/captchas/VAERS/17Ae6a.jpeg b/src/captcha/captchas/VAERS/17Ae6a.jpeg similarity index 100% rename from src/captchas/VAERS/17Ae6a.jpeg rename to src/captcha/captchas/VAERS/17Ae6a.jpeg diff --git a/src/captchas/VAERS/17B5e1.jpeg b/src/captcha/captchas/VAERS/17B5e1.jpeg similarity index 100% rename from src/captchas/VAERS/17B5e1.jpeg rename to src/captcha/captchas/VAERS/17B5e1.jpeg diff --git a/src/captchas/VAERS/18328E.jpeg b/src/captcha/captchas/VAERS/18328E.jpeg similarity index 100% rename from src/captchas/VAERS/18328E.jpeg rename to src/captcha/captchas/VAERS/18328E.jpeg diff --git a/src/captchas/VAERS/184c7a.jpeg b/src/captcha/captchas/VAERS/184c7a.jpeg similarity index 100% rename from src/captchas/VAERS/184c7a.jpeg rename to src/captcha/captchas/VAERS/184c7a.jpeg diff --git a/src/captchas/VAERS/1874d6.jpeg b/src/captcha/captchas/VAERS/1874d6.jpeg similarity index 100% rename from src/captchas/VAERS/1874d6.jpeg rename to src/captcha/captchas/VAERS/1874d6.jpeg diff --git a/src/captchas/VAERS/18B171.jpeg b/src/captcha/captchas/VAERS/18B171.jpeg similarity index 100% rename from src/captchas/VAERS/18B171.jpeg rename to src/captcha/captchas/VAERS/18B171.jpeg diff --git a/src/captchas/VAERS/18F64a.jpeg b/src/captcha/captchas/VAERS/18F64a.jpeg similarity index 100% rename from src/captchas/VAERS/18F64a.jpeg rename to src/captcha/captchas/VAERS/18F64a.jpeg diff --git a/src/captchas/VAERS/18ca35.jpeg b/src/captcha/captchas/VAERS/18ca35.jpeg similarity index 100% rename from src/captchas/VAERS/18ca35.jpeg rename to src/captcha/captchas/VAERS/18ca35.jpeg diff --git a/src/captchas/VAERS/192e93.jpeg b/src/captcha/captchas/VAERS/192e93.jpeg similarity index 100% rename from src/captchas/VAERS/192e93.jpeg rename to src/captcha/captchas/VAERS/192e93.jpeg diff --git a/src/captchas/VAERS/195092.jpeg b/src/captcha/captchas/VAERS/195092.jpeg similarity index 100% rename from src/captchas/VAERS/195092.jpeg rename to src/captcha/captchas/VAERS/195092.jpeg diff --git a/src/captchas/VAERS/19713A.jpeg b/src/captcha/captchas/VAERS/19713A.jpeg similarity index 100% rename from src/captchas/VAERS/19713A.jpeg rename to src/captcha/captchas/VAERS/19713A.jpeg diff --git a/src/captchas/VAERS/197814.jpeg b/src/captcha/captchas/VAERS/197814.jpeg similarity index 100% rename from src/captchas/VAERS/197814.jpeg rename to src/captcha/captchas/VAERS/197814.jpeg diff --git a/src/captchas/VAERS/198130.jpeg b/src/captcha/captchas/VAERS/198130.jpeg similarity index 100% rename from src/captchas/VAERS/198130.jpeg rename to src/captcha/captchas/VAERS/198130.jpeg diff --git a/src/captchas/VAERS/19BAb9.jpeg b/src/captcha/captchas/VAERS/19BAb9.jpeg similarity index 100% rename from src/captchas/VAERS/19BAb9.jpeg rename to src/captcha/captchas/VAERS/19BAb9.jpeg diff --git a/src/captchas/VAERS/19b687.jpeg b/src/captcha/captchas/VAERS/19b687.jpeg similarity index 100% rename from src/captchas/VAERS/19b687.jpeg rename to src/captcha/captchas/VAERS/19b687.jpeg diff --git a/src/captchas/VAERS/19ec2D.jpeg b/src/captcha/captchas/VAERS/19ec2D.jpeg similarity index 100% rename from src/captchas/VAERS/19ec2D.jpeg rename to src/captcha/captchas/VAERS/19ec2D.jpeg diff --git a/src/captchas/VAERS/19f61D.jpeg b/src/captcha/captchas/VAERS/19f61D.jpeg similarity index 100% rename from src/captchas/VAERS/19f61D.jpeg rename to src/captcha/captchas/VAERS/19f61D.jpeg diff --git a/src/captchas/VAERS/1Ad47a.jpeg b/src/captcha/captchas/VAERS/1Ad47a.jpeg similarity index 100% rename from src/captchas/VAERS/1Ad47a.jpeg rename to src/captcha/captchas/VAERS/1Ad47a.jpeg diff --git a/src/captchas/VAERS/1BcCed.jpeg b/src/captcha/captchas/VAERS/1BcCed.jpeg similarity index 100% rename from src/captchas/VAERS/1BcCed.jpeg rename to src/captcha/captchas/VAERS/1BcCed.jpeg diff --git a/src/captchas/VAERS/1CF389.jpeg b/src/captcha/captchas/VAERS/1CF389.jpeg similarity index 100% rename from src/captchas/VAERS/1CF389.jpeg rename to src/captcha/captchas/VAERS/1CF389.jpeg diff --git a/src/captchas/VAERS/1D3011.jpeg b/src/captcha/captchas/VAERS/1D3011.jpeg similarity index 100% rename from src/captchas/VAERS/1D3011.jpeg rename to src/captcha/captchas/VAERS/1D3011.jpeg diff --git a/src/captchas/VAERS/1DC996.jpeg b/src/captcha/captchas/VAERS/1DC996.jpeg similarity index 100% rename from src/captchas/VAERS/1DC996.jpeg rename to src/captcha/captchas/VAERS/1DC996.jpeg diff --git a/src/captchas/VAERS/1E94d1.jpeg b/src/captcha/captchas/VAERS/1E94d1.jpeg similarity index 100% rename from src/captchas/VAERS/1E94d1.jpeg rename to src/captcha/captchas/VAERS/1E94d1.jpeg diff --git a/src/captchas/VAERS/1FF5a4.jpeg b/src/captcha/captchas/VAERS/1FF5a4.jpeg similarity index 100% rename from src/captchas/VAERS/1FF5a4.jpeg rename to src/captcha/captchas/VAERS/1FF5a4.jpeg diff --git a/src/captchas/VAERS/1Fa47E.jpeg b/src/captcha/captchas/VAERS/1Fa47E.jpeg similarity index 100% rename from src/captchas/VAERS/1Fa47E.jpeg rename to src/captcha/captchas/VAERS/1Fa47E.jpeg diff --git a/src/captchas/VAERS/1b3DBE.jpeg b/src/captcha/captchas/VAERS/1b3DBE.jpeg similarity index 100% rename from src/captchas/VAERS/1b3DBE.jpeg rename to src/captcha/captchas/VAERS/1b3DBE.jpeg diff --git a/src/captchas/VAERS/1b56Cb.jpeg b/src/captcha/captchas/VAERS/1b56Cb.jpeg similarity index 100% rename from src/captchas/VAERS/1b56Cb.jpeg rename to src/captcha/captchas/VAERS/1b56Cb.jpeg diff --git a/src/captchas/VAERS/1c13C5.jpeg b/src/captcha/captchas/VAERS/1c13C5.jpeg similarity index 100% rename from src/captchas/VAERS/1c13C5.jpeg rename to src/captcha/captchas/VAERS/1c13C5.jpeg diff --git a/src/captchas/VAERS/1c21F8.jpeg b/src/captcha/captchas/VAERS/1c21F8.jpeg similarity index 100% rename from src/captchas/VAERS/1c21F8.jpeg rename to src/captcha/captchas/VAERS/1c21F8.jpeg diff --git a/src/captchas/VAERS/1c7761.jpeg b/src/captcha/captchas/VAERS/1c7761.jpeg similarity index 100% rename from src/captchas/VAERS/1c7761.jpeg rename to src/captcha/captchas/VAERS/1c7761.jpeg diff --git a/src/captchas/VAERS/1c9a87.jpeg b/src/captcha/captchas/VAERS/1c9a87.jpeg similarity index 100% rename from src/captchas/VAERS/1c9a87.jpeg rename to src/captcha/captchas/VAERS/1c9a87.jpeg diff --git a/src/captchas/VAERS/1d6281.jpeg b/src/captcha/captchas/VAERS/1d6281.jpeg similarity index 100% rename from src/captchas/VAERS/1d6281.jpeg rename to src/captcha/captchas/VAERS/1d6281.jpeg diff --git a/src/captchas/VAERS/1d6732.jpeg b/src/captcha/captchas/VAERS/1d6732.jpeg similarity index 100% rename from src/captchas/VAERS/1d6732.jpeg rename to src/captcha/captchas/VAERS/1d6732.jpeg diff --git a/src/captchas/VAERS/1dA2DF.jpeg b/src/captcha/captchas/VAERS/1dA2DF.jpeg similarity index 100% rename from src/captchas/VAERS/1dA2DF.jpeg rename to src/captcha/captchas/VAERS/1dA2DF.jpeg diff --git a/src/captchas/VAERS/1dc1c1.jpeg b/src/captcha/captchas/VAERS/1dc1c1.jpeg similarity index 100% rename from src/captchas/VAERS/1dc1c1.jpeg rename to src/captcha/captchas/VAERS/1dc1c1.jpeg diff --git a/src/captchas/VAERS/1dc917.jpeg b/src/captcha/captchas/VAERS/1dc917.jpeg similarity index 100% rename from src/captchas/VAERS/1dc917.jpeg rename to src/captcha/captchas/VAERS/1dc917.jpeg diff --git a/src/captchas/VAERS/1eCA0D.jpeg b/src/captcha/captchas/VAERS/1eCA0D.jpeg similarity index 100% rename from src/captchas/VAERS/1eCA0D.jpeg rename to src/captcha/captchas/VAERS/1eCA0D.jpeg diff --git a/src/captchas/VAERS/1ed720.jpeg b/src/captcha/captchas/VAERS/1ed720.jpeg similarity index 100% rename from src/captchas/VAERS/1ed720.jpeg rename to src/captcha/captchas/VAERS/1ed720.jpeg diff --git a/src/captchas/VAERS/1edd4f.jpeg b/src/captcha/captchas/VAERS/1edd4f.jpeg similarity index 100% rename from src/captchas/VAERS/1edd4f.jpeg rename to src/captcha/captchas/VAERS/1edd4f.jpeg diff --git a/src/captchas/VAERS/1fB180.jpeg b/src/captcha/captchas/VAERS/1fB180.jpeg similarity index 100% rename from src/captchas/VAERS/1fB180.jpeg rename to src/captcha/captchas/VAERS/1fB180.jpeg diff --git a/src/captchas/VAERS/202d8A.jpeg b/src/captcha/captchas/VAERS/202d8A.jpeg similarity index 100% rename from src/captchas/VAERS/202d8A.jpeg rename to src/captcha/captchas/VAERS/202d8A.jpeg diff --git a/src/captchas/VAERS/2049D0.jpeg b/src/captcha/captchas/VAERS/2049D0.jpeg similarity index 100% rename from src/captchas/VAERS/2049D0.jpeg rename to src/captcha/captchas/VAERS/2049D0.jpeg diff --git a/src/captchas/VAERS/20822C.jpeg b/src/captcha/captchas/VAERS/20822C.jpeg similarity index 100% rename from src/captchas/VAERS/20822C.jpeg rename to src/captcha/captchas/VAERS/20822C.jpeg diff --git a/src/captchas/VAERS/20Ba2c.jpeg b/src/captcha/captchas/VAERS/20Ba2c.jpeg similarity index 100% rename from src/captchas/VAERS/20Ba2c.jpeg rename to src/captcha/captchas/VAERS/20Ba2c.jpeg diff --git a/src/captchas/VAERS/20FBE1.jpeg b/src/captcha/captchas/VAERS/20FBE1.jpeg similarity index 100% rename from src/captchas/VAERS/20FBE1.jpeg rename to src/captcha/captchas/VAERS/20FBE1.jpeg diff --git a/src/captchas/VAERS/20a20B.jpeg b/src/captcha/captchas/VAERS/20a20B.jpeg similarity index 100% rename from src/captchas/VAERS/20a20B.jpeg rename to src/captcha/captchas/VAERS/20a20B.jpeg diff --git a/src/captchas/VAERS/20e9a5.jpeg b/src/captcha/captchas/VAERS/20e9a5.jpeg similarity index 100% rename from src/captchas/VAERS/20e9a5.jpeg rename to src/captcha/captchas/VAERS/20e9a5.jpeg diff --git a/src/captchas/VAERS/211c7b.jpeg b/src/captcha/captchas/VAERS/211c7b.jpeg similarity index 100% rename from src/captchas/VAERS/211c7b.jpeg rename to src/captcha/captchas/VAERS/211c7b.jpeg diff --git a/src/captchas/VAERS/21486A.jpeg b/src/captcha/captchas/VAERS/21486A.jpeg similarity index 100% rename from src/captchas/VAERS/21486A.jpeg rename to src/captcha/captchas/VAERS/21486A.jpeg diff --git a/src/captchas/VAERS/217C29.jpeg b/src/captcha/captchas/VAERS/217C29.jpeg similarity index 100% rename from src/captchas/VAERS/217C29.jpeg rename to src/captcha/captchas/VAERS/217C29.jpeg diff --git a/src/captchas/VAERS/21844B.jpeg b/src/captcha/captchas/VAERS/21844B.jpeg similarity index 100% rename from src/captchas/VAERS/21844B.jpeg rename to src/captcha/captchas/VAERS/21844B.jpeg diff --git a/src/captchas/VAERS/21DE93.jpeg b/src/captcha/captchas/VAERS/21DE93.jpeg similarity index 100% rename from src/captchas/VAERS/21DE93.jpeg rename to src/captcha/captchas/VAERS/21DE93.jpeg diff --git a/src/captchas/VAERS/21a93e.jpeg b/src/captcha/captchas/VAERS/21a93e.jpeg similarity index 100% rename from src/captchas/VAERS/21a93e.jpeg rename to src/captcha/captchas/VAERS/21a93e.jpeg diff --git a/src/captchas/VAERS/2230C8.jpeg b/src/captcha/captchas/VAERS/2230C8.jpeg similarity index 100% rename from src/captchas/VAERS/2230C8.jpeg rename to src/captcha/captchas/VAERS/2230C8.jpeg diff --git a/src/captchas/VAERS/2254F9.jpeg b/src/captcha/captchas/VAERS/2254F9.jpeg similarity index 100% rename from src/captchas/VAERS/2254F9.jpeg rename to src/captcha/captchas/VAERS/2254F9.jpeg diff --git a/src/captchas/VAERS/227931.jpeg b/src/captcha/captchas/VAERS/227931.jpeg similarity index 100% rename from src/captchas/VAERS/227931.jpeg rename to src/captcha/captchas/VAERS/227931.jpeg diff --git a/src/captchas/VAERS/22d18a.jpeg b/src/captcha/captchas/VAERS/22d18a.jpeg similarity index 100% rename from src/captchas/VAERS/22d18a.jpeg rename to src/captcha/captchas/VAERS/22d18a.jpeg diff --git a/src/captchas/VAERS/23500d.jpeg b/src/captcha/captchas/VAERS/23500d.jpeg similarity index 100% rename from src/captchas/VAERS/23500d.jpeg rename to src/captcha/captchas/VAERS/23500d.jpeg diff --git a/src/captchas/VAERS/237b1b.jpeg b/src/captcha/captchas/VAERS/237b1b.jpeg similarity index 100% rename from src/captchas/VAERS/237b1b.jpeg rename to src/captcha/captchas/VAERS/237b1b.jpeg diff --git a/src/captchas/VAERS/238BAA.jpeg b/src/captcha/captchas/VAERS/238BAA.jpeg similarity index 100% rename from src/captchas/VAERS/238BAA.jpeg rename to src/captcha/captchas/VAERS/238BAA.jpeg diff --git a/src/captchas/VAERS/241d47.jpeg b/src/captcha/captchas/VAERS/241d47.jpeg similarity index 100% rename from src/captchas/VAERS/241d47.jpeg rename to src/captcha/captchas/VAERS/241d47.jpeg diff --git a/src/captchas/VAERS/242ECb.jpeg b/src/captcha/captchas/VAERS/242ECb.jpeg similarity index 100% rename from src/captchas/VAERS/242ECb.jpeg rename to src/captcha/captchas/VAERS/242ECb.jpeg diff --git a/src/captchas/VAERS/249154.jpeg b/src/captcha/captchas/VAERS/249154.jpeg similarity index 100% rename from src/captchas/VAERS/249154.jpeg rename to src/captcha/captchas/VAERS/249154.jpeg diff --git a/src/captchas/VAERS/2492a8.jpeg b/src/captcha/captchas/VAERS/2492a8.jpeg similarity index 100% rename from src/captchas/VAERS/2492a8.jpeg rename to src/captcha/captchas/VAERS/2492a8.jpeg diff --git a/src/captchas/VAERS/24A52f.jpeg b/src/captcha/captchas/VAERS/24A52f.jpeg similarity index 100% rename from src/captchas/VAERS/24A52f.jpeg rename to src/captcha/captchas/VAERS/24A52f.jpeg diff --git a/src/captchas/VAERS/24c4e2.jpeg b/src/captcha/captchas/VAERS/24c4e2.jpeg similarity index 100% rename from src/captchas/VAERS/24c4e2.jpeg rename to src/captcha/captchas/VAERS/24c4e2.jpeg diff --git a/src/captchas/VAERS/253450.jpeg b/src/captcha/captchas/VAERS/253450.jpeg similarity index 100% rename from src/captchas/VAERS/253450.jpeg rename to src/captcha/captchas/VAERS/253450.jpeg diff --git a/src/captchas/VAERS/266e92.jpeg b/src/captcha/captchas/VAERS/266e92.jpeg similarity index 100% rename from src/captchas/VAERS/266e92.jpeg rename to src/captcha/captchas/VAERS/266e92.jpeg diff --git a/src/captchas/VAERS/275c80.jpeg b/src/captcha/captchas/VAERS/275c80.jpeg similarity index 100% rename from src/captchas/VAERS/275c80.jpeg rename to src/captcha/captchas/VAERS/275c80.jpeg diff --git a/src/captchas/VAERS/277e72.jpeg b/src/captcha/captchas/VAERS/277e72.jpeg similarity index 100% rename from src/captchas/VAERS/277e72.jpeg rename to src/captcha/captchas/VAERS/277e72.jpeg diff --git a/src/captchas/VAERS/279084.jpeg b/src/captcha/captchas/VAERS/279084.jpeg similarity index 100% rename from src/captchas/VAERS/279084.jpeg rename to src/captcha/captchas/VAERS/279084.jpeg diff --git a/src/captchas/VAERS/2799BA.jpeg b/src/captcha/captchas/VAERS/2799BA.jpeg similarity index 100% rename from src/captchas/VAERS/2799BA.jpeg rename to src/captcha/captchas/VAERS/2799BA.jpeg diff --git a/src/captchas/VAERS/27F0a7.jpeg b/src/captcha/captchas/VAERS/27F0a7.jpeg similarity index 100% rename from src/captchas/VAERS/27F0a7.jpeg rename to src/captcha/captchas/VAERS/27F0a7.jpeg diff --git a/src/captchas/VAERS/2817A0.jpeg b/src/captcha/captchas/VAERS/2817A0.jpeg similarity index 100% rename from src/captchas/VAERS/2817A0.jpeg rename to src/captcha/captchas/VAERS/2817A0.jpeg diff --git a/src/captchas/VAERS/283276.jpeg b/src/captcha/captchas/VAERS/283276.jpeg similarity index 100% rename from src/captchas/VAERS/283276.jpeg rename to src/captcha/captchas/VAERS/283276.jpeg diff --git a/src/captchas/VAERS/2926ad.jpeg b/src/captcha/captchas/VAERS/2926ad.jpeg similarity index 100% rename from src/captchas/VAERS/2926ad.jpeg rename to src/captcha/captchas/VAERS/2926ad.jpeg diff --git a/src/captchas/VAERS/2994e8.jpeg b/src/captcha/captchas/VAERS/2994e8.jpeg similarity index 100% rename from src/captchas/VAERS/2994e8.jpeg rename to src/captcha/captchas/VAERS/2994e8.jpeg diff --git a/src/captchas/VAERS/29F750.jpeg b/src/captcha/captchas/VAERS/29F750.jpeg similarity index 100% rename from src/captchas/VAERS/29F750.jpeg rename to src/captcha/captchas/VAERS/29F750.jpeg diff --git a/src/captchas/VAERS/29fC93.jpeg b/src/captcha/captchas/VAERS/29fC93.jpeg similarity index 100% rename from src/captchas/VAERS/29fC93.jpeg rename to src/captcha/captchas/VAERS/29fC93.jpeg diff --git a/src/captchas/VAERS/2A4DeC.jpeg b/src/captcha/captchas/VAERS/2A4DeC.jpeg similarity index 100% rename from src/captchas/VAERS/2A4DeC.jpeg rename to src/captcha/captchas/VAERS/2A4DeC.jpeg diff --git a/src/captchas/VAERS/2B26B8.jpeg b/src/captcha/captchas/VAERS/2B26B8.jpeg similarity index 100% rename from src/captchas/VAERS/2B26B8.jpeg rename to src/captcha/captchas/VAERS/2B26B8.jpeg diff --git a/src/captchas/VAERS/2Bbc35.jpeg b/src/captcha/captchas/VAERS/2Bbc35.jpeg similarity index 100% rename from src/captchas/VAERS/2Bbc35.jpeg rename to src/captcha/captchas/VAERS/2Bbc35.jpeg diff --git a/src/captchas/VAERS/2C5309.jpeg b/src/captcha/captchas/VAERS/2C5309.jpeg similarity index 100% rename from src/captchas/VAERS/2C5309.jpeg rename to src/captcha/captchas/VAERS/2C5309.jpeg diff --git a/src/captchas/VAERS/2CD30a.jpeg b/src/captcha/captchas/VAERS/2CD30a.jpeg similarity index 100% rename from src/captchas/VAERS/2CD30a.jpeg rename to src/captcha/captchas/VAERS/2CD30a.jpeg diff --git a/src/captchas/VAERS/2D8F63.jpeg b/src/captcha/captchas/VAERS/2D8F63.jpeg similarity index 100% rename from src/captchas/VAERS/2D8F63.jpeg rename to src/captcha/captchas/VAERS/2D8F63.jpeg diff --git a/src/captchas/VAERS/2E5240.jpeg b/src/captcha/captchas/VAERS/2E5240.jpeg similarity index 100% rename from src/captchas/VAERS/2E5240.jpeg rename to src/captcha/captchas/VAERS/2E5240.jpeg diff --git a/src/captchas/VAERS/2EDCCF.jpeg b/src/captcha/captchas/VAERS/2EDCCF.jpeg similarity index 100% rename from src/captchas/VAERS/2EDCCF.jpeg rename to src/captcha/captchas/VAERS/2EDCCF.jpeg diff --git a/src/captchas/VAERS/2Fa014.jpeg b/src/captcha/captchas/VAERS/2Fa014.jpeg similarity index 100% rename from src/captchas/VAERS/2Fa014.jpeg rename to src/captcha/captchas/VAERS/2Fa014.jpeg diff --git a/src/captchas/VAERS/2FcE12.jpeg b/src/captcha/captchas/VAERS/2FcE12.jpeg similarity index 100% rename from src/captchas/VAERS/2FcE12.jpeg rename to src/captcha/captchas/VAERS/2FcE12.jpeg diff --git a/src/captchas/VAERS/2a38a2.jpeg b/src/captcha/captchas/VAERS/2a38a2.jpeg similarity index 100% rename from src/captchas/VAERS/2a38a2.jpeg rename to src/captcha/captchas/VAERS/2a38a2.jpeg diff --git a/src/captchas/VAERS/2aDf9f.jpeg b/src/captcha/captchas/VAERS/2aDf9f.jpeg similarity index 100% rename from src/captchas/VAERS/2aDf9f.jpeg rename to src/captcha/captchas/VAERS/2aDf9f.jpeg diff --git a/src/captchas/VAERS/2aa473.jpeg b/src/captcha/captchas/VAERS/2aa473.jpeg similarity index 100% rename from src/captchas/VAERS/2aa473.jpeg rename to src/captcha/captchas/VAERS/2aa473.jpeg diff --git a/src/captchas/VAERS/2aafEd.jpeg b/src/captcha/captchas/VAERS/2aafEd.jpeg similarity index 100% rename from src/captchas/VAERS/2aafEd.jpeg rename to src/captcha/captchas/VAERS/2aafEd.jpeg diff --git a/src/captchas/VAERS/2af384.jpeg b/src/captcha/captchas/VAERS/2af384.jpeg similarity index 100% rename from src/captchas/VAERS/2af384.jpeg rename to src/captcha/captchas/VAERS/2af384.jpeg diff --git a/src/captchas/VAERS/2b45fA.jpeg b/src/captcha/captchas/VAERS/2b45fA.jpeg similarity index 100% rename from src/captchas/VAERS/2b45fA.jpeg rename to src/captcha/captchas/VAERS/2b45fA.jpeg diff --git a/src/captchas/VAERS/2b5EaA.jpeg b/src/captcha/captchas/VAERS/2b5EaA.jpeg similarity index 100% rename from src/captchas/VAERS/2b5EaA.jpeg rename to src/captcha/captchas/VAERS/2b5EaA.jpeg diff --git a/src/captchas/VAERS/2c099a.jpeg b/src/captcha/captchas/VAERS/2c099a.jpeg similarity index 100% rename from src/captchas/VAERS/2c099a.jpeg rename to src/captcha/captchas/VAERS/2c099a.jpeg diff --git a/src/captchas/VAERS/2e30E4.jpeg b/src/captcha/captchas/VAERS/2e30E4.jpeg similarity index 100% rename from src/captchas/VAERS/2e30E4.jpeg rename to src/captcha/captchas/VAERS/2e30E4.jpeg diff --git a/src/captchas/VAERS/2f29ef.jpeg b/src/captcha/captchas/VAERS/2f29ef.jpeg similarity index 100% rename from src/captchas/VAERS/2f29ef.jpeg rename to src/captcha/captchas/VAERS/2f29ef.jpeg diff --git a/src/captchas/VAERS/301050.jpeg b/src/captcha/captchas/VAERS/301050.jpeg similarity index 100% rename from src/captchas/VAERS/301050.jpeg rename to src/captcha/captchas/VAERS/301050.jpeg diff --git a/src/captchas/VAERS/3029CC.jpeg b/src/captcha/captchas/VAERS/3029CC.jpeg similarity index 100% rename from src/captchas/VAERS/3029CC.jpeg rename to src/captcha/captchas/VAERS/3029CC.jpeg diff --git a/src/captchas/VAERS/304e25.jpeg b/src/captcha/captchas/VAERS/304e25.jpeg similarity index 100% rename from src/captchas/VAERS/304e25.jpeg rename to src/captcha/captchas/VAERS/304e25.jpeg diff --git a/src/captchas/VAERS/30ab11.jpeg b/src/captcha/captchas/VAERS/30ab11.jpeg similarity index 100% rename from src/captchas/VAERS/30ab11.jpeg rename to src/captcha/captchas/VAERS/30ab11.jpeg diff --git a/src/captchas/VAERS/30b0E7.jpeg b/src/captcha/captchas/VAERS/30b0E7.jpeg similarity index 100% rename from src/captchas/VAERS/30b0E7.jpeg rename to src/captcha/captchas/VAERS/30b0E7.jpeg diff --git a/src/captchas/VAERS/31276E.jpeg b/src/captcha/captchas/VAERS/31276E.jpeg similarity index 100% rename from src/captchas/VAERS/31276E.jpeg rename to src/captcha/captchas/VAERS/31276E.jpeg diff --git a/src/captchas/VAERS/31A371.jpeg b/src/captcha/captchas/VAERS/31A371.jpeg similarity index 100% rename from src/captchas/VAERS/31A371.jpeg rename to src/captcha/captchas/VAERS/31A371.jpeg diff --git a/src/captchas/VAERS/31D699.jpeg b/src/captcha/captchas/VAERS/31D699.jpeg similarity index 100% rename from src/captchas/VAERS/31D699.jpeg rename to src/captcha/captchas/VAERS/31D699.jpeg diff --git a/src/captchas/VAERS/31efE3.jpeg b/src/captcha/captchas/VAERS/31efE3.jpeg similarity index 100% rename from src/captchas/VAERS/31efE3.jpeg rename to src/captcha/captchas/VAERS/31efE3.jpeg diff --git a/src/captchas/VAERS/322F73.jpeg b/src/captcha/captchas/VAERS/322F73.jpeg similarity index 100% rename from src/captchas/VAERS/322F73.jpeg rename to src/captcha/captchas/VAERS/322F73.jpeg diff --git a/src/captchas/VAERS/325034.jpeg b/src/captcha/captchas/VAERS/325034.jpeg similarity index 100% rename from src/captchas/VAERS/325034.jpeg rename to src/captcha/captchas/VAERS/325034.jpeg diff --git a/src/captchas/VAERS/32BABA.jpeg b/src/captcha/captchas/VAERS/32BABA.jpeg similarity index 100% rename from src/captchas/VAERS/32BABA.jpeg rename to src/captcha/captchas/VAERS/32BABA.jpeg diff --git a/src/captchas/VAERS/32aCd2.jpeg b/src/captcha/captchas/VAERS/32aCd2.jpeg similarity index 100% rename from src/captchas/VAERS/32aCd2.jpeg rename to src/captcha/captchas/VAERS/32aCd2.jpeg diff --git a/src/captchas/VAERS/32e174.jpeg b/src/captcha/captchas/VAERS/32e174.jpeg similarity index 100% rename from src/captchas/VAERS/32e174.jpeg rename to src/captcha/captchas/VAERS/32e174.jpeg diff --git a/src/captchas/VAERS/3337cc.jpeg b/src/captcha/captchas/VAERS/3337cc.jpeg similarity index 100% rename from src/captchas/VAERS/3337cc.jpeg rename to src/captcha/captchas/VAERS/3337cc.jpeg diff --git a/src/captchas/VAERS/339C10.jpeg b/src/captcha/captchas/VAERS/339C10.jpeg similarity index 100% rename from src/captchas/VAERS/339C10.jpeg rename to src/captcha/captchas/VAERS/339C10.jpeg diff --git a/src/captchas/VAERS/33F78d.jpeg b/src/captcha/captchas/VAERS/33F78d.jpeg similarity index 100% rename from src/captchas/VAERS/33F78d.jpeg rename to src/captcha/captchas/VAERS/33F78d.jpeg diff --git a/src/captchas/VAERS/3447Ea.jpeg b/src/captcha/captchas/VAERS/3447Ea.jpeg similarity index 100% rename from src/captchas/VAERS/3447Ea.jpeg rename to src/captcha/captchas/VAERS/3447Ea.jpeg diff --git a/src/captchas/VAERS/3460EC.jpeg b/src/captcha/captchas/VAERS/3460EC.jpeg similarity index 100% rename from src/captchas/VAERS/3460EC.jpeg rename to src/captcha/captchas/VAERS/3460EC.jpeg diff --git a/src/captchas/VAERS/3462fF.jpeg b/src/captcha/captchas/VAERS/3462fF.jpeg similarity index 100% rename from src/captchas/VAERS/3462fF.jpeg rename to src/captcha/captchas/VAERS/3462fF.jpeg diff --git a/src/captchas/VAERS/347036.jpeg b/src/captcha/captchas/VAERS/347036.jpeg similarity index 100% rename from src/captchas/VAERS/347036.jpeg rename to src/captcha/captchas/VAERS/347036.jpeg diff --git a/src/captchas/VAERS/34Ce5C.jpeg b/src/captcha/captchas/VAERS/34Ce5C.jpeg similarity index 100% rename from src/captchas/VAERS/34Ce5C.jpeg rename to src/captcha/captchas/VAERS/34Ce5C.jpeg diff --git a/src/captchas/VAERS/34EDa9.jpeg b/src/captcha/captchas/VAERS/34EDa9.jpeg similarity index 100% rename from src/captchas/VAERS/34EDa9.jpeg rename to src/captcha/captchas/VAERS/34EDa9.jpeg diff --git a/src/captchas/VAERS/351F6E.jpeg b/src/captcha/captchas/VAERS/351F6E.jpeg similarity index 100% rename from src/captchas/VAERS/351F6E.jpeg rename to src/captcha/captchas/VAERS/351F6E.jpeg diff --git a/src/captchas/VAERS/355aA9.jpeg b/src/captcha/captchas/VAERS/355aA9.jpeg similarity index 100% rename from src/captchas/VAERS/355aA9.jpeg rename to src/captcha/captchas/VAERS/355aA9.jpeg diff --git a/src/captchas/VAERS/358D3a.jpeg b/src/captcha/captchas/VAERS/358D3a.jpeg similarity index 100% rename from src/captchas/VAERS/358D3a.jpeg rename to src/captcha/captchas/VAERS/358D3a.jpeg diff --git a/src/captchas/VAERS/35a2A3.jpeg b/src/captcha/captchas/VAERS/35a2A3.jpeg similarity index 100% rename from src/captchas/VAERS/35a2A3.jpeg rename to src/captcha/captchas/VAERS/35a2A3.jpeg diff --git a/src/captchas/VAERS/3606e9.jpeg b/src/captcha/captchas/VAERS/3606e9.jpeg similarity index 100% rename from src/captchas/VAERS/3606e9.jpeg rename to src/captcha/captchas/VAERS/3606e9.jpeg diff --git a/src/captchas/VAERS/365091.jpeg b/src/captcha/captchas/VAERS/365091.jpeg similarity index 100% rename from src/captchas/VAERS/365091.jpeg rename to src/captcha/captchas/VAERS/365091.jpeg diff --git a/src/captchas/VAERS/3699dD.jpeg b/src/captcha/captchas/VAERS/3699dD.jpeg similarity index 100% rename from src/captchas/VAERS/3699dD.jpeg rename to src/captcha/captchas/VAERS/3699dD.jpeg diff --git a/src/captchas/VAERS/36C1a4.jpeg b/src/captcha/captchas/VAERS/36C1a4.jpeg similarity index 100% rename from src/captchas/VAERS/36C1a4.jpeg rename to src/captcha/captchas/VAERS/36C1a4.jpeg diff --git a/src/captchas/VAERS/36a69b.jpeg b/src/captcha/captchas/VAERS/36a69b.jpeg similarity index 100% rename from src/captchas/VAERS/36a69b.jpeg rename to src/captcha/captchas/VAERS/36a69b.jpeg diff --git a/src/captchas/VAERS/3721aF.jpeg b/src/captcha/captchas/VAERS/3721aF.jpeg similarity index 100% rename from src/captchas/VAERS/3721aF.jpeg rename to src/captcha/captchas/VAERS/3721aF.jpeg diff --git a/src/captchas/VAERS/3730Dd.jpeg b/src/captcha/captchas/VAERS/3730Dd.jpeg similarity index 100% rename from src/captchas/VAERS/3730Dd.jpeg rename to src/captcha/captchas/VAERS/3730Dd.jpeg diff --git a/src/captchas/VAERS/374759.jpeg b/src/captcha/captchas/VAERS/374759.jpeg similarity index 100% rename from src/captchas/VAERS/374759.jpeg rename to src/captcha/captchas/VAERS/374759.jpeg diff --git a/src/captchas/VAERS/376831.jpeg b/src/captcha/captchas/VAERS/376831.jpeg similarity index 100% rename from src/captchas/VAERS/376831.jpeg rename to src/captcha/captchas/VAERS/376831.jpeg diff --git a/src/captchas/VAERS/3777AA.jpeg b/src/captcha/captchas/VAERS/3777AA.jpeg similarity index 100% rename from src/captchas/VAERS/3777AA.jpeg rename to src/captcha/captchas/VAERS/3777AA.jpeg diff --git a/src/captchas/VAERS/377BD3.jpeg b/src/captcha/captchas/VAERS/377BD3.jpeg similarity index 100% rename from src/captchas/VAERS/377BD3.jpeg rename to src/captcha/captchas/VAERS/377BD3.jpeg diff --git a/src/captchas/VAERS/379A20.jpeg b/src/captcha/captchas/VAERS/379A20.jpeg similarity index 100% rename from src/captchas/VAERS/379A20.jpeg rename to src/captcha/captchas/VAERS/379A20.jpeg diff --git a/src/captchas/VAERS/37B8Eb.jpeg b/src/captcha/captchas/VAERS/37B8Eb.jpeg similarity index 100% rename from src/captchas/VAERS/37B8Eb.jpeg rename to src/captcha/captchas/VAERS/37B8Eb.jpeg diff --git a/src/captchas/VAERS/37e6Ab.jpeg b/src/captcha/captchas/VAERS/37e6Ab.jpeg similarity index 100% rename from src/captchas/VAERS/37e6Ab.jpeg rename to src/captcha/captchas/VAERS/37e6Ab.jpeg diff --git a/src/captchas/VAERS/3862b2.jpeg b/src/captcha/captchas/VAERS/3862b2.jpeg similarity index 100% rename from src/captchas/VAERS/3862b2.jpeg rename to src/captcha/captchas/VAERS/3862b2.jpeg diff --git a/src/captchas/VAERS/388b07.jpeg b/src/captcha/captchas/VAERS/388b07.jpeg similarity index 100% rename from src/captchas/VAERS/388b07.jpeg rename to src/captcha/captchas/VAERS/388b07.jpeg diff --git a/src/captchas/VAERS/389a98.jpeg b/src/captcha/captchas/VAERS/389a98.jpeg similarity index 100% rename from src/captchas/VAERS/389a98.jpeg rename to src/captcha/captchas/VAERS/389a98.jpeg diff --git a/src/captchas/VAERS/3937E9.jpeg b/src/captcha/captchas/VAERS/3937E9.jpeg similarity index 100% rename from src/captchas/VAERS/3937E9.jpeg rename to src/captcha/captchas/VAERS/3937E9.jpeg diff --git a/src/captchas/VAERS/394D7A.jpeg b/src/captcha/captchas/VAERS/394D7A.jpeg similarity index 100% rename from src/captchas/VAERS/394D7A.jpeg rename to src/captcha/captchas/VAERS/394D7A.jpeg diff --git a/src/captchas/VAERS/396485.jpeg b/src/captcha/captchas/VAERS/396485.jpeg similarity index 100% rename from src/captchas/VAERS/396485.jpeg rename to src/captcha/captchas/VAERS/396485.jpeg diff --git a/src/captchas/VAERS/3A8aB0.jpeg b/src/captcha/captchas/VAERS/3A8aB0.jpeg similarity index 100% rename from src/captchas/VAERS/3A8aB0.jpeg rename to src/captcha/captchas/VAERS/3A8aB0.jpeg diff --git a/src/captchas/VAERS/3AeD14.jpeg b/src/captcha/captchas/VAERS/3AeD14.jpeg similarity index 100% rename from src/captchas/VAERS/3AeD14.jpeg rename to src/captcha/captchas/VAERS/3AeD14.jpeg diff --git a/src/captchas/VAERS/3AeEBC.jpeg b/src/captcha/captchas/VAERS/3AeEBC.jpeg similarity index 100% rename from src/captchas/VAERS/3AeEBC.jpeg rename to src/captcha/captchas/VAERS/3AeEBC.jpeg diff --git a/src/captchas/VAERS/3Bd99e.jpeg b/src/captcha/captchas/VAERS/3Bd99e.jpeg similarity index 100% rename from src/captchas/VAERS/3Bd99e.jpeg rename to src/captcha/captchas/VAERS/3Bd99e.jpeg diff --git a/src/captchas/VAERS/3C18DC.jpeg b/src/captcha/captchas/VAERS/3C18DC.jpeg similarity index 100% rename from src/captchas/VAERS/3C18DC.jpeg rename to src/captcha/captchas/VAERS/3C18DC.jpeg diff --git a/src/captchas/VAERS/3C25C4.jpeg b/src/captcha/captchas/VAERS/3C25C4.jpeg similarity index 100% rename from src/captchas/VAERS/3C25C4.jpeg rename to src/captcha/captchas/VAERS/3C25C4.jpeg diff --git a/src/captchas/VAERS/3CC85C.jpeg b/src/captcha/captchas/VAERS/3CC85C.jpeg similarity index 100% rename from src/captchas/VAERS/3CC85C.jpeg rename to src/captcha/captchas/VAERS/3CC85C.jpeg diff --git a/src/captchas/VAERS/3D4d42.jpeg b/src/captcha/captchas/VAERS/3D4d42.jpeg similarity index 100% rename from src/captchas/VAERS/3D4d42.jpeg rename to src/captcha/captchas/VAERS/3D4d42.jpeg diff --git a/src/captchas/VAERS/3D7ee0.jpeg b/src/captcha/captchas/VAERS/3D7ee0.jpeg similarity index 100% rename from src/captchas/VAERS/3D7ee0.jpeg rename to src/captcha/captchas/VAERS/3D7ee0.jpeg diff --git a/src/captchas/VAERS/3E0e2c.jpeg b/src/captcha/captchas/VAERS/3E0e2c.jpeg similarity index 100% rename from src/captchas/VAERS/3E0e2c.jpeg rename to src/captcha/captchas/VAERS/3E0e2c.jpeg diff --git a/src/captchas/VAERS/3Ef3F6.jpeg b/src/captcha/captchas/VAERS/3Ef3F6.jpeg similarity index 100% rename from src/captchas/VAERS/3Ef3F6.jpeg rename to src/captcha/captchas/VAERS/3Ef3F6.jpeg diff --git a/src/captchas/VAERS/3Ef6bA.jpeg b/src/captcha/captchas/VAERS/3Ef6bA.jpeg similarity index 100% rename from src/captchas/VAERS/3Ef6bA.jpeg rename to src/captcha/captchas/VAERS/3Ef6bA.jpeg diff --git a/src/captchas/VAERS/3F318D.jpeg b/src/captcha/captchas/VAERS/3F318D.jpeg similarity index 100% rename from src/captchas/VAERS/3F318D.jpeg rename to src/captcha/captchas/VAERS/3F318D.jpeg diff --git a/src/captchas/VAERS/3F35cB.jpeg b/src/captcha/captchas/VAERS/3F35cB.jpeg similarity index 100% rename from src/captchas/VAERS/3F35cB.jpeg rename to src/captcha/captchas/VAERS/3F35cB.jpeg diff --git a/src/captchas/VAERS/3a57FB.jpeg b/src/captcha/captchas/VAERS/3a57FB.jpeg similarity index 100% rename from src/captchas/VAERS/3a57FB.jpeg rename to src/captcha/captchas/VAERS/3a57FB.jpeg diff --git a/src/captchas/VAERS/3a8545.jpeg b/src/captcha/captchas/VAERS/3a8545.jpeg similarity index 100% rename from src/captchas/VAERS/3a8545.jpeg rename to src/captcha/captchas/VAERS/3a8545.jpeg diff --git a/src/captchas/VAERS/3ac3b3.jpeg b/src/captcha/captchas/VAERS/3ac3b3.jpeg similarity index 100% rename from src/captchas/VAERS/3ac3b3.jpeg rename to src/captcha/captchas/VAERS/3ac3b3.jpeg diff --git a/src/captchas/VAERS/3b4074.jpeg b/src/captcha/captchas/VAERS/3b4074.jpeg similarity index 100% rename from src/captchas/VAERS/3b4074.jpeg rename to src/captcha/captchas/VAERS/3b4074.jpeg diff --git a/src/captchas/VAERS/3bC1b4.jpeg b/src/captcha/captchas/VAERS/3bC1b4.jpeg similarity index 100% rename from src/captchas/VAERS/3bC1b4.jpeg rename to src/captcha/captchas/VAERS/3bC1b4.jpeg diff --git a/src/captchas/VAERS/3c28A6.jpeg b/src/captcha/captchas/VAERS/3c28A6.jpeg similarity index 100% rename from src/captchas/VAERS/3c28A6.jpeg rename to src/captcha/captchas/VAERS/3c28A6.jpeg diff --git a/src/captchas/VAERS/3c6b85.jpeg b/src/captcha/captchas/VAERS/3c6b85.jpeg similarity index 100% rename from src/captchas/VAERS/3c6b85.jpeg rename to src/captcha/captchas/VAERS/3c6b85.jpeg diff --git a/src/captchas/VAERS/3cD567.jpeg b/src/captcha/captchas/VAERS/3cD567.jpeg similarity index 100% rename from src/captchas/VAERS/3cD567.jpeg rename to src/captcha/captchas/VAERS/3cD567.jpeg diff --git a/src/captchas/VAERS/3ccD43.jpeg b/src/captcha/captchas/VAERS/3ccD43.jpeg similarity index 100% rename from src/captchas/VAERS/3ccD43.jpeg rename to src/captcha/captchas/VAERS/3ccD43.jpeg diff --git a/src/captchas/VAERS/3d3D7a.jpeg b/src/captcha/captchas/VAERS/3d3D7a.jpeg similarity index 100% rename from src/captchas/VAERS/3d3D7a.jpeg rename to src/captcha/captchas/VAERS/3d3D7a.jpeg diff --git a/src/captchas/VAERS/3eaf1C.jpeg b/src/captcha/captchas/VAERS/3eaf1C.jpeg similarity index 100% rename from src/captchas/VAERS/3eaf1C.jpeg rename to src/captcha/captchas/VAERS/3eaf1C.jpeg diff --git a/src/captchas/VAERS/3eaf84.jpeg b/src/captcha/captchas/VAERS/3eaf84.jpeg similarity index 100% rename from src/captchas/VAERS/3eaf84.jpeg rename to src/captcha/captchas/VAERS/3eaf84.jpeg diff --git a/src/captchas/VAERS/3f7dEf.jpeg b/src/captcha/captchas/VAERS/3f7dEf.jpeg similarity index 100% rename from src/captchas/VAERS/3f7dEf.jpeg rename to src/captcha/captchas/VAERS/3f7dEf.jpeg diff --git a/src/captchas/VAERS/3fc34e.jpeg b/src/captcha/captchas/VAERS/3fc34e.jpeg similarity index 100% rename from src/captchas/VAERS/3fc34e.jpeg rename to src/captcha/captchas/VAERS/3fc34e.jpeg diff --git a/src/captchas/VAERS/3fc890.jpeg b/src/captcha/captchas/VAERS/3fc890.jpeg similarity index 100% rename from src/captchas/VAERS/3fc890.jpeg rename to src/captcha/captchas/VAERS/3fc890.jpeg diff --git a/src/captchas/VAERS/400943.jpeg b/src/captcha/captchas/VAERS/400943.jpeg similarity index 100% rename from src/captchas/VAERS/400943.jpeg rename to src/captcha/captchas/VAERS/400943.jpeg diff --git a/src/captchas/VAERS/40198a.jpeg b/src/captcha/captchas/VAERS/40198a.jpeg similarity index 100% rename from src/captchas/VAERS/40198a.jpeg rename to src/captcha/captchas/VAERS/40198a.jpeg diff --git a/src/captchas/VAERS/40a1B3.jpeg b/src/captcha/captchas/VAERS/40a1B3.jpeg similarity index 100% rename from src/captchas/VAERS/40a1B3.jpeg rename to src/captcha/captchas/VAERS/40a1B3.jpeg diff --git a/src/captchas/VAERS/414542.jpeg b/src/captcha/captchas/VAERS/414542.jpeg similarity index 100% rename from src/captchas/VAERS/414542.jpeg rename to src/captcha/captchas/VAERS/414542.jpeg diff --git a/src/captchas/VAERS/427E3A.jpeg b/src/captcha/captchas/VAERS/427E3A.jpeg similarity index 100% rename from src/captchas/VAERS/427E3A.jpeg rename to src/captcha/captchas/VAERS/427E3A.jpeg diff --git a/src/captchas/VAERS/428921.jpeg b/src/captcha/captchas/VAERS/428921.jpeg similarity index 100% rename from src/captchas/VAERS/428921.jpeg rename to src/captcha/captchas/VAERS/428921.jpeg diff --git a/src/captchas/VAERS/42DE0B.jpeg b/src/captcha/captchas/VAERS/42DE0B.jpeg similarity index 100% rename from src/captchas/VAERS/42DE0B.jpeg rename to src/captcha/captchas/VAERS/42DE0B.jpeg diff --git a/src/captchas/VAERS/42eA56.jpeg b/src/captcha/captchas/VAERS/42eA56.jpeg similarity index 100% rename from src/captchas/VAERS/42eA56.jpeg rename to src/captcha/captchas/VAERS/42eA56.jpeg diff --git a/src/captchas/VAERS/42eCd8.jpeg b/src/captcha/captchas/VAERS/42eCd8.jpeg similarity index 100% rename from src/captchas/VAERS/42eCd8.jpeg rename to src/captcha/captchas/VAERS/42eCd8.jpeg diff --git a/src/captchas/VAERS/432dad.jpeg b/src/captcha/captchas/VAERS/432dad.jpeg similarity index 100% rename from src/captchas/VAERS/432dad.jpeg rename to src/captcha/captchas/VAERS/432dad.jpeg diff --git a/src/captchas/VAERS/4371f2.jpeg b/src/captcha/captchas/VAERS/4371f2.jpeg similarity index 100% rename from src/captchas/VAERS/4371f2.jpeg rename to src/captcha/captchas/VAERS/4371f2.jpeg diff --git a/src/captchas/VAERS/437Bcd.jpeg b/src/captcha/captchas/VAERS/437Bcd.jpeg similarity index 100% rename from src/captchas/VAERS/437Bcd.jpeg rename to src/captcha/captchas/VAERS/437Bcd.jpeg diff --git a/src/captchas/VAERS/43A178.jpeg b/src/captcha/captchas/VAERS/43A178.jpeg similarity index 100% rename from src/captchas/VAERS/43A178.jpeg rename to src/captcha/captchas/VAERS/43A178.jpeg diff --git a/src/captchas/VAERS/43F671.jpeg b/src/captcha/captchas/VAERS/43F671.jpeg similarity index 100% rename from src/captchas/VAERS/43F671.jpeg rename to src/captcha/captchas/VAERS/43F671.jpeg diff --git a/src/captchas/VAERS/44294d.jpeg b/src/captcha/captchas/VAERS/44294d.jpeg similarity index 100% rename from src/captchas/VAERS/44294d.jpeg rename to src/captcha/captchas/VAERS/44294d.jpeg diff --git a/src/captchas/VAERS/445Bb6.jpeg b/src/captcha/captchas/VAERS/445Bb6.jpeg similarity index 100% rename from src/captchas/VAERS/445Bb6.jpeg rename to src/captcha/captchas/VAERS/445Bb6.jpeg diff --git a/src/captchas/VAERS/448865.jpeg b/src/captcha/captchas/VAERS/448865.jpeg similarity index 100% rename from src/captchas/VAERS/448865.jpeg rename to src/captcha/captchas/VAERS/448865.jpeg diff --git a/src/captchas/VAERS/448FB7.jpeg b/src/captcha/captchas/VAERS/448FB7.jpeg similarity index 100% rename from src/captchas/VAERS/448FB7.jpeg rename to src/captcha/captchas/VAERS/448FB7.jpeg diff --git a/src/captchas/VAERS/4508A6.jpeg b/src/captcha/captchas/VAERS/4508A6.jpeg similarity index 100% rename from src/captchas/VAERS/4508A6.jpeg rename to src/captcha/captchas/VAERS/4508A6.jpeg diff --git a/src/captchas/VAERS/4523be.jpeg b/src/captcha/captchas/VAERS/4523be.jpeg similarity index 100% rename from src/captchas/VAERS/4523be.jpeg rename to src/captcha/captchas/VAERS/4523be.jpeg diff --git a/src/captchas/VAERS/4531f9.jpeg b/src/captcha/captchas/VAERS/4531f9.jpeg similarity index 100% rename from src/captchas/VAERS/4531f9.jpeg rename to src/captcha/captchas/VAERS/4531f9.jpeg diff --git a/src/captchas/VAERS/454182.jpeg b/src/captcha/captchas/VAERS/454182.jpeg similarity index 100% rename from src/captchas/VAERS/454182.jpeg rename to src/captcha/captchas/VAERS/454182.jpeg diff --git a/src/captchas/VAERS/45506F.jpeg b/src/captcha/captchas/VAERS/45506F.jpeg similarity index 100% rename from src/captchas/VAERS/45506F.jpeg rename to src/captcha/captchas/VAERS/45506F.jpeg diff --git a/src/captchas/VAERS/455C63.jpeg b/src/captcha/captchas/VAERS/455C63.jpeg similarity index 100% rename from src/captchas/VAERS/455C63.jpeg rename to src/captcha/captchas/VAERS/455C63.jpeg diff --git a/src/captchas/VAERS/45CA51.jpeg b/src/captcha/captchas/VAERS/45CA51.jpeg similarity index 100% rename from src/captchas/VAERS/45CA51.jpeg rename to src/captcha/captchas/VAERS/45CA51.jpeg diff --git a/src/captchas/VAERS/45e242.jpeg b/src/captcha/captchas/VAERS/45e242.jpeg similarity index 100% rename from src/captchas/VAERS/45e242.jpeg rename to src/captcha/captchas/VAERS/45e242.jpeg diff --git a/src/captchas/VAERS/45fC59.jpeg b/src/captcha/captchas/VAERS/45fC59.jpeg similarity index 100% rename from src/captchas/VAERS/45fC59.jpeg rename to src/captcha/captchas/VAERS/45fC59.jpeg diff --git a/src/captchas/VAERS/4602bb.jpeg b/src/captcha/captchas/VAERS/4602bb.jpeg similarity index 100% rename from src/captchas/VAERS/4602bb.jpeg rename to src/captcha/captchas/VAERS/4602bb.jpeg diff --git a/src/captchas/VAERS/463320.jpeg b/src/captcha/captchas/VAERS/463320.jpeg similarity index 100% rename from src/captchas/VAERS/463320.jpeg rename to src/captcha/captchas/VAERS/463320.jpeg diff --git a/src/captchas/VAERS/463b81.jpeg b/src/captcha/captchas/VAERS/463b81.jpeg similarity index 100% rename from src/captchas/VAERS/463b81.jpeg rename to src/captcha/captchas/VAERS/463b81.jpeg diff --git a/src/captchas/VAERS/4666A4.jpeg b/src/captcha/captchas/VAERS/4666A4.jpeg similarity index 100% rename from src/captchas/VAERS/4666A4.jpeg rename to src/captcha/captchas/VAERS/4666A4.jpeg diff --git a/src/captchas/VAERS/466AfA.jpeg b/src/captcha/captchas/VAERS/466AfA.jpeg similarity index 100% rename from src/captchas/VAERS/466AfA.jpeg rename to src/captcha/captchas/VAERS/466AfA.jpeg diff --git a/src/captchas/VAERS/467007.jpeg b/src/captcha/captchas/VAERS/467007.jpeg similarity index 100% rename from src/captchas/VAERS/467007.jpeg rename to src/captcha/captchas/VAERS/467007.jpeg diff --git a/src/captchas/VAERS/46EA09.jpeg b/src/captcha/captchas/VAERS/46EA09.jpeg similarity index 100% rename from src/captchas/VAERS/46EA09.jpeg rename to src/captcha/captchas/VAERS/46EA09.jpeg diff --git a/src/captchas/VAERS/470f28.jpeg b/src/captcha/captchas/VAERS/470f28.jpeg similarity index 100% rename from src/captchas/VAERS/470f28.jpeg rename to src/captcha/captchas/VAERS/470f28.jpeg diff --git a/src/captchas/VAERS/47462A.jpeg b/src/captcha/captchas/VAERS/47462A.jpeg similarity index 100% rename from src/captchas/VAERS/47462A.jpeg rename to src/captcha/captchas/VAERS/47462A.jpeg diff --git a/src/captchas/VAERS/4767F9.jpeg b/src/captcha/captchas/VAERS/4767F9.jpeg similarity index 100% rename from src/captchas/VAERS/4767F9.jpeg rename to src/captcha/captchas/VAERS/4767F9.jpeg diff --git a/src/captchas/VAERS/477E13.jpeg b/src/captcha/captchas/VAERS/477E13.jpeg similarity index 100% rename from src/captchas/VAERS/477E13.jpeg rename to src/captcha/captchas/VAERS/477E13.jpeg diff --git a/src/captchas/VAERS/47A4D5.jpeg b/src/captcha/captchas/VAERS/47A4D5.jpeg similarity index 100% rename from src/captchas/VAERS/47A4D5.jpeg rename to src/captcha/captchas/VAERS/47A4D5.jpeg diff --git a/src/captchas/VAERS/484793.jpeg b/src/captcha/captchas/VAERS/484793.jpeg similarity index 100% rename from src/captchas/VAERS/484793.jpeg rename to src/captcha/captchas/VAERS/484793.jpeg diff --git a/src/captchas/VAERS/484feC.jpeg b/src/captcha/captchas/VAERS/484feC.jpeg similarity index 100% rename from src/captchas/VAERS/484feC.jpeg rename to src/captcha/captchas/VAERS/484feC.jpeg diff --git a/src/captchas/VAERS/485Cb3.jpeg b/src/captcha/captchas/VAERS/485Cb3.jpeg similarity index 100% rename from src/captchas/VAERS/485Cb3.jpeg rename to src/captcha/captchas/VAERS/485Cb3.jpeg diff --git a/src/captchas/VAERS/48E2C4.jpeg b/src/captcha/captchas/VAERS/48E2C4.jpeg similarity index 100% rename from src/captchas/VAERS/48E2C4.jpeg rename to src/captcha/captchas/VAERS/48E2C4.jpeg diff --git a/src/captchas/VAERS/48F688.jpeg b/src/captcha/captchas/VAERS/48F688.jpeg similarity index 100% rename from src/captchas/VAERS/48F688.jpeg rename to src/captcha/captchas/VAERS/48F688.jpeg diff --git a/src/captchas/VAERS/48ccA1.jpeg b/src/captcha/captchas/VAERS/48ccA1.jpeg similarity index 100% rename from src/captchas/VAERS/48ccA1.jpeg rename to src/captcha/captchas/VAERS/48ccA1.jpeg diff --git a/src/captchas/VAERS/491259.jpeg b/src/captcha/captchas/VAERS/491259.jpeg similarity index 100% rename from src/captchas/VAERS/491259.jpeg rename to src/captcha/captchas/VAERS/491259.jpeg diff --git a/src/captchas/VAERS/49731E.jpeg b/src/captcha/captchas/VAERS/49731E.jpeg similarity index 100% rename from src/captchas/VAERS/49731E.jpeg rename to src/captcha/captchas/VAERS/49731E.jpeg diff --git a/src/captchas/VAERS/49fcA6.jpeg b/src/captcha/captchas/VAERS/49fcA6.jpeg similarity index 100% rename from src/captchas/VAERS/49fcA6.jpeg rename to src/captcha/captchas/VAERS/49fcA6.jpeg diff --git a/src/captchas/VAERS/4A17Df.jpeg b/src/captcha/captchas/VAERS/4A17Df.jpeg similarity index 100% rename from src/captchas/VAERS/4A17Df.jpeg rename to src/captcha/captchas/VAERS/4A17Df.jpeg diff --git a/src/captchas/VAERS/4A357B.jpeg b/src/captcha/captchas/VAERS/4A357B.jpeg similarity index 100% rename from src/captchas/VAERS/4A357B.jpeg rename to src/captcha/captchas/VAERS/4A357B.jpeg diff --git a/src/captchas/VAERS/4A5E5b.jpeg b/src/captcha/captchas/VAERS/4A5E5b.jpeg similarity index 100% rename from src/captchas/VAERS/4A5E5b.jpeg rename to src/captcha/captchas/VAERS/4A5E5b.jpeg diff --git a/src/captchas/VAERS/4B5269.jpeg b/src/captcha/captchas/VAERS/4B5269.jpeg similarity index 100% rename from src/captchas/VAERS/4B5269.jpeg rename to src/captcha/captchas/VAERS/4B5269.jpeg diff --git a/src/captchas/VAERS/4BB860.jpeg b/src/captcha/captchas/VAERS/4BB860.jpeg similarity index 100% rename from src/captchas/VAERS/4BB860.jpeg rename to src/captcha/captchas/VAERS/4BB860.jpeg diff --git a/src/captchas/VAERS/4C2195.jpeg b/src/captcha/captchas/VAERS/4C2195.jpeg similarity index 100% rename from src/captchas/VAERS/4C2195.jpeg rename to src/captcha/captchas/VAERS/4C2195.jpeg diff --git a/src/captchas/VAERS/4C2819.jpeg b/src/captcha/captchas/VAERS/4C2819.jpeg similarity index 100% rename from src/captchas/VAERS/4C2819.jpeg rename to src/captcha/captchas/VAERS/4C2819.jpeg diff --git a/src/captchas/VAERS/4CAaC4.jpeg b/src/captcha/captchas/VAERS/4CAaC4.jpeg similarity index 100% rename from src/captchas/VAERS/4CAaC4.jpeg rename to src/captcha/captchas/VAERS/4CAaC4.jpeg diff --git a/src/captchas/VAERS/4Cc138.jpeg b/src/captcha/captchas/VAERS/4Cc138.jpeg similarity index 100% rename from src/captchas/VAERS/4Cc138.jpeg rename to src/captcha/captchas/VAERS/4Cc138.jpeg diff --git a/src/captchas/VAERS/4D59Bc.jpeg b/src/captcha/captchas/VAERS/4D59Bc.jpeg similarity index 100% rename from src/captchas/VAERS/4D59Bc.jpeg rename to src/captcha/captchas/VAERS/4D59Bc.jpeg diff --git a/src/captchas/VAERS/4DdB05.jpeg b/src/captcha/captchas/VAERS/4DdB05.jpeg similarity index 100% rename from src/captchas/VAERS/4DdB05.jpeg rename to src/captcha/captchas/VAERS/4DdB05.jpeg diff --git a/src/captchas/VAERS/4E98f3.jpeg b/src/captcha/captchas/VAERS/4E98f3.jpeg similarity index 100% rename from src/captchas/VAERS/4E98f3.jpeg rename to src/captcha/captchas/VAERS/4E98f3.jpeg diff --git a/src/captchas/VAERS/4Ed9FE.jpeg b/src/captcha/captchas/VAERS/4Ed9FE.jpeg similarity index 100% rename from src/captchas/VAERS/4Ed9FE.jpeg rename to src/captcha/captchas/VAERS/4Ed9FE.jpeg diff --git a/src/captchas/VAERS/4F67fA.jpeg b/src/captcha/captchas/VAERS/4F67fA.jpeg similarity index 100% rename from src/captchas/VAERS/4F67fA.jpeg rename to src/captcha/captchas/VAERS/4F67fA.jpeg diff --git a/src/captchas/VAERS/4a6463.jpeg b/src/captcha/captchas/VAERS/4a6463.jpeg similarity index 100% rename from src/captchas/VAERS/4a6463.jpeg rename to src/captcha/captchas/VAERS/4a6463.jpeg diff --git a/src/captchas/VAERS/4a7795.jpeg b/src/captcha/captchas/VAERS/4a7795.jpeg similarity index 100% rename from src/captchas/VAERS/4a7795.jpeg rename to src/captcha/captchas/VAERS/4a7795.jpeg diff --git a/src/captchas/VAERS/4b5Bea.jpeg b/src/captcha/captchas/VAERS/4b5Bea.jpeg similarity index 100% rename from src/captchas/VAERS/4b5Bea.jpeg rename to src/captcha/captchas/VAERS/4b5Bea.jpeg diff --git a/src/captchas/VAERS/4b6077.jpeg b/src/captcha/captchas/VAERS/4b6077.jpeg similarity index 100% rename from src/captchas/VAERS/4b6077.jpeg rename to src/captcha/captchas/VAERS/4b6077.jpeg diff --git a/src/captchas/VAERS/4bba90.jpeg b/src/captcha/captchas/VAERS/4bba90.jpeg similarity index 100% rename from src/captchas/VAERS/4bba90.jpeg rename to src/captcha/captchas/VAERS/4bba90.jpeg diff --git a/src/captchas/VAERS/4cAD9C.jpeg b/src/captcha/captchas/VAERS/4cAD9C.jpeg similarity index 100% rename from src/captchas/VAERS/4cAD9C.jpeg rename to src/captcha/captchas/VAERS/4cAD9C.jpeg diff --git a/src/captchas/VAERS/4cDa11.jpeg b/src/captcha/captchas/VAERS/4cDa11.jpeg similarity index 100% rename from src/captchas/VAERS/4cDa11.jpeg rename to src/captcha/captchas/VAERS/4cDa11.jpeg diff --git a/src/captchas/VAERS/4ccC96.jpeg b/src/captcha/captchas/VAERS/4ccC96.jpeg similarity index 100% rename from src/captchas/VAERS/4ccC96.jpeg rename to src/captcha/captchas/VAERS/4ccC96.jpeg diff --git a/src/captchas/VAERS/4ccDdF.jpeg b/src/captcha/captchas/VAERS/4ccDdF.jpeg similarity index 100% rename from src/captchas/VAERS/4ccDdF.jpeg rename to src/captcha/captchas/VAERS/4ccDdF.jpeg diff --git a/src/captchas/VAERS/4d8279.jpeg b/src/captcha/captchas/VAERS/4d8279.jpeg similarity index 100% rename from src/captchas/VAERS/4d8279.jpeg rename to src/captcha/captchas/VAERS/4d8279.jpeg diff --git a/src/captchas/VAERS/4d9093.jpeg b/src/captcha/captchas/VAERS/4d9093.jpeg similarity index 100% rename from src/captchas/VAERS/4d9093.jpeg rename to src/captcha/captchas/VAERS/4d9093.jpeg diff --git a/src/captchas/VAERS/4d9952.jpeg b/src/captcha/captchas/VAERS/4d9952.jpeg similarity index 100% rename from src/captchas/VAERS/4d9952.jpeg rename to src/captcha/captchas/VAERS/4d9952.jpeg diff --git a/src/captchas/VAERS/4eB102.jpeg b/src/captcha/captchas/VAERS/4eB102.jpeg similarity index 100% rename from src/captchas/VAERS/4eB102.jpeg rename to src/captcha/captchas/VAERS/4eB102.jpeg diff --git a/src/captchas/VAERS/4ed714.jpeg b/src/captcha/captchas/VAERS/4ed714.jpeg similarity index 100% rename from src/captchas/VAERS/4ed714.jpeg rename to src/captcha/captchas/VAERS/4ed714.jpeg diff --git a/src/captchas/VAERS/4fc037.jpeg b/src/captcha/captchas/VAERS/4fc037.jpeg similarity index 100% rename from src/captchas/VAERS/4fc037.jpeg rename to src/captcha/captchas/VAERS/4fc037.jpeg diff --git a/src/captchas/VAERS/501629.jpeg b/src/captcha/captchas/VAERS/501629.jpeg similarity index 100% rename from src/captchas/VAERS/501629.jpeg rename to src/captcha/captchas/VAERS/501629.jpeg diff --git a/src/captchas/VAERS/50f034.jpeg b/src/captcha/captchas/VAERS/50f034.jpeg similarity index 100% rename from src/captchas/VAERS/50f034.jpeg rename to src/captcha/captchas/VAERS/50f034.jpeg diff --git a/src/captchas/VAERS/51706D.jpeg b/src/captcha/captchas/VAERS/51706D.jpeg similarity index 100% rename from src/captchas/VAERS/51706D.jpeg rename to src/captcha/captchas/VAERS/51706D.jpeg diff --git a/src/captchas/VAERS/51A200.jpeg b/src/captcha/captchas/VAERS/51A200.jpeg similarity index 100% rename from src/captchas/VAERS/51A200.jpeg rename to src/captcha/captchas/VAERS/51A200.jpeg diff --git a/src/captchas/VAERS/51D5ed.jpeg b/src/captcha/captchas/VAERS/51D5ed.jpeg similarity index 100% rename from src/captchas/VAERS/51D5ed.jpeg rename to src/captcha/captchas/VAERS/51D5ed.jpeg diff --git a/src/captchas/VAERS/51b847.jpeg b/src/captcha/captchas/VAERS/51b847.jpeg similarity index 100% rename from src/captchas/VAERS/51b847.jpeg rename to src/captcha/captchas/VAERS/51b847.jpeg diff --git a/src/captchas/VAERS/51dDfC.jpeg b/src/captcha/captchas/VAERS/51dDfC.jpeg similarity index 100% rename from src/captchas/VAERS/51dDfC.jpeg rename to src/captcha/captchas/VAERS/51dDfC.jpeg diff --git a/src/captchas/VAERS/521E10.jpeg b/src/captcha/captchas/VAERS/521E10.jpeg similarity index 100% rename from src/captchas/VAERS/521E10.jpeg rename to src/captcha/captchas/VAERS/521E10.jpeg diff --git a/src/captchas/VAERS/521d4f.jpeg b/src/captcha/captchas/VAERS/521d4f.jpeg similarity index 100% rename from src/captchas/VAERS/521d4f.jpeg rename to src/captcha/captchas/VAERS/521d4f.jpeg diff --git a/src/captchas/VAERS/525e4B.jpeg b/src/captcha/captchas/VAERS/525e4B.jpeg similarity index 100% rename from src/captchas/VAERS/525e4B.jpeg rename to src/captcha/captchas/VAERS/525e4B.jpeg diff --git a/src/captchas/VAERS/5283AF.jpeg b/src/captcha/captchas/VAERS/5283AF.jpeg similarity index 100% rename from src/captchas/VAERS/5283AF.jpeg rename to src/captcha/captchas/VAERS/5283AF.jpeg diff --git a/src/captchas/VAERS/52Df9d.jpeg b/src/captcha/captchas/VAERS/52Df9d.jpeg similarity index 100% rename from src/captchas/VAERS/52Df9d.jpeg rename to src/captcha/captchas/VAERS/52Df9d.jpeg diff --git a/src/captchas/VAERS/531360.jpeg b/src/captcha/captchas/VAERS/531360.jpeg similarity index 100% rename from src/captchas/VAERS/531360.jpeg rename to src/captcha/captchas/VAERS/531360.jpeg diff --git a/src/captchas/VAERS/537393.jpeg b/src/captcha/captchas/VAERS/537393.jpeg similarity index 100% rename from src/captchas/VAERS/537393.jpeg rename to src/captcha/captchas/VAERS/537393.jpeg diff --git a/src/captchas/VAERS/53e707.jpeg b/src/captcha/captchas/VAERS/53e707.jpeg similarity index 100% rename from src/captchas/VAERS/53e707.jpeg rename to src/captcha/captchas/VAERS/53e707.jpeg diff --git a/src/captchas/VAERS/53f0Ba.jpeg b/src/captcha/captchas/VAERS/53f0Ba.jpeg similarity index 100% rename from src/captchas/VAERS/53f0Ba.jpeg rename to src/captcha/captchas/VAERS/53f0Ba.jpeg diff --git a/src/captchas/VAERS/544601.jpeg b/src/captcha/captchas/VAERS/544601.jpeg similarity index 100% rename from src/captchas/VAERS/544601.jpeg rename to src/captcha/captchas/VAERS/544601.jpeg diff --git a/src/captchas/VAERS/547d2D.jpeg b/src/captcha/captchas/VAERS/547d2D.jpeg similarity index 100% rename from src/captchas/VAERS/547d2D.jpeg rename to src/captcha/captchas/VAERS/547d2D.jpeg diff --git a/src/captchas/VAERS/5533c2.jpeg b/src/captcha/captchas/VAERS/5533c2.jpeg similarity index 100% rename from src/captchas/VAERS/5533c2.jpeg rename to src/captcha/captchas/VAERS/5533c2.jpeg diff --git a/src/captchas/VAERS/557EF1.jpeg b/src/captcha/captchas/VAERS/557EF1.jpeg similarity index 100% rename from src/captchas/VAERS/557EF1.jpeg rename to src/captcha/captchas/VAERS/557EF1.jpeg diff --git a/src/captchas/VAERS/5587c3.jpeg b/src/captcha/captchas/VAERS/5587c3.jpeg similarity index 100% rename from src/captchas/VAERS/5587c3.jpeg rename to src/captcha/captchas/VAERS/5587c3.jpeg diff --git a/src/captchas/VAERS/55Ca9A.jpeg b/src/captcha/captchas/VAERS/55Ca9A.jpeg similarity index 100% rename from src/captchas/VAERS/55Ca9A.jpeg rename to src/captcha/captchas/VAERS/55Ca9A.jpeg diff --git a/src/captchas/VAERS/55D488.jpeg b/src/captcha/captchas/VAERS/55D488.jpeg similarity index 100% rename from src/captchas/VAERS/55D488.jpeg rename to src/captcha/captchas/VAERS/55D488.jpeg diff --git a/src/captchas/VAERS/55f3e5.jpeg b/src/captcha/captchas/VAERS/55f3e5.jpeg similarity index 100% rename from src/captchas/VAERS/55f3e5.jpeg rename to src/captcha/captchas/VAERS/55f3e5.jpeg diff --git a/src/captchas/VAERS/562Ec1.jpeg b/src/captcha/captchas/VAERS/562Ec1.jpeg similarity index 100% rename from src/captchas/VAERS/562Ec1.jpeg rename to src/captcha/captchas/VAERS/562Ec1.jpeg diff --git a/src/captchas/VAERS/562cBd.jpeg b/src/captcha/captchas/VAERS/562cBd.jpeg similarity index 100% rename from src/captchas/VAERS/562cBd.jpeg rename to src/captcha/captchas/VAERS/562cBd.jpeg diff --git a/src/captchas/VAERS/56CE63.jpeg b/src/captcha/captchas/VAERS/56CE63.jpeg similarity index 100% rename from src/captchas/VAERS/56CE63.jpeg rename to src/captcha/captchas/VAERS/56CE63.jpeg diff --git a/src/captchas/VAERS/56c24E.jpeg b/src/captcha/captchas/VAERS/56c24E.jpeg similarity index 100% rename from src/captchas/VAERS/56c24E.jpeg rename to src/captcha/captchas/VAERS/56c24E.jpeg diff --git a/src/captchas/VAERS/56fC58.jpeg b/src/captcha/captchas/VAERS/56fC58.jpeg similarity index 100% rename from src/captchas/VAERS/56fC58.jpeg rename to src/captcha/captchas/VAERS/56fC58.jpeg diff --git a/src/captchas/VAERS/57B06E.jpeg b/src/captcha/captchas/VAERS/57B06E.jpeg similarity index 100% rename from src/captchas/VAERS/57B06E.jpeg rename to src/captcha/captchas/VAERS/57B06E.jpeg diff --git a/src/captchas/VAERS/57d805.jpeg b/src/captcha/captchas/VAERS/57d805.jpeg similarity index 100% rename from src/captchas/VAERS/57d805.jpeg rename to src/captcha/captchas/VAERS/57d805.jpeg diff --git a/src/captchas/VAERS/582A01.jpeg b/src/captcha/captchas/VAERS/582A01.jpeg similarity index 100% rename from src/captchas/VAERS/582A01.jpeg rename to src/captcha/captchas/VAERS/582A01.jpeg diff --git a/src/captchas/VAERS/584673.jpeg b/src/captcha/captchas/VAERS/584673.jpeg similarity index 100% rename from src/captchas/VAERS/584673.jpeg rename to src/captcha/captchas/VAERS/584673.jpeg diff --git a/src/captchas/VAERS/588A58.jpeg b/src/captcha/captchas/VAERS/588A58.jpeg similarity index 100% rename from src/captchas/VAERS/588A58.jpeg rename to src/captcha/captchas/VAERS/588A58.jpeg diff --git a/src/captchas/VAERS/58B0d9.jpeg b/src/captcha/captchas/VAERS/58B0d9.jpeg similarity index 100% rename from src/captchas/VAERS/58B0d9.jpeg rename to src/captcha/captchas/VAERS/58B0d9.jpeg diff --git a/src/captchas/VAERS/58E0a4.jpeg b/src/captcha/captchas/VAERS/58E0a4.jpeg similarity index 100% rename from src/captchas/VAERS/58E0a4.jpeg rename to src/captcha/captchas/VAERS/58E0a4.jpeg diff --git a/src/captchas/VAERS/598F7A.jpeg b/src/captcha/captchas/VAERS/598F7A.jpeg similarity index 100% rename from src/captchas/VAERS/598F7A.jpeg rename to src/captcha/captchas/VAERS/598F7A.jpeg diff --git a/src/captchas/VAERS/59b74A.jpeg b/src/captcha/captchas/VAERS/59b74A.jpeg similarity index 100% rename from src/captchas/VAERS/59b74A.jpeg rename to src/captcha/captchas/VAERS/59b74A.jpeg diff --git a/src/captchas/VAERS/5B54Ed.jpeg b/src/captcha/captchas/VAERS/5B54Ed.jpeg similarity index 100% rename from src/captchas/VAERS/5B54Ed.jpeg rename to src/captcha/captchas/VAERS/5B54Ed.jpeg diff --git a/src/captchas/VAERS/5B8bD9.jpeg b/src/captcha/captchas/VAERS/5B8bD9.jpeg similarity index 100% rename from src/captchas/VAERS/5B8bD9.jpeg rename to src/captcha/captchas/VAERS/5B8bD9.jpeg diff --git a/src/captchas/VAERS/5BcD31.jpeg b/src/captcha/captchas/VAERS/5BcD31.jpeg similarity index 100% rename from src/captchas/VAERS/5BcD31.jpeg rename to src/captcha/captchas/VAERS/5BcD31.jpeg diff --git a/src/captchas/VAERS/5CA4BD.jpeg b/src/captcha/captchas/VAERS/5CA4BD.jpeg similarity index 100% rename from src/captchas/VAERS/5CA4BD.jpeg rename to src/captcha/captchas/VAERS/5CA4BD.jpeg diff --git a/src/captchas/VAERS/5CaCef.jpeg b/src/captcha/captchas/VAERS/5CaCef.jpeg similarity index 100% rename from src/captchas/VAERS/5CaCef.jpeg rename to src/captcha/captchas/VAERS/5CaCef.jpeg diff --git a/src/captchas/VAERS/5CcA61.jpeg b/src/captcha/captchas/VAERS/5CcA61.jpeg similarity index 100% rename from src/captchas/VAERS/5CcA61.jpeg rename to src/captcha/captchas/VAERS/5CcA61.jpeg diff --git a/src/captchas/VAERS/5DB3Cd.jpeg b/src/captcha/captchas/VAERS/5DB3Cd.jpeg similarity index 100% rename from src/captchas/VAERS/5DB3Cd.jpeg rename to src/captcha/captchas/VAERS/5DB3Cd.jpeg diff --git a/src/captchas/VAERS/5Da1c0.jpeg b/src/captcha/captchas/VAERS/5Da1c0.jpeg similarity index 100% rename from src/captchas/VAERS/5Da1c0.jpeg rename to src/captcha/captchas/VAERS/5Da1c0.jpeg diff --git a/src/captchas/VAERS/5F03cC.jpeg b/src/captcha/captchas/VAERS/5F03cC.jpeg similarity index 100% rename from src/captchas/VAERS/5F03cC.jpeg rename to src/captcha/captchas/VAERS/5F03cC.jpeg diff --git a/src/captchas/VAERS/5F216b.jpeg b/src/captcha/captchas/VAERS/5F216b.jpeg similarity index 100% rename from src/captchas/VAERS/5F216b.jpeg rename to src/captcha/captchas/VAERS/5F216b.jpeg diff --git a/src/captchas/VAERS/5a270A.jpeg b/src/captcha/captchas/VAERS/5a270A.jpeg similarity index 100% rename from src/captchas/VAERS/5a270A.jpeg rename to src/captcha/captchas/VAERS/5a270A.jpeg diff --git a/src/captchas/VAERS/5aEdbd.jpeg b/src/captcha/captchas/VAERS/5aEdbd.jpeg similarity index 100% rename from src/captchas/VAERS/5aEdbd.jpeg rename to src/captcha/captchas/VAERS/5aEdbd.jpeg diff --git a/src/captchas/VAERS/5ab8A0.jpeg b/src/captcha/captchas/VAERS/5ab8A0.jpeg similarity index 100% rename from src/captchas/VAERS/5ab8A0.jpeg rename to src/captcha/captchas/VAERS/5ab8A0.jpeg diff --git a/src/captchas/VAERS/5bDF05.jpeg b/src/captcha/captchas/VAERS/5bDF05.jpeg similarity index 100% rename from src/captchas/VAERS/5bDF05.jpeg rename to src/captcha/captchas/VAERS/5bDF05.jpeg diff --git a/src/captchas/VAERS/5c5a9f.jpeg b/src/captcha/captchas/VAERS/5c5a9f.jpeg similarity index 100% rename from src/captchas/VAERS/5c5a9f.jpeg rename to src/captcha/captchas/VAERS/5c5a9f.jpeg diff --git a/src/captchas/VAERS/5cFb49.jpeg b/src/captcha/captchas/VAERS/5cFb49.jpeg similarity index 100% rename from src/captchas/VAERS/5cFb49.jpeg rename to src/captcha/captchas/VAERS/5cFb49.jpeg diff --git a/src/captchas/VAERS/5d14f4.jpeg b/src/captcha/captchas/VAERS/5d14f4.jpeg similarity index 100% rename from src/captchas/VAERS/5d14f4.jpeg rename to src/captcha/captchas/VAERS/5d14f4.jpeg diff --git a/src/captchas/VAERS/5d5669.jpeg b/src/captcha/captchas/VAERS/5d5669.jpeg similarity index 100% rename from src/captchas/VAERS/5d5669.jpeg rename to src/captcha/captchas/VAERS/5d5669.jpeg diff --git a/src/captchas/VAERS/5e0020.jpeg b/src/captcha/captchas/VAERS/5e0020.jpeg similarity index 100% rename from src/captchas/VAERS/5e0020.jpeg rename to src/captcha/captchas/VAERS/5e0020.jpeg diff --git a/src/captchas/VAERS/5e33c5.jpeg b/src/captcha/captchas/VAERS/5e33c5.jpeg similarity index 100% rename from src/captchas/VAERS/5e33c5.jpeg rename to src/captcha/captchas/VAERS/5e33c5.jpeg diff --git a/src/captchas/VAERS/5e4b2c.jpeg b/src/captcha/captchas/VAERS/5e4b2c.jpeg similarity index 100% rename from src/captchas/VAERS/5e4b2c.jpeg rename to src/captcha/captchas/VAERS/5e4b2c.jpeg diff --git a/src/captchas/VAERS/5eb489.jpeg b/src/captcha/captchas/VAERS/5eb489.jpeg similarity index 100% rename from src/captchas/VAERS/5eb489.jpeg rename to src/captcha/captchas/VAERS/5eb489.jpeg diff --git a/src/captchas/VAERS/5f030A.jpeg b/src/captcha/captchas/VAERS/5f030A.jpeg similarity index 100% rename from src/captchas/VAERS/5f030A.jpeg rename to src/captcha/captchas/VAERS/5f030A.jpeg diff --git a/src/captchas/VAERS/5fD375.jpeg b/src/captcha/captchas/VAERS/5fD375.jpeg similarity index 100% rename from src/captchas/VAERS/5fD375.jpeg rename to src/captcha/captchas/VAERS/5fD375.jpeg diff --git a/src/captchas/VAERS/603A78.jpeg b/src/captcha/captchas/VAERS/603A78.jpeg similarity index 100% rename from src/captchas/VAERS/603A78.jpeg rename to src/captcha/captchas/VAERS/603A78.jpeg diff --git a/src/captchas/VAERS/60513D.jpeg b/src/captcha/captchas/VAERS/60513D.jpeg similarity index 100% rename from src/captchas/VAERS/60513D.jpeg rename to src/captcha/captchas/VAERS/60513D.jpeg diff --git a/src/captchas/VAERS/608de5.jpeg b/src/captcha/captchas/VAERS/608de5.jpeg similarity index 100% rename from src/captchas/VAERS/608de5.jpeg rename to src/captcha/captchas/VAERS/608de5.jpeg diff --git a/src/captchas/VAERS/609354.jpeg b/src/captcha/captchas/VAERS/609354.jpeg similarity index 100% rename from src/captchas/VAERS/609354.jpeg rename to src/captcha/captchas/VAERS/609354.jpeg diff --git a/src/captchas/VAERS/609F63.jpeg b/src/captcha/captchas/VAERS/609F63.jpeg similarity index 100% rename from src/captchas/VAERS/609F63.jpeg rename to src/captcha/captchas/VAERS/609F63.jpeg diff --git a/src/captchas/VAERS/60DDA5.jpeg b/src/captcha/captchas/VAERS/60DDA5.jpeg similarity index 100% rename from src/captchas/VAERS/60DDA5.jpeg rename to src/captcha/captchas/VAERS/60DDA5.jpeg diff --git a/src/captchas/VAERS/60ED4F.jpeg b/src/captcha/captchas/VAERS/60ED4F.jpeg similarity index 100% rename from src/captchas/VAERS/60ED4F.jpeg rename to src/captcha/captchas/VAERS/60ED4F.jpeg diff --git a/src/captchas/VAERS/60dAEC.jpeg b/src/captcha/captchas/VAERS/60dAEC.jpeg similarity index 100% rename from src/captchas/VAERS/60dAEC.jpeg rename to src/captcha/captchas/VAERS/60dAEC.jpeg diff --git a/src/captchas/VAERS/610817.jpeg b/src/captcha/captchas/VAERS/610817.jpeg similarity index 100% rename from src/captchas/VAERS/610817.jpeg rename to src/captcha/captchas/VAERS/610817.jpeg diff --git a/src/captchas/VAERS/610A25.jpeg b/src/captcha/captchas/VAERS/610A25.jpeg similarity index 100% rename from src/captchas/VAERS/610A25.jpeg rename to src/captcha/captchas/VAERS/610A25.jpeg diff --git a/src/captchas/VAERS/6113C6.jpeg b/src/captcha/captchas/VAERS/6113C6.jpeg similarity index 100% rename from src/captchas/VAERS/6113C6.jpeg rename to src/captcha/captchas/VAERS/6113C6.jpeg diff --git a/src/captchas/VAERS/6154E9.jpeg b/src/captcha/captchas/VAERS/6154E9.jpeg similarity index 100% rename from src/captchas/VAERS/6154E9.jpeg rename to src/captcha/captchas/VAERS/6154E9.jpeg diff --git a/src/captchas/VAERS/617E5d.jpeg b/src/captcha/captchas/VAERS/617E5d.jpeg similarity index 100% rename from src/captchas/VAERS/617E5d.jpeg rename to src/captcha/captchas/VAERS/617E5d.jpeg diff --git a/src/captchas/VAERS/61aBcF.jpeg b/src/captcha/captchas/VAERS/61aBcF.jpeg similarity index 100% rename from src/captchas/VAERS/61aBcF.jpeg rename to src/captcha/captchas/VAERS/61aBcF.jpeg diff --git a/src/captchas/VAERS/621CCb.jpeg b/src/captcha/captchas/VAERS/621CCb.jpeg similarity index 100% rename from src/captchas/VAERS/621CCb.jpeg rename to src/captcha/captchas/VAERS/621CCb.jpeg diff --git a/src/captchas/VAERS/621D31.jpeg b/src/captcha/captchas/VAERS/621D31.jpeg similarity index 100% rename from src/captchas/VAERS/621D31.jpeg rename to src/captcha/captchas/VAERS/621D31.jpeg diff --git a/src/captchas/VAERS/62C261.jpeg b/src/captcha/captchas/VAERS/62C261.jpeg similarity index 100% rename from src/captchas/VAERS/62C261.jpeg rename to src/captcha/captchas/VAERS/62C261.jpeg diff --git a/src/captchas/VAERS/62De93.jpeg b/src/captcha/captchas/VAERS/62De93.jpeg similarity index 100% rename from src/captchas/VAERS/62De93.jpeg rename to src/captcha/captchas/VAERS/62De93.jpeg diff --git a/src/captchas/VAERS/62FaAF.jpeg b/src/captcha/captchas/VAERS/62FaAF.jpeg similarity index 100% rename from src/captchas/VAERS/62FaAF.jpeg rename to src/captcha/captchas/VAERS/62FaAF.jpeg diff --git a/src/captchas/VAERS/63164f.jpeg b/src/captcha/captchas/VAERS/63164f.jpeg similarity index 100% rename from src/captchas/VAERS/63164f.jpeg rename to src/captcha/captchas/VAERS/63164f.jpeg diff --git a/src/captchas/VAERS/63800B.jpeg b/src/captcha/captchas/VAERS/63800B.jpeg similarity index 100% rename from src/captchas/VAERS/63800B.jpeg rename to src/captcha/captchas/VAERS/63800B.jpeg diff --git a/src/captchas/VAERS/63B6C7.jpeg b/src/captcha/captchas/VAERS/63B6C7.jpeg similarity index 100% rename from src/captchas/VAERS/63B6C7.jpeg rename to src/captcha/captchas/VAERS/63B6C7.jpeg diff --git a/src/captchas/VAERS/6414a9.jpeg b/src/captcha/captchas/VAERS/6414a9.jpeg similarity index 100% rename from src/captchas/VAERS/6414a9.jpeg rename to src/captcha/captchas/VAERS/6414a9.jpeg diff --git a/src/captchas/VAERS/6466a2.jpeg b/src/captcha/captchas/VAERS/6466a2.jpeg similarity index 100% rename from src/captchas/VAERS/6466a2.jpeg rename to src/captcha/captchas/VAERS/6466a2.jpeg diff --git a/src/captchas/VAERS/649327.jpeg b/src/captcha/captchas/VAERS/649327.jpeg similarity index 100% rename from src/captchas/VAERS/649327.jpeg rename to src/captcha/captchas/VAERS/649327.jpeg diff --git a/src/captchas/VAERS/652Efb.jpeg b/src/captcha/captchas/VAERS/652Efb.jpeg similarity index 100% rename from src/captchas/VAERS/652Efb.jpeg rename to src/captcha/captchas/VAERS/652Efb.jpeg diff --git a/src/captchas/VAERS/656413.jpeg b/src/captcha/captchas/VAERS/656413.jpeg similarity index 100% rename from src/captchas/VAERS/656413.jpeg rename to src/captcha/captchas/VAERS/656413.jpeg diff --git a/src/captchas/VAERS/65D644.jpeg b/src/captcha/captchas/VAERS/65D644.jpeg similarity index 100% rename from src/captchas/VAERS/65D644.jpeg rename to src/captcha/captchas/VAERS/65D644.jpeg diff --git a/src/captchas/VAERS/65D724.jpeg b/src/captcha/captchas/VAERS/65D724.jpeg similarity index 100% rename from src/captchas/VAERS/65D724.jpeg rename to src/captcha/captchas/VAERS/65D724.jpeg diff --git a/src/captchas/VAERS/65F6a3.jpeg b/src/captcha/captchas/VAERS/65F6a3.jpeg similarity index 100% rename from src/captchas/VAERS/65F6a3.jpeg rename to src/captcha/captchas/VAERS/65F6a3.jpeg diff --git a/src/captchas/VAERS/65a4cb.jpeg b/src/captcha/captchas/VAERS/65a4cb.jpeg similarity index 100% rename from src/captchas/VAERS/65a4cb.jpeg rename to src/captcha/captchas/VAERS/65a4cb.jpeg diff --git a/src/captchas/VAERS/65bAB4.jpeg b/src/captcha/captchas/VAERS/65bAB4.jpeg similarity index 100% rename from src/captchas/VAERS/65bAB4.jpeg rename to src/captcha/captchas/VAERS/65bAB4.jpeg diff --git a/src/captchas/VAERS/65c0a1.jpeg b/src/captcha/captchas/VAERS/65c0a1.jpeg similarity index 100% rename from src/captchas/VAERS/65c0a1.jpeg rename to src/captcha/captchas/VAERS/65c0a1.jpeg diff --git a/src/captchas/VAERS/665Aa2.jpeg b/src/captcha/captchas/VAERS/665Aa2.jpeg similarity index 100% rename from src/captchas/VAERS/665Aa2.jpeg rename to src/captcha/captchas/VAERS/665Aa2.jpeg diff --git a/src/captchas/VAERS/66AB72.jpeg b/src/captcha/captchas/VAERS/66AB72.jpeg similarity index 100% rename from src/captchas/VAERS/66AB72.jpeg rename to src/captcha/captchas/VAERS/66AB72.jpeg diff --git a/src/captchas/VAERS/66a246.jpeg b/src/captcha/captchas/VAERS/66a246.jpeg similarity index 100% rename from src/captchas/VAERS/66a246.jpeg rename to src/captcha/captchas/VAERS/66a246.jpeg diff --git a/src/captchas/VAERS/66a9c9.jpeg b/src/captcha/captchas/VAERS/66a9c9.jpeg similarity index 100% rename from src/captchas/VAERS/66a9c9.jpeg rename to src/captcha/captchas/VAERS/66a9c9.jpeg diff --git a/src/captchas/VAERS/671Ae0.jpeg b/src/captcha/captchas/VAERS/671Ae0.jpeg similarity index 100% rename from src/captchas/VAERS/671Ae0.jpeg rename to src/captcha/captchas/VAERS/671Ae0.jpeg diff --git a/src/captchas/VAERS/673Ab7.jpeg b/src/captcha/captchas/VAERS/673Ab7.jpeg similarity index 100% rename from src/captchas/VAERS/673Ab7.jpeg rename to src/captcha/captchas/VAERS/673Ab7.jpeg diff --git a/src/captchas/VAERS/67B020.jpeg b/src/captcha/captchas/VAERS/67B020.jpeg similarity index 100% rename from src/captchas/VAERS/67B020.jpeg rename to src/captcha/captchas/VAERS/67B020.jpeg diff --git a/src/captchas/VAERS/67a0e8.jpeg b/src/captcha/captchas/VAERS/67a0e8.jpeg similarity index 100% rename from src/captchas/VAERS/67a0e8.jpeg rename to src/captcha/captchas/VAERS/67a0e8.jpeg diff --git a/src/captchas/VAERS/682817.jpeg b/src/captcha/captchas/VAERS/682817.jpeg similarity index 100% rename from src/captchas/VAERS/682817.jpeg rename to src/captcha/captchas/VAERS/682817.jpeg diff --git a/src/captchas/VAERS/68EdFF.jpeg b/src/captcha/captchas/VAERS/68EdFF.jpeg similarity index 100% rename from src/captchas/VAERS/68EdFF.jpeg rename to src/captcha/captchas/VAERS/68EdFF.jpeg diff --git a/src/captchas/VAERS/68F35e.jpeg b/src/captcha/captchas/VAERS/68F35e.jpeg similarity index 100% rename from src/captchas/VAERS/68F35e.jpeg rename to src/captcha/captchas/VAERS/68F35e.jpeg diff --git a/src/captchas/VAERS/68F509.jpeg b/src/captcha/captchas/VAERS/68F509.jpeg similarity index 100% rename from src/captchas/VAERS/68F509.jpeg rename to src/captcha/captchas/VAERS/68F509.jpeg diff --git a/src/captchas/VAERS/68a172.jpeg b/src/captcha/captchas/VAERS/68a172.jpeg similarity index 100% rename from src/captchas/VAERS/68a172.jpeg rename to src/captcha/captchas/VAERS/68a172.jpeg diff --git a/src/captchas/VAERS/693f4C.jpeg b/src/captcha/captchas/VAERS/693f4C.jpeg similarity index 100% rename from src/captchas/VAERS/693f4C.jpeg rename to src/captcha/captchas/VAERS/693f4C.jpeg diff --git a/src/captchas/VAERS/695038.jpeg b/src/captcha/captchas/VAERS/695038.jpeg similarity index 100% rename from src/captchas/VAERS/695038.jpeg rename to src/captcha/captchas/VAERS/695038.jpeg diff --git a/src/captchas/VAERS/6975A6.jpeg b/src/captcha/captchas/VAERS/6975A6.jpeg similarity index 100% rename from src/captchas/VAERS/6975A6.jpeg rename to src/captcha/captchas/VAERS/6975A6.jpeg diff --git a/src/captchas/VAERS/6984F8.jpeg b/src/captcha/captchas/VAERS/6984F8.jpeg similarity index 100% rename from src/captchas/VAERS/6984F8.jpeg rename to src/captcha/captchas/VAERS/6984F8.jpeg diff --git a/src/captchas/VAERS/698677.jpeg b/src/captcha/captchas/VAERS/698677.jpeg similarity index 100% rename from src/captchas/VAERS/698677.jpeg rename to src/captcha/captchas/VAERS/698677.jpeg diff --git a/src/captchas/VAERS/69dB7F.jpeg b/src/captcha/captchas/VAERS/69dB7F.jpeg similarity index 100% rename from src/captchas/VAERS/69dB7F.jpeg rename to src/captcha/captchas/VAERS/69dB7F.jpeg diff --git a/src/captchas/VAERS/6ABA23.jpeg b/src/captcha/captchas/VAERS/6ABA23.jpeg similarity index 100% rename from src/captchas/VAERS/6ABA23.jpeg rename to src/captcha/captchas/VAERS/6ABA23.jpeg diff --git a/src/captchas/VAERS/6Ae57E.jpeg b/src/captcha/captchas/VAERS/6Ae57E.jpeg similarity index 100% rename from src/captchas/VAERS/6Ae57E.jpeg rename to src/captcha/captchas/VAERS/6Ae57E.jpeg diff --git a/src/captchas/VAERS/6B89C5.jpeg b/src/captcha/captchas/VAERS/6B89C5.jpeg similarity index 100% rename from src/captchas/VAERS/6B89C5.jpeg rename to src/captcha/captchas/VAERS/6B89C5.jpeg diff --git a/src/captchas/VAERS/6C26fF.jpeg b/src/captcha/captchas/VAERS/6C26fF.jpeg similarity index 100% rename from src/captchas/VAERS/6C26fF.jpeg rename to src/captcha/captchas/VAERS/6C26fF.jpeg diff --git a/src/captchas/VAERS/6D130c.jpeg b/src/captcha/captchas/VAERS/6D130c.jpeg similarity index 100% rename from src/captchas/VAERS/6D130c.jpeg rename to src/captcha/captchas/VAERS/6D130c.jpeg diff --git a/src/captchas/VAERS/6E01e5.jpeg b/src/captcha/captchas/VAERS/6E01e5.jpeg similarity index 100% rename from src/captchas/VAERS/6E01e5.jpeg rename to src/captcha/captchas/VAERS/6E01e5.jpeg diff --git a/src/captchas/VAERS/6E19F6.jpeg b/src/captcha/captchas/VAERS/6E19F6.jpeg similarity index 100% rename from src/captchas/VAERS/6E19F6.jpeg rename to src/captcha/captchas/VAERS/6E19F6.jpeg diff --git a/src/captchas/VAERS/6EA3E0.jpeg b/src/captcha/captchas/VAERS/6EA3E0.jpeg similarity index 100% rename from src/captchas/VAERS/6EA3E0.jpeg rename to src/captcha/captchas/VAERS/6EA3E0.jpeg diff --git a/src/captchas/VAERS/6F89e6.jpeg b/src/captcha/captchas/VAERS/6F89e6.jpeg similarity index 100% rename from src/captchas/VAERS/6F89e6.jpeg rename to src/captcha/captchas/VAERS/6F89e6.jpeg diff --git a/src/captchas/VAERS/6FF1a1.jpeg b/src/captcha/captchas/VAERS/6FF1a1.jpeg similarity index 100% rename from src/captchas/VAERS/6FF1a1.jpeg rename to src/captcha/captchas/VAERS/6FF1a1.jpeg diff --git a/src/captchas/VAERS/6ac81d.jpeg b/src/captcha/captchas/VAERS/6ac81d.jpeg similarity index 100% rename from src/captchas/VAERS/6ac81d.jpeg rename to src/captcha/captchas/VAERS/6ac81d.jpeg diff --git a/src/captchas/VAERS/6b050f.jpeg b/src/captcha/captchas/VAERS/6b050f.jpeg similarity index 100% rename from src/captchas/VAERS/6b050f.jpeg rename to src/captcha/captchas/VAERS/6b050f.jpeg diff --git a/src/captchas/VAERS/6b64b6.jpeg b/src/captcha/captchas/VAERS/6b64b6.jpeg similarity index 100% rename from src/captchas/VAERS/6b64b6.jpeg rename to src/captcha/captchas/VAERS/6b64b6.jpeg diff --git a/src/captchas/VAERS/6bDBB1.jpeg b/src/captcha/captchas/VAERS/6bDBB1.jpeg similarity index 100% rename from src/captchas/VAERS/6bDBB1.jpeg rename to src/captcha/captchas/VAERS/6bDBB1.jpeg diff --git a/src/captchas/VAERS/6c6eac.jpeg b/src/captcha/captchas/VAERS/6c6eac.jpeg similarity index 100% rename from src/captchas/VAERS/6c6eac.jpeg rename to src/captcha/captchas/VAERS/6c6eac.jpeg diff --git a/src/captchas/VAERS/6c90a6.jpeg b/src/captcha/captchas/VAERS/6c90a6.jpeg similarity index 100% rename from src/captchas/VAERS/6c90a6.jpeg rename to src/captcha/captchas/VAERS/6c90a6.jpeg diff --git a/src/captchas/VAERS/6d23A8.jpeg b/src/captcha/captchas/VAERS/6d23A8.jpeg similarity index 100% rename from src/captchas/VAERS/6d23A8.jpeg rename to src/captcha/captchas/VAERS/6d23A8.jpeg diff --git a/src/captchas/VAERS/6dE006.jpeg b/src/captcha/captchas/VAERS/6dE006.jpeg similarity index 100% rename from src/captchas/VAERS/6dE006.jpeg rename to src/captcha/captchas/VAERS/6dE006.jpeg diff --git a/src/captchas/VAERS/6dc761.jpeg b/src/captcha/captchas/VAERS/6dc761.jpeg similarity index 100% rename from src/captchas/VAERS/6dc761.jpeg rename to src/captcha/captchas/VAERS/6dc761.jpeg diff --git a/src/captchas/VAERS/6eDD18.jpeg b/src/captcha/captchas/VAERS/6eDD18.jpeg similarity index 100% rename from src/captchas/VAERS/6eDD18.jpeg rename to src/captcha/captchas/VAERS/6eDD18.jpeg diff --git a/src/captchas/VAERS/6fF77b.jpeg b/src/captcha/captchas/VAERS/6fF77b.jpeg similarity index 100% rename from src/captchas/VAERS/6fF77b.jpeg rename to src/captcha/captchas/VAERS/6fF77b.jpeg diff --git a/src/captchas/VAERS/6fc0F2.jpeg b/src/captcha/captchas/VAERS/6fc0F2.jpeg similarity index 100% rename from src/captchas/VAERS/6fc0F2.jpeg rename to src/captcha/captchas/VAERS/6fc0F2.jpeg diff --git a/src/captchas/VAERS/701514.jpeg b/src/captcha/captchas/VAERS/701514.jpeg similarity index 100% rename from src/captchas/VAERS/701514.jpeg rename to src/captcha/captchas/VAERS/701514.jpeg diff --git a/src/captchas/VAERS/701D7C.jpeg b/src/captcha/captchas/VAERS/701D7C.jpeg similarity index 100% rename from src/captchas/VAERS/701D7C.jpeg rename to src/captcha/captchas/VAERS/701D7C.jpeg diff --git a/src/captchas/VAERS/702B73.jpeg b/src/captcha/captchas/VAERS/702B73.jpeg similarity index 100% rename from src/captchas/VAERS/702B73.jpeg rename to src/captcha/captchas/VAERS/702B73.jpeg diff --git a/src/captchas/VAERS/70EdB4.jpeg b/src/captcha/captchas/VAERS/70EdB4.jpeg similarity index 100% rename from src/captchas/VAERS/70EdB4.jpeg rename to src/captcha/captchas/VAERS/70EdB4.jpeg diff --git a/src/captchas/VAERS/710796.jpeg b/src/captcha/captchas/VAERS/710796.jpeg similarity index 100% rename from src/captchas/VAERS/710796.jpeg rename to src/captcha/captchas/VAERS/710796.jpeg diff --git a/src/captchas/VAERS/712954.jpeg b/src/captcha/captchas/VAERS/712954.jpeg similarity index 100% rename from src/captchas/VAERS/712954.jpeg rename to src/captcha/captchas/VAERS/712954.jpeg diff --git a/src/captchas/VAERS/719B31.jpeg b/src/captcha/captchas/VAERS/719B31.jpeg similarity index 100% rename from src/captchas/VAERS/719B31.jpeg rename to src/captcha/captchas/VAERS/719B31.jpeg diff --git a/src/captchas/VAERS/71B2C2.jpeg b/src/captcha/captchas/VAERS/71B2C2.jpeg similarity index 100% rename from src/captchas/VAERS/71B2C2.jpeg rename to src/captcha/captchas/VAERS/71B2C2.jpeg diff --git a/src/captchas/VAERS/71d0Cd.jpeg b/src/captcha/captchas/VAERS/71d0Cd.jpeg similarity index 100% rename from src/captchas/VAERS/71d0Cd.jpeg rename to src/captcha/captchas/VAERS/71d0Cd.jpeg diff --git a/src/captchas/VAERS/71e05B.jpeg b/src/captcha/captchas/VAERS/71e05B.jpeg similarity index 100% rename from src/captchas/VAERS/71e05B.jpeg rename to src/captcha/captchas/VAERS/71e05B.jpeg diff --git a/src/captchas/VAERS/7211a0.jpeg b/src/captcha/captchas/VAERS/7211a0.jpeg similarity index 100% rename from src/captchas/VAERS/7211a0.jpeg rename to src/captcha/captchas/VAERS/7211a0.jpeg diff --git a/src/captchas/VAERS/72313c.jpeg b/src/captcha/captchas/VAERS/72313c.jpeg similarity index 100% rename from src/captchas/VAERS/72313c.jpeg rename to src/captcha/captchas/VAERS/72313c.jpeg diff --git a/src/captchas/VAERS/72F975.jpeg b/src/captcha/captchas/VAERS/72F975.jpeg similarity index 100% rename from src/captchas/VAERS/72F975.jpeg rename to src/captcha/captchas/VAERS/72F975.jpeg diff --git a/src/captchas/VAERS/72f3Ca.jpeg b/src/captcha/captchas/VAERS/72f3Ca.jpeg similarity index 100% rename from src/captchas/VAERS/72f3Ca.jpeg rename to src/captcha/captchas/VAERS/72f3Ca.jpeg diff --git a/src/captchas/VAERS/735c21.jpeg b/src/captcha/captchas/VAERS/735c21.jpeg similarity index 100% rename from src/captchas/VAERS/735c21.jpeg rename to src/captcha/captchas/VAERS/735c21.jpeg diff --git a/src/captchas/VAERS/736170.jpeg b/src/captcha/captchas/VAERS/736170.jpeg similarity index 100% rename from src/captchas/VAERS/736170.jpeg rename to src/captcha/captchas/VAERS/736170.jpeg diff --git a/src/captchas/VAERS/73d44e.jpeg b/src/captcha/captchas/VAERS/73d44e.jpeg similarity index 100% rename from src/captchas/VAERS/73d44e.jpeg rename to src/captcha/captchas/VAERS/73d44e.jpeg diff --git a/src/captchas/VAERS/7419D4.jpeg b/src/captcha/captchas/VAERS/7419D4.jpeg similarity index 100% rename from src/captchas/VAERS/7419D4.jpeg rename to src/captcha/captchas/VAERS/7419D4.jpeg diff --git a/src/captchas/VAERS/744e63.jpeg b/src/captcha/captchas/VAERS/744e63.jpeg similarity index 100% rename from src/captchas/VAERS/744e63.jpeg rename to src/captcha/captchas/VAERS/744e63.jpeg diff --git a/src/captchas/VAERS/74F09b.jpeg b/src/captcha/captchas/VAERS/74F09b.jpeg similarity index 100% rename from src/captchas/VAERS/74F09b.jpeg rename to src/captcha/captchas/VAERS/74F09b.jpeg diff --git a/src/captchas/VAERS/7501dC.jpeg b/src/captcha/captchas/VAERS/7501dC.jpeg similarity index 100% rename from src/captchas/VAERS/7501dC.jpeg rename to src/captcha/captchas/VAERS/7501dC.jpeg diff --git a/src/captchas/VAERS/754E16.jpeg b/src/captcha/captchas/VAERS/754E16.jpeg similarity index 100% rename from src/captchas/VAERS/754E16.jpeg rename to src/captcha/captchas/VAERS/754E16.jpeg diff --git a/src/captchas/VAERS/757daE.jpeg b/src/captcha/captchas/VAERS/757daE.jpeg similarity index 100% rename from src/captchas/VAERS/757daE.jpeg rename to src/captcha/captchas/VAERS/757daE.jpeg diff --git a/src/captchas/VAERS/762C1d.jpeg b/src/captcha/captchas/VAERS/762C1d.jpeg similarity index 100% rename from src/captchas/VAERS/762C1d.jpeg rename to src/captcha/captchas/VAERS/762C1d.jpeg diff --git a/src/captchas/VAERS/763414.jpeg b/src/captcha/captchas/VAERS/763414.jpeg similarity index 100% rename from src/captchas/VAERS/763414.jpeg rename to src/captcha/captchas/VAERS/763414.jpeg diff --git a/src/captchas/VAERS/765416.jpeg b/src/captcha/captchas/VAERS/765416.jpeg similarity index 100% rename from src/captchas/VAERS/765416.jpeg rename to src/captcha/captchas/VAERS/765416.jpeg diff --git a/src/captchas/VAERS/76Ff19.jpeg b/src/captcha/captchas/VAERS/76Ff19.jpeg similarity index 100% rename from src/captchas/VAERS/76Ff19.jpeg rename to src/captcha/captchas/VAERS/76Ff19.jpeg diff --git a/src/captchas/VAERS/770F39.jpeg b/src/captcha/captchas/VAERS/770F39.jpeg similarity index 100% rename from src/captchas/VAERS/770F39.jpeg rename to src/captcha/captchas/VAERS/770F39.jpeg diff --git a/src/captchas/VAERS/7768D5.jpeg b/src/captcha/captchas/VAERS/7768D5.jpeg similarity index 100% rename from src/captchas/VAERS/7768D5.jpeg rename to src/captcha/captchas/VAERS/7768D5.jpeg diff --git a/src/captchas/VAERS/777986.jpeg b/src/captcha/captchas/VAERS/777986.jpeg similarity index 100% rename from src/captchas/VAERS/777986.jpeg rename to src/captcha/captchas/VAERS/777986.jpeg diff --git a/src/captchas/VAERS/77A7DC.jpeg b/src/captcha/captchas/VAERS/77A7DC.jpeg similarity index 100% rename from src/captchas/VAERS/77A7DC.jpeg rename to src/captcha/captchas/VAERS/77A7DC.jpeg diff --git a/src/captchas/VAERS/77F428.jpeg b/src/captcha/captchas/VAERS/77F428.jpeg similarity index 100% rename from src/captchas/VAERS/77F428.jpeg rename to src/captcha/captchas/VAERS/77F428.jpeg diff --git a/src/captchas/VAERS/7831Ac.jpeg b/src/captcha/captchas/VAERS/7831Ac.jpeg similarity index 100% rename from src/captchas/VAERS/7831Ac.jpeg rename to src/captcha/captchas/VAERS/7831Ac.jpeg diff --git a/src/captchas/VAERS/783b90.jpeg b/src/captcha/captchas/VAERS/783b90.jpeg similarity index 100% rename from src/captchas/VAERS/783b90.jpeg rename to src/captcha/captchas/VAERS/783b90.jpeg diff --git a/src/captchas/VAERS/785038.jpeg b/src/captcha/captchas/VAERS/785038.jpeg similarity index 100% rename from src/captchas/VAERS/785038.jpeg rename to src/captcha/captchas/VAERS/785038.jpeg diff --git a/src/captchas/VAERS/78B0dd.jpeg b/src/captcha/captchas/VAERS/78B0dd.jpeg similarity index 100% rename from src/captchas/VAERS/78B0dd.jpeg rename to src/captcha/captchas/VAERS/78B0dd.jpeg diff --git a/src/captchas/VAERS/7962a3.jpeg b/src/captcha/captchas/VAERS/7962a3.jpeg similarity index 100% rename from src/captchas/VAERS/7962a3.jpeg rename to src/captcha/captchas/VAERS/7962a3.jpeg diff --git a/src/captchas/VAERS/797ea1.jpeg b/src/captcha/captchas/VAERS/797ea1.jpeg similarity index 100% rename from src/captchas/VAERS/797ea1.jpeg rename to src/captcha/captchas/VAERS/797ea1.jpeg diff --git a/src/captchas/VAERS/798EF9.jpeg b/src/captcha/captchas/VAERS/798EF9.jpeg similarity index 100% rename from src/captchas/VAERS/798EF9.jpeg rename to src/captcha/captchas/VAERS/798EF9.jpeg diff --git a/src/captchas/VAERS/79D201.jpeg b/src/captcha/captchas/VAERS/79D201.jpeg similarity index 100% rename from src/captchas/VAERS/79D201.jpeg rename to src/captcha/captchas/VAERS/79D201.jpeg diff --git a/src/captchas/VAERS/79D595.jpeg b/src/captcha/captchas/VAERS/79D595.jpeg similarity index 100% rename from src/captchas/VAERS/79D595.jpeg rename to src/captcha/captchas/VAERS/79D595.jpeg diff --git a/src/captchas/VAERS/7A19c0.jpeg b/src/captcha/captchas/VAERS/7A19c0.jpeg similarity index 100% rename from src/captchas/VAERS/7A19c0.jpeg rename to src/captcha/captchas/VAERS/7A19c0.jpeg diff --git a/src/captchas/VAERS/7C683e.jpeg b/src/captcha/captchas/VAERS/7C683e.jpeg similarity index 100% rename from src/captchas/VAERS/7C683e.jpeg rename to src/captcha/captchas/VAERS/7C683e.jpeg diff --git a/src/captchas/VAERS/7C7F80.jpeg b/src/captcha/captchas/VAERS/7C7F80.jpeg similarity index 100% rename from src/captchas/VAERS/7C7F80.jpeg rename to src/captcha/captchas/VAERS/7C7F80.jpeg diff --git a/src/captchas/VAERS/7Ca4d8.jpeg b/src/captcha/captchas/VAERS/7Ca4d8.jpeg similarity index 100% rename from src/captchas/VAERS/7Ca4d8.jpeg rename to src/captcha/captchas/VAERS/7Ca4d8.jpeg diff --git a/src/captchas/VAERS/7Ce63E.jpeg b/src/captcha/captchas/VAERS/7Ce63E.jpeg similarity index 100% rename from src/captchas/VAERS/7Ce63E.jpeg rename to src/captcha/captchas/VAERS/7Ce63E.jpeg diff --git a/src/captchas/VAERS/7D26b1.jpeg b/src/captcha/captchas/VAERS/7D26b1.jpeg similarity index 100% rename from src/captchas/VAERS/7D26b1.jpeg rename to src/captcha/captchas/VAERS/7D26b1.jpeg diff --git a/src/captchas/VAERS/7D481A.jpeg b/src/captcha/captchas/VAERS/7D481A.jpeg similarity index 100% rename from src/captchas/VAERS/7D481A.jpeg rename to src/captcha/captchas/VAERS/7D481A.jpeg diff --git a/src/captchas/VAERS/7D84Be.jpeg b/src/captcha/captchas/VAERS/7D84Be.jpeg similarity index 100% rename from src/captchas/VAERS/7D84Be.jpeg rename to src/captcha/captchas/VAERS/7D84Be.jpeg diff --git a/src/captchas/VAERS/7E078e.jpeg b/src/captcha/captchas/VAERS/7E078e.jpeg similarity index 100% rename from src/captchas/VAERS/7E078e.jpeg rename to src/captcha/captchas/VAERS/7E078e.jpeg diff --git a/src/captchas/VAERS/7E4375.jpeg b/src/captcha/captchas/VAERS/7E4375.jpeg similarity index 100% rename from src/captchas/VAERS/7E4375.jpeg rename to src/captcha/captchas/VAERS/7E4375.jpeg diff --git a/src/captchas/VAERS/7E88bB.jpeg b/src/captcha/captchas/VAERS/7E88bB.jpeg similarity index 100% rename from src/captchas/VAERS/7E88bB.jpeg rename to src/captcha/captchas/VAERS/7E88bB.jpeg diff --git a/src/captchas/VAERS/7EBE3b.jpeg b/src/captcha/captchas/VAERS/7EBE3b.jpeg similarity index 100% rename from src/captchas/VAERS/7EBE3b.jpeg rename to src/captcha/captchas/VAERS/7EBE3b.jpeg diff --git a/src/captchas/VAERS/7Ef936.jpeg b/src/captcha/captchas/VAERS/7Ef936.jpeg similarity index 100% rename from src/captchas/VAERS/7Ef936.jpeg rename to src/captcha/captchas/VAERS/7Ef936.jpeg diff --git a/src/captchas/VAERS/7F384e.jpeg b/src/captcha/captchas/VAERS/7F384e.jpeg similarity index 100% rename from src/captchas/VAERS/7F384e.jpeg rename to src/captcha/captchas/VAERS/7F384e.jpeg diff --git a/src/captchas/VAERS/7F3e1E.jpeg b/src/captcha/captchas/VAERS/7F3e1E.jpeg similarity index 100% rename from src/captchas/VAERS/7F3e1E.jpeg rename to src/captcha/captchas/VAERS/7F3e1E.jpeg diff --git a/src/captchas/VAERS/7F45f2.jpeg b/src/captcha/captchas/VAERS/7F45f2.jpeg similarity index 100% rename from src/captchas/VAERS/7F45f2.jpeg rename to src/captcha/captchas/VAERS/7F45f2.jpeg diff --git a/src/captchas/VAERS/7F78a7.jpeg b/src/captcha/captchas/VAERS/7F78a7.jpeg similarity index 100% rename from src/captchas/VAERS/7F78a7.jpeg rename to src/captcha/captchas/VAERS/7F78a7.jpeg diff --git a/src/captchas/VAERS/7a535A.jpeg b/src/captcha/captchas/VAERS/7a535A.jpeg similarity index 100% rename from src/captchas/VAERS/7a535A.jpeg rename to src/captcha/captchas/VAERS/7a535A.jpeg diff --git a/src/captchas/VAERS/7b195C.jpeg b/src/captcha/captchas/VAERS/7b195C.jpeg similarity index 100% rename from src/captchas/VAERS/7b195C.jpeg rename to src/captcha/captchas/VAERS/7b195C.jpeg diff --git a/src/captchas/VAERS/7b5D9E.jpeg b/src/captcha/captchas/VAERS/7b5D9E.jpeg similarity index 100% rename from src/captchas/VAERS/7b5D9E.jpeg rename to src/captcha/captchas/VAERS/7b5D9E.jpeg diff --git a/src/captchas/VAERS/7bCA8c.jpeg b/src/captcha/captchas/VAERS/7bCA8c.jpeg similarity index 100% rename from src/captchas/VAERS/7bCA8c.jpeg rename to src/captcha/captchas/VAERS/7bCA8c.jpeg diff --git a/src/captchas/VAERS/7bedf8.jpeg b/src/captcha/captchas/VAERS/7bedf8.jpeg similarity index 100% rename from src/captchas/VAERS/7bedf8.jpeg rename to src/captcha/captchas/VAERS/7bedf8.jpeg diff --git a/src/captchas/VAERS/7c02bA.jpeg b/src/captcha/captchas/VAERS/7c02bA.jpeg similarity index 100% rename from src/captchas/VAERS/7c02bA.jpeg rename to src/captcha/captchas/VAERS/7c02bA.jpeg diff --git a/src/captchas/VAERS/7c5242.jpeg b/src/captcha/captchas/VAERS/7c5242.jpeg similarity index 100% rename from src/captchas/VAERS/7c5242.jpeg rename to src/captcha/captchas/VAERS/7c5242.jpeg diff --git a/src/captchas/VAERS/7cEDcB.jpeg b/src/captcha/captchas/VAERS/7cEDcB.jpeg similarity index 100% rename from src/captchas/VAERS/7cEDcB.jpeg rename to src/captcha/captchas/VAERS/7cEDcB.jpeg diff --git a/src/captchas/VAERS/7d040e.jpeg b/src/captcha/captchas/VAERS/7d040e.jpeg similarity index 100% rename from src/captchas/VAERS/7d040e.jpeg rename to src/captcha/captchas/VAERS/7d040e.jpeg diff --git a/src/captchas/VAERS/7d7129.jpeg b/src/captcha/captchas/VAERS/7d7129.jpeg similarity index 100% rename from src/captchas/VAERS/7d7129.jpeg rename to src/captcha/captchas/VAERS/7d7129.jpeg diff --git a/src/captchas/VAERS/7e2335.jpeg b/src/captcha/captchas/VAERS/7e2335.jpeg similarity index 100% rename from src/captchas/VAERS/7e2335.jpeg rename to src/captcha/captchas/VAERS/7e2335.jpeg diff --git a/src/captchas/VAERS/7f7871.jpeg b/src/captcha/captchas/VAERS/7f7871.jpeg similarity index 100% rename from src/captchas/VAERS/7f7871.jpeg rename to src/captcha/captchas/VAERS/7f7871.jpeg diff --git a/src/captchas/VAERS/7f8C6d.jpeg b/src/captcha/captchas/VAERS/7f8C6d.jpeg similarity index 100% rename from src/captchas/VAERS/7f8C6d.jpeg rename to src/captcha/captchas/VAERS/7f8C6d.jpeg diff --git a/src/captchas/VAERS/7f99B3.jpeg b/src/captcha/captchas/VAERS/7f99B3.jpeg similarity index 100% rename from src/captchas/VAERS/7f99B3.jpeg rename to src/captcha/captchas/VAERS/7f99B3.jpeg diff --git a/src/captchas/VAERS/7fBeA6.jpeg b/src/captcha/captchas/VAERS/7fBeA6.jpeg similarity index 100% rename from src/captchas/VAERS/7fBeA6.jpeg rename to src/captcha/captchas/VAERS/7fBeA6.jpeg diff --git a/src/captchas/VAERS/7fC283.jpeg b/src/captcha/captchas/VAERS/7fC283.jpeg similarity index 100% rename from src/captchas/VAERS/7fC283.jpeg rename to src/captcha/captchas/VAERS/7fC283.jpeg diff --git a/src/captchas/VAERS/8004B2.jpeg b/src/captcha/captchas/VAERS/8004B2.jpeg similarity index 100% rename from src/captchas/VAERS/8004B2.jpeg rename to src/captcha/captchas/VAERS/8004B2.jpeg diff --git a/src/captchas/VAERS/800e41.jpeg b/src/captcha/captchas/VAERS/800e41.jpeg similarity index 100% rename from src/captchas/VAERS/800e41.jpeg rename to src/captcha/captchas/VAERS/800e41.jpeg diff --git a/src/captchas/VAERS/801500.jpeg b/src/captcha/captchas/VAERS/801500.jpeg similarity index 100% rename from src/captchas/VAERS/801500.jpeg rename to src/captcha/captchas/VAERS/801500.jpeg diff --git a/src/captchas/VAERS/812416.jpeg b/src/captcha/captchas/VAERS/812416.jpeg similarity index 100% rename from src/captchas/VAERS/812416.jpeg rename to src/captcha/captchas/VAERS/812416.jpeg diff --git a/src/captchas/VAERS/814a27.jpeg b/src/captcha/captchas/VAERS/814a27.jpeg similarity index 100% rename from src/captchas/VAERS/814a27.jpeg rename to src/captcha/captchas/VAERS/814a27.jpeg diff --git a/src/captchas/VAERS/819317.jpeg b/src/captcha/captchas/VAERS/819317.jpeg similarity index 100% rename from src/captchas/VAERS/819317.jpeg rename to src/captcha/captchas/VAERS/819317.jpeg diff --git a/src/captchas/VAERS/81c59E.jpeg b/src/captcha/captchas/VAERS/81c59E.jpeg similarity index 100% rename from src/captchas/VAERS/81c59E.jpeg rename to src/captcha/captchas/VAERS/81c59E.jpeg diff --git a/src/captchas/VAERS/81e584.jpeg b/src/captcha/captchas/VAERS/81e584.jpeg similarity index 100% rename from src/captchas/VAERS/81e584.jpeg rename to src/captcha/captchas/VAERS/81e584.jpeg diff --git a/src/captchas/VAERS/821230.jpeg b/src/captcha/captchas/VAERS/821230.jpeg similarity index 100% rename from src/captchas/VAERS/821230.jpeg rename to src/captcha/captchas/VAERS/821230.jpeg diff --git a/src/captchas/VAERS/8238E7.jpeg b/src/captcha/captchas/VAERS/8238E7.jpeg similarity index 100% rename from src/captchas/VAERS/8238E7.jpeg rename to src/captcha/captchas/VAERS/8238E7.jpeg diff --git a/src/captchas/VAERS/8246D0.jpeg b/src/captcha/captchas/VAERS/8246D0.jpeg similarity index 100% rename from src/captchas/VAERS/8246D0.jpeg rename to src/captcha/captchas/VAERS/8246D0.jpeg diff --git a/src/captchas/VAERS/8269b0.jpeg b/src/captcha/captchas/VAERS/8269b0.jpeg similarity index 100% rename from src/captchas/VAERS/8269b0.jpeg rename to src/captcha/captchas/VAERS/8269b0.jpeg diff --git a/src/captchas/VAERS/827413.jpeg b/src/captcha/captchas/VAERS/827413.jpeg similarity index 100% rename from src/captchas/VAERS/827413.jpeg rename to src/captcha/captchas/VAERS/827413.jpeg diff --git a/src/captchas/VAERS/828867.jpeg b/src/captcha/captchas/VAERS/828867.jpeg similarity index 100% rename from src/captchas/VAERS/828867.jpeg rename to src/captcha/captchas/VAERS/828867.jpeg diff --git a/src/captchas/VAERS/832464.jpeg b/src/captcha/captchas/VAERS/832464.jpeg similarity index 100% rename from src/captchas/VAERS/832464.jpeg rename to src/captcha/captchas/VAERS/832464.jpeg diff --git a/src/captchas/VAERS/8360Bc.jpeg b/src/captcha/captchas/VAERS/8360Bc.jpeg similarity index 100% rename from src/captchas/VAERS/8360Bc.jpeg rename to src/captcha/captchas/VAERS/8360Bc.jpeg diff --git a/src/captchas/VAERS/8361B4.jpeg b/src/captcha/captchas/VAERS/8361B4.jpeg similarity index 100% rename from src/captchas/VAERS/8361B4.jpeg rename to src/captcha/captchas/VAERS/8361B4.jpeg diff --git a/src/captchas/VAERS/838150.jpeg b/src/captcha/captchas/VAERS/838150.jpeg similarity index 100% rename from src/captchas/VAERS/838150.jpeg rename to src/captcha/captchas/VAERS/838150.jpeg diff --git a/src/captchas/VAERS/83BB5A.jpeg b/src/captcha/captchas/VAERS/83BB5A.jpeg similarity index 100% rename from src/captchas/VAERS/83BB5A.jpeg rename to src/captcha/captchas/VAERS/83BB5A.jpeg diff --git a/src/captchas/VAERS/83df67.jpeg b/src/captcha/captchas/VAERS/83df67.jpeg similarity index 100% rename from src/captchas/VAERS/83df67.jpeg rename to src/captcha/captchas/VAERS/83df67.jpeg diff --git a/src/captchas/VAERS/84008E.jpeg b/src/captcha/captchas/VAERS/84008E.jpeg similarity index 100% rename from src/captchas/VAERS/84008E.jpeg rename to src/captcha/captchas/VAERS/84008E.jpeg diff --git a/src/captchas/VAERS/842830.jpeg b/src/captcha/captchas/VAERS/842830.jpeg similarity index 100% rename from src/captchas/VAERS/842830.jpeg rename to src/captcha/captchas/VAERS/842830.jpeg diff --git a/src/captchas/VAERS/8462A9.jpeg b/src/captcha/captchas/VAERS/8462A9.jpeg similarity index 100% rename from src/captchas/VAERS/8462A9.jpeg rename to src/captcha/captchas/VAERS/8462A9.jpeg diff --git a/src/captchas/VAERS/849254.jpeg b/src/captcha/captchas/VAERS/849254.jpeg similarity index 100% rename from src/captchas/VAERS/849254.jpeg rename to src/captcha/captchas/VAERS/849254.jpeg diff --git a/src/captchas/VAERS/8506fC.jpeg b/src/captcha/captchas/VAERS/8506fC.jpeg similarity index 100% rename from src/captchas/VAERS/8506fC.jpeg rename to src/captcha/captchas/VAERS/8506fC.jpeg diff --git a/src/captchas/VAERS/854195.jpeg b/src/captcha/captchas/VAERS/854195.jpeg similarity index 100% rename from src/captchas/VAERS/854195.jpeg rename to src/captcha/captchas/VAERS/854195.jpeg diff --git a/src/captchas/VAERS/854263.jpeg b/src/captcha/captchas/VAERS/854263.jpeg similarity index 100% rename from src/captchas/VAERS/854263.jpeg rename to src/captcha/captchas/VAERS/854263.jpeg diff --git a/src/captchas/VAERS/855281.jpeg b/src/captcha/captchas/VAERS/855281.jpeg similarity index 100% rename from src/captchas/VAERS/855281.jpeg rename to src/captcha/captchas/VAERS/855281.jpeg diff --git a/src/captchas/VAERS/857cC2.jpeg b/src/captcha/captchas/VAERS/857cC2.jpeg similarity index 100% rename from src/captchas/VAERS/857cC2.jpeg rename to src/captcha/captchas/VAERS/857cC2.jpeg diff --git a/src/captchas/VAERS/85c040.jpeg b/src/captcha/captchas/VAERS/85c040.jpeg similarity index 100% rename from src/captchas/VAERS/85c040.jpeg rename to src/captcha/captchas/VAERS/85c040.jpeg diff --git a/src/captchas/VAERS/8602e6.jpeg b/src/captcha/captchas/VAERS/8602e6.jpeg similarity index 100% rename from src/captchas/VAERS/8602e6.jpeg rename to src/captcha/captchas/VAERS/8602e6.jpeg diff --git a/src/captchas/VAERS/86E145.jpeg b/src/captcha/captchas/VAERS/86E145.jpeg similarity index 100% rename from src/captchas/VAERS/86E145.jpeg rename to src/captcha/captchas/VAERS/86E145.jpeg diff --git a/src/captchas/VAERS/86fD00.jpeg b/src/captcha/captchas/VAERS/86fD00.jpeg similarity index 100% rename from src/captchas/VAERS/86fD00.jpeg rename to src/captcha/captchas/VAERS/86fD00.jpeg diff --git a/src/captchas/VAERS/875CFf.jpeg b/src/captcha/captchas/VAERS/875CFf.jpeg similarity index 100% rename from src/captchas/VAERS/875CFf.jpeg rename to src/captcha/captchas/VAERS/875CFf.jpeg diff --git a/src/captchas/VAERS/876D23.jpeg b/src/captcha/captchas/VAERS/876D23.jpeg similarity index 100% rename from src/captchas/VAERS/876D23.jpeg rename to src/captcha/captchas/VAERS/876D23.jpeg diff --git a/src/captchas/VAERS/87d230.jpeg b/src/captcha/captchas/VAERS/87d230.jpeg similarity index 100% rename from src/captchas/VAERS/87d230.jpeg rename to src/captcha/captchas/VAERS/87d230.jpeg diff --git a/src/captchas/VAERS/87d5C5.jpeg b/src/captcha/captchas/VAERS/87d5C5.jpeg similarity index 100% rename from src/captchas/VAERS/87d5C5.jpeg rename to src/captcha/captchas/VAERS/87d5C5.jpeg diff --git a/src/captchas/VAERS/883218.jpeg b/src/captcha/captchas/VAERS/883218.jpeg similarity index 100% rename from src/captchas/VAERS/883218.jpeg rename to src/captcha/captchas/VAERS/883218.jpeg diff --git a/src/captchas/VAERS/88625D.jpeg b/src/captcha/captchas/VAERS/88625D.jpeg similarity index 100% rename from src/captchas/VAERS/88625D.jpeg rename to src/captcha/captchas/VAERS/88625D.jpeg diff --git a/src/captchas/VAERS/896135.jpeg b/src/captcha/captchas/VAERS/896135.jpeg similarity index 100% rename from src/captchas/VAERS/896135.jpeg rename to src/captcha/captchas/VAERS/896135.jpeg diff --git a/src/captchas/VAERS/89728B.jpeg b/src/captcha/captchas/VAERS/89728B.jpeg similarity index 100% rename from src/captchas/VAERS/89728B.jpeg rename to src/captcha/captchas/VAERS/89728B.jpeg diff --git a/src/captchas/VAERS/898B99.jpeg b/src/captcha/captchas/VAERS/898B99.jpeg similarity index 100% rename from src/captchas/VAERS/898B99.jpeg rename to src/captcha/captchas/VAERS/898B99.jpeg diff --git a/src/captchas/VAERS/89A18d.jpeg b/src/captcha/captchas/VAERS/89A18d.jpeg similarity index 100% rename from src/captchas/VAERS/89A18d.jpeg rename to src/captcha/captchas/VAERS/89A18d.jpeg diff --git a/src/captchas/VAERS/89B370.jpeg b/src/captcha/captchas/VAERS/89B370.jpeg similarity index 100% rename from src/captchas/VAERS/89B370.jpeg rename to src/captcha/captchas/VAERS/89B370.jpeg diff --git a/src/captchas/VAERS/8A4C20.jpeg b/src/captcha/captchas/VAERS/8A4C20.jpeg similarity index 100% rename from src/captchas/VAERS/8A4C20.jpeg rename to src/captcha/captchas/VAERS/8A4C20.jpeg diff --git a/src/captchas/VAERS/8A6860.jpeg b/src/captcha/captchas/VAERS/8A6860.jpeg similarity index 100% rename from src/captchas/VAERS/8A6860.jpeg rename to src/captcha/captchas/VAERS/8A6860.jpeg diff --git a/src/captchas/VAERS/8Ace63.jpeg b/src/captcha/captchas/VAERS/8Ace63.jpeg similarity index 100% rename from src/captchas/VAERS/8Ace63.jpeg rename to src/captcha/captchas/VAERS/8Ace63.jpeg diff --git a/src/captchas/VAERS/8BF123.jpeg b/src/captcha/captchas/VAERS/8BF123.jpeg similarity index 100% rename from src/captchas/VAERS/8BF123.jpeg rename to src/captcha/captchas/VAERS/8BF123.jpeg diff --git a/src/captchas/VAERS/8C183a.jpeg b/src/captcha/captchas/VAERS/8C183a.jpeg similarity index 100% rename from src/captchas/VAERS/8C183a.jpeg rename to src/captcha/captchas/VAERS/8C183a.jpeg diff --git a/src/captchas/VAERS/8C9F35.jpeg b/src/captcha/captchas/VAERS/8C9F35.jpeg similarity index 100% rename from src/captchas/VAERS/8C9F35.jpeg rename to src/captcha/captchas/VAERS/8C9F35.jpeg diff --git a/src/captchas/VAERS/8Cfa66.jpeg b/src/captcha/captchas/VAERS/8Cfa66.jpeg similarity index 100% rename from src/captchas/VAERS/8Cfa66.jpeg rename to src/captcha/captchas/VAERS/8Cfa66.jpeg diff --git a/src/captchas/VAERS/8D063d.jpeg b/src/captcha/captchas/VAERS/8D063d.jpeg similarity index 100% rename from src/captchas/VAERS/8D063d.jpeg rename to src/captcha/captchas/VAERS/8D063d.jpeg diff --git a/src/captchas/VAERS/8D09C5.jpeg b/src/captcha/captchas/VAERS/8D09C5.jpeg similarity index 100% rename from src/captchas/VAERS/8D09C5.jpeg rename to src/captcha/captchas/VAERS/8D09C5.jpeg diff --git a/src/captchas/VAERS/8D9b43.jpeg b/src/captcha/captchas/VAERS/8D9b43.jpeg similarity index 100% rename from src/captchas/VAERS/8D9b43.jpeg rename to src/captcha/captchas/VAERS/8D9b43.jpeg diff --git a/src/captchas/VAERS/8E6667.jpeg b/src/captcha/captchas/VAERS/8E6667.jpeg similarity index 100% rename from src/captchas/VAERS/8E6667.jpeg rename to src/captcha/captchas/VAERS/8E6667.jpeg diff --git a/src/captchas/VAERS/8E940c.jpeg b/src/captcha/captchas/VAERS/8E940c.jpeg similarity index 100% rename from src/captchas/VAERS/8E940c.jpeg rename to src/captcha/captchas/VAERS/8E940c.jpeg diff --git a/src/captchas/VAERS/8F98d2.jpeg b/src/captcha/captchas/VAERS/8F98d2.jpeg similarity index 100% rename from src/captchas/VAERS/8F98d2.jpeg rename to src/captcha/captchas/VAERS/8F98d2.jpeg diff --git a/src/captchas/VAERS/8aA904.jpeg b/src/captcha/captchas/VAERS/8aA904.jpeg similarity index 100% rename from src/captchas/VAERS/8aA904.jpeg rename to src/captcha/captchas/VAERS/8aA904.jpeg diff --git a/src/captchas/VAERS/8baF47.jpeg b/src/captcha/captchas/VAERS/8baF47.jpeg similarity index 100% rename from src/captchas/VAERS/8baF47.jpeg rename to src/captcha/captchas/VAERS/8baF47.jpeg diff --git a/src/captchas/VAERS/8eB201.jpeg b/src/captcha/captchas/VAERS/8eB201.jpeg similarity index 100% rename from src/captchas/VAERS/8eB201.jpeg rename to src/captcha/captchas/VAERS/8eB201.jpeg diff --git a/src/captchas/VAERS/8f6e7d.jpeg b/src/captcha/captchas/VAERS/8f6e7d.jpeg similarity index 100% rename from src/captchas/VAERS/8f6e7d.jpeg rename to src/captcha/captchas/VAERS/8f6e7d.jpeg diff --git a/src/captchas/VAERS/8f9538.jpeg b/src/captcha/captchas/VAERS/8f9538.jpeg similarity index 100% rename from src/captchas/VAERS/8f9538.jpeg rename to src/captcha/captchas/VAERS/8f9538.jpeg diff --git a/src/captchas/VAERS/8fA909.jpeg b/src/captcha/captchas/VAERS/8fA909.jpeg similarity index 100% rename from src/captchas/VAERS/8fA909.jpeg rename to src/captcha/captchas/VAERS/8fA909.jpeg diff --git a/src/captchas/VAERS/8fb3f0.jpeg b/src/captcha/captchas/VAERS/8fb3f0.jpeg similarity index 100% rename from src/captchas/VAERS/8fb3f0.jpeg rename to src/captcha/captchas/VAERS/8fb3f0.jpeg diff --git a/src/captchas/VAERS/9055aC.jpeg b/src/captcha/captchas/VAERS/9055aC.jpeg similarity index 100% rename from src/captchas/VAERS/9055aC.jpeg rename to src/captcha/captchas/VAERS/9055aC.jpeg diff --git a/src/captchas/VAERS/906F5A.jpeg b/src/captcha/captchas/VAERS/906F5A.jpeg similarity index 100% rename from src/captchas/VAERS/906F5A.jpeg rename to src/captcha/captchas/VAERS/906F5A.jpeg diff --git a/src/captchas/VAERS/9100e5.jpeg b/src/captcha/captchas/VAERS/9100e5.jpeg similarity index 100% rename from src/captchas/VAERS/9100e5.jpeg rename to src/captcha/captchas/VAERS/9100e5.jpeg diff --git a/src/captchas/VAERS/911B62.jpeg b/src/captcha/captchas/VAERS/911B62.jpeg similarity index 100% rename from src/captchas/VAERS/911B62.jpeg rename to src/captcha/captchas/VAERS/911B62.jpeg diff --git a/src/captchas/VAERS/918D65.jpeg b/src/captcha/captchas/VAERS/918D65.jpeg similarity index 100% rename from src/captchas/VAERS/918D65.jpeg rename to src/captcha/captchas/VAERS/918D65.jpeg diff --git a/src/captchas/VAERS/91D721.jpeg b/src/captcha/captchas/VAERS/91D721.jpeg similarity index 100% rename from src/captchas/VAERS/91D721.jpeg rename to src/captcha/captchas/VAERS/91D721.jpeg diff --git a/src/captchas/VAERS/91Ec11.jpeg b/src/captcha/captchas/VAERS/91Ec11.jpeg similarity index 100% rename from src/captchas/VAERS/91Ec11.jpeg rename to src/captcha/captchas/VAERS/91Ec11.jpeg diff --git a/src/captchas/VAERS/91Ec93.jpeg b/src/captcha/captchas/VAERS/91Ec93.jpeg similarity index 100% rename from src/captchas/VAERS/91Ec93.jpeg rename to src/captcha/captchas/VAERS/91Ec93.jpeg diff --git a/src/captchas/VAERS/920CD9.jpeg b/src/captcha/captchas/VAERS/920CD9.jpeg similarity index 100% rename from src/captchas/VAERS/920CD9.jpeg rename to src/captcha/captchas/VAERS/920CD9.jpeg diff --git a/src/captchas/VAERS/9226E6.jpeg b/src/captcha/captchas/VAERS/9226E6.jpeg similarity index 100% rename from src/captchas/VAERS/9226E6.jpeg rename to src/captcha/captchas/VAERS/9226E6.jpeg diff --git a/src/captchas/VAERS/924C88.jpeg b/src/captcha/captchas/VAERS/924C88.jpeg similarity index 100% rename from src/captchas/VAERS/924C88.jpeg rename to src/captcha/captchas/VAERS/924C88.jpeg diff --git a/src/captchas/VAERS/927a4b.jpeg b/src/captcha/captchas/VAERS/927a4b.jpeg similarity index 100% rename from src/captchas/VAERS/927a4b.jpeg rename to src/captcha/captchas/VAERS/927a4b.jpeg diff --git a/src/captchas/VAERS/93063A.jpeg b/src/captcha/captchas/VAERS/93063A.jpeg similarity index 100% rename from src/captchas/VAERS/93063A.jpeg rename to src/captcha/captchas/VAERS/93063A.jpeg diff --git a/src/captchas/VAERS/9362d2.jpeg b/src/captcha/captchas/VAERS/9362d2.jpeg similarity index 100% rename from src/captchas/VAERS/9362d2.jpeg rename to src/captcha/captchas/VAERS/9362d2.jpeg diff --git a/src/captchas/VAERS/938647.jpeg b/src/captcha/captchas/VAERS/938647.jpeg similarity index 100% rename from src/captchas/VAERS/938647.jpeg rename to src/captcha/captchas/VAERS/938647.jpeg diff --git a/src/captchas/VAERS/9402eA.jpeg b/src/captcha/captchas/VAERS/9402eA.jpeg similarity index 100% rename from src/captchas/VAERS/9402eA.jpeg rename to src/captcha/captchas/VAERS/9402eA.jpeg diff --git a/src/captchas/VAERS/948e72.jpeg b/src/captcha/captchas/VAERS/948e72.jpeg similarity index 100% rename from src/captchas/VAERS/948e72.jpeg rename to src/captcha/captchas/VAERS/948e72.jpeg diff --git a/src/captchas/VAERS/94a1f3.jpeg b/src/captcha/captchas/VAERS/94a1f3.jpeg similarity index 100% rename from src/captchas/VAERS/94a1f3.jpeg rename to src/captcha/captchas/VAERS/94a1f3.jpeg diff --git a/src/captchas/VAERS/94b14E.jpeg b/src/captcha/captchas/VAERS/94b14E.jpeg similarity index 100% rename from src/captchas/VAERS/94b14E.jpeg rename to src/captcha/captchas/VAERS/94b14E.jpeg diff --git a/src/captchas/VAERS/9546a5.jpeg b/src/captcha/captchas/VAERS/9546a5.jpeg similarity index 100% rename from src/captchas/VAERS/9546a5.jpeg rename to src/captcha/captchas/VAERS/9546a5.jpeg diff --git a/src/captchas/VAERS/959275.jpeg b/src/captcha/captchas/VAERS/959275.jpeg similarity index 100% rename from src/captchas/VAERS/959275.jpeg rename to src/captcha/captchas/VAERS/959275.jpeg diff --git a/src/captchas/VAERS/95CCFC.jpeg b/src/captcha/captchas/VAERS/95CCFC.jpeg similarity index 100% rename from src/captchas/VAERS/95CCFC.jpeg rename to src/captcha/captchas/VAERS/95CCFC.jpeg diff --git a/src/captchas/VAERS/95DE63.jpeg b/src/captcha/captchas/VAERS/95DE63.jpeg similarity index 100% rename from src/captchas/VAERS/95DE63.jpeg rename to src/captcha/captchas/VAERS/95DE63.jpeg diff --git a/src/captchas/VAERS/95dCee.jpeg b/src/captcha/captchas/VAERS/95dCee.jpeg similarity index 100% rename from src/captchas/VAERS/95dCee.jpeg rename to src/captcha/captchas/VAERS/95dCee.jpeg diff --git a/src/captchas/VAERS/95ddB4.jpeg b/src/captcha/captchas/VAERS/95ddB4.jpeg similarity index 100% rename from src/captchas/VAERS/95ddB4.jpeg rename to src/captcha/captchas/VAERS/95ddB4.jpeg diff --git a/src/captchas/VAERS/96D818.jpeg b/src/captcha/captchas/VAERS/96D818.jpeg similarity index 100% rename from src/captchas/VAERS/96D818.jpeg rename to src/captcha/captchas/VAERS/96D818.jpeg diff --git a/src/captchas/VAERS/96d72A.jpeg b/src/captcha/captchas/VAERS/96d72A.jpeg similarity index 100% rename from src/captchas/VAERS/96d72A.jpeg rename to src/captcha/captchas/VAERS/96d72A.jpeg diff --git a/src/captchas/VAERS/970567.jpeg b/src/captcha/captchas/VAERS/970567.jpeg similarity index 100% rename from src/captchas/VAERS/970567.jpeg rename to src/captcha/captchas/VAERS/970567.jpeg diff --git a/src/captchas/VAERS/972dd7.jpeg b/src/captcha/captchas/VAERS/972dd7.jpeg similarity index 100% rename from src/captchas/VAERS/972dd7.jpeg rename to src/captcha/captchas/VAERS/972dd7.jpeg diff --git a/src/captchas/VAERS/9733B4.jpeg b/src/captcha/captchas/VAERS/9733B4.jpeg similarity index 100% rename from src/captchas/VAERS/9733B4.jpeg rename to src/captcha/captchas/VAERS/9733B4.jpeg diff --git a/src/captchas/VAERS/97Aee5.jpeg b/src/captcha/captchas/VAERS/97Aee5.jpeg similarity index 100% rename from src/captchas/VAERS/97Aee5.jpeg rename to src/captcha/captchas/VAERS/97Aee5.jpeg diff --git a/src/captchas/VAERS/97C4d4.jpeg b/src/captcha/captchas/VAERS/97C4d4.jpeg similarity index 100% rename from src/captchas/VAERS/97C4d4.jpeg rename to src/captcha/captchas/VAERS/97C4d4.jpeg diff --git a/src/captchas/VAERS/97CA77.jpeg b/src/captcha/captchas/VAERS/97CA77.jpeg similarity index 100% rename from src/captchas/VAERS/97CA77.jpeg rename to src/captcha/captchas/VAERS/97CA77.jpeg diff --git a/src/captchas/VAERS/97CfDD.jpeg b/src/captcha/captchas/VAERS/97CfDD.jpeg similarity index 100% rename from src/captchas/VAERS/97CfDD.jpeg rename to src/captcha/captchas/VAERS/97CfDD.jpeg diff --git a/src/captchas/VAERS/97a857.jpeg b/src/captcha/captchas/VAERS/97a857.jpeg similarity index 100% rename from src/captchas/VAERS/97a857.jpeg rename to src/captcha/captchas/VAERS/97a857.jpeg diff --git a/src/captchas/VAERS/97dF0B.jpeg b/src/captcha/captchas/VAERS/97dF0B.jpeg similarity index 100% rename from src/captchas/VAERS/97dF0B.jpeg rename to src/captcha/captchas/VAERS/97dF0B.jpeg diff --git a/src/captchas/VAERS/97e90f.jpeg b/src/captcha/captchas/VAERS/97e90f.jpeg similarity index 100% rename from src/captchas/VAERS/97e90f.jpeg rename to src/captcha/captchas/VAERS/97e90f.jpeg diff --git a/src/captchas/VAERS/982A4D.jpeg b/src/captcha/captchas/VAERS/982A4D.jpeg similarity index 100% rename from src/captchas/VAERS/982A4D.jpeg rename to src/captcha/captchas/VAERS/982A4D.jpeg diff --git a/src/captchas/VAERS/98439f.jpeg b/src/captcha/captchas/VAERS/98439f.jpeg similarity index 100% rename from src/captchas/VAERS/98439f.jpeg rename to src/captcha/captchas/VAERS/98439f.jpeg diff --git a/src/captchas/VAERS/98BaB5.jpeg b/src/captcha/captchas/VAERS/98BaB5.jpeg similarity index 100% rename from src/captchas/VAERS/98BaB5.jpeg rename to src/captcha/captchas/VAERS/98BaB5.jpeg diff --git a/src/captchas/VAERS/98ca83.jpeg b/src/captcha/captchas/VAERS/98ca83.jpeg similarity index 100% rename from src/captchas/VAERS/98ca83.jpeg rename to src/captcha/captchas/VAERS/98ca83.jpeg diff --git a/src/captchas/VAERS/992373.jpeg b/src/captcha/captchas/VAERS/992373.jpeg similarity index 100% rename from src/captchas/VAERS/992373.jpeg rename to src/captcha/captchas/VAERS/992373.jpeg diff --git a/src/captchas/VAERS/993B83.jpeg b/src/captcha/captchas/VAERS/993B83.jpeg similarity index 100% rename from src/captchas/VAERS/993B83.jpeg rename to src/captcha/captchas/VAERS/993B83.jpeg diff --git a/src/captchas/VAERS/998807.jpeg b/src/captcha/captchas/VAERS/998807.jpeg similarity index 100% rename from src/captchas/VAERS/998807.jpeg rename to src/captcha/captchas/VAERS/998807.jpeg diff --git a/src/captchas/VAERS/9997e0.jpeg b/src/captcha/captchas/VAERS/9997e0.jpeg similarity index 100% rename from src/captchas/VAERS/9997e0.jpeg rename to src/captcha/captchas/VAERS/9997e0.jpeg diff --git a/src/captchas/VAERS/99B648.jpeg b/src/captcha/captchas/VAERS/99B648.jpeg similarity index 100% rename from src/captchas/VAERS/99B648.jpeg rename to src/captcha/captchas/VAERS/99B648.jpeg diff --git a/src/captchas/VAERS/99BF50.jpeg b/src/captcha/captchas/VAERS/99BF50.jpeg similarity index 100% rename from src/captchas/VAERS/99BF50.jpeg rename to src/captcha/captchas/VAERS/99BF50.jpeg diff --git a/src/captchas/VAERS/99C3AD.jpeg b/src/captcha/captchas/VAERS/99C3AD.jpeg similarity index 100% rename from src/captchas/VAERS/99C3AD.jpeg rename to src/captcha/captchas/VAERS/99C3AD.jpeg diff --git a/src/captchas/VAERS/99dB4d.jpeg b/src/captcha/captchas/VAERS/99dB4d.jpeg similarity index 100% rename from src/captchas/VAERS/99dB4d.jpeg rename to src/captcha/captchas/VAERS/99dB4d.jpeg diff --git a/src/captchas/VAERS/9A474F.jpeg b/src/captcha/captchas/VAERS/9A474F.jpeg similarity index 100% rename from src/captchas/VAERS/9A474F.jpeg rename to src/captcha/captchas/VAERS/9A474F.jpeg diff --git a/src/captchas/VAERS/9B30AD.jpeg b/src/captcha/captchas/VAERS/9B30AD.jpeg similarity index 100% rename from src/captchas/VAERS/9B30AD.jpeg rename to src/captcha/captchas/VAERS/9B30AD.jpeg diff --git a/src/captchas/VAERS/9BA8f9.jpeg b/src/captcha/captchas/VAERS/9BA8f9.jpeg similarity index 100% rename from src/captchas/VAERS/9BA8f9.jpeg rename to src/captcha/captchas/VAERS/9BA8f9.jpeg diff --git a/src/captchas/VAERS/9C507e.jpeg b/src/captcha/captchas/VAERS/9C507e.jpeg similarity index 100% rename from src/captchas/VAERS/9C507e.jpeg rename to src/captcha/captchas/VAERS/9C507e.jpeg diff --git a/src/captchas/VAERS/9C5b41.jpeg b/src/captcha/captchas/VAERS/9C5b41.jpeg similarity index 100% rename from src/captchas/VAERS/9C5b41.jpeg rename to src/captcha/captchas/VAERS/9C5b41.jpeg diff --git a/src/captchas/VAERS/9D8e99.jpeg b/src/captcha/captchas/VAERS/9D8e99.jpeg similarity index 100% rename from src/captchas/VAERS/9D8e99.jpeg rename to src/captcha/captchas/VAERS/9D8e99.jpeg diff --git a/src/captchas/VAERS/9E3A85.jpeg b/src/captcha/captchas/VAERS/9E3A85.jpeg similarity index 100% rename from src/captchas/VAERS/9E3A85.jpeg rename to src/captcha/captchas/VAERS/9E3A85.jpeg diff --git a/src/captchas/VAERS/9a6874.jpeg b/src/captcha/captchas/VAERS/9a6874.jpeg similarity index 100% rename from src/captchas/VAERS/9a6874.jpeg rename to src/captcha/captchas/VAERS/9a6874.jpeg diff --git a/src/captchas/VAERS/9aE513.jpeg b/src/captcha/captchas/VAERS/9aE513.jpeg similarity index 100% rename from src/captchas/VAERS/9aE513.jpeg rename to src/captcha/captchas/VAERS/9aE513.jpeg diff --git a/src/captchas/VAERS/9aEad5.jpeg b/src/captcha/captchas/VAERS/9aEad5.jpeg similarity index 100% rename from src/captchas/VAERS/9aEad5.jpeg rename to src/captcha/captchas/VAERS/9aEad5.jpeg diff --git a/src/captchas/VAERS/9dA57D.jpeg b/src/captcha/captchas/VAERS/9dA57D.jpeg similarity index 100% rename from src/captchas/VAERS/9dA57D.jpeg rename to src/captcha/captchas/VAERS/9dA57D.jpeg diff --git a/src/captchas/VAERS/9dd987.jpeg b/src/captcha/captchas/VAERS/9dd987.jpeg similarity index 100% rename from src/captchas/VAERS/9dd987.jpeg rename to src/captcha/captchas/VAERS/9dd987.jpeg diff --git a/src/captchas/VAERS/9e0432.jpeg b/src/captcha/captchas/VAERS/9e0432.jpeg similarity index 100% rename from src/captchas/VAERS/9e0432.jpeg rename to src/captcha/captchas/VAERS/9e0432.jpeg diff --git a/src/captchas/VAERS/9e0D84.jpeg b/src/captcha/captchas/VAERS/9e0D84.jpeg similarity index 100% rename from src/captchas/VAERS/9e0D84.jpeg rename to src/captcha/captchas/VAERS/9e0D84.jpeg diff --git a/src/captchas/VAERS/9e9E55.jpeg b/src/captcha/captchas/VAERS/9e9E55.jpeg similarity index 100% rename from src/captchas/VAERS/9e9E55.jpeg rename to src/captcha/captchas/VAERS/9e9E55.jpeg diff --git a/src/captchas/VAERS/9eb497.jpeg b/src/captcha/captchas/VAERS/9eb497.jpeg similarity index 100% rename from src/captchas/VAERS/9eb497.jpeg rename to src/captcha/captchas/VAERS/9eb497.jpeg diff --git a/src/captchas/VAERS/9f28b9.jpeg b/src/captcha/captchas/VAERS/9f28b9.jpeg similarity index 100% rename from src/captchas/VAERS/9f28b9.jpeg rename to src/captcha/captchas/VAERS/9f28b9.jpeg diff --git a/src/captchas/VAERS/9f604E.jpeg b/src/captcha/captchas/VAERS/9f604E.jpeg similarity index 100% rename from src/captchas/VAERS/9f604E.jpeg rename to src/captcha/captchas/VAERS/9f604E.jpeg diff --git a/src/captchas/VAERS/A01e00.jpeg b/src/captcha/captchas/VAERS/A01e00.jpeg similarity index 100% rename from src/captchas/VAERS/A01e00.jpeg rename to src/captcha/captchas/VAERS/A01e00.jpeg diff --git a/src/captchas/VAERS/A15bA7.jpeg b/src/captcha/captchas/VAERS/A15bA7.jpeg similarity index 100% rename from src/captchas/VAERS/A15bA7.jpeg rename to src/captcha/captchas/VAERS/A15bA7.jpeg diff --git a/src/captchas/VAERS/A17f52.jpeg b/src/captcha/captchas/VAERS/A17f52.jpeg similarity index 100% rename from src/captchas/VAERS/A17f52.jpeg rename to src/captcha/captchas/VAERS/A17f52.jpeg diff --git a/src/captchas/VAERS/A20040.jpeg b/src/captcha/captchas/VAERS/A20040.jpeg similarity index 100% rename from src/captchas/VAERS/A20040.jpeg rename to src/captcha/captchas/VAERS/A20040.jpeg diff --git a/src/captchas/VAERS/A2C82B.jpeg b/src/captcha/captchas/VAERS/A2C82B.jpeg similarity index 100% rename from src/captchas/VAERS/A2C82B.jpeg rename to src/captcha/captchas/VAERS/A2C82B.jpeg diff --git a/src/captchas/VAERS/A2bc0c.jpeg b/src/captcha/captchas/VAERS/A2bc0c.jpeg similarity index 100% rename from src/captchas/VAERS/A2bc0c.jpeg rename to src/captcha/captchas/VAERS/A2bc0c.jpeg diff --git a/src/captchas/VAERS/A3010e.jpeg b/src/captcha/captchas/VAERS/A3010e.jpeg similarity index 100% rename from src/captchas/VAERS/A3010e.jpeg rename to src/captcha/captchas/VAERS/A3010e.jpeg diff --git a/src/captchas/VAERS/A3ab81.jpeg b/src/captcha/captchas/VAERS/A3ab81.jpeg similarity index 100% rename from src/captchas/VAERS/A3ab81.jpeg rename to src/captcha/captchas/VAERS/A3ab81.jpeg diff --git a/src/captchas/VAERS/A41844.jpeg b/src/captcha/captchas/VAERS/A41844.jpeg similarity index 100% rename from src/captchas/VAERS/A41844.jpeg rename to src/captcha/captchas/VAERS/A41844.jpeg diff --git a/src/captchas/VAERS/A4184C.jpeg b/src/captcha/captchas/VAERS/A4184C.jpeg similarity index 100% rename from src/captchas/VAERS/A4184C.jpeg rename to src/captcha/captchas/VAERS/A4184C.jpeg diff --git a/src/captchas/VAERS/A42721.jpeg b/src/captcha/captchas/VAERS/A42721.jpeg similarity index 100% rename from src/captchas/VAERS/A42721.jpeg rename to src/captcha/captchas/VAERS/A42721.jpeg diff --git a/src/captchas/VAERS/A4847B.jpeg b/src/captcha/captchas/VAERS/A4847B.jpeg similarity index 100% rename from src/captchas/VAERS/A4847B.jpeg rename to src/captcha/captchas/VAERS/A4847B.jpeg diff --git a/src/captchas/VAERS/A4eaaC.jpeg b/src/captcha/captchas/VAERS/A4eaaC.jpeg similarity index 100% rename from src/captchas/VAERS/A4eaaC.jpeg rename to src/captcha/captchas/VAERS/A4eaaC.jpeg diff --git a/src/captchas/VAERS/A543C5.jpeg b/src/captcha/captchas/VAERS/A543C5.jpeg similarity index 100% rename from src/captchas/VAERS/A543C5.jpeg rename to src/captcha/captchas/VAERS/A543C5.jpeg diff --git a/src/captchas/VAERS/A58A9d.jpeg b/src/captcha/captchas/VAERS/A58A9d.jpeg similarity index 100% rename from src/captchas/VAERS/A58A9d.jpeg rename to src/captcha/captchas/VAERS/A58A9d.jpeg diff --git a/src/captchas/VAERS/A591E2.jpeg b/src/captcha/captchas/VAERS/A591E2.jpeg similarity index 100% rename from src/captchas/VAERS/A591E2.jpeg rename to src/captcha/captchas/VAERS/A591E2.jpeg diff --git a/src/captchas/VAERS/A5D8FC.jpeg b/src/captcha/captchas/VAERS/A5D8FC.jpeg similarity index 100% rename from src/captchas/VAERS/A5D8FC.jpeg rename to src/captcha/captchas/VAERS/A5D8FC.jpeg diff --git a/src/captchas/VAERS/A6E75a.jpeg b/src/captcha/captchas/VAERS/A6E75a.jpeg similarity index 100% rename from src/captchas/VAERS/A6E75a.jpeg rename to src/captcha/captchas/VAERS/A6E75a.jpeg diff --git a/src/captchas/VAERS/A71c91.jpeg b/src/captcha/captchas/VAERS/A71c91.jpeg similarity index 100% rename from src/captchas/VAERS/A71c91.jpeg rename to src/captcha/captchas/VAERS/A71c91.jpeg diff --git a/src/captchas/VAERS/A7431c.jpeg b/src/captcha/captchas/VAERS/A7431c.jpeg similarity index 100% rename from src/captchas/VAERS/A7431c.jpeg rename to src/captcha/captchas/VAERS/A7431c.jpeg diff --git a/src/captchas/VAERS/A7a470.jpeg b/src/captcha/captchas/VAERS/A7a470.jpeg similarity index 100% rename from src/captchas/VAERS/A7a470.jpeg rename to src/captcha/captchas/VAERS/A7a470.jpeg diff --git a/src/captchas/VAERS/A8D7F4.jpeg b/src/captcha/captchas/VAERS/A8D7F4.jpeg similarity index 100% rename from src/captchas/VAERS/A8D7F4.jpeg rename to src/captcha/captchas/VAERS/A8D7F4.jpeg diff --git a/src/captchas/VAERS/A8a296.jpeg b/src/captcha/captchas/VAERS/A8a296.jpeg similarity index 100% rename from src/captchas/VAERS/A8a296.jpeg rename to src/captcha/captchas/VAERS/A8a296.jpeg diff --git a/src/captchas/VAERS/A91d98.jpeg b/src/captcha/captchas/VAERS/A91d98.jpeg similarity index 100% rename from src/captchas/VAERS/A91d98.jpeg rename to src/captcha/captchas/VAERS/A91d98.jpeg diff --git a/src/captchas/VAERS/A94Ebf.jpeg b/src/captcha/captchas/VAERS/A94Ebf.jpeg similarity index 100% rename from src/captchas/VAERS/A94Ebf.jpeg rename to src/captcha/captchas/VAERS/A94Ebf.jpeg diff --git a/src/captchas/VAERS/AA35c9.jpeg b/src/captcha/captchas/VAERS/AA35c9.jpeg similarity index 100% rename from src/captchas/VAERS/AA35c9.jpeg rename to src/captcha/captchas/VAERS/AA35c9.jpeg diff --git a/src/captchas/VAERS/ABE158.jpeg b/src/captcha/captchas/VAERS/ABE158.jpeg similarity index 100% rename from src/captchas/VAERS/ABE158.jpeg rename to src/captcha/captchas/VAERS/ABE158.jpeg diff --git a/src/captchas/VAERS/AD3b90.jpeg b/src/captcha/captchas/VAERS/AD3b90.jpeg similarity index 100% rename from src/captchas/VAERS/AD3b90.jpeg rename to src/captcha/captchas/VAERS/AD3b90.jpeg diff --git a/src/captchas/VAERS/AD6612.jpeg b/src/captcha/captchas/VAERS/AD6612.jpeg similarity index 100% rename from src/captchas/VAERS/AD6612.jpeg rename to src/captcha/captchas/VAERS/AD6612.jpeg diff --git a/src/captchas/VAERS/AF6956.jpeg b/src/captcha/captchas/VAERS/AF6956.jpeg similarity index 100% rename from src/captchas/VAERS/AF6956.jpeg rename to src/captcha/captchas/VAERS/AF6956.jpeg diff --git a/src/captchas/VAERS/AF9187.jpeg b/src/captcha/captchas/VAERS/AF9187.jpeg similarity index 100% rename from src/captchas/VAERS/AF9187.jpeg rename to src/captcha/captchas/VAERS/AF9187.jpeg diff --git a/src/captchas/VAERS/Aa52b1.jpeg b/src/captcha/captchas/VAERS/Aa52b1.jpeg similarity index 100% rename from src/captchas/VAERS/Aa52b1.jpeg rename to src/captcha/captchas/VAERS/Aa52b1.jpeg diff --git a/src/captchas/VAERS/Ab5f31.jpeg b/src/captcha/captchas/VAERS/Ab5f31.jpeg similarity index 100% rename from src/captchas/VAERS/Ab5f31.jpeg rename to src/captcha/captchas/VAERS/Ab5f31.jpeg diff --git a/src/captchas/VAERS/Ab6cA6.jpeg b/src/captcha/captchas/VAERS/Ab6cA6.jpeg similarity index 100% rename from src/captchas/VAERS/Ab6cA6.jpeg rename to src/captcha/captchas/VAERS/Ab6cA6.jpeg diff --git a/src/captchas/VAERS/Abb3e4.jpeg b/src/captcha/captchas/VAERS/Abb3e4.jpeg similarity index 100% rename from src/captchas/VAERS/Abb3e4.jpeg rename to src/captcha/captchas/VAERS/Abb3e4.jpeg diff --git a/src/captchas/VAERS/Ad1cf2.jpeg b/src/captcha/captchas/VAERS/Ad1cf2.jpeg similarity index 100% rename from src/captchas/VAERS/Ad1cf2.jpeg rename to src/captcha/captchas/VAERS/Ad1cf2.jpeg diff --git a/src/captchas/VAERS/Ad4180.jpeg b/src/captcha/captchas/VAERS/Ad4180.jpeg similarity index 100% rename from src/captchas/VAERS/Ad4180.jpeg rename to src/captcha/captchas/VAERS/Ad4180.jpeg diff --git a/src/captchas/VAERS/Ad6017.jpeg b/src/captcha/captchas/VAERS/Ad6017.jpeg similarity index 100% rename from src/captchas/VAERS/Ad6017.jpeg rename to src/captcha/captchas/VAERS/Ad6017.jpeg diff --git a/src/captchas/VAERS/Ae0353.jpeg b/src/captcha/captchas/VAERS/Ae0353.jpeg similarity index 100% rename from src/captchas/VAERS/Ae0353.jpeg rename to src/captcha/captchas/VAERS/Ae0353.jpeg diff --git a/src/captchas/VAERS/Af33f8.jpeg b/src/captcha/captchas/VAERS/Af33f8.jpeg similarity index 100% rename from src/captchas/VAERS/Af33f8.jpeg rename to src/captcha/captchas/VAERS/Af33f8.jpeg diff --git a/src/captchas/VAERS/B0510C.jpeg b/src/captcha/captchas/VAERS/B0510C.jpeg similarity index 100% rename from src/captchas/VAERS/B0510C.jpeg rename to src/captcha/captchas/VAERS/B0510C.jpeg diff --git a/src/captchas/VAERS/B1119e.jpeg b/src/captcha/captchas/VAERS/B1119e.jpeg similarity index 100% rename from src/captchas/VAERS/B1119e.jpeg rename to src/captcha/captchas/VAERS/B1119e.jpeg diff --git a/src/captchas/VAERS/B2146A.jpeg b/src/captcha/captchas/VAERS/B2146A.jpeg similarity index 100% rename from src/captchas/VAERS/B2146A.jpeg rename to src/captcha/captchas/VAERS/B2146A.jpeg diff --git a/src/captchas/VAERS/B2bC5F.jpeg b/src/captcha/captchas/VAERS/B2bC5F.jpeg similarity index 100% rename from src/captchas/VAERS/B2bC5F.jpeg rename to src/captcha/captchas/VAERS/B2bC5F.jpeg diff --git a/src/captchas/VAERS/B4d3EA.jpeg b/src/captcha/captchas/VAERS/B4d3EA.jpeg similarity index 100% rename from src/captchas/VAERS/B4d3EA.jpeg rename to src/captcha/captchas/VAERS/B4d3EA.jpeg diff --git a/src/captchas/VAERS/B540e4.jpeg b/src/captcha/captchas/VAERS/B540e4.jpeg similarity index 100% rename from src/captchas/VAERS/B540e4.jpeg rename to src/captcha/captchas/VAERS/B540e4.jpeg diff --git a/src/captchas/VAERS/B5E334.jpeg b/src/captcha/captchas/VAERS/B5E334.jpeg similarity index 100% rename from src/captchas/VAERS/B5E334.jpeg rename to src/captcha/captchas/VAERS/B5E334.jpeg diff --git a/src/captchas/VAERS/B637Cc.jpeg b/src/captcha/captchas/VAERS/B637Cc.jpeg similarity index 100% rename from src/captchas/VAERS/B637Cc.jpeg rename to src/captcha/captchas/VAERS/B637Cc.jpeg diff --git a/src/captchas/VAERS/B65343.jpeg b/src/captcha/captchas/VAERS/B65343.jpeg similarity index 100% rename from src/captchas/VAERS/B65343.jpeg rename to src/captcha/captchas/VAERS/B65343.jpeg diff --git a/src/captchas/VAERS/B661D8.jpeg b/src/captcha/captchas/VAERS/B661D8.jpeg similarity index 100% rename from src/captchas/VAERS/B661D8.jpeg rename to src/captcha/captchas/VAERS/B661D8.jpeg diff --git a/src/captchas/VAERS/B77D09.jpeg b/src/captcha/captchas/VAERS/B77D09.jpeg similarity index 100% rename from src/captchas/VAERS/B77D09.jpeg rename to src/captcha/captchas/VAERS/B77D09.jpeg diff --git a/src/captchas/VAERS/B817d4.jpeg b/src/captcha/captchas/VAERS/B817d4.jpeg similarity index 100% rename from src/captchas/VAERS/B817d4.jpeg rename to src/captcha/captchas/VAERS/B817d4.jpeg diff --git a/src/captchas/VAERS/B86606.jpeg b/src/captcha/captchas/VAERS/B86606.jpeg similarity index 100% rename from src/captchas/VAERS/B86606.jpeg rename to src/captcha/captchas/VAERS/B86606.jpeg diff --git a/src/captchas/VAERS/B8A05a.jpeg b/src/captcha/captchas/VAERS/B8A05a.jpeg similarity index 100% rename from src/captchas/VAERS/B8A05a.jpeg rename to src/captcha/captchas/VAERS/B8A05a.jpeg diff --git a/src/captchas/VAERS/B8de16.jpeg b/src/captcha/captchas/VAERS/B8de16.jpeg similarity index 100% rename from src/captchas/VAERS/B8de16.jpeg rename to src/captcha/captchas/VAERS/B8de16.jpeg diff --git a/src/captchas/VAERS/B9C7ec.jpeg b/src/captcha/captchas/VAERS/B9C7ec.jpeg similarity index 100% rename from src/captchas/VAERS/B9C7ec.jpeg rename to src/captcha/captchas/VAERS/B9C7ec.jpeg diff --git a/src/captchas/VAERS/BB029A.jpeg b/src/captcha/captchas/VAERS/BB029A.jpeg similarity index 100% rename from src/captchas/VAERS/BB029A.jpeg rename to src/captcha/captchas/VAERS/BB029A.jpeg diff --git a/src/captchas/VAERS/BB557d.jpeg b/src/captcha/captchas/VAERS/BB557d.jpeg similarity index 100% rename from src/captchas/VAERS/BB557d.jpeg rename to src/captcha/captchas/VAERS/BB557d.jpeg diff --git a/src/captchas/VAERS/BC3D52.jpeg b/src/captcha/captchas/VAERS/BC3D52.jpeg similarity index 100% rename from src/captchas/VAERS/BC3D52.jpeg rename to src/captcha/captchas/VAERS/BC3D52.jpeg diff --git a/src/captchas/VAERS/BD8fb5.jpeg b/src/captcha/captchas/VAERS/BD8fb5.jpeg similarity index 100% rename from src/captchas/VAERS/BD8fb5.jpeg rename to src/captcha/captchas/VAERS/BD8fb5.jpeg diff --git a/src/captchas/VAERS/BE3b50.jpeg b/src/captcha/captchas/VAERS/BE3b50.jpeg similarity index 100% rename from src/captchas/VAERS/BE3b50.jpeg rename to src/captcha/captchas/VAERS/BE3b50.jpeg diff --git a/src/captchas/VAERS/BF1aEb.jpeg b/src/captcha/captchas/VAERS/BF1aEb.jpeg similarity index 100% rename from src/captchas/VAERS/BF1aEb.jpeg rename to src/captcha/captchas/VAERS/BF1aEb.jpeg diff --git a/src/captchas/VAERS/Bb3077.jpeg b/src/captcha/captchas/VAERS/Bb3077.jpeg similarity index 100% rename from src/captchas/VAERS/Bb3077.jpeg rename to src/captcha/captchas/VAERS/Bb3077.jpeg diff --git a/src/captchas/VAERS/Bb6CF8.jpeg b/src/captcha/captchas/VAERS/Bb6CF8.jpeg similarity index 100% rename from src/captchas/VAERS/Bb6CF8.jpeg rename to src/captcha/captchas/VAERS/Bb6CF8.jpeg diff --git a/src/captchas/VAERS/Bba596.jpeg b/src/captcha/captchas/VAERS/Bba596.jpeg similarity index 100% rename from src/captchas/VAERS/Bba596.jpeg rename to src/captcha/captchas/VAERS/Bba596.jpeg diff --git a/src/captchas/VAERS/Bc1a18.jpeg b/src/captcha/captchas/VAERS/Bc1a18.jpeg similarity index 100% rename from src/captchas/VAERS/Bc1a18.jpeg rename to src/captcha/captchas/VAERS/Bc1a18.jpeg diff --git a/src/captchas/VAERS/BcC969.jpeg b/src/captcha/captchas/VAERS/BcC969.jpeg similarity index 100% rename from src/captchas/VAERS/BcC969.jpeg rename to src/captcha/captchas/VAERS/BcC969.jpeg diff --git a/src/captchas/VAERS/Bd8e94.jpeg b/src/captcha/captchas/VAERS/Bd8e94.jpeg similarity index 100% rename from src/captchas/VAERS/Bd8e94.jpeg rename to src/captcha/captchas/VAERS/Bd8e94.jpeg diff --git a/src/captchas/VAERS/BdE93C.jpeg b/src/captcha/captchas/VAERS/BdE93C.jpeg similarity index 100% rename from src/captchas/VAERS/BdE93C.jpeg rename to src/captcha/captchas/VAERS/BdE93C.jpeg diff --git a/src/captchas/VAERS/C0919C.jpeg b/src/captcha/captchas/VAERS/C0919C.jpeg similarity index 100% rename from src/captchas/VAERS/C0919C.jpeg rename to src/captcha/captchas/VAERS/C0919C.jpeg diff --git a/src/captchas/VAERS/C25b65.jpeg b/src/captcha/captchas/VAERS/C25b65.jpeg similarity index 100% rename from src/captchas/VAERS/C25b65.jpeg rename to src/captcha/captchas/VAERS/C25b65.jpeg diff --git a/src/captchas/VAERS/C2F8Cd.jpeg b/src/captcha/captchas/VAERS/C2F8Cd.jpeg similarity index 100% rename from src/captchas/VAERS/C2F8Cd.jpeg rename to src/captcha/captchas/VAERS/C2F8Cd.jpeg diff --git a/src/captchas/VAERS/C44E6f.jpeg b/src/captcha/captchas/VAERS/C44E6f.jpeg similarity index 100% rename from src/captchas/VAERS/C44E6f.jpeg rename to src/captcha/captchas/VAERS/C44E6f.jpeg diff --git a/src/captchas/VAERS/C59F12.jpeg b/src/captcha/captchas/VAERS/C59F12.jpeg similarity index 100% rename from src/captchas/VAERS/C59F12.jpeg rename to src/captcha/captchas/VAERS/C59F12.jpeg diff --git a/src/captchas/VAERS/C59f85.jpeg b/src/captcha/captchas/VAERS/C59f85.jpeg similarity index 100% rename from src/captchas/VAERS/C59f85.jpeg rename to src/captcha/captchas/VAERS/C59f85.jpeg diff --git a/src/captchas/VAERS/C5ff14.jpeg b/src/captcha/captchas/VAERS/C5ff14.jpeg similarity index 100% rename from src/captchas/VAERS/C5ff14.jpeg rename to src/captcha/captchas/VAERS/C5ff14.jpeg diff --git a/src/captchas/VAERS/C66a20.jpeg b/src/captcha/captchas/VAERS/C66a20.jpeg similarity index 100% rename from src/captchas/VAERS/C66a20.jpeg rename to src/captcha/captchas/VAERS/C66a20.jpeg diff --git a/src/captchas/VAERS/C671Aa.jpeg b/src/captcha/captchas/VAERS/C671Aa.jpeg similarity index 100% rename from src/captchas/VAERS/C671Aa.jpeg rename to src/captcha/captchas/VAERS/C671Aa.jpeg diff --git a/src/captchas/VAERS/C6D072.jpeg b/src/captcha/captchas/VAERS/C6D072.jpeg similarity index 100% rename from src/captchas/VAERS/C6D072.jpeg rename to src/captcha/captchas/VAERS/C6D072.jpeg diff --git a/src/captchas/VAERS/C70584.jpeg b/src/captcha/captchas/VAERS/C70584.jpeg similarity index 100% rename from src/captchas/VAERS/C70584.jpeg rename to src/captcha/captchas/VAERS/C70584.jpeg diff --git a/src/captchas/VAERS/C70Dc1.jpeg b/src/captcha/captchas/VAERS/C70Dc1.jpeg similarity index 100% rename from src/captchas/VAERS/C70Dc1.jpeg rename to src/captcha/captchas/VAERS/C70Dc1.jpeg diff --git a/src/captchas/VAERS/C86D2C.jpeg b/src/captcha/captchas/VAERS/C86D2C.jpeg similarity index 100% rename from src/captchas/VAERS/C86D2C.jpeg rename to src/captcha/captchas/VAERS/C86D2C.jpeg diff --git a/src/captchas/VAERS/C88A4b.jpeg b/src/captcha/captchas/VAERS/C88A4b.jpeg similarity index 100% rename from src/captchas/VAERS/C88A4b.jpeg rename to src/captcha/captchas/VAERS/C88A4b.jpeg diff --git a/src/captchas/VAERS/C9046d.jpeg b/src/captcha/captchas/VAERS/C9046d.jpeg similarity index 100% rename from src/captchas/VAERS/C9046d.jpeg rename to src/captcha/captchas/VAERS/C9046d.jpeg diff --git a/src/captchas/VAERS/C9fc80.jpeg b/src/captcha/captchas/VAERS/C9fc80.jpeg similarity index 100% rename from src/captchas/VAERS/C9fc80.jpeg rename to src/captcha/captchas/VAERS/C9fc80.jpeg diff --git a/src/captchas/VAERS/CAE46D.jpeg b/src/captcha/captchas/VAERS/CAE46D.jpeg similarity index 100% rename from src/captchas/VAERS/CAE46D.jpeg rename to src/captcha/captchas/VAERS/CAE46D.jpeg diff --git a/src/captchas/VAERS/CC6011.jpeg b/src/captcha/captchas/VAERS/CC6011.jpeg similarity index 100% rename from src/captchas/VAERS/CC6011.jpeg rename to src/captcha/captchas/VAERS/CC6011.jpeg diff --git a/src/captchas/VAERS/CD5b86.jpeg b/src/captcha/captchas/VAERS/CD5b86.jpeg similarity index 100% rename from src/captchas/VAERS/CD5b86.jpeg rename to src/captcha/captchas/VAERS/CD5b86.jpeg diff --git a/src/captchas/VAERS/CDd014.jpeg b/src/captcha/captchas/VAERS/CDd014.jpeg similarity index 100% rename from src/captchas/VAERS/CDd014.jpeg rename to src/captcha/captchas/VAERS/CDd014.jpeg diff --git a/src/captchas/VAERS/CF2Aeb.jpeg b/src/captcha/captchas/VAERS/CF2Aeb.jpeg similarity index 100% rename from src/captchas/VAERS/CF2Aeb.jpeg rename to src/captcha/captchas/VAERS/CF2Aeb.jpeg diff --git a/src/captchas/VAERS/CF34A4.jpeg b/src/captcha/captchas/VAERS/CF34A4.jpeg similarity index 100% rename from src/captchas/VAERS/CF34A4.jpeg rename to src/captcha/captchas/VAERS/CF34A4.jpeg diff --git a/src/captchas/VAERS/Ca0fEB.jpeg b/src/captcha/captchas/VAERS/Ca0fEB.jpeg similarity index 100% rename from src/captchas/VAERS/Ca0fEB.jpeg rename to src/captcha/captchas/VAERS/Ca0fEB.jpeg diff --git a/src/captchas/VAERS/Cb13f3.jpeg b/src/captcha/captchas/VAERS/Cb13f3.jpeg similarity index 100% rename from src/captchas/VAERS/Cb13f3.jpeg rename to src/captcha/captchas/VAERS/Cb13f3.jpeg diff --git a/src/captchas/VAERS/Cd3cFC.jpeg b/src/captcha/captchas/VAERS/Cd3cFC.jpeg similarity index 100% rename from src/captchas/VAERS/Cd3cFC.jpeg rename to src/captcha/captchas/VAERS/Cd3cFC.jpeg diff --git a/src/captchas/VAERS/Ce0425.jpeg b/src/captcha/captchas/VAERS/Ce0425.jpeg similarity index 100% rename from src/captchas/VAERS/Ce0425.jpeg rename to src/captcha/captchas/VAERS/Ce0425.jpeg diff --git a/src/captchas/VAERS/Cf7e14.jpeg b/src/captcha/captchas/VAERS/Cf7e14.jpeg similarity index 100% rename from src/captchas/VAERS/Cf7e14.jpeg rename to src/captcha/captchas/VAERS/Cf7e14.jpeg diff --git a/src/captchas/VAERS/D05287.jpeg b/src/captcha/captchas/VAERS/D05287.jpeg similarity index 100% rename from src/captchas/VAERS/D05287.jpeg rename to src/captcha/captchas/VAERS/D05287.jpeg diff --git a/src/captchas/VAERS/D0E3F3.jpeg b/src/captcha/captchas/VAERS/D0E3F3.jpeg similarity index 100% rename from src/captchas/VAERS/D0E3F3.jpeg rename to src/captcha/captchas/VAERS/D0E3F3.jpeg diff --git a/src/captchas/VAERS/D0cBdB.jpeg b/src/captcha/captchas/VAERS/D0cBdB.jpeg similarity index 100% rename from src/captchas/VAERS/D0cBdB.jpeg rename to src/captcha/captchas/VAERS/D0cBdB.jpeg diff --git a/src/captchas/VAERS/D0e041.jpeg b/src/captcha/captchas/VAERS/D0e041.jpeg similarity index 100% rename from src/captchas/VAERS/D0e041.jpeg rename to src/captcha/captchas/VAERS/D0e041.jpeg diff --git a/src/captchas/VAERS/D15e55.jpeg b/src/captcha/captchas/VAERS/D15e55.jpeg similarity index 100% rename from src/captchas/VAERS/D15e55.jpeg rename to src/captcha/captchas/VAERS/D15e55.jpeg diff --git a/src/captchas/VAERS/D1e319.jpeg b/src/captcha/captchas/VAERS/D1e319.jpeg similarity index 100% rename from src/captchas/VAERS/D1e319.jpeg rename to src/captcha/captchas/VAERS/D1e319.jpeg diff --git a/src/captchas/VAERS/D383A1.jpeg b/src/captcha/captchas/VAERS/D383A1.jpeg similarity index 100% rename from src/captchas/VAERS/D383A1.jpeg rename to src/captcha/captchas/VAERS/D383A1.jpeg diff --git a/src/captchas/VAERS/D3A061.jpeg b/src/captcha/captchas/VAERS/D3A061.jpeg similarity index 100% rename from src/captchas/VAERS/D3A061.jpeg rename to src/captcha/captchas/VAERS/D3A061.jpeg diff --git a/src/captchas/VAERS/D3F411.jpeg b/src/captcha/captchas/VAERS/D3F411.jpeg similarity index 100% rename from src/captchas/VAERS/D3F411.jpeg rename to src/captcha/captchas/VAERS/D3F411.jpeg diff --git a/src/captchas/VAERS/D3b9D4.jpeg b/src/captcha/captchas/VAERS/D3b9D4.jpeg similarity index 100% rename from src/captchas/VAERS/D3b9D4.jpeg rename to src/captcha/captchas/VAERS/D3b9D4.jpeg diff --git a/src/captchas/VAERS/D3e2e9.jpeg b/src/captcha/captchas/VAERS/D3e2e9.jpeg similarity index 100% rename from src/captchas/VAERS/D3e2e9.jpeg rename to src/captcha/captchas/VAERS/D3e2e9.jpeg diff --git a/src/captchas/VAERS/D464C3.jpeg b/src/captcha/captchas/VAERS/D464C3.jpeg similarity index 100% rename from src/captchas/VAERS/D464C3.jpeg rename to src/captcha/captchas/VAERS/D464C3.jpeg diff --git a/src/captchas/VAERS/D487c8.jpeg b/src/captcha/captchas/VAERS/D487c8.jpeg similarity index 100% rename from src/captchas/VAERS/D487c8.jpeg rename to src/captcha/captchas/VAERS/D487c8.jpeg diff --git a/src/captchas/VAERS/D4F237.jpeg b/src/captcha/captchas/VAERS/D4F237.jpeg similarity index 100% rename from src/captchas/VAERS/D4F237.jpeg rename to src/captcha/captchas/VAERS/D4F237.jpeg diff --git a/src/captchas/VAERS/D4aa57.jpeg b/src/captcha/captchas/VAERS/D4aa57.jpeg similarity index 100% rename from src/captchas/VAERS/D4aa57.jpeg rename to src/captcha/captchas/VAERS/D4aa57.jpeg diff --git a/src/captchas/VAERS/D56384.jpeg b/src/captcha/captchas/VAERS/D56384.jpeg similarity index 100% rename from src/captchas/VAERS/D56384.jpeg rename to src/captcha/captchas/VAERS/D56384.jpeg diff --git a/src/captchas/VAERS/D56d44.jpeg b/src/captcha/captchas/VAERS/D56d44.jpeg similarity index 100% rename from src/captchas/VAERS/D56d44.jpeg rename to src/captcha/captchas/VAERS/D56d44.jpeg diff --git a/src/captchas/VAERS/D58Bc1.jpeg b/src/captcha/captchas/VAERS/D58Bc1.jpeg similarity index 100% rename from src/captchas/VAERS/D58Bc1.jpeg rename to src/captcha/captchas/VAERS/D58Bc1.jpeg diff --git a/src/captchas/VAERS/D5a364.jpeg b/src/captcha/captchas/VAERS/D5a364.jpeg similarity index 100% rename from src/captchas/VAERS/D5a364.jpeg rename to src/captcha/captchas/VAERS/D5a364.jpeg diff --git a/src/captchas/VAERS/D6140c.jpeg b/src/captcha/captchas/VAERS/D6140c.jpeg similarity index 100% rename from src/captchas/VAERS/D6140c.jpeg rename to src/captcha/captchas/VAERS/D6140c.jpeg diff --git a/src/captchas/VAERS/D62D67.jpeg b/src/captcha/captchas/VAERS/D62D67.jpeg similarity index 100% rename from src/captchas/VAERS/D62D67.jpeg rename to src/captcha/captchas/VAERS/D62D67.jpeg diff --git a/src/captchas/VAERS/D6481B.jpeg b/src/captcha/captchas/VAERS/D6481B.jpeg similarity index 100% rename from src/captchas/VAERS/D6481B.jpeg rename to src/captcha/captchas/VAERS/D6481B.jpeg diff --git a/src/captchas/VAERS/D6719c.jpeg b/src/captcha/captchas/VAERS/D6719c.jpeg similarity index 100% rename from src/captchas/VAERS/D6719c.jpeg rename to src/captcha/captchas/VAERS/D6719c.jpeg diff --git a/src/captchas/VAERS/D67F57.jpeg b/src/captcha/captchas/VAERS/D67F57.jpeg similarity index 100% rename from src/captchas/VAERS/D67F57.jpeg rename to src/captcha/captchas/VAERS/D67F57.jpeg diff --git a/src/captchas/VAERS/D7918D.jpeg b/src/captcha/captchas/VAERS/D7918D.jpeg similarity index 100% rename from src/captchas/VAERS/D7918D.jpeg rename to src/captcha/captchas/VAERS/D7918D.jpeg diff --git a/src/captchas/VAERS/D7d67F.jpeg b/src/captcha/captchas/VAERS/D7d67F.jpeg similarity index 100% rename from src/captchas/VAERS/D7d67F.jpeg rename to src/captcha/captchas/VAERS/D7d67F.jpeg diff --git a/src/captchas/VAERS/D83d9A.jpeg b/src/captcha/captchas/VAERS/D83d9A.jpeg similarity index 100% rename from src/captchas/VAERS/D83d9A.jpeg rename to src/captcha/captchas/VAERS/D83d9A.jpeg diff --git a/src/captchas/VAERS/D85dDd.jpeg b/src/captcha/captchas/VAERS/D85dDd.jpeg similarity index 100% rename from src/captchas/VAERS/D85dDd.jpeg rename to src/captcha/captchas/VAERS/D85dDd.jpeg diff --git a/src/captchas/VAERS/DA3d04.jpeg b/src/captcha/captchas/VAERS/DA3d04.jpeg similarity index 100% rename from src/captchas/VAERS/DA3d04.jpeg rename to src/captcha/captchas/VAERS/DA3d04.jpeg diff --git a/src/captchas/VAERS/DAf52f.jpeg b/src/captcha/captchas/VAERS/DAf52f.jpeg similarity index 100% rename from src/captchas/VAERS/DAf52f.jpeg rename to src/captcha/captchas/VAERS/DAf52f.jpeg diff --git a/src/captchas/VAERS/DB3366.jpeg b/src/captcha/captchas/VAERS/DB3366.jpeg similarity index 100% rename from src/captchas/VAERS/DB3366.jpeg rename to src/captcha/captchas/VAERS/DB3366.jpeg diff --git a/src/captchas/VAERS/DB88A8.jpeg b/src/captcha/captchas/VAERS/DB88A8.jpeg similarity index 100% rename from src/captchas/VAERS/DB88A8.jpeg rename to src/captcha/captchas/VAERS/DB88A8.jpeg diff --git a/src/captchas/VAERS/DE102f.jpeg b/src/captcha/captchas/VAERS/DE102f.jpeg similarity index 100% rename from src/captchas/VAERS/DE102f.jpeg rename to src/captcha/captchas/VAERS/DE102f.jpeg diff --git a/src/captchas/VAERS/DE879d.jpeg b/src/captcha/captchas/VAERS/DE879d.jpeg similarity index 100% rename from src/captchas/VAERS/DE879d.jpeg rename to src/captcha/captchas/VAERS/DE879d.jpeg diff --git a/src/captchas/VAERS/DEF6C6.jpeg b/src/captcha/captchas/VAERS/DEF6C6.jpeg similarity index 100% rename from src/captchas/VAERS/DEF6C6.jpeg rename to src/captcha/captchas/VAERS/DEF6C6.jpeg diff --git a/src/captchas/VAERS/DEd450.jpeg b/src/captcha/captchas/VAERS/DEd450.jpeg similarity index 100% rename from src/captchas/VAERS/DEd450.jpeg rename to src/captcha/captchas/VAERS/DEd450.jpeg diff --git a/src/captchas/VAERS/Da8B80.jpeg b/src/captcha/captchas/VAERS/Da8B80.jpeg similarity index 100% rename from src/captchas/VAERS/Da8B80.jpeg rename to src/captcha/captchas/VAERS/Da8B80.jpeg diff --git a/src/captchas/VAERS/Db393B.jpeg b/src/captcha/captchas/VAERS/Db393B.jpeg similarity index 100% rename from src/captchas/VAERS/Db393B.jpeg rename to src/captcha/captchas/VAERS/Db393B.jpeg diff --git a/src/captchas/VAERS/DbaF33.jpeg b/src/captcha/captchas/VAERS/DbaF33.jpeg similarity index 100% rename from src/captchas/VAERS/DbaF33.jpeg rename to src/captcha/captchas/VAERS/DbaF33.jpeg diff --git a/src/captchas/VAERS/Dc5C76.jpeg b/src/captcha/captchas/VAERS/Dc5C76.jpeg similarity index 100% rename from src/captchas/VAERS/Dc5C76.jpeg rename to src/captcha/captchas/VAERS/Dc5C76.jpeg diff --git a/src/captchas/VAERS/Dc6fae.jpeg b/src/captcha/captchas/VAERS/Dc6fae.jpeg similarity index 100% rename from src/captchas/VAERS/Dc6fae.jpeg rename to src/captcha/captchas/VAERS/Dc6fae.jpeg diff --git a/src/captchas/VAERS/Dc9c8b.jpeg b/src/captcha/captchas/VAERS/Dc9c8b.jpeg similarity index 100% rename from src/captchas/VAERS/Dc9c8b.jpeg rename to src/captcha/captchas/VAERS/Dc9c8b.jpeg diff --git a/src/captchas/VAERS/Dd8925.jpeg b/src/captcha/captchas/VAERS/Dd8925.jpeg similarity index 100% rename from src/captchas/VAERS/Dd8925.jpeg rename to src/captcha/captchas/VAERS/Dd8925.jpeg diff --git a/src/captchas/VAERS/Df544B.jpeg b/src/captcha/captchas/VAERS/Df544B.jpeg similarity index 100% rename from src/captchas/VAERS/Df544B.jpeg rename to src/captcha/captchas/VAERS/Df544B.jpeg diff --git a/src/captchas/VAERS/E0cA76.jpeg b/src/captcha/captchas/VAERS/E0cA76.jpeg similarity index 100% rename from src/captchas/VAERS/E0cA76.jpeg rename to src/captcha/captchas/VAERS/E0cA76.jpeg diff --git a/src/captchas/VAERS/E1957F.jpeg b/src/captcha/captchas/VAERS/E1957F.jpeg similarity index 100% rename from src/captchas/VAERS/E1957F.jpeg rename to src/captcha/captchas/VAERS/E1957F.jpeg diff --git a/src/captchas/VAERS/E296FF.jpeg b/src/captcha/captchas/VAERS/E296FF.jpeg similarity index 100% rename from src/captchas/VAERS/E296FF.jpeg rename to src/captcha/captchas/VAERS/E296FF.jpeg diff --git a/src/captchas/VAERS/E2F191.jpeg b/src/captcha/captchas/VAERS/E2F191.jpeg similarity index 100% rename from src/captchas/VAERS/E2F191.jpeg rename to src/captcha/captchas/VAERS/E2F191.jpeg diff --git a/src/captchas/VAERS/E312AF.jpeg b/src/captcha/captchas/VAERS/E312AF.jpeg similarity index 100% rename from src/captchas/VAERS/E312AF.jpeg rename to src/captcha/captchas/VAERS/E312AF.jpeg diff --git a/src/captchas/VAERS/E32554.jpeg b/src/captcha/captchas/VAERS/E32554.jpeg similarity index 100% rename from src/captchas/VAERS/E32554.jpeg rename to src/captcha/captchas/VAERS/E32554.jpeg diff --git a/src/captchas/VAERS/E34D77.jpeg b/src/captcha/captchas/VAERS/E34D77.jpeg similarity index 100% rename from src/captchas/VAERS/E34D77.jpeg rename to src/captcha/captchas/VAERS/E34D77.jpeg diff --git a/src/captchas/VAERS/E39ab9.jpeg b/src/captcha/captchas/VAERS/E39ab9.jpeg similarity index 100% rename from src/captchas/VAERS/E39ab9.jpeg rename to src/captcha/captchas/VAERS/E39ab9.jpeg diff --git a/src/captchas/VAERS/E453bf.jpeg b/src/captcha/captchas/VAERS/E453bf.jpeg similarity index 100% rename from src/captchas/VAERS/E453bf.jpeg rename to src/captcha/captchas/VAERS/E453bf.jpeg diff --git a/src/captchas/VAERS/E4c7bb.jpeg b/src/captcha/captchas/VAERS/E4c7bb.jpeg similarity index 100% rename from src/captchas/VAERS/E4c7bb.jpeg rename to src/captcha/captchas/VAERS/E4c7bb.jpeg diff --git a/src/captchas/VAERS/E5432E.jpeg b/src/captcha/captchas/VAERS/E5432E.jpeg similarity index 100% rename from src/captchas/VAERS/E5432E.jpeg rename to src/captcha/captchas/VAERS/E5432E.jpeg diff --git a/src/captchas/VAERS/E559FA.jpeg b/src/captcha/captchas/VAERS/E559FA.jpeg similarity index 100% rename from src/captchas/VAERS/E559FA.jpeg rename to src/captcha/captchas/VAERS/E559FA.jpeg diff --git a/src/captchas/VAERS/E57e8b.jpeg b/src/captcha/captchas/VAERS/E57e8b.jpeg similarity index 100% rename from src/captchas/VAERS/E57e8b.jpeg rename to src/captcha/captchas/VAERS/E57e8b.jpeg diff --git a/src/captchas/VAERS/E61D45.jpeg b/src/captcha/captchas/VAERS/E61D45.jpeg similarity index 100% rename from src/captchas/VAERS/E61D45.jpeg rename to src/captcha/captchas/VAERS/E61D45.jpeg diff --git a/src/captchas/VAERS/E72aFC.jpeg b/src/captcha/captchas/VAERS/E72aFC.jpeg similarity index 100% rename from src/captchas/VAERS/E72aFC.jpeg rename to src/captcha/captchas/VAERS/E72aFC.jpeg diff --git a/src/captchas/VAERS/E8e096.jpeg b/src/captcha/captchas/VAERS/E8e096.jpeg similarity index 100% rename from src/captchas/VAERS/E8e096.jpeg rename to src/captcha/captchas/VAERS/E8e096.jpeg diff --git a/src/captchas/VAERS/E9253A.jpeg b/src/captcha/captchas/VAERS/E9253A.jpeg similarity index 100% rename from src/captchas/VAERS/E9253A.jpeg rename to src/captcha/captchas/VAERS/E9253A.jpeg diff --git a/src/captchas/VAERS/E92e99.jpeg b/src/captcha/captchas/VAERS/E92e99.jpeg similarity index 100% rename from src/captchas/VAERS/E92e99.jpeg rename to src/captcha/captchas/VAERS/E92e99.jpeg diff --git a/src/captchas/VAERS/E9c95A.jpeg b/src/captcha/captchas/VAERS/E9c95A.jpeg similarity index 100% rename from src/captchas/VAERS/E9c95A.jpeg rename to src/captcha/captchas/VAERS/E9c95A.jpeg diff --git a/src/captchas/VAERS/EA01A2.jpeg b/src/captcha/captchas/VAERS/EA01A2.jpeg similarity index 100% rename from src/captchas/VAERS/EA01A2.jpeg rename to src/captcha/captchas/VAERS/EA01A2.jpeg diff --git a/src/captchas/VAERS/EA5aC2.jpeg b/src/captcha/captchas/VAERS/EA5aC2.jpeg similarity index 100% rename from src/captchas/VAERS/EA5aC2.jpeg rename to src/captcha/captchas/VAERS/EA5aC2.jpeg diff --git a/src/captchas/VAERS/EB37a1.jpeg b/src/captcha/captchas/VAERS/EB37a1.jpeg similarity index 100% rename from src/captchas/VAERS/EB37a1.jpeg rename to src/captcha/captchas/VAERS/EB37a1.jpeg diff --git a/src/captchas/VAERS/EB923A.jpeg b/src/captcha/captchas/VAERS/EB923A.jpeg similarity index 100% rename from src/captchas/VAERS/EB923A.jpeg rename to src/captcha/captchas/VAERS/EB923A.jpeg diff --git a/src/captchas/VAERS/EC164c.jpeg b/src/captcha/captchas/VAERS/EC164c.jpeg similarity index 100% rename from src/captchas/VAERS/EC164c.jpeg rename to src/captcha/captchas/VAERS/EC164c.jpeg diff --git a/src/captchas/VAERS/ECA7F7.jpeg b/src/captcha/captchas/VAERS/ECA7F7.jpeg similarity index 100% rename from src/captchas/VAERS/ECA7F7.jpeg rename to src/captcha/captchas/VAERS/ECA7F7.jpeg diff --git a/src/captchas/VAERS/EDdA25.jpeg b/src/captcha/captchas/VAERS/EDdA25.jpeg similarity index 100% rename from src/captchas/VAERS/EDdA25.jpeg rename to src/captcha/captchas/VAERS/EDdA25.jpeg diff --git a/src/captchas/VAERS/EF31f1.jpeg b/src/captcha/captchas/VAERS/EF31f1.jpeg similarity index 100% rename from src/captchas/VAERS/EF31f1.jpeg rename to src/captcha/captchas/VAERS/EF31f1.jpeg diff --git a/src/captchas/VAERS/Eab193.jpeg b/src/captcha/captchas/VAERS/Eab193.jpeg similarity index 100% rename from src/captchas/VAERS/Eab193.jpeg rename to src/captcha/captchas/VAERS/Eab193.jpeg diff --git a/src/captchas/VAERS/Eb27Cc.jpeg b/src/captcha/captchas/VAERS/Eb27Cc.jpeg similarity index 100% rename from src/captchas/VAERS/Eb27Cc.jpeg rename to src/captcha/captchas/VAERS/Eb27Cc.jpeg diff --git a/src/captchas/VAERS/Ec22e1.jpeg b/src/captcha/captchas/VAERS/Ec22e1.jpeg similarity index 100% rename from src/captchas/VAERS/Ec22e1.jpeg rename to src/captcha/captchas/VAERS/Ec22e1.jpeg diff --git a/src/captchas/VAERS/Ec84dD.jpeg b/src/captcha/captchas/VAERS/Ec84dD.jpeg similarity index 100% rename from src/captchas/VAERS/Ec84dD.jpeg rename to src/captcha/captchas/VAERS/Ec84dD.jpeg diff --git a/src/captchas/VAERS/Ed92Ef.jpeg b/src/captcha/captchas/VAERS/Ed92Ef.jpeg similarity index 100% rename from src/captchas/VAERS/Ed92Ef.jpeg rename to src/captcha/captchas/VAERS/Ed92Ef.jpeg diff --git a/src/captchas/VAERS/Ee9506.jpeg b/src/captcha/captchas/VAERS/Ee9506.jpeg similarity index 100% rename from src/captchas/VAERS/Ee9506.jpeg rename to src/captcha/captchas/VAERS/Ee9506.jpeg diff --git a/src/captchas/VAERS/Ef5C62.jpeg b/src/captcha/captchas/VAERS/Ef5C62.jpeg similarity index 100% rename from src/captchas/VAERS/Ef5C62.jpeg rename to src/captcha/captchas/VAERS/Ef5C62.jpeg diff --git a/src/captchas/VAERS/EfFFa9.jpeg b/src/captcha/captchas/VAERS/EfFFa9.jpeg similarity index 100% rename from src/captchas/VAERS/EfFFa9.jpeg rename to src/captcha/captchas/VAERS/EfFFa9.jpeg diff --git a/src/captchas/VAERS/F10c65.jpeg b/src/captcha/captchas/VAERS/F10c65.jpeg similarity index 100% rename from src/captchas/VAERS/F10c65.jpeg rename to src/captcha/captchas/VAERS/F10c65.jpeg diff --git a/src/captchas/VAERS/F15A61.jpeg b/src/captcha/captchas/VAERS/F15A61.jpeg similarity index 100% rename from src/captchas/VAERS/F15A61.jpeg rename to src/captcha/captchas/VAERS/F15A61.jpeg diff --git a/src/captchas/VAERS/F2308c.jpeg b/src/captcha/captchas/VAERS/F2308c.jpeg similarity index 100% rename from src/captchas/VAERS/F2308c.jpeg rename to src/captcha/captchas/VAERS/F2308c.jpeg diff --git a/src/captchas/VAERS/F23412.jpeg b/src/captcha/captchas/VAERS/F23412.jpeg similarity index 100% rename from src/captchas/VAERS/F23412.jpeg rename to src/captcha/captchas/VAERS/F23412.jpeg diff --git a/src/captchas/VAERS/F27076.jpeg b/src/captcha/captchas/VAERS/F27076.jpeg similarity index 100% rename from src/captchas/VAERS/F27076.jpeg rename to src/captcha/captchas/VAERS/F27076.jpeg diff --git a/src/captchas/VAERS/F38FD2.jpeg b/src/captcha/captchas/VAERS/F38FD2.jpeg similarity index 100% rename from src/captchas/VAERS/F38FD2.jpeg rename to src/captcha/captchas/VAERS/F38FD2.jpeg diff --git a/src/captchas/VAERS/F3B36f.jpeg b/src/captcha/captchas/VAERS/F3B36f.jpeg similarity index 100% rename from src/captchas/VAERS/F3B36f.jpeg rename to src/captcha/captchas/VAERS/F3B36f.jpeg diff --git a/src/captchas/VAERS/F3f5dE.jpeg b/src/captcha/captchas/VAERS/F3f5dE.jpeg similarity index 100% rename from src/captchas/VAERS/F3f5dE.jpeg rename to src/captcha/captchas/VAERS/F3f5dE.jpeg diff --git a/src/captchas/VAERS/F531e0.jpeg b/src/captcha/captchas/VAERS/F531e0.jpeg similarity index 100% rename from src/captchas/VAERS/F531e0.jpeg rename to src/captcha/captchas/VAERS/F531e0.jpeg diff --git a/src/captchas/VAERS/F760b7.jpeg b/src/captcha/captchas/VAERS/F760b7.jpeg similarity index 100% rename from src/captchas/VAERS/F760b7.jpeg rename to src/captcha/captchas/VAERS/F760b7.jpeg diff --git a/src/captchas/VAERS/F77C4E.jpeg b/src/captcha/captchas/VAERS/F77C4E.jpeg similarity index 100% rename from src/captchas/VAERS/F77C4E.jpeg rename to src/captcha/captchas/VAERS/F77C4E.jpeg diff --git a/src/captchas/VAERS/F7A130.jpeg b/src/captcha/captchas/VAERS/F7A130.jpeg similarity index 100% rename from src/captchas/VAERS/F7A130.jpeg rename to src/captcha/captchas/VAERS/F7A130.jpeg diff --git a/src/captchas/VAERS/F87F07.jpeg b/src/captcha/captchas/VAERS/F87F07.jpeg similarity index 100% rename from src/captchas/VAERS/F87F07.jpeg rename to src/captcha/captchas/VAERS/F87F07.jpeg diff --git a/src/captchas/VAERS/F8D700.jpeg b/src/captcha/captchas/VAERS/F8D700.jpeg similarity index 100% rename from src/captchas/VAERS/F8D700.jpeg rename to src/captcha/captchas/VAERS/F8D700.jpeg diff --git a/src/captchas/VAERS/F8F6B7.jpeg b/src/captcha/captchas/VAERS/F8F6B7.jpeg similarity index 100% rename from src/captchas/VAERS/F8F6B7.jpeg rename to src/captcha/captchas/VAERS/F8F6B7.jpeg diff --git a/src/captchas/VAERS/F9Ad0D.jpeg b/src/captcha/captchas/VAERS/F9Ad0D.jpeg similarity index 100% rename from src/captchas/VAERS/F9Ad0D.jpeg rename to src/captcha/captchas/VAERS/F9Ad0D.jpeg diff --git a/src/captchas/VAERS/F9aDE6.jpeg b/src/captcha/captchas/VAERS/F9aDE6.jpeg similarity index 100% rename from src/captchas/VAERS/F9aDE6.jpeg rename to src/captcha/captchas/VAERS/F9aDE6.jpeg diff --git a/src/captchas/VAERS/FA1aD5.jpeg b/src/captcha/captchas/VAERS/FA1aD5.jpeg similarity index 100% rename from src/captchas/VAERS/FA1aD5.jpeg rename to src/captcha/captchas/VAERS/FA1aD5.jpeg diff --git a/src/captchas/VAERS/FA3879.jpeg b/src/captcha/captchas/VAERS/FA3879.jpeg similarity index 100% rename from src/captchas/VAERS/FA3879.jpeg rename to src/captcha/captchas/VAERS/FA3879.jpeg diff --git a/src/captchas/VAERS/FA4418.jpeg b/src/captcha/captchas/VAERS/FA4418.jpeg similarity index 100% rename from src/captchas/VAERS/FA4418.jpeg rename to src/captcha/captchas/VAERS/FA4418.jpeg diff --git a/src/captchas/VAERS/FA6854.jpeg b/src/captcha/captchas/VAERS/FA6854.jpeg similarity index 100% rename from src/captchas/VAERS/FA6854.jpeg rename to src/captcha/captchas/VAERS/FA6854.jpeg diff --git a/src/captchas/VAERS/FAb8F5.jpeg b/src/captcha/captchas/VAERS/FAb8F5.jpeg similarity index 100% rename from src/captchas/VAERS/FAb8F5.jpeg rename to src/captcha/captchas/VAERS/FAb8F5.jpeg diff --git a/src/captchas/VAERS/FAee8d.jpeg b/src/captcha/captchas/VAERS/FAee8d.jpeg similarity index 100% rename from src/captchas/VAERS/FAee8d.jpeg rename to src/captcha/captchas/VAERS/FAee8d.jpeg diff --git a/src/captchas/VAERS/FF3aE6.jpeg b/src/captcha/captchas/VAERS/FF3aE6.jpeg similarity index 100% rename from src/captchas/VAERS/FF3aE6.jpeg rename to src/captcha/captchas/VAERS/FF3aE6.jpeg diff --git a/src/captchas/VAERS/FF4241.jpeg b/src/captcha/captchas/VAERS/FF4241.jpeg similarity index 100% rename from src/captchas/VAERS/FF4241.jpeg rename to src/captcha/captchas/VAERS/FF4241.jpeg diff --git a/src/captchas/VAERS/FF4796.jpeg b/src/captcha/captchas/VAERS/FF4796.jpeg similarity index 100% rename from src/captchas/VAERS/FF4796.jpeg rename to src/captcha/captchas/VAERS/FF4796.jpeg diff --git a/src/captchas/VAERS/FF73A7.jpeg b/src/captcha/captchas/VAERS/FF73A7.jpeg similarity index 100% rename from src/captchas/VAERS/FF73A7.jpeg rename to src/captcha/captchas/VAERS/FF73A7.jpeg diff --git a/src/captchas/VAERS/Fa8565.jpeg b/src/captcha/captchas/VAERS/Fa8565.jpeg similarity index 100% rename from src/captchas/VAERS/Fa8565.jpeg rename to src/captcha/captchas/VAERS/Fa8565.jpeg diff --git a/src/captchas/VAERS/Fca566.jpeg b/src/captcha/captchas/VAERS/Fca566.jpeg similarity index 100% rename from src/captchas/VAERS/Fca566.jpeg rename to src/captcha/captchas/VAERS/Fca566.jpeg diff --git a/src/captchas/VAERS/a0C30a.jpeg b/src/captcha/captchas/VAERS/a0C30a.jpeg similarity index 100% rename from src/captchas/VAERS/a0C30a.jpeg rename to src/captcha/captchas/VAERS/a0C30a.jpeg diff --git a/src/captchas/VAERS/a0abC9.jpeg b/src/captcha/captchas/VAERS/a0abC9.jpeg similarity index 100% rename from src/captchas/VAERS/a0abC9.jpeg rename to src/captcha/captchas/VAERS/a0abC9.jpeg diff --git a/src/captchas/VAERS/a0eEe3.jpeg b/src/captcha/captchas/VAERS/a0eEe3.jpeg similarity index 100% rename from src/captchas/VAERS/a0eEe3.jpeg rename to src/captcha/captchas/VAERS/a0eEe3.jpeg diff --git a/src/captchas/VAERS/a11491.jpeg b/src/captcha/captchas/VAERS/a11491.jpeg similarity index 100% rename from src/captchas/VAERS/a11491.jpeg rename to src/captcha/captchas/VAERS/a11491.jpeg diff --git a/src/captchas/VAERS/a27a1E.jpeg b/src/captcha/captchas/VAERS/a27a1E.jpeg similarity index 100% rename from src/captchas/VAERS/a27a1E.jpeg rename to src/captcha/captchas/VAERS/a27a1E.jpeg diff --git a/src/captchas/VAERS/a32010.jpeg b/src/captcha/captchas/VAERS/a32010.jpeg similarity index 100% rename from src/captchas/VAERS/a32010.jpeg rename to src/captcha/captchas/VAERS/a32010.jpeg diff --git a/src/captchas/VAERS/a461eC.jpeg b/src/captcha/captchas/VAERS/a461eC.jpeg similarity index 100% rename from src/captchas/VAERS/a461eC.jpeg rename to src/captcha/captchas/VAERS/a461eC.jpeg diff --git a/src/captchas/VAERS/a49567.jpeg b/src/captcha/captchas/VAERS/a49567.jpeg similarity index 100% rename from src/captchas/VAERS/a49567.jpeg rename to src/captcha/captchas/VAERS/a49567.jpeg diff --git a/src/captchas/VAERS/a57d43.jpeg b/src/captcha/captchas/VAERS/a57d43.jpeg similarity index 100% rename from src/captchas/VAERS/a57d43.jpeg rename to src/captcha/captchas/VAERS/a57d43.jpeg diff --git a/src/captchas/VAERS/a5a55A.jpeg b/src/captcha/captchas/VAERS/a5a55A.jpeg similarity index 100% rename from src/captchas/VAERS/a5a55A.jpeg rename to src/captcha/captchas/VAERS/a5a55A.jpeg diff --git a/src/captchas/VAERS/a6af14.jpeg b/src/captcha/captchas/VAERS/a6af14.jpeg similarity index 100% rename from src/captchas/VAERS/a6af14.jpeg rename to src/captcha/captchas/VAERS/a6af14.jpeg diff --git a/src/captchas/VAERS/a7eE4f.jpeg b/src/captcha/captchas/VAERS/a7eE4f.jpeg similarity index 100% rename from src/captchas/VAERS/a7eE4f.jpeg rename to src/captcha/captchas/VAERS/a7eE4f.jpeg diff --git a/src/captchas/VAERS/aBCcb3.jpeg b/src/captcha/captchas/VAERS/aBCcb3.jpeg similarity index 100% rename from src/captchas/VAERS/aBCcb3.jpeg rename to src/captcha/captchas/VAERS/aBCcb3.jpeg diff --git a/src/captchas/VAERS/aD3a67.jpeg b/src/captcha/captchas/VAERS/aD3a67.jpeg similarity index 100% rename from src/captchas/VAERS/aD3a67.jpeg rename to src/captcha/captchas/VAERS/aD3a67.jpeg diff --git a/src/captchas/VAERS/aD474F.jpeg b/src/captcha/captchas/VAERS/aD474F.jpeg similarity index 100% rename from src/captchas/VAERS/aD474F.jpeg rename to src/captcha/captchas/VAERS/aD474F.jpeg diff --git a/src/captchas/VAERS/aE1e34.jpeg b/src/captcha/captchas/VAERS/aE1e34.jpeg similarity index 100% rename from src/captchas/VAERS/aE1e34.jpeg rename to src/captcha/captchas/VAERS/aE1e34.jpeg diff --git a/src/captchas/VAERS/aEB882.jpeg b/src/captcha/captchas/VAERS/aEB882.jpeg similarity index 100% rename from src/captchas/VAERS/aEB882.jpeg rename to src/captcha/captchas/VAERS/aEB882.jpeg diff --git a/src/captchas/VAERS/aEf90b.jpeg b/src/captcha/captchas/VAERS/aEf90b.jpeg similarity index 100% rename from src/captchas/VAERS/aEf90b.jpeg rename to src/captcha/captchas/VAERS/aEf90b.jpeg diff --git a/src/captchas/VAERS/aFb103.jpeg b/src/captcha/captchas/VAERS/aFb103.jpeg similarity index 100% rename from src/captchas/VAERS/aFb103.jpeg rename to src/captcha/captchas/VAERS/aFb103.jpeg diff --git a/src/captchas/VAERS/aa20Ac.jpeg b/src/captcha/captchas/VAERS/aa20Ac.jpeg similarity index 100% rename from src/captchas/VAERS/aa20Ac.jpeg rename to src/captcha/captchas/VAERS/aa20Ac.jpeg diff --git a/src/captchas/VAERS/ab74e3.jpeg b/src/captcha/captchas/VAERS/ab74e3.jpeg similarity index 100% rename from src/captchas/VAERS/ab74e3.jpeg rename to src/captcha/captchas/VAERS/ab74e3.jpeg diff --git a/src/captchas/VAERS/aceaeE.jpeg b/src/captcha/captchas/VAERS/aceaeE.jpeg similarity index 100% rename from src/captchas/VAERS/aceaeE.jpeg rename to src/captcha/captchas/VAERS/aceaeE.jpeg diff --git a/src/captchas/VAERS/ad0803.jpeg b/src/captcha/captchas/VAERS/ad0803.jpeg similarity index 100% rename from src/captchas/VAERS/ad0803.jpeg rename to src/captcha/captchas/VAERS/ad0803.jpeg diff --git a/src/captchas/VAERS/adbD63.jpeg b/src/captcha/captchas/VAERS/adbD63.jpeg similarity index 100% rename from src/captchas/VAERS/adbD63.jpeg rename to src/captcha/captchas/VAERS/adbD63.jpeg diff --git a/src/captchas/VAERS/aecC4c.jpeg b/src/captcha/captchas/VAERS/aecC4c.jpeg similarity index 100% rename from src/captchas/VAERS/aecC4c.jpeg rename to src/captcha/captchas/VAERS/aecC4c.jpeg diff --git a/src/captchas/VAERS/af0caA.jpeg b/src/captcha/captchas/VAERS/af0caA.jpeg similarity index 100% rename from src/captchas/VAERS/af0caA.jpeg rename to src/captcha/captchas/VAERS/af0caA.jpeg diff --git a/src/captchas/VAERS/b07675.jpeg b/src/captcha/captchas/VAERS/b07675.jpeg similarity index 100% rename from src/captchas/VAERS/b07675.jpeg rename to src/captcha/captchas/VAERS/b07675.jpeg diff --git a/src/captchas/VAERS/b10887.jpeg b/src/captcha/captchas/VAERS/b10887.jpeg similarity index 100% rename from src/captchas/VAERS/b10887.jpeg rename to src/captcha/captchas/VAERS/b10887.jpeg diff --git a/src/captchas/VAERS/b110e6.jpeg b/src/captcha/captchas/VAERS/b110e6.jpeg similarity index 100% rename from src/captchas/VAERS/b110e6.jpeg rename to src/captcha/captchas/VAERS/b110e6.jpeg diff --git a/src/captchas/VAERS/b162B5.jpeg b/src/captcha/captchas/VAERS/b162B5.jpeg similarity index 100% rename from src/captchas/VAERS/b162B5.jpeg rename to src/captcha/captchas/VAERS/b162B5.jpeg diff --git a/src/captchas/VAERS/b17b50.jpeg b/src/captcha/captchas/VAERS/b17b50.jpeg similarity index 100% rename from src/captchas/VAERS/b17b50.jpeg rename to src/captcha/captchas/VAERS/b17b50.jpeg diff --git a/src/captchas/VAERS/b1Fe38.jpeg b/src/captcha/captchas/VAERS/b1Fe38.jpeg similarity index 100% rename from src/captchas/VAERS/b1Fe38.jpeg rename to src/captcha/captchas/VAERS/b1Fe38.jpeg diff --git a/src/captchas/VAERS/b1b056.jpeg b/src/captcha/captchas/VAERS/b1b056.jpeg similarity index 100% rename from src/captchas/VAERS/b1b056.jpeg rename to src/captcha/captchas/VAERS/b1b056.jpeg diff --git a/src/captchas/VAERS/b21341.jpeg b/src/captcha/captchas/VAERS/b21341.jpeg similarity index 100% rename from src/captchas/VAERS/b21341.jpeg rename to src/captcha/captchas/VAERS/b21341.jpeg diff --git a/src/captchas/VAERS/b27E1C.jpeg b/src/captcha/captchas/VAERS/b27E1C.jpeg similarity index 100% rename from src/captchas/VAERS/b27E1C.jpeg rename to src/captcha/captchas/VAERS/b27E1C.jpeg diff --git a/src/captchas/VAERS/b3C4a5.jpeg b/src/captcha/captchas/VAERS/b3C4a5.jpeg similarity index 100% rename from src/captchas/VAERS/b3C4a5.jpeg rename to src/captcha/captchas/VAERS/b3C4a5.jpeg diff --git a/src/captchas/VAERS/b60B09.jpeg b/src/captcha/captchas/VAERS/b60B09.jpeg similarity index 100% rename from src/captchas/VAERS/b60B09.jpeg rename to src/captcha/captchas/VAERS/b60B09.jpeg diff --git a/src/captchas/VAERS/b6411C.jpeg b/src/captcha/captchas/VAERS/b6411C.jpeg similarity index 100% rename from src/captchas/VAERS/b6411C.jpeg rename to src/captcha/captchas/VAERS/b6411C.jpeg diff --git a/src/captchas/VAERS/b6A3B7.jpeg b/src/captcha/captchas/VAERS/b6A3B7.jpeg similarity index 100% rename from src/captchas/VAERS/b6A3B7.jpeg rename to src/captcha/captchas/VAERS/b6A3B7.jpeg diff --git a/src/captchas/VAERS/b7065f.jpeg b/src/captcha/captchas/VAERS/b7065f.jpeg similarity index 100% rename from src/captchas/VAERS/b7065f.jpeg rename to src/captcha/captchas/VAERS/b7065f.jpeg diff --git a/src/captchas/VAERS/b76A00.jpeg b/src/captcha/captchas/VAERS/b76A00.jpeg similarity index 100% rename from src/captchas/VAERS/b76A00.jpeg rename to src/captcha/captchas/VAERS/b76A00.jpeg diff --git a/src/captchas/VAERS/b78Ca5.jpeg b/src/captcha/captchas/VAERS/b78Ca5.jpeg similarity index 100% rename from src/captchas/VAERS/b78Ca5.jpeg rename to src/captcha/captchas/VAERS/b78Ca5.jpeg diff --git a/src/captchas/VAERS/b78b82.jpeg b/src/captcha/captchas/VAERS/b78b82.jpeg similarity index 100% rename from src/captchas/VAERS/b78b82.jpeg rename to src/captcha/captchas/VAERS/b78b82.jpeg diff --git a/src/captchas/VAERS/b954B2.jpeg b/src/captcha/captchas/VAERS/b954B2.jpeg similarity index 100% rename from src/captchas/VAERS/b954B2.jpeg rename to src/captcha/captchas/VAERS/b954B2.jpeg diff --git a/src/captchas/VAERS/b9E8c1.jpeg b/src/captcha/captchas/VAERS/b9E8c1.jpeg similarity index 100% rename from src/captchas/VAERS/b9E8c1.jpeg rename to src/captcha/captchas/VAERS/b9E8c1.jpeg diff --git a/src/captchas/VAERS/b9a49F.jpeg b/src/captcha/captchas/VAERS/b9a49F.jpeg similarity index 100% rename from src/captchas/VAERS/b9a49F.jpeg rename to src/captcha/captchas/VAERS/b9a49F.jpeg diff --git a/src/captchas/VAERS/b9b3F2.jpeg b/src/captcha/captchas/VAERS/b9b3F2.jpeg similarity index 100% rename from src/captchas/VAERS/b9b3F2.jpeg rename to src/captcha/captchas/VAERS/b9b3F2.jpeg diff --git a/src/captchas/VAERS/bB25b3.jpeg b/src/captcha/captchas/VAERS/bB25b3.jpeg similarity index 100% rename from src/captchas/VAERS/bB25b3.jpeg rename to src/captcha/captchas/VAERS/bB25b3.jpeg diff --git a/src/captchas/VAERS/bBf162.jpeg b/src/captcha/captchas/VAERS/bBf162.jpeg similarity index 100% rename from src/captchas/VAERS/bBf162.jpeg rename to src/captcha/captchas/VAERS/bBf162.jpeg diff --git a/src/captchas/VAERS/bC3892.jpeg b/src/captcha/captchas/VAERS/bC3892.jpeg similarity index 100% rename from src/captchas/VAERS/bC3892.jpeg rename to src/captcha/captchas/VAERS/bC3892.jpeg diff --git a/src/captchas/VAERS/bD1b2E.jpeg b/src/captcha/captchas/VAERS/bD1b2E.jpeg similarity index 100% rename from src/captchas/VAERS/bD1b2E.jpeg rename to src/captcha/captchas/VAERS/bD1b2E.jpeg diff --git a/src/captchas/VAERS/bD69fd.jpeg b/src/captcha/captchas/VAERS/bD69fd.jpeg similarity index 100% rename from src/captchas/VAERS/bD69fd.jpeg rename to src/captcha/captchas/VAERS/bD69fd.jpeg diff --git a/src/captchas/VAERS/bDE259.jpeg b/src/captcha/captchas/VAERS/bDE259.jpeg similarity index 100% rename from src/captchas/VAERS/bDE259.jpeg rename to src/captcha/captchas/VAERS/bDE259.jpeg diff --git a/src/captchas/VAERS/bDF4CC.jpeg b/src/captcha/captchas/VAERS/bDF4CC.jpeg similarity index 100% rename from src/captchas/VAERS/bDF4CC.jpeg rename to src/captcha/captchas/VAERS/bDF4CC.jpeg diff --git a/src/captchas/VAERS/bE555f.jpeg b/src/captcha/captchas/VAERS/bE555f.jpeg similarity index 100% rename from src/captchas/VAERS/bE555f.jpeg rename to src/captcha/captchas/VAERS/bE555f.jpeg diff --git a/src/captchas/VAERS/bE6e5C.jpeg b/src/captcha/captchas/VAERS/bE6e5C.jpeg similarity index 100% rename from src/captchas/VAERS/bE6e5C.jpeg rename to src/captcha/captchas/VAERS/bE6e5C.jpeg diff --git a/src/captchas/VAERS/ba7E97.jpeg b/src/captcha/captchas/VAERS/ba7E97.jpeg similarity index 100% rename from src/captchas/VAERS/ba7E97.jpeg rename to src/captcha/captchas/VAERS/ba7E97.jpeg diff --git a/src/captchas/VAERS/bbEc6e.jpeg b/src/captcha/captchas/VAERS/bbEc6e.jpeg similarity index 100% rename from src/captchas/VAERS/bbEc6e.jpeg rename to src/captcha/captchas/VAERS/bbEc6e.jpeg diff --git a/src/captchas/VAERS/bdBc9f.jpeg b/src/captcha/captchas/VAERS/bdBc9f.jpeg similarity index 100% rename from src/captchas/VAERS/bdBc9f.jpeg rename to src/captcha/captchas/VAERS/bdBc9f.jpeg diff --git a/src/captchas/VAERS/bdDaef.jpeg b/src/captcha/captchas/VAERS/bdDaef.jpeg similarity index 100% rename from src/captchas/VAERS/bdDaef.jpeg rename to src/captcha/captchas/VAERS/bdDaef.jpeg diff --git a/src/captchas/VAERS/beA281.jpeg b/src/captcha/captchas/VAERS/beA281.jpeg similarity index 100% rename from src/captchas/VAERS/beA281.jpeg rename to src/captcha/captchas/VAERS/beA281.jpeg diff --git a/src/captchas/VAERS/bf74dB.jpeg b/src/captcha/captchas/VAERS/bf74dB.jpeg similarity index 100% rename from src/captchas/VAERS/bf74dB.jpeg rename to src/captcha/captchas/VAERS/bf74dB.jpeg diff --git a/src/captchas/VAERS/bfaea6.jpeg b/src/captcha/captchas/VAERS/bfaea6.jpeg similarity index 100% rename from src/captchas/VAERS/bfaea6.jpeg rename to src/captcha/captchas/VAERS/bfaea6.jpeg diff --git a/src/captchas/VAERS/c0c572.jpeg b/src/captcha/captchas/VAERS/c0c572.jpeg similarity index 100% rename from src/captchas/VAERS/c0c572.jpeg rename to src/captcha/captchas/VAERS/c0c572.jpeg diff --git a/src/captchas/VAERS/c152a1.jpeg b/src/captcha/captchas/VAERS/c152a1.jpeg similarity index 100% rename from src/captchas/VAERS/c152a1.jpeg rename to src/captcha/captchas/VAERS/c152a1.jpeg diff --git a/src/captchas/VAERS/c20304.jpeg b/src/captcha/captchas/VAERS/c20304.jpeg similarity index 100% rename from src/captchas/VAERS/c20304.jpeg rename to src/captcha/captchas/VAERS/c20304.jpeg diff --git a/src/captchas/VAERS/c2A807.jpeg b/src/captcha/captchas/VAERS/c2A807.jpeg similarity index 100% rename from src/captchas/VAERS/c2A807.jpeg rename to src/captcha/captchas/VAERS/c2A807.jpeg diff --git a/src/captchas/VAERS/c2E8D1.jpeg b/src/captcha/captchas/VAERS/c2E8D1.jpeg similarity index 100% rename from src/captchas/VAERS/c2E8D1.jpeg rename to src/captcha/captchas/VAERS/c2E8D1.jpeg diff --git a/src/captchas/VAERS/c34750.jpeg b/src/captcha/captchas/VAERS/c34750.jpeg similarity index 100% rename from src/captchas/VAERS/c34750.jpeg rename to src/captcha/captchas/VAERS/c34750.jpeg diff --git a/src/captchas/VAERS/c35590.jpeg b/src/captcha/captchas/VAERS/c35590.jpeg similarity index 100% rename from src/captchas/VAERS/c35590.jpeg rename to src/captcha/captchas/VAERS/c35590.jpeg diff --git a/src/captchas/VAERS/c3Dc2C.jpeg b/src/captcha/captchas/VAERS/c3Dc2C.jpeg similarity index 100% rename from src/captchas/VAERS/c3Dc2C.jpeg rename to src/captcha/captchas/VAERS/c3Dc2C.jpeg diff --git a/src/captchas/VAERS/c42aF7.jpeg b/src/captcha/captchas/VAERS/c42aF7.jpeg similarity index 100% rename from src/captchas/VAERS/c42aF7.jpeg rename to src/captcha/captchas/VAERS/c42aF7.jpeg diff --git a/src/captchas/VAERS/c445D5.jpeg b/src/captcha/captchas/VAERS/c445D5.jpeg similarity index 100% rename from src/captchas/VAERS/c445D5.jpeg rename to src/captcha/captchas/VAERS/c445D5.jpeg diff --git a/src/captchas/VAERS/c45695.jpeg b/src/captcha/captchas/VAERS/c45695.jpeg similarity index 100% rename from src/captchas/VAERS/c45695.jpeg rename to src/captcha/captchas/VAERS/c45695.jpeg diff --git a/src/captchas/VAERS/c4AcC2.jpeg b/src/captcha/captchas/VAERS/c4AcC2.jpeg similarity index 100% rename from src/captchas/VAERS/c4AcC2.jpeg rename to src/captcha/captchas/VAERS/c4AcC2.jpeg diff --git a/src/captchas/VAERS/c4F7A4.jpeg b/src/captcha/captchas/VAERS/c4F7A4.jpeg similarity index 100% rename from src/captchas/VAERS/c4F7A4.jpeg rename to src/captcha/captchas/VAERS/c4F7A4.jpeg diff --git a/src/captchas/VAERS/c4c8Ff.jpeg b/src/captcha/captchas/VAERS/c4c8Ff.jpeg similarity index 100% rename from src/captchas/VAERS/c4c8Ff.jpeg rename to src/captcha/captchas/VAERS/c4c8Ff.jpeg diff --git a/src/captchas/VAERS/c4eCbE.jpeg b/src/captcha/captchas/VAERS/c4eCbE.jpeg similarity index 100% rename from src/captchas/VAERS/c4eCbE.jpeg rename to src/captcha/captchas/VAERS/c4eCbE.jpeg diff --git a/src/captchas/VAERS/c57596.jpeg b/src/captcha/captchas/VAERS/c57596.jpeg similarity index 100% rename from src/captchas/VAERS/c57596.jpeg rename to src/captcha/captchas/VAERS/c57596.jpeg diff --git a/src/captchas/VAERS/c57bD7.jpeg b/src/captcha/captchas/VAERS/c57bD7.jpeg similarity index 100% rename from src/captchas/VAERS/c57bD7.jpeg rename to src/captcha/captchas/VAERS/c57bD7.jpeg diff --git a/src/captchas/VAERS/c59ef6.jpeg b/src/captcha/captchas/VAERS/c59ef6.jpeg similarity index 100% rename from src/captchas/VAERS/c59ef6.jpeg rename to src/captcha/captchas/VAERS/c59ef6.jpeg diff --git a/src/captchas/VAERS/c5cB80.jpeg b/src/captcha/captchas/VAERS/c5cB80.jpeg similarity index 100% rename from src/captchas/VAERS/c5cB80.jpeg rename to src/captcha/captchas/VAERS/c5cB80.jpeg diff --git a/src/captchas/VAERS/c6c205.jpeg b/src/captcha/captchas/VAERS/c6c205.jpeg similarity index 100% rename from src/captchas/VAERS/c6c205.jpeg rename to src/captcha/captchas/VAERS/c6c205.jpeg diff --git a/src/captchas/VAERS/c76662.jpeg b/src/captcha/captchas/VAERS/c76662.jpeg similarity index 100% rename from src/captchas/VAERS/c76662.jpeg rename to src/captcha/captchas/VAERS/c76662.jpeg diff --git a/src/captchas/VAERS/c768B6.jpeg b/src/captcha/captchas/VAERS/c768B6.jpeg similarity index 100% rename from src/captchas/VAERS/c768B6.jpeg rename to src/captcha/captchas/VAERS/c768B6.jpeg diff --git a/src/captchas/VAERS/c83798.jpeg b/src/captcha/captchas/VAERS/c83798.jpeg similarity index 100% rename from src/captchas/VAERS/c83798.jpeg rename to src/captcha/captchas/VAERS/c83798.jpeg diff --git a/src/captchas/VAERS/c8806c.jpeg b/src/captcha/captchas/VAERS/c8806c.jpeg similarity index 100% rename from src/captchas/VAERS/c8806c.jpeg rename to src/captcha/captchas/VAERS/c8806c.jpeg diff --git a/src/captchas/VAERS/c8F73B.jpeg b/src/captcha/captchas/VAERS/c8F73B.jpeg similarity index 100% rename from src/captchas/VAERS/c8F73B.jpeg rename to src/captcha/captchas/VAERS/c8F73B.jpeg diff --git a/src/captchas/VAERS/c9235C.jpeg b/src/captcha/captchas/VAERS/c9235C.jpeg similarity index 100% rename from src/captchas/VAERS/c9235C.jpeg rename to src/captcha/captchas/VAERS/c9235C.jpeg diff --git a/src/captchas/VAERS/c95f23.jpeg b/src/captcha/captchas/VAERS/c95f23.jpeg similarity index 100% rename from src/captchas/VAERS/c95f23.jpeg rename to src/captcha/captchas/VAERS/c95f23.jpeg diff --git a/src/captchas/VAERS/c99636.jpeg b/src/captcha/captchas/VAERS/c99636.jpeg similarity index 100% rename from src/captchas/VAERS/c99636.jpeg rename to src/captcha/captchas/VAERS/c99636.jpeg diff --git a/src/captchas/VAERS/cB24cB.jpeg b/src/captcha/captchas/VAERS/cB24cB.jpeg similarity index 100% rename from src/captchas/VAERS/cB24cB.jpeg rename to src/captcha/captchas/VAERS/cB24cB.jpeg diff --git a/src/captchas/VAERS/cD1e8c.jpeg b/src/captcha/captchas/VAERS/cD1e8c.jpeg similarity index 100% rename from src/captchas/VAERS/cD1e8c.jpeg rename to src/captcha/captchas/VAERS/cD1e8c.jpeg diff --git a/src/captchas/VAERS/cFA030.jpeg b/src/captcha/captchas/VAERS/cFA030.jpeg similarity index 100% rename from src/captchas/VAERS/cFA030.jpeg rename to src/captcha/captchas/VAERS/cFA030.jpeg diff --git a/src/captchas/VAERS/ca56B9.jpeg b/src/captcha/captchas/VAERS/ca56B9.jpeg similarity index 100% rename from src/captchas/VAERS/ca56B9.jpeg rename to src/captcha/captchas/VAERS/ca56B9.jpeg diff --git a/src/captchas/VAERS/ca7Fa5.jpeg b/src/captcha/captchas/VAERS/ca7Fa5.jpeg similarity index 100% rename from src/captchas/VAERS/ca7Fa5.jpeg rename to src/captcha/captchas/VAERS/ca7Fa5.jpeg diff --git a/src/captchas/VAERS/caa263.jpeg b/src/captcha/captchas/VAERS/caa263.jpeg similarity index 100% rename from src/captchas/VAERS/caa263.jpeg rename to src/captcha/captchas/VAERS/caa263.jpeg diff --git a/src/captchas/VAERS/cc51e6.jpeg b/src/captcha/captchas/VAERS/cc51e6.jpeg similarity index 100% rename from src/captchas/VAERS/cc51e6.jpeg rename to src/captcha/captchas/VAERS/cc51e6.jpeg diff --git a/src/captchas/VAERS/cd9BcE.jpeg b/src/captcha/captchas/VAERS/cd9BcE.jpeg similarity index 100% rename from src/captchas/VAERS/cd9BcE.jpeg rename to src/captcha/captchas/VAERS/cd9BcE.jpeg diff --git a/src/captchas/VAERS/ce10bE.jpeg b/src/captcha/captchas/VAERS/ce10bE.jpeg similarity index 100% rename from src/captchas/VAERS/ce10bE.jpeg rename to src/captcha/captchas/VAERS/ce10bE.jpeg diff --git a/src/captchas/VAERS/ceb20c.jpeg b/src/captcha/captchas/VAERS/ceb20c.jpeg similarity index 100% rename from src/captchas/VAERS/ceb20c.jpeg rename to src/captcha/captchas/VAERS/ceb20c.jpeg diff --git a/src/captchas/VAERS/cf0cc0.jpeg b/src/captcha/captchas/VAERS/cf0cc0.jpeg similarity index 100% rename from src/captchas/VAERS/cf0cc0.jpeg rename to src/captcha/captchas/VAERS/cf0cc0.jpeg diff --git a/src/captchas/VAERS/cf8Be2.jpeg b/src/captcha/captchas/VAERS/cf8Be2.jpeg similarity index 100% rename from src/captchas/VAERS/cf8Be2.jpeg rename to src/captcha/captchas/VAERS/cf8Be2.jpeg diff --git a/src/captchas/VAERS/d018B8.jpeg b/src/captcha/captchas/VAERS/d018B8.jpeg similarity index 100% rename from src/captchas/VAERS/d018B8.jpeg rename to src/captcha/captchas/VAERS/d018B8.jpeg diff --git a/src/captchas/VAERS/d07634.jpeg b/src/captcha/captchas/VAERS/d07634.jpeg similarity index 100% rename from src/captchas/VAERS/d07634.jpeg rename to src/captcha/captchas/VAERS/d07634.jpeg diff --git a/src/captchas/VAERS/d1B9B1.jpeg b/src/captcha/captchas/VAERS/d1B9B1.jpeg similarity index 100% rename from src/captchas/VAERS/d1B9B1.jpeg rename to src/captcha/captchas/VAERS/d1B9B1.jpeg diff --git a/src/captchas/VAERS/d224B6.jpeg b/src/captcha/captchas/VAERS/d224B6.jpeg similarity index 100% rename from src/captchas/VAERS/d224B6.jpeg rename to src/captcha/captchas/VAERS/d224B6.jpeg diff --git a/src/captchas/VAERS/d27BDd.jpeg b/src/captcha/captchas/VAERS/d27BDd.jpeg similarity index 100% rename from src/captchas/VAERS/d27BDd.jpeg rename to src/captcha/captchas/VAERS/d27BDd.jpeg diff --git a/src/captchas/VAERS/d2c976.jpeg b/src/captcha/captchas/VAERS/d2c976.jpeg similarity index 100% rename from src/captchas/VAERS/d2c976.jpeg rename to src/captcha/captchas/VAERS/d2c976.jpeg diff --git a/src/captchas/VAERS/d32De0.jpeg b/src/captcha/captchas/VAERS/d32De0.jpeg similarity index 100% rename from src/captchas/VAERS/d32De0.jpeg rename to src/captcha/captchas/VAERS/d32De0.jpeg diff --git a/src/captchas/VAERS/d3D314.jpeg b/src/captcha/captchas/VAERS/d3D314.jpeg similarity index 100% rename from src/captchas/VAERS/d3D314.jpeg rename to src/captcha/captchas/VAERS/d3D314.jpeg diff --git a/src/captchas/VAERS/d3E59a.jpeg b/src/captcha/captchas/VAERS/d3E59a.jpeg similarity index 100% rename from src/captchas/VAERS/d3E59a.jpeg rename to src/captcha/captchas/VAERS/d3E59a.jpeg diff --git a/src/captchas/VAERS/d3b06e.jpeg b/src/captcha/captchas/VAERS/d3b06e.jpeg similarity index 100% rename from src/captchas/VAERS/d3b06e.jpeg rename to src/captcha/captchas/VAERS/d3b06e.jpeg diff --git a/src/captchas/VAERS/d3b445.jpeg b/src/captcha/captchas/VAERS/d3b445.jpeg similarity index 100% rename from src/captchas/VAERS/d3b445.jpeg rename to src/captcha/captchas/VAERS/d3b445.jpeg diff --git a/src/captchas/VAERS/d42f6f.jpeg b/src/captcha/captchas/VAERS/d42f6f.jpeg similarity index 100% rename from src/captchas/VAERS/d42f6f.jpeg rename to src/captcha/captchas/VAERS/d42f6f.jpeg diff --git a/src/captchas/VAERS/d4B4cb.jpeg b/src/captcha/captchas/VAERS/d4B4cb.jpeg similarity index 100% rename from src/captchas/VAERS/d4B4cb.jpeg rename to src/captcha/captchas/VAERS/d4B4cb.jpeg diff --git a/src/captchas/VAERS/d5A02C.jpeg b/src/captcha/captchas/VAERS/d5A02C.jpeg similarity index 100% rename from src/captchas/VAERS/d5A02C.jpeg rename to src/captcha/captchas/VAERS/d5A02C.jpeg diff --git a/src/captchas/VAERS/d5Aa44.jpeg b/src/captcha/captchas/VAERS/d5Aa44.jpeg similarity index 100% rename from src/captchas/VAERS/d5Aa44.jpeg rename to src/captcha/captchas/VAERS/d5Aa44.jpeg diff --git a/src/captchas/VAERS/d6F8F2.jpeg b/src/captcha/captchas/VAERS/d6F8F2.jpeg similarity index 100% rename from src/captchas/VAERS/d6F8F2.jpeg rename to src/captcha/captchas/VAERS/d6F8F2.jpeg diff --git a/src/captchas/VAERS/d6c8D5.jpeg b/src/captcha/captchas/VAERS/d6c8D5.jpeg similarity index 100% rename from src/captchas/VAERS/d6c8D5.jpeg rename to src/captcha/captchas/VAERS/d6c8D5.jpeg diff --git a/src/captchas/VAERS/d731c9.jpeg b/src/captcha/captchas/VAERS/d731c9.jpeg similarity index 100% rename from src/captchas/VAERS/d731c9.jpeg rename to src/captcha/captchas/VAERS/d731c9.jpeg diff --git a/src/captchas/VAERS/d7dF0d.jpeg b/src/captcha/captchas/VAERS/d7dF0d.jpeg similarity index 100% rename from src/captchas/VAERS/d7dF0d.jpeg rename to src/captcha/captchas/VAERS/d7dF0d.jpeg diff --git a/src/captchas/VAERS/d86805.jpeg b/src/captcha/captchas/VAERS/d86805.jpeg similarity index 100% rename from src/captchas/VAERS/d86805.jpeg rename to src/captcha/captchas/VAERS/d86805.jpeg diff --git a/src/captchas/VAERS/d8EA5D.jpeg b/src/captcha/captchas/VAERS/d8EA5D.jpeg similarity index 100% rename from src/captchas/VAERS/d8EA5D.jpeg rename to src/captcha/captchas/VAERS/d8EA5D.jpeg diff --git a/src/captchas/VAERS/d8d6BD.jpeg b/src/captcha/captchas/VAERS/d8d6BD.jpeg similarity index 100% rename from src/captchas/VAERS/d8d6BD.jpeg rename to src/captcha/captchas/VAERS/d8d6BD.jpeg diff --git a/src/captchas/VAERS/d936c3.jpeg b/src/captcha/captchas/VAERS/d936c3.jpeg similarity index 100% rename from src/captchas/VAERS/d936c3.jpeg rename to src/captcha/captchas/VAERS/d936c3.jpeg diff --git a/src/captchas/VAERS/d94b26.jpeg b/src/captcha/captchas/VAERS/d94b26.jpeg similarity index 100% rename from src/captchas/VAERS/d94b26.jpeg rename to src/captcha/captchas/VAERS/d94b26.jpeg diff --git a/src/captchas/VAERS/d9580e.jpeg b/src/captcha/captchas/VAERS/d9580e.jpeg similarity index 100% rename from src/captchas/VAERS/d9580e.jpeg rename to src/captcha/captchas/VAERS/d9580e.jpeg diff --git a/src/captchas/VAERS/dC8f64.jpeg b/src/captcha/captchas/VAERS/dC8f64.jpeg similarity index 100% rename from src/captchas/VAERS/dC8f64.jpeg rename to src/captcha/captchas/VAERS/dC8f64.jpeg diff --git a/src/captchas/VAERS/dE0576.jpeg b/src/captcha/captchas/VAERS/dE0576.jpeg similarity index 100% rename from src/captchas/VAERS/dE0576.jpeg rename to src/captcha/captchas/VAERS/dE0576.jpeg diff --git a/src/captchas/VAERS/dE8867.jpeg b/src/captcha/captchas/VAERS/dE8867.jpeg similarity index 100% rename from src/captchas/VAERS/dE8867.jpeg rename to src/captcha/captchas/VAERS/dE8867.jpeg diff --git a/src/captchas/VAERS/dbc1C4.jpeg b/src/captcha/captchas/VAERS/dbc1C4.jpeg similarity index 100% rename from src/captchas/VAERS/dbc1C4.jpeg rename to src/captcha/captchas/VAERS/dbc1C4.jpeg diff --git a/src/captchas/VAERS/ddd724.jpeg b/src/captcha/captchas/VAERS/ddd724.jpeg similarity index 100% rename from src/captchas/VAERS/ddd724.jpeg rename to src/captcha/captchas/VAERS/ddd724.jpeg diff --git a/src/captchas/VAERS/deEa28.jpeg b/src/captcha/captchas/VAERS/deEa28.jpeg similarity index 100% rename from src/captchas/VAERS/deEa28.jpeg rename to src/captcha/captchas/VAERS/deEa28.jpeg diff --git a/src/captchas/VAERS/df8852.jpeg b/src/captcha/captchas/VAERS/df8852.jpeg similarity index 100% rename from src/captchas/VAERS/df8852.jpeg rename to src/captcha/captchas/VAERS/df8852.jpeg diff --git a/src/captchas/VAERS/dfB8AE.jpeg b/src/captcha/captchas/VAERS/dfB8AE.jpeg similarity index 100% rename from src/captchas/VAERS/dfB8AE.jpeg rename to src/captcha/captchas/VAERS/dfB8AE.jpeg diff --git a/src/captchas/VAERS/dfC228.jpeg b/src/captcha/captchas/VAERS/dfC228.jpeg similarity index 100% rename from src/captchas/VAERS/dfC228.jpeg rename to src/captcha/captchas/VAERS/dfC228.jpeg diff --git a/src/captchas/VAERS/dfce47.jpeg b/src/captcha/captchas/VAERS/dfce47.jpeg similarity index 100% rename from src/captchas/VAERS/dfce47.jpeg rename to src/captcha/captchas/VAERS/dfce47.jpeg diff --git a/src/captchas/VAERS/e08e8B.jpeg b/src/captcha/captchas/VAERS/e08e8B.jpeg similarity index 100% rename from src/captchas/VAERS/e08e8B.jpeg rename to src/captcha/captchas/VAERS/e08e8B.jpeg diff --git a/src/captchas/VAERS/e0ab77.jpeg b/src/captcha/captchas/VAERS/e0ab77.jpeg similarity index 100% rename from src/captchas/VAERS/e0ab77.jpeg rename to src/captcha/captchas/VAERS/e0ab77.jpeg diff --git a/src/captchas/VAERS/e17456.jpeg b/src/captcha/captchas/VAERS/e17456.jpeg similarity index 100% rename from src/captchas/VAERS/e17456.jpeg rename to src/captcha/captchas/VAERS/e17456.jpeg diff --git a/src/captchas/VAERS/e2CF07.jpeg b/src/captcha/captchas/VAERS/e2CF07.jpeg similarity index 100% rename from src/captchas/VAERS/e2CF07.jpeg rename to src/captcha/captchas/VAERS/e2CF07.jpeg diff --git a/src/captchas/VAERS/e2acF5.jpeg b/src/captcha/captchas/VAERS/e2acF5.jpeg similarity index 100% rename from src/captchas/VAERS/e2acF5.jpeg rename to src/captcha/captchas/VAERS/e2acF5.jpeg diff --git a/src/captchas/VAERS/e46981.jpeg b/src/captcha/captchas/VAERS/e46981.jpeg similarity index 100% rename from src/captchas/VAERS/e46981.jpeg rename to src/captcha/captchas/VAERS/e46981.jpeg diff --git a/src/captchas/VAERS/e4A461.jpeg b/src/captcha/captchas/VAERS/e4A461.jpeg similarity index 100% rename from src/captchas/VAERS/e4A461.jpeg rename to src/captcha/captchas/VAERS/e4A461.jpeg diff --git a/src/captchas/VAERS/e4eeed.jpeg b/src/captcha/captchas/VAERS/e4eeed.jpeg similarity index 100% rename from src/captchas/VAERS/e4eeed.jpeg rename to src/captcha/captchas/VAERS/e4eeed.jpeg diff --git a/src/captchas/VAERS/e59E0e.jpeg b/src/captcha/captchas/VAERS/e59E0e.jpeg similarity index 100% rename from src/captchas/VAERS/e59E0e.jpeg rename to src/captcha/captchas/VAERS/e59E0e.jpeg diff --git a/src/captchas/VAERS/e68cda.jpeg b/src/captcha/captchas/VAERS/e68cda.jpeg similarity index 100% rename from src/captchas/VAERS/e68cda.jpeg rename to src/captcha/captchas/VAERS/e68cda.jpeg diff --git a/src/captchas/VAERS/e730ca.jpeg b/src/captcha/captchas/VAERS/e730ca.jpeg similarity index 100% rename from src/captchas/VAERS/e730ca.jpeg rename to src/captcha/captchas/VAERS/e730ca.jpeg diff --git a/src/captchas/VAERS/e79c05.jpeg b/src/captcha/captchas/VAERS/e79c05.jpeg similarity index 100% rename from src/captchas/VAERS/e79c05.jpeg rename to src/captcha/captchas/VAERS/e79c05.jpeg diff --git a/src/captchas/VAERS/e7AB7b.jpeg b/src/captcha/captchas/VAERS/e7AB7b.jpeg similarity index 100% rename from src/captchas/VAERS/e7AB7b.jpeg rename to src/captcha/captchas/VAERS/e7AB7b.jpeg diff --git a/src/captchas/VAERS/e7BD8f.jpeg b/src/captcha/captchas/VAERS/e7BD8f.jpeg similarity index 100% rename from src/captchas/VAERS/e7BD8f.jpeg rename to src/captcha/captchas/VAERS/e7BD8f.jpeg diff --git a/src/captchas/VAERS/e8E07d.jpeg b/src/captcha/captchas/VAERS/e8E07d.jpeg similarity index 100% rename from src/captchas/VAERS/e8E07d.jpeg rename to src/captcha/captchas/VAERS/e8E07d.jpeg diff --git a/src/captchas/VAERS/e8FA25.jpeg b/src/captcha/captchas/VAERS/e8FA25.jpeg similarity index 100% rename from src/captchas/VAERS/e8FA25.jpeg rename to src/captcha/captchas/VAERS/e8FA25.jpeg diff --git a/src/captchas/VAERS/e9B53A.jpeg b/src/captcha/captchas/VAERS/e9B53A.jpeg similarity index 100% rename from src/captchas/VAERS/e9B53A.jpeg rename to src/captcha/captchas/VAERS/e9B53A.jpeg diff --git a/src/captchas/VAERS/eAB8fd.jpeg b/src/captcha/captchas/VAERS/eAB8fd.jpeg similarity index 100% rename from src/captchas/VAERS/eAB8fd.jpeg rename to src/captcha/captchas/VAERS/eAB8fd.jpeg diff --git a/src/captchas/VAERS/eB9041.jpeg b/src/captcha/captchas/VAERS/eB9041.jpeg similarity index 100% rename from src/captchas/VAERS/eB9041.jpeg rename to src/captcha/captchas/VAERS/eB9041.jpeg diff --git a/src/captchas/VAERS/eBDe94.jpeg b/src/captcha/captchas/VAERS/eBDe94.jpeg similarity index 100% rename from src/captchas/VAERS/eBDe94.jpeg rename to src/captcha/captchas/VAERS/eBDe94.jpeg diff --git a/src/captchas/VAERS/eC26ec.jpeg b/src/captcha/captchas/VAERS/eC26ec.jpeg similarity index 100% rename from src/captchas/VAERS/eC26ec.jpeg rename to src/captcha/captchas/VAERS/eC26ec.jpeg diff --git a/src/captchas/VAERS/eC928c.jpeg b/src/captcha/captchas/VAERS/eC928c.jpeg similarity index 100% rename from src/captchas/VAERS/eC928c.jpeg rename to src/captcha/captchas/VAERS/eC928c.jpeg diff --git a/src/captchas/VAERS/eD494A.jpeg b/src/captcha/captchas/VAERS/eD494A.jpeg similarity index 100% rename from src/captchas/VAERS/eD494A.jpeg rename to src/captcha/captchas/VAERS/eD494A.jpeg diff --git a/src/captchas/VAERS/eD8149.jpeg b/src/captcha/captchas/VAERS/eD8149.jpeg similarity index 100% rename from src/captchas/VAERS/eD8149.jpeg rename to src/captcha/captchas/VAERS/eD8149.jpeg diff --git a/src/captchas/VAERS/eDa8EB.jpeg b/src/captcha/captchas/VAERS/eDa8EB.jpeg similarity index 100% rename from src/captchas/VAERS/eDa8EB.jpeg rename to src/captcha/captchas/VAERS/eDa8EB.jpeg diff --git a/src/captchas/VAERS/eE9CC4.jpeg b/src/captcha/captchas/VAERS/eE9CC4.jpeg similarity index 100% rename from src/captchas/VAERS/eE9CC4.jpeg rename to src/captcha/captchas/VAERS/eE9CC4.jpeg diff --git a/src/captchas/VAERS/eFA605.jpeg b/src/captcha/captchas/VAERS/eFA605.jpeg similarity index 100% rename from src/captchas/VAERS/eFA605.jpeg rename to src/captcha/captchas/VAERS/eFA605.jpeg diff --git a/src/captchas/VAERS/eFbDf1.jpeg b/src/captcha/captchas/VAERS/eFbDf1.jpeg similarity index 100% rename from src/captchas/VAERS/eFbDf1.jpeg rename to src/captcha/captchas/VAERS/eFbDf1.jpeg diff --git a/src/captchas/VAERS/ea902e.jpeg b/src/captcha/captchas/VAERS/ea902e.jpeg similarity index 100% rename from src/captchas/VAERS/ea902e.jpeg rename to src/captcha/captchas/VAERS/ea902e.jpeg diff --git a/src/captchas/VAERS/eb14f0.jpeg b/src/captcha/captchas/VAERS/eb14f0.jpeg similarity index 100% rename from src/captchas/VAERS/eb14f0.jpeg rename to src/captcha/captchas/VAERS/eb14f0.jpeg diff --git a/src/captchas/VAERS/eb882c.jpeg b/src/captcha/captchas/VAERS/eb882c.jpeg similarity index 100% rename from src/captchas/VAERS/eb882c.jpeg rename to src/captcha/captchas/VAERS/eb882c.jpeg diff --git a/src/captchas/VAERS/ed7BDa.jpeg b/src/captcha/captchas/VAERS/ed7BDa.jpeg similarity index 100% rename from src/captchas/VAERS/ed7BDa.jpeg rename to src/captcha/captchas/VAERS/ed7BDa.jpeg diff --git a/src/captchas/VAERS/edf4a8.jpeg b/src/captcha/captchas/VAERS/edf4a8.jpeg similarity index 100% rename from src/captchas/VAERS/edf4a8.jpeg rename to src/captcha/captchas/VAERS/edf4a8.jpeg diff --git a/src/captchas/VAERS/f01C76.jpeg b/src/captcha/captchas/VAERS/f01C76.jpeg similarity index 100% rename from src/captchas/VAERS/f01C76.jpeg rename to src/captcha/captchas/VAERS/f01C76.jpeg diff --git a/src/captchas/VAERS/f043a6.jpeg b/src/captcha/captchas/VAERS/f043a6.jpeg similarity index 100% rename from src/captchas/VAERS/f043a6.jpeg rename to src/captcha/captchas/VAERS/f043a6.jpeg diff --git a/src/captchas/VAERS/f0493A.jpeg b/src/captcha/captchas/VAERS/f0493A.jpeg similarity index 100% rename from src/captchas/VAERS/f0493A.jpeg rename to src/captcha/captchas/VAERS/f0493A.jpeg diff --git a/src/captchas/VAERS/f123F2.jpeg b/src/captcha/captchas/VAERS/f123F2.jpeg similarity index 100% rename from src/captchas/VAERS/f123F2.jpeg rename to src/captcha/captchas/VAERS/f123F2.jpeg diff --git a/src/captchas/VAERS/f136De.jpeg b/src/captcha/captchas/VAERS/f136De.jpeg similarity index 100% rename from src/captchas/VAERS/f136De.jpeg rename to src/captcha/captchas/VAERS/f136De.jpeg diff --git a/src/captchas/VAERS/f19062.jpeg b/src/captcha/captchas/VAERS/f19062.jpeg similarity index 100% rename from src/captchas/VAERS/f19062.jpeg rename to src/captcha/captchas/VAERS/f19062.jpeg diff --git a/src/captchas/VAERS/f2568A.jpeg b/src/captcha/captchas/VAERS/f2568A.jpeg similarity index 100% rename from src/captchas/VAERS/f2568A.jpeg rename to src/captcha/captchas/VAERS/f2568A.jpeg diff --git a/src/captchas/VAERS/f257b4.jpeg b/src/captcha/captchas/VAERS/f257b4.jpeg similarity index 100% rename from src/captchas/VAERS/f257b4.jpeg rename to src/captcha/captchas/VAERS/f257b4.jpeg diff --git a/src/captchas/VAERS/f2861d.jpeg b/src/captcha/captchas/VAERS/f2861d.jpeg similarity index 100% rename from src/captchas/VAERS/f2861d.jpeg rename to src/captcha/captchas/VAERS/f2861d.jpeg diff --git a/src/captchas/VAERS/f32878.jpeg b/src/captcha/captchas/VAERS/f32878.jpeg similarity index 100% rename from src/captchas/VAERS/f32878.jpeg rename to src/captcha/captchas/VAERS/f32878.jpeg diff --git a/src/captchas/VAERS/f34cB8.jpeg b/src/captcha/captchas/VAERS/f34cB8.jpeg similarity index 100% rename from src/captchas/VAERS/f34cB8.jpeg rename to src/captcha/captchas/VAERS/f34cB8.jpeg diff --git a/src/captchas/VAERS/f3d3F7.jpeg b/src/captcha/captchas/VAERS/f3d3F7.jpeg similarity index 100% rename from src/captchas/VAERS/f3d3F7.jpeg rename to src/captcha/captchas/VAERS/f3d3F7.jpeg diff --git a/src/captchas/VAERS/f4B5ED.jpeg b/src/captcha/captchas/VAERS/f4B5ED.jpeg similarity index 100% rename from src/captchas/VAERS/f4B5ED.jpeg rename to src/captcha/captchas/VAERS/f4B5ED.jpeg diff --git a/src/captchas/VAERS/f54EFF.jpeg b/src/captcha/captchas/VAERS/f54EFF.jpeg similarity index 100% rename from src/captchas/VAERS/f54EFF.jpeg rename to src/captcha/captchas/VAERS/f54EFF.jpeg diff --git a/src/captchas/VAERS/f75aA0.jpeg b/src/captcha/captchas/VAERS/f75aA0.jpeg similarity index 100% rename from src/captchas/VAERS/f75aA0.jpeg rename to src/captcha/captchas/VAERS/f75aA0.jpeg diff --git a/src/captchas/VAERS/f81DBA.jpeg b/src/captcha/captchas/VAERS/f81DBA.jpeg similarity index 100% rename from src/captchas/VAERS/f81DBA.jpeg rename to src/captcha/captchas/VAERS/f81DBA.jpeg diff --git a/src/captchas/VAERS/f867fa.jpeg b/src/captcha/captchas/VAERS/f867fa.jpeg similarity index 100% rename from src/captchas/VAERS/f867fa.jpeg rename to src/captcha/captchas/VAERS/f867fa.jpeg diff --git a/src/captchas/VAERS/f89d3a.jpeg b/src/captcha/captchas/VAERS/f89d3a.jpeg similarity index 100% rename from src/captchas/VAERS/f89d3a.jpeg rename to src/captcha/captchas/VAERS/f89d3a.jpeg diff --git a/src/captchas/VAERS/f8cb39.jpeg b/src/captcha/captchas/VAERS/f8cb39.jpeg similarity index 100% rename from src/captchas/VAERS/f8cb39.jpeg rename to src/captcha/captchas/VAERS/f8cb39.jpeg diff --git a/src/captchas/VAERS/f90942.jpeg b/src/captcha/captchas/VAERS/f90942.jpeg similarity index 100% rename from src/captchas/VAERS/f90942.jpeg rename to src/captcha/captchas/VAERS/f90942.jpeg diff --git a/src/captchas/VAERS/f99622.jpeg b/src/captcha/captchas/VAERS/f99622.jpeg similarity index 100% rename from src/captchas/VAERS/f99622.jpeg rename to src/captcha/captchas/VAERS/f99622.jpeg diff --git a/src/captchas/VAERS/f9Dcc2.jpeg b/src/captcha/captchas/VAERS/f9Dcc2.jpeg similarity index 100% rename from src/captchas/VAERS/f9Dcc2.jpeg rename to src/captcha/captchas/VAERS/f9Dcc2.jpeg diff --git a/src/captchas/VAERS/fAaa5D.jpeg b/src/captcha/captchas/VAERS/fAaa5D.jpeg similarity index 100% rename from src/captchas/VAERS/fAaa5D.jpeg rename to src/captcha/captchas/VAERS/fAaa5D.jpeg diff --git a/src/captchas/VAERS/fAe855.jpeg b/src/captcha/captchas/VAERS/fAe855.jpeg similarity index 100% rename from src/captchas/VAERS/fAe855.jpeg rename to src/captcha/captchas/VAERS/fAe855.jpeg diff --git a/src/captchas/VAERS/fB1D8f.jpeg b/src/captcha/captchas/VAERS/fB1D8f.jpeg similarity index 100% rename from src/captchas/VAERS/fB1D8f.jpeg rename to src/captcha/captchas/VAERS/fB1D8f.jpeg diff --git a/src/captchas/VAERS/fBF278.jpeg b/src/captcha/captchas/VAERS/fBF278.jpeg similarity index 100% rename from src/captchas/VAERS/fBF278.jpeg rename to src/captcha/captchas/VAERS/fBF278.jpeg diff --git a/src/captchas/VAERS/fD9CFf.jpeg b/src/captcha/captchas/VAERS/fD9CFf.jpeg similarity index 100% rename from src/captchas/VAERS/fD9CFf.jpeg rename to src/captcha/captchas/VAERS/fD9CFf.jpeg diff --git a/src/captchas/VAERS/fF1c0b.jpeg b/src/captcha/captchas/VAERS/fF1c0b.jpeg similarity index 100% rename from src/captchas/VAERS/fF1c0b.jpeg rename to src/captcha/captchas/VAERS/fF1c0b.jpeg diff --git a/src/captchas/VAERS/faEA48.jpeg b/src/captcha/captchas/VAERS/faEA48.jpeg similarity index 100% rename from src/captchas/VAERS/faEA48.jpeg rename to src/captcha/captchas/VAERS/faEA48.jpeg diff --git a/src/captchas/VAERS/fc6C48.jpeg b/src/captcha/captchas/VAERS/fc6C48.jpeg similarity index 100% rename from src/captchas/VAERS/fc6C48.jpeg rename to src/captcha/captchas/VAERS/fc6C48.jpeg diff --git a/src/captchas/VAERS/fd9847.jpeg b/src/captcha/captchas/VAERS/fd9847.jpeg similarity index 100% rename from src/captchas/VAERS/fd9847.jpeg rename to src/captcha/captchas/VAERS/fd9847.jpeg diff --git a/src/captchas/VAERS/fdb514.jpeg b/src/captcha/captchas/VAERS/fdb514.jpeg similarity index 100% rename from src/captchas/VAERS/fdb514.jpeg rename to src/captcha/captchas/VAERS/fdb514.jpeg diff --git a/src/captchas/VAERS/ffcAb5.jpeg b/src/captcha/captchas/VAERS/ffcAb5.jpeg similarity index 100% rename from src/captchas/VAERS/ffcAb5.jpeg rename to src/captcha/captchas/VAERS/ffcAb5.jpeg