From c2e44b981e0e9250a016b853ee329d60b948fa7b Mon Sep 17 00:00:00 2001 From: morpheus65535 Date: Sun, 28 Nov 2021 17:45:54 -0500 Subject: [PATCH 01/48] Fixed automatic subtitles synchronization that shouldn't be triggered on forced subtitles. --- bazarr/get_subtitle.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/bazarr/get_subtitle.py b/bazarr/get_subtitle.py index 9bf0875f9..265aa24b3 100644 --- a/bazarr/get_subtitle.py +++ b/bazarr/get_subtitle.py @@ -229,6 +229,7 @@ def download_subtitle(path, language, audio_language, hi, forced, providers, pro series_id = episode_metadata['sonarrSeriesId'] episode_id = episode_metadata['sonarrEpisodeId'] sync_subtitles(video_path=path, srt_path=downloaded_path, + forced=subtitle.language.forced, srt_lang=downloaded_language_code2, media_type=media_type, percent_score=percent_score, sonarr_series_id=episode_metadata['sonarrSeriesId'], @@ -241,6 +242,7 @@ def download_subtitle(path, language, audio_language, hi, forced, providers, pro series_id = "" episode_id = movie_metadata['radarrId'] sync_subtitles(video_path=path, srt_path=downloaded_path, + forced=subtitle.language.forced, srt_lang=downloaded_language_code2, media_type=media_type, percent_score=percent_score, radarr_id=movie_metadata['radarrId']) @@ -552,6 +554,7 @@ def manual_download_subtitle(path, language, audio_language, hi, forced, subtitl series_id = episode_metadata['sonarrSeriesId'] episode_id = episode_metadata['sonarrEpisodeId'] sync_subtitles(video_path=path, srt_path=downloaded_path, + forced=subtitle.language.forced, srt_lang=downloaded_language_code2, media_type=media_type, percent_score=score, sonarr_series_id=episode_metadata['sonarrSeriesId'], @@ -564,6 +567,7 @@ def manual_download_subtitle(path, language, audio_language, hi, forced, subtitl series_id = "" episode_id = movie_metadata['radarrId'] sync_subtitles(video_path=path, srt_path=downloaded_path, + forced=subtitle.language.forced, srt_lang=downloaded_language_code2, media_type=media_type, percent_score=score, radarr_id=movie_metadata['radarrId']) @@ -696,7 +700,7 @@ def manual_upload_subtitle(path, language, forced, hi, title, scene_name, media_ series_id = episode_metadata['sonarrSeriesId'] episode_id = episode_metadata['sonarrEpisodeId'] sync_subtitles(video_path=path, srt_path=subtitle_path, srt_lang=uploaded_language_code2, media_type=media_type, - percent_score=100, sonarr_series_id=episode_metadata['sonarrSeriesId'], + percent_score=100, sonarr_series_id=episode_metadata['sonarrSeriesId'], forced=forced, sonarr_episode_id=episode_metadata['sonarrEpisodeId']) else: movie_metadata = TableMovies.select(TableMovies.radarrId)\ @@ -706,7 +710,7 @@ def manual_upload_subtitle(path, language, forced, hi, title, scene_name, media_ series_id = "" episode_id = movie_metadata['radarrId'] sync_subtitles(video_path=path, srt_path=subtitle_path, srt_lang=uploaded_language_code2, media_type=media_type, - percent_score=100, radarr_id=movie_metadata['radarrId']) + percent_score=100, radarr_id=movie_metadata['radarrId'], forced=forced) if use_postprocessing : command = pp_replace(postprocessing_cmd, path, subtitle_path, uploaded_language, @@ -1660,9 +1664,15 @@ def postprocessing(command, path): logging.info('BAZARR Post-processing result for file ' + path + ' : ' + out) -def sync_subtitles(video_path, srt_path, srt_lang, media_type, percent_score, sonarr_series_id=None, +def sync_subtitles(video_path, srt_path, srt_lang, forced, media_type, percent_score, sonarr_series_id=None, sonarr_episode_id=None, radarr_id=None): - if settings.subsync.getboolean('use_subsync'): + if forced: + logging.debug('BAZARR cannot sync forced subtitles. Skipping sync routine.') + elif not settings.subsync.getboolean('use_subsync'): + logging.debug('BAZARR automatic syncing is disabled in settings. Skipping sync routine.') + else: + logging.debug(f'BAZARR automatic syncing is enabled in settings. We\'ll try to sync this ' + f'subtitles: {srt_path}.') if media_type == 'series': use_subsync_threshold = settings.subsync.getboolean('use_subsync_threshold') subsync_threshold = settings.subsync.subsync_threshold From 6a88596aabd49d3ba2557d3757a41268026ee603 Mon Sep 17 00:00:00 2001 From: morpheus65535 Date: Mon, 29 Nov 2021 13:09:33 -0500 Subject: [PATCH 02/48] Fixed config directory being deleted during upgrade leftover removal routine. --- bazarr/check_update.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bazarr/check_update.py b/bazarr/check_update.py index 96c88e92d..3b73962a6 100644 --- a/bazarr/check_update.py +++ b/bazarr/check_update.py @@ -193,7 +193,7 @@ def update_cleaner(zipfile, bazarr_dir, config_dir): '^venv' + separator, '^WinPython' + separator, separator + '__pycache__' + separator + '$'] - if os.path.abspath(bazarr_dir) in os.path.abspath(config_dir): + if os.path.abspath(bazarr_dir).lower() in os.path.abspath(config_dir).lower(): dir_to_ignore.append('^' + os.path.relpath(config_dir, bazarr_dir) + os.path.sep) dir_to_ignore_regex = re.compile('(?:% s)' % '|'.join(dir_to_ignore)) logging.debug('BAZARR upgrade leftover cleaner will ignore directories matching this regex: ' From f0828959f3e2561bc3252cb79b2570c6d3122b03 Mon Sep 17 00:00:00 2001 From: morpheus65535 Date: Mon, 29 Nov 2021 14:28:30 -0500 Subject: [PATCH 03/48] Updated deep-translator module and made some fix to support translation to Chinese. There's still a bug in this module that prevent it but one it's fixed, it should be fine. --- bazarr/utils.py | 13 +- frontend/src/components/modals/toolOptions.ts | 4 +- libs/deep_translator/__init__.py | 30 ++-- libs/deep_translator/cli.py | 52 ------ libs/deep_translator/configs.py | 11 -- libs/deep_translator/constants.py | 75 ++++++++- libs/deep_translator/deepl.py | 88 ++++++---- libs/deep_translator/detection.py | 7 +- libs/deep_translator/exceptions.py | 35 +++- libs/deep_translator/google_trans.py | 56 ++++--- libs/deep_translator/linguee.py | 25 +-- libs/deep_translator/main.py | 124 ++++++++++++++ libs/deep_translator/microsoft.py | 146 +++++++++++++++++ libs/deep_translator/mymemory.py | 28 ++-- libs/deep_translator/papago.py | 154 ++++++++++++++++++ libs/deep_translator/parent.py | 17 +- libs/deep_translator/pons.py | 26 +-- libs/deep_translator/qcri.py | 36 ++-- libs/deep_translator/tests/__init__.py | 1 - .../tests/test_google_trans.py | 57 ------- libs/deep_translator/tests/test_linguee.py | 49 ------ libs/deep_translator/tests/test_mymemory.py | 48 ------ libs/deep_translator/tests/test_pons.py | 48 ------ libs/deep_translator/utils.py | 3 - libs/deep_translator/yandex.py | 35 ++-- libs/version.txt | 1 + 26 files changed, 747 insertions(+), 422 deletions(-) delete mode 100644 libs/deep_translator/cli.py delete mode 100644 libs/deep_translator/configs.py create mode 100644 libs/deep_translator/main.py create mode 100644 libs/deep_translator/microsoft.py create mode 100644 libs/deep_translator/papago.py delete mode 100644 libs/deep_translator/tests/__init__.py delete mode 100644 libs/deep_translator/tests/test_google_trans.py delete mode 100644 libs/deep_translator/tests/test_linguee.py delete mode 100644 libs/deep_translator/tests/test_mymemory.py delete mode 100644 libs/deep_translator/tests/test_pons.py delete mode 100644 libs/deep_translator/utils.py diff --git a/bazarr/utils.py b/bazarr/utils.py index dfb1c7799..e6bc72bb6 100644 --- a/bazarr/utils.py +++ b/bazarr/utils.py @@ -434,10 +434,14 @@ def subtitles_apply_mods(language, subtitle_path, mods): def translate_subtitles_file(video_path, source_srt_file, to_lang, forced, hi): language_code_convert_dict = { 'he': 'iw', + 'zt': 'zh-cn', + 'zh': 'zh-tw', } to_lang = alpha3_from_alpha2(to_lang) - lang_obj = Language(to_lang) + lang_obj = CustomLanguage.from_value(to_lang, "alpha3") + if not lang_obj: + lang_obj = Language(to_lang) if forced: lang_obj = Language.rebuild(lang_obj, forced=True) if hi: @@ -447,7 +451,8 @@ def translate_subtitles_file(video_path, source_srt_file, to_lang, forced, hi): max_characters = 5000 - dest_srt_file = get_subtitle_path(video_path, language=lang_obj, extension='.srt', forced_tag=forced, hi_tag=hi) + dest_srt_file = get_subtitle_path(video_path, language=lang_obj if isinstance(lang_obj, Language) else lang_obj.subzero_language(), + extension='.srt', forced_tag=forced, hi_tag=hi) subs = pysubs2.load(source_srt_file, encoding='utf-8') lines_list = [x.plaintext for x in subs] @@ -471,8 +476,8 @@ def translate_subtitles_file(video_path, source_srt_file, to_lang, forced, hi): for block_str in lines_block_list: try: translated_partial_srt_text = GoogleTranslator(source='auto', - target=language_code_convert_dict.get(lang_obj.basename, - lang_obj.basename) + target=language_code_convert_dict.get(lang_obj.alpha2, + lang_obj.alpha2) ).translate(text=block_str) except: return False diff --git a/frontend/src/components/modals/toolOptions.ts b/frontend/src/components/modals/toolOptions.ts index 27bfcbb07..5639cd4d0 100644 --- a/frontend/src/components/modals/toolOptions.ts +++ b/frontend/src/components/modals/toolOptions.ts @@ -13,8 +13,8 @@ export const availableTranslation = { ca: "catalan", ceb: "cebuano", ny: "chichewa", - "zh-cn": "chinese (simplified)", - "zh-tw": "chinese (traditional)", + zh: "chinese (simplified)", + zt: "chinese (traditional)", co: "corsican", hr: "croatian", cs: "czech", diff --git a/libs/deep_translator/__init__.py b/libs/deep_translator/__init__.py index 36321add6..789ed970a 100644 --- a/libs/deep_translator/__init__.py +++ b/libs/deep_translator/__init__.py @@ -1,5 +1,6 @@ -"""Top-level package for deep_translator.""" +"""Top-level package for Deep Translator""" +# TODO: Discussion: Do these need to be in __init__.py? Are they intended to be exportable? from .google_trans import GoogleTranslator from .pons import PonsTranslator from .linguee import LingueeTranslator @@ -8,18 +9,23 @@ from .yandex import YandexTranslator from .qcri import QCRI from .deepl import DeepL from .detection import single_detection, batch_detection +from .microsoft import MicrosoftTranslator +from .papago import PapagoTranslator - +# TODO: Discussion: These should be declared in setup.cfg, setting them here is redundant __author__ = """Nidhal Baccouri""" __email__ = 'nidhalbacc@gmail.com' -__version__ = '1.3.2' +__version__ = '1.5.0' -__all__ = [GoogleTranslator, - PonsTranslator, - LingueeTranslator, - MyMemoryTranslator, - YandexTranslator, - QCRI, - DeepL, - single_detection, - batch_detection] +__all__ = [ + "GoogleTranslator", + "PonsTranslator", + "LingueeTranslator", + "MyMemoryTranslator", + "YandexTranslator", + "MicrosoftTranslator", + "QCRI", + "DeepL", + "single_detection", + "batch_detection" + ] diff --git a/libs/deep_translator/cli.py b/libs/deep_translator/cli.py deleted file mode 100644 index d690708fd..000000000 --- a/libs/deep_translator/cli.py +++ /dev/null @@ -1,52 +0,0 @@ -"""Console script for deep_translator.""" - -import argparse -import sys -from .google_trans import GoogleTranslator -from .mymemory import MyMemoryTranslator -from .pons import PonsTranslator -from .linguee import LingueeTranslator - - -def translate(args): - """ - function used to provide translations from the parsed terminal arguments - @param args: parsed terminal arguments - @return: None - """ - translator = None - if args.translator == 'google': - translator = GoogleTranslator(source=args.source, target=args.target) - elif args.translator == 'pons': - translator = PonsTranslator(source=args.source, target=args.target) - elif args.translator == 'linguee': - translator = LingueeTranslator(source=args.source, target=args.target) - elif args.translator == 'mymemory': - translator = MyMemoryTranslator(source=args.source, target=args.target) - else: - print("given translator is not supported. Please use a supported translator from the deep_translator tool") - - res = translator.translate(args.text) - print(" | Translation from {} to {} |".format(args.source, args.target)) - print("Translated text: \n {}".format(res)) - - -def main(): - """ - function responsible for parsing terminal arguments and provide them for further use in the translation process - - """ - parser = argparse.ArgumentParser() - parser.add_argument('--translator', '-trans', - default='google', type=str, help="name of the translator you want to use") - parser.add_argument('--source', '-src', type=str, help="source language to translate from", required=True) - parser.add_argument('--target', '-tg', type=str, help="target language to translate to", required=True) - parser.add_argument('--text', '-txt', type=str, help="text you want to translate", required=True) - - args = parser.parse_args() - translate(args) - # sys.exit() - - -if __name__ == "__main__": - main() diff --git a/libs/deep_translator/configs.py b/libs/deep_translator/configs.py deleted file mode 100644 index 9df609808..000000000 --- a/libs/deep_translator/configs.py +++ /dev/null @@ -1,11 +0,0 @@ -""" -configuration object that holds data about the language detection api -""" - -config = { - "url": 'https://ws.detectlanguage.com/0.2/detect', - "headers": { - 'User-Agent': 'Detect Language API Python Client 1.4.0', - 'Authorization': 'Bearer {}', - } -} diff --git a/libs/deep_translator/constants.py b/libs/deep_translator/constants.py index 5f773997b..8fe51b1e4 100644 --- a/libs/deep_translator/constants.py +++ b/libs/deep_translator/constants.py @@ -1,4 +1,4 @@ - +import requests BASE_URLS = { "GOOGLE_TRANSLATE": "https://translate.google.com/m", @@ -7,7 +7,11 @@ BASE_URLS = { "LINGUEE": "https://www.linguee.com/", "MYMEMORY": "http://api.mymemory.translated.net/get", "QCRI": "https://mt.qcri.org/api/v1/{endpoint}?", - "DEEPL": "https://api.deepl.com/{version}/" + "DEEPL": "https://api.deepl.com/{version}/", + "DEEPL_FREE": "https://api-free.deepl.com/v2/", + "MICROSOFT_TRANSLATE": "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0", + "PAPAGO": "https://papago.naver.com/", + "PAPAGO_API": "https://openapi.naver.com/v1/papago/n2mt" } GOOGLE_CODES_TO_LANGUAGES = { @@ -25,6 +29,7 @@ GOOGLE_CODES_TO_LANGUAGES = { 'ca': 'catalan', 'ceb': 'cebuano', 'ny': 'chichewa', + 'zh': 'chinese', 'zh-cn': 'chinese (simplified)', 'zh-tw': 'chinese (traditional)', 'co': 'corsican', @@ -158,7 +163,7 @@ LINGUEE_LANGUAGES_TO_CODES = { "hungarian": "hu", "romanian": "ro", "russian": "ru", - #"serbian": "sr", + # "serbian": "sr", "dutch": "nl", "slovakian": "sk", "greek": "el", @@ -169,7 +174,7 @@ LINGUEE_LANGUAGES_TO_CODES = { "finnish": "fi", "chinese": "zh", "french": "fr", - #"croatian": "hr", + # "croatian": "hr", "czech": "cs", "laotian": "lo", "swedish": "sv", @@ -181,3 +186,65 @@ LINGUEE_LANGUAGES_TO_CODES = { LINGUEE_CODE_TO_LANGUAGE = {v: k for k, v in LINGUEE_LANGUAGES_TO_CODES.items()} # "72e9e2cc7c992db4dcbdd6fb9f91a0d1" + +# obtaining the current list of supported Microsoft languages for translation + +microsoft_languages_api_url = "https://api.cognitive.microsofttranslator.com/languages?api-version=3.0&scope=translation" +microsoft_languages_response = requests.get(microsoft_languages_api_url) +translation_dict = microsoft_languages_response.json()['translation'] + +MICROSOFT_CODES_TO_LANGUAGES = {translation_dict[k]['name'].lower(): k for k in translation_dict.keys()} + +DEEPL_LANGUAGE_TO_CODE = { + "bulgarian": "bg", + "czech": "cs", + "danish": "da", + "german": "de", + "greek": "el", + "english": "en", + "spanish": "es", + "estonian": "et", + "finnish": "fi", + "french": "fr", + "hungarian": "hu", + "italian": "it", + "japanese": "ja", + "lithuanian": "lt", + "latvian": "lv", + "dutch": "nl", + "polish": "pl", + "portuguese": "pt", + "romanian": "ro", + "russian": "ru", + "slovak": "sk", + "slovenian": "sl", + "swedish": "sv", + "chinese": "zh" +} + +DEEPL_CODE_TO_LANGUAGE = {v: k for k, v in DEEPL_LANGUAGE_TO_CODE.items()} + +PAPAGO_CODE_TO_LANGUAGE = { + 'ko': 'Korean', + 'en': 'English', + 'ja': 'Japanese', + 'zh-CN': 'Chinese', + 'zh-TW': 'Chinese traditional', + 'es': 'Spanish', + 'fr': 'French', + 'vi': 'Vietnamese', + 'th': 'Thai', + 'id': 'Indonesia' +} + +PAPAGO_LANGUAGE_TO_CODE = {v: k for v, k in PAPAGO_CODE_TO_LANGUAGE.items()} + +QCRI_CODE_TO_LANGUAGE = { + 'ar': 'Arabic', + 'en': 'English', + 'es': 'Spanish' +} + +QCRI_LANGUAGE_TO_CODE = { + v: k for k, v in QCRI_CODE_TO_LANGUAGE.items() +} \ No newline at end of file diff --git a/libs/deep_translator/deepl.py b/libs/deep_translator/deepl.py index b08a20d49..1a9f774d5 100644 --- a/libs/deep_translator/deepl.py +++ b/libs/deep_translator/deepl.py @@ -1,59 +1,89 @@ - import requests -from requests.utils import requote_uri -from deep_translator.constants import BASE_URLS -from deep_translator.exceptions import (RequestError, - ServerException, TranslationNotFound, TooManyRequests) +from .constants import BASE_URLS, DEEPL_LANGUAGE_TO_CODE +from .exceptions import (ServerException, + TranslationNotFound, + LanguageNotSupportedException, + AuthorizationException) class DeepL(object): """ class that wraps functions, which use the DeepL translator under the hood to translate word(s) """ + _languages = DEEPL_LANGUAGE_TO_CODE - def __init__(self, api_key=None): + def __init__(self, api_key=None, source="en", target="en", use_free_api=True, **kwargs): """ - @param api_key: your DeepL api key. Get one here: https://www.deepl.com/docs-api/accessing-the-api/ + @param api_key: your DeepL api key. + Get one here: https://www.deepl.com/docs-api/accessing-the-api/ + @param source: source language + @param target: target language """ - if not api_key: raise ServerException(401) self.version = 'v2' self.api_key = api_key - self.__base_url = BASE_URLS.get("DEEPL").format(version=self.version) + self.source = self._map_language_to_code(source) + self.target = self._map_language_to_code(target) + if use_free_api: + self.__base_url = BASE_URLS.get("DEEPL_FREE").format(version=self.version) + else: + self.__base_url = BASE_URLS.get("DEEPL").format(version=self.version) - def translate(self, source, target, text): + def translate(self, text, **kwargs): + """ + @param text: text to translate + @return: translated text + """ + # Create the request parameters. + translate_endpoint = 'translate' params = { "auth_key": self.api_key, - "target_lang": target, - "source_lang": source, + "source_lang": self.source, + "target_lang": self.target, "text": text } + # Do the request and check the connection. try: - response = requests.get(self.__base_url, params=params) + response = requests.get(self.__base_url + translate_endpoint, params=params) except ConnectionError: raise ServerException(503) + # If the answer is not success, raise server exception. + if response.status_code == 403: + raise AuthorizationException(self.api_key) + elif response.status_code != 200: + raise ServerException(response.status_code) + # Get the response and check is not empty. + res = response.json() + if not res: + raise TranslationNotFound(text) + # Process and return the response. + return res['translations'][0]['text'] - else: - if response.status_code != 200: - ServerException(response.status_code) - else: - res = response.json() - if not res: - raise TranslationNotFound(text) - return res - - def translate_batch(self, source, target, batch): + def translate_batch(self, batch, **kwargs): """ - translate a batch of texts - @param source: source language - @param target: target language @param batch: list of texts to translate @return: list of translations """ - return [self.translate(source, target, text) for text in batch] + return [self.translate(text, **kwargs) for text in batch] + + @staticmethod + def get_supported_languages(as_dict=False, **kwargs): + return [*DeepL._languages.keys()] if not as_dict else DeepL._languages + + def _is_language_supported(self, lang, **kwargs): + # The language is supported when is in the dicionary. + return lang == 'auto' or lang in self._languages.keys() or lang in self._languages.values() + + def _map_language_to_code(self, lang, **kwargs): + if lang in self._languages.keys(): + return self._languages[lang] + elif lang in self._languages.values(): + return lang + raise LanguageNotSupportedException(lang) if __name__ == '__main__': - d = DeepL(api_key="key") - print(d) + d = DeepL(target="de") + t = d.translate("I have no idea") + print("text: ", t) diff --git a/libs/deep_translator/detection.py b/libs/deep_translator/detection.py index 6cf8f950d..c8581b5cc 100644 --- a/libs/deep_translator/detection.py +++ b/libs/deep_translator/detection.py @@ -2,11 +2,12 @@ language detection API """ import requests -from deep_translator.configs import config from requests.exceptions import HTTPError +# Module global config +config = {"url": 'https://ws.detectlanguage.com/0.2/detect',"headers": {'User-Agent': 'Detect Language API Python Client 1.4.0','Authorization': 'Bearer {}',}} -def get_request_body(text, api_key, *args): +def get_request_body(text, api_key, *args, **kwargs): """ send a request and return the response body parsed as dictionary @@ -58,7 +59,7 @@ def single_detection(text, api_key=None, detailed=False, *args, **kwargs): return lang -def batch_detection(text_list, api_key, detailed=False, *args): +def batch_detection(text_list, api_key, detailed=False, *args, **kwargs): """ function responsible for detecting the language from a text diff --git a/libs/deep_translator/exceptions.py b/libs/deep_translator/exceptions.py index 7d0ea875b..67b7958e8 100644 --- a/libs/deep_translator/exceptions.py +++ b/libs/deep_translator/exceptions.py @@ -36,6 +36,18 @@ class NotValidPayload(BaseError): super(NotValidPayload, self).__init__(val, message) +class InvalidSourceOrTargetLanguage(BaseError): + """ + exception thrown if the user enters an invalid payload + """ + + def __init__(self, + val, + message="source and target language can't be the same"): + super(InvalidSourceOrTargetLanguage, self).__init__(val, message) + + + class TranslationNotFound(BaseError): """ exception thrown if no translation was found for the text provided by the user @@ -70,7 +82,7 @@ class NotValidLength(BaseError): class RequestError(Exception): """ - exception thrown if an error occured during the request call, e.g a connection problem. + exception thrown if an error occurred during the request call, e.g a connection problem. """ def __init__(self, message="Request exception can happen due to an api connection error. " @@ -81,9 +93,22 @@ class RequestError(Exception): return self.message +class MicrosoftAPIerror(Exception): + """ + exception thrown if Microsoft API returns one of its errors + """ + + def __init__(self, api_message): + self.api_message = str(api_message) + self.message="Microsoft API returned the following error" + + def __str__(self): + return "{}: {}".format(self.message, self.api_message) + + class TooManyRequests(Exception): """ - exception thrown if an error occured during the request call, e.g a connection problem. + exception thrown if an error occurred during the request call, e.g a connection problem. """ def __init__(self, message="Server Error: You made too many requests to the server. According to google, you are allowed to make 5 requests per second and up to 200k requests per day. You can wait and try again later or you can try the translate_batch function"): @@ -111,3 +136,9 @@ class ServerException(Exception): def __init__(self, status_code, *args): message = self.errors.get(status_code, "API server error") super(ServerException, self).__init__(message, *args) + + +class AuthorizationException(Exception): + def __init__(self, api_key, *args): + msg = 'Unauthorized access with the api key ' + api_key + super().__init__(msg, *args) diff --git a/libs/deep_translator/google_trans.py b/libs/deep_translator/google_trans.py index 2c1efa06a..e27926be2 100644 --- a/libs/deep_translator/google_trans.py +++ b/libs/deep_translator/google_trans.py @@ -2,9 +2,9 @@ google translator API """ -from deep_translator.constants import BASE_URLS, GOOGLE_LANGUAGES_TO_CODES -from deep_translator.exceptions import TooManyRequests, LanguageNotSupportedException, TranslationNotFound, NotValidPayload, RequestError -from deep_translator.parent import BaseTranslator +from .constants import BASE_URLS, GOOGLE_LANGUAGES_TO_CODES +from .exceptions import TooManyRequests, LanguageNotSupportedException, TranslationNotFound, NotValidPayload, RequestError +from .parent import BaseTranslator from bs4 import BeautifulSoup import requests from time import sleep @@ -19,12 +19,13 @@ class GoogleTranslator(BaseTranslator): _languages = GOOGLE_LANGUAGES_TO_CODES supported_languages = list(_languages.keys()) - def __init__(self, source="auto", target="en"): + def __init__(self, source="auto", target="en", proxies=None, **kwargs): """ @param source: source language to translate from @param target: target language to translate to """ self.__base_url = BASE_URLS.get("GOOGLE_TRANSLATE") + self.proxies = proxies if self.is_language_supported(source, target): self._source, self._target = self._map_language_to_code(source.lower(), target.lower()) @@ -36,12 +37,13 @@ class GoogleTranslator(BaseTranslator): element_query={"class": "t0"}, payload_key='q', # key of text in the url tl=self._target, - sl=self._source) + sl=self._source, + **kwargs) self._alt_element_query = {"class": "result-container"} @staticmethod - def get_supported_languages(as_dict=False): + def get_supported_languages(as_dict=False, **kwargs): """ return the supported languages by the google translator @param as_dict: if True, the languages will be returned as a dictionary mapping languages to their abbreviations @@ -89,24 +91,34 @@ class GoogleTranslator(BaseTranslator): self._url_params[self.payload_key] = text response = requests.get(self.__base_url, - params=self._url_params, headers ={'User-agent': 'your bot 0.1'}) - + params=self._url_params, + proxies=self.proxies) if response.status_code == 429: raise TooManyRequests() if response.status_code != 200: - # print("status code", response.status_code) raise RequestError() soup = BeautifulSoup(response.text, 'html.parser') + element = soup.find(self._element_tag, self._element_query) if not element: element = soup.find(self._element_tag, self._alt_element_query) if not element: raise TranslationNotFound(text) + if element.get_text(strip=True) == text.strip(): + to_translate_alpha = ''.join(ch for ch in text.strip() if ch.isalnum()) + translated_alpha = ''.join(ch for ch in element.get_text(strip=True) if ch.isalnum()) + if to_translate_alpha and translated_alpha and to_translate_alpha == translated_alpha: + self._url_params["tl"] = self._target + if "hl" not in self._url_params: + return text.strip() + del self._url_params["hl"] + return self.translate(text) - return element.get_text(strip=True) + else: + return element.get_text(strip=True) def translate_file(self, path, **kwargs): """ @@ -118,9 +130,8 @@ class GoogleTranslator(BaseTranslator): """ try: with open(path) as f: - text = f.read() - - return self.translate(text=text) + text = f.read().strip() + return self.translate(text) except Exception as e: raise e @@ -149,7 +160,7 @@ class GoogleTranslator(BaseTranslator): except Exception as e: raise e - def translate_batch(self, batch=None): + def translate_batch(self, batch=None, **kwargs): """ translate a list of texts @param batch: list of texts you want to translate @@ -158,16 +169,21 @@ class GoogleTranslator(BaseTranslator): if not batch: raise Exception("Enter your text list that you want to translate") + print("Please wait.. This may take a couple of seconds because deep_translator sleeps " + "for two seconds after each request in order to not spam the google server.") arr = [] - for text in batch: - translated = self.translate(text) + for i, text in enumerate(batch): + + translated = self.translate(text, **kwargs) arr.append(translated) + print("sentence number ", i+1, " has been translated successfully") sleep(2) return arr -# if __name__ == '__main__': -# for _ in range(10): -# txt = GoogleTranslator(source="en", target="ar").translate("Hello how are you") -# print("text: ", txt) + +if __name__ == '__main__': + translator = GoogleTranslator(source='ru', target='uk') + t = translator.translate("Я разработчик") # => "I am a developer" + print(t) diff --git a/libs/deep_translator/linguee.py b/libs/deep_translator/linguee.py index ee2013693..921eee32c 100644 --- a/libs/deep_translator/linguee.py +++ b/libs/deep_translator/linguee.py @@ -2,14 +2,14 @@ linguee translator API """ -from deep_translator.constants import BASE_URLS, LINGUEE_LANGUAGES_TO_CODES, LINGUEE_CODE_TO_LANGUAGE -from deep_translator.exceptions import (LanguageNotSupportedException, - TranslationNotFound, - NotValidPayload, - ElementNotFoundInGetRequest, - RequestError, - TooManyRequests) -from deep_translator.parent import BaseTranslator +from .constants import BASE_URLS, LINGUEE_LANGUAGES_TO_CODES, LINGUEE_CODE_TO_LANGUAGE +from .exceptions import (LanguageNotSupportedException, + TranslationNotFound, + NotValidPayload, + ElementNotFoundInGetRequest, + RequestError, + TooManyRequests) +from .parent import BaseTranslator from bs4 import BeautifulSoup import requests from requests.utils import requote_uri @@ -22,12 +22,13 @@ class LingueeTranslator(BaseTranslator): _languages = LINGUEE_LANGUAGES_TO_CODES supported_languages = list(_languages.keys()) - def __init__(self, source, target="en"): + def __init__(self, source, target="en", proxies=None, **kwargs): """ @param source: source language to translate from @param target: target language to translate to """ self.__base_url = BASE_URLS.get("LINGUEE") + self.proxies = proxies if self.is_language_supported(source, target): self._source, self._target = self._map_language_to_code(source.lower(), target.lower()) @@ -41,7 +42,7 @@ class LingueeTranslator(BaseTranslator): ) @staticmethod - def get_supported_languages(as_dict=False): + def get_supported_languages(as_dict=False, **kwargs): """ return the supported languages by the linguee translator @param as_dict: if True, the languages will be returned as a dictionary mapping languages to their abbreviations @@ -88,7 +89,7 @@ class LingueeTranslator(BaseTranslator): # %s-%s/translation/%s.html url = "{}{}-{}/translation/{}.html".format(self.__base_url, self._source, self._target, word) url = requote_uri(url) - response = requests.get(url) + response = requests.get(url, proxies=self.proxies) if response.status_code == 429: raise TooManyRequests() @@ -125,6 +126,6 @@ class LingueeTranslator(BaseTranslator): translated_words = [] for word in words: - translated_words.append(self.translate(payload=word)) + translated_words.append(self.translate(word=word, **kwargs)) return translated_words diff --git a/libs/deep_translator/main.py b/libs/deep_translator/main.py new file mode 100644 index 000000000..0b4af671a --- /dev/null +++ b/libs/deep_translator/main.py @@ -0,0 +1,124 @@ +"""Console script for deep_translator.""" + +import click +from .google_trans import GoogleTranslator +from .mymemory import MyMemoryTranslator +from .deepl import DeepL +from .qcri import QCRI +from .linguee import LingueeTranslator +from .pons import PonsTranslator +from .yandex import YandexTranslator +from .microsoft import MicrosoftTranslator +from .papago import PapagoTranslator + +CONTEXT_SETTINGS = dict(help_option_names=["-h", "--help"]) +@click.group() +def cli(): + pass + +@cli.command(context_settings=CONTEXT_SETTINGS, no_args_is_help=True) +@click.argument('translator', required=True, default='google', type=str) +@click.option("--source", "-src", required=True, type=str, help="source language to translate from") +@click.option("--target", "-tgt", required=True, type=str, help="target language to translate to") +@click.option("--text", "-txt", type=str,required = True,prompt="Enter the text you want to translate",help="text you want to translate") +@click.option("--api-key",type=str,help="required for DeepL, QCRI, Yandex, Microsoft and Papago translators") +def translate(translator, source, target, text, api_key): + """ + Use TRANSLATOR to translate source material into another language. + \f + Directory function to send arguments to the correct translator. + @param translator: translator name parsed from terminal arguments + @return: None + """ + api_key_required = ["deepl", "qcri", "yandex", "microsoft", "papago"] + if translator in api_key_required and not api_key: + click.echo( + "This translator requires an api key provided through --api-key") + else: + pass + + if translator == "google": + translator = GoogleTranslator(source=source, target=target) + elif translator == "mymemory": + translator = MyMemoryTranslator(source=source, target=target) + elif translator == "deepl": + translator = DeepL(source=source, target=target, api_key=api_key) + elif translator == "qcri": + translator = QCRI(source=source, target=target, api_key=api_key) + elif translator == "linguee": + translator = LingueeTranslator(source=source, target=target) + elif translator == "pons": + translator = PonsTranslator(source=source, target=target) + elif translator == "yandex": + translator = YandexTranslator( + source=source, + target=target, + api_key=api_key) + elif translator == "microsoft": + translator = MicrosoftTranslator( + source=source, + target=target, + api_key=api_key) + elif translator == "papago": + translator = PapagoTranslator( + source=source, + target=target, + api_key=api_key) + else: + raise AttributeError("The given translator is not supported.") + + res = translator.translate(text) + click.echo(f" | Translation from {source} to {target} |") + click.echo(f"Translated text: \n {res}") + return 0 + +@cli.command(context_settings=CONTEXT_SETTINGS, no_args_is_help=True) +@click.argument('translator') +@click.argument('api_key', required=False) +def languages(translator, api_key): + """ + Retrieve the list of available languages from the given translator. + @param translator: Translator given by the user. + @param api_key: Optional API key given by the user. Required for some translators. + @return: None + """ + translator = translator.lower() + api_key_required = ["deepl", "qcri", "yandex", "microsoft", "papago"] + if translator in api_key_required and not api_key: + click.echo("This translator requires an api key provided through --api-key") + else: + pass + + if translator == "google": + translator = GoogleTranslator + elif translator == "mymemory": + translator = MyMemoryTranslator + elif translator == "qcri": + translator = QCRI(api_key=api_key) + elif translator == "linguee": + translator = LingueeTranslator + elif translator == "pons": + translator = PonsTranslator + elif translator == "yandex": + translator = YandexTranslator(api_key=api_key) + elif translator == "microsoft": + translator = MicrosoftTranslator(api_key=api_key) + elif translator == "papago": + translator = PapagoTranslator(api_key=api_key) + else: + raise AttributeError("The given translator is not supported.") + + supported_languages = translator.get_supported_languages(as_dict=True) + click.echo(f"Languages supported by '{translator}' are :") + for k, v in supported_languages.items(): + click.echo(f"|- {k}: {v}") + return 0 + +@cli.command() +def list(): + """Lists available translators.""" + click.echo("Available translators include: Google, MyMemory, QCRI, Linguee, Pons, Yandex, Microsoft (Bing), and Papago.") + return 0 + +if __name__ == "__main__": + cli() diff --git a/libs/deep_translator/microsoft.py b/libs/deep_translator/microsoft.py new file mode 100644 index 000000000..415d8222b --- /dev/null +++ b/libs/deep_translator/microsoft.py @@ -0,0 +1,146 @@ +# -*- coding: utf-8 -*- + +import requests +import logging +import sys + +from .constants import BASE_URLS, MICROSOFT_CODES_TO_LANGUAGES +from .exceptions import LanguageNotSupportedException, ServerException, MicrosoftAPIerror + + +class MicrosoftTranslator: + """ + the class that wraps functions, which use the Microsoft translator under the hood to translate word(s) + """ + + _languages = MICROSOFT_CODES_TO_LANGUAGES + supported_languages = list(_languages.values()) + + def __init__(self, api_key=None, region=None, source=None, target=None, proxies=None, **kwargs): + """ + @params api_key and target are the required params + @param api_key: your Microsoft API key + @param region: your Microsoft Location + """ + if not api_key: + raise ServerException(401) + else: + self.api_key = api_key + + self.proxies = proxies + self.headers = { + "Ocp-Apim-Subscription-Key": self.api_key, + "Content-type": "application/json", + } + # region is not required but very common and goes to headers if passed + if region: + self.region = region + self.headers["Ocp-Apim-Subscription-Region"] = self.region + + if not target: + raise ServerException(401) + else: + if type(target) is str: + self.target = target.lower() + else: + self.target = [i.lower() for i in target] + if self.is_language_supported(self.target): + self.target = self._map_language_to_code(self.target) + + self.url_params = {'to': self.target, **kwargs} + + if source: + self.source = source.lower() + if self.is_language_supported(self.source): + self.source = self._map_language_to_code(self.source) + self.url_params['from'] = self.source + + self.__base_url = BASE_URLS.get("MICROSOFT_TRANSLATE") + + @staticmethod + def get_supported_languages(as_dict=False, **kwargs): + """ + return the languages supported by the microsoft translator + @param as_dict: if True, the languages will be returned as a dictionary mapping languages to their abbreviations + @return: list or dict + """ + return MicrosoftTranslator.supported_languages if not as_dict else MicrosoftTranslator._languages + + def _map_language_to_code(self, language, **kwargs): + """ + map the language to its corresponding code (abbreviation) if the language was passed by its full name by the user + @param language: a string (if 1 lang) or a list (if multiple langs) + @return: mapped value of the language or raise an exception if the language is not supported + """ + if type(language) is str: + language = [language] + for lang in language: + if lang in self._languages.values(): + yield lang + elif lang in self._languages.keys(): + yield self._languages[lang] + else: + raise LanguageNotSupportedException(lang) + + def is_language_supported(self, language, **kwargs): + """ + check if the language is supported by the translator + @param language: a string (if 1 lang) or a list (if multiple langs) + @return: bool or raise an Exception + """ + if type(language) is str: + language = [language] + for lang in language: + if lang not in self._languages.keys(): + if lang not in self._languages.values(): + raise LanguageNotSupportedException(lang) + return True + + def translate(self, text, **kwargs): + """ + function that uses microsoft translate to translate a text + @param text: desired text to translate + @return: str: translated text + """ + # a body must be a list of dicts to process multiple texts; + # I have not added multiple text processing here since it is covered by the translate_batch method + valid_microsoft_json = [{'text': text}] + try: + requested = requests.post(self.__base_url, + params=self.url_params, + headers=self.headers, + json=valid_microsoft_json, + proxies=self.proxies) + except requests.exceptions.RequestException: + exc_type, value, traceback = sys.exc_info() + logging.warning(f"Returned error: {exc_type.__name__}") + + # Where Microsoft API responds with an api error, it returns a dict in response.json() + if type(requested.json()) is dict: + error_message = requested.json()['error'] + raise MicrosoftAPIerror(error_message) + # Where it responds with a translation, its response.json() is a list e.g. [{'translations': [{'text': 'Hello world!', 'to': 'en'}]}] + elif type(requested.json()) is list: + all_translations = [i['text'] for i in requested.json()[0]['translations']] + return "\n".join(all_translations) + + def translate_file(self, path, **kwargs): + """ + translate from a file + @param path: path to file + @return: translated text + """ + try: + with open(path) as f: + text = f.read().strip() + return self.translate(text) + except Exception as e: + raise e + + def translate_batch(self, batch, **kwargs): + """ + translate a batch of texts + @param batch: list of texts to translate + @return: list of translations + """ + return [self.translate(text, **kwargs) for text in batch] diff --git a/libs/deep_translator/mymemory.py b/libs/deep_translator/mymemory.py index 6b9fc1ca7..0c3ab1ca7 100644 --- a/libs/deep_translator/mymemory.py +++ b/libs/deep_translator/mymemory.py @@ -4,13 +4,13 @@ mymemory translator API import logging import warnings -from deep_translator.constants import BASE_URLS, GOOGLE_LANGUAGES_TO_CODES -from deep_translator.exceptions import (NotValidPayload, - TranslationNotFound, - LanguageNotSupportedException, - RequestError, - TooManyRequests) -from deep_translator.parent import BaseTranslator +from .constants import BASE_URLS, GOOGLE_LANGUAGES_TO_CODES +from .exceptions import (NotValidPayload, + TranslationNotFound, + LanguageNotSupportedException, + RequestError, + TooManyRequests) +from .parent import BaseTranslator import requests from time import sleep @@ -22,12 +22,13 @@ class MyMemoryTranslator(BaseTranslator): _languages = GOOGLE_LANGUAGES_TO_CODES supported_languages = list(_languages.keys()) - def __init__(self, source="auto", target="en", **kwargs): + def __init__(self, source="auto", target="en", proxies=None, **kwargs): """ @param source: source language to translate from @param target: target language to translate to """ self.__base_url = BASE_URLS.get("MYMEMORY") + self.proxies = proxies if self.is_language_supported(source, target): self._source, self._target = self._map_language_to_code(source.lower(), target.lower()) self._source = self._source if self._source != 'auto' else 'Lao' @@ -40,7 +41,7 @@ class MyMemoryTranslator(BaseTranslator): langpair='{}|{}'.format(self._source, self._target)) @staticmethod - def get_supported_languages(as_dict=False): + def get_supported_languages(as_dict=False, **kwargs): """ return the supported languages by the mymemory translator @param as_dict: if True, the languages will be returned as a dictionary mapping languages to their abbreviations @@ -93,7 +94,8 @@ class MyMemoryTranslator(BaseTranslator): response = requests.get(self.__base_url, params=self._url_params, - headers=self.headers) + headers=self.headers, + proxies=self.proxies) if response.status_code == 429: raise TooManyRequests() @@ -150,13 +152,13 @@ class MyMemoryTranslator(BaseTranslator): """ try: with open(path) as f: - text = f.read() + text = f.read().strip() return self.translate(text=text) except Exception as e: raise e - def translate_batch(self, batch=None): + def translate_batch(self, batch=None, **kwargs): """ translate a list of texts @param batch: list of texts you want to translate @@ -167,7 +169,7 @@ class MyMemoryTranslator(BaseTranslator): arr = [] for text in batch: - translated = self.translate(text) + translated = self.translate(text, **kwargs) arr.append(translated) sleep(2) diff --git a/libs/deep_translator/papago.py b/libs/deep_translator/papago.py new file mode 100644 index 000000000..6bf900890 --- /dev/null +++ b/libs/deep_translator/papago.py @@ -0,0 +1,154 @@ +""" +google translator API +""" +import json +from .constants import BASE_URLS, PAPAGO_LANGUAGE_TO_CODE +from .exceptions import LanguageNotSupportedException, TranslationNotFound, NotValidPayload +import requests +import warnings +import logging + + +class PapagoTranslator(object): + """ + class that wraps functions, which use google translate under the hood to translate text(s) + """ + _languages = PAPAGO_LANGUAGE_TO_CODE + supported_languages = list(_languages.keys()) + + def __init__(self, client_id=None, secret_key=None, source="auto", target="en", **kwargs): + """ + @param source: source language to translate from + @param target: target language to translate to + """ + if not client_id or not secret_key: + raise Exception("Please pass your client id and secret key! visit the papago website for more infos") + + self.__base_url = BASE_URLS.get("PAPAGO_API") + self.client_id = client_id + self.secret_key = secret_key + if self.is_language_supported(source, target): + self._source, self._target = self._map_language_to_code(source.lower(), target.lower()) + + @staticmethod + def get_supported_languages(as_dict=False, **kwargs): + """ + return the supported languages by the google translator + @param as_dict: if True, the languages will be returned as a dictionary mapping languages to their abbreviations + @return: list or dict + """ + return PapagoTranslator.supported_languages if not as_dict else PapagoTranslator._languages + + def _map_language_to_code(self, *languages): + """ + map language to its corresponding code (abbreviation) if the language was passed by its full name by the user + @param languages: list of languages + @return: mapped value of the language or raise an exception if the language is not supported + """ + for language in languages: + if language in self._languages.values() or language == 'auto': + yield language + elif language in self._languages.keys(): + yield self._languages[language] + else: + raise LanguageNotSupportedException(language) + + def is_language_supported(self, *languages): + """ + check if the language is supported by the translator + @param languages: list of languages + @return: bool or raise an Exception + """ + for lang in languages: + if lang != 'auto' and lang not in self._languages.keys(): + if lang != 'auto' and lang not in self._languages.values(): + raise LanguageNotSupportedException(lang) + return True + + def translate(self, text, **kwargs): + """ + function that uses google translate to translate a text + @param text: desired text to translate + @return: str: translated text + """ + + payload = { + "source": self._source, + "target": self._target, + "text": text + } + headers = { + 'X-Naver-Client-Id': self.client_id, + 'X-Naver-Client-Secret': self.secret_key, + 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' + } + response = requests.post(self.__base_url, headers=headers, data=payload) + if response.status_code != 200: + raise Exception(f'Translation error! -> status code: {response.status_code}') + res_body = json.loads(response.text) + if "message" not in res_body: + raise TranslationNotFound(text) + + msg = res_body.get("message") + result = msg.get("result", None) + if not result: + raise TranslationNotFound(text) + translated_text = result.get("translatedText") + return translated_text + + def translate_file(self, path, **kwargs): + """ + translate directly from file + @param path: path to the target file + @type path: str + @param kwargs: additional args + @return: str + """ + try: + with open(path) as f: + text = f.read().strip() + return self.translate(text) + except Exception as e: + raise e + + def translate_sentences(self, sentences=None, **kwargs): + """ + translate many sentences together. This makes sense if you have sentences with different languages + and you want to translate all to unified language. This is handy because it detects + automatically the language of each sentence and then translate it. + + @param sentences: list of sentences to translate + @return: list of all translated sentences + """ + warnings.warn("deprecated. Use the translate_batch function instead", DeprecationWarning, stacklevel=2) + logging.warning("deprecated. Use the translate_batch function instead") + if not sentences: + raise NotValidPayload(sentences) + + translated_sentences = [] + try: + for sentence in sentences: + translated = self.translate(text=sentence) + translated_sentences.append(translated) + + return translated_sentences + + except Exception as e: + raise e + + def translate_batch(self, batch=None, **kwargs): + """ + translate a list of texts + @param batch: list of texts you want to translate + @return: list of translations + """ + if not batch: + raise Exception("Enter your text list that you want to translate") + arr = [] + for i, text in enumerate(batch): + + translated = self.translate(text, **kwargs) + arr.append(translated) + return arr + + diff --git a/libs/deep_translator/parent.py b/libs/deep_translator/parent.py index 674d93e48..35cc94975 100644 --- a/libs/deep_translator/parent.py +++ b/libs/deep_translator/parent.py @@ -1,9 +1,8 @@ """parent translator class""" -from deep_translator.exceptions import NotValidPayload, NotValidLength +from .exceptions import NotValidPayload, NotValidLength, InvalidSourceOrTargetLanguage from abc import ABC, abstractmethod - - +import string class BaseTranslator(ABC): """ Abstract class that serve as a parent translator for other different translators @@ -20,6 +19,9 @@ class BaseTranslator(ABC): @param source: source language to translate from @param target: target language to translate to """ + if source == target: + raise InvalidSourceOrTargetLanguage(source) + self.__base_url = base_url self._source = source self._target = target @@ -40,8 +42,13 @@ class BaseTranslator(ABC): @return: bool """ - if not payload or not isinstance(payload, str): + if not payload or not isinstance(payload, str) or not payload.strip() or payload.isdigit(): raise NotValidPayload(payload) + + # check if payload contains only symbols + if all(i in string.punctuation for i in payload): + raise NotValidPayload(payload) + if not BaseTranslator.__check_length(payload, min_chars, max_chars): raise NotValidLength(payload, min_chars, max_chars) return True @@ -55,7 +62,7 @@ class BaseTranslator(ABC): @param max_chars: maximum characters allowed @return: bool """ - return True if min_chars < len(payload) < max_chars else False + return True if min_chars <= len(payload) < max_chars else False @abstractmethod def translate(self, text, **kwargs): diff --git a/libs/deep_translator/pons.py b/libs/deep_translator/pons.py index e4383eb5b..50d17f324 100644 --- a/libs/deep_translator/pons.py +++ b/libs/deep_translator/pons.py @@ -3,14 +3,14 @@ pons translator API """ from bs4 import BeautifulSoup import requests -from deep_translator.constants import BASE_URLS, PONS_LANGUAGES_TO_CODES, PONS_CODES_TO_LANGUAGES -from deep_translator.exceptions import (LanguageNotSupportedException, - TranslationNotFound, - NotValidPayload, - ElementNotFoundInGetRequest, - RequestError, - TooManyRequests) -from deep_translator.parent import BaseTranslator +from .constants import BASE_URLS, PONS_LANGUAGES_TO_CODES, PONS_CODES_TO_LANGUAGES +from .exceptions import (LanguageNotSupportedException, + TranslationNotFound, + NotValidPayload, + ElementNotFoundInGetRequest, + RequestError, + TooManyRequests) +from .parent import BaseTranslator from requests.utils import requote_uri @@ -21,13 +21,13 @@ class PonsTranslator(BaseTranslator): _languages = PONS_LANGUAGES_TO_CODES supported_languages = list(_languages.keys()) - def __init__(self, source, target="english"): + def __init__(self, source, target="en", proxies=None, **kwargs): """ @param source: source language to translate from @param target: target language to translate to """ self.__base_url = BASE_URLS.get("PONS") - + self.proxies = proxies if self.is_language_supported(source, target): self._source, self._target = self._map_language_to_code(source, target) @@ -40,7 +40,7 @@ class PonsTranslator(BaseTranslator): ) @staticmethod - def get_supported_languages(as_dict=False): + def get_supported_languages(as_dict=False, **kwargs): """ return the supported languages by the linguee translator @param as_dict: if True, the languages will be returned as a dictionary mapping languages to their abbreviations @@ -86,7 +86,7 @@ class PonsTranslator(BaseTranslator): if self._validate_payload(word, max_chars=50): url = "{}{}-{}/{}".format(self.__base_url, self._source, self._target, word) url = requote_uri(url) - response = requests.get(url) + response = requests.get(url, proxies=self.proxies) if response.status_code == 429: raise TooManyRequests() @@ -131,6 +131,6 @@ class PonsTranslator(BaseTranslator): translated_words = [] for word in words: - translated_words.append(self.translate(payload=word)) + translated_words.append(self.translate(word=word, **kwargs)) return translated_words diff --git a/libs/deep_translator/qcri.py b/libs/deep_translator/qcri.py index 318dee46e..0435c8bc9 100644 --- a/libs/deep_translator/qcri.py +++ b/libs/deep_translator/qcri.py @@ -1,17 +1,14 @@ import requests -from requests.utils import requote_uri -from deep_translator.constants import BASE_URLS -from deep_translator.exceptions import (RequestError, - ServerException, TranslationNotFound, TooManyRequests) - +from .constants import BASE_URLS, QCRI_LANGUAGE_TO_CODE +from .exceptions import (ServerException, TranslationNotFound) class QCRI(object): """ class that wraps functions, which use the QRCI translator under the hood to translate word(s) """ - def __init__(self, api_key=None): + def __init__(self, api_key=None, source="en", target="en", **kwargs): """ @param api_key: your qrci api key. Get one for free here https://mt.qcri.org/api/v1/ref """ @@ -19,7 +16,8 @@ class QCRI(object): if not api_key: raise ServerException(401) self.__base_url = BASE_URLS.get("QCRI") - + self.source = source + self.target = target self.api_key = api_key self.api_endpoints = { "get_languages": "getLanguagePairs", @@ -40,10 +38,13 @@ class QCRI(object): except Exception as e: raise e - def get_supported_languages(self): - - pairs = self._get("get_languages") - return pairs + @staticmethod + def get_supported_languages(as_dict=False, **kwargs): + # Have no use for this as the format is not what we need + # Save this for whenever + # pairs = self._get("get_languages") + # Using a this one instead + return [*QCRI_LANGUAGE_TO_CODE.keys()] if not as_dict else QCRI_LANGUAGE_TO_CODE @property def languages(self): @@ -57,10 +58,10 @@ class QCRI(object): def domains(self): return self.get_domains() - def translate(self, source, target, domain, text): + def translate(self, text, domain, **kwargs): params = { "key": self.api_key, - "langpair": "{}-{}".format(source, target), + "langpair": "{}-{}".format(self.source, self.target), "domain": domain, "text": text } @@ -74,18 +75,17 @@ class QCRI(object): ServerException(response.status_code) else: res = response.json() - translation = res["translatedText"] + translation = res.get("translatedText") if not translation: raise TranslationNotFound(text) return translation - def translate_batch(self, source, target, domain, batch): + def translate_batch(self, batch, domain, **kwargs): """ translate a batch of texts - @param source: source language - @param target: target language + @domain: domain @param batch: list of texts to translate @return: list of translations """ - return [self.translate(source, target, domain, text) for text in batch] + return [self.translate(domain, text, **kwargs) for text in batch] diff --git a/libs/deep_translator/tests/__init__.py b/libs/deep_translator/tests/__init__.py deleted file mode 100644 index 7bc0eaa21..000000000 --- a/libs/deep_translator/tests/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Unit test package for deep_translator.""" diff --git a/libs/deep_translator/tests/test_google_trans.py b/libs/deep_translator/tests/test_google_trans.py deleted file mode 100644 index 51f51a8fc..000000000 --- a/libs/deep_translator/tests/test_google_trans.py +++ /dev/null @@ -1,57 +0,0 @@ -#!/usr/bin/env python - -"""Tests for `deep_translator` package.""" - -import pytest -from deep_translator import exceptions, GoogleTranslator - - -@pytest.fixture -def google_translator(): - """Sample pytest fixture. - - See more at: http://doc.pytest.org/en/latest/fixture.html - """ - return GoogleTranslator(target='en') - - -def test_content(google_translator): - """Sample pytest test function with the pytest fixture as an argument.""" - # from bs4 import BeautifulSoup - # assert 'GitHub' in BeautifulSoup(response.content).title.string - assert google_translator.translate(text='좋은') == "good" - - -def test_inputs(): - with pytest.raises(exceptions.LanguageNotSupportedException): - GoogleTranslator(source="", target="") - - with pytest.raises(exceptions.LanguageNotSupportedException): - GoogleTranslator(source="auto", target="nothing") - - # test abbreviations and languages - g1 = GoogleTranslator("en", "fr") - g2 = GoogleTranslator("english", "french") - assert g1._source == g2._source - assert g1._target == g2._target - - -def test_payload(google_translator): - - with pytest.raises(exceptions.NotValidPayload): - google_translator.translate(text="") - - with pytest.raises(exceptions.NotValidPayload): - google_translator.translate(text=123) - - with pytest.raises(exceptions.NotValidPayload): - google_translator.translate(text={}) - - with pytest.raises(exceptions.NotValidPayload): - google_translator.translate(text=[]) - - with pytest.raises(exceptions.NotValidLength): - google_translator.translate("a"*5001) - - #for _ in range(1): - #assert google_translator.translate(text='좋은') == "good" diff --git a/libs/deep_translator/tests/test_linguee.py b/libs/deep_translator/tests/test_linguee.py deleted file mode 100644 index 57ff9cecb..000000000 --- a/libs/deep_translator/tests/test_linguee.py +++ /dev/null @@ -1,49 +0,0 @@ -#!/usr/bin/env python - -"""Tests for `deep_translator` package.""" - -import pytest -from deep_translator import exceptions, LingueeTranslator - - -@pytest.fixture -def linguee(): - return LingueeTranslator(source="english", target='french') - - -def test_content(linguee): - """Sample pytest test function with the pytest fixture as an argument.""" - # from bs4 import BeautifulSoup - # assert 'GitHub' in BeautifulSoup(response.content).title.string - assert linguee.translate(word='good') is not None - - -def test_inputs(): - with pytest.raises(exceptions.LanguageNotSupportedException): - LingueeTranslator(source="", target="") - - with pytest.raises(exceptions.LanguageNotSupportedException): - LingueeTranslator(source="auto", target="nothing") - - l1 = LingueeTranslator("en", "fr") - l2 = LingueeTranslator("english", "french") - assert l1._source == l2._source - assert l1._target == l2._target - - -def test_payload(linguee): - - with pytest.raises(exceptions.NotValidPayload): - linguee.translate("") - - with pytest.raises(exceptions.NotValidPayload): - linguee.translate(123) - - with pytest.raises(exceptions.NotValidPayload): - linguee.translate({}) - - with pytest.raises(exceptions.NotValidPayload): - linguee.translate([]) - - with pytest.raises(exceptions.NotValidLength): - linguee.translate("a"*51) diff --git a/libs/deep_translator/tests/test_mymemory.py b/libs/deep_translator/tests/test_mymemory.py deleted file mode 100644 index c6ca6ee1f..000000000 --- a/libs/deep_translator/tests/test_mymemory.py +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/env python - -"""Tests for `deep_translator` package.""" - -import pytest -from deep_translator import exceptions, MyMemoryTranslator - - -@pytest.fixture -def mymemory(): - return MyMemoryTranslator(source="en", target='fr') - - -def test_content(mymemory): - """Sample pytest test function with the pytest fixture as an argument.""" - # from bs4 import BeautifulSoup - # assert 'GitHub' in BeautifulSoup(response.content).title.string - assert mymemory.translate(text='good') is not None - - -def test_inputs(): - with pytest.raises(exceptions.LanguageNotSupportedException): - MyMemoryTranslator(source="", target="") - - with pytest.raises(exceptions.LanguageNotSupportedException): - MyMemoryTranslator(source="auto", target="nothing") - m1 = MyMemoryTranslator("en", "fr") - m2 = MyMemoryTranslator("english", "french") - assert m1._source == m2._source - assert m1._target == m2._target - - -def test_payload(mymemory): - - with pytest.raises(exceptions.NotValidPayload): - mymemory.translate(text="") - - with pytest.raises(exceptions.NotValidPayload): - mymemory.translate(text=123) - - with pytest.raises(exceptions.NotValidPayload): - mymemory.translate(text={}) - - with pytest.raises(exceptions.NotValidPayload): - mymemory.translate(text=[]) - - with pytest.raises(exceptions.NotValidLength): - mymemory.translate(text="a"*501) diff --git a/libs/deep_translator/tests/test_pons.py b/libs/deep_translator/tests/test_pons.py deleted file mode 100644 index 1ad561125..000000000 --- a/libs/deep_translator/tests/test_pons.py +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/env python - -"""Tests for `deep_translator` package.""" - -import pytest -from deep_translator import exceptions, PonsTranslator - - -@pytest.fixture -def pons(): - return PonsTranslator(source="english", target='french') - - -def test_content(pons): - """Sample pytest test function with the pytest fixture as an argument.""" - # from bs4 import BeautifulSoup - # assert 'GitHub' in BeautifulSoup(response.content).title.string - assert pons.translate(word='good') is not None - - -def test_inputs(): - with pytest.raises(exceptions.LanguageNotSupportedException): - PonsTranslator(source="", target="") - - with pytest.raises(exceptions.LanguageNotSupportedException): - PonsTranslator(source="auto", target="nothing") - l1 = PonsTranslator("en", "fr") - l2 = PonsTranslator("english", "french") - assert l1._source == l2._source - assert l1._target == l2._target - - -def test_payload(pons): - - with pytest.raises(exceptions.NotValidPayload): - pons.translate("") - - with pytest.raises(exceptions.NotValidPayload): - pons.translate(123) - - with pytest.raises(exceptions.NotValidPayload): - pons.translate({}) - - with pytest.raises(exceptions.NotValidPayload): - pons.translate([]) - - with pytest.raises(exceptions.NotValidLength): - pons.translate("a" * 51) diff --git a/libs/deep_translator/utils.py b/libs/deep_translator/utils.py deleted file mode 100644 index 930372b7a..000000000 --- a/libs/deep_translator/utils.py +++ /dev/null @@ -1,3 +0,0 @@ -""" -utilities -""" diff --git a/libs/deep_translator/yandex.py b/libs/deep_translator/yandex.py index 87e47a83e..35b525aad 100644 --- a/libs/deep_translator/yandex.py +++ b/libs/deep_translator/yandex.py @@ -2,10 +2,8 @@ Yandex translator API """ import requests -from requests import exceptions -from deep_translator.constants import BASE_URLS -from deep_translator.exceptions import (RequestError, - ServerException, TranslationNotFound, TooManyRequests) +from .constants import BASE_URLS +from .exceptions import (RequestError, ServerException, TranslationNotFound, TooManyRequests) class YandexTranslator(object): @@ -13,13 +11,15 @@ class YandexTranslator(object): class that wraps functions, which use the yandex translator under the hood to translate word(s) """ - def __init__(self, api_key=None): + def __init__(self, api_key=None, source="en", target="de", **kwargs): """ @param api_key: your yandex api key """ if not api_key: raise ServerException(401) self.__base_url = BASE_URLS.get("YANDEX") + self.source = source + self.target = target self.api_key = api_key self.api_version = "v1.5" @@ -29,7 +29,14 @@ class YandexTranslator(object): "translate": "translate", } - def get_supported_languages(self): + @staticmethod + def get_supported_languages(as_dict=False, **kwargs): + """ this method is just for consistency.""" + return """ this method is just for consistency. You need to create an instance of yandex and access + supported languages using the languages property or call _get_supported_languages + """ + + def _get_supported_languages(self): return set(x.split("-")[0] for x in self.dirs) @property @@ -79,11 +86,11 @@ class YandexTranslator(object): raise ServerException(501) return language - def translate(self, source, target, text, proxies=None): + def translate(self, text, proxies=None, **kwargs): params = { "text": text, "format": "plain", - "lang": target if source == "auto" else "{}-{}".format(source, target), + "lang": self.target if self.source == "auto" else "{}-{}".format(self.source, self.target), "key": self.api_key } try: @@ -105,11 +112,9 @@ class YandexTranslator(object): return response['text'] - def translate_file(self, source, target, path): + def translate_file(self, path, **kwargs): """ translate from a file - @param source: source language - @param target: target language @param path: path to file @return: translated text """ @@ -117,16 +122,14 @@ class YandexTranslator(object): with open(path) as f: text = f.read() - return self.translate(source, target, text) + return self.translate(text) except Exception as e: raise e - def translate_batch(self, source, target, batch): + def translate_batch(self, batch, **kwargs): """ translate a batch of texts - @param source: source language - @param target: target language @param batch: list of texts to translate @return: list of translations """ - return [self.translate(source, target, text) for text in batch] + return [self.translate(text, **kwargs) for text in batch] diff --git a/libs/version.txt b/libs/version.txt index 07101175f..cbedbb311 100644 --- a/libs/version.txt +++ b/libs/version.txt @@ -8,6 +8,7 @@ bottle-fdsend=0.1.1 bottle=0.12.13 chardet=3.0.4 cloudscraper=1.2.58 +deep-translator=1.5.4 dogpile.cache=0.6.5 engineio=4.0.2dev enzyme=0.4.1 From 592dc799e967cb68e60ce51ca9295591fc895c01 Mon Sep 17 00:00:00 2001 From: Bruno Maia Date: Tue, 30 Nov 2021 01:15:14 +0000 Subject: [PATCH 04/48] Improved sanitize function to replace apostrophe and backticks --- libs/subliminal_patch/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/subliminal_patch/utils.py b/libs/subliminal_patch/utils.py index fb6bba5da..912ebf6fa 100644 --- a/libs/subliminal_patch/utils.py +++ b/libs/subliminal_patch/utils.py @@ -25,7 +25,7 @@ def sanitize(string, ignore_characters=None, default_characters={'-', ':', '(', string = re.sub(r'[%s]' % re.escape(''.join(characters)), ' ', string) # remove some characters - characters = {'\''} - ignore_characters + characters = {'\'', '´', '`', '’'} - ignore_characters if characters: string = re.sub(r'[%s]' % re.escape(''.join(characters)), '', string) From c60c7513a5a776b2a15ac3a7b463d0ef9875cf04 Mon Sep 17 00:00:00 2001 From: morpheus65535 Date: Mon, 29 Nov 2021 23:07:14 -0500 Subject: [PATCH 05/48] Upgraded engine.io module to improve socket.io connection stability. Should help to prevent #1613. --- bazarr/app.py | 3 +- libs/engineio/__init__.py | 2 +- libs/engineio/async_drivers/asgi.py | 37 +++++++----- libs/engineio/async_drivers/gevent_uwsgi.py | 22 ++++--- libs/engineio/async_drivers/threading.py | 37 +++++++++++- libs/engineio/asyncio_client.py | 44 ++++++++------ libs/engineio/asyncio_server.py | 19 ++++-- libs/engineio/asyncio_socket.py | 12 +++- libs/engineio/client.py | 44 +++++++------- libs/engineio/json.py | 16 ++++++ libs/engineio/middleware.py | 24 ++++---- libs/engineio/packet.py | 4 +- libs/engineio/server.py | 64 +++++++++++++++------ libs/engineio/socket.py | 12 +++- libs/engineio/static_files.py | 13 +++-- libs/version.txt | 2 +- 16 files changed, 235 insertions(+), 120 deletions(-) create mode 100644 libs/engineio/json.py diff --git a/bazarr/app.py b/bazarr/app.py index a67810c57..48560e443 100644 --- a/bazarr/app.py +++ b/bazarr/app.py @@ -28,7 +28,8 @@ def create_app(): else: app.config["DEBUG"] = False - socketio.init_app(app, path=base_url.rstrip('/')+'/api/socket.io', cors_allowed_origins='*', async_mode='threading') + socketio.init_app(app, path=base_url.rstrip('/')+'/api/socket.io', cors_allowed_origins='*', + async_mode='threading', allow_upgrades=False, transports='polling') return app diff --git a/libs/engineio/__init__.py b/libs/engineio/__init__.py index b897468d2..b87baf0c0 100644 --- a/libs/engineio/__init__.py +++ b/libs/engineio/__init__.py @@ -17,7 +17,7 @@ else: # pragma: no cover get_tornado_handler = None ASGIApp = None -__version__ = '4.0.2dev' +__version__ = '4.2.1dev' __all__ = ['__version__', 'Server', 'WSGIApp', 'Middleware', 'Client'] if AsyncServer is not None: # pragma: no cover diff --git a/libs/engineio/async_drivers/asgi.py b/libs/engineio/async_drivers/asgi.py index eb3139b5e..092f4c244 100644 --- a/libs/engineio/async_drivers/asgi.py +++ b/libs/engineio/async_drivers/asgi.py @@ -43,19 +43,23 @@ class ASGIApp: on_startup=None, on_shutdown=None): self.engineio_server = engineio_server self.other_asgi_app = other_asgi_app - self.engineio_path = engineio_path.strip('/') + self.engineio_path = engineio_path + if not self.engineio_path.startswith('/'): + self.engineio_path = '/' + self.engineio_path + if not self.engineio_path.endswith('/'): + self.engineio_path += '/' self.static_files = static_files or {} self.on_startup = on_startup self.on_shutdown = on_shutdown async def __call__(self, scope, receive, send): if scope['type'] in ['http', 'websocket'] and \ - scope['path'].startswith('/{0}/'.format(self.engineio_path)): + scope['path'].startswith(self.engineio_path): await self.engineio_server.handle_request(scope, receive, send) else: static_file = get_static_file(scope['path'], self.static_files) \ if scope['type'] == 'http' and self.static_files else None - if static_file: + if static_file and os.path.exists(static_file['filename']): await self.serve_static_file(static_file, receive, send) elif self.other_asgi_app is not None: await self.other_asgi_app(scope, receive, send) @@ -68,17 +72,14 @@ class ASGIApp: send): # pragma: no cover event = await receive() if event['type'] == 'http.request': - if os.path.exists(static_file['filename']): - with open(static_file['filename'], 'rb') as f: - payload = f.read() - await send({'type': 'http.response.start', - 'status': 200, - 'headers': [(b'Content-Type', static_file[ - 'content_type'].encode('utf-8'))]}) - await send({'type': 'http.response.body', - 'body': payload}) - else: - await self.not_found(receive, send) + with open(static_file['filename'], 'rb') as f: + payload = f.read() + await send({'type': 'http.response.start', + 'status': 200, + 'headers': [(b'Content-Type', static_file[ + 'content_type'].encode('utf-8'))]}) + await send({'type': 'http.response.body', + 'body': payload}) async def lifespan(self, receive, send): while True: @@ -195,7 +196,13 @@ async def make_response(status, headers, payload, environ): await environ['asgi.send']({'type': 'websocket.accept', 'headers': headers}) else: - await environ['asgi.send']({'type': 'websocket.close'}) + if payload: + reason = payload.decode('utf-8') \ + if isinstance(payload, bytes) else str(payload) + await environ['asgi.send']({'type': 'websocket.close', + 'reason': reason}) + else: + await environ['asgi.send']({'type': 'websocket.close'}) return await environ['asgi.send']({'type': 'http.response.start', diff --git a/libs/engineio/async_drivers/gevent_uwsgi.py b/libs/engineio/async_drivers/gevent_uwsgi.py index bdee812de..43cf69868 100644 --- a/libs/engineio/async_drivers/gevent_uwsgi.py +++ b/libs/engineio/async_drivers/gevent_uwsgi.py @@ -1,8 +1,7 @@ -from __future__ import absolute_import - import gevent from gevent import queue from gevent.event import Event +from gevent import selectors import uwsgi _websocket_available = hasattr(uwsgi, 'websocket_handshake') @@ -40,21 +39,20 @@ class uWSGIWebSocket(object): # pragma: no cover self._req_ctx = uwsgi.request_context() else: # use event and queue for sending messages - from gevent.event import Event - from gevent.queue import Queue - from gevent.select import select self._event = Event() - self._send_queue = Queue() + self._send_queue = queue.Queue() # spawn a select greenlet def select_greenlet_runner(fd, event): """Sets event when data becomes available to read on fd.""" - while True: - event.set() - try: - select([fd], [], [])[0] - except ValueError: - break + sel = selectors.DefaultSelector() + sel.register(fd, selectors.EVENT_READ) + try: + while True: + sel.select() + event.set() + except gevent.GreenletExit: + sel.unregister(fd) self._select_greenlet = gevent.spawn( select_greenlet_runner, self._sock, diff --git a/libs/engineio/async_drivers/threading.py b/libs/engineio/async_drivers/threading.py index 9b5375668..2eebdf477 100644 --- a/libs/engineio/async_drivers/threading.py +++ b/libs/engineio/async_drivers/threading.py @@ -1,17 +1,48 @@ from __future__ import absolute_import +import queue import threading import time try: - import queue + from simple_websocket import Server, ConnectionClosed + _websocket_available = True except ImportError: # pragma: no cover - import Queue as queue + _websocket_available = False + + +class WebSocketWSGI(object): # pragma: no cover + """ + This wrapper class provides a threading WebSocket interface that is + compatible with eventlet's implementation. + """ + def __init__(self, app): + self.app = app + + def __call__(self, environ, start_response): + self.ws = Server(environ) + return self.app(self) + + def close(self): + return self.ws.close() + + def send(self, message): + try: + return self.ws.send(message) + except ConnectionClosed: + raise IOError() + + def wait(self): + try: + return self.ws.receive() + except ConnectionClosed: + raise IOError() + _async = { 'thread': threading.Thread, 'queue': queue.Queue, 'queue_empty': queue.Empty, 'event': threading.Event, - 'websocket': None, + 'websocket': WebSocketWSGI if _websocket_available else None, 'sleep': time.sleep, } diff --git a/libs/engineio/asyncio_client.py b/libs/engineio/asyncio_client.py index 4a11eb3b2..d702be1ff 100644 --- a/libs/engineio/asyncio_client.py +++ b/libs/engineio/asyncio_client.py @@ -57,6 +57,11 @@ class AsyncClient(client.Client): skip SSL certificate verification, allowing connections to servers with self signed certificates. The default is ``True``. + :param handle_sigint: Set to ``True`` to automatically handle disconnection + when the process is interrupted, or to ``False`` to + leave interrupt handling to the calling application. + Interrupt handling can only be enabled when the + client instance is created in the main thread. """ def is_asyncio_based(self): return True @@ -85,9 +90,8 @@ class AsyncClient(client.Client): await eio.connect('http://localhost:5000') """ global async_signal_handler_set - if not async_signal_handler_set and \ + if self.handle_sigint and not async_signal_handler_set and \ threading.current_thread() == threading.main_thread(): - try: asyncio.get_event_loop().add_signal_handler( signal.SIGINT, async_signal_handler) @@ -166,11 +170,7 @@ class AsyncClient(client.Client): :param args: arguments to pass to the function. :param kwargs: keyword arguments to pass to the function. - This function returns an object compatible with the `Thread` class in - the Python standard library. The `start()` method on this object is - already called by this function. - - Note: this method is a coroutine. + The return value is a ``asyncio.Task`` object. """ return asyncio.ensure_future(target(*args, **kwargs)) @@ -191,10 +191,17 @@ class AsyncClient(client.Client): """Create an event object.""" return asyncio.Event() - def _reset(self): - if self.http: # pragma: no cover - asyncio.ensure_future(self.http.close()) - super()._reset() + def __del__(self): # pragma: no cover + # try to close the aiohttp session if it is still open + if self.http and not self.http.closed: + try: + loop = asyncio.get_event_loop() + if loop.is_running(): + loop.ensure_future(self.http.close()) + else: + loop.run_until_complete(self.http.close()) + except: + pass async def _connect_polling(self, url, headers, engineio_path): """Establish a long-polling connection to the Engine.IO server.""" @@ -207,10 +214,10 @@ class AsyncClient(client.Client): r = await self._send_request( 'GET', self.base_url + self._get_url_timestamp(), headers=headers, timeout=self.request_timeout) - if r is None: + if r is None or isinstance(r, str): self._reset() raise exceptions.ConnectionError( - 'Connection refused by the server') + r or 'Connection refused by the server') if r.status < 200 or r.status >= 300: self._reset() try: @@ -416,6 +423,7 @@ class AsyncClient(client.Client): except (aiohttp.ClientError, asyncio.TimeoutError) as exc: self.logger.info('HTTP %s request to %s failed with error %s.', method, url, exc) + return str(exc) async def _trigger_event(self, event, *args, **kwargs): """Invoke an event handler.""" @@ -462,9 +470,9 @@ class AsyncClient(client.Client): r = await self._send_request( 'GET', self.base_url + self._get_url_timestamp(), timeout=max(self.ping_interval, self.ping_timeout) + 5) - if r is None: + if r is None or isinstance(r, str): self.logger.warning( - 'Connection refused by the server, aborting') + r or 'Connection refused by the server, aborting') await self.queue.put(None) break if r.status < 200 or r.status >= 300: @@ -578,13 +586,13 @@ class AsyncClient(client.Client): p = payload.Payload(packets=packets) r = await self._send_request( 'POST', self.base_url, body=p.encode(), - headers={'Content-Type': 'application/octet-stream'}, + headers={'Content-Type': 'text/plain'}, timeout=self.request_timeout) for pkt in packets: self.queue.task_done() - if r is None: + if r is None or isinstance(r, str): self.logger.warning( - 'Connection refused by the server, aborting') + r or 'Connection refused by the server, aborting') break if r.status < 200 or r.status >= 300: self.logger.warning('Unexpected status code %s in server ' diff --git a/libs/engineio/asyncio_server.py b/libs/engineio/asyncio_server.py index 6639f26bf..706b1d6f2 100644 --- a/libs/engineio/asyncio_server.py +++ b/libs/engineio/asyncio_server.py @@ -29,7 +29,7 @@ class AsyncServer(server.Server): is a grace period added by the server. :param ping_timeout: The time in seconds that the client waits for the server to respond before disconnecting. The default - is 5 seconds. + is 20 seconds. :param max_http_buffer_size: The maximum size of a message when using the polling transport. The default is 1,000,000 bytes. @@ -63,6 +63,9 @@ class AsyncServer(server.Server): :param async_handlers: If set to ``True``, run message event handlers in non-blocking threads. To run handlers synchronously, set to ``False``. The default is ``True``. + :param transports: The list of allowed transports. Valid transports + are ``'polling'`` and ``'websocket'``. Defaults to + ``['polling', 'websocket']``. :param kwargs: Reserved for future extensions, any additional parameters given as keyword arguments will be silently ignored. """ @@ -213,6 +216,13 @@ class AsyncServer(server.Server): jsonp = False jsonp_index = None + # make sure the client uses an allowed transport + transport = query.get('transport', ['polling'])[0] + if transport not in self.transports: + self._log_error_once('Invalid transport', 'bad-transport') + return await self._make_response( + self._bad_request('Invalid transport'), environ) + # make sure the client speaks a compatible Engine.IO version sid = query['sid'][0] if 'sid' in query else None if sid is None and query.get('EIO') != ['4']: @@ -239,7 +249,6 @@ class AsyncServer(server.Server): r = self._bad_request('Invalid JSONP index number') elif method == 'GET': if sid is None: - transport = query.get('transport', ['polling'])[0] # transport must be one of 'polling' or 'websocket'. # if 'websocket', the HTTP_UPGRADE header must match. upgrade_header = environ.get('HTTP_UPGRADE').lower() \ @@ -249,9 +258,9 @@ class AsyncServer(server.Server): r = await self._handle_connect(environ, transport, jsonp_index) else: - self._log_error_once('Invalid transport ' + transport, - 'bad-transport') - r = self._bad_request('Invalid transport ' + transport) + self._log_error_once('Invalid websocket upgrade', + 'bad-upgrade') + r = self._bad_request('Invalid websocket upgrade') else: if sid not in self.sockets: self._log_error_once('Invalid session ' + sid, 'bad-sid') diff --git a/libs/engineio/asyncio_socket.py b/libs/engineio/asyncio_socket.py index 508ee3ca2..17265c201 100644 --- a/libs/engineio/asyncio_socket.py +++ b/libs/engineio/asyncio_socket.py @@ -143,12 +143,18 @@ class AsyncSocket(socket.Socket): async def _websocket_handler(self, ws): """Engine.IO handler for websocket transport.""" + async def websocket_wait(): + data = await ws.wait() + if data and len(data) > self.server.max_http_buffer_size: + raise ValueError('packet is too large') + return data + if self.connected: # the socket was already connected, so this is an upgrade self.upgrading = True # hold packet sends during the upgrade try: - pkt = await ws.wait() + pkt = await websocket_wait() except IOError: # pragma: no cover return decoded_pkt = packet.Packet(encoded_packet=pkt) @@ -162,7 +168,7 @@ class AsyncSocket(socket.Socket): await self.queue.put(packet.Packet(packet.NOOP)) # end poll try: - pkt = await ws.wait() + pkt = await websocket_wait() except IOError: # pragma: no cover self.upgrading = False return @@ -204,7 +210,7 @@ class AsyncSocket(socket.Socket): while True: p = None - wait_task = asyncio.ensure_future(ws.wait()) + wait_task = asyncio.ensure_future(websocket_wait()) try: p = await asyncio.wait_for( wait_task, diff --git a/libs/engineio/client.py b/libs/engineio/client.py index d307a5d62..4738671e8 100644 --- a/libs/engineio/client.py +++ b/libs/engineio/client.py @@ -1,10 +1,7 @@ from base64 import b64encode -from json import JSONDecodeError +from engineio.json import JSONDecodeError import logging -try: - import queue -except ImportError: # pragma: no cover - import Queue as queue +import queue import signal import ssl import threading @@ -69,17 +66,18 @@ class Client(object): skip SSL certificate verification, allowing connections to servers with self signed certificates. The default is ``True``. + :param handle_sigint: Set to ``True`` to automatically handle disconnection + when the process is interrupted, or to ``False`` to + leave interrupt handling to the calling application. + Interrupt handling can only be enabled when the + client instance is created in the main thread. """ event_names = ['connect', 'disconnect', 'message'] - def __init__(self, - logger=False, - json=None, - request_timeout=5, - http_session=None, - ssl_verify=True): + def __init__(self, logger=False, json=None, request_timeout=5, + http_session=None, ssl_verify=True, handle_sigint=True): global original_signal_handler - if original_signal_handler is None and \ + if handle_sigint and original_signal_handler is None and \ threading.current_thread() == threading.main_thread(): original_signal_handler = signal.signal(signal.SIGINT, signal_handler) @@ -92,6 +90,7 @@ class Client(object): self.ping_interval = None self.ping_timeout = None self.http = http_session + self.handle_sigint = handle_sigint self.ws = None self.read_loop_task = None self.write_loop_task = None @@ -244,9 +243,9 @@ class Client(object): :param args: arguments to pass to the function. :param kwargs: keyword arguments to pass to the function. - This function returns an object compatible with the `Thread` class in - the Python standard library. The `start()` method on this object is - already called by this function. + This function returns an object that represents the background task, + on which the ``join()`` method can be invoked to wait for the task to + complete. """ th = threading.Thread(target=target, args=args, kwargs=kwargs) th.start() @@ -282,10 +281,10 @@ class Client(object): r = self._send_request( 'GET', self.base_url + self._get_url_timestamp(), headers=headers, timeout=self.request_timeout) - if r is None: + if r is None or isinstance(r, str): self._reset() raise exceptions.ConnectionError( - 'Connection refused by the server') + r or 'Connection refused by the server') if r.status_code < 200 or r.status_code >= 300: self._reset() try: @@ -528,6 +527,7 @@ class Client(object): except requests.exceptions.RequestException as exc: self.logger.info('HTTP %s request to %s failed with error %s.', method, url, exc) + return str(exc) def _trigger_event(self, event, *args, **kwargs): """Invoke an event handler.""" @@ -574,9 +574,9 @@ class Client(object): r = self._send_request( 'GET', self.base_url + self._get_url_timestamp(), timeout=max(self.ping_interval, self.ping_timeout) + 5) - if r is None: + if r is None or isinstance(r, str): self.logger.warning( - 'Connection refused by the server, aborting') + r or 'Connection refused by the server, aborting') self.queue.put(None) break if r.status_code < 200 or r.status_code >= 300: @@ -682,13 +682,13 @@ class Client(object): p = payload.Payload(packets=packets) r = self._send_request( 'POST', self.base_url, body=p.encode(), - headers={'Content-Type': 'application/octet-stream'}, + headers={'Content-Type': 'text/plain'}, timeout=self.request_timeout) for pkt in packets: self.queue.task_done() - if r is None: + if r is None or isinstance(r, str): self.logger.warning( - 'Connection refused by the server, aborting') + r or 'Connection refused by the server, aborting') break if r.status_code < 200 or r.status_code >= 300: self.logger.warning('Unexpected status code %s in server ' diff --git a/libs/engineio/json.py b/libs/engineio/json.py new file mode 100644 index 000000000..b61255683 --- /dev/null +++ b/libs/engineio/json.py @@ -0,0 +1,16 @@ +"""JSON-compatible module with sane defaults.""" + +from json import * # noqa: F401, F403 +from json import loads as original_loads + + +def _safe_int(s): + if len(s) > 100: + raise ValueError('Integer is too large') + return int(s) + + +def loads(*args, **kwargs): + if 'parse_int' not in kwargs: # pragma: no cover + kwargs['parse_int'] = _safe_int + return original_loads(*args, **kwargs) diff --git a/libs/engineio/middleware.py b/libs/engineio/middleware.py index d0bdcc747..5d6ffddf6 100644 --- a/libs/engineio/middleware.py +++ b/libs/engineio/middleware.py @@ -35,7 +35,11 @@ class WSGIApp(object): engineio_path='engine.io'): self.engineio_app = engineio_app self.wsgi_app = wsgi_app - self.engineio_path = engineio_path.strip('/') + self.engineio_path = engineio_path + if not self.engineio_path.startswith('/'): + self.engineio_path = '/' + self.engineio_path + if not self.engineio_path.endswith('/'): + self.engineio_path += '/' self.static_files = static_files or {} def __call__(self, environ, start_response): @@ -55,21 +59,17 @@ class WSGIApp(object): environ['eventlet.input'] = Input(environ['gunicorn.socket']) path = environ['PATH_INFO'] - if path is not None and \ - path.startswith('/{0}/'.format(self.engineio_path)): + if path is not None and path.startswith(self.engineio_path): return self.engineio_app.handle_request(environ, start_response) else: static_file = get_static_file(path, self.static_files) \ if self.static_files else None - if static_file: - if os.path.exists(static_file['filename']): - start_response( - '200 OK', - [('Content-Type', static_file['content_type'])]) - with open(static_file['filename'], 'rb') as f: - return [f.read()] - else: - return self.not_found(start_response) + if static_file and os.path.exists(static_file['filename']): + start_response( + '200 OK', + [('Content-Type', static_file['content_type'])]) + with open(static_file['filename'], 'rb') as f: + return [f.read()] elif self.wsgi_app is not None: return self.wsgi_app(environ, start_response) return self.not_found(start_response) diff --git a/libs/engineio/packet.py b/libs/engineio/packet.py index 9dbd6c684..dda88acab 100644 --- a/libs/engineio/packet.py +++ b/libs/engineio/packet.py @@ -1,5 +1,5 @@ import base64 -import json as _json +from engineio import json as _json (OPEN, CLOSE, PING, PONG, MESSAGE, UPGRADE, NOOP) = (0, 1, 2, 3, 4, 5, 6) packet_names = ['OPEN', 'CLOSE', 'PING', 'PONG', 'MESSAGE', 'UPGRADE', 'NOOP'] @@ -23,7 +23,7 @@ class Packet(object): self.binary = False if self.binary and self.packet_type != MESSAGE: raise ValueError('Binary packets can only be of type MESSAGE') - if encoded_packet: + if encoded_packet is not None: self.decode(encoded_packet) def encode(self, b64=False): diff --git a/libs/engineio/server.py b/libs/engineio/server.py index 7498f3f6b..04bfffbb3 100644 --- a/libs/engineio/server.py +++ b/libs/engineio/server.py @@ -36,7 +36,7 @@ class Server(object): is a grace period added by the server. :param ping_timeout: The time in seconds that the client waits for the server to respond before disconnecting. The default - is 5 seconds. + is 20 seconds. :param max_http_buffer_size: The maximum size of a message when using the polling transport. The default is 1,000,000 bytes. @@ -78,20 +78,25 @@ class Server(object): inactive clients are closed. Set to ``False`` to disable the monitoring task (not recommended). The default is ``True``. + :param transports: The list of allowed transports. Valid transports + are ``'polling'`` and ``'websocket'``. Defaults to + ``['polling', 'websocket']``. :param kwargs: Reserved for future extensions, any additional parameters given as keyword arguments will be silently ignored. """ compression_methods = ['gzip', 'deflate'] event_names = ['connect', 'disconnect', 'message'] + valid_transports = ['polling', 'websocket'] _default_monitor_clients = True sequence_number = 0 - def __init__(self, async_mode=None, ping_interval=25, ping_timeout=5, + def __init__(self, async_mode=None, ping_interval=25, ping_timeout=20, max_http_buffer_size=1000000, allow_upgrades=True, http_compression=True, compression_threshold=1024, cookie=None, cors_allowed_origins=None, cors_credentials=True, logger=False, json=None, - async_handlers=True, monitor_clients=None, **kwargs): + async_handlers=True, monitor_clients=None, transports=None, + **kwargs): self.ping_timeout = ping_timeout if isinstance(ping_interval, tuple): self.ping_interval = ping_interval[0] @@ -152,6 +157,14 @@ class Server(object): self._async['asyncio']: # pragma: no cover raise ValueError('The selected async_mode requires asyncio and ' 'must use the AsyncServer class') + if transports is not None: + if isinstance(transports, str): + transports = [transports] + transports = [transport for transport in transports + if transport in self.valid_transports] + if not transports: + raise ValueError('No valid transports provided') + self.transports = transports or self.valid_transports self.logger.info('Server initialized for %s.', self.async_mode) def is_asyncio_based(self): @@ -333,8 +346,7 @@ class Server(object): allowed_origins: self._log_error_once( origin + ' is not an accepted origin.', 'bad-origin') - r = self._bad_request( - origin + ' is not an accepted origin.') + r = self._bad_request('Not an accepted origin.') start_response(r['status'], r['headers']) return [r['response']] @@ -343,6 +355,14 @@ class Server(object): jsonp = False jsonp_index = None + # make sure the client uses an allowed transport + transport = query.get('transport', ['polling'])[0] + if transport not in self.transports: + self._log_error_once('Invalid transport', 'bad-transport') + r = self._bad_request('Invalid transport') + start_response(r['status'], r['headers']) + return [r['response']] + # make sure the client speaks a compatible Engine.IO version sid = query['sid'][0] if 'sid' in query else None if sid is None and query.get('EIO') != ['4']: @@ -369,7 +389,6 @@ class Server(object): r = self._bad_request('Invalid JSONP index number') elif method == 'GET': if sid is None: - transport = query.get('transport', ['polling'])[0] # transport must be one of 'polling' or 'websocket'. # if 'websocket', the HTTP_UPGRADE header must match. upgrade_header = environ.get('HTTP_UPGRADE').lower() \ @@ -379,13 +398,13 @@ class Server(object): r = self._handle_connect(environ, start_response, transport, jsonp_index) else: - self._log_error_once('Invalid transport ' + transport, - 'bad-transport') - r = self._bad_request('Invalid transport ' + transport) + self._log_error_once('Invalid websocket upgrade', + 'bad-upgrade') + r = self._bad_request('Invalid websocket upgrade') else: if sid not in self.sockets: self._log_error_once('Invalid session ' + sid, 'bad-sid') - r = self._bad_request('Invalid session ' + sid) + r = self._bad_request('Invalid session') else: socket = self._get_socket(sid) try: @@ -405,7 +424,7 @@ class Server(object): if sid is None or sid not in self.sockets: self._log_error_once( 'Invalid session ' + (sid or 'None'), 'bad-sid') - r = self._bad_request('Invalid session ' + (sid or 'None')) + r = self._bad_request('Invalid session') else: socket = self._get_socket(sid) try: @@ -453,9 +472,9 @@ class Server(object): :param args: arguments to pass to the function. :param kwargs: keyword arguments to pass to the function. - This function returns an object compatible with the `Thread` class in - the Python standard library. The `start()` method on this object is - already called by this function. + This function returns an object that represents the background task, + on which the ``join()`` methond can be invoked to wait for the task to + complete. """ th = self._async['thread'](target=target, args=args, kwargs=kwargs) th.start() @@ -581,7 +600,14 @@ class Server(object): def _upgrades(self, sid, transport): """Return the list of possible upgrades for a client connection.""" if not self.allow_upgrades or self._get_socket(sid).upgraded or \ - self._async['websocket'] is None or transport == 'websocket': + transport == 'websocket': + return [] + if self._async['websocket'] is None: # pragma: no cover + self._log_error_once( + 'The WebSocket transport is not available, you must install a ' + 'WebSocket server that is compatible with your async mode to ' + 'enable it. See the documentation for details.', + 'no-websocket') return [] return ['websocket'] @@ -656,13 +682,15 @@ class Server(object): if 'wsgi.url_scheme' in environ and 'HTTP_HOST' in environ: default_origins.append('{scheme}://{host}'.format( scheme=environ['wsgi.url_scheme'], host=environ['HTTP_HOST'])) - if 'HTTP_X_FORWARDED_HOST' in environ: + if 'HTTP_X_FORWARDED_PROTO' in environ or \ + 'HTTP_X_FORWARDED_HOST' in environ: scheme = environ.get( 'HTTP_X_FORWARDED_PROTO', environ['wsgi.url_scheme']).split(',')[0].strip() default_origins.append('{scheme}://{host}'.format( - scheme=scheme, host=environ['HTTP_X_FORWARDED_HOST'].split( - ',')[0].strip())) + scheme=scheme, host=environ.get( + 'HTTP_X_FORWARDED_HOST', environ['HTTP_HOST']).split( + ',')[0].strip())) if self.cors_allowed_origins is None: allowed_origins = default_origins elif self.cors_allowed_origins == '*': diff --git a/libs/engineio/socket.py b/libs/engineio/socket.py index 1434b191d..be0c83f6b 100644 --- a/libs/engineio/socket.py +++ b/libs/engineio/socket.py @@ -159,6 +159,12 @@ class Socket(object): def _websocket_handler(self, ws): """Engine.IO handler for websocket transport.""" + def websocket_wait(): + data = ws.wait() + if data and len(data) > self.server.max_http_buffer_size: + raise ValueError('packet is too large') + return data + # try to set a socket timeout matching the configured ping interval # and timeout for attr in ['_sock', 'socket']: # pragma: no cover @@ -170,7 +176,7 @@ class Socket(object): # the socket was already connected, so this is an upgrade self.upgrading = True # hold packet sends during the upgrade - pkt = ws.wait() + pkt = websocket_wait() decoded_pkt = packet.Packet(encoded_packet=pkt) if decoded_pkt.packet_type != packet.PING or \ decoded_pkt.data != 'probe': @@ -181,7 +187,7 @@ class Socket(object): ws.send(packet.Packet(packet.PONG, data='probe').encode()) self.queue.put(packet.Packet(packet.NOOP)) # end poll - pkt = ws.wait() + pkt = websocket_wait() decoded_pkt = packet.Packet(encoded_packet=pkt) if decoded_pkt.packet_type != packet.UPGRADE: self.upgraded = False @@ -221,7 +227,7 @@ class Socket(object): while True: p = None try: - p = ws.wait() + p = websocket_wait() except Exception as e: # if the socket is already closed, we can assume this is a # downstream error of that diff --git a/libs/engineio/static_files.py b/libs/engineio/static_files.py index 3058f6ea4..77c891571 100644 --- a/libs/engineio/static_files.py +++ b/libs/engineio/static_files.py @@ -21,23 +21,28 @@ def get_static_file(path, static_files): "content_type". If the requested URL does not match any static file, the return value is None. """ + extra_path = '' if path in static_files: f = static_files[path] else: f = None - rest = '' while path != '': path, last = path.rsplit('/', 1) - rest = '/' + last + rest + extra_path = '/' + last + extra_path if path in static_files: - f = static_files[path] + rest + f = static_files[path] break elif path + '/' in static_files: - f = static_files[path + '/'] + rest[1:] + f = static_files[path + '/'] break if f: if isinstance(f, str): f = {'filename': f} + else: + f = f.copy() # in case it is mutated below + if f['filename'].endswith('/') and extra_path.startswith('/'): + extra_path = extra_path[1:] + f['filename'] += extra_path if f['filename'].endswith('/'): if '' in static_files: if isinstance(static_files[''], str): diff --git a/libs/version.txt b/libs/version.txt index cbedbb311..38a82cd7a 100644 --- a/libs/version.txt +++ b/libs/version.txt @@ -10,7 +10,7 @@ chardet=3.0.4 cloudscraper=1.2.58 deep-translator=1.5.4 dogpile.cache=0.6.5 -engineio=4.0.2dev +engineio=4.3.0 enzyme=0.4.1 ffsubsync=0.4.11 Flask=1.1.1 From 4b8f0dbe814a69237a9afa596106949045777f13 Mon Sep 17 00:00:00 2001 From: morpheus65535 Date: Tue, 30 Nov 2021 12:02:19 -0500 Subject: [PATCH 06/48] Fixed addic7ed provider that wasn't able to find all shows. #1619 --- libs/subliminal_patch/providers/addic7ed.py | 27 +++++++++------------ 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/libs/subliminal_patch/providers/addic7ed.py b/libs/subliminal_patch/providers/addic7ed.py index 71f840d9d..01e312b31 100644 --- a/libs/subliminal_patch/providers/addic7ed.py +++ b/libs/subliminal_patch/providers/addic7ed.py @@ -285,29 +285,26 @@ class Addic7edProvider(_Addic7edProvider): logger.info('Getting show ids') region.set(self.last_show_ids_fetch_key, datetime.datetime.now()) - r = self.session.get(self.server_url, timeout=60) + r = self.session.get(self.server_url + 'shows.php', timeout=60) r.raise_for_status() soup = ParserBeautifulSoup(r.content.decode('utf-8', 'ignore'), ['lxml', 'html.parser']) # populate the show ids show_ids = {} - shows = soup.find(id='qsShow') + shows = soup.select('td > h3 > a[href^="/show/"]') for show in shows: - if hasattr(show, 'attrs'): - try: - show_id = int(show.attrs['value']) - except ValueError: - continue + show_clean = sanitize(show.text, default_characters=self.sanitize_characters) + try: + show_id = int(show['href'][6:]) + except ValueError: + continue - if show_id != 0: - show_clean = sanitize(show.text, default_characters=self.sanitize_characters) - - show_ids[show_clean] = show_id - match = series_year_re.match(show_clean) - if match and match.group(2) and match.group(1) not in show_ids: - # year found, also add it without year - show_ids[match.group(1)] = show_id + show_ids[show_clean] = show_id + match = series_year_re.match(show_clean) + if match and match.group(2) and match.group(1) not in show_ids: + # year found, also add it without year + show_ids[match.group(1)] = show_id soup.decompose() soup = None From e1386aedc0c9e9bb2400af8f97027b4291fbd959 Mon Sep 17 00:00:00 2001 From: Vitiko Date: Tue, 30 Nov 2021 15:00:03 -0400 Subject: [PATCH 07/48] Avoid breaking function with optional keyword parameter --- libs/subliminal_patch/score.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/libs/subliminal_patch/score.py b/libs/subliminal_patch/score.py index 2d381f412..3e6d1edcb 100644 --- a/libs/subliminal_patch/score.py +++ b/libs/subliminal_patch/score.py @@ -30,8 +30,8 @@ def framerate_equal(source, check): def compute_score(matches, subtitle, video, hearing_impaired=None, score_obj=None): """Compute the score of the `subtitle` against the `video` with `hearing_impaired` preference. - - patch: + + patch: - remove upper bounds of score - re-add matches argument and remove get_matches from here @@ -49,8 +49,11 @@ def compute_score(matches, subtitle, video, hearing_impaired=None, score_obj=Non """ logger.info('%r: Computing score for video %r with %r', subtitle, video, dict(hearing_impaired=hearing_impaired)) - scores = score_obj.scores or get_scores(video) - score_obj.check_custom_profiles(subtitle, matches) + if score_obj is not None: + scores = score_obj.scores + score_obj.check_custom_profiles(subtitle, matches) + else: + scores = get_scores(video) is_episode = isinstance(video, Episode) is_movie = isinstance(video, Movie) From d2bbc479bcf7044d5f6a1c435adac161a29112fb Mon Sep 17 00:00:00 2001 From: Vitiko Date: Tue, 30 Nov 2021 17:40:51 -0400 Subject: [PATCH 08/48] Argenteam provider: fix decoding error --- libs/subliminal_patch/providers/argenteam.py | 220 +++++++++---------- libs/subliminal_patch/subtitle.py | 2 +- 2 files changed, 110 insertions(+), 112 deletions(-) diff --git a/libs/subliminal_patch/providers/argenteam.py b/libs/subliminal_patch/providers/argenteam.py index 66e2d30d3..53f06859f 100644 --- a/libs/subliminal_patch/providers/argenteam.py +++ b/libs/subliminal_patch/providers/argenteam.py @@ -7,8 +7,7 @@ import io import time import urllib.parse -from json.decoder import JSONDecodeError - +from simplejson.errors import JSONDecodeError from zipfile import ZipFile from guessit import guessit from requests import Session @@ -19,8 +18,8 @@ from subliminal_patch.subtitle import Subtitle, guess_matches from subliminal_patch.providers.mixins import ProviderSubtitleArchiveMixin from subzero.language import Language -BASE_URL = "https://argenteam.net/" -API_URL = BASE_URL + "api/v1/" +BASE_URL = "https://argenteam.net" +API_URL = f"{BASE_URL}/api/v1" logger = logging.getLogger(__name__) @@ -69,10 +68,9 @@ class ArgenteamProvider(Provider, ProviderSubtitleArchiveMixin): multi_result_throttle = 2 # seconds def __init__(self): - self.session = None + self.session = Session() def initialize(self): - self.session = Session() self.session.headers.update( {"User-Agent": os.environ.get("SZ_USER_AGENT", "Sub-Zero/2")} ) @@ -80,118 +78,20 @@ class ArgenteamProvider(Provider, ProviderSubtitleArchiveMixin): def terminate(self): self.session.close() - def search_ids(self, title, **kwargs): - query = title - titles = kwargs.get("titles") or [] - - is_episode = False - if kwargs.get("season") and kwargs.get("episode"): - is_episode = True - query = f"{title} S{kwargs['season']:02}E{kwargs['episode']:02}" - - logger.debug(f"Searching ID (episode: {is_episode}) for {query}") - - r = self.session.get(API_URL + "search", params={"q": query}, timeout=10) - r.raise_for_status() - - try: - results = r.json() - except JSONDecodeError: - return [] - - if not results.get("results"): - return [] - - match_ids = [] - for result in results["results"]: - if result["type"] == "movie" and is_episode: - continue - - imdb = f"tt{result.get('imdb', 'n/a')}" - if not is_episode and imdb == kwargs.get("imdb_id"): - logger.debug("Movie matched by IMDB ID, taking shortcut") - match_ids = [result["id"]] - break - - # advanced title check in case of multiple movie results - title_year = kwargs.get("year") and kwargs.get("title") - if results["total"] > 1 and not is_episode and title_year: - sanitized = sanitize(result["title"]) - titles = [f"{sanitize(name)} {kwargs['year']}" for name in titles] - if sanitized not in titles: - continue - - match_ids.append(result["id"]) - - if match_ids: - ids = ", ".join(str(id) for id in match_ids) - logger.debug("Found matching IDs: %s", ids) - else: - logger.debug("Nothing found from %s query", query) - - return match_ids - - def get_query_matches(self, video, **kwargs): - matches = set() - if isinstance(video, Episode) and kwargs.get("movie_kind") == "episode": - if video.series and ( - sanitize(kwargs.get("title")) - in ( - sanitize(name) for name in [video.series] + video.alternative_series - ) - ): - matches.add("series") - - if video.season and kwargs.get("season") == video.season: - matches.add("season") - - if video.episode and kwargs.get("episode") == video.episode: - matches.add("episode") - - if video.tvdb_id and kwargs.get("tvdb_id") == str(video.tvdb_id): - matches.add("tvdb_id") - - # year (year is not available for series, but we assume it matches) - matches.add("year") - - elif isinstance(video, Movie) and kwargs.get("movie_kind") == "movie": - if video.title and ( - sanitize(kwargs.get("title")) - in (sanitize(name) for name in [video.title] + video.alternative_titles) - ): - matches.add("title") - - if video.imdb_id and f"tt{kwargs.get('imdb_id')}" == str(video.imdb_id): - matches.add("imdb_id") - - if video.year and kwargs.get("year") == video.year: - matches.add("year") - else: - logger.info(f"{kwargs.get('movie_kind')} is not a valid movie_kind") - - return matches - - def combine_release_info(self, release_dict): - keys = ("source", "codec", "tags", "team") - combine = [release_dict.get(key) for key in keys if release_dict.get(key)] - if combine: - return ".".join(combine) - return "Unknown" - def query(self, title, video, titles=None): is_episode = isinstance(video, Episode) season = episode = None - url = API_URL + "movie" + url = f"{API_URL}/movie" if is_episode: season = video.season episode = video.episode - url = API_URL + "episode" - argenteam_ids = self.search_ids( + url = f"{API_URL}/episode" + argenteam_ids = self._search_ids( title, season=season, episode=episode, titles=titles ) else: - argenteam_ids = self.search_ids( + argenteam_ids = self._search_ids( title, year=video.year, imdb_id=video.imdb_id, titles=titles ) @@ -223,11 +123,11 @@ class ArgenteamProvider(Provider, ProviderSubtitleArchiveMixin): for r in content["releases"]: for s in r["subtitles"]: movie_kind = "episode" if is_episode else "movie" - page_link = f"{BASE_URL}{movie_kind}/{aid}" - release_info = self.combine_release_info(r) + page_link = f"{BASE_URL}/{movie_kind}/{aid}" + release_info = self._combine_release_info(r) download_link = s["uri"].replace("http://", "https://") - matches_ = self.get_query_matches( + matches_ = self._get_query_matches( video, movie_kind=movie_kind, season=season, @@ -275,3 +175,101 @@ class ArgenteamProvider(Provider, ProviderSubtitleArchiveMixin): # open the zip with ZipFile(io.BytesIO(r.content)) as zf: subtitle.content = self.get_subtitle_from_archive(subtitle, zf) + + def _search_ids(self, title, **kwargs): + query = title + titles = kwargs.get("titles") or [] + + is_episode = False + if kwargs.get("season") and kwargs.get("episode"): + is_episode = True + query = f"{title} S{kwargs['season']:02}E{kwargs['episode']:02}" + + logger.debug(f"Searching ID (episode: {is_episode}) for {query}") + + r = self.session.get(f"{API_URL}/search", params={"q": query}, timeout=10) + r.raise_for_status() + + try: + results = r.json() + except JSONDecodeError: + return [] + + if not results.get("results"): + return [] + + match_ids = [] + for result in results["results"]: + if result["type"] == "movie" and is_episode: + continue + + imdb = f"tt{result.get('imdb', 'n/a')}" + if not is_episode and imdb == kwargs.get("imdb_id"): + logger.debug("Movie matched by IMDB ID, taking shortcut") + match_ids = [result["id"]] + break + + # advanced title check in case of multiple movie results + title_year = kwargs.get("year") and kwargs.get("title") + if results["total"] > 1 and not is_episode and title_year: + sanitized = sanitize(result["title"]) + titles = [f"{sanitize(name)} {kwargs['year']}" for name in titles] + if sanitized not in titles: + continue + + match_ids.append(result["id"]) + + if match_ids: + ids = ", ".join(str(id) for id in match_ids) + logger.debug("Found matching IDs: %s", ids) + else: + logger.debug("Nothing found from %s query", query) + + return match_ids + + def _get_query_matches(self, video, **kwargs): + matches = set() + if isinstance(video, Episode) and kwargs.get("movie_kind") == "episode": + if video.series and ( + sanitize(kwargs.get("title")) + in ( + sanitize(name) for name in [video.series] + video.alternative_series + ) + ): + matches.add("series") + + if video.season and kwargs.get("season") == video.season: + matches.add("season") + + if video.episode and kwargs.get("episode") == video.episode: + matches.add("episode") + + if video.tvdb_id and kwargs.get("tvdb_id") == str(video.tvdb_id): + matches.add("tvdb_id") + + # year (year is not available for series, but we assume it matches) + matches.add("year") + + elif isinstance(video, Movie) and kwargs.get("movie_kind") == "movie": + if video.title and ( + sanitize(kwargs.get("title")) + in (sanitize(name) for name in [video.title] + video.alternative_titles) + ): + matches.add("title") + + if video.imdb_id and f"tt{kwargs.get('imdb_id')}" == str(video.imdb_id): + matches.add("imdb_id") + + if video.year and kwargs.get("year") == video.year: + matches.add("year") + else: + logger.info(f"{kwargs.get('movie_kind')} is not a valid movie_kind") + + return matches + + def _combine_release_info(self, release_dict): + keys = ("source", "codec", "tags", "team") + combine = [release_dict.get(key) for key in keys if release_dict.get(key)] + if combine: + return ".".join(combine) + return "Unknown" diff --git a/libs/subliminal_patch/subtitle.py b/libs/subliminal_patch/subtitle.py index 78c291670..ee2dc15ce 100644 --- a/libs/subliminal_patch/subtitle.py +++ b/libs/subliminal_patch/subtitle.py @@ -44,7 +44,7 @@ ftfy_defaults = { class Subtitle(Subtitle_): storage_path = None release_info = None - matches = None + matches = {} hash_verifiable = False hearing_impaired_verifiable = False mods = None From 5fc93bcb1da809c129afb6a1f7e16b0a4c9f4d2f Mon Sep 17 00:00:00 2001 From: Vitiko Date: Tue, 30 Nov 2021 17:49:28 -0400 Subject: [PATCH 09/48] Update tests Assrt provider tests were removed as they are not compatible with the latest "subliminal_patch" updates. For convenience, I've added a test submodule called "subliminal_patch" where we can test providers separately. --- dev-requirements.txt | 1 + .../assrt/test_download_episode_subtitle.yaml | 605 --- .../assrt/test_download_subtitle.yaml | 3932 ---------------- .../assrt/test_download_subtitle_zh.yaml | 3933 ----------------- tests/cassettes/assrt/test_query_episode.yaml | 83 - .../assrt/test_query_list_subtitles.yaml | 98 - .../cassettes/assrt/test_query_movie_zh.yaml | 97 - .../assrt/test_query_movie_zh_Hans.yaml | 97 - .../assrt/test_query_movie_zh_Hant.yaml | 97 - tests/conftest.py | 116 +- tests/libs.py | 11 - .../test_download_subtitle.yaml | 546 +++ .../test_list_subtitles_episode.yaml | 129 + .../test_list_subtitles_movie.yaml | 366 ++ tests/subliminal_patch/conftest.py | 116 + tests/subliminal_patch/test_argenteam.py | 91 + tests/test_assrt.py | 172 - 17 files changed, 1251 insertions(+), 9239 deletions(-) delete mode 100644 tests/cassettes/assrt/test_download_episode_subtitle.yaml delete mode 100644 tests/cassettes/assrt/test_download_subtitle.yaml delete mode 100644 tests/cassettes/assrt/test_download_subtitle_zh.yaml delete mode 100644 tests/cassettes/assrt/test_query_episode.yaml delete mode 100644 tests/cassettes/assrt/test_query_list_subtitles.yaml delete mode 100644 tests/cassettes/assrt/test_query_movie_zh.yaml delete mode 100644 tests/cassettes/assrt/test_query_movie_zh_Hans.yaml delete mode 100644 tests/cassettes/assrt/test_query_movie_zh_Hant.yaml delete mode 100644 tests/libs.py create mode 100644 tests/subliminal_patch/cassettes/test_argenteam/test_download_subtitle.yaml create mode 100644 tests/subliminal_patch/cassettes/test_argenteam/test_list_subtitles_episode.yaml create mode 100644 tests/subliminal_patch/cassettes/test_argenteam/test_list_subtitles_movie.yaml create mode 100644 tests/subliminal_patch/conftest.py create mode 100644 tests/subliminal_patch/test_argenteam.py delete mode 100644 tests/test_assrt.py diff --git a/dev-requirements.txt b/dev-requirements.txt index e812f80b9..9ba4733a1 100644 --- a/dev-requirements.txt +++ b/dev-requirements.txt @@ -4,3 +4,4 @@ pytest pytest-pep8 pytest-flakes pytest-cov +pytest-vcr diff --git a/tests/cassettes/assrt/test_download_episode_subtitle.yaml b/tests/cassettes/assrt/test_download_episode_subtitle.yaml deleted file mode 100644 index aa08778b9..000000000 --- a/tests/cassettes/assrt/test_download_episode_subtitle.yaml +++ /dev/null @@ -1,605 +0,0 @@ -interactions: -- request: - body: null - headers: - User-Agent: - - Sub-Zero/2 - method: GET - uri: https://api.assrt.net/v1/sub/search?q=%5B%27The+Big+Bang+Theory+S07E05%27%5D&token=SECRET&is_file=%5B%271%27%5D - response: - body: - string: "{\"status\":0,\"sub\":{\"keyword\":\"The Big Bang Theory S07E05\",\"\ - result\":\"succeed\",\"subs\":[{\"subtype\":\"Subrip(srt)\",\"id\":618200,\"\ - lang\":{\"desc\":\"\u7B80\",\"langlist\":{\"langchs\":true}},\"vote_score\"\ - :0,\"upload_time\":\"2018-01-26 19:23:52\",\"native_name\":\"\u5929\u624D\u7406\ - \u8BBA\u4F20\u7B2C7\u5B63\u516824\u96C6The.Big.Bang.Theory.S07.1080p.WEB-DL.DD5.1.H.264\"\ - ,\"videoname\":\"The.Big.Bang.Theory.S07.1080p.WEB-DL.DD5.1.H.264\",\"release_site\"\ - :\"\u4F0A\u7538\u56ED\",\"revision\":0},{\"upload_time\":\"2014-12-06 04:13:43\"\ - ,\"subtype\":\"Subrip(srt)\",\"id\":316965,\"native_name\":\"\u751F\u6D3B\u5927\ - \u7206\u70B8 \u7B2C\u4E03\u5B63 \u7B2C 5 \u96C6\",\"videoname\":\"The Big\ - \ Bang Theory S07E05 720p HDTV X264-DIMENSION\",\"revision\":0,\"vote_score\"\ - :0},{\"upload_time\":\"2014-12-06 04:13:43\",\"subtype\":\"Subrip(srt)\",\"\ - id\":316966,\"native_name\":\"\u751F\u6D3B\u5927\u7206\u70B8 \u7B2C\u4E03\u5B63\ - \ \u7B2C 5 \u96C6\",\"videoname\":\"The Big Bang Theory S07E05 720p HDTV X264-DIMENSION\"\ - ,\"revision\":0,\"vote_score\":0},{\"upload_time\":\"2014-11-02 10:41:05\"\ - ,\"subtype\":\"SSA\",\"revision\":0,\"id\":264973,\"lang\":{\"desc\":\"\u53CC\ - \u8BED\",\"langlist\":{\"langdou\":true}},\"videoname\":\"The.Big.Bang.Theory.S07E05.720p.BluRay.x264-DEMAND\"\ - ,\"native_name\":\"The Big Bang Theory S07\\/\u751F\u6D3B\u5927\u7206\u70B8\ - \ \u7B2C\u4E03\u5B63\\/The Big Bang Theory Season 07\",\"vote_score\":80},{\"\ - upload_time\":\"2014-08-30 05:11:21\",\"subtype\":\"Subrip(srt)\",\"revision\"\ - :0,\"id\":261680,\"lang\":{\"desc\":\"\u7B80\",\"langlist\":{\"langchs\":true}},\"\ - videoname\":\"The.Big.Bang.Theory.S07.720p.BluRay.x264-DEMAND\",\"native_name\"\ - :\"\u751F\u6D3B\u5927\u7206\u70B8 \u7B2C\u4E03\u5B63\\/\u5929\u624D\u7406\u8BBA\ - \u4F20\",\"vote_score\":0},{\"upload_time\":\"2013-10-19 03:34:04\",\"subtype\"\ - :\"Subrip(srt)\",\"revision\":0,\"id\":244659,\"lang\":{\"desc\":\"\u82F1\ - \ \u7B80 \u7E41\",\"langlist\":{\"langeng\":true,\"langchs\":true,\"langcht\"\ - :true}},\"videoname\":\"The Big Bang Theory S07E05 the.big.bang.theory.705.hdtv-lol\"\ - ,\"native_name\":\"\u5929\u624D\u7406\u8BBA\u4F20\\/\u751F\u6D3B\u5927\u7206\ - \u70B8 \u7B2C\u4E03\u5B63\u7B2C\u4E94\u96C6\",\"vote_score\":0},{\"upload_time\"\ - :\"2013-10-18 23:33:24\",\"subtype\":\"Subrip(srt)\",\"revision\":0,\"id\"\ - :244640,\"lang\":{\"desc\":\"\u82F1 \u7B80 \u7E41 \u53CC\u8BED\",\"langlist\"\ - :{\"langcht\":true,\"langeng\":true,\"langdou\":true,\"langchs\":true}},\"\ - videoname\":\"\u751F\u6D3B\u5927\u7206\u70B8\\/The Big Bang Theory S07E05\\\ - /\u7B2C\u4E03\u5B63\u7B2C5\u96C6\\/\u5723\u57CE\u5BB6\u56ED\u53CC\u8BED\u5B57\ - \u5E55 the.big.bang.theory.705.hdtv-lol\",\"native_name\":\"\",\"vote_score\"\ - :0},{\"upload_time\":\"2013-10-18 22:15:16\",\"subtype\":\"SSA\",\"revision\"\ - :0,\"id\":244632,\"lang\":{\"desc\":\"\u82F1 \u7B80\",\"langlist\":{\"langchs\"\ - :true,\"langeng\":true}},\"videoname\":\"The.Big.Bang.Theory.S07E05.720p.HDTV.X264-DIMENSION\"\ - ,\"native_name\":\"\u5929\u624D\u7406\u8BBA\u4F20\\/The Big Bang Theory S07E05\u751F\ - \u6D3B\u5927\u7206\u70B8 \u7B2C\u4E03\u5B63\u7B2C\u4E94\u96C6\u3010\u8C22\u8033\ - \u6735\u5B57\u5E55\u7EC4\u3011\",\"vote_score\":0},{\"upload_time\":\"2013-10-18\ - \ 21:31:21\",\"subtype\":\"\u5176\u4ED6\",\"revision\":0,\"id\":244630,\"\ - lang\":{\"desc\":\"\",\"langlist\":{}},\"videoname\":\"\u751F\u6D3B\u5927\u7206\ - \u70B8 \u7B2C7\u96C6\u7B2C5\u96C6 720P\",\"native_name\":\"\",\"vote_score\"\ - :0},{\"upload_time\":\"2013-10-18 20:46:57\",\"subtype\":\"\u5176\u4ED6\"\ - ,\"revision\":0,\"id\":244624,\"lang\":{\"desc\":\"\u82F1 \u7B80 \u7E41\"\ - ,\"langlist\":{\"langeng\":true,\"langchs\":true,\"langcht\":true}},\"videoname\"\ - :\"\u751F\u6D3B\u5927\u7206\u70B8\u7B2C\u4E03\u5B63\u7B2C5\u96C6\",\"native_name\"\ - :\"The Big Bang Theory S07E05\",\"vote_score\":0},{\"subtype\":\"Subrip(srt)\"\ - ,\"id\":585062,\"lang\":{\"desc\":\"\u82F1 \u7B80 \u7E41 \u53CC\u8BED\",\"\ - langlist\":{\"langcht\":true,\"langeng\":true,\"langdou\":true,\"langchs\"\ - :true}},\"vote_score\":0,\"upload_time\":\"2013-10-17 17:31:00\",\"native_name\"\ - :\"\u751F\u6D3B\u5927\u7206\u70B8 \u7B2C7\u96C6\u7B2C5\u96C6\",\"videoname\"\ - :\"The Big Bang Theory S07E05\",\"release_site\":\"\u4EBA\u4EBA\u5F71\u89C6\ - YYeTs\",\"revision\":0}],\"action\":\"search\"}}\n" - headers: - access-control-allow-origin: - - '*' - connection: - - keep-alive - content-type: - - application/json - date: - - Sat, 30 Nov 2019 07:14:41 GMT - server: - - nginx - transfer-encoding: - - chunked - vary: - - Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - User-Agent: - - Sub-Zero/2 - method: GET - uri: https://api.assrt.net/v1/sub/detail?token=SECRET&id=%5B%27618200%27%5D - response: - body: - string: "{\"status\":0,\"sub\":{\"result\":\"succeed\",\"subs\":[{\"id\":618200,\"\ - filelist\":[{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\/-\\\ - /1\\/The.Big.Bang.Theory.S07E01.The.Hofstadter.Insufficiency.720p.WEB-DL.DD5.1.H.264.srt?_=1575098081&-=dc994ecdf3a6a02a2651950fb52956d5&api=1\"\ - ,\"f\":\"The.Big.Bang.Theory.S07E01.The.Hofstadter.Insufficiency.720p.WEB-DL.DD5.1.H.264.srt\"\ - ,\"s\":\"20KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\ - /-\\/2\\/The.Big.Bang.Theory.S07E02.The.Deception.Verification.720p.WEB-DL.DD5.1.H.264.srt?_=1575098081&-=3d7591f8ce42e96aae82d6565f45847f&api=1\"\ - ,\"f\":\"The.Big.Bang.Theory.S07E02.The.Deception.Verification.720p.WEB-DL.DD5.1.H.264.srt\"\ - ,\"s\":\"25KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\ - /-\\/3\\/The.Big.Bang.Theory.S07E03.The.Scavenger.Vortex.720p.WEB-DL.DD5.1.H.264.srt?_=1575098081&-=b243d9b5ea70772b40af9e1399c3dce2&api=1\"\ - ,\"f\":\"The.Big.Bang.Theory.S07E03.The.Scavenger.Vortex.720p.WEB-DL.DD5.1.H.264.srt\"\ - ,\"s\":\"25KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\ - /-\\/4\\/The.Big.Bang.Theory.S07E04.The.Raiders.Minimization.720p.WEB-DL.DD5.1.H.264.srt?_=1575098081&-=0b6f5092475eeb0e24442658271cc8a7&api=1\"\ - ,\"f\":\"The.Big.Bang.Theory.S07E04.The.Raiders.Minimization.720p.WEB-DL.DD5.1.H.264.srt\"\ - ,\"s\":\"24KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\ - /-\\/5\\/The.Big.Bang.Theory.S07E05.The.Workplace.Proximity.720p.WEB-DL.DD5.1.H.264.srt?_=1575098081&-=f2aed4f15f4806f96780aafe2b2aed71&api=1\"\ - ,\"f\":\"The.Big.Bang.Theory.S07E05.The.Workplace.Proximity.720p.WEB-DL.DD5.1.H.264.srt\"\ - ,\"s\":\"19KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\ - /-\\/6\\/The.Big.Bang.Theory.S07E06.The.Romance.Resonance.720p.WEB-DL.DD5.1.H.264.srt?_=1575098081&-=8f6888f21277235187af784756188bd7&api=1\"\ - ,\"f\":\"The.Big.Bang.Theory.S07E06.The.Romance.Resonance.720p.WEB-DL.DD5.1.H.264.srt\"\ - ,\"s\":\"24KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\ - /-\\/7\\/The.Big.Bang.Theory.S07E07.The.Proton.Displacement.720p.WEB-DL.DD5.1.H.264.srt?_=1575098081&-=90d234aed204bdef9a3e2d699e1a3f11&api=1\"\ - ,\"f\":\"The.Big.Bang.Theory.S07E07.The.Proton.Displacement.720p.WEB-DL.DD5.1.H.264.srt\"\ - ,\"s\":\"20KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\ - /-\\/8\\/The.Big.Bang.Theory.S07E08.The.Itchy.Brain.Simulation.720p.WEB-DL.DD5.1.H.264.srt?_=1575098081&-=e65fd7846fcdf3fb1c12c4d81bae4600&api=1\"\ - ,\"f\":\"The.Big.Bang.Theory.S07E08.The.Itchy.Brain.Simulation.720p.WEB-DL.DD5.1.H.264.srt\"\ - ,\"s\":\"20KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\ - /-\\/9\\/The.Big.Bang.Theory.S07E09.The.Thanksgiving.Decoupling.720p.WEB-DL.DD5.1.H.264.srt?_=1575098081&-=56aa3deed2441fc3ba57501e44240739&api=1\"\ - ,\"f\":\"The.Big.Bang.Theory.S07E09.The.Thanksgiving.Decoupling.720p.WEB-DL.DD5.1.H.264.srt\"\ - ,\"s\":\"21KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\ - /-\\/10\\/The.Big.Bang.Theory.S07E10.The.Discovery.Dissipation.720p.WEB-DL.DD5.1.H.264.srt?_=1575098081&-=02740b8e5500328af67531babfba02ff&api=1\"\ - ,\"f\":\"The.Big.Bang.Theory.S07E10.The.Discovery.Dissipation.720p.WEB-DL.DD5.1.H.264.srt\"\ - ,\"s\":\"24KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\ - /-\\/11\\/The.Big.Bang.Theory.S07E11.The.Cooper.Extraction.720p.WEB-DL.DD5.1.H.264.srt?_=1575098081&-=4402626f09db033a2f1fd7cd9ac374d4&api=1\"\ - ,\"f\":\"The.Big.Bang.Theory.S07E11.The.Cooper.Extraction.720p.WEB-DL.DD5.1.H.264.srt\"\ - ,\"s\":\"21KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\ - /-\\/12\\/The.Big.Bang.Theory.S07E12.The.Hesitation.Ramification.720p.WEB-DL.DD5.1.H.264.srt?_=1575098081&-=24ebaf0165ab4b525419afb41aded7b6&api=1\"\ - ,\"f\":\"The.Big.Bang.Theory.S07E12.The.Hesitation.Ramification.720p.WEB-DL.DD5.1.H.264.srt\"\ - ,\"s\":\"20KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\ - /-\\/13\\/The.Big.Bang.Theory.S07E13.The.Occupation.Recalibration.720p.WEB-DL.DD5.1.H.264.srt?_=1575098081&-=44a96783c63e37c23504e203f3a963ee&api=1\"\ - ,\"f\":\"The.Big.Bang.Theory.S07E13.The.Occupation.Recalibration.720p.WEB-DL.DD5.1.H.264.srt\"\ - ,\"s\":\"23KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\ - /-\\/14\\/The.Big.Bang.Theory.S07E14.The.Convention.Conundrum.720p.WEB-DL.DD5.1.H.264.srt?_=1575098081&-=a581f9a7a58cd18fda8d29cbad3000b3&api=1\"\ - ,\"f\":\"The.Big.Bang.Theory.S07E14.The.Convention.Conundrum.720p.WEB-DL.DD5.1.H.264.srt\"\ - ,\"s\":\"23KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\ - /-\\/15\\/The.Big.Bang.Theory.S07E15.The.Locomotive.Manipulation.720p.WEB-DL.DD5.1.H.264.srt?_=1575098081&-=217c6ae8f48eba667d258b6448fe1022&api=1\"\ - ,\"f\":\"The.Big.Bang.Theory.S07E15.The.Locomotive.Manipulation.720p.WEB-DL.DD5.1.H.264.srt\"\ - ,\"s\":\"22KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\ - /-\\/16\\/The.Big.Bang.Theory.S07E16.The.Table.Polarization.720p.WEB-DL.DD5.1.H.264.srt?_=1575098081&-=ef0f11100e90ed343fe510418effaaf9&api=1\"\ - ,\"f\":\"The.Big.Bang.Theory.S07E16.The.Table.Polarization.720p.WEB-DL.DD5.1.H.264.srt\"\ - ,\"s\":\"22KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\ - /-\\/17\\/The.Big.Bang.Theory.S07E17.The.Friendship.Turbulence.720p.WEB-DL.DD5.1.H.264.srt?_=1575098081&-=63a6b5c214c15b380674315bc9a7a1ad&api=1\"\ - ,\"f\":\"The.Big.Bang.Theory.S07E17.The.Friendship.Turbulence.720p.WEB-DL.DD5.1.H.264.srt\"\ - ,\"s\":\"21KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\ - /-\\/18\\/The.Big.Bang.Theory.S07E18.The.Mommy.Observation.720p.WEB-DL.DD5.1.AAC2.0.H.264-YFN.srt?_=1575098081&-=21b5bfa881f07f4a9dcb04189b7f2666&api=1\"\ - ,\"f\":\"The.Big.Bang.Theory.S07E18.The.Mommy.Observation.720p.WEB-DL.DD5.1.AAC2.0.H.264-YFN.srt\"\ - ,\"s\":\"22KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\ - /-\\/19\\/The.Big.Bang.Theory.S07E19.The.Indecision.Amalgamation.720p.WEB-DL.DD5.1.AAC2.0.H.264-YFN.srt?_=1575098081&-=0d3cf082feb58e0c92ffe27bdc396fca&api=1\"\ - ,\"f\":\"The.Big.Bang.Theory.S07E19.The.Indecision.Amalgamation.720p.WEB-DL.DD5.1.AAC2.0.H.264-YFN.srt\"\ - ,\"s\":\"21KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\ - /-\\/20\\/The.Big.Bang.Theory.S07E20.The.Relationship.Diremption.720p.WEB-DL.DD5.1.H.264.srt?_=1575098081&-=79e8f4c5123eac1a33860e333a4056e8&api=1\"\ - ,\"f\":\"The.Big.Bang.Theory.S07E20.The.Relationship.Diremption.720p.WEB-DL.DD5.1.H.264.srt\"\ - ,\"s\":\"22KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\ - /-\\/21\\/The.Big.Bang.Theory.S07E21.The.Anything.Can.Happen.Recurrence.720p.WEB-DL.DD5.1.H.264.srt?_=1575098081&-=c8cf7d8354f11fe4ed919ed2428b9cb3&api=1\"\ - ,\"f\":\"The.Big.Bang.Theory.S07E21.The.Anything.Can.Happen.Recurrence.720p.WEB-DL.DD5.1.H.264.srt\"\ - ,\"s\":\"19KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\ - /-\\/22\\/The.Big.Bang.Theory.S07E22.The.Protron.Transmogrification.720p.WEB-DL.DD5.1.H.264.gb.srt?_=1575098081&-=874f8e01f5c910b365e1fa2dcb2633d3&api=1\"\ - ,\"f\":\"The.Big.Bang.Theory.S07E22.The.Protron.Transmogrification.720p.WEB-DL.DD5.1.H.264.gb.srt\"\ - ,\"s\":\"22KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\ - /-\\/23\\/The.Big.Bang.Theory.S07E23.The.Gorilla.Dissolution.720p.WEB-DL.DD5.1.H.264.gb.srt?_=1575098081&-=58925fc05efb7b49bf8caa65ec7e79a2&api=1\"\ - ,\"f\":\"The.Big.Bang.Theory.S07E23.The.Gorilla.Dissolution.720p.WEB-DL.DD5.1.H.264.gb.srt\"\ - ,\"s\":\"23KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\ - /-\\/24\\/The.Big.Bang.Theory.S07E24.The.Status.Quo.Combustion.720p.WEB-DL.DD5.1.AAC2.0.H.264-YFN.gb.srt?_=1575098081&-=796e260c7590e4a5eb6e2a866de47111&api=1\"\ - ,\"f\":\"The.Big.Bang.Theory.S07E24.The.Status.Quo.Combustion.720p.WEB-DL.DD5.1.AAC2.0.H.264-YFN.gb.srt\"\ - ,\"s\":\"26KB\"}],\"url\":\"http:\\/\\/file0.assrt.net\\/download\\/618200\\\ - /The.Big.Bang.Theory.S07.1080p.WEB-DL.DD5.1.H.264.zip?_=1575098081&-=b56a01003b604bdd203ef305f3b49287&api=1\"\ - ,\"release_site\":\"\u4F0A\u7538\u56ED\",\"revision\":0,\"filename\":\"The.Big.Bang.Theory.S07.1080p.WEB-DL.DD5.1.H.264.zip\"\ - ,\"subtype\":\"Subrip(srt)\",\"lang\":{\"desc\":\"\u7B80\",\"langlist\":{\"\ - langchs\":true}},\"videoname\":\"The.Big.Bang.Theory.S07.1080p.WEB-DL.DD5.1.H.264\"\ - ,\"vote_score\":0,\"upload_time\":\"2018-01-26 19:23:52\",\"title\":\"\u5929\ - \u624D\u7406\u8BBA\u4F20\u7B2C7\u5B63\u516824\u96C6The.Big.Bang.Theory.S07.1080p.WEB-DL.DD5.1.H.264\"\ - ,\"view_count\":1020,\"native_name\":\"\u5929\u624D\u7406\u8BBA\u4F20\u7B2C\ - 7\u5B63\u516824\u96C6The.Big.Bang.Theory.S07.1080p.WEB-DL.DD5.1.H.264\",\"\ - producer\":{\"source\":\"\u539F\u521B\u7FFB\u8BD1\",\"verifier\":\"\",\"producer\"\ - :\"\",\"uploader\":\"\"},\"size\":247871,\"down_count\":309}],\"action\":\"\ - detail\"}}\n" - headers: - access-control-allow-origin: - - '*' - connection: - - keep-alive - content-type: - - application/json - date: - - Sat, 30 Nov 2019 07:14:41 GMT - server: - - nginx - transfer-encoding: - - chunked - vary: - - Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - User-Agent: - - Sub-Zero/2 - method: GET - uri: http://file0.assrt.net/onthefly/618200/-/1/The.Big.Bang.Theory.S07E01.The.Hofstadter.Insufficiency.720p.WEB-DL.DD5.1.H.264.srt?api=%5B%271%27%5D&-=%5B%27dc994ecdf3a6a02a2651950fb52956d5%27%5D&_=%5B%271575098081%27%5D - response: - body: - string: !!binary | - MQ0KMDA6MDA6MTAsMDAwIC0tPiAwMDowMDoxMiw2MDANClNoZWxkb24gz9bU2rK7ysfBxMzstcS6 - w8qxuvIhDQoNCjINCjAwOjAwOjEyLDYwMCAtLT4gMDA6MDA6MTQsMDcwDQrE48/ruMnC8D8NCg0K - Mw0KMDA6MDA6MTQsMDcwIC0tPiAwMDowMDoyMCwwNzANCsTjusPRvSCxp8e4ILWr1eLKwrrc1tjS - qg0KDQo0DQowMDowMDoyMCwwNzAgLS0+IDAwOjAwOjIxLDcxMA0KybbKwj8NCg0KNQ0KMDA6MDA6 - MjEsNzEwIC0tPiAwMDowMDoyNiwxODANCiK72LW9zrTAtCK12rb+sr+1xLX6xqwNCtewtb212sj9 - sr+1xLrQ19PA78HLDQoNCjYNCjAwOjAwOjI2LDE4MCAtLT4gMDA6MDA6MzEsODIwDQq2+CK72LW9 - zrTAtCK12sj9sr+1xLX6xqwNCsXcvfjBy7Xatv6yv7XEutDX08DvDQoNCjcNCjAwOjAwOjMyLDI2 - MCAtLT4gMDA6MDA6MzMsNzkwDQrL+dLUxNg/DQoNCjgNCjAwOjAwOjMzLDgwMCAtLT4gMDA6MDA6 - MzgsOTMwDQrL+dLUINXiysfE47jJtcQNCru5ysfLtbzSwO/T0LHwyMu9+MC0wcs/DQoNCjkNCjAw - OjAwOjM5LDkwMCAtLT4gMDA6MDA6NDIsMDIwDQpTaGVsZG9uIM7StcO9+LLVwcsNCg0KMTANCjAw - OjAwOjQyLDAyMCAtLT4gMDA6MDA6NDQsODUwDQrN4sPmt+fAy9S9wLTUvbTzwcsNCg0KMTENCjAw - OjAwOjQ2LDAyMCAtLT4gMDA6MDA6NDgsOTQwDQrE49Tau9ix3M7KzOINCs7Svs3WqrXAysfE47jJ - tcQNCg0KMTINCjAwOjAwOjUyLDUzMCAtLT4gMDA6MDA6NTMsODgwDQrKssO0yfnS9D8NCg0KMTMN - CjAwOjAwOjUzLDg4MCAtLT4gMDA6MDA6NTUsNDAwDQrKssO0yrLDtMn50vQ/DQoNCjE0DQowMDow - MDo1NSw0MDAgLS0+IDAwOjAwOjU2LDgyMA0K0MW6xcrHsrvMq7rDDQoNCjE1DQowMDowMDo1Niw4 - MjAgLS0+IDAwOjAwOjU5LDk1MA0KtavM/cbwwLTP8crHDQrT0MjLsNG6o7nWuPi3xbP2wLTByw0K - DQoxNg0KMDA6MDA6NTYsODIwIC0tPiAwMDowMDo1OSw5NTENCntcYTd9KLP219Qi1u7J8dau1b0i - KQ0KDQoxNw0KMDA6MDE6MDAsNzQwIC0tPiAwMDowMTowNCw5NjANCrrDwcsgztK50rXnu7DByw0K - DQoxOA0KMDA6MDE6MDQsOTYwIC0tPiAwMDowMTowNiw2NjANCsTj1qq1wMTHtqvO97j5sb6yuy4u - Lg0KDQoxOQ0KMDA6MDE6MDksNDEwIC0tPiAwMDowMToxMiwyMjANCrK7IQ0KDQoyMA0KMDA6MDE6 - MTIsMjIwIC0tPiAwMDowMToxNiw3NTANClBlbm55IFBlbm55IFBlbm55IQ0KDQoyMQ0KMDA6MDE6 - MTYsNzUwIC0tPiAwMDowMToxOSwxNzANCtT1w7TByz8NCg0KMjINCjAwOjAxOjE5LDE3MCAtLT4g - MDA6MDE6MjQsNzEwDQq27i4uLsTHuPYuLi7O0rWj0MQNCsTju+HS8s6qz+vE7kxlb25hcmQNCg0K - MjMNCjAwOjAxOjI1LDc2MCAtLT4gMDA6MDE6MjgsNDgwDQq2+Nf22KzDzg0KDQoyNA0KMDA6MDE6 - MjgsNDgwIC0tPiAwMDowMTozMyw5OTANCrHIyOfKx8Tjyc+0ssewv7S1xA0KItbuyfHWrtW9IsDv - tcTH6b3aDQoNCjI1DQowMDowMTozNCw3NDAgLS0+IDAwOjAxOjM3LDY2MA0Kx9ewrrXEIMTj1/bY - rMPOwcs/DQoNCjI2DQowMDowMTozOCw1MzAgLS0+IDAwOjAxOjQwLDExMA0Ky7XKtbuwIMO7tO0N - Cg0KMjcNCjAwOjAxOjQxLDA2MCAtLT4gMDA6MDE6NDUsNDEwDQoiu9i1vc60wLQitdq2/rK/tcS1 - +sasDQqxu7fFvfi12sj9sr+1xLrQ19PA78HLDQoNCjI4DQowMDowMTo0NSw0MjAgLS0+IDAwOjAx - OjQ3LDUzMA0KysdMZW9uYXJkuMm1xA0KDQoyOQ0KMDA6MDE6NDcsNTQwIC0tPiAwMDowMTo0OCw1 - MDANCs3tsLINCg0KMzANCjAwOjAxOjQ4LDUwMCAtLT4gMDA6MDE6NDksOTkwDQqx8CC1yLXIDQoN - CjMxDQowMDowMTo0OSw5OTAgLS0+IDAwOjAxOjU1LDYxMA0K0rLQ7c7S06a4w8uvxOPV4rb5DQrV - 4tH5xOO+zbK7u+HMq8/rxO5MZW9uYXJkwcsNCg0KMzINCjAwOjAxOjU1LDYxMCAtLT4gMDA6MDE6 - NTgsODQwDQrE49aqtcDE49Ta1eK3vcPmzabQocWuyfq1xA0KDQozMw0KMDA6MDI6MDMsMzAwIC0t - PiAwMDowMjowNSw4MDANCtXi0fnIt8q1xNzIw87SusPK3NCpDQoNCjM0DQowMDowMjowNSw4MDAg - LS0+IDAwOjAyOjA3LDY5MA0KLSDQu9C7DQotILK7v83G+A0KDQozNQ0KMDA6MDI6MTEsNjYwIC0t - PiAwMDowMjoxMyw4MTANCs3tsLINCg0KMzYNCjAwOjAyOjE1LDQ0MCAtLT4gMDA6MDI6MjEsMDMw - DQo8Zm9udCBjb2xvcj0iI2ZmZmYwMCI+LT3SwbXp1LDDwL7nICBodHRwOi8vYmJzLnNmaWxlMjAx - Mi5jb209LQ0KLT3SwbXp1LDX1sS71b4gIGh0dHA6Ly95dGV0Lm9yZy89LQ0KyNnT/rP2xrcNCrG+ - 19bEu732uanRp8+wvbvB96Os0c+9+9PD09rJzNK1zb6+tjwvZm9udD4NCg0KMzcNCjAwOjAyOjIx - LDEzMCAtLT4gMDA6MDI6MzEsNjYwDQo8Zm9udCBjb2xvcj0iI2ZmZmYwMCI+LT1ZVEVULdLBtenU - sNfWxLvX6T0tDQq3rdLrOiBELlm7xtChzcMgSG9sbGllIKH01tKpptiRqaafrSBlbGVxdWVudA0K - 0KO21DogsKK5qw0KyrG85NbhOiCw7rXC1u0gPC9mb250Pg0KDQozOA0KMDA6MDI6MzMsMTYwIC0t - PiAwMDowMjozNSw1NTANCjxmb250IGNvbG9yPSIjZmZmZjAwIj7M7LLFwO3C27SrILXaxt+8viC1 - 2tK7vK8NCjcyMFAgaVR1bmVzIC0g19TAtPfcYWs8L2ZvbnQ+DQoNCjM5DQowMDowMjo0MSwyODAg - LS0+IDAwOjAyOjQ0LDU4MA0KztK+9bXDxOPM/bW91eK49rvhuN/Qy7XEDQq98dTn1NrNo7O1s6EN - Cg0KNDANCjAwOjAyOjQ0LDU4MCAtLT4gMDA6MDI6NDksNjAwDQrO0r+018W12MnPtcTTzdfVDQrQ - zte0vs3P8c7StcTHsMWu09FMdWN5DQoNCjQxDQowMDowMjo0OSw2MDAgLS0+IDAwOjAyOjUxLDY5 - MA0KtvjO0s3qyKvDu9PQsa/Jy9O/yc/QxM23tcS40L71DQoNCjQyDQowMDowMjo1MSw2OTAgLS0+ - IDAwOjAyOjUzLDM0MA0KztLOqsTjuNC1vb2+sMENCg0KNDMNCjAwOjAyOjUzLDM0MCAtLT4gMDA6 - MDI6NTcsMTMwDQq1sci7wLIg0vLOqsv9vs3Su8PAyMvF39fTDQoNCjQ0DQowMDowMjo1NywxMzAg - LS0+IDAwOjAzOjAwLDQ2MA0KzOzExSEgxOPKx7j2zOzOxNGnvNINCg0KNDUNCjAwOjAzOjAwLDQ3 - MCAtLT4gMDA6MDM6MDQsNjcwDQrSstDtxOO74dPQ0KmzvsrAtcTHo7DtDQq1q8Tj06a4w7DR0MTL - vLfFtb3M7Mzl0dC+v8nPyKUNCg0KNDYNCjAwOjAzOjA0LDY3MCAtLT4gMDA6MDM6MDksMjkwDQrJ - 8bChIL7NwayxsM6itcTKur/HwMkNCra8u+HA+9PDzOzM5bnmwsnAtNbGtqjQ0L34wrfP3w0KDQo0 - Nw0KMDA6MDM6MDksMjkwIC0tPiAwMDowMzoxMCw0NjANCtXmtcQ/DQoNCjQ4DQowMDowMzoxMCw0 - NjAgLS0+IDAwOjAzOjEzLDI2MA0KztLL+dHUvLTKx9XmwO0NCg0KNDkNCjAwOjAzOjEzLDI2MCAt - LT4gMDA6MDM6MTcsNjEwDQq1sci7wLIgyrq/x8DJ0rLPsru2s9S34LHjDQrXodTat+Cx48DvDQoN - CjUwDQowMDowMzoxNyw2MjAgLS0+IDAwOjAzOjE5LDkzMA0KsNG34LHjufazydChx/LH8g0KDQo1 - MQ0KMDA6MDM6MTksOTMwIC0tPiAwMDowMzoyNSw2MjANCsv50tTV4sG91tbJ+rvut73KvQ0KxOPX - 1Ly60aHSu9bWsMkNCg0KNTINCjAwOjAzOjI2LDQ0MCAtLT4gMDA6MDM6MjgsMTIwDQqw3c3QIMTj - z9bU2sTcuPrFrsn6vbvMuMHLDQoNCjUzDQowMDowMzoyOCwxMzAgLS0+IDAwOjAzOjMwLDI4MA0K - srvE0dTZ1dK49tDCxa7T0bXEDQoNCjU0DQowMDowMzozMCwyODAgLS0+IDAwOjAzOjM0LDE4MA0K - ztLP1tTav7TJtra8s6TBy9XFTHVjecGzDQrV4tH5ztLU9cO01dLQwsWu09GwoT8NCg0KNTUNCjAw - OjAzOjM0LDE4MCAtLT4gMDA6MDM6MzksMjkwDQrE0bXAxOPDu9Ta1eLFzLymyOLFycnPDQq/tLW9 - y/21xM6i0KbC8D8NCg0KNTYNCjAwOjAzOjM5LDI5MCAtLT4gMDA6MDM6NDEsMTQwDQrE48TcsrvE - 3M/7zaO147ChIQ0KDQo1Nw0KMDA6MDM6NDUsNDYwIC0tPiAwMDowMzo0Niw3MTANCs/W1NogzP3O - 0su1DQoNCjU4DQowMDowMzo0Niw3MTAgLS0+IDAwOjAzOjQ5LDA1MA0KvfHN7dPQuPbQwr36sqnK - v7rzu7bTrcXJttQNCg0KNTkNCjAwOjAzOjQ5LDA1MCAtLT4gMDA6MDM6NTMsOTAwDQrIpbLOvNMg - yLu689XSuPbIy8Dg1/bFrtPRDQoNCjYwDQowMDowMzo1Myw5MDAgLS0+IDAwOjAzOjU3LDI0MA0K - xOPAz8bFyse49sjLwODBy7K7xvCwoT8NCg0KNjENCjAwOjAzOjU5LDY0MCAtLT4gMDA6MDQ6MDMs - MzEwDQrM/dfFIEJlcm5pZbj6QW15DQrIpbLOvNPJ8b6tv8bRp7vh0unByw0KDQo2Mg0KMDA6MDQ6 - MDMsMzEwIC0tPiAwMDowNDowNCw2OTANCs7SuPrE49K7xvDIpcXJttQNCg0KNjMNCjAwOjA0OjA0 - LDcwMCAtLT4gMDA6MDQ6MDUsODUwDQotIMTj1LjS4sXjztI/DQotILWxyLsNCg0KNjQNCjAwOjA0 - OjA1LDg1MCAtLT4gMDA6MDQ6MDcsMDgwDQrE48rHztLF89PRDQoNCjY1DQowMDowNDowNywwODAg - LS0+IDAwOjA0OjA4LDQ1MA0KztLPo837xOO/qtDEDQoNCjY2DQowMDowNDowOCw0NTAgLS0+IDAw - OjA0OjEwLDMzMA0K0LvQuyDEx8O0IFNoZWxkb24NCg0KNjcNCjAwOjA0OjEwLDM0MCAtLT4gMDA6 - MDQ6MTEsODcwDQq8yMi7QW150rLIpb+qu+HByw0KxOPUuNLi0rvG8MC0wvA/DQoNCjY4DQowMDow - NDoxMSw4NzAgLS0+IDAwOjA0OjE3LDg3MA0KztLSss+jzfvE47+q0MQNCrWr1eKyu9fj0tS02cq5 - ztLOqrTL1/bIzrrOysINCg0KNjkNCjAwOjA0OjIwLDU4MCAtLT4gMDA6MDQ6MjYsMTMwDQpIb3dp - ZSCx8NXi0fkg1eLDtMjiwum1xLuwDQrO0r2ysruz9r/aIEFtedTaxdSx38TYDQoNCjcwDQowMDow - NDoyNiwxMzAgLS0+IDAwOjA0OjMxLDUyMA0KU2hlbGRvbiCx8NXi0fkgztLU2cu11+6689K7sekN - Cs7Ssru74bDRtLLKrbT4u9jIpbXEDQoNCjcxDQowMDowNDozMSw1MjAgLS0+IDAwOjA0OjMyLDY3 - MA0K1eLCw7ndutyw9A0KDQo3Mg0KMDA6MDQ6MzIsNjcwIC0tPiAwMDowNDozNCwzOTANCtPQ076z - 2CDT0L2hye23vw0KDQo3Mw0KMDA6MDQ6MzQsMzkwIC0tPiAwMDowNDozNiwwMTANCr7GsMnSsrrc - sru07Q0KDQo3NA0KMDA6MDQ6MzYsMDEwIC0tPiAwMDowNDozOSw5MDANCtLyzqrO0r+0wcu0ssbM - DQrEx8nPw+bDu9PQtLLKrQ0KDQo3NQ0KMDA6MDQ6MzksOTAwIC0tPiAwMDowNDo0MSwyMDANCs7S - 0rKwrsTjDQoNCjc2DQowMDowNDo0MSwyMDAgLS0+IDAwOjA0OjQ1LDQ4MA0KyOe5+8Tjy6/Xxcew - IMO709DM/bW9ztK1xMn50vQNCsTHztK74dPrxOPU2sPOwO/P4LvhtcQNCg0KNzcNCjAwOjA0OjQ1 - LDQ5MCAtLT4gMDA6MDQ6NDYsNzQwDQrN7bCyDQoNCjc4DQowMDowNDo0Niw3NDAgLS0+IDAwOjA0 - OjUwLDA0MA0KsrsgztKyu7vhv7zCx8uv1NrCw9DQtPzA77XEDQoNCjc5DQowMDowNDo1MywzOTAg - LS0+IDAwOjA0OjU3LDE2MA0KUGVubnkgxOPT0MO709DP67n9DQrQx7zKvaK207bTs6TKx8jnus4u - Li4NCg0KODANCjAwOjA0OjU3LDE3MCAtLT4gMDA6MDQ6NTksMzUwDQrDu9PQDQoNCjgxDQowMDow - NTowMSwxNzAgLS0+IDAwOjA1OjAzLDM5MA0KxMfP1tTaztK8pMbwxOO1xNDLyKTByw0KDQo4Mg0K - MDA6MDU6MDMsMzkwIC0tPiAwMDowNTowNiwzNDANCru2063AtLW9M0S5+rzKz/PG5bXEyfHG5srA - vecNCg0KODMNCjAwOjA1OjA2LDM0MCAtLT4gMDA6MDU6MDksNDgwDQrE47jJwvCyu7jJtOC147PQ - yM/Byw0KxOPP683m1eLTzs+31rvKx9LyzqouLi4NCg0KODQNCjAwOjA1OjA5LDQ4MCAtLT4gMDA6 - MDU6MTIsMDEwDQrE49fcuPpMZW9uYXJk0rvG8M3mDQq2+MTjz9bU2rrcz+vL+z8NCg0KODUNCjAw - OjA1OjEyLDAxMCAtLT4gMDA6MDU6MTUsNTYwDQrE48yruN+5wMv71NrO0sn6w/zW0LXE1tjSqtDU - wcsNCg0KODYNCjAwOjA1OjE2LDgyMCAtLT4gMDA6MDU6MjEsMjIwDQrO0rvhz+vE7sv7ysfI57rO - DQrU2s7StcS7qrfysf3Jz9PDufu9tLut0KbBs7XEwvA/DQoNCjg3DQowMDowNToyMSwyMjAgLS0+ - IDAwOjA1OjIyLDgxMA0KssWyu7vhxNgNCg0KODgNCjAwOjA1OjIyLDgxMCAtLT4gMDA6MDU6Mjgs - MDMwDQrO0rvhz+vE7sv7ysfI57rO0N66ww0KztKxu7+o16G1xLzQv8vArcG0tcTC8D8NCg0KODkN - CjAwOjA1OjI4LDAzMCAtLT4gMDA6MDU6MzAsMTEwDQrO0r/JsrvV4sO0vvW1ww0KDQo5MA0KMDA6 - MDU6MzAsMTEwIC0tPiAwMDowNTozNSw5OTANCs7Su+HP68TuztLDx8rHyOe6zg0K08PEpsu5tefC - 69TaztTK0se9yc/Hw7P2Is3tsLIitcTC8D8NCg0KOTENCjAwOjA1OjQwLDg0MCAtLT4gMDA6MDU6 - NDIsMjYwDQrO0rauwcsgztK2rsHLDQoNCjkyDQowMDowNTo0MiwyNjAgLS0+IDAwOjA1OjQ0LDEz - MA0KxOO+zcrHuPbDu7jQx+m1xLv6xvfIyw0KDQo5Mw0KMDA6MDU6NDQsMTMwIC0tPiAwMDowNTo0 - Niw1MzANCs7SvqHBpsHLDQoNCjk0DQowMDowNTo0Niw1MzAgLS0+IDAwOjA1OjQ5LDE3MA0Kv+y/ - qsq81eLJtdPOz7ewyQ0KDQo5NQ0KMDA6MDU6NDksMTcwIC0tPiAwMDowNTo1MCw0MDANCsyrusPB - yyDO0s/IwLQNCg0KOTYNCjAwOjA1OjUwLDQwMCAtLT4gMDA6MDU6NTIsNTUwDQq21MHLIMTju+HQ - 3sCtwbTC8D8NCg0KOTcNCjAwOjA1OjUyLDU1MCAtLT4gMDA6MDU6NTMsMjQwDQrU9cO0Pw0KDQo5 - OA0KMDA6MDU6NTMsMjcwIC0tPiAwMDowNTo1Nyw2MTANCs7SsdjQ68il0rvMy8+0yta85A0K1eLA - rcG0v8nE0cCtwcsNCg0KOTkNCjAwOjA2OjAwLDIzMCAtLT4gMDA6MDY6MDQsNjMwDQrE47bUy67E - uMnxvq3N+MLntcTR0L6/zabT0MiktcQNCg0KMTAwDQowMDowNjowNCw2MzAgLS0+IDAwOjA2OjA1 - LDgyMA0Kw7u07Q0KDQoxMDENCjAwOjA2OjA1LDgyMCAtLT4gMDA6MDY6MDgsNjIwDQrE47/J0tTI - pdGn0KPN+NW+z8LU2M7StcTC287EDQoNCjEwMg0KMDA6MDY6MDgsNjIwIC0tPiAwMDowNjoxMyw2 - NjANCrrDtcQgxOPSsr/J0tTIpc/C1NgNCs7SudjT2re2sKzC17f4yeS0+NHQvr+1xMLbzsQNCg0K - MTAzDQowMDowNjoxMyw2NjAgLS0+IDAwOjA2OjE1LDQxMA0KusO1xA0KDQoxMDQNCjAwOjA2OjE2 - LDQxMCAtLT4gMDA6MDY6MTgsNTgwDQq6w7DJDQoNCjEwNQ0KMDA6MDY6MzIsNzQwIC0tPiAwMDow - NjozNCwzMTANCtT1w7TR+T8NCg0KMTA2DQowMDowNjozNCwzMTAgLS0+IDAwOjA2OjQwLDQ4MA0K - yOe5+8Tjz7K7tt7P3s7H0s20v+C12LjJwcQNCsTHvs3L47Osy7PA+w0KDQoxMDcNCjAwOjA2OjQx - LDMwMCAtLT4gMDA6MDY6NDIsNzUwDQq/7L+0DQoNCjEwOA0KMDA6MDY6NDIsNzUwIC0tPiAwMDow - Njo0NCw4MjANCsjLysKyv7XERGF2aXPQob3jDQoNCjEwOQ0KMDA6MDY6NDQsODIwIC0tPiAwMDow - Njo0Nyw0NzANCsv9usPP8dTavOC2vdDUyafIxQ0KDQoxMTANCjAwOjA2OjQ3LDQ4MCAtLT4gMDA6 - MDY6NDgsNzIwDQrMq7rDwcsNCg0KMTExDQowMDowNjo0OCw3MzAgLS0+IDAwOjA2OjUxLDY0MA0K - ztLU4tP20NTJp8jFtcS7+rvhw7vByw0KDQoxMTINCjAwOjA2OjUxLDY1MCAtLT4gMDA6MDY6NTYs - NDIwDQrM/cu1y/3Az7mrxdfG+sv9DQrV0sHLuPbE6sfhxq/BwbXEtPPRp8n6DQoNCjExMw0KMDA6 - MDY6NTYsNDIwIC0tPiAwMDowNjo1OSwyMDANCtfcscjV0rj209bAz9PWs/O1xNKqusOwyQ0KDQox - MTQNCjAwOjA3OjAzLDk0MCAtLT4gMDA6MDc6MDYsNDMwDQpXb2xvd2l0es/IyfogS29vdGhyYXBw - YWxpsqnKvw0KDQoxMTUNCjAwOjA3OjA2LDQzMCAtLT4gMDA6MDc6MDcsODQwDQpEYXZpc8Wuyr8g - xOO6ww0KDQoxMTYNCjAwOjA3OjA3LDg1MCAtLT4gMDA6MDc6MTQsMjAwDQrO0tfuvfy/tMHLxqrT - 0LnYxvO27LK71tK1xM7E1cINCg0KMTE3DQowMDowNzoxNCwyMDAgLS0+IDAwOjA3OjE2LDgwMA0K - usO1xA0KDQoxMTgNCjAwOjA3OjE2LDgwMCAtLT4gMDA6MDc6MjEsMzQwDQrI57n7xOPS8s6q1cm3 - 8rXExdfG+rb4xNG5/Q0KxOPWu9KqvMfXoS4uLg0KDQoxMTkNCjAwOjA3OjIxLDM0MCAtLT4gMDA6 - MDc6MjQsMzgwDQrG87bs0rK74bP2uewgsru5/cv7w8e63L/JsK7E2A0KDQoxMjANCjAwOjA3OjM3 - LDI0MCAtLT4gMDA6MDc6MzksOTYwDQqxyMTjsrvE3Lj6xa7Iy72yu7C1xMqxuvK6w7bgwcsNCg0K - MTIxDQowMDowNzo0MiwxMzAgLS0+IDAwOjA3OjQ4LDQ3MA0KztK7ude8sbjIpcz9uvO/27T4u9jG - pLLjy/DJyw0K0v3G8NfUtKvM5bzH0uS1xNHdvbINCg0KMTIyDQowMDowNzo0OCw0NzAgLS0+IDAw - OjA3OjUwLDQyMA0KxNTL8MnLyse63M780v3Iy7XEDQoNCjEyMw0KMDA6MDc6NTAsNDIwIC0tPiAw - MDowNzo1Myw1MTANCsjnufvKx8Tj19S8usvwycsNCsTHvs2yu8780v3Iy8HLDQoNCjEyNA0KMDA6 - MDc6NTMsNTEwIC0tPiAwMDowNzo1NiwwNDANCr60v8bRp7XEvfiyvQ0KDQoxMjUNCjAwOjA3OjU2 - LDA0MCAtLT4gMDA6MDc6NTksMTQwDQq+tMq5v8bRp734sr21xLyysqG6zcvAzfYNCg0KMTI2DQow - MDowODowMSwyNjAgLS0+IDAwOjA4OjA0LDQzMA0K09DS4su8tcTKxw0KztLDx7u5tNPDu7rNUGVu - bnnM1sLbuf3V4tCpDQoNCjEyNw0KMDA6MDg6MDQsNDQwIC0tPiAwMDowODowNiwxOTANCtK7sOO2 - vMrHwcTXxcHE18W+zcHEtb3E0MjLwcsNCg0KMTI4DQowMDowODowNiwxOTAgLS0+IDAwOjA4OjEw - LDM5MA0Ksru5/crKtbG808jr0afK9bbUu7DNprrDtcQNCg0KMTI5DQowMDowODoxMCwzOTAgLS0+ - IDAwOjA4OjEzLDAxMA0KsMnMqMG9zrvE0Mq/x+u1xA0KDQoxMzANCjAwOjA4OjEzLDAxMCAtLT4g - MDA6MDg6MTQsNjEwDQrM7MTEINPQxNDIy8frztLDx7/NIQ0KDQoxMzENCjAwOjA4OjE0LDYxMCAt - LT4gMDA6MDg6MTcsMjgwDQrT0MTQyMvH67/NIQ0KDQoxMzINCjAwOjA4OjE3LDI4MCAtLT4gMDA6 - MDg6MTksMTUwDQrQu9C7INC70LsgzKu40NC7wcsNCg0KMTMzDQowMDowODoyMCw1MzAgLS0+IDAw - OjA4OjIyLDI1MA0KLSC1rbaoteMNCi0g1PXDtLWttqi1w8bwwLQhDQoNCjEzNA0KMDA6MDg6MjIs - MjUwIC0tPiAwMDowODoyNSwzNDANCtPQxNDIy73TvfzO0sPHILu5srvKx9LyzqpQZW5ueQ0KDQox - MzUNCjAwOjA4OjI2LDMyMCAtLT4gMDA6MDg6MjgsMDkwDQrKx7ChDQoNCjEzNg0KMDA6MDg6Mjgs - MDkwIC0tPiAwMDowODoyOSw1NDANCtC70LvAsg0KDQoxMzcNCjAwOjA4OjM0LDEzMCAtLT4gMDA6 - MDg6MzYsMzMwDQrg3iEgs/TG5dK7sr0NCg0KMTM4DQowMDowODozNiwzMzAgLS0+IDAwOjA4OjM4 - LDUwMA0KsKE/IM6qyrLDtD8NCg0KMTM5DQowMDowODozOCw1MDAgLS0+IDAwOjA4OjQxLDcyMA0K - ztK1xLvKuvPP1tTaxNy008/Cw+YNCrPUtfTE47XEs7XByw0KDQoxNDANCjAwOjA4OjQxLDcyMCAt - LT4gMDA6MDg6NDMsODEwDQrS4su8ysfO0srkwcs/DQoNCjE0MQ0KMDA6MDg6NDMsODEwIC0tPiAw - MDowODo0NSw0NDANCr3hyvjByyENCg0KMTQyDQowMDowODo0NSw0NDAgLS0+IDAwOjA4OjQ4LDg0 - MA0KyOe5+87S19/V4tK7sr0uLi4NCg0KMTQzDQowMDowODo0OCw4NTAgLS0+IDAwOjA4OjUyLDM2 - MA0KxMe+zbK7u+HV4sO0usPN5sHLDQrL+dLUztKyu7vh19+1xA0KDQoxNDQNCjAwOjA4OjUzLDE3 - MCAtLT4gMDA6MDg6NTYsMDQwDQrQ3c+i0rvPwrDJDQoNCjE0NQ0KMDA6MDg6NTYsMDQwIC0tPiAw - MDowODo1OCw5NTANCs7Sw8fDu77GwcsNCg0KMTQ2DQowMDowODo1OCw5NjAgLS0+IDAwOjA5OjAw - LDU5MA0KztLT1rK7ysfSqsilusi+xg0KDQoxNDcNCjAwOjA5OjA3LDA4MCAtLT4gMDA6MDk6MDgs - ODMwDQq6w8/r1qq1wExlb25hcmTU2rjJwvANCg0KMTQ4DQowMDowOTowOCw4MzAgLS0+IDAwOjA5 - OjExLDEzMA0KusPP68v7DQoNCjE0OQ0KMDA6MDk6MTEsMTQwIC0tPiAwMDowOToxNCwxNzANCs7S - w8e08rXnu7C4+Mv7sMkNCg0KMTUwDQowMDowOToxNCwxNzAgLS0+IDAwOjA5OjE2LDM3MA0KztIg - ztLKx8u1IMTjtPK157uwuPjL+7DJDQoNCjE1MQ0KMDA6MDk6MTYsMzcwIC0tPiAwMDowOToxOSw4 - MTANCs7S1q7HsMu1uf0NCsXz09Gyu9TasqKyu8TcyrnO0snL0MQNCg0KMTUyDQowMDowOToxOSw4 - MTAgLS0+IDAwOjA5OjI1LDQwMA0K0qG59snZxOpQYXVsIFNpbW9u1PjLtQ0KIs7S1rvKx7/pyq/N - tyDSu8astbottbottbrT7CINCg0KMTUzDQowMDowOToyNiw1NzAgLS0+IDAwOjA5OjI4LDM3MA0K - ztLAtLTyDQoNCjE1NA0KMDA6MDk6MjgsMzcwIC0tPiAwMDowOTozMCwyNDANCrrDsKEhIL+qw+LM - 4SENCg0KMTU1DQowMDowOTozOCw2NjAgLS0+IDAwOjA5OjQxLDYxMA0Ksru6w9Liy7wgztK1xL/j - 19PV8LavwLINCg0KMTU2DQowMDowOTo0NCwwMDAgLS0+IDAwOjA5OjQ2LDQ5MA0KsbG6oyDT0Mnx - wu0iyqoiwvA/DQoNCjE1Nw0KMDA6MDk6NDgsNTcwIC0tPiAwMDowOTo0OSw1NDANCkxlb25hcmQ/ - DQoNCjE1OA0KMDA6MDk6NDksNTQwIC0tPiAwMDowOTo1MCw2NzANClBlbm55Pw0KDQoxNTkNCjAw - OjA5OjUwLDY4MCAtLT4gMDA6MDk6NTEsNzkwDQq62SDKx1Blbm55DQoNCjE2MA0KMDA6MDk6NTEs - NzkwIC0tPiAwMDowOTo1Miw5OTANCrTzvNLSu8bwwLS4+lBlbm55tPLV0Lr0DQoNCjE2MQ0KMDA6 - MDk6NTIsOTkwIC0tPiAwMDowOTo1NCw2ODANCuDLIFBlbm55IQ0KDQoxNjINCjAwOjA5OjU0LDY4 - MCAtLT4gMDA6MDk6NTgsNDAwDQrN2yC/tMC0xOPN5rXDzaa/qtDEtcTC7w0KDQoxNjMNCjAwOjA5 - OjU4LDQwMCAtLT4gMDA6MTA6MDEsMjgwDQrIy8n61+6/qtDEtcTKsbniIQ0KDQoxNjQNCjAwOjEw - OjAyLDg5MCAtLT4gMDA6MTA6MDYsMDQwDQrEx8DvsrvKx7LF1OfJzzU6MzDC8D8NCg0KMTY1DQow - MDoxMDowNiwwNDAgLS0+IDAwOjEwOjA3LDE3MA0KysfC8D8NCg0KMTY2DQowMDoxMDowNywxNzAg - LS0+IDAwOjEwOjA5LDg5MA0KutkgtPO77yDP1tTaysfU58nPNTozMCENCg0KMTY3DQowMDoxMDox - Myw0NTAgLS0+IDAwOjEwOjE2LDg1MA0KusOwySDO0sPHtPK157uwysfS8s6qz+vE48HLDQoNCjE2 - OA0KMDA6MTA6MTYsODUwIC0tPiAwMDoxMDoxOCwwNzANCrH5yb0hDQoNCjE2OQ0KMDA6MTA6MTgs - MDcwIC0tPiAwMDoxMDoxOSwxNTANCrXIu+G2+Q0KDQoxNzANCjAwOjEwOjE5LDE1MCAtLT4gMDA6 - MTA6MjAsNzkwDQrE49PQzqPP1cHLwvA/DQoNCjE3MQ0KMDA6MTA6MjAsNzkwIC0tPiAwMDoxMDoy - MiwzMjANCrK7yscg1eLKx7j2s6nS+9POz7cNCg0KMTcyDQowMDoxMDoyMiwzMjAgLS0+IDAwOjEw - OjI0LDM2MA0K1rvSqsz9tb0isfnJvSLBvbj219YNCr7NvtmxrbOp0vshDQoNCjE3Mw0KMDA6MTA6 - MjQsMzYwIC0tPiAwMDoxMDoyNiw0MTANCrH5yb0hILH5yb0hDQoNCjE3NA0KMDA6MTA6MjYsNDEw - IC0tPiAwMDoxMDoyOCw4MzANCrH5yb0hILH5yb0hILH5yb0hILH5yb0hDQoNCjE3NQ0KMDA6MTA6 - MjksNTUwIC0tPiAwMDoxMDozMCw4MzANCkxlb25hcmQgTGVvbmFyZD8NCg0KMTc2DQowMDoxMDoz - Myw5NzAgLS0+IDAwOjEwOjM2LDY3MA0KztLDx765yLu74c/rxMe49rvstbANCg0KMTc3DQowMDox - MDozNiw2NzAgLS0+IDAwOjEwOjM5LDQ5MA0KysfE48/rDQoNCjE3OA0KMDA6MTA6NDMsODUwIC0t - PiAwMDoxMDo0NSw3MzANCtT1w7TR+cHLPw0KDQoxNzkNCjAwOjEwOjQ1LDczMCAtLT4gMDA6MTA6 - NDksMDcwDQrDu8rCIM7S09bQu7n9y/vDxw0KuObL38v7w8cgztLDx8P7u6jT0Nb3wcsNCg0KMTgw - DQowMDoxMDo0OSwwNzAgLS0+IDAwOjEwOjUzLDE2MA0K1eLDtMu1IM7SsrvTw7PUv/e+zb/J0tS6 - yL7GwLINCg0KMTgxDQowMDoxMDo1MywxNjAgLS0+IDAwOjEwOjU0LDI3MA0Kyse1xCDMq7/hwcsN - Cg0KMTgyDQowMDoxMDo1NCwyODAgLS0+IDAwOjEwOjU4LDQ5MA0K0qrKx8Tjz+u6zcv7w8fG5NbQ - 0ru49sy4zLgNCsO7yMu74bnWxOO1xA0KDQoxODMNCjAwOjEwOjU4LDUwMCAtLT4gMDA6MTE6MDEs - MjgwDQrOqsm2w7vIy7vhudbO0g0KDQoxODQNCjAwOjExOjAyLDEyMCAtLT4gMDA6MTE6MDUsNTcw - DQrO0tTauvrR1MLS0+/E2A0KDQoxODUNCjAwOjExOjA1LDU3MCAtLT4gMDA6MTE6MDksODQwDQrM - /cbwwLTE49Liy7zKxw0KztLE3NXStb2xyFNoZWxkb264/LrDtcQNCg0KMTg2DQowMDoxMTowOSw4 - NDAgLS0+IDAwOjExOjEyLDIxMA0K1eK+xr/J1ebB0rChDQoNCjE4Nw0KMDA6MTE6MTMsNjMwIC0t - PiAwMDoxMToxNyw4NjANCszsxMUgztK98c3tv8+2qNKqzcLLwMHLDQoNCjE4OA0KMDA6MTE6MTks - MTgwIC0tPiAwMDoxMToyMiw2NDANCrjmy9/O0iDE48u1xMe7sMqyw7TS4su8DQoNCjE4OQ0KMDA6 - MTE6MjQsODEwIC0tPiAwMDoxMToyOSwwNjANCsTjw7u94bvpIMTjxNDF89PR09bKxy4uLg0KDQox - OTANCjAwOjExOjI5LDA2MCAtLT4gMDA6MTE6MzEsMDMwDQpTaGVsZG9uxMfA4NDNtcQNCg0KMTkx - DQowMDoxMTozMSwwMzAgLS0+IDAwOjExOjM0LDA2MA0KxOPVybfyu7nKx0hvd2FyZMTH0M21xMTY - DQoNCjE5Mg0KMDA6MTE6MzQsMDcwIC0tPiAwMDoxMTozNiw1MzANCsTjz+ux7bTvyrLDtA0KDQox - OTMNCjAwOjExOjM3LDYyMCAtLT4gMDA6MTE6MzksNDUwDQqxp8e4IM7Syba2vLK7z+ux7bTvDQoN - CjE5NA0KMDA6MTE6MzksNDUwIC0tPiAwMDoxMTo0MCw5NDANCsu11eLKwsyrzt7BxMHLDQoNCjE5 - NQ0KMDA6MTE6NDAsOTQwIC0tPiAwMDoxMTo0MywzMjANCtTbxNzN/MHL1eKy5yC8zND44MvG8MC0 - sMkNCg0KMTk2DQowMDoxMTo0MywzMjAgLS0+IDAwOjExOjQ2LDYzMA0Kv8nS1LXEILWrsrvQ0rXE - yscNCs7StPPE1L/Jw7vT0MvwycsNCg0KMTk3DQowMDoxMTo0Niw2MzAgLS0+IDAwOjExOjUwLDc1 - MA0KztK7ubzHtcPE48u1ztK80rGmsbS1xLu1u7DE2A0KDQoxOTgNCjAwOjExOjUwLDc1MCAtLT4g - MDA6MTE6NTEsOTEwDQq6w8CyIM7StcDHuA0KDQoxOTkNCjAwOjExOjUxLDkyMCAtLT4gMDA6MTE6 - NTMsODgwDQrE3M38vMe41bLFtcTKwsLwDQoNCjIwMA0KMDA6MTE6NTQsODQwIC0tPiAwMDoxMTo1 - NywwOTANCi0gtbHIuw0KLSDQu8CyDQoNCjIwMQ0KMDA6MTE6NTgsODkwIC0tPiAwMDoxMjowMSw3 - OTANCsTj1cm38rXEudbS7LrNtKnXxcyru6y7/MHLDQoNCjIwMg0KMDA6MTI6MDQsMjMwIC0tPiAw - MDoxMjowNSwyODANCtXmsru40s/g0MUNCg0KMjAzDQowMDoxMjowNSwyODAgLS0+IDAwOjEyOjA4 - LDI4MA0K1eK2zsqxvOQgztK+zdK71rHX+NfFz+vE7sTHvNK77w0KDQoyMDQNCjAwOjEyOjA4LDI4 - MCAtLT4gMDA6MTI6MDksOTMwDQrWqrXA1+7U47XEysfKssO0wvANCg0KMjA1DQowMDoxMjowOSw5 - MzAgLS0+IDAwOjEyOjEzLDU3MA0KxOPP1tTa1eLDtMnL0MQgu7nDu7eovei+xs/7s+4/DQoNCjIw - Ng0KMDA6MTI6MTgsNDkwIC0tPiAwMDoxMjoyMCw0OTANCrK7yscNCg0KMjA3DQowMDoxMjoyMCw1 - MDAgLS0+IDAwOjEyOjIyLDU4MA0Kw7u07Q0KDQoyMDgNCjAwOjEyOjI0LDQ4MCAtLT4gMDA6MTI6 - MjYsNDgwDQrWqrXAu7nT0Mqyw7TSsrrc1OPC8A0KDQoyMDkNCjAwOjEyOjI2LDQ4MCAtLT4gMDA6 - MTI6MjgsMDMwDQrL+7j5sb6+zbK7z+vO0g0KDQoyMTANCjAwOjEyOjI4LDA0MCAtLT4gMDA6MTI6 - MzAsOTQwDQrIw87SwLSwss6/z8LE47DJDQoNCjIxMQ0KMDA6MTI6MzAsOTQwIC0tPiAwMDoxMjoz - NCwxMTANCsbwwuvE49Xi0fnX9s2mvaG/tbXEDQoNCjIxMg0KMDA6MTI6MzYsMTEwIC0tPiAwMDox - MjozOCw3MzANCtXmtc65/iDN6srCwcsg1eLSssvjsLLOvw0KDQoyMTMNCjAwOjEyOjM4LDczMCAt - LT4gMDA6MTI6NDUsNzkwDQrSu7DZxOq68yDE48Gptryyu9TawcsNCsTHvs3Du7nYz7XByw0KDQoy - MTQNCjAwOjEyOjQ1LDc5MCAtLT4gMDA6MTI6NDcsOTQwDQq448qyw7SwoQ0KDQoyMTUNCjAwOjEy - OjQ3LDk0MCAtLT4gMDA6MTI6NTAsNzIwDQrE49OmuMPLtSAiy/u1sci7z+vE4yINCg0KMjE2DQow - MDoxMjo1MCw3MzAgLS0+IDAwOjEyOjUzLDY4MA0Ky/vWrsv50tTN5sTHw7S36A0KysfP6838tfTL - +7XEsa/Jyw0KDQoyMTcNCjAwOjEyOjUzLDY4MCAtLT4gMDA6MTI6NTYsMzMwDQrO0r/JsrvEx8O0 - yM/Oqg0KDQoyMTgNCjAwOjEyOjU4LDg1MCAtLT4gMDA6MTM6MDAsMjMwDQrMq7vEw/3Byw0KDQoy - MTkNCjAwOjEzOjAwLDI0MCAtLT4gMDA6MTM6MDIsNzQwDQq+zdLyzqrL+83mtcO63ODLIM7Svs3S - qsTRuf3C8A0KDQoyMjANCjAwOjEzOjAyLDc0MCAtLT4gMDA6MTM6MDYsOTYwDQrV4rj2wu8uLi7S - stDtxOPU2s/rDQoNCjIyMQ0KMDA6MTM6MDYsOTYwIC0tPiAwMDoxMzoxMSwyOTANCsv7us3ExLj2 - xO/Dx77GuvPC0tDUxNgNCg0KMjIyDQowMDoxMzoxMyw2ODAgLS0+IDAwOjEzOjE3LDMyMA0KysfC - 8CDO0su1ttTBy8LwDQoNCjIyMw0KMDA6MTM6MTgsODQwIC0tPiAwMDoxMzoxOSw5MjANCsyrsPTA - sg0KDQoyMjQNCjAwOjEzOjE5LDkyMCAtLT4gMDA6MTM6MjIsMjEwDQrE47K708PK1NfFsLLOv87S - wcsNCg0KMjI1DQowMDoxMzoyMiwyMTAgLS0+IDAwOjEzOjI3LDQ2MA0KsrvQ0CBMZW9uYXJk19/W - rsewDQrL+8jDztKxo9akIM7Su+HV1bnLusPE47XEDQoNCjIyNg0KMDA6MTM6MjcsNDYwIC0tPiAw - MDoxMzoyOSw4NTANCi0g1ea1xMLwDQotIMrHtcQNCg0KMjI3DQowMDoxMzoyOSw4NTAgLS0+IDAw - OjEzOjMyLDYzMA0KzKvM+dDEwcsNCg0KMjI4DQowMDoxMzozMiw2MzAgLS0+IDAwOjEzOjM3LDE3 - MA0Ku7nT0CDI57n7ztLX9rXDs/bJqw0Ky/vLtbvhuPjO0rT4u9jAtNK7tqXLrsrWw7ENCg0KMjI5 - DQowMDoxMzozOSwwNzAgLS0+IDAwOjEzOjQwLDk5MA0Kz9bU2s7SuPzP68Tuy/vByw0KDQoyMzAN - CjAwOjEzOjQwLDk5MCAtLT4gMDA6MTM6NDUsNTgwDQrI57n7udzTw7XEu7AgztLIt9DFDQoNCjIz - MQ0KMDA6MTM6NDUsNTgwIC0tPiAwMDoxMzo1MSwwMzANCkxlb25hcmTUtsDrxOO7s7Gnus3T8bS9 - DQq1xMO/0ru/zLa8sbjK3LzlsL4NCg0KMjMyDQowMDoxMzo1Miw1MDAgLS0+IDAwOjEzOjUzLDQ3 - MA0K0LvQuw0KDQoyMzMNCjAwOjEzOjUzLDQ3MCAtLT4gMDA6MTM6NTUsMzQwDQrE47u5tbHV5sCy - DQoNCjIzNA0KMDA6MTM6NTcsOTQwIC0tPiAwMDoxNDowMCwzODANCrTyyMXByyBEYXZpc7fyyMsN - Cg0KMjM1DQowMDoxNDowMCwzODAgLS0+IDAwOjE0OjAxLDY4MA0K1PXDtMHLDQoNCjIzNg0KMDA6 - MTQ6MDEsNjgwIC0tPiAwMDoxNDowNCw3MTANCrGnx7jO0sTHw7TCs8OnDQoNCjIzNw0KMDA6MTQ6 - MDQsNzIwIC0tPiAwMDoxNDoxMSw5NDANCru5zqrO28PvxvO27LXAx7gNCtLyzqo5OSW1xMbztuy2 - vLu5zabT0NLiy7y1xA0KDQoyMzgNCjAwOjE0OjExLDk0MCAtLT4gMDA6MTQ6MTMsOTcwDQrL48HL - sMkNCg0KMjM5DQowMDoxNDoxNSwzNjAgLS0+IDAwOjE0OjE4LDQ5MA0K1qq1wMLwINTbwanT0NDt - tuDP4MvG1q60pg0KDQoyNDANCjAwOjE0OjE4LDUwMCAtLT4gMDA6MTQ6MjEsNjEwDQotIMrHwvAN - Ci0gtbHIuyDO0tKyLi4uDQoNCjI0MQ0KMDA6MTQ6MjEsNjIwIC0tPiAwMDoxNDoyNCwyMzANCrGl - ytzQxMvp1q7NtA0KDQoyNDINCjAwOjE0OjI0LDI0MCAtLT4gMDA6MTQ6MjYsMDQwDQq6w7DJIMz9 - ztLPuM+4tcDAtA0KDQoyNDMNCjAwOjE0OjI4LDY2MCAtLT4gMDA6MTQ6MzMsMTMwDQq4+MTjsa3I - yNL7ILCyzr/PwsTjDQoNCjI0NA0KMDA6MTQ6MzMsMTMwIC0tPiAwMDoxNDozNSwwMzANCtPDtcTS - u7TO0NSxrdfTDQoNCjI0NQ0KMDA6MTQ6MzUsMDMwIC0tPiAwMDoxNDozNiw4ODANCsvmsePIzsTj - tKbWww0KDQoyNDYNCjAwOjE0OjM4LDYyMCAtLT4gMDA6MTQ6NDEsNTAwDQqx8MLvILu51OfE2A0K - DQoyNDcNCjAwOjE0OjQxLDUwMCAtLT4gMDA6MTQ6NDIsODkwDQrV0rXjysLX9rDJDQoNCjI0OA0K - MDA6MTQ6NDIsODkwIC0tPiAwMDoxNDo0OCw0NzANCs7S0rvWsdTaubnLvDREufq8ys/zxuUNCg0K - MjQ5DQowMDoxNDo0OCw0ODAgLS0+IDAwOjE0OjUwLDE5MA0K0qqyu77NueLBxMzssMkNCg0KMjUw - DQowMDoxNDo1MCwxOTAgLS0+IDAwOjE0OjUxLDI0MA0KusOwyQ0KDQoyNTENCjAwOjE0OjUxLDI1 - MCAtLT4gMDA6MTQ6NTMsNTEwDQotINTaNES5+rzKz/PG5dbQDQotIM2jDQoNCjI1Mg0KMDA6MTQ6 - NTQsNjgwIC0tPiAwMDoxNDo1NywyMjANCsC0wcTBxMn6u+6wyQ0KDQoyNTMNCjAwOjE0OjU3LDIy - MCAtLT4gMDA6MTQ6NTksMTAwDQq45svfztLQqcTjsrvOqsjL1qq1xMrCDQoNCjI1NA0KMDA6MTU6 - MDIsMTcwIC0tPiAwMDoxNTowNSw5ODANCs7S09C+xcz1v+PX0w0KDQoyNTUNCjAwOjE1OjA3LDgx - MCAtLT4gMDA6MTU6MTIsMjEwDQq/qs23sru07SDO0s/rzP3Qqbj8y73Iy7XEysINCg0KMjU2DQow - MDoxNToxMiwyMjAgLS0+IDAwOjE1OjE0LDU4MA0KztK2rsHLDQoNCjI1Nw0KMDA6MTU6MTQsNTkw - IC0tPiAwMDoxNToxOCw5OTANCs7S09C+xcz1xNq/4w0KDQoyNTgNCjAwOjE1OjIxLDI5MCAtLT4g - MDA6MTU6MjMsMDYwDQrSqrK7ztLPyMC0sMkNCg0KMjU5DQowMDoxNToyMywwNjAgLS0+IDAwOjE1 - OjI2LDIxMA0KtavO0rK7z+vWqrXAxOPT0Ly4zPXE2r/jDQoNCjI2MA0KMDA6MTU6MjYsMjEwIC0t - PiAwMDoxNTozMCwwNTANCrK7uf24+b7dxOPO1MrStdiw5cC0v7QNCsTj06a4w9PQ0rvHp8z1sMkN - Cg0KMjYxDQowMDoxNTozMCwwNTAgLS0+IDAwOjE1OjM0LDU1MA0KzP3XxSC45svfxOPQqc7SsrvO - qsjL1qq1xMrCDQoNCjI2Mg0KMDA6MTU6MzQsNTYwIC0tPiAwMDoxNTozNiwzOTANCs7SuNWw4bW9 - wuXJvO22yrENCg0KMjYzDQowMDoxNTozNiwzOTAgLS0+IDAwOjE1OjQwLDQ0MA0KztLC49DYs/bR - 3cHL0ruyv7nY09oNCrTz0MnQycmxyta1xLXNs8mxvr/WssDGrA0KDQoyNjQNCjAwOjE1OjQwLDQ1 - MCAtLT4gMDA6MTU6NDEsODQ2DQrWrrrzIM7SuNC1vbrc0N/Aog0KDQoyNjUNCjAwOjE1OjQyLDAx - MCAtLT4gMDA6MTU6NDYsMTgwDQq40NC7yc+12yDEx8as19PDu7eisrwNCg0KMjY2DQowMDoxNTo0 - NiwxODAgLS0+IDAwOjE1OjQ4LDM1MA0KztK/tLn9xMfGrMTYDQoNCjI2Nw0KMDA6MTU6NDksMzAw - IC0tPiAwMDoxNTo1MSw0MDANCsrHsKEgway7t7HkzKzQydDJDQoNCjI2OA0KMDA6MTU6NTQsMDQw - IC0tPiAwMDoxNTo1Niw5NjANCrz7xOO12tK7zOwgSG93YXJkvs3L0bW9wcsNCg0KMjY5DQowMDox - NTo1Niw5NjAgLS0+IDAwOjE1OjU4LDQ2MA0KxbYgzOzExC4uLg0KDQoyNzANCjAwOjE1OjU4LDQ2 - MCAtLT4gMDA6MTY6MDEsMjYwDQq+zdTaxOOz9sPFxMfSu7/MDQoNCjI3MQ0KMDA6MTY6MDMsMjAw - IC0tPiAwMDoxNjowNyw4MDANCs7Sz9bU2taqtcDE49KqwcTKssO0xNrI3cHLDQoNCjI3Mg0KMDA6 - MTY6MDcsODEwIC0tPiAwMDoxNjoxMSw1MTANCrrDsMkg1eK49sPYw9wNCs7Ssb7AtNKqtPi9+LnX - ssS1xA0KDQoyNzMNCjAwOjE2OjExLDUxMCAtLT4gMDA6MTY6MTIsNzkwDQq6ww0KDQoyNzQNCjAw - OjE2OjE1LDEwMCAtLT4gMDA6MTY6MTksNjgwDQrWrsewIFlvdXR1YmWw0dPDu6e958PmDQoNCjI3 - NQ0KMDA6MTY6MTksNjgwIC0tPiAwMDoxNjoyNCwzNzANCtPJIsbA0Mciu7uzySKwtNTeIg0KDQoy - NzYNCjAwOjE2OjI0LDM3MCAtLT4gMDA6MTY6MjksMzkwDQrO0rHtw+bJz9TezawgxuTKtdK7teO2 - vLK7DQoNCjI3Nw0KMDA6MTY6MzQsMjYwIC0tPiAwMDoxNjozNSw5MjANCtXivs3Kx8TjtcTD2MPc - Pw0KDQoyNzgNCjAwOjE2OjM1LDkyMCAtLT4gMDA6MTY6MzcsMDA4DQrKx7XEDQoNCjI3OQ0KMDA6 - MTY6MzcsNjUwIC0tPiAwMDoxNjo0MSwyNDANCs3bISDSu8/Cx+HBy8quve8NCg0KMjgwDQowMDox - Njo0MSwyNDAgLS0+IDAwOjE2OjQ1LDk5MA0KusPByyDO0rK7zebByyDLr771yKUNCg0KMjgxDQow - MDoxNjo0Niw2ODAgLS0+IDAwOjE2OjQ5LDIxMA0K1Nm4+sTjy7W8/s7SsrvOqsjL1qq1xMrCDQoN - CjI4Mg0KMDA6MTY6NDksMjEwIC0tPiAwMDoxNjo1MCw2NjANCsTjuNXJy7qmwcvO0g0KDQoyODMN - CjAwOjE2OjUwLDY3MCAtLT4gMDA6MTY6NTIsNTcwDQrO0tf2tO3JtsHLPw0KDQoyODQNCjAwOjE2 - OjUyLDU3MCAtLT4gMDA6MTY6NTgsMDIwDQrO0rOov6rQxLuzILjmy9/E47z+yMPO0sTRyty1xMrC - DQrE48i0sru1sbvYysINCg0KMjg1DQowMDoxNjo1OCwwMjAgLS0+IDAwOjE3OjAwLDg5MA0KztIu - Li4gztKyu771tcPEx9PQyrLDtA0KDQoyODYNCjAwOjE3OjAwLDg5MCAtLT4gMDA6MTc6MDMsNzMw - DQq1q7bUztLAtMu1yLTKx7TzysINCg0KMjg3DQowMDoxNzowNiw1ODAgLS0+IDAwOjE3OjA4LDI2 - MA0KU2hlbGRvbiDE48u1tcO21A0KDQoyODgNCjAwOjE3OjA4LDI3MCAtLT4gMDA6MTc6MTEsMDIw - DQrV5rXEttSyu8bwDQrO0tOmuMO4/MHLveLE4w0KDQoyODkNCjAwOjE3OjExLDAyMCAtLT4gMDA6 - MTc6MTIsODUwDQq908rcxOO1xLXAx7gNCg0KMjkwDQowMDoxNzoxMiw4NTAgLS0+IDAwOjE3OjE0 - LDk0MA0K0LvQuw0KDQoyOTENCjAwOjE3OjE0LDk0MCAtLT4gMDA6MTc6MTYsMjQwDQrAtCCxp7Gn - Pw0KDQoyOTINCjAwOjE3OjE2LDI0MCAtLT4gMDA6MTc6MTksNjMwDQotILu5ysfO1crWsMk/DQot - IMC0sMkNCg0KMjkzDQowMDoxNzoyMiw2MTAgLS0+IDAwOjE3OjI3LDgzMA0Kz9bU2s7Swcu94sTj - sbux5Mys0MnQyc+uu/e1xLjQvvXByw0KDQoyOTQNCjAwOjE3OjQzLDMyMCAtLT4gMDA6MTc6NDQs - MzUwDQrN7bCyDQoNCjI5NQ0KMDA6MTc6NTIsMzMwIC0tPiAwMDoxNzo1NSw1OTANCr7TyLvT0MSw - yfrIy8Lyvsa4+M7Sw8cNCsrcs+jI9L6qsKENCg0KMjk2DQowMDoxNzo1NSw2MDAgLS0+IDAwOjE3 - OjU4LDEwMA0KysewoSC40L71sru07Q0KDQoyOTcNCjAwOjE3OjU5LDYzMCAtLT4gMDA6MTg6MDIs - NzAwDQrD99TnztLDx7XDtKnM9dDUuNC/47/jDQoNCjI5OA0KMDA6MTg6MDIsNzAwIC0tPiAwMDox - ODowNSw5MTANCr+0v7TT0MO709DD4rfRusmw/LWwDQoNCjI5OQ0KMDA6MTg6MDcsMzcwIC0tPiAw - MDoxODoxMyw5MTANCrzZyOfLtSDV5tKq0aEgxOPRocTE0ru49j8NCg0KMzAwDQowMDoxODoxNiwx - ODAgLS0+IDAwOjE4OjIwLDI3MA0KztLRocTHuPa3otDNudbS7LXEsKu49tfTDQoNCjMwMQ0KMDA6 - MTg6MjAsMjcwIC0tPiAwMDoxODoyMiwzNDANCsyrusPByyDO0s+yu7bEx7j2yt2437j2tvkNCg0K - MzAyDQowMDoxODoyMiwzNDAgLS0+IDAwOjE4OjI3LDAxMA0Ky/u/tMbwwLS63LTPw/cg0rK63LnC - xqcNCtKy0O3Du8qyw7TQ1L6t0ekNCg0KMzAzDQowMDoxODoyNywwMTAgLS0+IDAwOjE4OjI5LDkw - MA0Ku7m1w87SvczL+w0KDQozMDQNCjAwOjE4OjMxLDc3MCAtLT4gMDA6MTg6MzMsNjIwDQrO0tGh - tcS/ybK71eLR+Q0KDQozMDUNCjAwOjE4OjMzLDYyMCAtLT4gMDA6MTg6MzUsNTcwDQrO0r+0tb3L - +7ai18XO0tDYv7TE2A0KDQozMDYNCjAwOjE4OjM2LDQ3MCAtLT4gMDA6MTg6NDEsMjkwDQrO0s+y - u7bEx9bWDQrP68y9y/fO0sOr0sLA78PmtcTE0MjLDQoNCjMwNw0KMDA6MTg6NDEsMjkwIC0tPiAw - MDoxODo0NCwyOTANCsuzsePLtc/CIMDvw+a7ucrHvP7Dq9LCDQoNCjMwOA0KMDA6MTg6NDYsNDMw - IC0tPiAwMDoxODo0OSw3NzANCsTHuPa8or/KtcSwq7j219PT0LXjz/FIb3dhcmQNCg0KMzA5DQow - MDoxODo0OSw3NzAgLS0+IDAwOjE4OjUzLDA0MA0KxOPEx7j2tM/D97XEtKbE0M/xU2hlbGRvbg0K - DQozMTANCjAwOjE4OjUzLDEwMCAtLT4gMDA6MTg6NTUsNjQwDQotIM3tsLINCi0gze2wsg0KDQoz - MTENCjAwOjE4OjU4LDM0MCAtLT4gMDA6MTk6MDEsMzEwDQq6w8HLIEtvb3RocmFwcGFsabKpyr8N - Crj6xOPMuLuwuty439DLDQoNCjMxMg0KMDA6MTk6MDEsMzEwIC0tPiAwMDoxOTowMyw4MTANCrWr - ztLSqrvYvNINCr3it8XO0rXEsaPEt8HLDQoNCjMxMw0KMDA6MTk6MDMsODEwIC0tPiAwMDoxOTow - NiwwNzANCsrHsKEgztLBy73itaXJ7bi4xLi1xLjQytwNCg0KMzE0DQowMDoxOTowNiwwNzAgLS0+ - IDAwOjE5OjA4LDAyMA0KztLT0NK71rvQobm3DQoNCjMxNQ0KMDA6MTk6MDgsMDIwIC0tPiAwMDox - OToxMCw4NTANCsrHsKEgzerIq9K70fkNCg0KMzE2DQowMDoxOToxMCw4NjAgLS0+IDAwOjE5OjEy - LDE1MA0Kze2wsg0KDQozMTcNCjAwOjE5OjEyLDE2MCAtLT4gMDA6MTk6MTMsODIwDQpEYXZpc8Wu - yr8uLi4NCg0KMzE4DQowMDoxOToxMyw4MjAgLS0+IDAwOjE5OjE2LDY2MA0KztIuLi4gtu4gxuTK - tS4uLg0KDQozMTkNCjAwOjE5OjE2LDY2MCAtLT4gMDA6MTk6MjAsODEwDQq98c3tztLKx7Gn18XD - 7MOjz6PN+w0Kuf3AtL+0v7TE3LK7xNzF3bW9ucK2wLXEsqnKv7rzDQoNCjMyMA0KMDA6MTk6MjAs - ODIwIC0tPiAwMDoxOToyNSwwNTANCrWryLS6zcTj1ebQxMHEyc/Byw0KDQozMjENCjAwOjE5OjI1 - LDA1MCAtLT4gMDA6MTk6MjcsODIwDQq4/LzTw8DD7rXE0rvN7Q0KDQozMjINCjAwOjE5OjI4LDU2 - MCAtLT4gMDA6MTk6MzAsNjIwDQrE48jLuty6ww0KDQozMjMNCjAwOjE5OjMwLDYzMCAtLT4gMDA6 - MTk6MzIsMzcwDQrE47K7u+G21M7S09DS4su8sMk/DQoNCjMyNA0KMDA6MTk6MzIsMzgwIC0tPiAw - MDoxOTozNCwxMzANCrK7ILK7ILK7IMTHvs236MHLIQ0KDQozMjUNCjAwOjE5OjM0LDEzMCAtLT4g - MDA6MTk6MzgsNDAwDQq82cjnztK21MTj09DS4su8IMTj1Oe3or71wcsNCtTauNC+9bK7y6zWrtPg - IMTju7m74dPQtePNrMfpztINCg0KMzI2DQowMDoxOTo0Miw2NzAgLS0+IDAwOjE5OjQ0LDU1MA0K - xOPV5r/JsK4NCg0KMzI3DQowMDoxOTo0NCw1OTAgLS0+IDAwOjE5OjQ2LDk5OQ0Kze2wsiBLb290 - aHJhcHBhbGmyqcq/DQoNCjMyOA0KMDA6MTk6NDcsMDEwIC0tPiAwMDoxOTo0OSw2MTANCs3tsLIN - Cg0KMzI5DQowMDoxOTo1MSwxMTAgLS0+IDAwOjE5OjUzLDMzMA0Kw7LLxsTjtcDHuLPJuabByw0K - DQozMzANCjAwOjE5OjUzLDMzMCAtLT4gMDA6MTk6NTUsMDMwDQq2+MfSLi4uDQoNCjMzMQ0KMDA6 - MTk6NTUsMDMwIC0tPiAwMDoxOTo1NywxMjANCs7SvvW1w87Sw8e7uc2mwLS157XEDQoNCjMzMg0K - MDA6MTk6NTcsMTIwIC0tPiAwMDoxOTo1OSw3OTANCsvjwcuwySDAtLXnxOO49s23DQoNCjMzMw0K - MDA6MTk6NTksNzkwIC0tPiAwMDoyMDowMSw5OTANCsTjyrLDtMqxuvKzycHLIsC0tefWrs31IsHL - Pw0KDQozMzQNCjAwOjIwOjA0LDMyMCAtLT4gMDA6MjA6MDYsMDk4DQq6w7DJIL7Ny+PE48PH09DA - tLXnDQoNCjMzNQ0KMDA6MjA6MDYsMTEwIC0tPiAwMDoyMDowOCw3ODANCi0gsb7AtL7N09ANCi0g - w7vT0A0KDQozMzYNCjAwOjIwOjA4LDc4MCAtLT4gMDA6MjA6MTIsODgwDQq1qy4uLiC1q7y0yrnT - 0CDE49Kq1PXDtNf2Pw0KDQozMzcNCjAwOjIwOjEyLDg4MCAtLT4gMDA6MjA6MTgsODAwDQrO0rvh - wv3C/bm00v3L/Q0K1rG1vcv9zt7W+rXYtbnU2s7StLLJzw0KDQozMzgNCjAwOjIwOjE4LDgxMCAt - LT4gMDA6MjA6MjAsODEwDQq/ys3718XWu9PQztLE3Lj4y/21xL/swNYNCg0KMzM5DQowMDoyMDoy - MCw4MTAgLS0+IDAwOjIwOjIyLDY4MA0KLSDL+dLUy7UgyrLDtLa8srvX9g0KLSDKssO0tryyu9f2 - DQoNCjM0MA0KMDA6MjA6MjgsNjAwIC0tPiAwMDoyMDozNCw3MzANCtXmuN/Qy76vsuzW1dPa16W1 - vcHLxMe49g0K0MTA7bHkzKy1xLv50vK4xNTs0MnQyQ0KDQozNDENCjAwOjIwOjM5LDk5MCAtLT4g - MDA6MjA6NDIsMjEwDQrO0reiysQg1eLKx87Sxa7F89PRIQ0KDQozNDINCjAwOjIwOjQzLDc1MCAt - LT4gMDA6MjA6NDcsMjgwDQpMZW9uYXJkISBMZW9uYXJkIQ0KTGVvbmFyZCEgTGVvbmFyZCENCg0K - MzQzDQowMDoyMDo0OCwyNDAgLS0+IDAwOjIwOjUwLDE0MA0KPGZvbnQgY29sb3I9IzIzOEU2OD4t - LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Ksb7C28yz19bEu732t63S6727 - wffRp8+w1q7Tww0KvfvWucjOus7JzNK108PNvrfx1PK687n719S4ug0KLS0tLS0tLS0tLS0tLS0t - LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08L2ZvbnQ+DQoNCjM0NA0KMDA6MjA6NTAsMjgwIC0tPiAw - MDoyMDo1MiwyNjANCjxmb250IGNvbG9yPSMyMzhFNjg+zOyyxcDtwtu0qyC12sbfvL4gtdrSu7yv - IM3qDQo3MjBQIGlUdW5lcyAtINfUwLT33GFrPC9mb250Pg0K - headers: - cache-control: - - max-age=2678400 - connection: - - keep-alive - content-disposition: - - subtitle; filename="The.Big.Bang.Theory.S07E01.The.Hofstadter.Insufficiency.720p.WEB-DL.DD5.1.H.264.srt" - content-length: - - '21411' - content-type: - - application/octet-stream - date: - - Sat, 30 Nov 2019 07:14:46 GMT - expires: - - Tue, 31 Dec 2019 07:14:46 GMT - master: - - Windu - server: - - nginx - x-cache: - - HIT - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/assrt/test_download_subtitle.yaml b/tests/cassettes/assrt/test_download_subtitle.yaml deleted file mode 100644 index d18900e61..000000000 --- a/tests/cassettes/assrt/test_download_subtitle.yaml +++ /dev/null @@ -1,3932 +0,0 @@ -interactions: -- request: - body: null - headers: - User-Agent: - - Sub-Zero/2 - method: GET - uri: https://api.assrt.net/v1/sub/search?q=%5B%27Man+of+Steel+2013%27%5D&token=SECRET&is_file=%5B%271%27%5D - response: - body: - string: "{\"status\":0,\"sub\":{\"keyword\":\"Man of Steel 2013\",\"result\"\ - :\"succeed\",\"subs\":[{\"subtype\":\"SSA\",\"id\":618185,\"lang\":{\"desc\"\ - :\"\u82F1 \u7B80 \u7E41 \u53CC\u8BED\",\"langlist\":{\"langcht\":true,\"langeng\"\ - :true,\"langdou\":true,\"langchs\":true}},\"vote_score\":0,\"upload_time\"\ - :\"2018-01-26 12:19:27\",\"native_name\":\"\u8D85\u4EBA\uFF1A\u94A2\u94C1\u4E4B\ - \u8EAF.Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.\u7B80\u7E41\u82F1\ - \u53CC\u8BED\u5B57\u5E55\",\"videoname\":\"Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT\"\ - ,\"release_site\":\"CMCT\",\"revision\":0},{\"upload_time\":\"2014-12-06 04:13:44\"\ - ,\"subtype\":\"SSA\",\"id\":316973,\"native_name\":\"\u8D85\u4EBA\uFF1A\u94A2\ - \u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA\uFF1A\u94A2\u94C1\u82F1\u96C4\",\"videoname\"\ - :\"Man of Steel 2013 720p BluRay x264 DTS-WiKi\",\"revision\":0,\"vote_score\"\ - :0},{\"upload_time\":\"2014-03-17 15:30:19\",\"subtype\":\"Subrip(srt)\",\"\ - revision\":0,\"id\":253629,\"lang\":{\"desc\":\"\u7E41\",\"langlist\":{\"\ - langcht\":true}},\"videoname\":\"[\u8D85\u4EBA \u92FC\u9435\u82F1\u96C4]Man.of.Steel.(2013).BDRip.720p.DTS.X264-Felony\"\ - ,\"native_name\":\"\",\"vote_score\":0},{\"upload_time\":\"2014-03-05 18:10:39\"\ - ,\"subtype\":\"SSA\",\"revision\":0,\"id\":252930,\"lang\":{\"desc\":\"\u82F1\ - \ \u7E41 \u53CC\u8BED\",\"langlist\":{\"langeng\":true,\"langcht\":true,\"\ - langdou\":true}},\"videoname\":\"Man of Steel\",\"native_name\":\"\u8D85\u4EBA\ - \uFF1A\u92FC\u9435\u82F1\u96C4\",\"vote_score\":45},{\"upload_time\":\"2013-11-09\ - \ 10:43:13\",\"subtype\":\"Subrip(srt)\",\"revision\":0,\"id\":246016,\"lang\"\ - :{\"desc\":\"\u82F1 \u7B80 \u7E41\",\"langlist\":{\"langeng\":true,\"langchs\"\ - :true,\"langcht\":true}},\"videoname\":\"Man.of.Steel.2013.720p.BluRay.x264.YIFY\"\ - ,\"native_name\":\"\u8D85\u4EBA\uFF1A\u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA\ - \uFF1A\u94A2\u94C1\u82F1\u96C4\\/\u3010TLF\u5B57\u5E55\u7EC4\u3011Man of Steel\"\ - ,\"vote_score\":0},{\"upload_time\":\"2013-11-02 05:56:40\",\"subtype\":\"\ - SSA\",\"revision\":0,\"id\":245602,\"lang\":{\"desc\":\"\u7B80 \u7E41 \u53CC\ - \u8BED\",\"langlist\":{\"langcht\":true,\"langchs\":true,\"langdou\":true}},\"\ - videoname\":\"Man of Steel 1080p.bluray.x264-sector7\",\"native_name\":\"\u8D85\ - \u4EBA\uFF1A\u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA\uFF1A\u94A2\u94C1\u82F1\ - \u96C4\\/\u7279\u6548\u53CC\u8BED\\/\u84DD\u5149\u5B57\u5E55\",\"vote_score\"\ - :0},{\"upload_time\":\"2013-10-31 23:41:07\",\"subtype\":\"\u5176\u4ED6\"\ - ,\"revision\":0,\"id\":245568,\"lang\":{\"desc\":\"\u7B80\",\"langlist\":{\"\ - langchs\":true}},\"videoname\":\"Man.of.Steel.2013\",\"native_name\":\"\u8D85\ - \u4EBA: \u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA: \u94A2\u94C1\u82F1\u96C4\"\ - ,\"vote_score\":0},{\"upload_time\":\"2013-10-27 07:04:18\",\"subtype\":\"\ - VobSub\",\"id\":245259,\"native_name\":\"\",\"videoname\":\"Man.Of.Steel.3D.2013.1080p.BluRay.Half-SBS.DTS.x264-PublicHD\"\ - ,\"revision\":0,\"vote_score\":100},{\"upload_time\":\"2013-10-25 04:50:37\"\ - ,\"subtype\":\"Subrip(srt)\",\"revision\":0,\"id\":245131,\"lang\":{\"desc\"\ - :\"\u7B80\",\"langlist\":{\"langchs\":true}},\"videoname\":\"Man.Of.Steel\"\ - ,\"native_name\":\"\u8D85\u4EBA-\u94A2\u94C1\u4E4B\u8EAF\",\"vote_score\"\ - :80},{\"upload_time\":\"2013-10-24 07:52:31\",\"subtype\":\"SSA\",\"revision\"\ - :0,\"id\":245056,\"lang\":{\"desc\":\"\u7E41\",\"langlist\":{\"langcht\":true}},\"\ - videoname\":\"\u8D85\u4EBA \u92FC\u9435\u82F1\u96C4 Man of Steel (2013) 1080p.cht\"\ - ,\"native_name\":\"\",\"vote_score\":0},{\"upload_time\":\"2013-10-23 00:46:40\"\ - ,\"subtype\":\"Subrip(srt)\",\"revision\":0,\"id\":244971,\"lang\":{\"desc\"\ - :\"\u7B80 \u7E41\",\"langlist\":{\"langcht\":true,\"langchs\":true}},\"videoname\"\ - :\"\u8D85\u4EBA: \u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA: \u94A2\u94C1\u82F1\ - \u96C4(\u6E2F\\/\u53F0).Man.of.Steel.2013.BluRay CEE\u7248\u84DD\u5149\u539F\ - \u76D8\",\"native_name\":\"\u84DD\u5149\u539F\u76D8\u5B57\u5E55\",\"vote_score\"\ - :10},{\"upload_time\":\"2013-10-22 23:39:00\",\"subtype\":\"Subrip(srt)\"\ - ,\"revision\":0,\"id\":244969,\"lang\":{\"desc\":\"\",\"langlist\":{}},\"\ - videoname\":\"Man.Of.Steel.3D.2013.1080p.BluRay.Half-SBS.DTS.x264-PublicHD\"\ - ,\"native_name\":\"\u8D85\u4EBA\uFF1A\u94A2\u94C1\u4E4B\u8EAF 3D\\/\u8D85\u4EBA\ - \uFF1A\u94A2\u94C1\u82F1\u96C4\\/Man of Steel 3D\",\"vote_score\":0},{\"upload_time\"\ - :\"2013-10-22 22:06:42\",\"subtype\":\"SSA\",\"revision\":0,\"id\":244960,\"\ - lang\":{\"desc\":\"\u82F1 \u7B80\",\"langlist\":{\"langchs\":true,\"langeng\"\ - :true}},\"videoname\":\"Superman: Man of Steel BD\",\"native_name\":\"\u8D85\ - \u4EBA:\u94A2\u94C1\u4E4B\u8EAF\",\"vote_score\":0},{\"upload_time\":\"2013-10-22\ - \ 17:42:45\",\"subtype\":\"\u5176\u4ED6\",\"revision\":0,\"id\":244939,\"\ - lang\":{\"desc\":\"\",\"langlist\":{}},\"videoname\":\"\u8D85\u4EBA\uFF1A\u94A2\ - \u94C1\u4E4B\u8EAF.Man.of.Steel.2013.1080p-PublicHD 2D.1080p\u62163D.1080p.HSBS-PublicHD\"\ - ,\"native_name\":\"\",\"vote_score\":0},{\"upload_time\":\"2013-10-21 16:52:23\"\ - ,\"subtype\":\"Subrip(srt)\",\"revision\":0,\"id\":244863,\"lang\":{\"desc\"\ - :\"\u82F1 \u7B80 \u7E41\",\"langlist\":{\"langeng\":true,\"langchs\":true,\"\ - langcht\":true}},\"videoname\":\"man.of.steel.2013.720p.bluray.x264-felony.mkv\"\ - ,\"native_name\":\"\\/Man of Steel \\/\u8D85\u4EBA:\u94A2\u94C1\u4E4B\u8EAF\ - \\/\u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA:\u94A2\u94C1\u82F1\u96C4\",\"vote_score\"\ - :0}],\"action\":\"search\"}}\n" - headers: - access-control-allow-origin: - - '*' - connection: - - keep-alive - content-type: - - application/json - date: - - Sat, 30 Nov 2019 07:14:40 GMT - server: - - nginx - transfer-encoding: - - chunked - vary: - - Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - User-Agent: - - Sub-Zero/2 - method: GET - uri: https://api.assrt.net/v1/sub/detail?token=SECRET&id=%5B%27618185%27%5D - response: - body: - string: "{\"status\":0,\"sub\":{\"result\":\"succeed\",\"subs\":[{\"id\":618185,\"\ - filelist\":[{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618185\\/-\\\ - /1\\/Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.%E7%AE%80%E4%BD%93%26%E8%8B%B1%E6%96%87.ass?_=1575098080&-=89464d94d08c606674b645a8625f3dae&api=1\"\ - ,\"f\":\"Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.\u7B80\u4F53\ - &\u82F1\u6587.ass\",\"s\":\"233KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\\ - /onthefly\\/618185\\/-\\/2\\/Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.%E7%AE%80%E4%BD%93%26%E8%8B%B1%E6%96%87.srt?_=1575098080&-=50d60b7ab566442b141746abb7446eed&api=1\"\ - ,\"f\":\"Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.\u7B80\u4F53\ - &\u82F1\u6587.srt\",\"s\":\"200KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\\ - /onthefly\\/618185\\/-\\/3\\/Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.%E7%AE%80%E4%BD%93.ass?_=1575098080&-=c22e2c72cf726d705f9f5cfcc69bed3e&api=1\"\ - ,\"f\":\"Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.\u7B80\u4F53\ - .ass\",\"s\":\"133KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\\ - /618185\\/-\\/4\\/Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.%E7%AE%80%E4%BD%93.srt?_=1575098080&-=872afa545589f9edab516c4de1b4da66&api=1\"\ - ,\"f\":\"Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.\u7B80\u4F53\ - .srt\",\"s\":\"80KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\\ - /618185\\/-\\/5\\/Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.%E7%B9%81%E4%BD%93%26%E8%8B%B1%E6%96%87.ass?_=1575098080&-=ba69a8766469b168fa0024bee07644ff&api=1\"\ - ,\"f\":\"Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.\u7E41\u4F53\ - &\u82F1\u6587.ass\",\"s\":\"233KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\\ - /onthefly\\/618185\\/-\\/6\\/Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.%E7%B9%81%E4%BD%93%26%E8%8B%B1%E6%96%87.srt?_=1575098080&-=f3c74b15bc3f3275d57f78d97dae639a&api=1\"\ - ,\"f\":\"Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.\u7E41\u4F53\ - &\u82F1\u6587.srt\",\"s\":\"200KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\\ - /onthefly\\/618185\\/-\\/7\\/Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.%E7%B9%81%E4%BD%93.ass?_=1575098080&-=2fd32d1e9258bd0d723d35996abb6528&api=1\"\ - ,\"f\":\"Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.\u7E41\u4F53\ - .ass\",\"s\":\"133KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\\ - /618185\\/-\\/8\\/Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.%E7%B9%81%E4%BD%93.srt?_=1575098080&-=fe26844b485b60d3e799f1dfaa3d4173&api=1\"\ - ,\"f\":\"Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.\u7E41\u4F53\ - .srt\",\"s\":\"119KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\\ - /618185\\/-\\/9\\/Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.%E8%8B%B1%E6%96%87%26%E7%AE%80%E4%BD%93.ass?_=1575098080&-=c027d5b713399dca2f0911399ae547bd&api=1\"\ - ,\"f\":\"Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.\u82F1\u6587\ - &\u7B80\u4F53.ass\",\"s\":\"233KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\\ - /onthefly\\/618185\\/-\\/10\\/Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.%E8%8B%B1%E6%96%87%26%E7%AE%80%E4%BD%93.srt?_=1575098080&-=f38451f13a3c0e9aa847436bc6bd4f6a&api=1\"\ - ,\"f\":\"Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.\u82F1\u6587\ - &\u7B80\u4F53.srt\",\"s\":\"200KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\\ - /onthefly\\/618185\\/-\\/11\\/Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.%E8%8B%B1%E6%96%87%26%E7%B9%81%E4%BD%93.ass?_=1575098080&-=0aeb81283ff1fc32b011e67b95cf3c29&api=1\"\ - ,\"f\":\"Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.\u82F1\u6587\ - &\u7E41\u4F53.ass\",\"s\":\"233KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\\ - /onthefly\\/618185\\/-\\/12\\/Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.%E8%8B%B1%E6%96%87%26%E7%B9%81%E4%BD%93.srt?_=1575098080&-=bb97c6954807ffe4004084562f3a3f5a&api=1\"\ - ,\"f\":\"Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.\u82F1\u6587\ - &\u7E41\u4F53.srt\",\"s\":\"200KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\\ - /onthefly\\/618185\\/-\\/13\\/Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.%E8%8B%B1%E6%96%87.srt?_=1575098080&-=73a24cabafbb7a59383e204de657a971&api=1\"\ - ,\"f\":\"Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.\u82F1\u6587\ - .srt\",\"s\":\"85KB\"}],\"url\":\"http:\\/\\/file0.assrt.net\\/download\\\ - /618185\\/Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.zip?_=1575098080&-=272e8e5858cae6889592e4ec48dab6b5&api=1\"\ - ,\"release_site\":\"CMCT\",\"revision\":0,\"filename\":\"Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.zip\"\ - ,\"subtype\":\"SSA\",\"lang\":{\"desc\":\"\u82F1 \u7B80 \u7E41 \u53CC\u8BED\ - \",\"langlist\":{\"langchs\":true,\"langeng\":true,\"langdou\":true,\"langcht\"\ - :true}},\"videoname\":\"Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT\"\ - ,\"vote_score\":0,\"upload_time\":\"2018-01-26 12:19:27\",\"title\":\"\u8D85\ - \u4EBA\uFF1A\u94A2\u94C1\u4E4B\u8EAF.Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.\u7B80\ - \u7E41\u82F1\u53CC\u8BED\u5B57\u5E55\",\"view_count\":2541,\"native_name\"\ - :\"\u8D85\u4EBA\uFF1A\u94A2\u94C1\u4E4B\u8EAF.Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.\u7B80\ - \u7E41\u82F1\u53CC\u8BED\u5B57\u5E55\",\"producer\":{\"source\":\"\u539F\u521B\ - \u7FFB\u8BD1\",\"verifier\":\"\",\"producer\":\"\",\"uploader\":\"\"},\"size\"\ - :627625,\"down_count\":1290}],\"action\":\"detail\"}}\n" - headers: - access-control-allow-origin: - - '*' - connection: - - keep-alive - content-type: - - application/json - date: - - Sat, 30 Nov 2019 07:14:40 GMT - server: - - nginx - transfer-encoding: - - chunked - vary: - - Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - User-Agent: - - Sub-Zero/2 - method: GET - uri: http://file0.assrt.net/onthefly/618185/-/5/Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.%E7%B9%81%E4%BD%93%26%E8%8B%B1%E6%96%87.ass?api=%5B%271%27%5D&-=%5B%27ba69a8766469b168fa0024bee07644ff%27%5D&_=%5B%271575098080%27%5D - response: - body: - string: "\uFEFF[Script Info]\r\n;SrtEdit 6.3.2012.1001\r\n;Copyright(C) 2005-2012\ - \ Yuan Weiguo\r\n\r\nTitle: \r\nOriginal Script: \r\nOriginal Translation:\ - \ \r\nOriginal Timing: \r\nOriginal Editing: \r\nScript Updated By: \r\nUpdate\ - \ Details: \r\nScriptType: v4.00+\r\nCollisions: Normal\r\nPlayResX: 384\r\ - \nPlayResY: 288\r\nTimer: 100.0000\r\nSynch Point: \r\nWrapStyle: 0\r\nScaledBorderAndShadow:\ - \ no\r\n\r\n[V4+ Styles]\r\nFormat: Name, Fontname, Fontsize, PrimaryColour,\ - \ SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut,\ - \ ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment,\ - \ MarginL, MarginR, MarginV, Encoding\r\nStyle: chs,Arial,20,&H00E0E0E0,&H00000000,&H00000000,&H80000000,0,0,0,0,100,100,0,0,0,2,1,2,1,1,1,1\r\ - \nStyle: Default,Arial,18,&H00FFFFFF,&H0000FFFF,&H00000000,&H00000000,-1,0,0,0,100,100,0,0,1,2,3,2,20,20,20,1\r\ - \n\r\n[Events]\r\nFormat: Layer, Start, End, Style, Name, MarginL, MarginR,\ - \ MarginV, Effect, Text\r\nDialogue: 0,0:00:01.00,0:00:05.00,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\fs18\\1c&H00FFFF&}--==\u672C\u5F71\u7247\u7531\ - \ {\\1c&HFF8000&\\b1}CMCT \u5718\u968A{\\r\\fn\u534E\u6587\u6977\u4F53\\fs18\\\ - 1c&H00FFFF&} \u69AE\u8B7D\u51FA\u54C1==--\\N\u66F4\u591A\u7CBE\u5F69\u5F71\ - \u8996 \u8ACB\u8A2A\u554F {\\fnCronos Pro Light Subhead\\1c&HFF00FF&\\b1}http://cmct.cc{\\\ - r\\fn\u534E\u6587\u6977\u4F53\\fs18\\1c&H00FFFF&}{\\r}\r\nDialogue: 0,0:00:06.00,0:00:10.00,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\fs16\\1c&H00FFFF&}\u5F71\u7247\u58D3\u5236: \u66AE\ - \u96E8\u701F\u701F \u5B57\u5E55\u8ABF\u6821\uFF1A\u4E5D\u5929 \u62DB\ - \u52DFQ\u865F: 76846146{\\r}\r\nDialogue: 0,0:00:58.52,0:01:00.02,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5FEB\u9EDE{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Hurry!{\\r}\r\nDialogue: 0,0:02:11.03,0:02:14.97,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u5011\u9084\u4E0D\u660E\u767D\u55CE\ - \uFF1F\u6C2A\u661F\u7684\u6838\u5FC3\u6B63\u5728\u574D\u584C{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Do you not understand? Krypton's core\ - \ is collapsing.{\\r}\r\nDialogue: 0,0:02:15.20,0:02:18.54,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5011\u4E5F\u8A31\u53EA\u5269\u5E7E\ - \u500B\u661F\u671F\u4E86 \u6211\u8B66\u544A\u904E\u4F60\u5011{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We may only have a matter of weeks.\ - \ I warned you.{\\r}\r\nDialogue: 0,0:02:18.80,0:02:22.30,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u958B\u767C\u6838\u5FC3\u7684\u80FD\u6E90\ - \u8207\u81EA\u6BBA\u7121\u7570{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Harvesting the core was suicide. It has accelerated...{\\r}\r\nDialogue:\ - \ 0,0:02:22.54,0:02:25.28,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}- \u5167\u7206\u7684\u901F\u5EA6\u5DF2\u7D93\u52A0\u5FEB - \u6211\ - \u5011\u7684\u80FD\u6E90\u5132\u5099\u5DF2\u7D93\u8017\u76E1{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- ...the process of implosion. \ - \ - Our energy reserves...{\\r}\r\nDialogue: 0,0:02:25.51,0:02:27.89,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5011\u9084\u80FD\u600E\u9EBC\u8FA6\ - \ \u827E\u723E{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...were\ - \ exhausted. What would you have us do, El?{\\r}\r\nDialogue: 0,0:02:28.14,0:02:31.56,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u50CF\u6211\u5011\u7684\u7956\u5148\u4E00\ - \u6A23 \u653E\u773C\u5B87\u5B99{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Look to the stars, like our ancestors did.{\\r}\r\nDialogue: 0,0:02:31.81,0:02:35.69,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9069\u5408\u5C45\u4F4F\u7684\u4E16\u754C\ - \u89F8\u624B\u53EF\u53CA \u6211\u5011\u53EF\u4EE5\u5148\u7528\u90A3\u4E9B\u820A\ - \u524D\u54E8\u7AD9{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}There\ - \ are habitable worlds within reach. We can begin by using the old outposts.{\\\ - r}\r\nDialogue: 0,0:02:35.95,0:02:39.66,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F60\u771F\u7684\u60F3\u8981\u64A4\u96E2\u5168\u661F\ - \u7403\u7684\u4EBA\u55CE\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Are you seriously suggesting that we evacuate the entire planet?{\\\ - r}\r\nDialogue: 0,0:02:39.89,0:02:43.34,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4E0D \u6211\u5011\u5DF2\u7D93\u6551\u4E0D\u4E86\u9019\ - \u88CF\u7684\u4EBA\u5011\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}No. Everybody here is already dead.{\\r}\r\nDialogue: 0,0:02:44.16,0:02:48.30,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u628A\u5BC6\u5178\u4EA4\u7D66\u6211 \u6211\ - \u4FDD\u8B49\u8B93\u6211\u5011\u7A2E\u65CF\u5B58\u6D3B\u4E0B\u53BB{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Give me control of the\ - \ Codex. I will ensure the survival of our race.{\\r}\r\nDialogue: 0,0:02:48.66,0:02:49.73,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9084\u6709\u5E0C\u671B{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}There is still hope.{\\r}\r\nDialogue:\ - \ 0,0:02:50.00,0:02:53.00,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u5C07\u9019\u500B\u5E0C\u671B\u63E1\u5728\u4E86\u6211\u7684\ - \u624B\u5FC3{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I have\ - \ held that hope in my hands.{\\r}\r\nDialogue: 0,0:03:07.42,0:03:09.96,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9577\u8001\u6703\u5DF2\u7D93\u89E3\u6563\ - \u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}This council\ - \ has been disbanded.{\\r}\r\nDialogue: 0,0:03:10.05,0:03:11.90,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8AB0\u4E0B\u7684\u547D\u4EE4\uFF1F{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}On whose authority?{\\\ - r}\r\nDialogue: 0,0:03:12.25,0:03:13.39,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Mine.{\\r}\r\nDialogue: 0,0:03:17.16,0:03:21.44,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5176\u9918\u7684\u4EBA\u5C07\u88AB\u5BE9\ - \u5224 \u4E26\u914C\u60C5\u8655\u7F70{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}The rest of you will be tried and punished accordingly.{\\\ - r}\r\nDialogue: 0,0:03:23.43,0:03:26.70,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}- \u4F60\u5728\u5E79\u4EC0\u9EBC \u4F50\u5FB7\uFF1F\u4F60\ - \u760B\u4E86 - \u6211\u5E7E\u5E74\u524D\u5C31\u8A72\u52D5\u624B\u4E86{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- What are you doing,\ - \ Zod? This is madness. - What I should have done years ago...{\\r}\r\ - \nDialogue: 0,0:03:27.17,0:03:32.00,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u662F\u9019\u4E9B\u7ACB\u6CD5\u8005\u548C\u4ED6\u5011\ - \u7121\u4F11\u6B62\u7684\u722D\u8AD6\u6BC0\u4E86\u6C2A\u661F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}These lawmakers with their endless\ - \ debates have lead Krypton to ruin.{\\r}\r\nDialogue: 0,0:03:34.28,0:03:35.95,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5C31\u7B97\u4F60\u7684\u8ECD\u968A\u52DD\ - \u5229\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}And\ - \ if your forces prevail...{\\r}\r\nDialogue: 0,0:03:36.21,0:03:38.85,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u4F60\u4E5F\u53EA\u80FD\u662F\u500B\u5149\ - \u687F\u53F8\u4EE4 - \u90A3\u5C31\u52A0\u5165\u6211\u7684\u884C\u5217\u5427\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- ...you'll be the\ - \ leader of nothing. - Then join me.{\\r}\r\nDialogue: 0,0:03:39.08,0:03:42.19,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5354\u52A9\u6211\u62EF\u6551\u6211\u5011\ - \u7684\u7A2E\u65CF \u6211\u5011\u91CD\u65B0\u958B\u59CB{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Help me save our race. We'll start\ - \ anew.{\\r}\r\nDialogue: 0,0:03:42.42,0:03:46.60,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5C07\u8B93\u6211\u5011\u6DEA\u843D\u5230\ - \u5982\u6B64\u7530\u5730\u7684\u58AE\u843D\u8840\u8108\u5207\u65B7{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We'll sever the degenerative\ - \ bloodlines that led us to this state.{\\r}\r\nDialogue: 0,0:03:46.72,0:03:49.97,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8AB0\u4F86\u6C7A\u5B9A\u8AB0\u53BB\u8AB0\ - \u7559 \u4F50\u5FB7\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}And who will decide which bloodlines survive, Zod?{\\r}\r\nDialogue:\ - \ 0,0:03:51.53,0:03:52.37,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4F60\u55CE\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}You?{\\r}\r\nDialogue: 0,0:03:54.90,0:03:56.60,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5225\u9019\u6A23 \u827E\u723E{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Don't do this, El.{\\r}\r\n\ - Dialogue: 0,0:03:56.87,0:03:59.31,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u6211\u6700\u4E0D\u9858\u610F\u770B\u5230\u7684 \u5C31\u662F\ - \u6211\u5011\u53CD\u76EE\u6210\u4EC7{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}The last thing I want is for us to be enemies.{\\r}\r\n\ - Dialogue: 0,0:03:59.57,0:04:02.21,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u4F60\u80CC\u68C4\u4E86\u6211\u5011\u76F8\u7D04\u7ACB\u4E0B\ - \u7684\u539F\u5247{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You\ - \ have abandoned the principles that bound us together.{\\r}\r\nDialogue:\ - \ 0,0:04:02.44,0:04:06.00,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4F60\u5C07\u528D\u6307\u5411\u4E86\u81EA\u5DF1\u7684\u4EBA\u6C11\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You've taken up\ - \ the sword against your own people.{\\r}\r\nDialogue: 0,0:04:06.48,0:04:09.39,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u656C\u91CD\u7684\u662F\u66FE\u7D93\ - \u7684\u4F60 \u4F50\u5FB7{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}I will honor the man you once were, Zod...{\\r}\r\nDialogue: 0,0:04:09.81,0:04:11.79,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u800C\u4E0D\u662F\u5982\u4ECA\u9019\u500B\ - \u79BD\u7378{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...not\ - \ this monster you've become.{\\r}\r\nDialogue: 0,0:04:15.08,0:04:16.43,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u628A\u4ED6\u5E36\u8D70{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Take him away.{\\r}\r\nDialogue: 0,0:04:22.59,0:04:23.93,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E3B\u4EBA \u4E00\u5207\u662F\u5426\u5B89\ - \u597D\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Sir?\ - \ Is everything all right?{\\r}\r\nDialogue: 0,0:04:24.16,0:04:25.47,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8B93\u958B{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Out of the way.{\\r}\r\nDialogue: 0,0:04:26.33,0:04:27.53,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u518D\u8AAA\u4E00\u904D{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I said...{\\r}\r\nDialogue:\ - \ 0,0:04:43.81,0:04:44.85,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u53EB\u840A\u62C9\u904E\u4F86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Get me Lara.{\\r}\r\nDialogue: 0,0:04:46.18,0:04:48.35,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u55AC \u6CE8\u610F\u8EAB\u5F8C{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Jor. Behind you.{\\r}\r\nDialogue:\ - \ 0,0:04:52.25,0:04:54.26,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u840A\u62C9 \u6E96\u5099\u597D\u767C\u5C04{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Lara, you have to ready the launch.{\\\ - r}\r\nDialogue: 0,0:04:54.49,0:04:56.66,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u6703\u76E1\u5FEB\u8DDF\u4F60\u6703\u5408{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I'll be with you as soon\ - \ as I can.{\\r}\r\nDialogue: 0,0:05:10.97,0:05:12.54,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8D6B\u62C9\u5361{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}H'Raka!{\\r}\r\nDialogue: 0,0:05:51.58,0:05:54.32,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u80FD\u770B\u5230\u5BC6\u5178\u55CE\uFF1F\ - \ - \u5C31\u5728\u4E2D\u6A1E\u7684\u4E0B\u65B9 \u4E3B\u4EBA{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- Can you see the Codex? -\ - \ It's just beneath the central hub.{\\r}\r\nDialogue: 0,0:05:54.55,0:05:55.75,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F46\u6211\u4E0D\u5F97\u4E0D\u8B66\u544A\ - \u60A8{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}But I'm compelled\ - \ to warn you.{\\r}\r\nDialogue: 0,0:05:55.92,0:05:58.23,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5165\u4FB5\u59CB\u6E90\u5BA4\u662FB\u7D1A\ - \u72AF\u7F6A{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Breaching\ - \ the genesis chamber is a Class-B crime...{\\r}\r\nDialogue: 0,0:05:58.49,0:06:02.06,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6C92\u4EBA\u5728\u4E4E\u9019\u500B\u4E86\ - \ \u57FA\u5217\u514B\u65AF \u9019\u500B\u4E16\u754C\u5C31\u8981\u6BC0\u6EC5\ - \u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Nobody cares\ - \ anymore, Kelex. The world is about to come to an end.{\\r}\r\nDialogue:\ - \ 0,0:07:06.72,0:07:09.90,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u55AC\u2022\u827E\u723E \u4F50\u5FB7\u5C07\u8ECD\u6709\u4EE4{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Jor-El, by the authority\ - \ of General Zod...{\\r}\r\nDialogue: 0,0:07:10.13,0:07:12.00,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4EA4\u51FA\u5BC6\u5178{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...surrender the Codex.{\\r}\r\nDialogue:\ - \ 0,0:08:00.01,0:08:01.54,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u5805\u6301\u4F4F \u8D6B\u62C9\u5361{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Easy, H'Raka.{\\r}\r\nDialogue: 0,0:08:22.50,0:08:24.14,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u5011\u627E\u5230\u4E86\u90A3\u500B\ - \u4E16\u754C\u55CE\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Did you find a world?{\\r}\r\nDialogue: 0,0:08:24.33,0:08:26.65,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u627E\u5230\u4E86 - \u5B83\u7E5E\u8457\ - \u4E00\u9846\u9EC3\u8272\u4E3B\u5E8F\u661F\u904B\u884C{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- We have. - Orbiting a main\ - \ sequence yellow star...{\\r}\r\nDialogue: 0,0:08:26.87,0:08:28.58,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6B63\u5982\u60A8\u6240\u8AAA{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...just as you said it would.{\\\ - r}\r\nDialogue: 0,0:08:29.87,0:08:31.48,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u9019\u662F\u9846\u5E74\u8F15\u7684\u6046\u661F{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}A young star.{\\r}\r\n\ - Dialogue: 0,0:08:31.84,0:08:34.21,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u4ED6\u7684\u7D30\u80DE\u80FD\u5438\u6536\u5B83\u7684\u8F3B\ - \u5C04\u80FD{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}His\ - \ cells will drink its radiation.{\\r}\r\nDialogue: 0,0:08:36.64,0:08:38.89,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F3C\u4E4E\u662F\u667A\u80FD\u751F\u7269\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}It's a seemingly\ - \ intelligent population.{\\r}\r\nDialogue: 0,0:08:39.81,0:08:40.88,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u6703\u88AB\u907A\u68C4{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}He'll be an outcast.{\\r}\r\ - \nDialogue: 0,0:08:41.88,0:08:43.33,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u88AB\u7576\u6210\u602A\u7269{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}A freak.{\\r}\r\nDialogue: 0,0:08:44.55,0:08:45.36,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u6703\u88AB\u6BBA\u6389\u7684{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}They'll kill him.{\\\ - r}\r\nDialogue: 0,0:08:45.59,0:08:47.03,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4E0D{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}How?{\\r}\r\nDialogue: 0,0:08:47.89,0:08:49.60,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u6703\u88AB\u7576\u6210\u4E0A\u5E1D\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}He'll be a god to\ - \ them.{\\r}\r\nDialogue: 0,0:08:51.43,0:08:53.57,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5982\u679C\u98DB\u8239\u5230\u4E0D\u4E86\ - \u90A3\u88CF\u600E\u9EBC\u8FA6\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}What if the ship doesn't make it?{\\r}\r\nDialogue: 0,0:08:54.53,0:08:56.03,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u6703\u6B7B\u5728\u5916\u9762{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}He'll die out there...{\\\ - r}\r\nDialogue: 0,0:08:56.93,0:08:58.97,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5B64\u82E6\u4F36\u4EC3\u5730{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}...alone.{\\r}\r\nDialogue: 0,0:09:00.07,0:09:01.84,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u505A\u4E0D\u5230{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I can't do it.{\\r}\r\nDialogue: 0,0:09:02.07,0:09:03.45,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4EE5\u70BA\u53EF\u4EE5 \u4F46...{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I thought I could,\ - \ but...{\\r}\r\nDialogue: 0,0:09:03.71,0:09:05.45,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u840A\u62C9 - \u4ED6\u5C31\u5728\u6211\ - \u773C\u524D{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- Lara.\ - \ - ...now that he's here...{\\r}\r\nDialogue: 0,0:09:05.91,0:09:07.61,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6C2A\u661F\u5DF2\u7D93\u4E0D\u884C\u4E86\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Krypton is doomed.{\\\ - r}\r\nDialogue: 0,0:09:08.84,0:09:10.69,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u9019\u662F\u4ED6\u552F\u4E00\u7684\u6A5F\u6703{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}It's his only chance now.{\\\ - r}\r\nDialogue: 0,0:09:11.38,0:09:12.95,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u9019\u662F\u6211\u5011\u6C11\u65CF\u552F\u4E00\u7684\ - \u5E0C\u671B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}It's\ - \ our people's only hope.{\\r}\r\nDialogue: 0,0:09:14.42,0:09:15.62,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u600E\u9EBC\u4E86 \u57FA\u5217\u514B\u65AF\ - \uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}What is it,\ - \ Kelex?{\\r}\r\nDialogue: 0,0:09:15.88,0:09:17.86,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6709\u4E94\u8258\u653B\u64CA\u8266\u6B63\ - \u5F9E\u6771\u9762\u9760\u8FD1{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Five attack ships converging from the east.{\\r}\r\nDialogue: 0,0:09:18.09,0:09:20.43,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u5011\u6B63\u5728\u6383\u7784\u4E26\ - \u8A55\u4F30\u57CE\u5821\u7684\u9632\u79A6\u7CFB\u7D71{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Citadel's defenses are being scanned\ - \ and evaluated.{\\r}\r\nDialogue: 0,0:09:20.69,0:09:21.60,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4F86\u4E0A\u50B3\u5BC6\u5178{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I'll upload the Codex.{\\\ - r}\r\nDialogue: 0,0:09:22.36,0:09:23.77,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4E0D \u7B49\u7B49{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}No, wait.{\\r}\r\nDialogue: 0,0:09:24.39,0:09:25.23,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u840A\u62C9{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Lara.{\\r}\r\nDialogue: 0,0:09:25.46,0:09:28.37,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8B93\u6211\u518D\u770B\u770B\u4ED6{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Just let me look at\ - \ him.{\\r}\r\nDialogue: 0,0:09:31.77,0:09:34.27,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5011\u6C92\u6A5F\u6703\u770B\u4ED6\ - \u8D70\u8DEF\u7684\u6A23\u5B50{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}We'll never get to see him walk.{\\r}\r\nDialogue: 0,0:09:36.70,0:09:39.22,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6C92\u6A5F\u6703\u807D\u4ED6\u558A\u7238\ - \u7238\u5ABD\u5ABD{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Never\ - \ hear him say our names.{\\r}\r\nDialogue: 0,0:09:44.05,0:09:45.46,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u6703\u5728{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}But out there...{\\r}\r\nDialogue: 0,0:09:45.71,0:09:47.62,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u832B\u832B\u5B87\u5B99\u9593{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...amongst the stars...{\\\ - r}\r\nDialogue: 0,0:09:48.98,0:09:50.49,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6D3B\u4E0B\u4F86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}...he will live.{\\r}\r\nDialogue: 0,0:10:48.54,0:10:50.45,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u518D\u898B \u5152\u5B50{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Goodbye, my son.{\\r}\r\nDialogue:\ - \ 0,0:10:51.18,0:10:53.72,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u5011\u7684\u5E0C\u671B\u8207\u5922\u60F3\u8207\u4F60\u540C\ - \u884C{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Our hopes\ - \ and dreams travel with you.{\\r}\r\nDialogue: 0,0:11:32.42,0:11:35.23,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5411\u4E3B\u9580\u96C6\u4E2D\u706B\u529B\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Concentrate fire\ - \ on the main doors.{\\r}\r\nDialogue: 0,0:11:50.57,0:11:51.55,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u840A\u62C9\u592B\u4EBA{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Lady Lara.{\\r}\r\nDialogue: 0,0:11:51.77,0:11:54.85,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u5E7D\u9748\u5F15\u64CE\u5DF2\u555F\u52D5\ - \ - \u9EDE\u706B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}-\ - \ The phantom drives are coming online. - Proceed to ignition.{\\r}\r\ - \nDialogue: 0,0:11:55.61,0:11:56.61,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5C07\u8ECD{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}General.{\\r}\r\nDialogue: 0,0:11:56.88,0:12:00.26,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u57CE\u5821\u5167\u6709\u5F15\u64CE\u555F\ - \u52D5{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We have identified\ - \ an engine ignition within the citadel.{\\r}\r\nDialogue: 0,0:12:01.22,0:12:02.63,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u662F\u822A\u5929\u5668\u767C\u5C04{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}A launch.{\\r}\r\n\ - Dialogue: 0,0:12:03.79,0:12:06.20,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u5B88\u4F4F\u9019\u5E73\u53F0 \u6307\u63EE\u5B98{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Hold this platform, commander.{\\\ - r}\r\nDialogue: 0,0:12:18.60,0:12:21.15,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u77E5\u9053\u4F60\u5077\u4E86\u5BC6\u5178 \u55AC\ - \u2022\u827E\u723E{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I\ - \ know you stole the Codex, Jor-El.{\\r}\r\nDialogue: 0,0:12:21.70,0:12:22.70,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u628A\u5B83\u4EA4\u51FA\u4F86{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Surrender it...{\\r}\r\nDialogue:\ - \ 0,0:12:22.94,0:12:24.94,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u5C31\u9952\u4F60\u4E0D\u6B7B{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}...and I'll let you live.{\\r}\r\nDialogue: 0,0:12:25.57,0:12:28.11,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9019\u6B21\u91CD\u751F\u7684\u6A5F\u6703\ - \u5C6C\u65BC\u6C2A\u661F\u6240\u6709\u4EBA{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}This is a second chance for all of Krypton...{\\\ - r}\r\nDialogue: 0,0:12:28.38,0:12:31.32,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u800C\u4E0D\u50C5\u50C5\u662F\u4F60\u89BA\u5F97\u91CD\ - \u8981\u7684\u8840\u8108{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...not just the bloodlines you deem worthy.{\\r}\r\nDialogue: 0,0:12:32.25,0:12:33.42,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u505A\u4E86\u4EC0\u9EBC\u4E8B\uFF1F\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}What have you done?{\\\ - r}\r\nDialogue: 0,0:12:33.65,0:12:35.96,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u5011\u6709\u4E00\u500B\u5B69\u5B50 \u4F50\u5FB7\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We've had a child,\ - \ Zod.{\\r}\r\nDialogue: 0,0:12:36.95,0:12:38.33,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E00\u500B\u7537\u5B69{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}A boy child.{\\r}\r\nDialogue: 0,0:12:38.59,0:12:41.59,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u662F\u6C2A\u661F\u5E7E\u767E\u5E74\ - \u4F86\u7B2C\u4E00\u500B\u81EA\u7136\u5206\u5A29\u7684\u5B69\u5B50{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Krypton's first natural\ - \ birth in centuries.{\\r}\r\nDialogue: 0,0:12:42.56,0:12:44.26,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u5C07\u7372\u5F97\u81EA\u7531{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}And he will be free.{\\\ - r}\r\nDialogue: 0,0:12:44.76,0:12:47.24,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6C7A\u5B9A\u81EA\u5DF1\u547D\u904B\u7684\u81EA\u7531\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Free to forge his\ - \ own destiny.{\\r}\r\nDialogue: 0,0:12:48.10,0:12:49.58,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u80E1\u8AAA\u516B\u9053{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Heresy.{\\r}\r\nDialogue: 0,0:12:51.47,0:12:52.14,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u628A\u5B83\u6BC0\u4E86{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Destroy it.{\\r}\r\nDialogue: 0,0:13:45.62,0:13:46.62,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u840A\u62C9{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Lara...{\\r}\r\nDialogue: 0,0:13:46.79,0:13:48.17,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u807D\u6211\u8AAA{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}...listen to me.{\\r}\r\nDialogue: 0,0:13:48.39,0:13:52.03,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5BC6\u5178\u662F\u6C2A\u661F\u7684\u672A\ - \u4F86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The Codex\ - \ is Krypton's future.{\\r}\r\nDialogue: 0,0:13:52.29,0:13:54.74,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u53D6\u6D88\u767C\u5C04{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Abort the launch.{\\r}\r\nDialogue:\ - \ 0,0:14:13.92,0:14:15.69,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4E0D{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}No!{\\\ - r}\r\nDialogue: 0,0:14:45.61,0:14:47.49,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u840A\u62C9{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Your son, Lara...{\\r}\r\nDialogue: 0,0:14:48.18,0:14:50.69,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u628A\u4F60\u5011\u7684\u5152\u5B50\ - \u9001\u5230\u54EA\u88CF\u53BB\u4E86\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}...where have you sent him?{\\r}\r\nDialogue: 0,0:14:53.59,0:14:55.36,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u7684\u540D\u5B57{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}His name...{\\r}\r\nDialogue: 0,0:14:55.59,0:14:56.69,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u662F\u5361\u723E{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}...is Kal...{\\r}\r\nDialogue: 0,0:14:57.36,0:14:59.20,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u827E\u723E\u4E4B\u5B50{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...son of El.{\\r}\r\nDialogue: 0,0:15:02.30,0:15:05.14,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u4F11\u60F3\u627E\u5230\u4ED6{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}And he's beyond your\ - \ reach.{\\r}\r\nDialogue: 0,0:15:15.28,0:15:16.78,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u628A\u90A3\u8258\u98DB\u8239\u6253\u4E0B\ - \u4F86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Bring that\ - \ ship down.{\\r}\r\nDialogue: 0,0:15:25.12,0:15:26.90,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u76EE\u6A19\u5DF2\u9396\u5B9A{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Target locked.{\\r}\r\nDialogue:\ - \ 0,0:15:38.23,0:15:39.83,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u653E\u4E0B\u4F60\u5011\u7684\u6B66\u5668{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Lay down your weapons.{\\r}\r\nDialogue:\ - \ 0,0:15:39.93,0:15:42.01,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4F60\u5011\u5DF2\u7D93\u88AB\u5305\u570D\u4E86{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Your forces are surrounded.{\\r}\r\ - \nDialogue: 0,0:15:52.11,0:15:53.59,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F50\u5FB7\u5C07\u8ECD{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}General Zod...{\\r}\r\nDialogue: 0,0:15:53.82,0:15:56.80,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u72AF\u4E0B\u4E86\u8B00\u6BBA\u7F6A\ - \u8207\u53DB\u570B\u7F6A{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...for the crimes of murder and high treason...{\\r}\r\nDialogue: 0,0:15:56.82,0:16:01.13,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9577\u8001\u6703\u5224\u8655\u4F60\u548C\ - \u4F60\u7684\u540C\u8B00{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...the Council has sentenced you and your fellow insurgents...{\\r}\r\ - \nDialogue: 0,0:16:01.19,0:16:04.66,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u56DA\u7981\u8089\u8EAB\u4E26\u6D41\u653E300\u5E74{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...to three hundred\ - \ cycles of somatic reconditioning.{\\r}\r\nDialogue: 0,0:16:06.16,0:16:07.97,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6709\u4EC0\u9EBC\u907A\u8A00\u55CE\uFF1F\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Do you have any\ - \ last words?{\\r}\r\nDialogue: 0,0:16:11.27,0:16:12.35,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u5011\u4E0D\u6562\u89AA\u624B\u6BBA\ - \u6211\u5011{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You\ - \ won't kill us yourself!{\\r}\r\nDialogue: 0,0:16:13.70,0:16:15.84,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6015\u5F04\u9AD2\u4E86\u81EA\u5DF1\u7684\ - \u624B \u6240\u4EE5\u4F60\u5011...{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}You wouldn't sully your hands! But you'll damn us...{\\\ - r}\r\nDialogue: 0,0:16:16.10,0:16:18.28,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u628A\u6211\u5011\u6254\u5230\u9ED1\u6D1E\u88CF\u95DC\ - \u4E00\u8F29\u5B50{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...to\ - \ a black hole for eternity!{\\r}\r\nDialogue: 0,0:16:20.34,0:16:21.38,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u55AC\u2022\u827E\u723E\u8AAA\u5F97\u6C92\ - \u932F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Jor-El was\ - \ right.{\\r}\r\nDialogue: 0,0:16:21.64,0:16:25.32,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u5011\u662F\u4E00\u7FA4\u8822\u8CA8\ - \ \u6240\u6709\u4EBA\u90FD\u662F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}You're a pack of fools, every last one of you.{\\r}\r\nDialogue: 0,0:16:26.21,0:16:27.39,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}And you.{\\r}\r\nDialogue: 0,0:16:29.12,0:16:31.56,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u89BA\u5F97\u4F60\u7684\u5152\u5B50\ - \u5F88\u5B89\u5168\u55CE\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}You believe your son is safe?{\\r}\r\nDialogue: 0,0:16:32.29,0:16:33.99,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4E00\u5B9A\u6703\u627E\u5230\u4ED6\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I will find him.{\\\ - r}\r\nDialogue: 0,0:16:34.22,0:16:37.53,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u596A\u56DE\u4F60\u5F9E\u6211\u5011\u624B\u88CF\u6436\ - \u8D70\u7684\u6771\u897F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}I will reclaim what you have taken from us.{\\r}\r\nDialogue: 0,0:16:39.96,0:16:41.53,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4E00\u5B9A\u6703\u627E\u5230\u4ED6\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I will find him.{\\\ - r}\r\nDialogue: 0,0:16:42.73,0:16:45.34,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u4E00\u5B9A\u6703\u627E\u5230\u4ED6 \u840A\u62C9\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I will find him,\ - \ Lara.{\\r}\r\nDialogue: 0,0:16:47.90,0:16:50.47,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4E00\u5B9A\u6703\u627E\u5230\u4ED6\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I will find him!{\\\ - r}\r\nDialogue: 0,0:17:00.31,0:17:02.06,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u554A{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Argh!{\\r}\r\nDialogue: 0,0:18:31.67,0:18:35.51,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u840A\u62C9\u592B\u4EBA \u60A8\u4E0D\u8EB2\ - \u8D77\u4F86\u55CE\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Lady Lara, shouldn't you find refuge?{\\r}\r\nDialogue: 0,0:18:35.61,0:18:38.59,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6839\u672C\u7121\u8655\u53EF\u8EB2 \u57FA\ - \u6D1B\u723E{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}There\ - \ is no refuge, Kelor.{\\r}\r\nDialogue: 0,0:18:39.51,0:18:41.49,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u55AC\u2022\u827E\u723E\u8AAA\u5F97\u5C0D\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Jor-El was right.{\\\ - r}\r\nDialogue: 0,0:18:43.92,0:18:45.93,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6C2A\u661F\u7684\u672B\u65E5\u5230\u4E86{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}This is the end.{\\r}\r\nDialogue:\ - \ 0,0:18:57.37,0:19:00.28,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u5275\u9020\u4E00\u500B\u6BD4\u9019\u88CF\u597D\u7684\u4E16\u754C\ - \ \u5361\u723E{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Make\ - \ a better world than ours, Kal.{\\r}\r\nDialogue: 0,0:20:32.43,0:20:33.93,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u7576\u5FC3\u9EDE \u8822\u8CA8{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Watch it, dumb-ass!{\\r}\r\n\ - Dialogue: 0,0:20:34.20,0:20:37.30,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u4E0D\u7559\u5FC3\u5C31\u7B49\u8457\u88AB\u7838\u6210\u8089\ - \u9905\u5427{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Keep\ - \ your eyes open or you're gonna get squashed.{\\r}\r\nDialogue: 0,0:20:38.70,0:20:41.15,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u5011\u662F\u5728\u4EC0\u9EBC\u9B3C\ - \u5730\u65B9\u627E\u5230\u4F60\u7684 \u83DC\u9CE5\uFF1F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Where the hell did they find you,\ - \ greenhorn?{\\r}\r\nDialogue: 0,0:20:41.40,0:20:42.88,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8B93\u6211\u5011\u5728\u7A7A\u4E2D\u5F04\ - \u6389\u9019\u500B\u9677\u9631{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Let's get this trap in the air.{\\r}\r\nDialogue: 0,0:20:43.10,0:20:44.64,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5927\u5BB6\u56FA\u5B9A\u597D\u7532\u677F\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Gentlemen, secure\ - \ the deck.{\\r}\r\nDialogue: 0,0:20:44.91,0:20:47.91,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6B63\u897F\u65B9\u5411\u7684\u947D\u4E95\ - \u8655\u6709\u4EBA\u5411\u6211\u5011\u6C42\u6551{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}We just got a distress call from a rig due west of\ - \ us.{\\r}\r\nDialogue: 0,0:20:48.14,0:20:49.95,chs,,0000,0000,0000,,{\\fn\u534E\ - \u6587\u6977\u4F53\\blur3}\u56FA\u5B9A\u597D\u7532\u677F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Secure the deck.{\\r}\r\nDialogue:\ - \ 0,0:20:54.15,0:20:55.72,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u8ACB\u6240\u6709\u6C11\u7528\u8239\u96BB\u96E2\u958B{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}All civilian boats, stand clear.{\\\ - r}\r\nDialogue: 0,0:20:55.95,0:20:58.62,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6D77\u4E0B\u95A5\u9580\u5DF2\u5931\u6548 \u947D\u53F0\ - \u5FEB\u8981\u7206\u70B8\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}The sub-sea valves failed and the rig is about to explode.{\\r}\r\n\ - Dialogue: 0,0:20:58.89,0:21:01.33,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u6536\u5230 \u6D77\u5CB8\u8B66\u885B\u968A \u88AB\u56F0\u5728\ - \u88CF\u9762\u7684\u4EBA\u600E\u9EBC\u8FA6\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Roger, Coast Guard. What about the men left inside?{\\\ - r}\r\nDialogue: 0,0:21:01.46,0:21:03.80,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}- \u5225\u7BA1\u4ED6\u5011\u4E86 \u4ED6\u5011\u6D3B\u4E0D\ - \u4E86 - \u83DC\u9CE5{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}- Forget them. They're dead. - Greenhorn...{\\r}\r\nDialogue:\ - \ 0,0:21:04.06,0:21:06.10,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u628A\u6211\u7684\u671B\u9060\u93E1\u62FF\u4F86{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...fetch me my binoculars.{\\r}\r\n\ - Dialogue: 0,0:21:07.63,0:21:08.97,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u83DC\u9CE5{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Greenhorn.{\\r}\r\nDialogue: 0,0:21:17.30,0:21:20.84,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5C31\u5269\u9019\u9EDE\u6C27\u6C23\u4E86\ - \ \u6211\u4E0D\u77E5\u9053\u6211\u5011\u9084\u80FD\u6490\u591A\u4E45{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}This is the last of the\ - \ oxygen. I don't know how much longer we can hold out.{\\r}\r\nDialogue:\ - \ 0,0:21:30.39,0:21:32.26,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u9019\u88CF\u662F\u6D77\u5CB8\u8B66\u885B\u968A6510{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}This is Coast Guard 6510.{\\r}\r\n\ - Dialogue: 0,0:21:32.26,0:21:34.59,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u6211\u5011\u518D\u67E5\u770B\u4E00\u904D \u7136\u5F8C\u5C31\ - \u96E2\u958B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We'll\ - \ make one more pass then get out.{\\r}\r\nDialogue: 0,0:21:36.76,0:21:38.86,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u7B49\u7B49 \u7B49\u7B49 \u6709\u4EBA\u5728\ - \u76F4\u5347\u6A5F\u5347\u964D\u8655{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Wait, wait. I got some guys on the helipad.{\\r}\r\nDialogue:\ - \ 0,0:21:39.13,0:21:39.77,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u5C31\u5728\u9019\u88CF{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Right here!{\\r}\r\nDialogue: 0,0:21:45.27,0:21:47.14,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5FEB\u9EDE \u8D70\u554A{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Come on, come on! Let's go! Let's\ - \ go!{\\r}\r\nDialogue: 0,0:21:47.33,0:21:49.14,chs,,0000,0000,0000,,{\\fn\u534E\ - \u6587\u6977\u4F53\\blur3}- \u5FEB\u8D70 - \u8D70\u554A{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- Let's go! - Let's go!{\\r}\r\ - \nDialogue: 0,0:21:59.68,0:22:00.96,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u53EB\u6700\u5F8C\u90A3\u500B\u4EBA\u4E0A\u4F86{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Get that last guy loaded.{\\\ - r}\r\nDialogue: 0,0:22:01.12,0:22:02.49,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u5011\u5F97\u8D70\u4E86{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}We have got to go.{\\r}\r\nDialogue: 0,0:22:02.72,0:22:04.89,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5FEB\u8D70\u554A \u4F60\u5728\u5E79\u4EC0\ - \u9EBC\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Hey,\ - \ let's go. What are you doing?{\\r}\r\nDialogue: 0,0:22:10.52,0:22:11.63,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8D70 \u8D70{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Go! Go!{\\r}\r\nDialogue: 0,0:22:49.53,0:22:52.17,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u582A\u85A9\u65AF\u5DDE\u662F\u4EC0\u9EBC\ - \u6642\u5019\u8B8A\u6210\u7F8E\u570B\u9818\u571F\u7684\uFF1F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...when Kansas became a territory?{\\\ - r}\r\nDialogue: 0,0:22:53.77,0:22:54.75,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u514B\u62C9\u514B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Clark.{\\r}\r\nDialogue: 0,0:22:56.74,0:22:58.74,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u5728\u807D\u8AB2\u55CE \u514B\u62C9\ - \u514B\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Are\ - \ you listening, Clark?{\\r}\r\nDialogue: 0,0:23:02.91,0:23:06.60,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u544A\u8A34\u6211 \u8AB0\u6700\u5148\u5728\ - \u582A\u85A9\u65AF\u5DDE\u5B9A\u5C45{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}I asked if you could tell me who first settled Kansas.{\\\ - r}\r\nDialogue: 0,0:23:19.36,0:23:20.93,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F60\u6C92\u4E8B\u5427 \u514B\u62C9\u514B\uFF1F{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Are you all right, Clark?{\\\ - r}\r\nDialogue: 0,0:23:28.97,0:23:30.38,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u514B\u62C9\u514B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Clark.{\\r}\r\nDialogue: 0,0:23:31.61,0:23:32.91,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u514B\u62C9\u514B{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Clark.{\\r}\r\nDialogue: 0,0:23:36.48,0:23:37.08,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u514B\u62C9\u514B{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Clark!{\\r}\r\nDialogue: 0,0:23:41.08,0:23:42.62,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u514B\u62C9\u514B \u51FA\u4F86{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Clark, come out of there.{\\\ - r}\r\nDialogue: 0,0:23:42.88,0:23:44.23,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5225\u7BA1\u6211{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Leave me alone.{\\r}\r\nDialogue: 0,0:23:45.25,0:23:46.82,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u514B\u62C9\u514B \u6211\u5DF2\u7D93\u7D66\ - \u4F60\u5ABD\u5ABD\u6253\u96FB\u8A71\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Clark, I have called your mother.{\\r}\r\nDialogue:\ - \ 0,0:23:48.16,0:23:49.23,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u514B\u62C9\u514B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Clark?{\\r}\r\nDialogue: 0,0:23:51.06,0:23:52.16,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u554A{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Ah!{\\r}\r\nDialogue: 0,0:23:52.33,0:23:53.33,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4F86\u4E86{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}I'm here.{\\r}\r\nDialogue: 0,0:23:53.59,0:23:55.57,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u514B\u62C9\u514B \u5BF6\u8C9D \u6211\u662F\ - \u5ABD\u5ABD{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Clark,\ - \ honey, it's Mom.{\\r}\r\nDialogue: 0,0:23:57.97,0:23:59.00,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u958B\u9580\u597D\u55CE\uFF1F{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Will you open the door?{\\\ - r}\r\nDialogue: 0,0:23:59.27,0:24:01.47,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}- \u4ED6\u5230\u5E95\u6709\u4EC0\u9EBC\u6BDB\u75C5\uFF1F\ - \ - \u4ED6\u5C31\u662F\u500B\u602A\u80CE{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}- What's wrong with him? - He's such a freak.{\\\ - r}\r\nDialogue: 0,0:24:01.47,0:24:02.31,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5A18\u5011{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Crybaby.{\\r}\r\nDialogue: 0,0:24:02.57,0:24:05.02,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u7236\u6BCD\u751A\u81F3\u4E0D\u8B93\ - \u6211\u8DDF\u4ED6\u73A9{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}His parents won't even let him play with other kids.{\\r}\r\nDialogue:\ - \ 0,0:24:05.27,0:24:06.27,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u77E5\u9053{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}I know.{\\r}\r\nDialogue: 0,0:24:06.51,0:24:07.35,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5BF6\u8C9D{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Sweetie.{\\r}\r\nDialogue: 0,0:24:08.51,0:24:10.65,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u4E0D\u8B93\u6211\u9032\u53BB \u6211\ - \u600E\u9EBC\u5E6B\u4F60\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}How can I help you if you won't let me in?{\\r}\r\nDialogue: 0,0:24:10.91,0:24:13.26,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9019\u500B\u4E16\u754C\u592A\u5927\u4E86\ - \ \u5ABD\u5ABD{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The\ - \ world's too big, Mom.{\\r}\r\nDialogue: 0,0:24:13.48,0:24:15.12,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u5C31\u628A\u5B83\u8B8A\u5C0F\u9EDE\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Then make it small.{\\\ - r}\r\nDialogue: 0,0:24:17.48,0:24:18.76,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u53EA\u8981...{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Just, um...{\\r}\r\nDialogue: 0,0:24:21.59,0:24:23.39,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u96C6\u4E2D\u7CBE\u529B\u807D\u6211\u7684\ - \u8072\u97F3{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...focus\ - \ on my voice.{\\r}\r\nDialogue: 0,0:24:25.26,0:24:27.21,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u60F3\u50CF\u6709\u4E00\u5EA7\u5CF6\u5DBC\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Pretend ifs an island...{\\\ - r}\r\nDialogue: 0,0:24:27.36,0:24:29.27,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5B83\u5C31\u5728\u5927\u6D77\u4E4B\u4E2D{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...out in the ocean.{\\r}\r\ - \nDialogue: 0,0:24:30.80,0:24:32.11,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u80FD\u770B\u5230\u55CE\uFF1F{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Can you see it?{\\r}\r\nDialogue: 0,0:24:35.80,0:24:36.84,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u770B\u5230\u4E86{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I see it.{\\r}\r\nDialogue: 0,0:24:38.17,0:24:40.17,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u5C31\u5411\u5B83\u6E38\u904E\u53BB\ - \ \u5BF6\u8C9D{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Then\ - \ swim towards it, honey.{\\r}\r\nDialogue: 0,0:24:53.45,0:24:55.30,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u600E\u9EBC\u4E86 \u5ABD\u5ABD\uFF1F\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}What's wrong with\ - \ me, Mom?{\\r}\r\nDialogue: 0,0:24:57.89,0:24:59.39,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u514B\u62C9\u514B{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Clark.{\\r}\r\nDialogue: 0,0:24:59.66,0:25:01.16,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u514B\u62C9\u514B{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Clark.{\\r}\r\nDialogue: 0,0:25:29.82,0:25:31.70,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u4F60\u62FF\u5230\u6211\u8981\u7684\u6771\ - \u897F\u4E86\uFF1F - \u662F\u7684{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}- Did you get everything I need? - Yep.{\\r}\r\n\ - Dialogue: 0,0:25:31.93,0:25:33.60,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u5225\u52D5 \u5225\u52D5{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Hold it, hold it.{\\r}\r\nDialogue: 0,0:26:23.44,0:26:24.98,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8822\u86CB{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Hey, ass-wipe.{\\r}\r\nDialogue: 0,0:26:25.55,0:26:27.22,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u89BA\u5F97\u600E\u6A23\uFF1F\u4F60\ - \u770B\u4E86\u6BD4\u8CFD\u55CE\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}What do you think? You see the game?{\\r}\r\nDialogue:\ - \ 0,0:26:27.45,0:26:29.95,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}- \u5225\u800D\u4ED6 \u76AE\u7279 - \u4F60\u7B97\u54EA\u6839\u8525\ - \ \u4ED6\u7684\u5973\u670B\u53CB\u55CE\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}- Leave him alone, Pete. - What are you, his\ - \ girlfriend?{\\r}\r\nDialogue: 0,0:26:30.22,0:26:31.89,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u8981\u807D\u807D\u4ED6\u600E\u9EBC\ - \u8AAA{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I wanna hear\ - \ what he has to say.{\\r}\r\nDialogue: 0,0:26:34.25,0:26:34.93,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8AAA\u8A71\u554A{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Come on...{\\r}\r\nDialogue: 0,0:26:35.16,0:26:35.83,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u7B28\u74DC{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}...dick-splash.{\\r}\r\nDialogue: 0,0:28:16.82,0:28:17.82,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5152\u5B50\u5C31\u5728\u73FE\u5834\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}My son was there.{\\\ - r}\r\nDialogue: 0,0:28:18.06,0:28:20.27,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4ED6\u5C31\u5728\u90A3\u8F1B\u6821\u8ECA\u88CF{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}He was in the bus.{\\r}\r\ - \nDialogue: 0,0:28:20.53,0:28:23.84,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}- \u89AA\u773C\u770B\u898B\u514B\u62C9\u514B\u505A\u4E86\ - \u4EC0\u9EBC - \u6211\u77E5\u9053\u4ED6\u770B\u898B\u4E86{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- He saw what Clark did. - I\ - \ know he did.{\\r}\r\nDialogue: 0,0:28:24.26,0:28:28.27,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u4ED6\u770B\u5230\u7684\u4E00\u5B9A\u662F\ - ... - \u662F\u4E0A\u5E1D\u7684\u5B89\u6392 \u55AC\u7D0D\u68EE{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- I'm sure what he thought\ - \ he saw was... - Was an act of God, Jonathan.{\\r}\r\nDialogue: 0,0:28:29.34,0:28:31.71,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u662F\u5929\u610F{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}This was providence.{\\r}\r\nDialogue:\ - \ 0,0:28:35.44,0:28:37.51,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u89BA\u5F97\u4F60\u9019\u6A23\u8AAA\u6709\u9EDE\u8A87\u5F35\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I think you're blowing\ - \ it out of proportion.{\\r}\r\nDialogue: 0,0:28:37.74,0:28:41.02,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u6C92\u8A87\u5F35 \u62C9\u5A1C\u4E5F\ - \u770B\u898B\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}No,\ - \ I'm not. Lana saw it too.{\\r}\r\nDialogue: 0,0:28:41.25,0:28:42.25,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u500B\u53EB\u798F\u7279\u66FC\u7684\ - \u7537\u5B69\u4E5F\u770B\u898B\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}And the Fordham boy.{\\r}\r\nDialogue: 0,0:28:42.52,0:28:43.72,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9019\u4E5F\u4E0D\u662F\u7B2C\u4E00\u6B21\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}This isn't the first\ - \ time...{\\r}\r\nDialogue: 0,0:28:43.95,0:28:46.50,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u514B\u62C9\u514B\u505A\u51FA\u9019\u7A2E\ - \u4E8B\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...Clark's\ - \ done something like this.{\\r}\r\nDialogue: 0,0:29:01.24,0:29:03.08,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u53EA\u662F\u60F3\u5E6B\u5FD9{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I just wanted to help.{\\\ - r}\r\nDialogue: 0,0:29:03.54,0:29:06.28,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u77E5\u9053 \u4F46\u6211\u5011\u8AC7\u904E\u9019\ - \u500B\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I know\ - \ you did, but we talked about this.{\\r}\r\nDialogue: 0,0:29:06.54,0:29:07.81,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5C0D\u5427\uFF1F{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Right?{\\r}\r\nDialogue: 0,0:29:08.28,0:29:10.98,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5C0D\u5427 \u6211\u5011\u8AC7\u904E\u4E86\ - \ \u4F60...{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Right?\ - \ We talked about this. You have...{\\r}\r\nDialogue: 0,0:29:11.48,0:29:14.93,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u514B\u62C9\u514B \u4F60\u4E0D\u80FD\u8B93\ - \u5225\u4EBA\u77E5\u9053\u4F60\u7684\u9019\u4E00\u9762{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Clark, you have to keep this side\ - \ of yourself a secret.{\\r}\r\nDialogue: 0,0:29:15.38,0:29:19.26,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u6211\u8A72\u600E\u9EBC\u8FA6\uFF1F\ - \u770B\u8457\u4ED6\u5011\u6B7B\u6389\u55CE\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}What was I supposed to do? Just let them die?{\\\ - r}\r\nDialogue: 0,0:29:24.06,0:29:25.47,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4E5F\u8A31\u5427{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Maybe.{\\r}\r\nDialogue: 0,0:29:27.39,0:29:29.76,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5371\u5728\u65E6\u5915\u7684\u4E0D\u53EA\ - \u662F\u6211\u5011\u7684\u6027\u547D \u514B\u62C9\u514B{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}There's more at stake here than just\ - \ our lives, Clark,{\\r}\r\nDialogue: 0,0:29:29.76,0:29:31.80,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E5F\u4E0D\u53EA\u662F\u6211\u5011\u5468\ - \u570D\u4EBA\u7684\u6027\u547D{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}or the lives of those around us.{\\r}\r\nDialogue: 0,0:29:34.33,0:29:35.75,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5982\u679C\u9019\u500B\u4E16\u754C{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}When the world...{\\\ - r}\r\nDialogue: 0,0:29:36.67,0:29:40.68,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u77E5\u9053\u4E86\u4F60\u7684\u80FD\u529B \u4E00\u5207\ - \u90FD\u5C07\u6539\u8B8A \u5305\u62EC\u6211\u5011\u7684...{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}When the world finds out what you\ - \ can do it's gonna change everything. Our...{\\r}\r\nDialogue: 0,0:29:40.94,0:29:43.51,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5011\u7684\u4FE1\u4EF0...{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Our beliefs, our notions\ - \ of...{\\r}\r\nDialogue: 0,0:29:43.78,0:29:46.49,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5C0D\u4EBA\u985E\u7684\u6982\u5FF5 \u4E00\ - \u5207{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...what it\ - \ means to be human. Everything.{\\r}\r\nDialogue: 0,0:29:46.75,0:29:49.52,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u770B\u5230\u4E86\u76AE\u7279\u5ABD\ - \u5ABD\u7684\u53CD\u61C9\u5427\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}You saw how Pete's mom reacted, right?{\\r}\r\nDialogue:\ - \ 0,0:29:49.78,0:29:51.99,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u5979\u5F88\u5BB3\u6015 \u514B\u62C9\u514B{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}She was scared, Clark.{\\r}\r\nDialogue:\ - \ 0,0:29:53.12,0:29:53.96,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u70BA\u4EC0\u9EBC\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Why?{\\r}\r\nDialogue: 0,0:29:55.82,0:29:58.67,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4EBA\u5011\u5BB3\u6015\u4ED6\u5011\u4E0D\ - \u77AD\u89E3\u7684\u6771\u897F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}People are afraid of what they don't understand.{\\r}\r\nDialogue: 0,0:29:58.93,0:29:59.84,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5979\u8AAA\u5F97\u5C0D\u55CE\uFF1F{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Is she right?{\\r}\r\ - \nDialogue: 0,0:30:01.96,0:30:04.31,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u662F\u4E0A\u5E1D\u628A\u6211\u8B8A\u6210\u9019\u6A23\ - \u7684\u55CE\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Did\ - \ God do this to me?{\\r}\r\nDialogue: 0,0:30:05.37,0:30:06.87,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u544A\u8A34\u6211{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Tell me.{\\r}\r\nDialogue: 0,0:30:21.65,0:30:23.92,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u662F\u6211\u5011\u5728\u9019\u500B\ - \u6771\u897F\u88CF\u627E\u5230\u7684{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}We found you in this.{\\r}\r\nDialogue: 0,0:30:25.29,0:30:28.23,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5011\u4EE5\u70BA\u653F\u5E9C\u4E00\ - \u5B9A\u6703\u4F86\u627E\u6211\u5011{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}We were sure the government was gonna show up on our doorstep...{\\\ - r}\r\nDialogue: 0,0:30:28.49,0:30:30.47,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F46\u4E00\u76F4\u6C92\u4EBA\u4F86{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...but no one ever came.{\\r}\r\n\ - Dialogue: 0,0:30:44.97,0:30:47.44,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u9019\u500B\u548C\u4F60\u4E00\u6A23 \u4E5F\u662F\u5728\u88CF\ - \u9762\u627E\u5230\u7684{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}This was in that chamber with you.{\\r}\r\nDialogue: 0,0:30:49.18,0:30:52.30,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u628A\u5B83\u62FF\u7D66\u582A\u85A9\ - \u65AF\u5DDE\u7684\u4E00\u500B\u51B6\u91D1\u5B78\u5BB6\u770B{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I took it to a metallurgist at Kansas\ - \ State.{\\r}\r\nDialogue: 0,0:30:52.38,0:30:54.99,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u8AAA \u88FD\u6210\u5B83\u7684\u6750\ - \u6599\u751A\u81F3...{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}He said whatever it was made from didn't even...{\\r}\r\nDialogue: 0,0:30:55.92,0:30:58.69,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u751A\u81F3\u4E0D\u5B58\u5728\u65BC\u5143\ - \u7D20\u9031\u671F\u8868\u4E0A{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Didn't even exist on the periodic table.{\\r}\r\nDialogue: 0,0:31:00.65,0:31:01.89,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u610F\u601D\u662F\u8AAA{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}That's another way of saying...{\\\ - r}\r\nDialogue: 0,0:31:02.06,0:31:04.33,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5B83\u4E0D\u4F86\u81EA\u65BC\u9019\u500B\u4E16\u754C\ - \ \u514B\u62C9\u514B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...that\ - \ it's not from this world, Clark.{\\r}\r\nDialogue: 0,0:31:06.43,0:31:07.70,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u4E5F\u4E00\u6A23{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}And neither are you.{\\r}\r\nDialogue:\ - \ 0,0:31:10.40,0:31:11.93,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4F60\u5C31\u662F\u7B54\u6848 \u5152\u5B50{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}You're the answer, son.{\\r}\r\nDialogue:\ - \ 0,0:31:12.20,0:31:15.38,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\"\u4EBA\u985E\u662F\u5426\u5B64\u7368\u5730\u5B58\u5728\u65BC\u5B87\ - \u5B99\u4E2D\"\u7684\u7B54\u6848{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}You're the answer to \"Are we alone in the universe?\"{\\r}\r\nDialogue:\ - \ 0,0:31:16.74,0:31:18.18,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u4E0D\u60F3\u7576\u9019\u500B\u7B54\u6848{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I don't wanna be.{\\r}\r\nDialogue:\ - \ 0,0:31:18.41,0:31:20.28,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u4E0D\u602A\u4F60 \u5152\u5B50{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}And I don't blame you, son.{\\r}\r\nDialogue: 0,0:31:20.87,0:31:23.58,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E00\u822C\u4EBA\u96E3\u4EE5\u80CC\u8CA0\ - \u9019\u7A2E\u91CD\u64D4{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}It'd be a huge burden for anyone to bear.{\\r}\r\nDialogue: 0,0:31:23.84,0:31:27.26,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F46\u4F60\u4E0D\u662F\u4E00\u822C\u4EBA\ - \ \u514B\u62C9\u514B \u800C\u4E14\u6211\u5FC5\u9808\u76F8\u4FE1\u4F60{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}But you're not just anyone,\ - \ Clark, and I have to believe that you were...{\\r}\r\nDialogue: 0,0:31:28.42,0:31:30.26,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u88AB\u9001\u4F86\u9019\u88CF\u662F\ - \u6709\u539F\u56E0\u7684{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}That you were sent here for a reason.{\\r}\r\nDialogue: 0,0:31:31.52,0:31:34.09,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u6240\u7D93\u6B77\u7684\u9019\u4E9B\ - \u6539\u8B8A \u7D42\u6709\u4E00\u5929...{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}All these changes that you're going through, one\ - \ day...{\\r}\r\nDialogue: 0,0:31:34.35,0:31:37.70,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u6703\u89BA\u5F97\u5B83\u5011\u662F\ - \u4E0A\u5E1D\u7684\u6069\u8CDC \u7576\u90A3\u4E00\u5929\u5230\u4F86...{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}One day you're gonna\ - \ think of them as a blessing. When that day comes...{\\r}\r\nDialogue: 0,0:31:37.92,0:31:39.37,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u5C31\u5FC5\u9808\u4F5C\u51FA\u9078\ - \u64C7{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...you have\ - \ to make a choice.{\\r}\r\nDialogue: 0,0:31:39.59,0:31:44.30,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u662F\u5426\u8981\u5728\u4EBA\u985E\u9762\ - \u524D\u9A55\u50B2\u5730\u633A\u8EAB\u800C\u51FA{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}A choice of whether to stand proud in front of the\ - \ human race or not.{\\r}\r\nDialogue: 0,0:31:45.37,0:31:48.04,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5C31\u4E0D\u80FD\u7E7C\u7E8C\u5047\ - \u88DD\u662F\u60A8\u7684\u5152\u5B50\u55CE\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Can't I just keep pretending I'm your son?{\\r}\r\ - \nDialogue: 0,0:31:48.74,0:31:50.65,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F60\u5C31\u662F\u6211\u5152\u5B50{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You are my son.{\\r}\r\nDialogue:\ - \ 0,0:31:55.11,0:31:57.11,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4F46\u5728\u67D0\u500B\u5730\u65B9{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}But somewhere out there you've...{\\r}\r\nDialogue:\ - \ 0,0:31:57.81,0:32:01.05,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4F60\u9084\u6709\u53E6\u5916\u4E00\u500B\u7236\u89AA \u4ED6\u7D66\ - \u4E86\u4F60\u53E6\u5916\u4E00\u500B\u540D\u5B57{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}You have another father too, who gave you another\ - \ name.{\\r}\r\nDialogue: 0,0:32:04.12,0:32:07.30,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u51FA\u65BC\u67D0\u7A2E\u539F\u56E0 \u4ED6\ - \u628A\u4F60\u9001\u5230\u4E86\u9019\u88CF{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}And he sent you here for a reason, Clark.{\\r}\r\n\ - Dialogue: 0,0:32:08.76,0:32:12.43,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u5C31\u7B97\u8981\u82B1\u4E00\u8F29\u5B50\u7684\u6642\u9593\ - \ \u4F60\u4E5F\u8981\u70BA\u81EA\u5DF1...{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}And even if it takes you the rest of your life, you\ - \ owe it to yourself...{\\r}\r\nDialogue: 0,0:32:12.66,0:32:14.80,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u627E\u5230\u90A3\u500B\u539F\u56E0{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...to find out what\ - \ that reason is.{\\r}\r\nDialogue: 0,0:32:23.00,0:32:26.85,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u88AB\u72C2\u71B1\u7684\u617E\u671B\u6240\ - \u675F\u7E1B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Bound\ - \ by wild desire{\\r}\r\nDialogue: 0,0:32:27.07,0:32:30.11,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u6389\u9032\u4E86\u706B\u5708{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I fell into a ring\ - \ of fire{\\r}\r\nDialogue: 0,0:32:30.28,0:32:32.45,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u7B49\u4E00\u4E0B \u4F60\u4F86\u9019\u5152\ - \u4E0D\u662F\u70BA\u4E86\u935B\u7149\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Wait a second. Aren't you here for the exercise?{\\\ - r}\r\nDialogue: 0,0:32:32.68,0:32:34.40,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4E0D \u90A3\u662F\u5728\u6539\u8B8A\u8A08\u5283{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}No, there was a change\ - \ in the plans.{\\r}\r\nDialogue: 0,0:32:34.61,0:32:37.20,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u807D\u8AAA\u6709\u4EBA\u5728\u57C3\u723E\ - \u65AF\u7C73\u723E\u627E\u5230\u4E9B\u5947\u602A\u7684\u6771\u897F{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Somebody found something\ - \ strange on Ellesmere.{\\r}\r\nDialogue: 0,0:32:37.25,0:32:38.91,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u7A7A\u4E2D\u5075\u5BDF\u6A5F\u5DF2\u7D93\ - \u5728\u90A3\u88CF\u98DB\u4E86\u4E00\u500B\u661F\u671F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Aircom's making runs out there all\ - \ week.{\\r}\r\nDialogue: 0,0:32:38.91,0:32:39.92,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u500B\u8001\u9F20\u6D1E\u55CE\uFF1F\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}That rat hole?{\\\ - r}\r\nDialogue: 0,0:32:40.15,0:32:42.26,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}- \u4F60\u958B\u73A9\u7B11\u7684\u5427 - \u4E0D\u53EF\ - \u601D\u8B70 \u5C0D\u5427{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}- You gotta be kidding me. - I know. It's crazy.{\\r}\r\nDialogue:\ - \ 0,0:32:42.49,0:32:44.20,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u8A31\u591A\u7F8E\u570B\u4EBA\u4E5F\u53BB\u4E86\u90A3\u88CF{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The Americans are there\ - \ too, lots of them.{\\r}\r\nDialogue: 0,0:32:44.46,0:32:47.29,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9084\u6709\u5225\u7684\u55CE\uFF1F\u4ED6\ - \u5011\u7BA1\u5B83\u53EB\u7570\u5E38\u7269\u9AD4{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Anything else? They're calling it an anomalous object.{\\\ - r}\r\nDialogue: 0,0:32:47.29,0:32:49.54,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}- \u4E5F\u4E0D\u77E5\u9053\u4EC0\u9EBC\u610F\u601D -\ - \ \u8D70\u958B \u62C9\u5FB7\u6D1B \u6211\u8A8D\u771F\u7684{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- Whatever that means. - Back\ - \ off, Ludlow. I'm serious.{\\r}\r\nDialogue: 0,0:32:49.80,0:32:51.64,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u5225\u4ECB \u514B\u9E97\u831C - \u4F4F\ - \u624B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- Oh, come\ - \ on, Chrissy. - Knock it off.{\\r}\r\nDialogue: 0,0:32:51.83,0:32:53.28,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u5750\u4E0B - \u653E\u6211\u8D70{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- Sit down. -\ - \ Let me go.{\\r}\r\nDialogue: 0,0:32:53.50,0:32:55.57,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u653E\u958B\u5979 \u54E5\u5011{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Hey. Leave her alone, man.{\\\ - r}\r\nDialogue: 0,0:32:59.51,0:33:01.21,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4E0D\u653E\u53C8\u600E\u6A23 \u786C\u6F22\uFF1F{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Or what, tough guy?{\\\ - r}\r\nDialogue: 0,0:33:01.78,0:33:05.69,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4E0D\u653E\u5C31\u53EA\u80FD\u8ACB\u4F60\u96E2\u958B\ - \u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Or I'm gonna\ - \ have to ask you to leave.{\\r}\r\nDialogue: 0,0:33:06.38,0:33:09.95,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u89BA\u5F97\u6211\u60F3\u8D70\u7684\ - \u6642\u5019\u624D\u6703\u8D70{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}I think I'll probably just leave when I'm good and ready.{\\r}\r\nDialogue:\ - \ 0,0:33:19.39,0:33:21.07,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4F86\u52C1\u4E86\u55CE\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Oh, there he is.{\\r}\r\nDialogue: 0,0:33:28.37,0:33:30.37,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u72AF\u4E0D\u4E0A \u89AA\u611B\u7684{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}It's not worth it,\ - \ sweetie.{\\r}\r\nDialogue: 0,0:33:38.51,0:33:40.89,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6DF7\u86CB \u5225\u5FD8\u4E86\u4F60\u7684\ - \u5C0F\u8CBB{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Hey,\ - \ asshole, don't forget your tip.{\\r}\r\nDialogue: 0,0:33:43.05,0:33:44.86,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u53BB\u5427{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Strike.{\\r}\r\nDialogue: 0,0:34:35.40,0:34:36.81,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8B1D\u8B1D{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Thanks.{\\r}\r\nDialogue: 0,0:34:37.64,0:34:38.88,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u55E8{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Hi.{\\r}\r\nDialogue: 0,0:34:39.11,0:34:40.81,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u84EE\u6069\u5C0F\u59D0 \u4F60\u597D\u55CE\ - \uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Miss Lane.\ - \ How you doing?{\\r}\r\nDialogue: 0,0:34:41.07,0:34:43.28,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u4F60\u597D - \u6211\u662F\u5091\u5FB7\ - \u2022\u5C24\u73ED\u514B\u65AF \u4F86\u81EA\u5317\u6975\u8CA8\u904B{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- Good. - Jed Eubanks,\ - \ Arctic Cargo.{\\r}\r\nDialogue: 0,0:34:43.54,0:34:45.78,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9019\u96E2\u99D0\u5730\u6709\u591A\u9060\ - \uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}How far to\ - \ the station?{\\r}\r\nDialogue: 0,0:34:46.25,0:34:49.32,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u5BBF\u71DF\u5730\u5C31\u5728\u4E0A\u9762\ - \ \u6211\u966A\u4F60\u8D70\u904E\u53BB - \u592A\u597D\u4E86{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- Camp's just over the rise. I'll\ - \ walk you over. - Great.{\\r}\r\nDialogue: 0,0:34:49.58,0:34:51.79,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u55AC\u53EF\u4EE5\u5E6B\u4F60\u62FF\u5305\ - \ \u55AC{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Joe can\ - \ take your bags. Joe.{\\r}\r\nDialogue: 0,0:34:52.05,0:34:53.29,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F86\u5E6B\u5E6B\u5FD9{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Help her out.{\\r}\r\nDialogue: 0,0:34:53.55,0:34:56.06,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5C0F\u5FC3\u9EDE \u90A3\u4E9B\u6771\u897F\ - \u5F88\u91CD{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Careful\ - \ with those. They're heavy.{\\r}\r\nDialogue: 0,0:34:58.49,0:35:00.13,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5F97\u627F\u8A8D \u84EE\u6069\u5C0F\ - \u59D0{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I gotta confess,\ - \ Miss Lane...{\\r}\r\nDialogue: 0,0:35:00.39,0:35:03.24,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4E0D\u662F\u300A\u661F\u7403\u65E5\ - \u5831\u300B\u7684\u5FE0\u5BE6\u89C0\u773E{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}...I'm not a fan of the Daily Planet.{\\r}\r\nDialogue:\ - \ 0,0:35:03.63,0:35:07.60,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4F46\u4F60\u6F5B\u5165\u7B2C\u4E00\u5E2B\u6642\u5BEB\u7684\u90A3\ - \u4E9B\u6587\u7AE0\u90FD...{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}But those pieces you wrote when you were embedded with the 1st Division\ - \ were...{\\r}\r\nDialogue: 0,0:35:07.83,0:35:09.68,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8B93\u6211\u5370\u8C61\u5341\u5206\u6DF1\ - \u523B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Well, they\ - \ were pretty impressive.{\\r}\r\nDialogue: 0,0:35:09.94,0:35:14.51,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u80FD\u8AAA\u4EC0\u9EBC\u5462\uFF1F\ - \u4E0D\u7A7F\u8ECD\u670D\u7684\u6642\u5019\u6211\u5C31\u5F97\u5BEB\u5C08\u6B04\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Well, what can I\ - \ say? I get writer's block if I'm not wearing a flak jacket.{\\r}\r\nDialogue:\ - \ 0,0:35:19.61,0:35:20.61,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u84EE\u6069\u5C0F\u59D0{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Miss Lane.{\\r}\r\nDialogue: 0,0:35:20.85,0:35:23.00,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u662F\u7F8E\u570B\u5317\u65B9\u53F8\ - \u4EE4\u90E8\u7684\u54C8\u8FEA\u4E0A\u6821 {\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}I'm Colonel Hardy, U.S. Northcom. {\\r}\r\nDialogue:\ - \ 0,0:35:23.00,0:35:24.85,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u9019\u4F4D\u662F\u9AD8\u7D1A\u7814\u7A76\u8A08\u5283\u5C40\u7684\ - \u57C3\u7C73\u723E\u535A\u58EB{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Dr. Emil Hamilton from DARPA.{\\r}\r\nDialogue: 0,0:35:25.12,0:35:26.29,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u4F60\u4F86\u65E9\u4E86 - \u55E8{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- You're early. \ - \ - Hi.{\\r}\r\nDialogue: 0,0:35:26.52,0:35:28.00,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5011\u4EE5\u70BA\u4F60\u660E\u5929\ - \u624D\u5230{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We were\ - \ expecting you tomorrow.{\\r}\r\nDialogue: 0,0:35:28.25,0:35:30.70,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6240\u4EE5\u6211\u624D\u4ECA\u5929\u4F86\ - \u7684{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Which is why\ - \ I showed up today.{\\r}\r\nDialogue: 0,0:35:31.36,0:35:33.53,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5011\u6709\u53E5\u8A71\u5F97\u8AAA\ - \u5728\u524D\u982D \u597D\u55CE\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Look, let's get one thing straight, guys, okay?{\\r}\r\n\ - Dialogue: 0,0:35:33.79,0:35:35.01,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u6211\u5728\u9019\u7684\u552F\u4E00\u539F\u56E0\u662F{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The only reason I'm here\ - \ is{\\r}\r\nDialogue: 0,0:35:35.01,0:35:36.64,chs,,0000,0000,0000,,{\\fn\u534E\ - \u6587\u6977\u4F53\\blur3}\u6211\u5011\u5728\u52A0\u62FF\u5927\u570B\u5883\ - \u5167\u53D7\u7406\u4E0A\u8A34\u7684\u6CD5\u5EAD{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}because we're on Canadian soil...{\\r}\r\nDialogue:\ - \ 0,0:35:36.86,0:35:40.31,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u99C1\u56DE\u4E86\u4F60\u5011\u8D95\u6211\u8D70\u7684\u7981\u4EE4\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...and the appellate\ - \ court overruled your injunction to keep me away.{\\r}\r\nDialogue: 0,0:35:40.53,0:35:42.67,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u9EBC \u4F60\u5982\u679C\u73A9\u86CB\ - \u73A9\u5920\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}So\ - \ if we're done measuring dicks...{\\r}\r\nDialogue: 0,0:35:42.94,0:35:45.28,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u80FD\u6D3E\u4EBA\u5E36\u6211\u770B\u770B\ - \u4F60\u5011\u7684\u767C\u73FE\u55CE\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}...can you have your people show me what you found?{\\\ - r}\r\nDialogue: 0,0:35:47.34,0:35:50.70,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u7F8E\u570B\u822A\u7A7A\u822A\u5929\u5C40\u7684\u7DCA\ - \u6025\u6551\u63F4\u885B\u661F\u9996\u5148\u767C\u73FE\u7570\u5E38{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}NASA's EOS satellites pinged\ - \ the anomaly first.{\\r}\r\nDialogue: 0,0:35:50.71,0:35:53.19,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u51B0\u67B6\u7684\u56DE\u8072\u63A2\u6E2C\ - \u986F\u793A\u5F88\u6DF7\u4E82{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}The ice shelf plays hell on the echo soundings.{\\r}\r\nDialogue: 0,0:35:53.45,0:35:55.30,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F46\u90A3\u88CF\u7D55\u5C0D\u6709\u6771\ - \u897F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}But there's\ - \ something there.{\\r}\r\nDialogue: 0,0:35:55.30,0:35:57.00,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8AAA\u4E0D\u5B9A\u662F\u8607\u806F\u6642\ - \u4EE3\u7684\u6F5B\u8247\u5462\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3} A submarine, maybe? Soviet-era?{\\r}\r\nDialogue: 0,0:35:57.05,0:35:58.65,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E0D\u4E00\u5B9A \u90A3\u73A9\u610F\u4E09\ - \u767E\u7C73\u9577{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Doubtful.\ - \ That's 300 meters.{\\r}\r\nDialogue: 0,0:35:58.89,0:36:01.87,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6BD4\u6211\u5011\u90A3\u6642\u5019\u80FD\ - \u5EFA\u51FA\u4F86\u7684\u6771\u897F\u5927\u591A\u4E86{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Considerably larger than anything\ - \ we know they built back then.{\\r}\r\nDialogue: 0,0:36:02.12,0:36:03.36,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F46\u662F\u8A6D\u7570\u7684\u5730\u65B9\ - \u5728\u9019{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}But\ - \ herds the spooky pan.{\\r}\r\nDialogue: 0,0:36:04.56,0:36:07.04,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u6771\u897F\u5468\u570D\u8986\u84CB\ - \u7684\u51B0{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The\ - \ ice surrounding the object...{\\r}\r\nDialogue: 0,0:36:07.29,0:36:10.87,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5927\u6982\u5728\u4E0A\u9762\u6709\u5169\ - \u842C\u5E74\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...it's\ - \ nearly twenty thousand years old.{\\r}\r\nDialogue: 0,0:36:11.83,0:36:12.67,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u84EE\u6069\u5C0F\u59D0{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Miss Lane?{\\r}\r\nDialogue: 0,0:36:14.03,0:36:15.31,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5225\u4E82\u8D70 \u9019\u88CF\u5230\u4E86\ - \u534A\u591C{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Try\ - \ not to wander.{\\r}\r\nDialogue: 0,0:36:15.54,0:36:18.64,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6EAB\u5EA6\u6703\u964D\u5230\u96F6\u4E0B\ - 40\u5EA6{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Temperatures\ - \ drop to minus 40 at night around here.{\\r}\r\nDialogue: 0,0:36:18.87,0:36:21.15,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6625\u5929\u904E\u5B8C\u4E86\u624D\u80FD\ - \u627E\u5230\u4F60\u7684\u5C4D\u9AD4{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Wouldn't find your body till after spring.{\\r}\r\nDialogue:\ - \ 0,0:36:24.14,0:36:25.65,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u90A3\u5C31\u9019\u6A23\u5427{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}And there you go.{\\r}\r\nDialogue: 0,0:36:29.22,0:36:30.69,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u60F3\u89E3\u624B\u600E\u9EBC\u8FA6\ - \uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}What if I\ - \ need to tinkle?{\\r}\r\nDialogue: 0,0:36:31.38,0:36:33.02,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u89D2\u843D\u88CF\u6709\u500B\u6876{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}There's a bucket in\ - \ the corner.{\\r}\r\nDialogue: 0,0:37:07.22,0:37:09.39,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u5230\u5E95\u8981\u53BB\u54EA\u5152\ - \uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Where the\ - \ hell are you going?{\\r}\r\nDialogue: 0,0:39:18.72,0:39:20.10,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u597D\uFF1F{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Hello?{\\r}\r\nDialogue: 0,0:40:55.58,0:40:59.19,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6C92\u4E8B\u4E86 \u6C92\u4E8B\u4E86 \u6C92\ - \u4E8B\u4E86 \u6C92\u4E8B\u7684{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}It's all right, it's all right, it's all right. It's all right.{\\r}\r\ - \nDialogue: 0,0:41:13.00,0:41:14.88,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F60\u5167\u51FA\u8840\u4E86{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}You're hemorrhaging internally...{\\r}\r\ - \nDialogue: 0,0:41:15.13,0:41:17.51,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u8981\u662F\u73FE\u5728\u6211\u4E0D\u6B62\u8840{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...and if I don't cauterize\ - \ this bleed...{\\r}\r\nDialogue: 0,0:41:18.67,0:41:19.34,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u600E\u9EBC\u80FD\u2026\uFF1F{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}How can...?{\\r}\r\nDialogue:\ - \ 0,0:41:19.61,0:41:22.14,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u6709\u5E38\u4EBA\u6C92\u6709\u7684\u80FD\u529B{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I can do things that other\ - \ people can't.{\\r}\r\nDialogue: 0,0:41:23.14,0:41:24.28,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6293\u4F4F\u6211\u7684\u624B{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Now hold my hand.{\\r}\r\n\ - Dialogue: 0,0:41:25.11,0:41:26.68,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u6703\u75BC\u7684{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}This is gonna hurt.{\\r}\r\nDialogue: 0,0:42:28.37,0:42:30.51,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u54C8\u8FEA\u4E0A\u6821\u548C\u4ED6\u7684\ - \u5718\u968A{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}What\ - \ Colonel Hardy and his team surmised...{\\r}\r\nDialogue: 0,0:42:30.74,0:42:32.25,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u731C\u6E2C\u9019\u6703\u662F\u4E00\u8258\ - \u8607\u806F\u6642\u4EE3\u7684\u6F5B\u8247{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}...was a Soviet-era submarine...{\\r}\r\nDialogue:\ - \ 0,0:42:32.51,0:42:34.96,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u5B83\u7684\u771F\u9762\u76EE\u537B\u66F4\u52A0\u5947\u7279{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...was actually something\ - \ much more exotic.{\\r}\r\nDialogue: 0,0:42:35.21,0:42:39.06,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5468\u570D\u51B0\u5B54\u7684\u540C\u4F4D\ - \u7D20\u5206\u6790\u8868\u660E...{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}An isotope analysis of the surrounding ice bores suggests that an object...{\\\ - r}\r\nDialogue: 0,0:42:39.29,0:42:43.13,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u8A72\u7269\u9AD4\u5DF2\u88AB\u56F0\u65BC\u51B0\u5DDD\ - \u4E4B\u4E2D\u8D85\u904E\u4E00\u842C\u516B\u5343\u5E74{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...had been trapped in the glacier\ - \ for over 18,000 years.{\\r}\r\nDialogue: 0,0:42:43.39,0:42:44.93,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u800C\u6551\u6211\u7684\u4EBA{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}As for my rescuer?{\\r}\r\n\ - Dialogue: 0,0:42:45.19,0:42:47.57,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u5728\u8A72\u7269\u9AD4\u8D77\u98DB\u7684\u540C\u6642\u6D88\ - \u5931\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}He disappeared\ - \ during the object's departure...{\\r}\r\nDialogue: 0,0:42:47.96,0:42:50.37,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u80CC\u666F\u8ABF\u67E5\u767C\u73FE \u4ED6\ - \u7684\u5DE5\u4F5C\u6B77\u53F2...{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}A background check revealed that his work history...{\\r}\r\nDialogue:\ - \ 0,0:42:50.60,0:42:52.70,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u548C\u8EAB\u4EFD\u5747\u70BA\u507D\u9020{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}...and identity had been falsified.{\\\ - r}\r\nDialogue: 0,0:42:52.93,0:42:54.81,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u95DC\u65BC\u6551\u6211\u7684\u4EBA{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The questions raised by my rescuer's...{\\\ - r}\r\nDialogue: 0,0:42:55.07,0:42:56.91,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5B58\u5728\u8207\u5426\u7684\u8003\u91CF\u78BA\u5BE6\ - \u9A5A\u4EBA{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...existence\ - \ are frightening to contemplate...{\\r}\r\nDialogue: 0,0:42:57.14,0:43:00.42,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F46\u6211\u4E5F\u77E5\u9053\u81EA\u5DF1\ - \u6240\u898B\u5C6C\u5BE6{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...but I also know what I saw.{\\r}\r\nDialogue: 0,0:43:00.71,0:43:03.28,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u56E0\u6B64\u6211\u5F97\u51FA\u4E86\u4E00\ - \u500B\u5FC5\u7136\u7684\u7D50\u8AD6{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}\"And I have arrived at the inescapable conclusion...{\\\ - r}\r\nDialogue: 0,0:43:03.54,0:43:05.55,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5373\u8A72\u7269\u9AD4\u8207\u5B83\u7684\u4E58\u5750\ - \u8005{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...that the\ - \ object and its occupant...{\\r}\r\nDialogue: 0,0:43:05.78,0:43:08.32,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E26\u975E\u5730\u7403\u7522\u7269{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...did not originate\ - \ on Earth.\"{\\r}\r\nDialogue: 0,0:43:09.45,0:43:12.76,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9019\u6A23\u6C92\u6CD5\u4E0A\u5831 \u88CF\ - \u9762\u53EF\u80FD\u6709\u4E00\u534A\u662F\u4F60\u7684\u5E7B\u89BA{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I can't print this, Lois.\ - \ You might have hallucinated half of it.{\\r}\r\nDialogue: 0,0:43:12.99,0:43:15.98,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u53EF\u5E73\u6C11\u627F\u5305\u5546\u8B49\ - \u5BE6\u4E86\u6211\u7684\u6545\u4E8B\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}What about the contractors who corroborated my story?{\\\ - r}\r\nDialogue: 0,0:43:15.98,0:43:18.50,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4E94\u89D2\u5927\u6A13\u5426\u8A8D\u6709\u8239\u7684\ - \u5B58\u5728{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The\ - \ Pentagon is denying that there was a ship.{\\r}\r\nDialogue: 0,0:43:18.76,0:43:20.60,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u5011\u7576\u7136\u5426\u8A8D \u4ED6\ - \u5011\u5C31\u8A72\u5426\u8A8D{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Of course they are. They're supposed to.{\\r}\r\nDialogue: 0,0:43:20.83,0:43:22.33,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u56E0\u70BA\u4ED6\u5011\u662F\u4E94\u89D2\ - \u5927\u6A13{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}It's\ - \ the Pentagon.{\\r}\r\nDialogue: 0,0:43:22.60,0:43:24.27,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F69\u88CF \u62DC\u8A17 \u6211\u5011\u8AAA\ - \u7684\u53EF\u662F\u6211{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Perry,come on, it's me we're talking about.{\\r}\r\nDialogue: 0,0:43:24.50,0:43:27.17,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u6211\u662F\u4E00\u500B\u666E\u5229\u7B56\ - \u734E\u7372\u734E\u8A18\u8005 - \u90A3\u5C31\u6709\u9EDE\u540D\u8A18\u8005\ - \u6A23{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- I'm a Pulitzer\ - \ Prize-winning reporter. - Then act like it.{\\r}\r\nDialogue: 0,0:43:27.43,0:43:29.57,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u4E0D\u5831\u51FA\u53BB\u6211\u5C31\u8FAD\ - \u8077 - \u8D70\u4E0D\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}- Print it or I walk. - You can't.{\\r}\r\nDialogue: 0,0:43:29.80,0:43:30.84,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u7C3D\u4E86\u5408\u540C\u7684{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You're under contract.{\\\ - r}\r\nDialogue: 0,0:43:33.31,0:43:37.31,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u4E0D\u6703\u5831\u9053\u5916\u661F\u4EBA\u96B1\ - \u85CF\u65BC\u5C0B\u5E38\u4EBA\u4E4B\u4E2D\u7684\u6545\u4E8B{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I'm not running a story about aliens\ - \ walking among us.{\\r}\r\nDialogue: 0,0:43:43.62,0:43:45.19,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u7D55\u5C0D\u4E0D\u6703{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Never gonna happen.{\\r}\r\nDialogue:\ - \ 0,0:43:48.45,0:43:50.83,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u9019\u4F4D\u5973\u58EB\u7684\u8607\u683C\u862D\u5A01\u58EB\u5FCC\ - \u7D14\u98F2{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}That's\ - \ a Scotch, straight-up, for the lady.{\\r}\r\nDialogue: 0,0:43:51.09,0:43:52.45,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u73FE\u5728\u5C31\u767C\u539F\u6587\ - \u7D66\u4F60{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I'm\ - \ sending you the article.{\\r}\r\nDialogue: 0,0:43:52.63,0:43:55.11,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u7684\u7DE8\u8F2F\u4E0D\u80AF\u5831\ - \ \u4F46\u5982\u679C\u78B0\u5DE7\u5728\u7DB2\u4E0A\u6D29\u9732\u4E86\u7684\ - \u8A71...{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}My editor\ - \ won't print it, but if it leaked online...{\\r}\r\nDialogue: 0,0:43:55.33,0:43:56.64,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u61C2\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Got it.{\\r}\r\nDialogue: 0,0:43:56.86,0:43:59.31,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F46\u4F60\u4E0D\u662F\u66FE\u7D93\u628A\ - \u6211\u7684\u7DB2\u7AD9\u5F62\u5BB9\u70BA...{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}But didn't you once describe my site...{\\r}\r\n\ - Dialogue: 0,0:43:59.53,0:44:02.84,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u6EFF\u6EA2\u8B0A\u8A00\u7684\u6BD2\u7624\u55CE\uFF1F{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...as a creeping cancer\ - \ of falsehoods?{\\r}\r\nDialogue: 0,0:44:02.94,0:44:06.53,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u9084\u9019\u9EBC\u8A8D\u70BA \u4F46\ - \u6211\u60F3\u8B93\u9019\u500B\u6545\u4E8B\u898B\u5149{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I stand by my words, Woodburn, but\ - \ I want this story out there.{\\r}\r\nDialogue: 0,0:44:06.53,0:44:07.94,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u70BA\u4EC0\u9EBC\uFF1F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Why?{\\r}\r\nDialogue: 0,0:44:07.97,0:44:11.32,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u56E0\u70BA\u6211\u60F3\u8B93\u6211\u7684\ - \u795E\u79D8\u7537\u5B50\u77E5\u9053\u6211\u77E5\u9053\u771F\u76F8{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Because I want my mystery\ - \ man to know I know the truth.{\\r}\r\nDialogue: 0,0:44:25.66,0:44:27.64,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u905E\u6B78\u8A3A\u65B7\u5B8C\u6210{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Recursive diagnostics\ - \ complete...{\\r}\r\nDialogue: 0,0:44:28.46,0:44:30.67,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5C0E\u793A\u5F71\u50CF\u5DF2\u6388\u6B0A\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Guiding presence\ - \ authenticated.{\\r}\r\nDialogue: 0,0:44:30.90,0:44:33.47,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u7CFB\u7D71\u904B\u8F49\u6B63\u5E38{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}All systems operational.{\\\ - r}\r\nDialogue: 0,0:44:45.55,0:44:49.99,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u770B\u898B\u4F60\u5728\u90A3\u88CF\u9577\u5927\u6210\ - \u4EBA...{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}To see\ - \ you standing there having grown into an adult...{\\r}\r\nDialogue: 0,0:44:51.72,0:44:54.26,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8981\u662F\u840A\u62C9\u80FD\u89AA\u773C\ - \u5F97\u898B\u5C31\u597D\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}If only Lara could have witnessed this.{\\r}\r\nDialogue: 0,0:44:54.69,0:44:55.89,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u662F\u8AB0\uFF1F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Who are you?{\\r}\r\nDialogue: 0,0:44:56.89,0:44:58.87,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u662F\u4F60\u7684\u7236\u89AA \u5361\ - \u723E{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I am your\ - \ father, Kal.{\\r}\r\nDialogue: 0,0:45:00.23,0:45:02.10,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8D77\u78BC\u662F\u4ED6\u7684\u8EAB\u5F71\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Or at least a shadow\ - \ of him.{\\r}\r\nDialogue: 0,0:45:02.60,0:45:04.34,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u7684\u610F\u8B58{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}His consciousness.{\\r}\r\nDialogue:\ - \ 0,0:45:06.10,0:45:09.20,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u53EB\u55AC\u2022\u827E\u723E{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}My name was Jor-El.{\\r}\r\nDialogue: 0,0:45:11.87,0:45:13.51,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u5361\u723E{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}And Kal?{\\r}\r\nDialogue: 0,0:45:16.74,0:45:17.95,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u662F\u6211\u7684\u540D\u5B57\u55CE\uFF1F\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}That's my name.{\\\ - r}\r\nDialogue: 0,0:45:18.84,0:45:22.05,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u53EB \u5361\u723E\u2022\u827E\u723E{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Kal-El. It is.{\\r}\r\nDialogue: 0,0:45:22.75,0:45:24.79,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u6709\u597D\u591A\u554F\u984C{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I have so many questions.{\\\ - r}\r\nDialogue: 0,0:45:27.52,0:45:29.12,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u5F9E\u54EA\u88CF\u4F86\uFF1F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Where do I come from?{\\r}\r\nDialogue:\ - \ 0,0:45:30.86,0:45:32.73,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4F60\u70BA\u4EC0\u9EBC\u8981\u9001\u6211\u4F86\u9019\u88CF\uFF1F\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Why did you send\ - \ me here?{\\r}\r\nDialogue: 0,0:45:33.56,0:45:35.44,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u4F86\u81EA\u6C2A\u661F{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You came from Krypton.{\\r}\r\ - \nDialogue: 0,0:45:38.13,0:45:42.14,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4E00\u500B\u6BD4\u5730\u7403\u74B0\u5883\u66F4\u60E1\ - \u52A3\u7684\u4E16\u754C{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}A world with a much harsher environment than Earths.{\\r}\r\nDialogue:\ - \ 0,0:45:45.94,0:45:47.58,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u5F88\u4E45\u4EE5\u524D{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Long ago...{\\r}\r\nDialogue: 0,0:45:47.81,0:45:50.05,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5728\u5927\u64F4\u5F35\u7684\u6642\u4EE3\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...in an era of\ - \ expansion...{\\r}\r\nDialogue: 0,0:45:50.28,0:45:53.49,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5011\u7684\u7A2E\u65CF\u63A2\u7D22\ - \u4E00\u9846\u9846\u661F\u7403{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...our race spread out through the stars...{\\r}\r\nDialogue: 0,0:45:53.75,0:45:56.45,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5C0B\u8993\u53EF\u4EE5\u5E38\u99D0\u7684\ - \u65B0\u4E16\u754C{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...seeking\ - \ new worlds to settle upon.{\\r}\r\nDialogue: 0,0:45:57.58,0:46:01.09,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9019\u8258\u5075\u5BDF\u8239\u662F\u5C04\ - \u5165\u865B\u7A7A\u7684\u6578\u5343\u8258\u4E4B\u4E00{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}This scout ship was one of thousands\ - \ launched into the void.{\\r}\r\nDialogue: 0,0:46:03.66,0:46:06.26,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5011\u5728\u5176\u4ED6\u884C\u661F\ - \u4E0A\u5EFA\u9020\u524D\u54E8{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}We built outposts on other planets...{\\r}\r\nDialogue: 0,0:46:06.49,0:46:10.24,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u7528\u5DE8\u5927\u7684\u6A5F\u5668\u6309\ - \u6211\u5011\u7684\u9700\u6C42\u91CD\u5851\u74B0\u5883{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}musing great machines to reshape environments\ - \ to our needs.{\\r}\r\nDialogue: 0,0:46:12.43,0:46:16.94,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5341\u842C\u5E74\u4F86\u6211\u5011\u7684\ - \u6587\u660E\u84EC\u52C3\u767C\u5C55{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}For 100,000 years, our civilization flourished...{\\r}\r\ - \nDialogue: 0,0:46:17.97,0:46:19.97,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5275\u9020\u4E86\u8A31\u591A\u5947\u8DE1{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...accomplishing wonders.{\\\ - r}\r\nDialogue: 0,0:46:21.14,0:46:22.78,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u767C\u751F\u4E86\u4EC0\u9EBC\uFF1F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}What happened?{\\r}\r\nDialogue: 0,0:46:24.78,0:46:27.85,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5011\u5275\u9020\u4E86\u4EBA\u9020\ - \u4EBA\u53E3\u63A7\u5236\u7CFB\u7D71{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Artificial population control was established.{\\r}\r\n\ - Dialogue: 0,0:46:28.58,0:46:32.19,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u907A\u68C4\u4E86\u592A\u7A7A\u63A2\u7D22\u7684\u524D\u54E8\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The outposts on\ - \ space exploration were abandoned.{\\r}\r\nDialogue: 0,0:46:32.79,0:46:35.36,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5011\u7528\u76E1\u4E86\u81EA\u7136\ - \u8CC7\u6E90{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We exhausted\ - \ our natural resources.{\\r}\r\nDialogue: 0,0:46:35.62,0:46:39.63,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u56E0\u6B64\u6211\u5011\u884C\u661F\u7684\ - \u6838\u5FC3\u8B8A\u5F97\u4E0D\u7A69\u5B9A{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}As a result, our planet's core became unstable.{\\\ - r}\r\nDialogue: 0,0:46:42.09,0:46:44.63,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6700\u7D42\u6211\u5011\u7684\u8ECD\u4E8B\u9818\u8896\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Eventually, our\ - \ military leader...{\\r}\r\nDialogue: 0,0:46:44.86,0:46:48.78,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F50\u5FB7\u5C07\u8ECD\u4F01\u5716\u767C\ - \u52D5\u653F\u8B8A{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...General\ - \ Zod, attempted a coup.{\\r}\r\nDialogue: 0,0:46:50.70,0:46:52.88,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F46\u70BA\u6642\u5DF2\u665A{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}But by then it was too late.{\\\ - r}\r\nDialogue: 0,0:46:54.14,0:46:56.78,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F60\u5ABD\u5ABD\u548C\u6211\u9810\u898B\u4E86\u672A\ - \u4F86\u707D\u96E3{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Your\ - \ mother and I foresaw the coming calamity...{\\r}\r\nDialogue: 0,0:46:57.01,0:47:00.42,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5011\u63A1\u53D6\u4E86\u67D0\u4E9B\ - \u63AA\u65BD\u4EE5\u78BA\u4FDD\u4F60\u7684\u751F\u5B58{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...and we took certain steps to ensure\ - \ your survival.{\\r}\r\nDialogue: 0,0:47:01.88,0:47:03.92,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9019\u662F\u59CB\u6E90\u5BA4{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}This is a genesis chamber.{\\\ - r}\r\nDialogue: 0,0:47:04.38,0:47:07.52,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6240\u6709\u6C2A\u661F\u4EBA\u90FD\u5728\u9019\u6A23\ - \u7684\u5C0F\u623F\u9593\u88CF\u88AB\u5B55\u80B2{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}All Kryptonians were conceived in chambers such as\ - \ this.{\\r}\r\nDialogue: 0,0:47:07.79,0:47:11.50,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6BCF\u500B\u51FA\u751F\u7684\u5B69\u5B50\ - \u90FD\u6709\u4E00\u500B\u9810\u5B9A\u7684\u89D2\u8272{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Every child was designed to fulfill\ - \ a pre-determined role in our society...{\\r}\r\nDialogue: 0,0:47:11.72,0:47:12.57,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5DE5\u4EBA{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}...as a worker...{\\r}\r\nDialogue: 0,0:47:12.83,0:47:15.97,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6230\u58EB \u9818\u5C0E\u8005\u7B49\u7B49\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...a warrior, a\ - \ leader and so on.{\\r}\r\nDialogue: 0,0:47:16.20,0:47:19.47,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u5ABD\u5ABD\u548C\u6211\u76F8\u4FE1\ - \u6C2A\u661F\u5931\u53BB\u4E86\u4E00\u4E9B\u73CD\u8CB4\u7684\u6771\u897F{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Your mother and I believed\ - \ Krypton lost something precious.{\\r}\r\nDialogue: 0,0:47:19.70,0:47:21.91,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9078\u64C7\u548C\u6A5F\u6703\u7684\u8981\ - \u7D20{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The element\ - \ of choice, of chance.{\\r}\r\nDialogue: 0,0:47:22.40,0:47:24.57,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8981\u662F\u4E00\u500B\u5B69\u5B50\u7684\ - \u5922\u60F3\u662F...{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}What if a child dreamed of becoming something...{\\r}\r\nDialogue: 0,0:47:24.84,0:47:27.34,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6210\u70BA\u9810\u5B9A\u8F03\u8272\u4EE5\ - \u5916\u7684\u89D2\u8272\u5462\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}mother than what society had intended for him or her?{\\\ - r}\r\nDialogue: 0,0:47:28.87,0:47:31.48,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u8981\u662F\u4ED6\u6E34\u671B\u66F4\u5049\u5927\u7684\ - \u6771\u897F\u5462\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}What if a child aspired to something greater?{\\r}\r\nDialogue: 0,0:47:32.24,0:47:34.25,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u5C31\u662F\u9019\u7A2E\u4FE1\u5FF5\ - \u7684\u9AD4\u73FE \u5361\u723E{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}You were the embodiment of that belief, Kal.{\\r}\r\nDialogue: 0,0:47:34.51,0:47:37.59,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5E7E\u4E16\u7D00\u4EE5\u4F86\u6C2A\u661F\ - \u7684\u7B2C\u4E00\u500B\u81EA\u7136\u5206\u5A29\u7684\u5B69\u5B50{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Krypton's first natural\ - \ birth in centuries.{\\r}\r\nDialogue: 0,0:47:38.08,0:47:40.76,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6240\u4EE5\u6211\u5011\u624D\u5192\u5982\ - \u6B64\u5927\u7684\u98A8\u96AA\u6551\u4F60{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}That's why we risked so much to save you.{\\r}\r\n\ - Dialogue: 0,0:47:41.89,0:47:43.33,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u4F60\u5011\u70BA\u4EC0\u9EBC\u4E0D\u8DDF\u6211\u4E00\u8D77\ - \u4F86\u5462\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Why\ - \ didn't you come with me?{\\r}\r\nDialogue: 0,0:47:46.86,0:47:48.60,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5011\u505A\u4E0D\u5230 \u5361\u723E\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We couldn't, Kal.{\\\ - r}\r\nDialogue: 0,0:47:49.66,0:47:52.50,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4E0D\u8AD6\u6211\u5011\u591A\u9EBC\u6E34\u671B{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}No matter how much we wanted\ - \ to.{\\r}\r\nDialogue: 0,0:47:52.60,0:47:54.60,chs,,0000,0000,0000,,{\\fn\u534E\ - \u6587\u6977\u4F53\\blur3}\u4E0D\u8AD6\u6211\u5011\u6709\u591A\u611B\u4F60\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}No matter how much\ - \ we loved you.{\\r}\r\nDialogue: 0,0:47:55.37,0:47:56.75,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u6BCD\u89AA\u840A\u62C9\u548C\u6211\ - \ \u90FD\u8DDF\u4F50\u5FB7\u4E00\u6A23{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Your mother, Lara, and I...{\\r}\r\nDialogue: 0,0:47:57.00,0:48:00.11,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u662F\u6211\u5011\u4E16\u754C\u751F\u7522\ - \u51FA\u4F86\u7684\u5931\u6557\u7522\u7269{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}...were a product of the failures of our world as\ - \ much as Zod was...{\\r}\r\nDialogue: 0,0:48:00.37,0:48:02.05,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5011\u8207\u5B83\u7684\u547D\u904B\ - \u7DCA\u7DCA\u76F8\u9023{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...tied to its fate.{\\r}\r\nDialogue: 0,0:48:02.27,0:48:04.35,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u90A3\u6211\u662F\u5B64\u55AE\u4E00\u4EBA\ - \u4E86 - \u4E0D{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}-\ - \ So I'm alone. - No.{\\r}\r\nDialogue: 0,0:48:06.08,0:48:09.75,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u65E2\u662F\u6C2A\u661F\u7684\u5B50\ - \u55E3 \u4E5F\u662F\u5730\u7403\u7684\u5B69\u5B50{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}You're as much a child of Earth now as you are of\ - \ Krypton.{\\r}\r\nDialogue: 0,0:48:10.02,0:48:13.19,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u80FD\u9AD4\u73FE\u5169\u500B\u4E16\ - \u754C\u7684\u7CBE\u83EF{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}You can embody the best of both worlds.{\\r}\r\nDialogue: 0,0:48:13.42,0:48:17.06,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u6BCD\u89AA\u548C\u6211\u81F4\u529B\ - \u4FDD\u8B77\u7684\u5922\u60F3{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}A dream your mother and I dedicated our lives to preserve.{\\r}\r\n\ - Dialogue: 0,0:48:21.59,0:48:24.58,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u5730\u7403\u4EBA\u8207\u6211\u5011\u4E0D\u540C \u9019\u4E0D\ - \u5047{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The people\ - \ of Earth are different from us, it's true.{\\r}\r\nDialogue: 0,0:48:24.80,0:48:27.74,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F46\u6700\u7D42\u6211\u76F8\u4FE1\u9019\ - \u662F\u4EF6\u597D\u4E8B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}But, ultimately, I believe that's a good thing.{\\r}\r\nDialogue: 0,0:48:27.97,0:48:30.41,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u5011\u4E0D\u4E00\u5B9A\u6703\u72AF\ - \u8207\u6211\u5011\u76F8\u540C\u7684\u932F\u8AA4{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}They won't necessarily make the same mistakes we\ - \ did.{\\r}\r\nDialogue: 0,0:48:30.64,0:48:32.62,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u53EA\u8981\u6709\u4F60\u7684\u5F15\u5C0E\ - \ \u5361\u723E{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Not\ - \ if you guide them, Kal.{\\r}\r\nDialogue: 0,0:48:34.21,0:48:36.24,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u53EA\u8981\u4F60\u5E36\u7D66\u4ED6\u5011\ - \u5E0C\u671B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Not\ - \ if you give them hope.{\\r}\r\nDialogue: 0,0:48:39.65,0:48:41.82,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9019\u500B\u7B26\u865F\u5C31\u662F\u9019\ - \u500B\u610F\u601D{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}That's\ - \ what this symbol means.{\\r}\r\nDialogue: 0,0:48:42.55,0:48:44.89,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u827E\u723E\u5BB6\u65CF\u7684\u6A19\u8A8C\ - \u4EE3\u8868\u5E0C\u671B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}The symbol of the house of El means hope.{\\r}\r\nDialogue: 0,0:48:45.12,0:48:47.62,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u7A2E\u5E0C\u671B\u7684\u9AD4\u73FE\ - \u5728\u65BC...{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Embodied\ - \ within that hope is the fundamental belief...{\\r}\r\nDialogue: 0,0:48:47.89,0:48:52.30,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8B93\u6BCF\u500B\u4EBA\u7684\u6F5B\u529B\ - \u6210\u70BA\u5584\u7684\u529B\u91CF{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}...in the potential of every person to be a force for good.{\\\ - r}\r\nDialogue: 0,0:48:52.93,0:48:54.96,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F60\u53EF\u4EE5\u5C07\u9019\u4E00\u9EDE\u5E36\u7D66\ - \u4ED6\u5011{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}That's\ - \ what you can bring them.{\\r}\r\nDialogue: 0,0:49:15.15,0:49:17.59,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u70BA\u4EC0\u9EBC\u6211\u9019\u9EBC\u8207\ - \u773E\u4E0D\u540C\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Why am I so different from them?{\\r}\r\nDialogue: 0,0:49:18.25,0:49:21.45,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5730\u7403\u7684\u592A\u967D\u6BD4\u6C2A\ - \u661F\u7684\u592A\u967D\u66F4\u5E74\u8F15\u66F4\u660E\u4EAE{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Earth's sun is younger and brighter\ - \ than Krypton's was.{\\r}\r\nDialogue: 0,0:49:22.66,0:49:25.03,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u7684\u7D30\u80DE\u6C72\u53D6\u4E86\ - \u5B83\u7684\u8F3B\u5C04{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Your cells have drunken its radiation...{\\r}\r\nDialogue: 0,0:49:25.29,0:49:29.30,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u52A0\u5F37\u4F60\u7684\u808C\u8089 \u76AE\ - \u819A\u4EE5\u53CA\u611F\u5B98{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...strengthening your muscles, your skin, your senses.{\\r}\r\nDialogue:\ - \ 0,0:49:29.83,0:49:33.83,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u5730\u7403\u7684\u5F15\u529B\u8F03\u5F31 \u4F46\u5927\u6C23\u66F4\ - \u52A0\u6ECB\u6F64{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Earth's\ - \ gravity is weaker, yet its atmosphere is more nourishing.{\\r}\r\nDialogue:\ - \ 0,0:49:35.13,0:49:38.14,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4F60\u5728\u9019\u88CF\u8B8A\u5F97\u6703\u6BD4\u6211\u60F3\u50CF\ - \u4E2D\u7684\u66F4\u5F37{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}You've grown stronger here than I ever could have imagined.{\\r}\r\n\ - Dialogue: 0,0:49:38.37,0:49:41.00,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u77E5\u9053\u591A\u5F37\u7684\u552F\u4E00\u8FA6\u6CD5\u5C31\ - \u662F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The only way\ - \ to know how strong...{\\r}\r\nDialogue: 0,0:49:41.04,0:49:44.58,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E0D\u65B7\u6E2C\u8A66\u4F60\u7684\u6975\ - \u9650{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...is to keep\ - \ testing your limits.{\\r}\r\nDialogue: 0,0:50:36.43,0:50:40.43,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u6703\u5E36\u7D66\u5730\u7403\u4EBA\ - \u70BA\u4E4B\u596E\u9B25\u7684\u7406\u60F3{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}You will give the people of Earth an ideal lo strive\ - \ towards.{\\r}\r\nDialogue: 0,0:50:42.10,0:50:43.91,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u5011\u6703\u5728\u4F60\u8EAB\u5F8C\ - \u52AA\u529B\u8FFD\u8D95{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}They'll race behind you.{\\r}\r\nDialogue: 0,0:50:44.17,0:50:45.55,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u5011\u6703\u5931\u8DB3{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}They will stumble.{\\r}\r\n\ - Dialogue: 0,0:50:45.77,0:50:46.91,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u6703\u5012\u4E0B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}They will fall.{\\r}\r\nDialogue: 0,0:50:47.17,0:50:48.88,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F46\u6700\u5F8C{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}But In time...{\\r}\r\nDialogue: 0,0:50:50.41,0:50:53.05,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u5011\u6703\u5728\u592A\u967D\u4E0B\ - \u8207\u4F60\u6BD4\u80A9 \u5361\u723E{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}...they will join you in the sun, Kal.{\\r}\r\nDialogue:\ - \ 0,0:50:54.55,0:50:56.25,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u5230\u6700\u5F8C{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}In time...{\\r}\r\nDialogue: 0,0:50:56.58,0:50:59.89,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u6703\u5E6B\u52A9\u4ED6\u5011\u5275\ - \u9020\u5947\u8DE1{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}you\ - \ will help them accomplish wonders.{\\r}\r\nDialogue: 0,0:52:25.94,0:52:27.54,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5148\u5F9E\u8FFD\u8E64\u6709\u4ED6\u51FA\ - \u73FE\u7684\u90FD\u5E02\u50B3\u8AAA\u958B\u59CB{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}You start with the urban legends...{\\r}\r\nDialogue:\ - \ 0,0:52:27.81,0:52:30.15,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}- \u4ED6\u9192\u4F86\u5F8C\u90FD\u6D8C\u73FE\u4E86\u51FA\u4F86 -\ - \ \u9019\u662F\u55AC{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}-\ - \ ...that have sprung up in his wake. - That's Joe.{\\r}\r\nDialogue:\ - \ 0,0:52:30.38,0:52:32.85,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6240\u6709\u8072\u7A31\u898B\u904E\u4ED6\u7684\u670B\u53CB\u7684\ - \u670B\u53CB{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The\ - \ friends of a friend who have seen him.{\\r}\r\nDialogue: 0,0:52:32.85,0:52:34.01,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u904E\u53BB\u5728\u9019\u88CF\u5DE5\ - \u4F5C{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}He worked\ - \ here.{\\r}\r\nDialogue: 0,0:52:34.28,0:52:36.26,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5C0D\u67D0\u4E9B\u4EBA\u800C\u8A00 \u4ED6\ - \u662F\u5B88\u8B77\u5929\u4F7F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}For some he was a guardian angel.{\\r}\r\nDialogue: 0,0:52:36.26,0:52:39.80,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5C0D\u5176\u4ED6\u4EBA\u4F86\u8B1B \u4ED6\ - \u662F\u500B\u8B0E \u662F\u500B\u683C\u683C\u4E0D\u5165\u7684\u5E7D\u9748\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}For others, a cipher,\ - \ a ghost who never quite fit in...{\\r}\r\nDialogue: 0,0:52:40.02,0:52:43.00,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u597D\u5427 \u6211\u662F\u8AAA\u6211\u5011\ - \u5728\u9760\u8FD1\u77F3\u6CB9\u947D\u6A5F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Well, I was saying we were coming towards the oil\ - \ rig.{\\r}\r\nDialogue: 0,0:52:43.19,0:52:47.00,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u96A8\u8457\u4F60\u6392\u9664\u56F0\u96E3\ - \u8FFD\u6EAF\u904E\u53BB \u6545\u4E8B\u958B\u59CB\u6F38\u6F38\u6210\u578B\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}As you work your\ - \ way back in time, the stories form a pattern.{\\r}\r\nDialogue: 0,0:52:47.06,0:52:49.13,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5728\u627E\u76AE\u7279\u2022\u7F85\ - \u65AF \u4F60\u8A8D\u8B58\u4ED6\u55CE\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}I'm looking for a Pete Ross. Do you know him?{\\\ - r}\r\nDialogue: 0,0:52:54.13,0:52:55.44,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u662F\u76AE\u7279\u2022\u7F85\u65AF\u55CE\uFF1F{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Pete Ross?{\\r}\r\nDialogue:\ - \ 0,0:52:57.17,0:53:00.38,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u60F3\u8DDF\u60A8\u8AC7\u8AC7\u4F60\u5E74\u8F15\u6642\u5019\ - \u7684\u4E00\u5834\u4E8B\u6545{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}I'd like to talk to you about an accident when you were younger.{\\\ - r}\r\nDialogue: 0,0:53:00.64,0:53:03.14,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4E00\u8F1B\u885D\u9032\u6CB3\u88CF\u7684\u6821\u8ECA\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}A school bus that\ - \ went into the river.{\\r}\r\nDialogue: 0,0:53:08.65,0:53:10.75,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5091\u65AF{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Dusty.{\\r}\r\nDialogue: 0,0:53:10.92,0:53:11.99,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u80AF\u7279\u592B\u4EBA\u55CE\uFF1F{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Mrs. Kent?{\\r}\r\n\ - Dialogue: 0,0:53:12.92,0:53:15.36,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u6211\u662F\u9732\u6613\u7D72\u2022\u84EE\u6069 \u4F86\u81EA\ - \u300A\u661F\u7403\u65E5\u5831\u300B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}I'm Lois Lane. I'm from the Daily Planet.{\\r}\r\nDialogue:\ - \ 0,0:53:15.92,0:53:16.66,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u5B89\u975C{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Quiet.{\\\ - r}\r\nDialogue: 0,0:53:18.26,0:53:21.73,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u4F86\u81EA\u300A\u661F\u7403\u65E5\u5831\u300B\ - \ \u6211\u60F3\u8DDF\u60A8\u8AC7\u8AC7\u4F60\u7684\u5152\u5B50{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I'm from the Daily Planet and\ - \ I'd like to talk to you about your son.{\\r}\r\nDialogue: 0,0:53:39.85,0:53:44.45,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u65E9\u5C31\u77E5\u9053\u8981\u662F\ - \u6211\u67E5\u5F97\u5920\u4ED4\u7D30 \u4F60\u6700\u5F8C\u6703\u627E\u5230\u6211\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I figured if I turned\ - \ over enough stones you'd eventually find me.{\\r}\r\nDialogue: 0,0:53:49.42,0:53:52.46,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u5F9E\u54EA\u4F86\uFF1F\u5728\u9019\ - \u88CF\u505A\u4EC0\u9EBC\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Where are you from? What are you doing here?{\\r}\r\nDialogue: 0,0:53:52.73,0:53:54.07,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8B93\u6211\u8B1B\u4F60\u7684\u6545\u4E8B\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Let me tell your\ - \ story.{\\r}\r\nDialogue: 0,0:53:54.29,0:53:57.43,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8981\u662F\u6211\u4E0D\u60F3\u8B93\u6211\ - \u7684\u6545\u4E8B\u88AB\u8B1B\u51FA\u53BB\u5462\uFF1F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}What if I don't want my story told?{\\\ - r}\r\nDialogue: 0,0:53:57.70,0:53:59.47,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6700\u5F8C\u5B83\u7E3D\u6703\u88AB\u50B3\u51FA\u53BB\ - \u7684{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}It's going\ - \ to come out eventually.{\\r}\r\nDialogue: 0,0:53:59.73,0:54:02.77,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6709\u4EBA\u6703\u62FF\u5230\u76F8\u7247\ - \u6216\u662F\u67E5\u5230\u4F60\u7684\u4F4F\u8655{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Somebody's going to get a photograph or figure out\ - \ where you live.{\\r}\r\nDialogue: 0,0:54:03.04,0:54:05.98,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u90A3\u6211\u5C31\u518D\u6B21\u6D88\u5931\ - \ - \u552F\u4E00\u7684\u8FA6\u6CD5\u5C31\u662F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}- Then I'll disappear again. - The only way\ - \ you could disappear...{\\r}\r\nDialogue: 0,0:54:06.24,0:54:10.24,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E0D\u518D\u5E6B\u52A9\u4EBA\u5011 \u6211\ - \u611F\u89BA\u4F60\u4E0D\u6703\u90A3\u6A23\u7684{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}...is to stop helping people altogether, and I sense\ - \ that's not an option for you.{\\r}\r\nDialogue: 0,0:54:14.41,0:54:18.42,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u7236\u89AA\u76F8\u4FE1\u8981\u662F\ - \u4E16\u754C\u67E5\u51FA\u6211\u7684\u771F\u5BE6\u8EAB\u4EFD{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}My father believed that if the world\ - \ found out who I really was...{\\r}\r\nDialogue: 0,0:54:20.42,0:54:21.92,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u5011\u6703\u62D2\u7D55\u6211{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...they'd reject me...{\\\ - r}\r\nDialogue: 0,0:54:22.15,0:54:23.79,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u56E0\u70BA\u6050\u61FC{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}...out of fear.{\\r}\r\nDialogue: 0,0:54:25.82,0:54:27.90,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u53AD\u5026\u4E86\u5B89\u5168{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I'm tired of safe.{\\\ - r}\r\nDialogue: 0,0:54:28.13,0:54:30.23,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u53EA\u60F3\u6709\u751F\u4E4B\u5E74\u505A\u4E9B\ - \u6709\u7528\u7684\u4E8B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}I just wanna do something useful with my life.{\\r}\r\nDialogue: 0,0:54:30.46,0:54:33.07,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u9EBC\u958B\u8FB2\u5834 \u990A\u6D3B\ - \u5927\u5BB6 \u5C31\u6C92\u6709\u7528\u55CE\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}So farming, feeding people. That's not useful?{\\\ - r}\r\nDialogue: 0,0:54:33.30,0:54:34.30,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u6C92\u90A3\u9EBC\u8AAA{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}I didn't say that.{\\r}\r\nDialogue: 0,0:54:34.40,0:54:36.64,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5011\u7684\u5BB6\u65CF\u6574\u6574\ - \u4E94\u4EE3\u90FD\u4EE5\u8FB2\u5834\u70BA\u751F \u514B\u62C9\u514B{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Our family's been farming\ - \ for five generations.{\\r}\r\nDialogue: 0,0:54:36.77,0:54:38.68,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u7684\u5BB6\u65CF \u4E0D\u662F\u6211\ - \u7684{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Your family,\ - \ not mine.{\\r}\r\nDialogue: 0,0:54:38.94,0:54:42.00,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u90FD\u4E0D\u77E5\u9053\u81EA\u5DF1\ - \u70BA\u4EC0\u9EBC\u8981\u807D\u4F60\u8AAA \u4F60\u4E0D\u662F\u6211\u7238\u7238\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I don't even know\ - \ why I'm listening to you. You're not my dad.{\\r}\r\nDialogue: 0,0:54:42.14,0:54:43.52,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u53EA\u662F\u67D0\u500B\u5728\u5730\ - \u88CF\u64BF\u5230\u6211\u7684\u4EBA{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}You're just some guy who found me in a field.{\\r}\r\n\ - Dialogue: 0,0:54:43.78,0:54:44.95,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u514B\u62C9\u514B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Clark.{\\r}\r\nDialogue: 0,0:54:47.31,0:54:48.99,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6C92\u95DC\u4FC2 \u746A\u838E{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}It's all right, Martha.{\\\ - r}\r\nDialogue: 0,0:54:50.82,0:54:52.92,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4ED6\u8AAA\u5F97\u5C0D \u514B\u62C9\u514B\u8AAA\u5F97\ - \u6709\u9053\u7406{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}He's\ - \ right. Clark has a point.{\\r}\r\nDialogue: 0,0:54:53.49,0:54:54.52,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5011\u4E0D\u662F\u4F60\u7684\u7236\ - \u6BCD{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We're not\ - \ your parents.{\\r}\r\nDialogue: 0,0:54:56.62,0:54:58.33,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F46\u6211\u5011\u529B\u6C42\u505A\u5230\ - \u6700\u597D{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}But\ - \ we've been doing the best we can.{\\r}\r\nDialogue: 0,0:54:58.59,0:55:01.97,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5011\u4E5F\u5728\u76E1\u53EF\u80FD\ - \u5730\u6539\u9032 \u4E5F\u8A31...{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}And we've been making this up as we go along, so maybe...{\\\ - r}\r\nDialogue: 0,0:55:02.19,0:55:05.11,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u5011\u6240\u8B02\u7684\u6700\u597D\u5DF2\u7D93\ - \u4E0D\u5920\u597D\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Maybe our best isn't good enough anymore.{\\r}\r\nDialogue: 0,0:55:09.64,0:55:11.67,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u807D\u8457 \u7238{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Look, Dad...{\\r}\r\nDialogue: 0,0:55:11.94,0:55:13.38,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u7B49\u4E00\u4E0B{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Hold on.{\\r}\r\nDialogue: 0,0:55:33.13,0:55:34.83,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5FEB\u53BB\u5929\u6A4B\u8EB2\u8457{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Go for the overpass.{\\\ - r}\r\nDialogue: 0,0:55:36.63,0:55:37.73,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5FEB\u9EDE\u53BB\u8EB2\u8D77\u4F86{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Go for the overpass!{\\r}\r\nDialogue:\ - \ 0,0:55:40.07,0:55:41.70,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u627E\u63A9\u8B77 \u5FEB\u627E\u63A9\u8B77{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Take cover! Take cover!{\\r}\r\nDialogue:\ - \ 0,0:55:41.97,0:55:44.35,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}- \u5728\u90A3\u908A \u8DDF\u4E0A\u4ED6\u5011 - \u627E\u63A9\u8B77\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- Over there. Just\ - \ follow them. - Take cover.{\\r}\r\nDialogue: 0,0:55:48.07,0:55:49.25,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5979\u88AB\u56F0\u4F4F\u4E86{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}She's stuck.{\\r}\r\nDialogue:\ - \ 0,0:55:53.81,0:55:55.69,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6F22\u514B\u5728\u8ECA\u88CF{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Hank's still in the car.{\\r}\r\nDialogue: 0,0:55:56.52,0:55:57.55,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6F22\u514B\u5728\u8ECA\u88CF{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Hank's in the car.{\\r}\r\n\ - Dialogue: 0,0:55:58.42,0:56:00.56,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}- \u6211\u53BB\u6551\u5B83 \u6211\u53BB\u6551 - \u4E0D{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- I'll get him, I'll\ - \ get him. - No, no.{\\r}\r\nDialogue: 0,0:56:01.09,0:56:03.33,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5E36\u4F60\u5ABD\u53BB\u5929\u6A4B{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Get your mom to the\ - \ overpass.{\\r}\r\nDialogue: 0,0:56:21.71,0:56:23.52,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6F22\u514B \u5FEB\u4F86{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Hank! Hank! Come!{\\r}\r\nDialogue:\ - \ 0,0:56:54.64,0:56:56.09,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}- \u55AC\u7D0D\u68EE - \u5ABD \u5F85\u5728\u9019{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- Jonathan! - Mom, stay here.{\\\ - r}\r\nDialogue: 0,0:57:21.90,0:57:24.40,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u7238{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Dad!{\\r}\r\nDialogue: 0,0:57:26.94,0:57:30.81,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u56E0\u70BA\u6211\u7684\u4FE1\u4EFB \u7236\ - \u89AA\u53BB\u4E16\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}I let my father die because I trusted him.{\\r}\r\nDialogue: 0,0:57:30.91,0:57:34.82,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u56E0\u70BA\u4ED6\u76F8\u4FE1\u4E16\u754C\ - \u9084\u6C92\u6709\u6E96\u5099\u597D{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Because he was convinced that I had to wait.{\\r}\r\nDialogue:\ - \ 0,0:57:35.58,0:57:37.75,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u5FC5\u9808\u7B49\u5F85\u4E0B\u53BB{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}That the world was not ready.{\\r}\r\n\ - Dialogue: 0,0:57:39.48,0:57:41.12,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u4F60\u600E\u9EBC\u60F3\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}What do you think?{\\r}\r\nDialogue: 0,0:57:46.02,0:57:47.66,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u5F97\u5C0F\u5FC3\u4E86 \u9732\u6613\ - \u7D72{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You better\ - \ watch out, Lois.{\\r}\r\nDialogue: 0,0:57:48.16,0:57:50.47,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F69\u88CF\u8981\u885D\u4F60\u767C\u706B\ - \u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Hey, Perry's\ - \ gunning for you.{\\r}\r\nDialogue: 0,0:57:50.70,0:57:52.65,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u77E5\u9053\u4F60\u662F\u4F0D\u5FB7\ - \u4F2F\u6069\u7684\u533F\u540D\u4FE1\u606F\u6E90{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}He knows you're Woodburn's anonymous source{\\r}\r\ - \nDialogue: 0,0:57:52.65,0:57:54.97,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u90FD\u7B49\u4E0D\u53CA\u597D\u597D\u6559\u8A13\u4F60\ - \u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}and cannot\ - \ wait to rip you a new one.{\\r}\r\nDialogue: 0,0:57:56.84,0:57:58.28,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u770B\u770B\u5979 \u54C8\u54C8{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Oh, look at her. Ha, ha, ha.{\\\ - r}\r\nDialogue: 0,0:58:00.27,0:58:02.81,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u544A\u8A34\u904E\u4F60\u4E0D\u8981\u8DDF\u9019\ - \u689D\u7DDA \u7136\u5F8C\u5462\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}I told you not to run with this, and what do you do?{\\\ - r}\r\nDialogue: 0,0:58:03.04,0:58:05.54,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F60\u537B\u8B93\u4F0D\u5FB7\u4F2F\u6069\u5C07\u4E4B\ - \u50B3\u904D\u4E86\u7DB2\u7D61{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}You let Woodburn just shotgun it all over the Internet.{\\r}\r\nDialogue:\ - \ 0,0:58:05.81,0:58:08.69,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u73FE\u5728\u51FA\u7248\u5546\u60F3\u8B93\u6211\u8D77\u8A34\u4F60\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Now the publishers\ - \ want me to sue you.{\\r}\r\nDialogue: 0,0:58:08.95,0:58:12.19,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u597D\u5427 \u5982\u679C\u9084\u6709\u7528\ - \u7684\u8A71 \u6211\u653E\u68C4{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Well, if it makes a difference, I'm dropping it.{\\r}\r\nDialogue: 0,0:58:12.45,0:58:13.45,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5C31\u90A3\u6A23\u55CE\uFF1F{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Whoa, just like that?{\\r}\r\ - \nDialogue: 0,0:58:13.69,0:58:14.69,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6C92\u932F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Yep.{\\r}\r\nDialogue: 0,0:58:15.05,0:58:16.36,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u7684\u7DDA\u7D22\u600E\u9EBC\u4E86\ - \uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}What happened\ - \ to your leads?{\\r}\r\nDialogue: 0,0:58:17.02,0:58:19.66,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6C92\u4EC0\u9EBC\u610F\u601D \u6574\u500B\ - \u6545\u4E8B\u90FD\u662F\u904E\u773C\u96F2\u7159{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}They didn't pan out. The story is smoke.{\\r}\r\n\ - Dialogue: 0,0:58:19.89,0:58:22.44,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u4E5F\u6709\u53EF\u80FD\u6C92\u5F15\u8D77\u4F60\u671F\u76FC\ - \u7684\u516C\u773E\u6CE8\u610F\u7F77\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Or it didn't get the traction you hoped?{\\r}\r\n\ - Dialogue: 0,0:58:24.20,0:58:25.04,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u5169\u5468\u7684\u7121\u85AA\u4F11\u5047{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Two weeks leave...{\\r}\r\nDialogue:\ - \ 0,0:58:25.30,0:58:26.90,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u7B97\u662F\u61F2\u7F70\u4F60\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}...no pay, that's your penance.{\\r}\r\nDialogue:\ - \ 0,0:58:27.17,0:58:28.84,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4F60\u518D\u9019\u9EBC\u5F04\u4E00\u6B21{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}You try something like this again...{\\\ - r}\r\nDialogue: 0,0:58:29.07,0:58:30.74,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}- \u6211\u5C31\u958B\u9664\u4F60 - \u597D\u5427{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- ...you're done here.\ - \ - Fine.{\\r}\r\nDialogue: 0,0:58:31.00,0:58:32.11,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u9019\u9EBC\u8FEB\u4E0D\u53CA\u5F85\ - \u5730\u9644\u548C\u6211{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Let's make it three weeks{\\r}\r\nDialogue: 0,0:58:32.11,0:58:33.71,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6539\u6210\u4E09\u5468\u4F11\u5047\u6BD4\ - \u8F03\u5408\u9069{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}since\ - \ you're so willing to agree.{\\r}\r\nDialogue: 0,0:58:37.14,0:58:38.82,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9732\u6613\u7D72 \u6211\u7D55\u4E0D\u8A8D\ - \u70BA{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I believe\ - \ you saw something, Lois.{\\r}\r\nDialogue: 0,0:58:39.31,0:58:42.32,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u7684\u7DDA\u7D22\u6BEB\u7121\u50F9\ - \u503C{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}But not for\ - \ a moment do I believe that your leads just went cold.{\\r}\r\nDialogue:\ - \ 0,0:58:42.55,0:58:46.05,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u56E0\u6B64\u4E0D\u7BA1\u4F60\u653E\u68C4\u7684\u7406\u7531\u662F\ - \u4EC0\u9EBC{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}So whatever\ - \ your reasons are for dropping it...{\\r}\r\nDialogue: 0,0:58:47.09,0:58:48.93,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u76F8\u4FE1\u4F60\u505A\u5F97\u6C92\ - \u932F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...I think\ - \ you're doing the right thing.{\\r}\r\nDialogue: 0,0:58:49.49,0:58:50.73,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u70BA\u4EC0\u9EBC\uFF1F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Why?{\\r}\r\nDialogue: 0,0:58:52.09,0:58:55.73,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5982\u679C\u4EBA\u5011\u5F97\u77E5\u5730\ - \u7403\u6709\u9019\u6A23\u7684\u4EBA\u7684\u5B58\u5728{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Can you imagine how people on this\ - \ planet would react...{\\r}\r\nDialogue: 0,0:58:58.00,0:59:01.44,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u80FD\u60F3\u50CF\u4EBA\u5011\u6703\ - \u6709\u4F55\u7A2E\u53CD\u61C9\u55CE\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}...if they knew there was someone like this out there?{\\\ - r}\r\nDialogue: 0,0:59:19.58,0:59:20.99,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u53BB\u63A5\u63A5\u4ED6{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Go get him.{\\r}\r\nDialogue: 0,0:59:27.43,0:59:29.06,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u770B\u770B\u6211\u5152\u5B50{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Well, look at you.{\\r}\r\n\ - Dialogue: 0,0:59:46.11,0:59:47.92,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u4E00\u500B\u8A18\u8005\u4F86\u904E{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}A reporter came by here.{\\r}\r\nDialogue:\ - \ 0,0:59:48.48,0:59:50.72,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u662F\u500B\u670B\u53CB \u5225\u64D4\u5FC3{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}She's a friend. Don't worry.{\\r}\r\n\ - Dialogue: 0,0:59:53.72,0:59:54.59,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u5ABD\u5ABD{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Mom.{\\r}\r\nDialogue: 0,0:59:54.75,0:59:56.49,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u600E\u9EBC\u4E86\uFF1F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}What?{\\r}\r\nDialogue: 0,0:59:57.96,1:00:00.49,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u6211\u627E\u5230\u4E86 - \u8AB0\uFF1F\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- I found them.\ - \ - Who?{\\r}\r\nDialogue: 0,1:00:01.33,1:00:02.83,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u7684\u7236\u6BCD{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}My parents.{\\r}\r\nDialogue: 0,1:00:04.00,1:00:05.34,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u7684\u65CF\u4EBA{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}My People.{\\r}\r\nDialogue: 0,1:00:06.23,1:00:09.44,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u73FE\u5728\u77E5\u9053\u81EA\u5DF1\ - \u7684\u8EAB\u4E16\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}I know where I come from now.{\\r}\r\nDialogue: 0,1:00:10.84,1:00:12.11,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u54C7{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Wow.{\\r}\r\nDialogue: 0,1:00:13.17,1:00:14.95,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u771F\u662F\u592A\u597D\u4E86{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}That's wonderful.{\\\ - r}\r\nDialogue: 0,1:00:16.81,1:00:19.25,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u592A\u70BA\u4F60\u9AD8\u8208\u4E86 \u514B\u62C9\u514B\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I'm so happy for\ - \ you, Clark.{\\r}\r\nDialogue: 0,1:00:28.09,1:00:30.62,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u600E\u9EBC\u4E86\uFF1F - \u6C92\u4E8B\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- What? -\ - \ It's nothing.{\\r}\r\nDialogue: 0,1:00:33.33,1:00:36.27,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u5C1A\u5728\u8941\u8913\u4E2D\u6642\ - \ \u6211\u6574\u591C\u5728\u5B30\u5152\u5E8A\u908A\u966A\u4F60{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}When you were a baby I used\ - \ to lay by your crib at night...{\\r}\r\nDialogue: 0,1:00:36.50,1:00:38.87,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u807D\u8457\u4F60\u7684\u547C\u5438{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...listening to you\ - \ breathe.{\\r}\r\nDialogue: 0,1:00:39.93,1:00:41.54,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u5C0D\u4F60\u4F86\u8AAA\u4E0D\u5BB9\ - \u6613{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}It was hard\ - \ for you.{\\r}\r\nDialogue: 0,1:00:42.77,1:00:44.14,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u52AA\u529B\u8457{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You struggled.{\\r}\r\nDialogue: 0,1:00:44.37,1:00:46.21,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u7121\u6642\u4E0D\u523B\u4E0D\u64D4\ - \u5FC3\u4F60{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}And\ - \ I worried all the time.{\\r}\r\nDialogue: 0,1:00:46.47,1:00:48.31,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u6015\u771F\u76F8\u66B4\u9732\u55CE\ - \uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You worried\ - \ the truth would come out.{\\r}\r\nDialogue: 0,1:00:49.84,1:00:51.05,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E0D{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}No.{\\r}\r\nDialogue: 0,1:00:52.01,1:00:54.62,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u7684\u771F\u76F8\u55CE\uFF1F\u90A3\ - \u5C31\u662F\u4F60\u592A\u53EF\u611B\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}The truth about you is beautiful.{\\r}\r\nDialogue:\ - \ 0,1:00:55.05,1:00:58.49,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u7B2C\u4E00\u773C\u898B\u5230\u4F60\u7684\u6642\u5019\u6211\u5011\ - \u5C31\u77E5\u9053{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We\ - \ saw that the moment we laid eyes on you.{\\r}\r\nDialogue: 0,1:01:00.79,1:01:04.79,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u77E5\u9053\u6709\u4E00\u5929 \u4E16\u4EBA\ - \u4E5F\u7D42\u6B78\u6703\u767C\u73FE{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}We knew that one day, the whole world would see that.{\\\ - r}\r\nDialogue: 0,1:01:07.23,1:01:08.86,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u53EA\u662F...{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}I'm just...{\\r}\r\nDialogue: 0,1:01:09.49,1:01:11.97,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u64D4\u5FC3\u4ED6\u5011\u6703\u8B93\u6211\ - \u5011\u5206\u96E2{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I'm\ - \ worried they'll take you away from me.{\\r}\r\nDialogue: 0,1:01:13.80,1:01:16.18,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u54EA\u4E5F\u4E0D\u53BB \u5ABD\u5ABD\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I'm not going anywhere,\ - \ Mom.{\\r}\r\nDialogue: 0,1:01:18.00,1:01:19.51,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4FDD\u8B49{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}I promise.{\\r}\r\nDialogue: 0,1:01:25.71,1:01:27.88,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u65AF\u65FA\u5A01\u514B\u5C07\u8ECD \u9577\ - \u5B98{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}General Swanwick,\ - \ sir.{\\r}\r\nDialogue: 0,1:01:28.15,1:01:31.89,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9019\u662F\u4EC0\u9EBC \u535A\u58EB\uFF1F\ - \u5F57\u661F\u9084\u662F\u5C0F\u884C\u661F\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}What am I looking at, doc? Comet? Asteroid?{\\r}\r\ - \nDialogue: 0,1:01:33.05,1:01:37.06,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5F57\u661F\u53EF\u4E0D\u6703\u4FEE\u6B63\u822A\u9053\ - \ \u5C07\u8ECD{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Comets\ - \ don't make course corrections, general.{\\r}\r\nDialogue: 0,1:01:39.86,1:01:43.86,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5728\u67D0\u500B\u5929\u6587\u611B\u597D\ - \u8005\u770B\u5230\u4E26\u5F15\u8D77\u6050\u614C\u524D \u6211\u60F3\u8B93\u4F60\ - \u597D\u597D\u770B\u4E00\u4E0B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Wanted you to see this before some amateur with a telescope creates\ - \ a worldwide panic.{\\r}\r\nDialogue: 0,1:01:45.53,1:01:46.91,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9019\u8258\u8239\u4F3C\u4E4E{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The ship appears to have...{\\\ - r}\r\nDialogue: 0,1:01:47.17,1:01:49.91,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5C07\u81EA\u5DF1\u9001\u5165\u4E86\u6708\u7403\u540C\ - \u6B65\u8ECC\u9053{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...inserted\ - \ itself into a lunar synchronous orbit...{\\r}\r\nDialogue: 0,1:01:50.17,1:01:52.34,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4E0D\u77E5\u9053\u70BA\u4EC0\u9EBC\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...though I have\ - \ no idea why.{\\r}\r\nDialogue: 0,1:01:52.57,1:01:55.42,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u6709\u8A66\u904E\u548C\u5B83\u53D6\ - \u5F97\u806F\u7E6B\u55CE\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Have you tried... communicating with it?{\\r}\r\nDialogue: 0,1:01:55.67,1:01:59.68,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u5011\u81F3\u4ECA\u6C92\u6709\u56DE\ - \u61C9{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Well, they\ - \ haven't responded as of yet.{\\r}\r\nDialogue: 0,1:02:00.95,1:02:04.95,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u500B\u4EBA\u7684\u731C\u6E2C\u662F\ - \ \u4E0D\u7BA1\u662F\u8AB0\u5728\u64CD\u7E31\u98DB\u8239...{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I'm just speculating, but I think\ - \ whoever's at the helm of that thing...{\\r}\r\nDialogue: 0,1:02:05.22,1:02:07.72,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u4E00\u5B9A\u60F3\u4F86\u500B\u9A5A\ - \u4EBA\u7684\u8457\u9678{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...is looking to make a dramatic entrance.{\\r}\r\nDialogue: 0,1:02:14.59,1:02:16.07,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6709\u4EBA\u77E5\u9053\u58A8\u76D2\u653E\ - \u5728\u54EA\u4E86\u55CE\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Anybody know where we keep the toner?{\\r}\r\nDialogue: 0,1:02:17.03,1:02:18.94,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u600E\u9EBC\u4E86\uFF1F - \u65B0\u805E\ - \u90FD\u5728\u5831\u9053{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}- What's going on? - It's all over the news.{\\r}\r\nDialogue:\ - \ 0,1:02:19.20,1:02:21.14,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4F60\u5F97\u4F86\u770B\u770B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}You gotta see this.{\\r}\r\nDialogue: 0,1:02:48.13,1:02:49.63,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u514B\u62C9\u514B{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Clark.{\\r}\r\nDialogue: 0,1:02:50.00,1:02:51.13,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u55EF\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Yeah?{\\r}\r\nDialogue: 0,1:02:51.40,1:02:52.74,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F86\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Coming.{\\r}\r\nDialogue: 0,1:02:53.06,1:02:55.27,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9019\u662F\u500B\u7A81\u767C\u65B0\u805E\ - \ \u8EAB\u4EFD\u4E0D\u660E{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}This is a breaking news. An unidentified...{\\r}\r\nDialogue: 0,1:03:36.98,1:03:39.05,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u4E26\u4E0D\u662F\u4E00\u500B\u4EBA\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You are not alone.{\\\ - r}\r\nDialogue: 0,1:03:40.71,1:03:43.06,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F60\u4E26\u4E0D\u662F\u4E00\u500B\u4EBA{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You are not alone.{\\r}\r\n\ - Dialogue: 0,1:03:44.98,1:03:47.22,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u4F60\u4E26\u4E0D\u662F\u4E00\u500B\u4EBA{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You are not alone.{\\r}\r\nDialogue:\ - \ 0,1:03:52.89,1:03:55.50,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4F60 \u4E26\u4E0D\u662F \u4E00\u500B\u4EBA{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}You are not alone.{\\r}\r\nDialogue: 0,1:04:20.92,1:04:22.48,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}RSS\u4E5F\u6709\u9019\u4FE1\u606F{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}It's coming in on the RSS\ - \ feeds.{\\r}\r\nDialogue: 0,1:04:22.69,1:04:24.56,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u4E26\u4E0D\u662F\u4E00\u500B\u4EBA\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You are not alone.{\\\ - r}\r\nDialogue: 0,1:04:25.19,1:04:27.23,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u624B\u6A5F\u4E0A\u4E5F\u6709{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}It's on my phone too.{\\r}\r\nDialogue:\ - \ 0,1:04:29.39,1:04:31.84,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u662F\u4F50\u5FB7\u5C07\u8ECD{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}My name is General Zod.{\\r}\r\nDialogue: 0,1:04:33.67,1:04:36.44,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4F86\u81EA\u4E00\u500B\u9059\u9060\ - \u7684\u661F\u7403{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I\ - \ come from a world far from yours.{\\r}\r\nDialogue: 0,1:04:37.84,1:04:42.34,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u7A7F\u8D8A\u4E86\u832B\u832B\u661F\ - \u6D77\u4F86\u627E\u4F60\u5011{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}I have journeyed across an ocean of stars to reach you.{\\r}\r\nDialogue:\ - \ 0,1:04:43.94,1:04:47.95,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4F60\u5011\u5E87\u8B77\u4E86\u6211\u7684\u4E00\u500B\u5B50\u6C11\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}For some time, your\ - \ world has sheltered one of my citizens.{\\r}\r\nDialogue: 0,1:04:48.58,1:04:51.79,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u73FE\u5728\u6211\u8981\u6C42\u4F60\u5011\ - \u628A\u4ED6\u4EA4\u51FA\u4F86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}I request that you return this individual...{\\r}\r\nDialogue: 0,1:04:52.05,1:04:54.19,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u7D66\u6211\u8655\u7406{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...to my custody.{\\r}\r\nDialogue:\ - \ 0,1:04:54.42,1:05:00.80,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u56E0\u70BA\u67D0\u4E9B\u539F\u56E0 \u4ED6\u9078\u64C7\u5411\u4F60\ - \u5011\u96B1\u779E\u4ED6\u7684\u5B58\u5728{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}For reasons unknown, he has chosen to keep his existence\ - \ a secret from you.{\\r}\r\nDialogue: 0,1:05:01.59,1:05:04.77,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u7AED\u76E1\u5168\u529B\u878D\u5165\ - \u4F60\u5011{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}He will\ - \ have made efforts to blend in.{\\r}\r\nDialogue: 0,1:05:05.36,1:05:07.04,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u770B\u8D77\u4F86\u548C\u4F60\u5011\ - \u76F8\u4F3C{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}He will\ - \ look like you.{\\r}\r\nDialogue: 0,1:05:07.77,1:05:10.37,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F46\u4ED6\u4E0D\u662F\u540C\u65CF{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}But he is not one of\ - \ you.{\\r}\r\nDialogue: 0,1:05:11.57,1:05:13.41,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5982\u679C\u6709\u8AB0\u77E5\u9053{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}To those of you who\ - \ may know...{\\r}\r\nDialogue: 0,1:05:13.64,1:05:15.64,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u7684\u4F4D\u7F6E{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...of his current location.{\\r}\r\ - \nDialogue: 0,1:05:15.91,1:05:18.44,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u90A3\u4F60\u5011\u661F\u7403\u7684\u547D\u904B{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...the fate of your planet...{\\\ - r}\r\nDialogue: 0,1:05:18.71,1:05:21.38,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5C31\u5728\u4F60\u624B\u4E2D\u4E86{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...rests in your hands.{\\r}\r\nDialogue:\ - \ 0,1:05:22.45,1:05:25.49,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u5361\u723E\u2022\u827E\u723E \u807D\u5230\u4E86\u55CE\uFF1F{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}To Kai-El, I say this:{\\\ - r}\r\nDialogue: 0,1:05:27.55,1:05:30.23,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}24\u5C0F\u6642\u5167\u51FA\u4F86\u6295\u964D{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Surrender within 24 hours...{\\\ - r}\r\nDialogue: 0,1:05:34.49,1:05:37.97,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6216\u8005\u8B93\u6574\u500B\u4E16\u754C\u4F86\u627F\ - \u64D4\u5F8C\u679C{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...or\ - \ watch this world suffer the consequences...{\\r}\r\nDialogue: 0,1:05:53.24,1:05:55.09,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5011\u5C0D\u4ED6\u4E00\u7121\u6240\ - \u77E5 \u5C0D\u55CE\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}We hardly know anything about him, isn't that right?{\\r}\r\nDialogue:\ - \ 0,1:05:55.25,1:05:57.25,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u5982\u679C\u4ED6\u771F\u7684\u4E0D\u60F3\u5BB3\u6211\u5011{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}If he truly means us no\ - \ harm...{\\r}\r\nDialogue: 0,1:05:57.48,1:05:59.98,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u4ED6\u61C9\u8A72\u56DE\u6B78\u4ED6\ - \u7684\u65CF\u4EBA \u53BB\u627F\u64D4\u5F8C\u679C{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}...he'll turn himself in and face the consequences.{\\\ - r}\r\nDialogue: 0,1:06:00.12,1:06:01.32,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5982\u679C\u4ED6\u4E0D\u80AF\u53BB{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}And if he won't do that...{\\r}\r\n\ - Dialogue: 0,1:06:01.59,1:06:03.59,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u4E5F\u8A31\u6211\u5011\u8A72\u9001\u4ED6\u53BB{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...then maybe we should.{\\\ - r}\r\nDialogue: 0,1:06:03.82,1:06:06.80,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u300A\u661F\u7403\u65E5\u5831\u300B\u7684\u9732\u6613\ - \u7D72\u2022\u84EE\u6069\u77E5\u9053\u4ED6\u662F\u8AB0{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The Daily Planet's Lois Lane knows\ - \ who this guy is. She's...{\\r}\r\nDialogue: 0,1:06:07.03,1:06:08.43,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u8A8D\u70BA\u5979\u662F\u6211\u5011\ - \u8A72\u8CEA\u554F\u7684\u4EBA{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...the one we should be questioning.{\\r}\r\nDialogue: 0,1:06:08.93,1:06:11.67,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u7B49\u7B49 \u4F60\u662F\u8AAA\u9732\u6613\ - \u7D72\u2022\u84EE\u6069 - \u4F60\u597D{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}- Hold on. You're saying Lois Lane... - Hello?{\\\ - r}\r\nDialogue: 0,1:06:11.93,1:06:14.43,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F60\u5728\u770B\u65B0\u805E\u55CE\uFF1F\u64AD\u4E86\ - \u4E00\u65E9\u4E0A\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Are you watching this crap? Been running all morning.{\\r}\r\nDialogue:\ - \ 0,1:06:14.67,1:06:16.98,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u9019\u6B21\u6211\u7ADF\u7136\u5B8C\u5168\u540C\u610F\u4F0D\u5FB7\ - \u4F2F\u6069\u7684\u89C0\u9EDE \u4F60\u898B\u904E\u4ED6\u55CE\uFF1F{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}For once I agree with Woodburn.\ - \ Have you seen him?{\\r}\r\nDialogue: 0,1:06:17.20,1:06:20.51,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u77E5\u9053\u4ED6\u5728\u54EA\u55CE\uFF1F\ - \ - \u4E0D\u77E5\u9053 \u5373\u4F7F\u77E5\u9053 \u6211\u4E5F\u4E0D\u6703\u8AAA\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- Do you know where\ - \ he is? - No. Even if I did, I wouldn't say.{\\r}\r\nDialogue: 0,1:06:20.77,1:06:23.95,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6574\u500B\u4E16\u754C\u5C8C\u5C8C\u53EF\ - \u5371{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The entire\ - \ world is being threatened here.{\\r}\r\nDialogue: 0,1:06:24.18,1:06:28.60,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9019\u53EF\u4E0D\u662F\u4F60\u5C55\u73FE\ - \u65B0\u805E\u9053\u5FB7\u7684\u6642\u5019{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}This is not time for you to fall back on journalistic\ - \ integrity.{\\r}\r\nDialogue: 0,1:06:28.65,1:06:30.13,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E8B\u614B\u56B4\u91CD\u4E86 \u9732\u6613\ - \u7D72{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}This is serious,\ - \ Lois.{\\r}\r\nDialogue: 0,1:06:30.35,1:06:33.33,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}FBI\u90FD\u4F86\u4E86 \u4ED6\u5011\u5728\ - \u8AAA\u53DB\u570B\u7F6A\u4EC0\u9EBC\u7684{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}The FBI is here. They're throwing around words like\ - \ \"treason.\"{\\r}\r\nDialogue: 0,1:06:33.55,1:06:35.22,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5F97\u8D70\u4E86{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I gotta go.{\\r}\r\nDialogue: 0,1:06:51.37,1:06:52.71,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}FBI \u8209\u8D77\u624B\u4F86{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}FBI. Hands up.{\\r}\r\nDialogue:\ - \ 0,1:06:52.97,1:06:54.75,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6254\u4E86\u888B\u5B50 \u99AC\u4E0A{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Drop the bag. Now.{\\r}\r\nDialogue: 0,1:07:01.65,1:07:04.01,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u64DA\u6211\u63A1\u8A2A\u7684\u653F\u5E9C\ - \u5B98\u54E1\u8AAA{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Regarding\ - \ the visitors themselves we know...{\\r}\r\nDialogue: 0,1:07:04.15,1:07:06.59,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u73FE\u5728\u6211\u5011\u6240\u77E5\u751A\ - \u5C11{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...very little.\ - \ According to government officials...{\\r}\r\nDialogue: 0,1:07:06.85,1:07:09.33,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5118\u7BA1\u4ED6\u5011\u7684\u8A9E\u8ABF\ - \u4E26\u4E0D\u53CB\u5584{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...the visitors do not represent a threat...{\\r}\r\nDialogue: 0,1:07:09.55,1:07:11.73,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F46\u4F86\u5BA2\u4E26\u4E0D\u4EE3\u8868\ - \u8457\u5A01\u8105{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...despite\ - \ the ominous tone of their message.{\\r}\r\nDialogue: 0,1:07:11.99,1:07:14.49,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u7576\u7136\u4E86 \u5927\u5BB6\u5FC3\u4E2D\ - \u90FD\u6709\u4E00\u500B\u7591\u554F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Then of course there's the question on everyone's mind:{\\\ - r}\r\nDialogue: 0,1:07:14.73,1:07:18.54,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u9019\u500B\u5361\u723E\u2022\u827E\u723E\u662F\u8AB0\ - \uFF1F\u4ED6\u771F\u7684\u5B58\u5728\u55CE\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}\"Who is this Kai-El person? Does he actually exist?\"\ - {\\r}\r\nDialogue: 0,1:07:18.76,1:07:21.44,chs,,0000,0000,0000,,{\\fn\u534E\ - \u6587\u6977\u4F53\\blur3}\u4ED6\u5982\u4F55\u5728\u6211\u5011\u4E4B\u4E2D\ - \u96B1\u85CF\u4E86\u9019\u9EBC\u4E45\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}\"How could he have remained hidden from us for so\ - \ long?\"{\\r}\r\nDialogue: 0,1:07:26.07,1:07:27.38,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F86\u554A \u80AF\u7279{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Come on, Kent.{\\r}\r\nDialogue: 0,1:07:34.45,1:07:35.55,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F86\u554A \u6253\u56DE\u4F86\u554A{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Come on. Fight back.{\\\ - r}\r\nDialogue: 0,1:07:35.78,1:07:37.38,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u7AD9\u8D77\u4F86 \u80AF\u7279{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Get up, Kent.{\\r}\r\nDialogue: 0,1:07:40.69,1:07:42.06,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5C31\u9019\u9EDE\u6C34\u5E73{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}So is that it?{\\r}\r\nDialogue:\ - \ 0,1:07:42.52,1:07:44.02,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4F60\u5C31\u9019\u9EDE\u5BE6\u529B\u55CE\uFF1F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Is that all you've got?{\\r}\r\nDialogue:\ - \ 0,1:07:45.69,1:07:47.19,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4F86\u554A \u80AF\u7279{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Come on, Kent.{\\r}\r\nDialogue: 0,1:07:48.43,1:07:49.80,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u904E\u4F86{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Come on!{\\r}\r\nDialogue: 0,1:08:18.42,1:08:19.56,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u5011\u50B7\u5230\u4F60\u4E86\u55CE\ - \uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Did they hurl\ - \ you?{\\r}\r\nDialogue: 0,1:08:20.83,1:08:22.54,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u77E5\u9053\u90A3\u4E0D\u53EF\u80FD\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You know they can't.{\\\ - r}\r\nDialogue: 0,1:08:22.59,1:08:25.47,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u4E0D\u662F\u90A3\u500B\u610F\u601D \u6211\u662F\ - \u8AAA \u4F60\u9084\u597D\u55CE\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}That's not what I meant. I meant, are you all right?{\\\ - r}\r\nDialogue: 0,1:08:27.47,1:08:29.78,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u60F3\u75DB\u6241\u90A3\u500B\u5C41\u5B69 \u6211\ - \u60F3\u72E0\u72E0\u5730\u63CD\u4ED6{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}I wanted to hit that kid. I wanted to hit him bad.{\\r}\r\ - \nDialogue: 0,1:08:30.00,1:08:31.48,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u77E5\u9053\u4F60\u60F3{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}I know you did. I mean...{\\r}\r\nDialogue:\ - \ 0,1:08:31.74,1:08:34.44,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u751A\u81F3\u4E5F\u60F3\u8B93\u4F60\u63CD\u4ED6 \u53EF\u662F\ - \u7136\u5F8C\u5462\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...part of me even wanted you to, but then what?{\\r}\r\nDialogue: 0,1:08:35.14,1:08:36.91,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u5C31\u6703\u9AD8\u8208\u4E86\u55CE\ - \uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Make you feel\ - \ any better?{\\r}\r\nDialogue: 0,1:08:39.68,1:08:43.68,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u53EA\u9700\u8981\u6C7A\u5B9A\u4F60\ - \u60F3\u6210\u9577\u70BA\u4EC0\u9EBC\u6A23\u7684\u4EBA \u514B\u62C9\u514B\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You just have to\ - \ decide what kind of man you want to grow up to be, Clark.{\\r}\r\nDialogue:\ - \ 0,1:08:43.95,1:08:47.66,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u56E0\u70BA\u7121\u8AD6\u6210\u70BA\u4EC0\u9EBC\u6A23 \u597D\u4EBA\ - \u6216\u662F\u58DE\u4EBA \u4F60\u90FD\u6703...{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Because whoever that man is, good character or bad,\ - \ he's...{\\r}\r\nDialogue: 0,1:08:49.29,1:08:51.43,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6539\u8B8A\u9019\u500B\u4E16\u754C{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}He's gonna change the\ - \ world.{\\r}\r\nDialogue: 0,1:08:56.66,1:08:58.02,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u8166\u4E2D\u6240\u616E\u70BA\u4F55\ - \u4E8B\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}What's\ - \ on your mind?{\\r}\r\nDialogue: 0,1:09:03.77,1:09:05.04,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4E0D\u77E5\u5F9E\u4F55\u8AAA\u8D77\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I don't know where\ - \ to start.{\\r}\r\nDialogue: 0,1:09:05.67,1:09:07.27,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6089\u807D\u5C0A\u4FBF{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Wherever you want.{\\r}\r\nDialogue:\ - \ 0,1:09:09.44,1:09:11.55,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6628\u665A\u51FA\u73FE\u7684\u98DB\u8239{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}That ship that appeared last night.{\\\ - r}\r\nDialogue: 0,1:09:12.88,1:09:14.69,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u5C31\u662F\u4ED6\u5011\u8981\u627E\u7684\u4EBA\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I'm the one they're\ - \ looking for.{\\r}\r\nDialogue: 0,1:09:19.18,1:09:20.69,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u77E5\u9053{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Do you know...{\\r}\r\nDialogue: 0,1:09:21.49,1:09:22.62,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u5011\u627E\u4F60\u7684\u539F\u56E0\ - \u55CE\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...why\ - \ they want you?{\\r}\r\nDialogue: 0,1:09:22.85,1:09:25.46,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E0D \u4F46\u9019\u500B\u4F50\u5FB7\u5C07\ - \u8ECD{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}No. But this\ - \ General Zod...{\\r}\r\nDialogue: 0,1:09:25.69,1:09:29.70,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5373\u4F7F\u6211\u6295\u964D \u4ED6\u4E5F\ - \u672A\u5FC5\u6703\u4FE1\u5B88\u8AFE\u8A00{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}...even if I surrender, there's no guarantee he'll\ - \ keep his word, but...{\\r}\r\nDialogue: 0,1:09:29.96,1:09:33.97,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F46\u82E5\u6211\u6295\u964D\u5C31\u53EF\ - \u4EE5\u62EF\u6551\u5730\u7403\u7684\u8A71{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}...if there's a chance I can save Earth by turning\ - \ myself in...{\\r}\r\nDialogue: 0,1:09:35.57,1:09:37.40,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u96E3\u9053\u6211\u4E0D\u8A72\u9019\u9EBC\ - \u505A\u55CE\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...shouldn't\ - \ I take it?{\\r}\r\nDialogue: 0,1:09:38.20,1:09:40.08,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u7684\u76F4\u89BA\u5462\uFF1F{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}What does your gut\ - \ tell you?{\\r}\r\nDialogue: 0,1:09:40.81,1:09:42.51,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F50\u5FB7\u4E0D\u53EF\u4FE1{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Zod can't be trusted.{\\r}\r\ - \nDialogue: 0,1:09:45.14,1:09:46.71,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u554F\u984C\u662F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}The problem is...{\\r}\r\nDialogue: 0,1:09:47.75,1:09:50.95,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4E5F\u4E0D\u77E5\u9053\u5730\u7403\ - \u7684\u4EBA\u6C11\u53EF\u4E0D\u53EF\u4FE1{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}...I'm not sure the people of Earth can be either.{\\\ - r}\r\nDialogue: 0,1:09:58.36,1:10:01.34,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6709\u6642\u5019\u4F60\u5FC5\u9808\u5805\u4FE1\u4E0D\ - \u7591{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Sometimes\ - \ you have to take a leap of faith first.{\\r}\r\nDialogue: 0,1:10:02.73,1:10:04.76,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4FE1\u4EFB\u6703\u96A8\u4E4B\u800C\u4F86\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The trust part comes\ - \ later.{\\r}\r\nDialogue: 0,1:10:28.92,1:10:32.03,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u597D\u4E86 \u6211\u5011\u6CE8\u610F\u5230\ - \u4F60\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}All\ - \ right. You've got our attention.{\\r}\r\nDialogue: 0,1:10:32.12,1:10:33.12,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u60F3\u600E\u9EBC\u6A23\uFF1F{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}What is it you want?{\\\ - r}\r\nDialogue: 0,1:10:33.39,1:10:35.20,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u8981\u548C\u9732\u6613\u7D72\u2022\u84EE\u6069\ - \u8AC7\u8A71{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I would\ - \ like to speak to Lois Lane.{\\r}\r\nDialogue: 0,1:10:35.43,1:10:37.11,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u6191\u4EC0\u9EBC\u8A8D\u70BA\u5979\ - \u5728\u9019\u88CF\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}What makes you think she's here?{\\r}\r\nDialogue: 0,1:10:37.63,1:10:39.70,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5225\u6D6A\u8CBB\u6642\u9593 \u5C07\u8ECD\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Don't play games\ - \ with me, general.{\\r}\r\nDialogue: 0,1:10:39.93,1:10:43.94,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u53EA\u8981\u4F60\u5011\u80FD\u4FDD\u8B49\ - \u9732\u6613\u7D72\u7684\u81EA\u7531 \u6211\u5C31\u6295\u964D{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I'll surrender, but only if you guarantee\ - \ Lois's freedom.{\\r}\r\nDialogue: 0,1:10:54.05,1:10:55.99,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u70BA\u4EC0\u9EBC\u5411\u4F50\u5FB7\ - \u6295\u964D\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Why\ - \ are you surrendering to Zod?{\\r}\r\nDialogue: 0,1:10:57.22,1:11:00.82,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u662F\u5411\u4EBA\u985E\u5C48\u670D\ - \ \u9019\u4E26\u4E0D\u4E00\u6A23{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}I'm surrendering to mankind. There's a difference.{\\r}\r\nDialogue:\ - \ 0,1:11:01.95,1:11:03.90,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4F60\u8B93\u4ED6\u5011\u628A\u4F60\u92AC\u8D77\u4F86\u4E86\u55CE\ - \uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You let them\ - \ handcuff you?{\\r}\r\nDialogue: 0,1:11:04.62,1:11:07.07,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u8981\u662F\u62B5\u6297 \u5C31\u4E0D\ - \u7B97\u662F\u6295\u964D\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Wouldn't be much of a surrender if I resisted.{\\r}\r\nDialogue: 0,1:11:08.56,1:11:10.60,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5982\u679C\u4ED6\u5011\u9019\u6A23\u505A\ - \u611F\u5230\u5B89\u5168{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}And if it makes them feel more secure...{\\r}\r\nDialogue: 0,1:11:11.66,1:11:13.51,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u9EBC \u5982\u4ED6\u5011\u6240\u9858\ - \u5427{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...then all\ - \ the better for it.{\\r}\r\nDialogue: 0,1:11:17.94,1:11:19.81,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}S\u9019\u500B\u5B57\u6BCD\u6709\u542B\u7FA9\ - \u55CE\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}What's\ - \ the S stand for?{\\r}\r\nDialogue: 0,1:11:22.74,1:11:24.31,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u4E0D\u662FS{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}It's not an S.{\\r}\r\nDialogue: 0,1:11:25.78,1:11:27.95,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5728\u6211\u7684\u661F\u7403 \u90A3\u4EE3\ - \u8868\u5E0C\u671B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}On\ - \ my world it means hope.{\\r}\r\nDialogue: 0,1:11:29.31,1:11:33.42,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u597D\u5427 \u5728\u5730\u7403\u9019\u5C31\ - \u662F\u500BS{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Well,\ - \ here, it's an S.{\\r}\r\nDialogue: 0,1:11:34.85,1:11:36.42,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u60F3\u60F3{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}How about...{\\r}\r\nDialogue: 0,1:11:41.99,1:11:43.03,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5148\u751F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Sir?{\\r}\r\nDialogue: 0,1:11:43.29,1:11:46.64,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u55E8 \u6211\u662F\u2026\u535A\u58EB\ - \ - \u57C3\u7C73\u723E\u2022\u6F22\u5BC6\u723E\u9813{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- Hi, my name is Dr. E... -\ - \ Emil Hamilton.{\\r}\r\nDialogue: 0,1:11:46.86,1:11:49.85,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u77E5\u9053 \u6211\u53EF\u4EE5\u770B\ - \u5230\u4F60\u4E0A\u8863\u53E3\u888B\u88CF\u7684\u8EAB\u4EFD\u5361{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I know, I can see your\ - \ ID tag in your breast pocket.{\\r}\r\nDialogue: 0,1:11:50.10,1:11:52.74,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9084\u6709\u4E00\u888B\u5403\u4E86\u4E00\ - \u534A\u7684\u7CD6{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Along\ - \ with a half-eaten roll of Lifesavers.{\\r}\r\nDialogue: 0,1:11:53.30,1:11:55.65,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4E5F\u80FD\u770B\u5230\u9694\u58C1\ - \u623F\u9593\u7684\u4E00\u968A\u58EB\u5175{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}I can also see the soldiers in the next room...{\\\ - r}\r\nDialogue: 0,1:11:55.87,1:11:58.18,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u9084\u6709\u4F60\u7684\u93AE\u58D3\u7528\u7279\u5DE5\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...preparing that\ - \ tranquilizing agent of yours.{\\r}\r\nDialogue: 0,1:11:58.44,1:11:59.89,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6C92\u5FC5\u8981\u7684{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You won't need it.{\\r}\r\nDialogue:\ - \ 0,1:12:00.14,1:12:03.18,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u5148\u751F \u6211\u5011\u4E0D\u53EF\u80FD\u6BEB\u7121\u6E96\u5099\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Sir, you can't expect\ - \ us to not take precautions.{\\r}\r\nDialogue: 0,1:12:03.45,1:12:05.86,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u5F88\u53EF\u80FD\u651C\u5E36\u4E86\ - \u5916\u661F\u75C5\u539F\u9AD4{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}You could be carrying some kind of alien pathogen.{\\r}\r\nDialogue:\ - \ 0,1:12:06.12,1:12:07.56,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u5DF2\u7D93\u5728\u9019\u88CF\u751F\u6D3B\u4E8633\u5E74\u4E86\ - \ \u535A\u58EB{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Been\ - \ here for 33 years, doctor.{\\r}\r\nDialogue: 0,1:12:07.82,1:12:10.83,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u9084\u6C92\u611F\u67D3\u4EFB\u4F55\u4EBA\ - \ - \u4E00\u9762\u4E4B\u8FAD\u800C\u5DF2{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}- Haven't infected anyone yet. - That you know\ - \ of. {\\r}\r\nDialogue: 0,1:12:10.83,1:12:12.68,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5011\u6709\u5B89\u5168\u65B9\u9762\ - \u7684\u8003\u616E{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We\ - \ have legitimate security concerns.{\\r}\r\nDialogue: 0,1:12:12.68,1:12:15.97,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u65E2\u7136\u4F60\u5411\u84EE\u6069\u5C0F\ - \u59D0\u900F\u9732\u4E86\u8EAB\u4EFD{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}You revealed your identity to Miss Lane over there.{\\\ - r}\r\nDialogue: 0,1:12:16.36,1:12:18.57,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u70BA\u4EC0\u9EBC\u6C92\u544A\u8A34\u6211\u5011\uFF1F\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Why won't you do\ - \ the same with us?{\\r}\r\nDialogue: 0,1:12:19.53,1:12:21.87,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5011\u628A\u8A71\u8AAA\u958B\u4E86\ - \u5427 \u5C07\u8ECD{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Let's\ - \ put our cards on the table here, general.{\\r}\r\nDialogue: 0,1:12:23.33,1:12:25.05,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u5011\u6015\u6211\u662F\u56E0\u70BA\ - \u4F60\u5011\u7121\u6CD5\u63A7\u5236\u6211{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}You're scared because you can't control me.{\\r}\r\ - \nDialogue: 0,1:12:25.64,1:12:28.17,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u73FE\u5728\u4E0D\u80FD \u4EE5\u5F8C\u4E5F\u4E0D\u80FD\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You don't, and you\ - \ never will.{\\r}\r\nDialogue: 0,1:12:29.01,1:12:30.99,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F46\u90A3\u4E26\u4E0D\u610F\u5473\u8457\ - \u6211\u662F\u6575\u4EBA{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}But that doesn't' mean I'm your enemy.{\\r}\r\nDialogue: 0,1:12:31.21,1:12:32.71,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u8AB0\u662F\u6575\u4EBA\uFF1F{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Then who is?{\\r}\r\ - \nDialogue: 0,1:12:32.98,1:12:34.39,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F50\u5FB7\u55CE\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Zod?{\\r}\r\nDialogue: 0,1:12:35.01,1:12:36.92,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u6B63\u662F\u64D4\u5FC3\u9019\u4E00\ - \u9EDE{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}That's what\ - \ I'm worried about.{\\r}\r\nDialogue: 0,1:12:37.01,1:12:38.72,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5C31\u7B97\u662F\u9019\u6A23{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Be that as it may...{\\r}\r\ - \nDialogue: 0,1:12:38.98,1:12:42.36,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u4E5F\u6536\u5230\u4E86\u547D\u4EE4\u8981\u628A\ - \u4F60\u4EA4\u7D66\u4ED6{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...I've been given orders to hand you over to him.{\\r}\r\nDialogue:\ - \ 0,1:12:42.99,1:12:44.86,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u505A\u4F60\u5FC5\u9808\u505A\u7684\u5427 \u5C07\u8ECD{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Do what you have to do, general.{\\\ - r}\r\nDialogue: 0,1:12:49.66,1:12:50.43,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u8B1D\u8B1D{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Thank you.{\\r}\r\nDialogue: 0,1:12:51.56,1:12:52.54,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8B1D\u4EC0\u9EBC\uFF1F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}For what?{\\r}\r\nDialogue: 0,1:12:53.70,1:12:55.27,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8B1D\u8B1D\u4F60\u4FE1\u4EFB\u6211{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}For believing in me.{\\\ - r}\r\nDialogue: 0,1:12:58.34,1:13:00.37,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5230\u6700\u5F8C\u4E5F\u6C92\u6539\u8B8A\u4EC0\u9EBC\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Didn't make much\ - \ difference in the end.{\\r}\r\nDialogue: 0,1:13:01.21,1:13:02.74,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6539\u8B8A\u4E86\u6211{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}It did to me.{\\r}\r\nDialogue: 0,1:13:23.36,1:13:24.90,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u5011\u4F86\u4E86{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}They're coming.{\\r}\r\nDialogue:\ - \ 0,1:13:25.70,1:13:27.20,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4F60\u8A72\u8D70\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}You should leave now.{\\r}\r\nDialogue: 0,1:13:30.30,1:13:31.87,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5FEB\u8D70 \u9732\u6613\u7D72{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Go, Lois.{\\r}\r\nDialogue:\ - \ 0,1:14:42.77,1:14:44.15,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u5361\u723E\u2022\u827E\u723E{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Kal-El.{\\r}\r\nDialogue: 0,1:14:44.68,1:14:46.71,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u662F\u526F\u6307\u63EE\u5B98\u8299\ - \u62C9\u2022\u5967{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I'm\ - \ sub-commander Faora-UI.{\\r}\r\nDialogue: 0,1:14:47.38,1:14:51.26,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4EE3\u8868\u4F50\u5FB7\u5C07\u8ECD \u5411\ - \u4F60\u554F\u5019{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}On\ - \ behalf of General Zod, I extend you his greetings.{\\r}\r\nDialogue: 0,1:14:56.69,1:14:59.79,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u4F60\u662F\u6307\u63EE\u5B98\u55CE\uFF1F\ - \ - \u6211\u662F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}-\ - \ Are you the ranking officer here? - I am.{\\r}\r\nDialogue: 0,1:15:00.02,1:15:04.20,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F50\u5FB7\u5C07\u8ECD\u5E0C\u671B\u9019\ - \u500B\u5973\u4EBA\u966A\u6211\u8D70{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}General Zod would like this woman to accompany me.{\\r}\r\ - \nDialogue: 0,1:15:04.83,1:15:06.67,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F60\u8981\u7684\u53EA\u662F\u4F60\u7684\u65CF\u4EBA\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You asked for the\ - \ alien.{\\r}\r\nDialogue: 0,1:15:07.40,1:15:10.35,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u4E26\u6C92\u6709\u8AAA\u8981\u5E36\ - \u8D70\u6211\u5011\u7684\u4EBA{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}You didn't say anything about one of our own.{\\r}\r\nDialogue: 0,1:15:10.57,1:15:13.71,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9700\u8981\u6211\u544A\u8A34\u5C07\u8ECD\ - \u4F60\u4E0D\u7B54\u61C9\u55CE\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Shall I tell the general you're unwilling to comply?{\\\ - r}\r\nDialogue: 0,1:15:13.97,1:15:15.85,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u4E0D\u5728\u4E4E\u4F60\u600E\u9EBC\u544A\u8A34\ - \u4ED6{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I don't care\ - \ what you tell him.{\\r}\r\nDialogue: 0,1:15:18.84,1:15:20.25,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6C92\u95DC\u4FC2{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}It's all right.{\\r}\r\nDialogue: 0,1:15:21.35,1:15:22.55,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u53BB{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}I'll go.{\\r}\r\nDialogue: 0,1:16:05.39,1:16:09.24,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4EBA\u985E\u7121\u6CD5\u9069\u61C9\u6211\ - \u5011\u98DB\u8239\u4E2D\u7684\u5927\u6C23\u6210\u5206{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The atmospheric composition on our\ - \ ship is not compatible with humans.{\\r}\r\nDialogue: 0,1:16:09.46,1:16:10.87,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u904E\u53BB\u4EE5\u5F8C \u4F60\u5FC5\u9808\ - \u5E36\u4E0A\u547C\u5438\u5668{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}You need to wear a breather...{\\r}\r\nDialogue: 0,1:16:11.10,1:16:12.77,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E0D\u8981\u9760\u8FD1{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...beyond this point.{\\r}\r\nDialogue:\ - \ 0,1:16:37.92,1:16:38.83,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u5361\u723E\u2022\u827E\u723E{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Kal-El.{\\r}\r\nDialogue: 0,1:16:40.79,1:16:42.43,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u90FD\u4E0D\u77E5\u9053{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You have no idea how long...{\\\ - r}\r\nDialogue: 0,1:16:42.66,1:16:44.73,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u5011\u627E\u4E86\u4F60\u591A\u4E45{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...we've been searching for\ - \ you.{\\r}\r\nDialogue: 0,1:16:45.16,1:16:46.16,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u60F3\u4F60\u5C31\u662F\u4F50\u5FB7\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I take it you're\ - \ Zod?{\\r}\r\nDialogue: 0,1:16:46.43,1:16:47.57,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u662F\u4F50\u5FB7\u5C07\u8ECD{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}General Zod.{\\r}\r\nDialogue:\ - \ 0,1:16:47.80,1:16:49.61,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}- \u6211\u5011\u7684\u7D71\u9818 - \u6C92\u95DC\u4FC2 \u8299\u62C9\ - \u2022\u5967{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- Our\ - \ commander. - It's all right, Faora.{\\r}\r\nDialogue: 0,1:16:49.83,1:16:52.51,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u539F\u8AD2\u5361\u723E\u7684\u7121\u79AE\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We can forgive Kal\ - \ any lapses in decorum.{\\r}\r\nDialogue: 0,1:16:52.77,1:16:54.68,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u9084\u4E0D\u719F\u6089\u6211\u5011\ - \u7684\u79AE\u5100{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}He's\ - \ a stranger to our ways.{\\r}\r\nDialogue: 0,1:16:54.94,1:16:58.40,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5011\u61C9\u8A72\u597D\u597D\u6176\ - \u795D\u4E00\u4E0B \u800C\u4E0D\u8A72\u722D\u5435{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}This should be cause for celebration, not conflict.{\\\ - r}\r\nDialogue: 0,1:16:59.51,1:17:01.68,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5225\u885D\u7A81{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Not conflict.{\\r}\r\nDialogue: 0,1:17:04.12,1:17:05.15,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211...{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}I...{\\r}\r\nDialogue: 0,1:17:05.42,1:17:06.62,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u611F\u89BA\u4E0D\u8212\u670D{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...feel strange.{\\r}\r\nDialogue:\ - \ 0,1:17:09.35,1:17:10.66,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u5F88\u865B\u5F31{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Weak.{\\r}\r\nDialogue: 0,1:17:12.86,1:17:14.06,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u600E\u9EBC\u4E86\uFF1F{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}What's happening to him?{\\\ - r}\r\nDialogue: 0,1:17:14.26,1:17:16.80,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4ED6\u7684\u8EAB\u9AD4\u5C0D\u8239\u4E0A\u7684\u5927\ - \u6C23\u6709\u6392\u65A5{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}He's rejecting our ship's atmospherics.{\\r}\r\nDialogue: 0,1:17:17.03,1:17:17.63,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u514B\u62C9\u514B{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Clark.{\\r}\r\nDialogue: 0,1:17:17.86,1:17:20.54,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u7528\u4E86\u4E00\u8F29\u5B50\u4F86\ - \u9069\u61C9\u5730\u7403\u7684\u74B0\u5883{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}You've spent a lifetime adapting to Earth's ecology...{\\\ - r}\r\nDialogue: 0,1:17:20.70,1:17:21.64,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u537B\u9069\u61C9\u4E0D\u4E86\u6211\u5011\u81EA\u5DF1\ - \u7684{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...but never\ - \ adapted to ours.{\\r}\r\nDialogue: 0,1:17:21.80,1:17:22.83,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5FEB\u5E6B\u5E6B\u4ED6{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Help him.{\\r}\r\nDialogue: 0,1:17:24.87,1:17:27.11,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u514B\u62C9\u514B{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Clark.{\\r}\r\nDialogue: 0,1:17:28.47,1:17:29.78,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5E6B\u5E6B\u4ED6{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Help him.{\\r}\r\nDialogue: 0,1:17:31.54,1:17:32.71,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5FEB\u5E6B\u5E6B\u4ED6{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Help him.{\\r}\r\nDialogue: 0,1:17:44.36,1:17:45.89,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u597D \u5361\u723E{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Hello, Kal.{\\r}\r\nDialogue: 0,1:17:47.56,1:17:49.63,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9084\u662F\u4F60\u66F4\u559C\u6B61\u6211\ - \u53EB\u4F60\u514B\u62C9\u514B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Or do you prefer Clark?{\\r}\r\nDialogue: 0,1:17:50.36,1:17:51.74,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u662F\u4ED6\u5011\u7D66\u4F60\u8D77\ - \u7684\u540D\u5B57{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}That's\ - \ the name they gave you.{\\r}\r\nDialogue: 0,1:17:52.00,1:17:53.30,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E0D\u662F\u55CE\uFF1F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Isn't it?{\\r}\r\nDialogue: 0,1:17:54.57,1:17:56.31,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u66FE\u662F\u6C2A\u661F\u7684\u8ECD\ - \u4E8B\u7D71\u9818{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I\ - \ was Krypton's military leader...{\\r}\r\nDialogue: 0,1:17:56.53,1:17:58.98,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u800C\u4F60\u7236\u89AA\u662F\u6211\u5011\ - \u7684\u9996\u5E2D\u79D1\u5B78\u5BB6{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}...your father our foremost scientist.{\\r}\r\nDialogue:\ - \ 0,1:17:59.20,1:18:00.65,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u5011\u552F\u4E00\u9054\u6210\u5171\u8B58\u7684\u4E00\u9EDE\ - \u5C31\u662F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The\ - \ only thing we agreed on...{\\r}\r\nDialogue: 0,1:18:00.87,1:18:02.75,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6C2A\u661F\u5C31\u8981\u6BC0\u6EC5\u4E86\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...was that Krypton\ - \ was dying. {\\r}\r\nDialogue: 0,1:18:02.75,1:18:06.41,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u62DA\u547D\u4FDD\u8B77\u6211\u5011\ - \u7684\u6587\u5316{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}In\ - \ return for my efforts to protect our civilization...{\\r}\r\nDialogue: 0,1:18:06.68,1:18:08.75,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4FDD\u885B\u6211\u5011\u7684\u661F\u7403\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...and save our\ - \ planet...{\\r}\r\nDialogue: 0,1:18:09.01,1:18:13.02,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5F97\u5230\u7684\u56DE\u5831\u537B\u662F\ - \u6211\u5011\u90FD\u88AB\u653E\u9010\u5230\u5E7D\u9748\u5340{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...I and my fellow officers were sentenced\ - \ to the Phantom Zone.{\\r}\r\nDialogue: 0,1:18:15.99,1:18:21.30,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u800C\u6211\u5011\u661F\u7403\u7684\u6BC0\ - \u6EC5\u537B\u8B93\u6211\u5011\u91CD\u7372\u81EA\u7531{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}And then the destruction of our world\ - \ freed us.{\\r}\r\nDialogue: 0,1:18:26.16,1:18:27.92,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5011\u56DB\u8655\u6F02\u6CCA{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We were adrift, {\\\ - r}\r\nDialogue: 0,1:18:27.92,1:18:31.85,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6CE8\u5B9A\u6F02\u6D41\u5728\u6211\u5011\u661F\u7403\ - \u7684\u6B98\u9AB8\u4E4B\u4E2D{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}destined to float amongst the ruins of our planet...{\\r}\r\nDialogue:\ - \ 0,1:18:32.07,1:18:33.95,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u76F4\u81F3\u6B7B\u4EA1{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...until we starved.{\\r}\r\nDialogue: 0,1:18:34.84,1:18:36.52,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u5011\u662F\u600E\u9EBC\u627E\u5230\ - \u5730\u7403\u4F86\u7684\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}How did you find your way to Earth?{\\r}\r\nDialogue: 0,1:18:37.21,1:18:41.21,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5011\u628A\u5E7D\u9748\u63A8\u9032\ - \u5668\u6539\u9020\u6210\u4E86\u9AD8\u901F\u98DB\u884C\u5668{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We managed to retrofit the phantom\ - \ projector into a hyperdrive.{\\r}\r\nDialogue: 0,1:18:41.71,1:18:45.49,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u7236\u89AA\u4E5F\u662F\u5C0D\u98DB\ - \u8239\u505A\u4E86\u985E\u4F3C\u7684\u4FEE\u6539 \u628A\u4F60\u9001\u5230\u4E86\ - \u9019\u88CF{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Your\ - \ father made a similar modification to the craft that brought you here.{\\\ - r}\r\nDialogue: 0,1:18:46.92,1:18:50.02,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6240\u4EE5\u56DA\u7981\u6211\u5011\u7684\u5DE5\u5177\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}And so the instrument\ - \ of our damnation...{\\r}\r\nDialogue: 0,1:18:52.06,1:18:53.87,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u540C\u6642\u4E5F\u62EF\u6551\u4E86\u6211\ - \u5011{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...became\ - \ our salvation.{\\r}\r\nDialogue: 0,1:18:58.80,1:19:01.30,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5011\u627E\u904D\u4E86\u820A\u6B96\ - \u6C11\u5730\u7684\u524D\u54E8\u7AD9{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}We sought out the old colonial outposts...{\\r}\r\nDialogue:\ - \ 0,1:19:01.57,1:19:03.77,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u60F3\u8981\u5C0B\u627E\u751F\u547D\u7684\u8DE1\u8C61{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...looking for signs of life.{\\\ - r}\r\nDialogue: 0,1:19:06.24,1:19:09.05,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F46\u627E\u5230\u7684\u53EA\u6709\u6B7B\u4EA1{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}But all we found was death.{\\\ - r}\r\nDialogue: 0,1:19:10.04,1:19:12.61,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u9019\u4E9B\u524D\u54E8\u7AD9\u65E9\u548C\u6C2A\u661F\ - \u5931\u53BB\u806F\u7D61{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Cut off from Krypton, these outposts...{\\r}\r\nDialogue: 0,1:19:12.88,1:19:15.08,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4EE5\u5F8C\u5C31\u5EE2\u68C4\u4E86{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...withered and died\ - \ long ago.{\\r}\r\nDialogue: 0,1:19:15.58,1:19:17.56,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5011\u628A\u80FD\u7528\u7684\u90FD\ - \u5E36\u8D70\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We\ - \ salvaged what we could...{\\r}\r\nDialogue: 0,1:19:17.78,1:19:19.49,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u76D4\u7532 \u6B66\u5668{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...armor, weapons...{\\r}\r\nDialogue:\ - \ 0,1:19:19.75,1:19:21.66,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u9084\u6709\u4E00\u500B\u4E16\u754C\u5F15\u64CE{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...even a world engine.{\\r}\r\nDialogue:\ - \ 0,1:19:23.42,1:19:25.30,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u5011\u6E96\u5099\u4E8633\u5E74{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}For 33 years we prepared...{\\r}\r\nDialogue: 0,1:19:26.79,1:19:29.57,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u76F4\u5230\u6211\u5011\u5075\u6E2C\u5230\ - \u4E00\u500B\u6C42\u6551\u4FE1\u865F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}...until finally we detected a distress beacon...{\\r}\r\ - \nDialogue: 0,1:19:29.79,1:19:34.50,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u662F\u4F60\u5728\u8001\u5075\u5BDF\u6A5F\u88CF\u767C\ - \u51FA\u7684{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...which\ - \ you triggered when you accessed the ancient scout ship.{\\r}\r\nDialogue:\ - \ 0,1:19:35.47,1:19:38.00,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u662F\u4F60\u628A\u6211\u5011\u5E36\u5230\u9019\u88CF\u7684 \u5361\ - \u723E{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You led us\ - \ here, Kal.{\\r}\r\nDialogue: 0,1:19:39.14,1:19:44.70,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u73FE\u5728\u4F60\u6709\u80FD\u529B\u62EF\ - \u6551\u6211\u5011\u7684\u7A2E\u65CF{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Now it's within your power to save what remains of your\ - \ race.{\\r}\r\nDialogue: 0,1:19:49.11,1:19:50.35,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5728\u6C2A\u661F\u4E0A{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}On Krypton...{\\r}\r\nDialogue: 0,1:19:50.61,1:19:53.25,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6240\u6709\u672A\u51FA\u751F\u5B69\u5B50\ - \u7684\u907A\u50B3\u57FA\u56E0{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...the genetic template for every being yet to be born...{\\r}\r\nDialogue:\ - \ 0,1:19:53.48,1:19:56.02,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u90FD\u88AB\u7DE8\u5BEB\u5728\u516C\u6C11\u6A94\u6848\u88CF{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...is encoded in the registry\ - \ of citizens.{\\r}\r\nDialogue: 0,1:19:56.69,1:19:58.83,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u7236\u89AA\u5077\u8D70\u4E86\u6A94\ - \u6848\u7684\u5BC6\u5178{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Your father stole the registry's Codex...{\\r}\r\nDialogue: 0,1:19:59.09,1:20:01.93,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u85CF\u5728\u4E86\u5E36\u4F60\u4F86\u7684\ - \u592A\u7A7A\u8259\u88CF{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...and stored it in the capsule that brought you here.{\\r}\r\nDialogue:\ - \ 0,1:20:02.63,1:20:03.47,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u70BA\u4EC0\u9EBC\u5462\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}For what purpose?{\\r}\r\nDialogue: 0,1:20:04.53,1:20:09.90,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9019\u6A23\u6C2A\u661F\u5C31\u80FD\u5728\ - \u5730\u7403\u4E0A\u91CD\u751F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}So that Krypton can live again on Earth.{\\r}\r\nDialogue: 0,1:20:29.52,1:20:31.63,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5BC6\u5178\u5728\u54EA\u88CF \u5361\u723E\ - \uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Where is the\ - \ Codex, Kal?{\\r}\r\nDialogue: 0,1:20:33.29,1:20:35.13,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5982\u679C\u6C2A\u661F\u91CD\u751F{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}If Krypton lives again...{\\\ - r}\r\nDialogue: 0,1:20:36.29,1:20:37.67,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5730\u7403\u6703\u600E\u9EBC\u6A23\uFF1F{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...what happens to Earth?{\\\ - r}\r\nDialogue: 0,1:20:38.70,1:20:42.20,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u91CD\u751F\u7E3D\u9700\u8981\u5EFA\u7ACB\u5728\u6BC0\ - \u6EC5\u4E4B\u4E0A{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The\ - \ foundation has to be built on something.{\\r}\r\nDialogue: 0,1:20:42.47,1:20:45.24,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9023\u4F60\u7236\u89AA\u90FD\u77E5\u9053\ - \u9019\u4E00\u9EDE{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Even\ - \ your father recognized that.{\\r}\r\nDialogue: 0,1:20:51.71,1:20:54.02,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E0D \u4F50\u5FB7{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}No, Zod.{\\r}\r\nDialogue: 0,1:20:55.18,1:20:56.79,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4E0D\u6703\u5E6B\u4F60\u7684{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I can't be a part of\ - \ this.{\\r}\r\nDialogue: 0,1:20:57.21,1:20:58.92,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u9EBC\u4F60\u6703\u5E6B\u8AB0\u5462\ - \uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Then what\ - \ can you be a part of?{\\r}\r\nDialogue: 0,1:20:59.52,1:21:00.72,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E0D{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}No!{\\r}\r\nDialogue: 0,1:21:01.92,1:21:02.52,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F50\u5FB7{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Zod!{\\r}\r\nDialogue: 0,1:21:04.02,1:21:04.73,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E0D{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}No!{\\r}\r\nDialogue: 0,1:21:05.89,1:21:07.53,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E0D{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}No!{\\r}\r\nDialogue: 0,1:21:13.56,1:21:17.00,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u7684\u7236\u89AA\u70BA\u69AE\u8B7D\ - \u737B\u51FA\u4E86\u81EA\u5DF1{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Your father acquitted himself with honor, Kal.{\\r}\r\nDialogue: 0,1:21:19.84,1:21:21.78,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u662F\u4F60\u6BBA\u4E86\u4ED6\uFF1F{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You killed him?{\\\ - r}\r\nDialogue: 0,1:21:22.17,1:21:23.52,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u662F\u7684{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}I did.{\\r}\r\nDialogue: 0,1:21:24.11,1:21:27.52,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u6C38\u9060\u90FD\u64FA\u812B\u4E0D\ - \u4E86\u9019\u4EF6\u4E8B\u7684\u9670\u5F71{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}And not a day goes by where it doesn't haunt me.{\\\ - r}\r\nDialogue: 0,1:21:28.88,1:21:31.22,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F46\u5982\u679C\u91CD\u4F86\u4E00\u6B21 \u6211\u9084\ - \u662F\u6703\u9019\u9EBC\u505A{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}But if I had to do it again, I would.{\\r}\r\nDialogue: 0,1:21:31.45,1:21:34.92,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u8981\u5C0D\u6211\u7684\u4EBA\u6C11\ - \u8CA0\u8CAC{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I have\ - \ a duty to my people...{\\r}\r\nDialogue: 0,1:21:35.19,1:21:39.59,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4E0D\u6703\u8B93\u4EFB\u4F55\u4EBA\ - \u963B\u6B62\u6211{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...and\ - \ I will not allow anyone to prevent me from carrying it out.{\\r}\r\nDialogue:\ - \ 0,1:21:55.64,1:21:57.28,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u90A3\u662F\u4EC0\u9EBC \u5C11\u6821\uFF1F{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}What's the sit-rep, major?{\\r}\r\nDialogue:\ - \ 0,1:21:57.91,1:22:00.29,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u5075\u6E2C\u5230\u5169\u67B6\u6575\u6A5F\u5F9E\u5916\u661F\u98DB\ - \u8239\u4E2D\u767C\u5C04{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}DSP pinged two bogeys launching from the alien ship.{\\r}\r\nDialogue:\ - \ 0,1:22:00.54,1:22:02.65,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}- \u87A2\u5E55\u986F\u793A - \u597D\u7684 \u9577\u5B98{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- Put it up. - Yes, sir.{\\\ - r}\r\nDialogue: 0,1:22:03.08,1:22:04.15,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5C31\u662F\u9019\u500B{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}There it is.{\\r}\r\nDialogue: 0,1:22:04.42,1:22:05.22,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u63A5\u7121\u7DDA\u96FB4\u865F{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Re-task IKon-4...{\\r}\r\n\ - Dialogue: 0,1:22:05.45,1:22:07.90,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}- \u518D\u62C9\u8FD1\u9EDE - \u597D\u7684{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- ...and get me a closer look. \ - \ - Yes, sir.{\\r}\r\nDialogue: 0,1:22:08.22,1:22:09.39,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6307\u63EE\u90E8{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Command, the word...{\\r}\r\nDialogue:\ - \ 0,1:22:09.39,1:22:10.56,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4ECA\u5929\u7684\u6697\u865F\u662F\u4E09\u53C9\u621F{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...of the day is trident.{\\\ - r}\r\nDialogue: 0,1:22:10.79,1:22:12.89,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6709\u5169\u67B6\u5916\u661F\u98DB\u8239\u6B63\u5728\ - \u63A5\u8FD1{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We have\ - \ two alien craft on aggressive approach.{\\r}\r\nDialogue: 0,1:22:13.12,1:22:14.76,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u7121\u7DDA\u96FB4\u865F\u5DF2\u63A5\u901A\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Ikon-4 coming online.{\\\ - r}\r\nDialogue: 0,1:22:14.99,1:22:15.80,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u901F\u5EA6\u6709\u591A\u5FEB\uFF1F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Air speed?{\\r}\r\nDialogue: 0,1:22:16.06,1:22:17.58,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}380\u6D77\u91CC \u6B63\u5728\u9032\u5165\ - \u582A\u85A9\u65AF\u5DDE\u4E0A\u7A7A{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}380 knots, entering Kansas...{\\r}\r\nDialogue: 0,1:22:17.73,1:22:19.73,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u5011\u4E0D\u56DE\u61C9\u6211\u5011\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...airspace. Not\ - \ responding to our hails.{\\r}\r\nDialogue: 0,1:22:19.96,1:22:22.17,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u4E0D\u8981\u6D6A\u8CBB\u9AD4\u529B\ - \u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You're wasting\ - \ your efforts.{\\r}\r\nDialogue: 0,1:22:23.10,1:22:25.44,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u5F9E\u5730\u7403\u7684\u592A\u967D\ - \u5F97\u5230\u7684\u529B\u91CF{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}The strength you derived from the Earth's sun...{\\r}\r\nDialogue: 0,1:22:25.67,1:22:27.77,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5728\u6211\u5011\u7684\u8239\u4E0A\u5B8C\ - \u5168\u6C92\u6709\u7528{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...has been neutralized aboard our ship.{\\r}\r\nDialogue: 0,1:22:28.44,1:22:29.58,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5728\u9019\u88CF{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Here...{\\r}\r\nDialogue: 0,1:22:29.81,1:22:31.41,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9019\u6A23\u7684\u74B0\u5883\u4E0B{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...in this environment...{\\\ - r}\r\nDialogue: 0,1:22:32.18,1:22:33.66,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F60\u5C31\u8DDF\u4EBA\u985E\u4E00\u6A23\u8106\u5F31\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...you are as weak\ - \ as a human.{\\r}\r\nDialogue: 0,1:23:32.20,1:23:34.05,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u5F9E\u54EA\u5192\u51FA\u4F86\u7684\ - \uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Where did\ - \ you come from?{\\r}\r\nDialogue: 0,1:23:34.57,1:23:36.02,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E3B\u63A7\u9470\u5319\u88CF \u84EE\u6069\ - \u5C0F\u59D0{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The\ - \ command key, Miss Lane.{\\r}\r\nDialogue: 0,1:23:36.24,1:23:39.39,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u591A\u8667\u4E86\u4F60 \u6211\u6B63\u5728\ - \u88AB\u4E0A\u50B3\u5230\u9019\u8258\u8239\u7684\u4E3B\u7A0B\u5E8F\u88CF{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Thanks to you, I'm\ - \ uploading to the ship's mainframe.{\\r}\r\nDialogue: 0,1:23:39.91,1:23:40.89,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u662F\u8AB0\uFF1F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Who are you?{\\r}\r\nDialogue: 0,1:23:41.85,1:23:43.15,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u662F\u5361\u723E\u7684\u7236\u89AA\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I am Kai's father.{\\\ - r}\r\nDialogue: 0,1:23:44.82,1:23:45.96,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F60\u80FD\u5E6B\u6211\u5011\u55CE\uFF1F{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Can you help us?{\\r}\r\nDialogue:\ - \ 0,1:23:47.52,1:23:49.36,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u9019\u8258\u8239\u662F\u6211\u8A2D\u8A08\u7684{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I designed this ship.{\\r}\r\nDialogue:\ - \ 0,1:23:49.59,1:23:51.76,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u80FD\u6539\u9020\u5B83\u7684\u5927\u6C23\u7D50\u69CB{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I can modify its atmospheric\ - \ composition...{\\r}\r\nDialogue: 0,1:23:52.02,1:23:53.76,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F7F\u4EBA\u985E\u9069\u61C9{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...to human compatibility.{\\\ - r}\r\nDialogue: 0,1:23:54.02,1:23:54.87,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u5011\u80FD\u963B\u6B62\u4ED6\u5011{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We can stop them.{\\r}\r\n\ - Dialogue: 0,1:23:55.09,1:23:57.57,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u6211\u5011\u80FD\u628A\u4ED6\u5011\u9001\u56DE\u5E7D\u9748\ - \u5340{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We can send\ - \ them back to the Phantom Zone.{\\r}\r\nDialogue: 0,1:23:58.53,1:23:59.17,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u600E\u9EBC\u505A\uFF1F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}How?{\\r}\r\nDialogue: 0,1:23:59.40,1:24:00.93,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4F86\u6559\u4F60{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I can teach you.{\\r}\r\nDialogue:\ - \ 0,1:24:01.20,1:24:03.01,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u7136\u5F8C\u4F60\u518D\u6559\u7D66\u5361\u723E{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}And in turn, you can teach Kal.{\\\ - r}\r\nDialogue: 0,1:24:03.23,1:24:04.94,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F60\u6703\u5E6B\u6211\u55CE\uFF1F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Will you help me?{\\r}\r\nDialogue:\ - \ 0,1:24:18.78,1:24:20.22,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u8239\u4E0A\u7684\u8B66\u5831\u97FF\u4E86{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}The ship's crew are alerted.{\\r}\r\n\ - Dialogue: 0,1:24:20.35,1:24:21.39,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u6211\u5011\u5F97\u5FEB\u9EDE{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}We need to move quickly.{\\r}\r\nDialogue: 0,1:24:21.62,1:24:23.29,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u628A\u4E3B\u63A7\u9470\u5319\u62FF\u4E0A\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Retrieve the command\ - \ key.{\\r}\r\nDialogue: 0,1:24:30.93,1:24:33.97,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u662F\u4F60\u505A\u7684\u55CE\uFF1F -\ - \ \u662F\u7684 \u628A\u5979\u7684\u6B66\u5668\u62FF\u4E0A{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- Did you do that? - Yes. Pick\ - \ up her sidearm.{\\r}\r\nDialogue: 0,1:24:43.37,1:24:44.75,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u767C\u751F\u4E86\u4EC0\u9EBC\uFF1F{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}What's happening?{\\\ - r}\r\nDialogue: 0,1:25:05.73,1:25:06.40,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u53F3\u908A{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}To your right.{\\r}\r\nDialogue: 0,1:25:06.63,1:25:07.27,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u958B\u706B{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Fire.{\\r}\r\nDialogue: 0,1:25:08.83,1:25:09.57,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5F8C\u9762{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Behind you.{\\r}\r\nDialogue: 0,1:25:23.08,1:25:25.12,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5B89\u5168\u5F85\u5728\u6551\u751F\u8259\ - \u88CF{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Secure yourself\ - \ inside the open pod.{\\r}\r\nDialogue: 0,1:25:26.15,1:25:28.43,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u65C5\u9014\u5E73\u5B89 \u84EE\u6069\u5C0F\ - \u59D0{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Safe travels,\ - \ Miss Lane. It's unlikely...{\\r}\r\nDialogue: 0,1:25:28.65,1:25:30.26,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5011\u61C9\u8A72\u4E0D\u53EF\u80FD\ - \u518D\u898B\u9762\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...we'll see each other again.{\\r}\r\nDialogue: 0,1:25:31.82,1:25:34.93,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8A18\u4F4F \u5E7D\u9748\u5F15\u64CE\u662F\ - \u963B\u6B62\u4ED6\u5011\u7684\u95DC\u9375{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Remember, the phantom drives are essential in stopping\ - \ them.{\\r}\r\nDialogue: 0,1:25:35.79,1:25:37.03,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u628A\u982D\u504F\u5411\u5DE6\u908A{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Move your head to the\ - \ left.{\\r}\r\nDialogue: 0,1:26:04.62,1:26:07.23,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F50\u5FB7\u8AAA\u7684\u95DC\u65BC\u5BC6\ - \u5178\u7684\u4E8B\u662F\u771F\u7684\u55CE\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Is it true what Zod said about the Codex?{\\r}\r\n\ - Dialogue: 0,1:26:07.66,1:26:09.04,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u628A\u8239\u58C1\u6253\u7834{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Strike that panel.{\\r}\r\nDialogue: 0,1:26:12.70,1:26:16.80,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5011\u60F3\u8981\u4F60\u5B78\u7FD2\ - \u4EBA\u985E\u6700\u91CD\u8981\u7684\u662F\u4EC0\u9EBC{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We wanted you to learn what it meant\ - \ to be human first...{\\r}\r\nDialogue: 0,1:26:16.87,1:26:18.90,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6240\u4EE5\u5982\u679C\u6709\u4E00\u5929\ - \ \u6642\u6A5F\u6210\u719F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...so that one day, when the time was right, {\\r}\r\nDialogue: 0,1:26:18.90,1:26:22.51,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u6703\u6210\u70BA\u5169\u500B\u7A2E\ - \u65CF\u6E9D\u901A\u7684\u6A4B\u6A11{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}you could be the bridge between two peoples.{\\r}\r\nDialogue:\ - \ 0,1:26:25.24,1:26:26.02,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u770B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Look.{\\\ - r}\r\nDialogue: 0,1:26:29.18,1:26:30.42,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u9732\u6613\u7D72{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Lois.{\\r}\r\nDialogue: 0,1:26:31.01,1:26:32.05,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u80FD\u6551\u5979 \u5361\u723E{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You can save her, Kal.{\\\ - r}\r\nDialogue: 0,1:26:35.19,1:26:37.06,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F60\u80FD\u62EF\u6551\u6240\u6709\u4EBA{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You can save all of them.{\\\ - r}\r\nDialogue: 0,1:27:55.97,1:27:57.50,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F60\u5B89\u5168\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}You'll be safe here.{\\r}\r\nDialogue: 0,1:27:59.84,1:28:02.41,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u4F60\u6C92\u4E8B\u5427\uFF1F - \u6C92\ - \u4E8B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- Are you\ - \ all right? - Yeah.{\\r}\r\nDialogue: 0,1:28:05.64,1:28:07.12,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5C0D\u4E0D\u8D77{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}I'm sorry.{\\r}\r\nDialogue: 0,1:28:07.84,1:28:10.83,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4E0D\u662F\u6545\u610F\u544A\u8A34\ - \u4ED6\u5011\u4F60\u7684\u4E8B \u4ED6\u5011\u5C0D\u6211\u52D5\u4E86\u624B\u8173\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I didn't wanna tell\ - \ them anything, but they did something to me.{\\r}\r\nDialogue: 0,1:28:11.08,1:28:13.25,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u4ED6\u5011\u770B\u7A7F\u4E86\u6211\u7684\ - \u5FC3\u601D - \u6C92\u95DC\u4FC2 \u9732\u6613\u7D72{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- They looked inside my mind... \ - \ - It's okay, Lois.{\\r}\r\nDialogue: 0,1:28:13.48,1:28:15.26,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u5011\u4E5F\u5C0D\u6211\u505A\u4E86\ - \u540C\u6A23\u7684\u4E8B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}They did the same thing to me.{\\r}\r\nDialogue: 0,1:28:28.33,1:28:29.67,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u514B\u62C9\u514B{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Clark!{\\r}\r\nDialogue: 0,1:28:38.68,1:28:40.45,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5E36\u4ED6\u4F86\u7684\u90A3\u8258\u8239\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The craft he arrived\ - \ in...{\\r}\r\nDialogue: 0,1:28:40.98,1:28:42.15,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5B83\u5728\u54EA\u88CF\uFF1F{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...where is it?{\\r}\r\nDialogue:\ - \ 0,1:28:44.05,1:28:45.22,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u53BB\u6B7B\u5427{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Go to hell.{\\r}\r\nDialogue: 0,1:28:56.53,1:28:57.50,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5728\u90A3\u908A{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}There.{\\r}\r\nDialogue: 0,1:29:20.52,1:29:22.66,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5BC6\u5178\u4E0D\u5728\u9019\u88CF{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The Codex is not here.{\\\ - r}\r\nDialogue: 0,1:29:29.39,1:29:30.51,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4ED6\u85CF\u5728\u54EA\u4E86\uFF1F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Where has he hidden it?{\\r}\r\nDialogue:\ - \ 0,1:29:30.69,1:29:31.33,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u4E0D\u77E5\u9053{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}I don't know.{\\r}\r\nDialogue: 0,1:29:31.56,1:29:32.67,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5BC6\u5178\u5728\u54EA\u88CF\uFF1F{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Where is the Codex?!{\\\ - r}\r\nDialogue: 0,1:29:48.68,1:29:50.62,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F60\u5C45\u7136\u6562\u5A01\u8105\u6211\u5ABD\u5ABD\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You think you can\ - \ threaten my mother?!{\\r}\r\nDialogue: 0,1:30:32.42,1:30:33.90,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u5C0D\u6211\u505A\u4E86\u4EC0\u9EBC\ - \uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}What have\ - \ you done to me?{\\r}\r\nDialogue: 0,1:30:34.12,1:30:38.50,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u7236\u6BCD\u6559\u6211\u8981\u78E8\ - \u7DF4\u6211\u7684\u611F\u5B98 \u4F50\u5FB7{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}My parents taught me to hone my senses, Zod.{\\r}\r\ - \nDialogue: 0,1:30:39.96,1:30:41.57,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5C08\u6CE8{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Focus...{\\r}\r\nDialogue: 0,1:30:42.13,1:30:43.84,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5728\u81EA\u5DF1\u60F3\u770B\u7684\u6771\ - \u897F\u4E0A{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...on\ - \ just what I wanted to see.{\\r}\r\nDialogue: 0,1:30:44.10,1:30:45.14,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u6C92\u4E86\u982D\u76D4{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Without your helmet...{\\r}\r\ - \nDialogue: 0,1:30:45.40,1:30:46.97,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u53EF\u4EE5\u611F\u53D7\u5230\u66F4\u591A\u6771\u897F\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...you're getting\ - \ everything.{\\r}\r\nDialogue: 0,1:30:48.24,1:30:49.65,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5F88\u96E3\u53D7{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}And it hurts...{\\r}\r\nDialogue: 0,1:30:50.24,1:30:51.62,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u662F\u5427\uFF1F{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}...doesn't it?{\\r}\r\nDialogue: 0,1:31:36.45,1:31:37.73,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5225\u7AD9\u5728\u7A97\u6236\u908A\u4E0A\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Get away from the\ - \ window.{\\r}\r\nDialogue: 0,1:31:40.69,1:31:42.90,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90FD\u9032\u53BB \u9019\u88CF\u4E0D\u5B89\ - \u5168{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Get inside.\ - \ It's not safe.{\\r}\r\nDialogue: 0,1:31:47.83,1:31:50.71,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5168\u9AD4\u807D\u547D \u9019\u88CF\u662F\ - \u5B88\u8B77\u8005 \u6211\u662F\u7A7A\u4E2D\u6307\u63EE\u5B98{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}All players, this is Guardian. I am\ - \ airborne mission commander.{\\r}\r\nDialogue: 0,1:31:50.97,1:31:53.00,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5DF2\u7D93\u4E8B\u5148\u63A5\u89F8\ - \u904E\u4E26\u89C0\u5BDF\u904E{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}I have previously encountered and observed...{\\r}\r\nDialogue: 0,1:31:53.24,1:31:55.38,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5011\u5C07\u8981\u63A5\u8FD1\u7684\ - \u76EE\u6A19{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...the\ - \ beings we're about to engage.{\\r}\r\nDialogue: 0,1:31:55.64,1:31:58.35,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u5011\u975E\u5E38\u5371\u96AA \u6211\ - \u5011\u53EF\u4EE5...{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}They are extremely dangerous and we have been authorized...{\\r}\r\n\ - Dialogue: 0,1:31:58.58,1:32:00.08,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u4F7F\u7528\u81F4\u547D\u6B66\u5668{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}...to use deadly force.{\\r}\r\nDialogue:\ - \ 0,1:32:02.05,1:32:04.09,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6536\u5230 \u5B88\u8B77\u8005 \u6211\u5011\u6B63\u63A5\u8FD1\u76EE\ - \u6A19{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Roger, Guardian,\ - \ we are inbound to target.{\\r}\r\nDialogue: 0,1:32:09.69,1:32:11.15,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u958B\u706B{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Cleared hot. Weapons free.{\\r}\r\nDialogue: 0,1:32:11.15,1:32:12.76,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}11\u865F \u958B\u706B{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Copy, 11. Weapons free.{\\r}\r\nDialogue:\ - \ 0,1:32:15.56,1:32:16.44,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u9019\u88CF\u662F\u96F7\u96FB11\u865F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Thunder 11...{\\r}\r\nDialogue: 0,1:32:16.56,1:32:17.59,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9396\u5B9A\u4E09\u500B\u76EE\u6A19{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...tally three targets.{\\\ - r}\r\nDialogue: 0,1:32:35.21,1:32:36.02,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u96F7\u96FB11\u865F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Thunder 11...{\\r}\r\nDialogue: 0,1:32:36.25,1:32:38.69,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5E79\u5F97\u6F02\u4EAE \u8ACB\u6C42\u7ACB\ - \u5373\u518D\u6B21\u653B\u64CA{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...good hit. Request immediate re-attack.{\\r}\r\nDialogue: 0,1:32:38.92,1:32:41.12,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6536\u5230 \u5B88\u8B77\u8005 \u6E96\u5099\ - \u4E8C\u6B21\u653B\u64CA{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Roger, Guardian. We'll make a second gun run...{\\r}\r\nDialogue: 0,1:32:41.28,1:32:43.39,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u822A\u5411212\u5EA6{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...on a heading of 212 degrees.{\\\ - r}\r\nDialogue: 0,1:32:50.39,1:32:51.47,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u96F7\u96FB11\u865F \u5FEB\u5F48\u51FA\u9003\u751F{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Thunder 11, eject!{\\\ - r}\r\nDialogue: 0,1:32:51.59,1:32:52.97,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5FEB\u5F48\u51FA\u9003\u751F{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Eject!{\\r}\r\nDialogue: 0,1:32:53.30,1:32:54.93,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u96F7\u96FB11\u865F \u5FEB\u5F48\u51FA\u9003\ - \u751F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Thunder 11,\ - \ eject!{\\r}\r\nDialogue: 0,1:33:05.08,1:33:06.65,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6709\u6575\u4EBA\u5411\u6211\u885D\u4F86\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I have a bogey incoming!{\\\ - r}\r\nDialogue: 0,1:33:07.48,1:33:08.92,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u8A72\u6B7B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Oh, shit.{\\r}\r\nDialogue: 0,1:33:27.10,1:33:27.97,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u592A\u5F31\u4E86{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You are weak...{\\r}\r\nDialogue:\ - \ 0,1:33:28.23,1:33:29.34,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u827E\u723E\u4E4B\u5B50{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...son of El.{\\r}\r\nDialogue: 0,1:33:29.60,1:33:30.74,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5C0D\u81EA\u5DF1\u6C92\u4FE1\u5FC3{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Unsure of yourself.{\\\ - r}\r\nDialogue: 0,1:33:35.97,1:33:38.95,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u5011\u4E26\u4E0D\u50CF\u4F60{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The fact that you possess a sense\ - \ of morality...{\\r}\r\nDialogue: 0,1:33:39.18,1:33:40.95,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u53D7\u9053\u5FB7\u6E96\u5247\u7684\u675F\ - \u7E1B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...and we\ - \ do not...{\\r}\r\nDialogue: 0,1:33:41.18,1:33:43.75,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u800C\u9019\u6B63\u662F\u6211\u5011\u9032\ - \u5316\u7684\u512A\u52E2{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...gives us an evolutionary advantage.{\\r}\r\nDialogue: 0,1:33:47.25,1:33:49.75,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5982\u679C\u8AAA\u6B77\u53F2\u8B49\u660E\ - \u4E86\u4EC0\u9EBC{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}And\ - \ if history has proven anything...{\\r}\r\nDialogue: 0,1:33:59.63,1:34:03.20,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u5C31\u662F\u9032\u5316\u8005\u6C38\ - \u9060\u66F4\u5F37\u5927{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...it is that evolution always wins.{\\r}\r\nDialogue: 0,1:34:24.52,1:34:26.02,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5011\u4F86\u4E86{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}CCT, we're approaching...{\\r}\r\n\ - Dialogue: 0,1:34:26.29,1:34:28.13,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u8457\u9678 \u5168\u529B\u4E0B\u964D{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}...LZ Jayhawk. Get down in five.{\\r}\r\ - \nDialogue: 0,1:34:28.36,1:34:30.20,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u8D70\u5427 \u524D\u9032{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Let's go. Go to the LZ.{\\r}\r\nDialogue: 0,1:34:30.99,1:34:32.32,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6536\u5230 \u4E2D\u58EB \u51FA\u767C{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Roger, sarge. let's\ - \ go!{\\r}\r\nDialogue: 0,1:35:09.77,1:35:11.09,chs,,0000,0000,0000,,{\\fn\u534E\ - \u6587\u6977\u4F53\\blur3}\u516C\u725B\u6D41\u6D6A\u8005\u865F{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}All rangers, I need you...{\\\ - r}\r\nDialogue: 0,1:35:11.33,1:35:12.51,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u7784\u6E96\u6240\u6709\u76EE\u6A19{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...to engage the targets.{\\r}\r\n\ - Dialogue: 0,1:35:13.00,1:35:14.12,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u5B88\u8B77\u8005 \u9019\u88CF\u662F\u4E00\u865F\u6230\u5834\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Guardian, this is\ - \ Badger 01.{\\r}\r\nDialogue: 0,1:35:14.34,1:35:15.61,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u500B\u7A7F\u85CD\u8863\u670D\u7684\ - \u50A2\u4F19\u600E\u9EBC\u8FA6\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}What about the guy in blue?{\\r}\r\nDialogue: 0,1:35:15.87,1:35:16.91,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u8AAA\u4E86{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}I said engage...{\\r}\r\nDialogue: 0,1:35:17.17,1:35:18.35,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u653B\u64CA\u6240\u6709\u76EE\u6A19{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...all targets.{\\\ - r}\r\nDialogue: 0,1:35:29.52,1:35:30.56,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6230\u9B25 \u6230\u9B25{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Contact. Contact.{\\r}\r\nDialogue: 0,1:35:40.73,1:35:41.57,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u6C92\u4E8B\u5427\uFF1F{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You okay?{\\r}\r\nDialogue:\ - \ 0,1:35:47.30,1:35:49.41,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u5011\u88AB\u64CA\u4E2D\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}We're auto-rotating, going in hard.{\\r}\r\nDialogue:\ - \ 0,1:35:50.14,1:35:51.31,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u5011\u53D7\u5230\u4E86\u649E\u64CA{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Brace for impact.{\\r}\r\nDialogue: 0,1:35:52.11,1:35:53.25,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5011\u53D7\u649E\u64CA{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Brace for impact.{\\r}\r\n\ - Dialogue: 0,1:35:53.48,1:35:54.45,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u6B63\u5728\u589C\u843D{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}We're going in hard!{\\r}\r\nDialogue: 0,1:35:59.55,1:36:03.55,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5B88\u8B77\u8005\u5DF2\u589C\u6BC0 \u91CD\ - \u8907\u4E00\u6B21 \u5B88\u8B77\u8005\u5DF2\u589C\u6BC0{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Fallen angel. Fallen angel. Guardian\ - \ is down. I repeat, Guardian is down.{\\r}\r\nDialogue: 0,1:36:25.48,1:36:26.98,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5B88\u8B77\u8005 \u807D\u5230\u8ACB\u56DE\ - \u7B54{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Guardian,\ - \ do you read?{\\r}\r\nDialogue: 0,1:36:27.24,1:36:28.59,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u96F7\u96FB12\u865F\u547C\u53EB\u5B88\u8B77\ - \u8005{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Thunder 12,\ - \ calling Guardian.{\\r}\r\nDialogue: 0,1:36:28.81,1:36:30.15,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u80FD\u6536\u5230\u55CE\uFF1F - \u96F7\ - \u96FB12\u865F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}-\ - \ Do you read? - Thunder 12...{\\r}\r\nDialogue: 0,1:36:30.41,1:36:31.32,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9019\u88CF\u662F\u5B88\u8B77\u8005{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...this is Guardian.{\\\ - r}\r\nDialogue: 0,1:36:31.58,1:36:33.96,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u706B\u529B\u5168\u90E8\u5C0D\u6E96\u9019\u88CF \u4E0D\ - \u7528\u7BA1\u6211\u5011{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Put down everything you've got north of my position.{\\r}\r\nDialogue:\ - \ 0,1:36:34.18,1:36:36.36,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}- \u9019\u88CF\u662F\u5371\u96AA\u5340\u57DF - \u6536\u5230 \u5371\ - \u96AA\u5340\u57DF{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}-\ - \ This will be danger-close. - Copy, danger-close.{\\r}\r\nDialogue:\ - \ 0,1:36:36.62,1:36:37.86,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u795D\u4F60\u597D\u904B \u9577\u5B98{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Good luck, sir.{\\r}\r\nDialogue: 0,1:37:17.73,1:37:20.57,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6B7B\u5F97\u5149\u69AE\u5C31\u662F\u6B7B\ - \u5F97\u5176\u6240{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}A\ - \ good death is its own reward.{\\r}\r\nDialogue: 0,1:37:34.18,1:37:35.55,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u8D0F\u4E0D\u4E86\u7684{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You will not win.{\\r}\r\n\ - Dialogue: 0,1:37:36.98,1:37:38.52,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u4F60\u6BCF\u6551\u4E00\u500B\u4EBA{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}For every human you save...{\\r}\r\nDialogue:\ - \ 0,1:37:38.75,1:37:41.42,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u5011\u6703\u591A\u6BBA\u4E00\u767E\u842C{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...we will kill a million more. Unh!{\\\ - r}\r\nDialogue: 0,1:38:32.74,1:38:35.91,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u9084\u6709\u6575\u4EBA\u55CE\uFF1F\u9084\u6709\u6575\ - \u4EBA\u55CE\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Do\ - \ we have an all clear? Do we have an all clear?{\\r}\r\nDialogue: 0,1:38:36.14,1:38:38.42,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}A\u5C0F\u968A{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Alpha team, sit-rep. Alpha team.{\\r}\r\nDialogue:\ - \ 0,1:38:38.64,1:38:40.25,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6536\u5230\u8ACB\u56DE\u7B54{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Do you copy? Alpha team.{\\r}\r\nDialogue: 0,1:39:29.76,1:39:31.97,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9019\u500B\u4EBA\u4E0D\u662F\u6211\u5011\ - \u7684\u6575\u4EBA{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}This\ - \ man is not our enemy.{\\r}\r\nDialogue: 0,1:39:34.43,1:39:35.97,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8B1D\u8B1D\u4F60 \u4E0A\u6821{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Thank you, colonel.{\\r}\r\n\ - Dialogue: 0,1:39:53.82,1:39:54.66,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u5ABD\u5ABD{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Mom?{\\r}\r\nDialogue: 0,1:39:55.95,1:39:57.63,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u6C92\u4E8B{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}I'm all right.{\\r}\r\nDialogue: 0,1:40:09.67,1:40:11.65,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8863\u670D\u5F88\u6F02\u4EAE \u5152\u5B50\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Nice suit, son.{\\\ - r}\r\nDialogue: 0,1:40:12.70,1:40:14.01,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5C0D\u4E0D\u8D77{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}I'm so sorry.{\\r}\r\nDialogue: 0,1:40:15.04,1:40:17.35,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9019\u4E9B\u53EA\u662F\u8EAB\u5916\u4E4B\ - \u7269 \u514B\u62C9\u514B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}It's only stuff, Clark.{\\r}\r\nDialogue: 0,1:40:18.51,1:40:20.92,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u7E3D\u662F\u6703\u88AB\u53D6\u4EE3\u7684\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}It can always be\ - \ replaced.{\\r}\r\nDialogue: 0,1:40:23.38,1:40:24.65,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F46\u4F60\u4E0D\u80FD\u88AB\u53D6\u4EE3\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}But you can't be.{\\\ - r}\r\nDialogue: 0,1:40:25.98,1:40:28.39,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5ABD\u5ABD \u4F50\u5FB7\u8AAA\u4ED6\u8981\u627E\u7684\ - \u5BC6\u5178{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Mom,\ - \ Zod said this Codex...{\\r}\r\nDialogue: 0,1:40:28.65,1:40:30.93,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u53EF\u4EE5\u8B93\u6211\u7684\u7A2E\u65CF\ - \u91CD\u751F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...he's\ - \ looking for can bring my people back.{\\r}\r\nDialogue: 0,1:40:31.25,1:40:32.93,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9019\u4E0D\u662F\u5F88\u597D\u55CE\uFF1F\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Isn't that a good\ - \ thing?{\\r}\r\nDialogue: 0,1:40:37.16,1:40:39.66,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4E0D\u8A8D\u70BA\u4ED6\u5011\u60F3\ - \u8981\u5206\u4EAB\u9019\u500B\u4E16\u754C{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}I don't think they're interested in sharing this\ - \ world.{\\r}\r\nDialogue: 0,1:40:40.26,1:40:41.50,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u514B\u62C9\u514B{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Clark.{\\r}\r\nDialogue: 0,1:40:42.23,1:40:43.11,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u514B\u62C9\u514B{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Clark.{\\r}\r\nDialogue: 0,1:40:45.00,1:40:46.88,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u77E5\u9053\u600E\u9EBC\u963B\u6B62\ - \u4ED6\u5011{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I know\ - \ how to stop them.{\\r}\r\nDialogue: 0,1:40:48.94,1:40:50.38,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u767C\u751F\u4E86\u4EC0\u9EBC\uFF1F{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}What happened down\ - \ there?{\\r}\r\nDialogue: 0,1:40:50.61,1:40:53.45,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u767C\u73FE\u4E86\u6211\u5011\u4E00\ - \u500B\u66AB\u6642\u7684\u5F31\u9EDE{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}He exposed a temporary weakness.{\\r}\r\nDialogue: 0,1:40:54.34,1:40:56.19,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9019\u5DF2\u7D93\u4E0D\u91CD\u8981\u4E86\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}It is of little\ - \ consequence...{\\r}\r\nDialogue: 0,1:40:57.55,1:41:00.46,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u56E0\u70BA\u6211\u77E5\u9053\u5BC6\u5178\ - \u5728\u54EA\u5152\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...because I have located the Codex.{\\r}\r\nDialogue: 0,1:41:01.25,1:41:03.93,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6839\u672C\u5C31\u4E0D\u5728\u592A\u7A7A\ - \u8259\u88CF{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}It was\ - \ never in the capsule.{\\r}\r\nDialogue: 0,1:41:04.12,1:41:05.79,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u55AC\u2022\u827E\u723E\u62FF\u8D70\u4E86\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Jor-el took the\ - \ Codex...{\\r}\r\nDialogue: 0,1:41:06.06,1:41:08.54,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8A18\u9304\u8457\u6578\u5341\u5104\u4EBA\ - \u57FA\u56E0\u7684\u5BC6\u5178{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...the DNA of a billion people, then he bonded it...{\\r}\r\nDialogue:\ - \ 0,1:41:08.76,1:41:11.90,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u628A\u5B83\u85CF\u5728\u4ED6\u5152\u5B50\u7684\u6BCF\u4E00\u500B\ - \u7D30\u80DE\u7576\u4E2D{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...within his son's individual cells.{\\r}\r\nDialogue: 0,1:41:11.96,1:41:13.57,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6240\u6709\u6C2A\u661F\u4EBA\u7684\u5F8C\ - \u4EE3{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}All of Krypton's\ - \ heirs...{\\r}\r\nDialogue: 0,1:41:13.80,1:41:17.24,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5C31\u85CF\u5728\u4E00\u500B\u5916\u661F\ - \u96E3\u6C11\u7684\u8EAB\u9AD4\u88CF{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}...living hidden in one refugee's body.{\\r}\r\nDialogue:\ - \ 0,1:41:21.30,1:41:23.28,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u8981\u5F9E\u5361\u723E\u2022\u827E\u723E\u7684\u7D30\u80DE\u88CF\ - \u62FF\u5230\u5BC6\u5178{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Does Kal-El need to be alive...{\\r}\r\nDialogue: 0,1:41:23.54,1:41:26.71,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9700\u8981\u4ED6\u6D3B\u8457\u55CE\uFF1F\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...for us to extract\ - \ the Codex from his cells?{\\r}\r\nDialogue: 0,1:41:28.08,1:41:29.25,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E0D\u7528{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}No.{\\r}\r\nDialogue: 0,1:41:35.15,1:41:37.43,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u555F\u52D5\u4E16\u754C\u5F15\u64CE{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Release the world engine.{\\\ - r}\r\nDialogue: 0,1:42:09.65,1:42:10.60,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u767C\u751F\u4E86\u4EC0\u9EBC\uFF1F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}What just happened?{\\r}\r\nDialogue:\ - \ 0,1:42:10.75,1:42:11.93,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u90A3\u8258\u8239\u4E00\u5206\u70BA\u4E8C{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}The ship just split in two.{\\r}\r\nDialogue:\ - \ 0,1:42:12.15,1:42:15.26,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4E00\u8258\u5F80\u6771\u98DB\u53BB\u4E86 \u53E6\u4E00\u8258\u5411\ - \u5357\u534A\u7403\u53BB\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Track one is heading east, track two to the southern hemisphere.{\\\ - r}\r\nDialogue: 0,1:42:15.49,1:42:18.16,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}- \u901F\u5EA6\u6709\u591A\u5FEB\uFF1F - \u63A5\u8FD1\ - ...{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- How fast is\ - \ that bogey moving? - Approaching...{\\r}\r\nDialogue: 0,1:42:18.16,1:42:19.61,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}24\u99AC\u8D6B \u4E26\u4E14\u9084\u5728\u52A0\ - \u901F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...Mach 24\ - \ and accelerating.{\\r}\r\nDialogue: 0,1:42:19.83,1:42:22.90,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u770B\u8D77\u4F86\u50CF\u662F\u8981\u964D\ - \u843D\u5728\u5357\u5370\u5EA6\u6D0B\u7684\u67D0\u500B\u5730\u65B9{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}It's gonna impact somewhere\ - \ in the Indian Ocean.{\\r}\r\nDialogue: 0,1:42:41.22,1:42:42.86,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u53E6\u4E00\u8258\u8239\u4E5F\u5728\u964D\ - \u843D{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The rest of\ - \ the ship is descending.{\\r}\r\nDialogue: 0,1:42:43.85,1:42:45.22,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u87A2\u5E55\u986F\u793A{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Put it on the board now.{\\r}\r\n\ - Dialogue: 0,1:42:45.22,1:42:46.29,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u9075\u547D{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Yes, sir.{\\r}\r\nDialogue: 0,1:42:47.32,1:42:48.50,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5929\u554A{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Oh, my God.{\\r}\r\nDialogue: 0,1:43:29.00,1:43:31.77,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8B93\u5E7D\u9748\u5F15\u64CE\u5F85\u547D\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Bring the phantom\ - \ drive online.{\\r}\r\nDialogue: 0,1:43:53.39,1:43:55.83,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5DF2\u7D93\u8207\u4E16\u754C\u5F15\u64CE\ - \u5EFA\u7ACB\u9023\u63A5{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}We are now slave to the world engine.{\\r}\r\nDialogue: 0,1:43:56.96,1:43:58.37,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u555F\u52D5{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Initiate.{\\r}\r\nDialogue: 0,1:44:31.63,1:44:33.67,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u5011\u767C\u5C04\u904E\u4F86\u7684\ - \u662F\u4EC0\u9EBC\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}What have they hit us with?{\\r}\r\nDialogue: 0,1:44:33.67,1:44:35.84,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3} \u770B\u4E0A\u53BB\u50CF\u662F\u67D0\u7A2E\ - \u91CD\u529B\u6B66\u5668{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Looks like some kind of gravity...{\\r}\r\nDialogue: 0,1:44:36.10,1:44:39.34,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u548C\u4ED6\u5011\u7684\u98DB\u8239\u540C\ - \u6B65\u5DE5\u4F5C{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...weapon.\ - \ It's working in tandem with their ship.{\\r}\r\nDialogue: 0,1:44:40.07,1:44:43.14,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E00\u7A2E\u53EF\u4EE5\u589E\u52A0\u5730\ - \u7403\u8CEA\u91CF\u7684\u6771\u897F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Somehow they're increasing the Earth's mass...{\\r}\r\n\ - Dialogue: 0,1:44:43.41,1:44:45.51,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u5229\u7528\u5FAE\u5875\u6C61\u6FC1\u5927\u6C23{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...clouding the atmosphere\ - \ with particulates.{\\r}\r\nDialogue: 0,1:44:47.24,1:44:48.85,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5929\u54EA{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Oh, my God.{\\r}\r\nDialogue: 0,1:44:50.18,1:44:51.88,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u5011\u5728\u9032\u884C\u74B0\u5883\ - \u6539\u9020{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}They're\ - \ terraforming.{\\r}\r\nDialogue: 0,1:44:51.95,1:44:52.76,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u662F\u4EC0\u9EBC\uFF1F{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}What's that?{\\r}\r\nDialogue:\ - \ 0,1:44:53.58,1:44:54.69,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u884C\u661F\u5DE5\u7A0B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Planetary engineering...{\\r}\r\nDialogue: 0,1:44:54.95,1:44:58.16,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4FEE\u6539\u5730\u7403\u4E0A\u7684\u5927\ - \u6C23\u548C\u5730\u5F62{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...modifying the Earth's atmosphere and topography.{\\r}\r\nDialogue:\ - \ 0,1:44:58.42,1:44:59.66,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4ED6\u5011\u8981\u628A\u5730\u7403\u8F49\u5316\u6210\u6C2A\u661F\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Turning Earth into\ - \ Krypton.{\\r}\r\nDialogue: 0,1:45:00.36,1:45:03.50,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u4F46\u662F\u6211\u5011\u6703\u600E\u9EBC\ - \u6A23\uFF1F - \u7406\u8AD6\u4E0A\u8AAA...{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}- But what happens to us? - Based on these\ - \ readings...{\\r}\r\nDialogue: 0,1:45:03.76,1:45:06.76,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u4E0D\u518D\u6709\"\u6211\u5011\"\u4E86\ - \ - \u65AF\u65FA\u5A01\u514B\u5C07\u8ECD{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}- ...there won't be an \"us.\" - General Swanwick,\ - \ sir.{\\r}\r\nDialogue: 0,1:45:07.16,1:45:08.54,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u63A7\u5236\u5854\u4F86\u96FB{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I'm on with the control tower.{\\\ - r}\r\nDialogue: 0,1:45:08.80,1:45:11.64,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u54C8\u8FEA\u4E0A\u6821\u6B63\u5728\u8DEF\u4E0A \u548C\ - \u4ED6\u5728\u4E00\u8D77\u7684\u9084\u6709\u8D85\u4EBA{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Colonel Hardy's on his way and he's\ - \ got Superman in tow.{\\r}\r\nDialogue: 0,1:45:11.77,1:45:12.84,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8D85\u4EBA\uFF1F{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Superman?{\\r}\r\nDialogue: 0,1:45:13.37,1:45:14.54,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u500B\u5916\u661F\u4EBA \u5148\u751F\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The alien, sir.{\\\ - r}\r\nDialogue: 0,1:45:14.80,1:45:17.18,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4ED6\u5011\u53EB\u4ED6\u8D85\u4EBA{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}That's what they're calling him. Superman.{\\\ - r}\r\nDialogue: 0,1:45:22.68,1:45:23.88,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u5011\u6709\u500B\u8A08\u5283 \u5C07\u8ECD{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We have a plan, general.{\\\ - r}\r\nDialogue: 0,1:45:24.15,1:45:26.23,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u548C\u6211\u60F3\u7684\u4E00\u6A23\u55CE\uFF1F{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Is that what I think it\ - \ is?{\\r}\r\nDialogue: 0,1:45:26.78,1:45:28.56,chs,,0000,0000,0000,,{\\fn\u534E\ - \u6587\u6977\u4F53\\blur3}\u9019\u662F\u4ED6\u5750\u7684\u98DB\u8239{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}It's the ship he arrived\ - \ in.{\\r}\r\nDialogue: 0,1:45:30.22,1:45:32.86,chs,,0000,0000,0000,,{\\fn\u534E\ - \u6587\u6977\u4F53\\blur3}\u9019\u8258\u98DB\u8239\u7531\u67D0\u7A2E\u53EB\ - \u5E7D\u9748\u5F15\u64CE\u7684\u7269\u8CEA\u9A45\u52D5{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}This ship is powered by something\ - \ called a phantom drive.{\\r}\r\nDialogue: 0,1:45:33.12,1:45:34.57,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5B83\u80FD\u5920\u626D\u66F2\u6642\u7A7A\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}It bends space.{\\\ - r}\r\nDialogue: 0,1:45:34.82,1:45:38.80,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F50\u5FB7\u7684\u98DB\u8239\u904B\u7528\u4E86\u540C\ - \u6A23\u7684\u539F\u7406 \u5982\u679C\u6211\u5011\u80FD\u8B93\u5169\u8005\u5C0D\ - \u649E{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Zod's ship\ - \ uses the same technology, and if we can make the two drives collide...{\\\ - r}\r\nDialogue: 0,1:45:39.03,1:45:40.87,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5C31\u80FD\u5275\u9020\u51FA\u4E00\u500B\u5947\u7570\ - \u9EDE{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}A singularity\ - \ can be created.{\\r}\r\nDialogue: 0,1:45:41.13,1:45:42.57,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u5C31\u50CF\u9ED1\u6D1E - \u5C0D{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- Like a black hole.\ - \ - Yes.{\\r}\r\nDialogue: 0,1:45:42.70,1:45:44.20,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6240\u4EE5\u5982\u679C\u6211\u5011\u6253\ - \u958B\u901A\u9053{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}So\ - \ if we open up this doorway...{\\r}\r\nDialogue: 0,1:45:44.47,1:45:46.07,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u7406\u8AD6\u4E0A\u4F86\u8AAA\u4ED6\u5011\ - \u5C31\u61C9\u8A72\u88AB\u5438\u9032\u53BB{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}...they should be pulled back in.{\\r}\r\nDialogue:\ - \ 0,1:45:46.34,1:45:48.84,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6240\u4EE5\u4F60\u60F3\u6211\u5011\u7528\u90A3\u500B\u70B8\u6389\ - \u4ED6\u5011{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}So you\ - \ want us to bomb them with that?{\\r}\r\nDialogue: 0,1:45:49.07,1:45:51.05,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5C07\u8ECD \u5982\u679C\u592A\u7A7A\u8239\ - \u9054\u5230{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}General,\ - \ that craft maxes out...{\\r}\r\nDialogue: 0,1:45:51.31,1:45:54.69,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}17000\u78C5 \u53EF\u4EE5\u5F9EC-17\u6295\ - \u64F2\u4E0B\u4F86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...17,000\ - \ pounds, we can drop it from a C-17.{\\r}\r\nDialogue: 0,1:45:54.91,1:45:56.05,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9019\u662F\u53EF\u884C\u7684{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}It's a viable plan.{\\r}\r\n\ - Dialogue: 0,1:45:56.31,1:45:58.42,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u5982\u679C\u6211\u4E0D\u963B\u6B62\u5370\u5EA6\u6D0B\u4E0A\ - \u7684\u6A5F\u5668{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}If\ - \ I don't stop that machine over the Indian Ocean...{\\r}\r\nDialogue: 0,1:45:58.68,1:46:02.30,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u91CD\u529B\u5834\u9084\u6703\u7E7C\u7E8C\ - \u64F4\u5927{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...the\ - \ gravity field will continue to expand.{\\r}\r\nDialogue: 0,1:46:07.76,1:46:10.53,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5982\u679C\u90A3\u500B\u6771\u897F\u662F\ - \u4F7F\u5730\u7403\u6C2A\u661F\u5316{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}If that thing is making Earth more like Krypton...{\\r}\r\ - \nDialogue: 0,1:46:10.89,1:46:12.93,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F60\u5728\u5B83\u9644\u8FD1\u4E0D\u6703\u66F4\u8106\ - \u5F31\u55CE\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...won't\ - \ you be weaker around it?{\\r}\r\nDialogue: 0,1:46:14.23,1:46:15.54,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6709\u53EF\u80FD{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Maybe.{\\r}\r\nDialogue: 0,1:46:16.40,1:46:18.88,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F46\u6211\u4E0D\u6703\u8B93\u5B83\u963B\ - \u6B62\u6211\u8A66\u4E00\u8A66{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}I'm not about to let that stop me from trying.{\\r}\r\nDialogue: 0,1:46:19.84,1:46:22.04,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u53EF\u80FD\u60F3\u5F8C\u9000\u4E00\ - \u9EDE{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You might\ - \ want to step back a little bit.{\\r}\r\nDialogue: 0,1:46:24.11,1:46:25.94,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u53EF\u80FD\u8981\u518D\u9000\u4E00\u9EDE\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Maybe a little bit\ - \ more.{\\r}\r\nDialogue: 0,1:46:57.71,1:46:58.31,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8299\u62C9{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Faora.{\\r}\r\nDialogue: 0,1:46:59.31,1:47:00.41,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u4F86\u6307\u63EE{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Take command.{\\r}\r\nDialogue: 0,1:47:00.64,1:47:03.78,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u9075\u547D - \u6211\u8981\u4FDD\u8B49\ - \u59CB\u6E90\u5BA4\u7684\u5B89\u5168{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}- Yes, sir. - I need to secure the genesis chamber...{\\\ - r}\r\nDialogue: 0,1:47:04.21,1:47:06.96,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u9084\u8981\u5411\u4E00\u500B\u8001\u670B\u53CB\u81F4\ - \u610F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...and pay\ - \ my respects to an old friend.{\\r}\r\nDialogue: 0,1:47:14.72,1:47:16.83,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5B88\u8B77\u8005\u524D\u5F80\u5927\u90FD\ - \u6703{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Guardian en\ - \ route to Metropolis...{\\r}\r\nDialogue: 0,1:47:17.63,1:47:18.83,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u651C\u5E36\u5305\u88F9{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...package in tow.{\\r}\r\nDialogue:\ - \ 0,1:47:24.10,1:47:27.01,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u88AB\u544A\u77E5\u4E86F-35\u6230\u6A5F\u5165\u5883\u7684\u6703\u5408\ - \u9EDE{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Be advised,\ - \ F-35s inbound to rendezvous point.{\\r}\r\nDialogue: 0,1:47:27.27,1:47:29.44,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u73FE\u5728\u61C9\u8A72\u5728\u8996\ - \u89BA\u63A5\u89F8{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You\ - \ should have visual contact now.{\\r}\r\nDialogue: 0,1:48:14.45,1:48:18.13,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E3B\u63A7\u9470\u5319\u8B58\u5225\u6B63\ - \u78BA \u59CB\u6E90\u5BA4\u5F85\u547D \u5148\u751F{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Command key accepted. Genesis chamber\ - \ coming online, sir.{\\r}\r\nDialogue: 0,1:48:18.52,1:48:19.52,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F4F\u624B \u4F50\u5FB7{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Stop this, Zod...{\\r}\r\nDialogue:\ - \ 0,1:48:19.69,1:48:21.83,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u8D81\u9084\u6709\u6642\u9593{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}...while there's still time.{\\r}\r\nDialogue: 0,1:48:23.06,1:48:26.37,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9084\u6C92\u653E\u68C4\u5C0D\u6211\u8AAA\ - \u6559\u5462 \u662F\u5427 \u54EA\u6015\u662F\u6B7B\u4E86{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Haven't given up lecturing me, have\ - \ you, even in death?{\\r}\r\nDialogue: 0,1:48:26.73,1:48:28.73,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4E0D\u6703\u8B93\u4F60\u7528\u5BC6\ - \u5178\u505A\u9019\u4E9B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}I will not let you use the Codex like this.{\\r}\r\nDialogue: 0,1:48:29.00,1:48:30.71,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u6C92\u6B0A\u529B\u963B\u6B62\u6211\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You don't have the\ - \ power to stop me.{\\r}\r\nDialogue: 0,1:48:30.97,1:48:34.00,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u63D2\u5165\u7684\u4E3B\u63A7\u9470\ - \u5319\u5DF2\u7D93\u5EE2\u9664\u4E86\u4F60\u7684\u6B0A\u9650{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The command key I have entered is\ - \ revoking your authority.{\\r}\r\nDialogue: 0,1:48:34.24,1:48:37.15,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u98DB\u8239\u5728\u6211\u638C\u63A7\u4E4B\ - \u4E0B\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}This\ - \ ship is now under my control.{\\r}\r\nDialogue: 0,1:49:08.67,1:49:10.35,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5317\u65B9\u53F8\u4EE4\u90E8 \u9019\u88CF\ - \u662F\u9583\u96FB1\u865F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Northcom, Lightning 1, request...{\\r}\r\nDialogue: 0,1:49:10.51,1:49:12.03,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8ACB\u6C42\u91CB\u653E\u5C0E\u5F48{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...permission to unleash\ - \ the hounds.{\\r}\r\nDialogue: 0,1:49:12.03,1:49:16.62,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5468\u570D\u5B89\u5168 \u53EF\u4EE5\u8972\ - \u64CA \u53EF\u80FD\u7684\u8A71\u767C\u751F\u4F5C\u6230\u640D\u58DE\u8A55\u4F30\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Lightning 1, you\ - \ are clear to engage. Send battle damage assessment when able. Out.{\\r}\r\ - \nDialogue: 0,1:49:30.19,1:49:32.57,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u96FB\u5B50\u8A2D\u5099\u9677\u5165\u6DF7\u4E82{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Avionics are going haywire.\ - \ The gravity field...{\\r}\r\nDialogue: 0,1:49:32.80,1:49:35.14,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u91CD\u529B\u5834\u727D\u5F15\u6211\u5011\ - \u7684\u5C0E\u5F48\u4E0B\u589C \u6211\u5011\u9700\u8981\u66F4\u52A0\u63A5\u8FD1\ - \u76EE\u6A19{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...is\ - \ pulling our missiles down. We gotta get closer.{\\r}\r\nDialogue: 0,1:49:40.24,1:49:41.44,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u597D\u4E86\u5404\u4F4D{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}All right, everybody...{\\r}\r\nDialogue:\ - \ 0,1:49:41.54,1:49:44.42,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u5011\u96E2\u958B\u4E86 \u73FE\u5728\u5C31\u96E2\u958B\u5927\ - \u6A13{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...we're leaving.\ - \ We're leaving the building now.{\\r}\r\nDialogue: 0,1:50:07.56,1:50:09.44,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5931\u53BB\u4E86\u6211\u7684\u50DA\ - \u6A5F\u99D5\u99DB\u54E1{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}I just lost my wingman.{\\r}\r\nDialogue: 0,1:50:11.80,1:50:12.94,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u98DB\u6A5F\u5931\u63A7 \u98DB\u6A5F\u5931\ - \u63A7 \u98DB\u6A5F\u5931\u63A7{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Mayday! Mayday! Mayday!{\\r}\r\nDialogue: 0,1:50:24.51,1:50:26.49,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5404\u4F4D \u9019\u908A{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Everybody, this way! Come on!{\\r}\r\ - \nDialogue: 0,1:50:26.75,1:50:29.82,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5404\u4F4D \u5FEB\u9EDE \u5FEB \u5FEB{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Everybody, come on! Keep moving, keep\ - \ moving.{\\r}\r\nDialogue: 0,1:50:36.66,1:50:37.69,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8A79\u59AE{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Jenny!{\\r}\r\nDialogue: 0,1:50:41.66,1:50:42.51,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5929\u54EA{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Oh, my God.{\\r}\r\nDialogue: 0,1:50:42.76,1:50:43.77,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u746A\u9E97{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Perry!{\\r}\r\nDialogue: 0,1:50:48.20,1:50:50.15,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8D70\u9019\u908A \u5FEB{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Go! There! Go!{\\r}\r\nDialogue: 0,1:50:56.01,1:50:57.51,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5011\u53EF\u4EE5\u5171\u5B58{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Our people can co-exist.{\\\ - r}\r\nDialogue: 0,1:50:58.15,1:51:00.12,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u9019\u6A23\u6211\u5011\u5C31\u50CF\u4F60\u5152\u5B50\ - \u90A3\u6A23{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}So we\ - \ can suffer through years of pain{\\r}\r\nDialogue: 0,1:51:00.12,1:51:02.65,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6490\u904E\u6578\u5E74\u7684\u50B7\u75DB\ - \u4F86\u9069\u61C9\u74B0\u5883\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}trying to adapt like your son has?{\\r}\r\nDialogue: 0,1:51:02.99,1:51:04.66,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u4F60\u8AAA\u7684\u662F\u7A2E\u65CF\u5C60\ - \u6BBA - \u662F\u7684{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}- You're talking about genocide. - Yes.{\\r}\r\nDialogue: 0,1:51:04.89,1:51:07.99,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u800C\u4E14\u6211\u6B63\u548C\u4E00\u500B\ - \u9B3C\u9B42\u722D\u8AD6\u5176\u529F\u904E{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}And I'm arguing its merits with a ghost.{\\r}\r\n\ - Dialogue: 0,1:51:08.86,1:51:10.67,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u6211\u5011\u90FD\u662F\u9B3C\u9B42 \u4F50\u5FB7{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We're both ghosts, Zod.{\\\ - r}\r\nDialogue: 0,1:51:10.89,1:51:14.40,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F60\u4E0D\u660E\u767D\u55CE\uFF1F\u4F60\u4E0D\u9858\ - \u653E\u68C4\u7684\u6C2A\u661F\u5DF2\u7D93\u6C92\u4E86{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Can't you see that? The Krypton you're\ - \ clinging onto is gone.{\\r}\r\nDialogue: 0,1:51:14.66,1:51:17.23,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u6AA2\u67E5\u597D\u5165\u4FB5\u7684\ - \u60C5\u5831\u4E86\u55CE\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Ship, have you managed to quarantine this invasive intelligence?{\\\ - r}\r\nDialogue: 0,1:51:17.50,1:51:18.42,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}- \u5931\u6557\u4E86 - \u597D\u4E86{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- You'll fail. - I have.{\\\ - r}\r\nDialogue: 0,1:51:18.63,1:51:20.05,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6E96\u5099\u597D\u7D42\u7D50\u9019\u4E00\u5207{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Then prepare to terminate\ - \ it.{\\r}\r\nDialogue: 0,1:51:20.30,1:51:22.08,chs,,0000,0000,0000,,{\\fn\u534E\ - \u6587\u6977\u4F53\\blur3}\u6211\u4E0D\u60F3\u722D\u5435\u4E86 \u8B93\u6211\ - \u9589\u5634{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I'm\ - \ tired of this debate. Silencing me...{\\r}\r\nDialogue: 0,1:51:22.34,1:51:23.75,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6539\u8B8A\u4E0D\u4E86\u4EFB\u4F55\u4E8B\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...won't change\ - \ anything.{\\r}\r\nDialogue: 0,1:51:26.01,1:51:27.32,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5152\u5B50...{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}My son...{\\r}\r\nDialogue: 0,1:51:28.14,1:51:29.49,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6BD4\u4F60\u5F37\u5169\u500D{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...is twice the man you were.{\\\ - r}\r\nDialogue: 0,1:51:32.48,1:51:34.15,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4ED6\u6703\u7D50\u675F\u6211\u5011\u767C\u8D77\u7684\ - \u7A2E\u7A2E{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}And\ - \ he will finish what we started.{\\r}\r\nDialogue: 0,1:51:35.08,1:51:36.32,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4FDD\u8B49{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}I can promise you that.{\\r}\r\nDialogue:\ - \ 0,1:51:41.52,1:51:42.90,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u544A\u8A34\u6211{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Tell me...{\\r}\r\nDialogue: 0,1:51:43.16,1:51:46.73,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u6709\u55AC\u2022\u827E\u723E\u7684\ - \u8A18\u61B6\u548C\u826F\u77E5{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...you have Jor-El's memories, his conscience.{\\r}\r\nDialogue: 0,1:51:47.43,1:51:50.20,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u53EF\u4F60\u7D93\u6B77\u904E\u4ED6\u7684\ - \u75DB\u82E6\u55CE\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Can you experience his pain?{\\r}\r\nDialogue: 0,1:51:51.87,1:51:55.44,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u6703\u5F9E\u4F60\u5152\u5B50\u7684\ - \u5C4D\u9AD4\u88CF\u63D0\u53D6\u5BC6\u5178{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}I will harvest the Codex from your son's corpse...{\\\ - r}\r\nDialogue: 0,1:51:55.90,1:52:01.21,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5728\u4ED6\u7684\u5C4D\u9AA8\u4E4B\u4E0A\u91CD\u5EFA\ - \u6C2A\u661F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...and\ - \ I will rebuild Krypton atop his bones.{\\r}\r\nDialogue: 0,1:52:58.63,1:52:59.34,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8A79\u59AE{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Jenny.{\\r}\r\nDialogue: 0,1:52:59.60,1:53:02.34,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u8A79\u59AE \u8A79\u59AE \u4F60\u5728\ - \u54EA\uFF1F - \u6211\u5728\u9019\u88CF{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}- Jenny. Jenny, where are you? - I'm here!{\\r}\r\ - \nDialogue: 0,1:53:02.60,1:53:03.90,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}- \u9019\u88CF \u9019\u88CF - \u8A79\u59AE{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- I'm here. Here. - Jenny.{\\\ - r}\r\nDialogue: 0,1:53:03.91,1:53:05.41,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6490\u4F4F \u6490\u4F4F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Hold on, hold on.{\\r}\r\nDialogue: 0,1:53:05.64,1:53:06.62,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5361\u4F4F\u4E86{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I'm stuck.{\\r}\r\nDialogue: 0,1:53:06.84,1:53:08.52,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u6211\u52D5\u4E0D\u4E86 \u5361\u4F4F\u4E86\ - \ - \u597D\u7684{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}-\ - \ I can't get free. I'm stuck. - Okay.{\\r}\r\nDialogue: 0,1:53:08.78,1:53:11.31,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5011\u6703\u628A\u4F60\u6551\u51FA\ - \u53BB \u4F60\u5225\u52D5{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}We'll get you out of there, all right? Just sit tight.{\\r}\r\nDialogue:\ - \ 0,1:53:11.58,1:53:12.15,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4E0D\u4E0D{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}No,\ - \ no, no!{\\r}\r\nDialogue: 0,1:53:12.41,1:53:14.22,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u5225\u96E2\u958B\u6211 - \u6211\u4E0D\ - \u6703\u96E2\u958B\u4F60{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}- Don't leave me. - We're not gonna leave you.{\\r}\r\nDialogue:\ - \ 0,1:53:14.35,1:53:15.52,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}- \u597D - \u502B\u5DF4\u7B2C{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}- Okay. - Lombard!{\\r}\r\nDialogue: 0,1:53:15.78,1:53:19.13,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u4ED6\u5ABD\u7684\u5FEB\u904E\u4F86\u5E6B\ - \u5FD9 - \u8A72\u6B7B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}- Get your ass over here and help me. - Damn it.{\\r}\r\nDialogue:\ - \ 0,1:53:21.12,1:53:23.10,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}- \u7528\u9019\u500B\u64AC - \u7D66\u4F60{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}- We just gotta move this. - Here.{\\\ - r}\r\nDialogue: 0,1:53:23.33,1:53:25.36,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u7528\u529B\u8A66\u8A66\u770B \u597D\u4E86\u55CE\uFF1F\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Slide that in. You\ - \ push, I'll pull, okay?{\\r}\r\nDialogue: 0,1:53:25.63,1:53:26.66,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F86\u5427{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Go.{\\r}\r\nDialogue: 0,1:53:30.87,1:53:32.17,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u7528\u529B - \u5929\u554A{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- Push! - Oh, my God.{\\\ - r}\r\nDialogue: 0,1:53:32.43,1:53:34.27,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u8D8A\u4F86\u8D8A\u8FD1\u4E86 \u7528\u529B{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}It's getting closer! Come on,\ - \ push!{\\r}\r\nDialogue: 0,1:53:36.10,1:53:38.31,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5317\u65B9\u53F8\u4EE4\u90E8 \u9019\u88CF\ - \u662F\u5B88\u8B77\u8005 \u53EF\u4EE5\u6295\u64F2\u55CE\uFF1F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Northcom, this is Guardian. Are we\ - \ cleared?{\\r}\r\nDialogue: 0,1:53:38.84,1:53:39.84,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E0D\u884C \u5B88\u8B77\u8005{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Negative, Guardian.{\\r}\r\n\ - Dialogue: 0,1:54:04.57,1:54:07.01,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u5FEB \u7528\u529B\u554A{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Come on! Push!{\\r}\r\nDialogue: 0,1:54:59.02,1:55:00.36,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u505A\u5230\u4E86{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}He did it.{\\r}\r\nDialogue: 0,1:55:02.56,1:55:03.80,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5317\u65B9\u53F8\u4EE4\u90E8 \u9019\u88CF\ - \u662F\u5B88\u8B77\u8005{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Northcom, this is Guardian.{\\r}\r\nDialogue: 0,1:55:04.06,1:55:06.30,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5011\u6B63\u7D93\u904E\u8ABF\u6574\ - \u7DDA \u4E00\u5207\u826F\u597D{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}We're passing through phase line red. Good to go.{\\r}\r\nDialogue:\ - \ 0,1:55:06.56,1:55:07.73,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4E00\u8DEF\u5E73\u5B89 \u5B88\u8B77\u8005{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Godspeed, Guardian.{\\r}\r\nDialogue:\ - \ 0,1:55:07.73,1:55:10.14,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6574\u7406\u5305\u88F9 \u6E96\u5099\u6295\u64F2{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Arm the package. You are cleared hot.{\\\ - r}\r\nDialogue: 0,1:55:10.40,1:55:12.47,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6E96\u5099\u767C\u51FA\u6700\u5F8C\u4E00\u64CA{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We're lining up for the\ - \ final run.{\\r}\r\nDialogue: 0,1:55:13.27,1:55:15.27,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u73FE\u5728\u770B\u4F60\u548C\u6F22\u5BC6\ - \u723E\u9813\u7684\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}It's up to you and Hamilton now.{\\r}\r\nDialogue: 0,1:55:55.44,1:55:56.44,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u641E\u4EC0\u9EBC{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}You gotta be kidding me.{\\r}\r\nDialogue:\ - \ 0,1:55:56.45,1:55:59.30,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u7406\u8CA8\u54E1 \u5305\u88F9\u662F\u5426\u6B66\u88DD\u5B8C\u7562\ - \uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Loadmaster,\ - \ is the package ready to drop?{\\r}\r\nDialogue: 0,1:55:59.35,1:56:00.62,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E0D\u884C \u5B88\u8B77\u8005{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Negative, Guardian.{\\r}\r\n\ - Dialogue: 0,1:56:00.85,1:56:02.42,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u51FA\u554F\u984C\u4E86 \u4E0D\u8A72\u9019\u6A23\u7684{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}There's something wrong.\ - \ It's not supposed to do this.{\\r}\r\nDialogue: 0,1:56:02.65,1:56:04.43,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u61C9\u8A72\u600E\u6A23\uFF1F{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}What's it supposed\ - \ to do?{\\r}\r\nDialogue: 0,1:56:04.65,1:56:07.69,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u61C9\u8A72\u5B8C\u5168\u63D2\u9032\u53BB\ - \ - \u6211\u770B\u770B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}- It's supposed to go in all the way. - Let me take a look.{\\\ - r}\r\nDialogue: 0,1:56:07.96,1:56:09.53,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u526F\u99D5\u99DB\u63A5\u7BA1\u98DB\u6A5F{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Co-pilot's aircraft.{\\r}\r\ - \nDialogue: 0,1:56:10.26,1:56:11.76,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u526F\u99D5\u99DB\u63A5\u7BA1\u98DB\u6A5F{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Co-pilot's aircraft.{\\r}\r\ - \nDialogue: 0,1:56:18.50,1:56:21.17,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u5011\u5DF2\u7D93\u6392\u5217\u597D\u6E96\u5099\ - \u6295\u64F2\u4E86 \u9084\u5728\u7B49\u4EC0\u9EBC\uFF1F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We are lined up for the drop. What's\ - \ the hold up?{\\r}\r\nDialogue: 0,1:56:21.44,1:56:22.44,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u51FA\u73FE\u4E86\u9EDE\u554F\u984C{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We've had a setback.{\\\ - r}\r\nDialogue: 0,1:56:38.19,1:56:39.69,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u7784\u6E96\u98DB\u6A5F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Target that aircraft.{\\r}\r\nDialogue: 0,1:56:43.56,1:56:45.00,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9396\u5B9A\u76EE\u6A19{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Target locked.{\\r}\r\nDialogue: 0,1:56:54.80,1:56:55.68,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E0D\u8981{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Stop!{\\r}\r\nDialogue: 0,1:56:55.90,1:56:58.01,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5982\u679C\u4F60\u6BC0\u4E86\u9019\u8258\ - \u98DB\u8239{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}If you\ - \ destroy this ship...{\\r}\r\nDialogue: 0,1:56:58.24,1:57:00.91,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5C31\u662F\u6BC0\u4E86\u6C2A\u661F{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...you destroy Krypton!{\\\ - r}\r\nDialogue: 0,1:57:03.71,1:57:05.89,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6C2A\u661F\u672C\u4F86\u9084\u6709\u6A5F\u6703\u7684\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Krypton had its\ - \ chance.{\\r}\r\nDialogue: 0,1:57:59.87,1:58:01.75,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u84EE\u6069\u5C0F\u59D0 \u9019\u5152\u4E0D\ - \u5B89\u5168{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Miss\ - \ Lane! It's not safe for you...{\\r}\r\nDialogue: 0,1:58:01.97,1:58:02.88,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u96E2\u958B\u90A3\u5152{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...over there!{\\r}\r\nDialogue: 0,1:58:03.10,1:58:03.71,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u84EE\u6069\u5C0F\u59D0{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Miss Lane!{\\r}\r\nDialogue: 0,1:58:33.60,1:58:35.34,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u96E2\u958B \u5FEB{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Move now! Go!{\\r}\r\nDialogue: 0,1:58:56.19,1:58:57.19,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6B7B\u5F97\u5149\u69AE{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}A good death...{\\r}\r\nDialogue:\ - \ 0,1:58:57.46,1:58:59.03,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u5C31\u662F\u6B7B\u5F97\u5176\u6240{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}...is its own reward.{\\r}\r\nDialogue: 0,2:00:01.49,2:00:02.93,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u5011\u8D70\u4E86\u55CE\uFF1F{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Are they gone?{\\r}\r\ - \nDialogue: 0,2:00:04.09,2:00:05.50,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u60F3\u662F\u7684{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}I think so.{\\r}\r\nDialogue: 0,2:00:07.40,2:00:08.74,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u6551\u4E86\u6211\u5011{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}He saved us.{\\r}\r\nDialogue:\ - \ 0,2:00:34.22,2:00:37.43,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4ED6\u5011\u8AAA\u521D\u543B\u4E4B\u5F8C\u5C31\u6BCF\u6CC1\u6108\ - \u4E0B\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You\ - \ know, they say it's all downhill after the first kiss.{\\r}\r\nDialogue:\ - \ 0,2:00:40.90,2:00:43.93,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u5F88\u78BA\u5B9A \u4ED6\u5011\u53EA\u7D71\u8A08\u4E86\u89AA\ - \u543B\u4EBA\u985E\u7684\u6578\u64DA{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}I'm pretty sure that only counts when you're kissing a\ - \ human.{\\r}\r\nDialogue: 0,2:01:13.29,2:01:14.77,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u770B\u9019\u500B{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Look at this.{\\r}\r\nDialogue: 0,2:01:17.07,2:01:21.10,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5011\u672C\u53EF\u4EE5\u5728\u9019\ - \u7247\u5EE2\u589F\u4E0A\u5EFA\u7ACB\u8D77\u4E00\u500B\u65B0\u7684\u6C2A\u661F\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We could have built\ - \ a new Krypton in this squalor.{\\r}\r\nDialogue: 0,2:01:21.24,2:01:24.34,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F46\u662F\u5728\u6211\u5011\u548C\u4EBA\ - \u985E\u4E4B\u9593 \u4F60\u9078\u64C7\u4E86\u5F8C\u8005{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}But you chose the humans over us.{\\\ - r}\r\nDialogue: 0,2:01:25.77,2:01:27.31,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u7684\u5B58\u5728{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}I exist...{\\r}\r\nDialogue: 0,2:01:27.58,2:01:29.99,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u50C5\u662F\u70BA\u4E86\u5B88\u8B77\u6C2A\ - \u661F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...only to\ - \ protect Krypton.{\\r}\r\nDialogue: 0,2:01:31.75,2:01:35.75,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9019\u662F\u81EA\u6211\u51FA\u751F\u4EE5\ - \u4F86\u7684\u552F\u4E00\u76EE\u7684{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}That is the sole purpose for which I was born.{\\r}\r\n\ - Dialogue: 0,2:01:36.99,2:01:39.12,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u6211\u6240\u505A\u7684\u4E00\u5207{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}And every action I take...{\\r}\r\nDialogue:\ - \ 0,2:01:39.35,2:01:41.36,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u7121\u8AD6\u591A\u66B4\u529B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}...no matter how violent...{\\r}\r\nDialogue: 0,2:01:41.62,2:01:43.33,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u591A\u9EBC\u6B98\u5FCD{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...or how cruel...{\\r}\r\nDialogue:\ - \ 0,2:01:44.53,2:01:49.11,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u7686\u662F\u70BA\u4E86\u6211\u7684\u4EBA\u6C11\u7684\u798F\u7949\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...is for the greater\ - \ good of my people.{\\r}\r\nDialogue: 0,2:01:53.43,2:01:54.85,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u73FE\u5728{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}And now...{\\r}\r\nDialogue: 0,2:01:55.10,2:01:57.38,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u6C92\u6709\u4EBA\u6C11\u4E86{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...I have no people.{\\\ - r}\r\nDialogue: 0,2:02:00.81,2:02:10.00,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u662F\u4F60\u596A\u8D70\u4E86\u6211\u7684\u9748\u9B42\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}My soul that is\ - \ what you have taken from me.{\\r}\r\nDialogue: 0,2:02:16.79,2:02:19.29,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u8981\u8B93\u4ED6\u5011\u627F\u64D4\ - \u75DB\u82E6{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I'm\ - \ going to make them suffer, Kal.{\\r}\r\nDialogue: 0,2:02:19.53,2:02:22.97,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u6551\u4E0B\u7684\u4EBA\u985E \u6211\ - \u8981\u5F9E\u4F60\u624B\u88CF...{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}These humans you've adopted, I will take them all from you...{\\r}\r\ - \nDialogue: 0,2:02:23.20,2:02:26.18,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}- \u4E00\u500B\u4E00\u500B\u596A\u8D70 - \u4F60\u9019\ - \u500B\u602A\u7269 \u4F50\u5FB7{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}- ...one by one. - You're a monster, Zod...{\\r}\r\nDialogue:\ - \ 0,2:02:28.80,2:02:30.61,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u6703\u963B\u6B62\u4F60\u7684{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}...and I'm gonna stop you.{\\r}\r\nDialogue: 0,2:04:11.61,2:04:14.00,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u7D50\u675F\u9019\u4E00\u5207\u53EA\u6709\ - \u4E00\u500B\u8FA6\u6CD5{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}There's only one way this ends, Kal.{\\r}\r\nDialogue: 0,2:04:14.14,2:04:15.99,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E0D\u662F\u4F60\u6B7B{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Either you die...{\\r}\r\nDialogue:\ - \ 0,2:04:16.24,2:04:17.52,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u5C31\u662F\u6211\u4EA1{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...or I do.{\\r}\r\nDialogue: 0,2:04:48.68,2:04:50.82,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u88AB\u7576\u505A\u4E00\u500B\u6230\ - \u58EB\u8A13\u7DF4{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I\ - \ was bred to be a warrior, Kal.{\\r}\r\nDialogue: 0,2:04:51.68,2:04:55.70,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u7D42\u751F\u90FD\u5728\u53D7\u8A13\ - \u63A7\u5236\u611F\u5B98{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Trained my entire life to master my senses.{\\r}\r\nDialogue: 0,2:04:55.88,2:04:59.49,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u5728\u54EA\u53D7\u8A13\u7684\uFF1F\ - \u8FB2\u5834\u55CE\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Where did you train? On a farm?{\\r}\r\nDialogue: 0,2:07:08.42,2:07:12.80,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5982\u679C\u4F60\u6DF1\u611B\u8457\u9019\ - \u7FA4\u4EBA\u985E{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}If\ - \ you love these people so much...{\\r}\r\nDialogue: 0,2:07:13.19,2:07:15.46,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5C31\u70BA\u4ED6\u5011\u8FFD\u60BC\u5427\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...you can mourn\ - \ for them.{\\r}\r\nDialogue: 0,2:07:19.93,2:07:21.00,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E0D\u8981{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Don't do this!{\\r}\r\nDialogue: 0,2:07:24.20,2:07:25.01,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F4F\u624B{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Stop!{\\r}\r\nDialogue: 0,2:07:31.37,2:07:32.35,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E0D{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Stop!{\\r}\r\nDialogue: 0,2:07:34.71,2:07:35.85,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E0D\u53EF\u80FD{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Never.{\\r}\r\nDialogue: 0,2:09:10.54,2:09:11.92,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u4ED6\u5ABD\u662F\u8822\u86CB\u55CE\ - \uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Are you effing\ - \ stupid?{\\r}\r\nDialogue: 0,2:09:12.14,2:09:14.11,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u6709\u90A3\u9EBC\u591A\u7A7A\u4E2D\ - \u5075\u5BDF\u6A5F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}It's\ - \ one of your surveillance drones.{\\r}\r\nDialogue: 0,2:09:14.11,2:09:16.61,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9019\u73A9\u610F\u503C1200\u842C{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}That's a $12,000,000 piece\ - \ of hardware.{\\r}\r\nDialogue: 0,2:09:16.78,2:09:17.81,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u66FE\u7D93\u503C{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}It was.{\\r}\r\nDialogue: 0,2:09:18.61,2:09:21.15,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u77E5\u9053\u4F60\u60F3\u8FFD\u8E64\ - \u6211{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I know you're\ - \ trying to find out where I hang my cape.{\\r}\r\nDialogue: 0,2:09:21.75,2:09:25.00,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u4F46\u662F\u6C92\u9580 - \u90A3\u6211\ - \u660E\u78BA\u554F\u4F60\u4E00\u500B\u554F\u984C{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}- You won't. - Then I'll ask the obvious question:{\\\ - r}\r\nDialogue: 0,2:09:25.22,2:09:28.82,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u5011\u600E\u9EBC\u77E5\u9053\u6709\u4E00\u5929\ - \ \u4F60\u4E0D\u6703\u640D\u5BB3\u7F8E\u570B\u7684\u5229\u76CA\uFF1F{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}How do we know you won't\ - \ one day act against America's interests?{\\r}\r\nDialogue: 0,2:09:28.92,2:09:30.77,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5728\u582A\u85A9\u65AF\u9577\u5927\ - \ \u5C07\u8ECD{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I\ - \ grew up in Kansas, general.{\\r}\r\nDialogue: 0,2:09:31.23,2:09:33.40,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4E5F\u7B97\u662F\u7F8E\u570B\u4EBA\ - \u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I'm about\ - \ as American as it gets.{\\r}\r\nDialogue: 0,2:09:33.66,2:09:34.57,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u770B{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Look...{\\r}\r\nDialogue: 0,2:09:34.80,2:09:36.27,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u9858\u610F\u5E6B\u5FD9{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...I'm here to help...{\\r}\r\ - \nDialogue: 0,2:09:36.50,2:09:38.74,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F46\u5FC5\u9808\u662F\u6211\u5FC3\u7518\u60C5\u9858\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...but it has to\ - \ be on my own terms.{\\r}\r\nDialogue: 0,2:09:38.97,2:09:40.81,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u53EF\u4EE5\u9019\u6A23\u8AAA\u670D\ - \u83EF\u76DB\u9813{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You\ - \ have to convince Washington of that.{\\r}\r\nDialogue: 0,2:09:41.07,2:09:45.57,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5C31\u7B97\u6211\u9858\u610F\u8AAA \u4F60\ - \u8A8D\u70BA\u4ED6\u5011\u6703\u807D\u55CE\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Even if I were willing to try, what makes you think\ - \ they'd listen?{\\r}\r\nDialogue: 0,2:09:46.14,2:09:47.74,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E0D\u77E5\u9053 \u5C07\u8ECD{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I don't know, general.{\\r}\r\ - \nDialogue: 0,2:09:49.14,2:09:50.85,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F46\u662F\u6211\u53EA\u80FD\u76F8\u4FE1\u4F60{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Guess I'll just have to\ - \ trust you.{\\r}\r\nDialogue: 0,2:10:00.42,2:10:03.87,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u4F60\u7B11\u4EC0\u9EBC \u4E0A\u5C09\uFF1F\ - \ - \u6C92\u4EC0\u9EBC \u9577\u5B98{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}- What are you smiling about? - Nothing, Sir.{\\\ - r}\r\nDialogue: 0,2:10:07.13,2:10:09.71,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u89BA\u5F97\u4ED6\u5E25\u7206\u4E86{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I just think he's kind of hot.{\\\ - r}\r\nDialogue: 0,2:10:11.27,2:10:13.37,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}- \u4E0A\u8ECA \u4E0A\u5C09 - \u9075\u547D{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- Get in the car, captain.\ - \ - Mm-hm. Yes, sir.{\\r}\r\nDialogue: 0,2:10:23.34,2:10:26.55,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u4E00\u76F4\u5805\u4FE1\u4F60\u751F\ - \u4F86\u8981\u505A\u5927\u4E8B\u7684{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}He always believed you were meant for greater things.{\\\ - r}\r\nDialogue: 0,2:10:26.81,2:10:28.32,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u7576\u9019\u4E00\u5929\u4F86\u81E8\u6642{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}And that when the day came...{\\\ - r}\r\nDialogue: 0,2:10:28.55,2:10:31.36,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F60\u7684\u80A9\u8180\u8981\u80FD\u625B\u8D77\u5343\ - \u65A4{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...your shoulders\ - \ would be able to bear the weight.{\\r}\r\nDialogue: 0,2:10:31.62,2:10:35.47,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u662F\u554A \u6211\u5E0C\u671B\u4ED6\u80FD\ - \u5920\u770B\u5230\u9019\u4E00\u5207{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Yeah, I just wish he could have been here to see it finally\ - \ happen.{\\r}\r\nDialogue: 0,2:10:35.89,2:10:38.47,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u770B\u5230\u4E86 \u514B\u62C9\u514B\ - \ \u76F8\u4FE1\u6211{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}He\ - \ saw it, Clark, believe me.{\\r}\r\nDialogue: 0,2:11:25.37,2:11:28.22,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u4E0D\u62EF\u6551\u5730\u7403\u7684\ - \u6642\u5019 \u60F3\u5E79\u9EDE\u4EC0\u9EBC\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}What are you going to do when you're not saving the\ - \ world?{\\r}\r\nDialogue: 0,2:11:28.44,2:11:32.19,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u6709\u60F3\u904E\u55CE\uFF1F - \u60F3\ - \u904E \u771F\u7684{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}-\ - \ Have you given any thought to that? - I have, actually. Heh, heh.{\\\ - r}\r\nDialogue: 0,2:11:33.78,2:11:37.79,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u6703\u627E\u4E00\u4EFD\u5DE5\u4F5C \u80FD\u5920\ - \u4FDD\u6301\u9AD8\u5EA6\u8B66\u89BA{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}I gotta find a job where I can keep my ear to the ground.{\\\ - r}\r\nDialogue: 0,2:11:43.02,2:11:45.09,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4EBA\u5011\u4E0D\u6703\u591A\u770B\u6211\u5169\u773C\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Where people won't\ - \ look twice...{\\r}\r\nDialogue: 0,2:11:45.36,2:11:49.14,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u7576\u6211\u8981\u53BB\u5371\u96AA\u7684\ - \u5730\u65B9 \u4E0D\u6703\u554F\u6211\u554F\u984C{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}...when I want to go somewhere dangerous and start\ - \ asking questions...{\\r}\r\nDialogue: 0,2:12:03.24,2:12:06.28,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u884C\u884C\u597D \u9732\u6613\u7D72 \u4F60\ - \u4EC0\u9EBC\u6642\u5019\u80FD\u53EF\u6190\u6211\u4E00\u4E0B\u5462\uFF1F{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Come on, Lois. When\ - \ are you gonna throw me a bone?{\\r}\r\nDialogue: 0,2:12:07.55,2:12:09.22,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ECA\u665A\u6BD4\u8CFD\u7684\u7D55\u4F73\ - \u4F4D\u5B50 \u600E\u9EBC\u6A23\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Courtside seats to the game tonight.{\\r}\r\nDialogue:\ - \ 0,2:12:09.65,2:12:11.22,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}- \u4EC0\u9EBC\uFF1F - \u6211\u8AAA...{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}- What do you say? - I say...{\\r}\r\nDialogue:\ - \ 0,2:12:11.45,2:12:13.99,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4F60\u61C9\u8A72\u53BB\u91E3\u91E3\u5BE6\u7FD2\u751F{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...you should go back to trolling\ - \ the intern pool.{\\r}\r\nDialogue: 0,2:12:14.26,2:12:17.63,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u53EF\u80FD\u6703\u6709\u597D\u904B \u62B1\ - \u6B49{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You'll probably\ - \ have more luck. Sorry.{\\r}\r\nDialogue: 0,2:12:19.43,2:12:20.10,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u770B\u6BD4\u8CFD\uFF1F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Courtside?{\\r}\r\nDialogue: 0,2:12:20.33,2:12:22.07,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u5225\u53BB - \u4E0D\u53BB{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- Don't. Ha, ha, ha. \ - \ - No.{\\r}\r\nDialogue: 0,2:12:22.30,2:12:25.11,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u502B\u5DF4\u7B2C \u84EE\u6069 \u4F86\u898B\ - \u898B\u65B0\u7684\u7279\u7D04\u901A\u8A0A\u54E1{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Lombard, Lane, I want you to meet our new stringer.{\\\ - r}\r\nDialogue: 0,2:12:25.33,2:12:28.58,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F60\u7D66\u4ED6\u50B3\u6388\u50B3\u6388\u7AC5\u9580\ - \ \u4ED6\u53EB\u5361\u62C9\u514B\u2022\u80AF\u7279{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}I want you to show him the ropes. This\ - \ is Clark Kent.{\\r}\r\nDialogue: 0,2:12:28.80,2:12:30.11,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u597D\u904B \u5B69\u5B50{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Good luck, kid.{\\r}\r\nDialogue:\ - \ 0,2:12:31.64,2:12:32.91,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u53EB\u65AF\u8482\u592B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Hey. Steve.{\\r}\r\nDialogue: 0,2:12:33.14,2:12:34.64,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u5E78\u6703 - \u5E78\u6703{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- Nice to meet you. -\ - \ You too.{\\r}\r\nDialogue: 0,2:12:34.64,2:12:35.48,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u55E8{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Hi.{\\r}\r\nDialogue: 0,2:12:36.41,2:12:37.75,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u53EB\u9732\u6613\u7D72\u2022\u84EE\ - \u6069{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Lois Lane.{\\\ - r}\r\nDialogue: 0,2:12:38.58,2:12:40.12,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6B61\u8FCE\u4F86\u300A\u661F\u7403\u65E5\u5831\u300B\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Welcome to the \ - \ Planet.{\\r}\r\nDialogue: 0,2:12:43.85,2:12:46.33,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5F88\u9AD8\u8208\u4F86\u9019 \u9732\u6613\ - \u7D72{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Glad to be\ - \ here, Lois.{\\r}\r\n\r\n" - headers: - cache-control: - - max-age=2678400 - connection: - - keep-alive - # content-disposition: - # - !!python/str "subtitle; filename=\"Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.\u7E41\ - # \u4F53&\u82F1\u6587.ass\"" - content-length: - - '239578' - content-type: - - application/octet-stream - date: - - Sat, 30 Nov 2019 07:14:40 GMT - expires: - - Tue, 31 Dec 2019 07:14:40 GMT - master: - - Windu - server: - - nginx - x-cache: - - HIT - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/assrt/test_download_subtitle_zh.yaml b/tests/cassettes/assrt/test_download_subtitle_zh.yaml deleted file mode 100644 index 0da87684a..000000000 --- a/tests/cassettes/assrt/test_download_subtitle_zh.yaml +++ /dev/null @@ -1,3933 +0,0 @@ -interactions: -- request: - body: null - headers: - User-Agent: - - Sub-Zero/2 - method: GET - uri: https://api.assrt.net/v1/sub/search?q=%5B%27Man+of+Steel+2013%27%5D&token=SECRET&is_file=%5B%271%27%5D - response: - body: - string: "{\"status\":0,\"sub\":{\"keyword\":\"Man of Steel 2013\",\"result\"\ - :\"succeed\",\"subs\":[{\"subtype\":\"SSA\",\"id\":618185,\"lang\":{\"desc\"\ - :\"\u82F1 \u7B80 \u7E41 \u53CC\u8BED\",\"langlist\":{\"langchs\":true,\"langeng\"\ - :true,\"langdou\":true,\"langcht\":true}},\"vote_score\":0,\"upload_time\"\ - :\"2018-01-26 12:19:27\",\"release_site\":\"CMCT\",\"native_name\":\"\u8D85\ - \u4EBA\uFF1A\u94A2\u94C1\u4E4B\u8EAF.Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.\u7B80\ - \u7E41\u82F1\u53CC\u8BED\u5B57\u5E55\",\"videoname\":\"Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT\"\ - ,\"revision\":0},{\"subtype\":\"SSA\",\"id\":316973,\"vote_score\":0,\"upload_time\"\ - :\"2014-12-06 04:13:44\",\"native_name\":\"\u8D85\u4EBA\uFF1A\u94A2\u94C1\u4E4B\ - \u8EAF\\/\u8D85\u4EBA\uFF1A\u94A2\u94C1\u82F1\u96C4\",\"videoname\":\"Man\ - \ of Steel 2013 720p BluRay x264 DTS-WiKi\",\"revision\":0},{\"subtype\":\"\ - Subrip(srt)\",\"id\":253629,\"lang\":{\"desc\":\"\u7E41\",\"langlist\":{\"\ - langcht\":true}},\"vote_score\":0,\"upload_time\":\"2014-03-17 15:30:19\"\ - ,\"native_name\":\"\",\"videoname\":\"[\u8D85\u4EBA \u92FC\u9435\u82F1\u96C4\ - ]Man.of.Steel.(2013).BDRip.720p.DTS.X264-Felony\",\"revision\":0},{\"subtype\"\ - :\"SSA\",\"id\":252930,\"lang\":{\"desc\":\"\u82F1 \u7E41 \u53CC\u8BED\",\"\ - langlist\":{\"langeng\":true,\"langdou\":true,\"langcht\":true}},\"vote_score\"\ - :45,\"upload_time\":\"2014-03-05 18:10:39\",\"native_name\":\"\u8D85\u4EBA\ - \uFF1A\u92FC\u9435\u82F1\u96C4\",\"videoname\":\"Man of Steel\",\"revision\"\ - :0},{\"subtype\":\"Subrip(srt)\",\"id\":246016,\"lang\":{\"desc\":\"\u82F1\ - \ \u7B80 \u7E41\",\"langlist\":{\"langeng\":true,\"langcht\":true,\"langchs\"\ - :true}},\"vote_score\":0,\"upload_time\":\"2013-11-09 10:43:13\",\"native_name\"\ - :\"\u8D85\u4EBA\uFF1A\u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA\uFF1A\u94A2\u94C1\ - \u82F1\u96C4\\/\u3010TLF\u5B57\u5E55\u7EC4\u3011Man of Steel\",\"videoname\"\ - :\"Man.of.Steel.2013.720p.BluRay.x264.YIFY\",\"revision\":0},{\"subtype\"\ - :\"SSA\",\"id\":245602,\"lang\":{\"desc\":\"\u7B80 \u7E41 \u53CC\u8BED\",\"\ - langlist\":{\"langchs\":true,\"langdou\":true,\"langcht\":true}},\"vote_score\"\ - :0,\"upload_time\":\"2013-11-02 05:56:40\",\"native_name\":\"\u8D85\u4EBA\uFF1A\ - \u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA\uFF1A\u94A2\u94C1\u82F1\u96C4\\/\u7279\ - \u6548\u53CC\u8BED\\/\u84DD\u5149\u5B57\u5E55\",\"videoname\":\"Man of Steel\ - \ 1080p.bluray.x264-sector7\",\"revision\":0},{\"subtype\":\"\u5176\u4ED6\"\ - ,\"id\":245568,\"lang\":{\"desc\":\"\u7B80\",\"langlist\":{\"langchs\":true}},\"\ - vote_score\":0,\"upload_time\":\"2013-10-31 23:41:07\",\"native_name\":\"\u8D85\ - \u4EBA: \u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA: \u94A2\u94C1\u82F1\u96C4\"\ - ,\"videoname\":\"Man.of.Steel.2013\",\"revision\":0},{\"subtype\":\"VobSub\"\ - ,\"id\":245259,\"vote_score\":100,\"upload_time\":\"2013-10-27 07:04:18\"\ - ,\"native_name\":\"\",\"videoname\":\"Man.Of.Steel.3D.2013.1080p.BluRay.Half-SBS.DTS.x264-PublicHD\"\ - ,\"revision\":0},{\"subtype\":\"Subrip(srt)\",\"id\":245131,\"lang\":{\"desc\"\ - :\"\u7B80\",\"langlist\":{\"langchs\":true}},\"vote_score\":80,\"upload_time\"\ - :\"2013-10-25 04:50:37\",\"native_name\":\"\u8D85\u4EBA-\u94A2\u94C1\u4E4B\ - \u8EAF\",\"videoname\":\"Man.Of.Steel\",\"revision\":0},{\"subtype\":\"SSA\"\ - ,\"id\":245056,\"lang\":{\"desc\":\"\u7E41\",\"langlist\":{\"langcht\":true}},\"\ - vote_score\":0,\"upload_time\":\"2013-10-24 07:52:31\",\"native_name\":\"\"\ - ,\"videoname\":\"\u8D85\u4EBA \u92FC\u9435\u82F1\u96C4 Man of Steel (2013)\ - \ 1080p.cht\",\"revision\":0},{\"subtype\":\"Subrip(srt)\",\"id\":244971,\"\ - lang\":{\"desc\":\"\u7B80 \u7E41\",\"langlist\":{\"langchs\":true,\"langcht\"\ - :true}},\"vote_score\":10,\"upload_time\":\"2013-10-23 00:46:40\",\"native_name\"\ - :\"\u84DD\u5149\u539F\u76D8\u5B57\u5E55\",\"videoname\":\"\u8D85\u4EBA: \u94A2\ - \u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA: \u94A2\u94C1\u82F1\u96C4(\u6E2F\\/\u53F0\ - ).Man.of.Steel.2013.BluRay CEE\u7248\u84DD\u5149\u539F\u76D8\",\"revision\"\ - :0},{\"subtype\":\"Subrip(srt)\",\"id\":244969,\"lang\":{\"desc\":\"\",\"\ - langlist\":{}},\"vote_score\":0,\"upload_time\":\"2013-10-22 23:39:00\",\"\ - native_name\":\"\u8D85\u4EBA\uFF1A\u94A2\u94C1\u4E4B\u8EAF 3D\\/\u8D85\u4EBA\ - \uFF1A\u94A2\u94C1\u82F1\u96C4\\/Man of Steel 3D\",\"videoname\":\"Man.Of.Steel.3D.2013.1080p.BluRay.Half-SBS.DTS.x264-PublicHD\"\ - ,\"revision\":0},{\"subtype\":\"SSA\",\"id\":244960,\"lang\":{\"desc\":\"\u82F1\ - \ \u7B80\",\"langlist\":{\"langeng\":true,\"langchs\":true}},\"vote_score\"\ - :0,\"upload_time\":\"2013-10-22 22:06:42\",\"native_name\":\"\u8D85\u4EBA\ - :\u94A2\u94C1\u4E4B\u8EAF\",\"videoname\":\"Superman: Man of Steel BD\",\"\ - revision\":0},{\"subtype\":\"\u5176\u4ED6\",\"id\":244939,\"lang\":{\"desc\"\ - :\"\",\"langlist\":{}},\"vote_score\":0,\"upload_time\":\"2013-10-22 17:42:45\"\ - ,\"native_name\":\"\",\"videoname\":\"\u8D85\u4EBA\uFF1A\u94A2\u94C1\u4E4B\ - \u8EAF.Man.of.Steel.2013.1080p-PublicHD 2D.1080p\u62163D.1080p.HSBS-PublicHD\"\ - ,\"revision\":0},{\"subtype\":\"Subrip(srt)\",\"id\":244863,\"lang\":{\"desc\"\ - :\"\u82F1 \u7B80 \u7E41\",\"langlist\":{\"langeng\":true,\"langcht\":true,\"\ - langchs\":true}},\"vote_score\":0,\"upload_time\":\"2013-10-21 16:52:23\"\ - ,\"native_name\":\"\\/Man of Steel \\/\u8D85\u4EBA:\u94A2\u94C1\u4E4B\u8EAF\ - \\/\u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA:\u94A2\u94C1\u82F1\u96C4\",\"videoname\"\ - :\"man.of.steel.2013.720p.bluray.x264-felony.mkv\",\"revision\":0}],\"action\"\ - :\"search\"}}\n" - headers: - access-control-allow-origin: - - '*' - connection: - - keep-alive - content-type: - - application/json - date: - - Sat, 30 Nov 2019 14:07:59 GMT - server: - - nginx - transfer-encoding: - - chunked - vary: - - Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - User-Agent: - - Sub-Zero/2 - method: GET - uri: https://api.assrt.net/v1/sub/detail?token=SECRET&id=%5B%27618185%27%5D - response: - body: - string: "{\"status\":0,\"sub\":{\"result\":\"succeed\",\"subs\":[{\"id\":618185,\"\ - filelist\":[{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618185\\/-\\\ - /1\\/Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.%E7%AE%80%E4%BD%93%26%E8%8B%B1%E6%96%87.ass?_=1575122879&-=159cbd264a1c51aaa40ba10021f3c849&api=1\"\ - ,\"f\":\"Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.\u7B80\u4F53\ - &\u82F1\u6587.ass\",\"s\":\"233KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\\ - /onthefly\\/618185\\/-\\/2\\/Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.%E7%AE%80%E4%BD%93%26%E8%8B%B1%E6%96%87.srt?_=1575122879&-=dc85cb7adad4bd68bdbc72bd53c95f64&api=1\"\ - ,\"f\":\"Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.\u7B80\u4F53\ - &\u82F1\u6587.srt\",\"s\":\"200KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\\ - /onthefly\\/618185\\/-\\/3\\/Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.%E7%AE%80%E4%BD%93.ass?_=1575122879&-=6803dae74a248f4cd25322084863fc5d&api=1\"\ - ,\"f\":\"Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.\u7B80\u4F53\ - .ass\",\"s\":\"133KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\\ - /618185\\/-\\/4\\/Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.%E7%AE%80%E4%BD%93.srt?_=1575122879&-=f827dc4d357b85d428ee017b1828e506&api=1\"\ - ,\"f\":\"Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.\u7B80\u4F53\ - .srt\",\"s\":\"80KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\\ - /618185\\/-\\/5\\/Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.%E7%B9%81%E4%BD%93%26%E8%8B%B1%E6%96%87.ass?_=1575122879&-=aecf7aa091e84874ae736d9679eeba15&api=1\"\ - ,\"f\":\"Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.\u7E41\u4F53\ - &\u82F1\u6587.ass\",\"s\":\"233KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\\ - /onthefly\\/618185\\/-\\/6\\/Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.%E7%B9%81%E4%BD%93%26%E8%8B%B1%E6%96%87.srt?_=1575122879&-=ec15b55356564b55c55972723a72267e&api=1\"\ - ,\"f\":\"Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.\u7E41\u4F53\ - &\u82F1\u6587.srt\",\"s\":\"200KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\\ - /onthefly\\/618185\\/-\\/7\\/Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.%E7%B9%81%E4%BD%93.ass?_=1575122879&-=10f05c7cd25cde35a11fda2c94a21d75&api=1\"\ - ,\"f\":\"Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.\u7E41\u4F53\ - .ass\",\"s\":\"133KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\\ - /618185\\/-\\/8\\/Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.%E7%B9%81%E4%BD%93.srt?_=1575122879&-=99dd118570607efd6674d56a6612b4f9&api=1\"\ - ,\"f\":\"Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.\u7E41\u4F53\ - .srt\",\"s\":\"119KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\\ - /618185\\/-\\/9\\/Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.%E8%8B%B1%E6%96%87%26%E7%AE%80%E4%BD%93.ass?_=1575122879&-=31d1f66db3d9508dbd8062f602691af0&api=1\"\ - ,\"f\":\"Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.\u82F1\u6587\ - &\u7B80\u4F53.ass\",\"s\":\"233KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\\ - /onthefly\\/618185\\/-\\/10\\/Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.%E8%8B%B1%E6%96%87%26%E7%AE%80%E4%BD%93.srt?_=1575122879&-=d32b0be444d0f33f8a64e283bb602f25&api=1\"\ - ,\"f\":\"Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.\u82F1\u6587\ - &\u7B80\u4F53.srt\",\"s\":\"200KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\\ - /onthefly\\/618185\\/-\\/11\\/Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.%E8%8B%B1%E6%96%87%26%E7%B9%81%E4%BD%93.ass?_=1575122879&-=b76ea6918bee991b256a740b2fd6f925&api=1\"\ - ,\"f\":\"Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.\u82F1\u6587\ - &\u7E41\u4F53.ass\",\"s\":\"233KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\\ - /onthefly\\/618185\\/-\\/12\\/Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.%E8%8B%B1%E6%96%87%26%E7%B9%81%E4%BD%93.srt?_=1575122879&-=a9161834e513e8b851cb2cec03b05764&api=1\"\ - ,\"f\":\"Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.\u82F1\u6587\ - &\u7E41\u4F53.srt\",\"s\":\"200KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\\ - /onthefly\\/618185\\/-\\/13\\/Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.%E8%8B%B1%E6%96%87.srt?_=1575122879&-=56a3a0099aa8670bd8b5ccc21e18656a&api=1\"\ - ,\"f\":\"Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.\u82F1\u6587\ - .srt\",\"s\":\"85KB\"}],\"url\":\"http:\\/\\/file0.assrt.net\\/download\\\ - /618185\\/Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.zip?_=1575122879&-=efab65827fa22ae6a013202d29af471b&api=1\"\ - ,\"release_site\":\"CMCT\",\"revision\":0,\"filename\":\"Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.zip\"\ - ,\"subtype\":\"SSA\",\"lang\":{\"desc\":\"\u82F1 \u7B80 \u7E41 \u53CC\u8BED\ - \",\"langlist\":{\"langchs\":true,\"langeng\":true,\"langdou\":true,\"langcht\"\ - :true}},\"videoname\":\"Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT\"\ - ,\"vote_score\":0,\"upload_time\":\"2018-01-26 12:19:27\",\"title\":\"\u8D85\ - \u4EBA\uFF1A\u94A2\u94C1\u4E4B\u8EAF.Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.\u7B80\ - \u7E41\u82F1\u53CC\u8BED\u5B57\u5E55\",\"view_count\":2542,\"native_name\"\ - :\"\u8D85\u4EBA\uFF1A\u94A2\u94C1\u4E4B\u8EAF.Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.\u7B80\ - \u7E41\u82F1\u53CC\u8BED\u5B57\u5E55\",\"producer\":{\"source\":\"\u539F\u521B\ - \u7FFB\u8BD1\",\"verifier\":\"\",\"producer\":\"\",\"uploader\":\"\"},\"size\"\ - :627625,\"down_count\":1291}],\"action\":\"detail\"}}\n" - headers: - access-control-allow-origin: - - '*' - connection: - - keep-alive - content-type: - - application/json - date: - - Sat, 30 Nov 2019 14:07:59 GMT - server: - - nginx - transfer-encoding: - - chunked - vary: - - Accept-Encoding - status: - code: 200 - message: OK -- request: - body: null - headers: - User-Agent: - - Sub-Zero/2 - method: GET - uri: http://file0.assrt.net/onthefly/618185/-/1/Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.%E7%AE%80%E4%BD%93%26%E8%8B%B1%E6%96%87.ass?api=%5B%271%27%5D&-=%5B%27159cbd264a1c51aaa40ba10021f3c849%27%5D&_=%5B%271575122879%27%5D - response: - body: - string: "\uFEFF[Script Info]\r\n;SrtEdit 6.0.2011.1205\r\n;Copyright(C) 2005-2011\ - \ Yuan Weiguo\r\n\r\nTitle: \r\nOriginal Script: \r\nOriginal Translation:\ - \ \r\nOriginal Timing: \r\nOriginal Editing: \r\nScript Updated By: \r\nUpdate\ - \ Details: \r\nScriptType: v4.00+\r\nCollisions: Normal\r\nPlayResX: 384\r\ - \nPlayResY: 288\r\nTimer: 100.0000\r\nSynch Point: \r\nWrapStyle: 0\r\nScaledBorderAndShadow:\ - \ no\r\n\r\n[V4+ Styles]\r\nFormat: Name, Fontname, Fontsize, PrimaryColour,\ - \ SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut,\ - \ ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment,\ - \ MarginL, MarginR, MarginV, Encoding\r\nStyle: chs,Arial,20,&H00E0E0E0,&H00000000,&H00000000,&H80000000,0,0,0,0,100,100,0,0,0,2,1,2,1,1,1,1\r\ - \nStyle: Default,Arial,18,&H00FFFFFF,&H0000FFFF,&H00000000,&H00000000,-1,0,0,0,100,100,0,0,1,2,3,2,20,20,20,1\r\ - \n\r\n[Events]\r\nFormat: Layer, Start, End, Style, Name, MarginL, MarginR,\ - \ MarginV, Effect, Text\r\nDialogue: 0,0:00:01.00,0:00:05.00,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\fs18\\1c&H00FFFF&}--==\u672C\u5F71\u7247\u7531\ - \ {\\1c&HFF8000&\\b1}CMCT \u56E2\u961F{\\r\\fn\u534E\u6587\u6977\u4F53\\fs18\\\ - 1c&H00FFFF&} \u8363\u8A89\u51FA\u54C1==--\\N\u66F4\u591A\u7CBE\u5F69\u5F71\ - \u89C6 \u8BF7\u8BBF\u95EE {\\fnCronos Pro Light Subhead\\1c&HFF00FF&\\b1}http://cmct.cc{\\\ - r\\fn\u534E\u6587\u6977\u4F53\\fs18\\1c&H00FFFF&}{\\r}\r\nDialogue: 0,0:00:06.00,0:00:10.00,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\fs16\\1c&H00FFFF&}\u5F71\u7247\u538B\u5236: \u66AE\ - \u96E8\u6F47\u6F47 \u5B57\u5E55\u8C03\u6821\uFF1A\u4E5D\u5929 \u62DB\ - \u52DFQ\u53F7: 76846146{\\r}\r\nDialogue: 0,0:00:58.52,0:01:00.02,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5FEB\u70B9{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Hurry!{\\r}\r\nDialogue: 0,0:02:11.03,0:02:14.97,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u4EEC\u8FD8\u4E0D\u660E\u767D\u5417\ - \uFF1F\u6C2A\u661F\u7684\u6838\u5FC3\u6B63\u5728\u574D\u584C{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Do you not understand? Krypton's core\ - \ is collapsing.{\\r}\r\nDialogue: 0,0:02:15.20,0:02:18.54,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4EEC\u4E5F\u8BB8\u53EA\u5269\u51E0\ - \u4E2A\u661F\u671F\u4E86 \u6211\u8B66\u544A\u8FC7\u4F60\u4EEC{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We may only have a matter of weeks.\ - \ I warned you.{\\r}\r\nDialogue: 0,0:02:18.80,0:02:22.30,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5F00\u53D1\u6838\u5FC3\u7684\u80FD\u6E90\ - \u4E0E\u81EA\u6740\u65E0\u5F02{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Harvesting the core was suicide. It has accelerated...{\\r}\r\nDialogue:\ - \ 0,0:02:22.54,0:02:25.28,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}- \u5185\u7206\u7684\u901F\u5EA6\u5DF2\u7ECF\u52A0\u5FEB - \u6211\ - \u4EEC\u7684\u80FD\u6E90\u50A8\u5907\u5DF2\u7ECF\u8017\u5C3D{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- ...the process of implosion. \ - \ - Our energy reserves...{\\r}\r\nDialogue: 0,0:02:25.51,0:02:27.89,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4EEC\u8FD8\u80FD\u600E\u4E48\u529E\ - \ \u827E\u5C14{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...were\ - \ exhausted. What would you have us do, El?{\\r}\r\nDialogue: 0,0:02:28.14,0:02:31.56,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u50CF\u6211\u4EEC\u7684\u7956\u5148\u4E00\ - \u6837 \u653E\u773C\u5B87\u5B99{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Look to the stars, like our ancestors did.{\\r}\r\nDialogue: 0,0:02:31.81,0:02:35.69,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9002\u5408\u5C45\u4F4F\u7684\u4E16\u754C\ - \u89E6\u624B\u53EF\u53CA \u6211\u4EEC\u53EF\u4EE5\u5148\u7528\u90A3\u4E9B\u65E7\ - \u524D\u54E8\u7AD9{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}There\ - \ are habitable worlds within reach. We can begin by using the old outposts.{\\\ - r}\r\nDialogue: 0,0:02:35.95,0:02:39.66,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F60\u771F\u7684\u60F3\u8981\u64A4\u79BB\u5168\u661F\ - \u7403\u7684\u4EBA\u5417\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Are you seriously suggesting that we evacuate the entire planet?{\\\ - r}\r\nDialogue: 0,0:02:39.89,0:02:43.34,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4E0D \u6211\u4EEC\u5DF2\u7ECF\u6551\u4E0D\u4E86\u8FD9\ - \u91CC\u7684\u4EBA\u4EEC\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}No. Everybody here is already dead.{\\r}\r\nDialogue: 0,0:02:44.16,0:02:48.30,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u628A\u5BC6\u5178\u4EA4\u7ED9\u6211 \u6211\ - \u4FDD\u8BC1\u8BA9\u6211\u4EEC\u79CD\u65CF\u5B58\u6D3B\u4E0B\u53BB{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Give me control of the\ - \ Codex. I will ensure the survival of our race.{\\r}\r\nDialogue: 0,0:02:48.66,0:02:49.73,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8FD8\u6709\u5E0C\u671B{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}There is still hope.{\\r}\r\nDialogue:\ - \ 0,0:02:50.00,0:02:53.00,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u5C06\u8FD9\u4E2A\u5E0C\u671B\u63E1\u5728\u4E86\u6211\u7684\ - \u624B\u5FC3{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I have\ - \ held that hope in my hands.{\\r}\r\nDialogue: 0,0:03:07.42,0:03:09.96,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u957F\u8001\u4F1A\u5DF2\u7ECF\u89E3\u6563\ - \u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}This council\ - \ has been disbanded.{\\r}\r\nDialogue: 0,0:03:10.05,0:03:11.90,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8C01\u4E0B\u7684\u547D\u4EE4\uFF1F{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}On whose authority?{\\\ - r}\r\nDialogue: 0,0:03:12.25,0:03:13.39,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Mine.{\\r}\r\nDialogue: 0,0:03:17.16,0:03:21.44,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5176\u4F59\u7684\u4EBA\u5C06\u88AB\u5BA1\ - \u5224 \u5E76\u914C\u60C5\u5904\u7F5A{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}The rest of you will be tried and punished accordingly.{\\\ - r}\r\nDialogue: 0,0:03:23.43,0:03:26.70,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}- \u4F60\u5728\u5E72\u4EC0\u4E48 \u4F50\u5FB7\uFF1F\u4F60\ - \u75AF\u4E86 - \u6211\u51E0\u5E74\u524D\u5C31\u8BE5\u52A8\u624B\u4E86{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- What are you doing,\ - \ Zod? This is madness. - What I should have done years ago...{\\r}\r\ - \nDialogue: 0,0:03:27.17,0:03:32.00,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u662F\u8FD9\u4E9B\u7ACB\u6CD5\u8005\u548C\u4ED6\u4EEC\ - \u65E0\u4F11\u6B62\u7684\u4E89\u8BBA\u6BC1\u4E86\u6C2A\u661F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}These lawmakers with their endless\ - \ debates have lead Krypton to ruin.{\\r}\r\nDialogue: 0,0:03:34.28,0:03:35.95,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5C31\u7B97\u4F60\u7684\u519B\u961F\u80DC\ - \u5229\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}And\ - \ if your forces prevail...{\\r}\r\nDialogue: 0,0:03:36.21,0:03:38.85,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u4F60\u4E5F\u53EA\u80FD\u662F\u4E2A\u5149\ - \u6746\u53F8\u4EE4 - \u90A3\u5C31\u52A0\u5165\u6211\u7684\u884C\u5217\u5427\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- ...you'll be the\ - \ leader of nothing. - Then join me.{\\r}\r\nDialogue: 0,0:03:39.08,0:03:42.19,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u534F\u52A9\u6211\u62EF\u6551\u6211\u4EEC\ - \u7684\u79CD\u65CF \u6211\u4EEC\u91CD\u65B0\u5F00\u59CB{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Help me save our race. We'll start\ - \ anew.{\\r}\r\nDialogue: 0,0:03:42.42,0:03:46.60,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5C06\u8BA9\u6211\u4EEC\u6CA6\u843D\u5230\ - \u5982\u6B64\u7530\u5730\u7684\u5815\u843D\u8840\u8109\u5207\u65AD{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We'll sever the degenerative\ - \ bloodlines that led us to this state.{\\r}\r\nDialogue: 0,0:03:46.72,0:03:49.97,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8C01\u6765\u51B3\u5B9A\u8C01\u53BB\u8C01\ - \u7559 \u4F50\u5FB7\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}And who will decide which bloodlines survive, Zod?{\\r}\r\nDialogue:\ - \ 0,0:03:51.53,0:03:52.37,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4F60\u5417\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}You?{\\r}\r\nDialogue: 0,0:03:54.90,0:03:56.60,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u522B\u8FD9\u6837 \u827E\u5C14{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Don't do this, El.{\\r}\r\n\ - Dialogue: 0,0:03:56.87,0:03:59.31,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u6211\u6700\u4E0D\u613F\u610F\u770B\u5230\u7684 \u5C31\u662F\ - \u6211\u4EEC\u53CD\u76EE\u6210\u4EC7{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}The last thing I want is for us to be enemies.{\\r}\r\n\ - Dialogue: 0,0:03:59.57,0:04:02.21,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u4F60\u80CC\u5F03\u4E86\u6211\u4EEC\u76F8\u7EA6\u7ACB\u4E0B\ - \u7684\u539F\u5219{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You\ - \ have abandoned the principles that bound us together.{\\r}\r\nDialogue:\ - \ 0,0:04:02.44,0:04:06.00,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4F60\u5C06\u5251\u6307\u5411\u4E86\u81EA\u5DF1\u7684\u4EBA\u6C11\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You've taken up\ - \ the sword against your own people.{\\r}\r\nDialogue: 0,0:04:06.48,0:04:09.39,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u656C\u91CD\u7684\u662F\u66FE\u7ECF\ - \u7684\u4F60 \u4F50\u5FB7{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}I will honor the man you once were, Zod...{\\r}\r\nDialogue: 0,0:04:09.81,0:04:11.79,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u800C\u4E0D\u662F\u5982\u4ECA\u8FD9\u4E2A\ - \u79BD\u517D{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...not\ - \ this monster you've become.{\\r}\r\nDialogue: 0,0:04:15.08,0:04:16.43,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u628A\u4ED6\u5E26\u8D70{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Take him away.{\\r}\r\nDialogue: 0,0:04:22.59,0:04:23.93,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E3B\u4EBA \u4E00\u5207\u662F\u5426\u5B89\ - \u597D\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Sir?\ - \ Is everything all right?{\\r}\r\nDialogue: 0,0:04:24.16,0:04:25.47,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8BA9\u5F00{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Out of the way.{\\r}\r\nDialogue: 0,0:04:26.33,0:04:27.53,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u518D\u8BF4\u4E00\u904D{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I said...{\\r}\r\nDialogue:\ - \ 0,0:04:43.81,0:04:44.85,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u53EB\u83B1\u62C9\u8FC7\u6765{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Get me Lara.{\\r}\r\nDialogue: 0,0:04:46.18,0:04:48.35,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E54 \u6CE8\u610F\u8EAB\u540E{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Jor. Behind you.{\\r}\r\nDialogue:\ - \ 0,0:04:52.25,0:04:54.26,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u83B1\u62C9 \u51C6\u5907\u597D\u53D1\u5C04{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Lara, you have to ready the launch.{\\\ - r}\r\nDialogue: 0,0:04:54.49,0:04:56.66,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u4F1A\u5C3D\u5FEB\u8DDF\u4F60\u4F1A\u5408{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I'll be with you as soon\ - \ as I can.{\\r}\r\nDialogue: 0,0:05:10.97,0:05:12.54,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8D6B\u62C9\u5361{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}H'Raka!{\\r}\r\nDialogue: 0,0:05:51.58,0:05:54.32,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u80FD\u770B\u5230\u5BC6\u5178\u5417\uFF1F\ - \ - \u5C31\u5728\u4E2D\u67A2\u7684\u4E0B\u65B9 \u4E3B\u4EBA{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- Can you see the Codex? -\ - \ It's just beneath the central hub.{\\r}\r\nDialogue: 0,0:05:54.55,0:05:55.75,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F46\u6211\u4E0D\u5F97\u4E0D\u8B66\u544A\ - \u60A8{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}But I'm compelled\ - \ to warn you.{\\r}\r\nDialogue: 0,0:05:55.92,0:05:58.23,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5165\u4FB5\u59CB\u6E90\u5BA4\u662FB\u7EA7\ - \u72AF\u7F6A{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Breaching\ - \ the genesis chamber is a Class-B crime...{\\r}\r\nDialogue: 0,0:05:58.49,0:06:02.06,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6CA1\u4EBA\u5728\u4E4E\u8FD9\u4E2A\u4E86\ - \ \u57FA\u5217\u514B\u65AF \u8FD9\u4E2A\u4E16\u754C\u5C31\u8981\u6BC1\u706D\ - \u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Nobody cares\ - \ anymore, Kelex. The world is about to come to an end.{\\r}\r\nDialogue:\ - \ 0,0:07:06.72,0:07:09.90,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4E54\u2022\u827E\u5C14 \u4F50\u5FB7\u5C06\u519B\u6709\u4EE4{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Jor-El, by the authority\ - \ of General Zod...{\\r}\r\nDialogue: 0,0:07:10.13,0:07:12.00,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4EA4\u51FA\u5BC6\u5178{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...surrender the Codex.{\\r}\r\nDialogue:\ - \ 0,0:08:00.01,0:08:01.54,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u575A\u6301\u4F4F \u8D6B\u62C9\u5361{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Easy, H'Raka.{\\r}\r\nDialogue: 0,0:08:22.50,0:08:24.14,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u4EEC\u627E\u5230\u4E86\u90A3\u4E2A\ - \u4E16\u754C\u5417\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Did you find a world?{\\r}\r\nDialogue: 0,0:08:24.33,0:08:26.65,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u627E\u5230\u4E86 - \u5B83\u7ED5\u7740\ - \u4E00\u9897\u9EC4\u8272\u4E3B\u5E8F\u661F\u8FD0\u884C{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- We have. - Orbiting a main\ - \ sequence yellow star...{\\r}\r\nDialogue: 0,0:08:26.87,0:08:28.58,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6B63\u5982\u60A8\u6240\u8BF4{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...just as you said it would.{\\\ - r}\r\nDialogue: 0,0:08:29.87,0:08:31.48,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u8FD9\u662F\u9897\u5E74\u8F7B\u7684\u6052\u661F{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}A young star.{\\r}\r\n\ - Dialogue: 0,0:08:31.84,0:08:34.21,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u4ED6\u7684\u7EC6\u80DE\u80FD\u5438\u6536\u5B83\u7684\u8F90\ - \u5C04\u80FD{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}His\ - \ cells will drink its radiation.{\\r}\r\nDialogue: 0,0:08:36.64,0:08:38.89,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F3C\u4E4E\u662F\u667A\u80FD\u751F\u7269\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}It's a seemingly\ - \ intelligent population.{\\r}\r\nDialogue: 0,0:08:39.81,0:08:40.88,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u4F1A\u88AB\u9057\u5F03{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}He'll be an outcast.{\\r}\r\ - \nDialogue: 0,0:08:41.88,0:08:43.33,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u88AB\u5F53\u6210\u602A\u7269{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}A freak.{\\r}\r\nDialogue: 0,0:08:44.55,0:08:45.36,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u4F1A\u88AB\u6740\u6389\u7684{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}They'll kill him.{\\\ - r}\r\nDialogue: 0,0:08:45.59,0:08:47.03,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4E0D{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}How?{\\r}\r\nDialogue: 0,0:08:47.89,0:08:49.60,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u4F1A\u88AB\u5F53\u6210\u4E0A\u5E1D\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}He'll be a god to\ - \ them.{\\r}\r\nDialogue: 0,0:08:51.43,0:08:53.57,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5982\u679C\u98DE\u8239\u5230\u4E0D\u4E86\ - \u90A3\u91CC\u600E\u4E48\u529E\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}What if the ship doesn't make it?{\\r}\r\nDialogue: 0,0:08:54.53,0:08:56.03,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u4F1A\u6B7B\u5728\u5916\u9762{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}He'll die out there...{\\\ - r}\r\nDialogue: 0,0:08:56.93,0:08:58.97,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5B64\u82E6\u4F36\u4EC3\u5730{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}...alone.{\\r}\r\nDialogue: 0,0:09:00.07,0:09:01.84,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u505A\u4E0D\u5230{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I can't do it.{\\r}\r\nDialogue: 0,0:09:02.07,0:09:03.45,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4EE5\u4E3A\u53EF\u4EE5 \u4F46...{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I thought I could,\ - \ but...{\\r}\r\nDialogue: 0,0:09:03.71,0:09:05.45,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u83B1\u62C9 - \u4ED6\u5C31\u5728\u6211\ - \u773C\u524D{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- Lara.\ - \ - ...now that he's here...{\\r}\r\nDialogue: 0,0:09:05.91,0:09:07.61,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6C2A\u661F\u5DF2\u7ECF\u4E0D\u884C\u4E86\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Krypton is doomed.{\\\ - r}\r\nDialogue: 0,0:09:08.84,0:09:10.69,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u8FD9\u662F\u4ED6\u552F\u4E00\u7684\u673A\u4F1A{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}It's his only chance now.{\\\ - r}\r\nDialogue: 0,0:09:11.38,0:09:12.95,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u8FD9\u662F\u6211\u4EEC\u6C11\u65CF\u552F\u4E00\u7684\ - \u5E0C\u671B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}It's\ - \ our people's only hope.{\\r}\r\nDialogue: 0,0:09:14.42,0:09:15.62,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u600E\u4E48\u4E86 \u57FA\u5217\u514B\u65AF\ - \uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}What is it,\ - \ Kelex?{\\r}\r\nDialogue: 0,0:09:15.88,0:09:17.86,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6709\u4E94\u8258\u653B\u51FB\u8230\u6B63\ - \u4ECE\u4E1C\u9762\u9760\u8FD1{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Five attack ships converging from the east.{\\r}\r\nDialogue: 0,0:09:18.09,0:09:20.43,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u4EEC\u6B63\u5728\u626B\u63CF\u5E76\ - \u8BC4\u4F30\u57CE\u5821\u7684\u9632\u5FA1\u7CFB\u7EDF{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Citadel's defenses are being scanned\ - \ and evaluated.{\\r}\r\nDialogue: 0,0:09:20.69,0:09:21.60,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u6765\u4E0A\u4F20\u5BC6\u5178{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I'll upload the Codex.{\\\ - r}\r\nDialogue: 0,0:09:22.36,0:09:23.77,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4E0D \u7B49\u7B49{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}No, wait.{\\r}\r\nDialogue: 0,0:09:24.39,0:09:25.23,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u83B1\u62C9{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Lara.{\\r}\r\nDialogue: 0,0:09:25.46,0:09:28.37,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8BA9\u6211\u518D\u770B\u770B\u4ED6{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Just let me look at\ - \ him.{\\r}\r\nDialogue: 0,0:09:31.77,0:09:34.27,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4EEC\u6CA1\u673A\u4F1A\u770B\u4ED6\ - \u8D70\u8DEF\u7684\u6837\u5B50{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}We'll never get to see him walk.{\\r}\r\nDialogue: 0,0:09:36.70,0:09:39.22,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6CA1\u673A\u4F1A\u542C\u4ED6\u558A\u7238\ - \u7238\u5988\u5988{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Never\ - \ hear him say our names.{\\r}\r\nDialogue: 0,0:09:44.05,0:09:45.46,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u4F1A\u5728{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}But out there...{\\r}\r\nDialogue: 0,0:09:45.71,0:09:47.62,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u832B\u832B\u5B87\u5B99\u95F4{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...amongst the stars...{\\\ - r}\r\nDialogue: 0,0:09:48.98,0:09:50.49,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6D3B\u4E0B\u6765{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}...he will live.{\\r}\r\nDialogue: 0,0:10:48.54,0:10:50.45,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u518D\u89C1 \u513F\u5B50{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Goodbye, my son.{\\r}\r\nDialogue:\ - \ 0,0:10:51.18,0:10:53.72,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u4EEC\u7684\u5E0C\u671B\u4E0E\u68A6\u60F3\u4E0E\u4F60\u540C\ - \u884C{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Our hopes\ - \ and dreams travel with you.{\\r}\r\nDialogue: 0,0:11:32.42,0:11:35.23,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5411\u4E3B\u95E8\u96C6\u4E2D\u706B\u529B\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Concentrate fire\ - \ on the main doors.{\\r}\r\nDialogue: 0,0:11:50.57,0:11:51.55,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u83B1\u62C9\u592B\u4EBA{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Lady Lara.{\\r}\r\nDialogue: 0,0:11:51.77,0:11:54.85,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u5E7D\u7075\u5F15\u64CE\u5DF2\u542F\u52A8\ - \ - \u70B9\u706B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}-\ - \ The phantom drives are coming online. - Proceed to ignition.{\\r}\r\ - \nDialogue: 0,0:11:55.61,0:11:56.61,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5C06\u519B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}General.{\\r}\r\nDialogue: 0,0:11:56.88,0:12:00.26,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u57CE\u5821\u5185\u6709\u5F15\u64CE\u542F\ - \u52A8{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We have identified\ - \ an engine ignition within the citadel.{\\r}\r\nDialogue: 0,0:12:01.22,0:12:02.63,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u662F\u822A\u5929\u5668\u53D1\u5C04{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}A launch.{\\r}\r\n\ - Dialogue: 0,0:12:03.79,0:12:06.20,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u5B88\u4F4F\u8FD9\u5E73\u53F0 \u6307\u6325\u5B98{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Hold this platform, commander.{\\\ - r}\r\nDialogue: 0,0:12:18.60,0:12:21.15,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u77E5\u9053\u4F60\u5077\u4E86\u5BC6\u5178 \u4E54\ - \u2022\u827E\u5C14{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I\ - \ know you stole the Codex, Jor-El.{\\r}\r\nDialogue: 0,0:12:21.70,0:12:22.70,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u628A\u5B83\u4EA4\u51FA\u6765{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Surrender it...{\\r}\r\nDialogue:\ - \ 0,0:12:22.94,0:12:24.94,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u5C31\u9976\u4F60\u4E0D\u6B7B{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}...and I'll let you live.{\\r}\r\nDialogue: 0,0:12:25.57,0:12:28.11,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8FD9\u6B21\u91CD\u751F\u7684\u673A\u4F1A\ - \u5C5E\u4E8E\u6C2A\u661F\u6240\u6709\u4EBA{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}This is a second chance for all of Krypton...{\\\ - r}\r\nDialogue: 0,0:12:28.38,0:12:31.32,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u800C\u4E0D\u4EC5\u4EC5\u662F\u4F60\u89C9\u5F97\u91CD\ - \u8981\u7684\u8840\u8109{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...not just the bloodlines you deem worthy.{\\r}\r\nDialogue: 0,0:12:32.25,0:12:33.42,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u505A\u4E86\u4EC0\u4E48\u4E8B\uFF1F\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}What have you done?{\\\ - r}\r\nDialogue: 0,0:12:33.65,0:12:35.96,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u4EEC\u6709\u4E00\u4E2A\u5B69\u5B50 \u4F50\u5FB7\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We've had a child,\ - \ Zod.{\\r}\r\nDialogue: 0,0:12:36.95,0:12:38.33,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E00\u4E2A\u7537\u5B69{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}A boy child.{\\r}\r\nDialogue: 0,0:12:38.59,0:12:41.59,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u662F\u6C2A\u661F\u51E0\u767E\u5E74\ - \u6765\u7B2C\u4E00\u4E2A\u81EA\u7136\u5206\u5A29\u7684\u5B69\u5B50{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Krypton's first natural\ - \ birth in centuries.{\\r}\r\nDialogue: 0,0:12:42.56,0:12:44.26,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u5C06\u83B7\u5F97\u81EA\u7531{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}And he will be free.{\\\ - r}\r\nDialogue: 0,0:12:44.76,0:12:47.24,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u51B3\u5B9A\u81EA\u5DF1\u547D\u8FD0\u7684\u81EA\u7531\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Free to forge his\ - \ own destiny.{\\r}\r\nDialogue: 0,0:12:48.10,0:12:49.58,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u80E1\u8BF4\u516B\u9053{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Heresy.{\\r}\r\nDialogue: 0,0:12:51.47,0:12:52.14,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u628A\u5B83\u6BC1\u4E86{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Destroy it.{\\r}\r\nDialogue: 0,0:13:45.62,0:13:46.62,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u83B1\u62C9{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Lara...{\\r}\r\nDialogue: 0,0:13:46.79,0:13:48.17,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u542C\u6211\u8BF4{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}...listen to me.{\\r}\r\nDialogue: 0,0:13:48.39,0:13:52.03,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5BC6\u5178\u662F\u6C2A\u661F\u7684\u672A\ - \u6765{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The Codex\ - \ is Krypton's future.{\\r}\r\nDialogue: 0,0:13:52.29,0:13:54.74,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u53D6\u6D88\u53D1\u5C04{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Abort the launch.{\\r}\r\nDialogue:\ - \ 0,0:14:13.92,0:14:15.69,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4E0D{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}No!{\\\ - r}\r\nDialogue: 0,0:14:45.61,0:14:47.49,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u83B1\u62C9{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Your son, Lara...{\\r}\r\nDialogue: 0,0:14:48.18,0:14:50.69,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u628A\u4F60\u4EEC\u7684\u513F\u5B50\ - \u9001\u5230\u54EA\u91CC\u53BB\u4E86\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}...where have you sent him?{\\r}\r\nDialogue: 0,0:14:53.59,0:14:55.36,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u7684\u540D\u5B57{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}His name...{\\r}\r\nDialogue: 0,0:14:55.59,0:14:56.69,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u662F\u5361\u5C14{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}...is Kal...{\\r}\r\nDialogue: 0,0:14:57.36,0:14:59.20,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u827E\u5C14\u4E4B\u5B50{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...son of El.{\\r}\r\nDialogue: 0,0:15:02.30,0:15:05.14,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u4F11\u60F3\u627E\u5230\u4ED6{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}And he's beyond your\ - \ reach.{\\r}\r\nDialogue: 0,0:15:15.28,0:15:16.78,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u628A\u90A3\u8258\u98DE\u8239\u6253\u4E0B\ - \u6765{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Bring that\ - \ ship down.{\\r}\r\nDialogue: 0,0:15:25.12,0:15:26.90,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u76EE\u6807\u5DF2\u9501\u5B9A{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Target locked.{\\r}\r\nDialogue:\ - \ 0,0:15:38.23,0:15:39.83,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u653E\u4E0B\u4F60\u4EEC\u7684\u6B66\u5668{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Lay down your weapons.{\\r}\r\nDialogue:\ - \ 0,0:15:39.93,0:15:42.01,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4F60\u4EEC\u5DF2\u7ECF\u88AB\u5305\u56F4\u4E86{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Your forces are surrounded.{\\r}\r\ - \nDialogue: 0,0:15:52.11,0:15:53.59,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F50\u5FB7\u5C06\u519B{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}General Zod...{\\r}\r\nDialogue: 0,0:15:53.82,0:15:56.80,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u72AF\u4E0B\u4E86\u8C0B\u6740\u7F6A\ - \u4E0E\u53DB\u56FD\u7F6A{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...for the crimes of murder and high treason...{\\r}\r\nDialogue: 0,0:15:56.82,0:16:01.13,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u957F\u8001\u4F1A\u5224\u5904\u4F60\u548C\ - \u4F60\u7684\u540C\u8C0B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...the Council has sentenced you and your fellow insurgents...{\\r}\r\ - \nDialogue: 0,0:16:01.19,0:16:04.66,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u56DA\u7981\u8089\u8EAB\u5E76\u6D41\u653E300\u5E74{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...to three hundred\ - \ cycles of somatic reconditioning.{\\r}\r\nDialogue: 0,0:16:06.16,0:16:07.97,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6709\u4EC0\u4E48\u9057\u8A00\u5417\uFF1F\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Do you have any\ - \ last words?{\\r}\r\nDialogue: 0,0:16:11.27,0:16:12.35,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u4EEC\u4E0D\u6562\u4EB2\u624B\u6740\ - \u6211\u4EEC{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You\ - \ won't kill us yourself!{\\r}\r\nDialogue: 0,0:16:13.70,0:16:15.84,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6015\u5F04\u810F\u4E86\u81EA\u5DF1\u7684\ - \u624B \u6240\u4EE5\u4F60\u4EEC...{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}You wouldn't sully your hands! But you'll damn us...{\\\ - r}\r\nDialogue: 0,0:16:16.10,0:16:18.28,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u628A\u6211\u4EEC\u6254\u5230\u9ED1\u6D1E\u91CC\u5173\ - \u4E00\u8F88\u5B50{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...to\ - \ a black hole for eternity!{\\r}\r\nDialogue: 0,0:16:20.34,0:16:21.38,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E54\u2022\u827E\u5C14\u8BF4\u5F97\u6CA1\ - \u9519{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Jor-El was\ - \ right.{\\r}\r\nDialogue: 0,0:16:21.64,0:16:25.32,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u4EEC\u662F\u4E00\u7FA4\u8822\u8D27\ - \ \u6240\u6709\u4EBA\u90FD\u662F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}You're a pack of fools, every last one of you.{\\r}\r\nDialogue: 0,0:16:26.21,0:16:27.39,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}And you.{\\r}\r\nDialogue: 0,0:16:29.12,0:16:31.56,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u89C9\u5F97\u4F60\u7684\u513F\u5B50\ - \u5F88\u5B89\u5168\u5417\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}You believe your son is safe?{\\r}\r\nDialogue: 0,0:16:32.29,0:16:33.99,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4E00\u5B9A\u4F1A\u627E\u5230\u4ED6\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I will find him.{\\\ - r}\r\nDialogue: 0,0:16:34.22,0:16:37.53,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u593A\u56DE\u4F60\u4ECE\u6211\u4EEC\u624B\u91CC\u62A2\ - \u8D70\u7684\u4E1C\u897F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}I will reclaim what you have taken from us.{\\r}\r\nDialogue: 0,0:16:39.96,0:16:41.53,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4E00\u5B9A\u4F1A\u627E\u5230\u4ED6\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I will find him.{\\\ - r}\r\nDialogue: 0,0:16:42.73,0:16:45.34,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u4E00\u5B9A\u4F1A\u627E\u5230\u4ED6 \u83B1\u62C9\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I will find him,\ - \ Lara.{\\r}\r\nDialogue: 0,0:16:47.90,0:16:50.47,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4E00\u5B9A\u4F1A\u627E\u5230\u4ED6\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I will find him!{\\\ - r}\r\nDialogue: 0,0:17:00.31,0:17:02.06,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u554A{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Argh!{\\r}\r\nDialogue: 0,0:18:31.67,0:18:35.51,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u83B1\u62C9\u592B\u4EBA \u60A8\u4E0D\u8EB2\ - \u8D77\u6765\u5417\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Lady Lara, shouldn't you find refuge?{\\r}\r\nDialogue: 0,0:18:35.61,0:18:38.59,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6839\u672C\u65E0\u5904\u53EF\u8EB2 \u57FA\ - \u6D1B\u5C14{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}There\ - \ is no refuge, Kelor.{\\r}\r\nDialogue: 0,0:18:39.51,0:18:41.49,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E54\u2022\u827E\u5C14\u8BF4\u5F97\u5BF9\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Jor-El was right.{\\\ - r}\r\nDialogue: 0,0:18:43.92,0:18:45.93,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6C2A\u661F\u7684\u672B\u65E5\u5230\u4E86{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}This is the end.{\\r}\r\nDialogue:\ - \ 0,0:18:57.37,0:19:00.28,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u521B\u9020\u4E00\u4E2A\u6BD4\u8FD9\u91CC\u597D\u7684\u4E16\u754C\ - \ \u5361\u5C14{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Make\ - \ a better world than ours, Kal.{\\r}\r\nDialogue: 0,0:20:32.43,0:20:33.93,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5F53\u5FC3\u70B9 \u8822\u8D27{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Watch it, dumb-ass!{\\r}\r\n\ - Dialogue: 0,0:20:34.20,0:20:37.30,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u4E0D\u7559\u5FC3\u5C31\u7B49\u7740\u88AB\u7838\u6210\u8089\ - \u997C\u5427{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Keep\ - \ your eyes open or you're gonna get squashed.{\\r}\r\nDialogue: 0,0:20:38.70,0:20:41.15,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u4EEC\u662F\u5728\u4EC0\u4E48\u9B3C\ - \u5730\u65B9\u627E\u5230\u4F60\u7684 \u83DC\u9E1F\uFF1F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Where the hell did they find you,\ - \ greenhorn?{\\r}\r\nDialogue: 0,0:20:41.40,0:20:42.88,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8BA9\u6211\u4EEC\u5728\u7A7A\u4E2D\u5F04\ - \u6389\u8FD9\u4E2A\u9677\u9631{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Let's get this trap in the air.{\\r}\r\nDialogue: 0,0:20:43.10,0:20:44.64,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5927\u5BB6\u56FA\u5B9A\u597D\u7532\u677F\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Gentlemen, secure\ - \ the deck.{\\r}\r\nDialogue: 0,0:20:44.91,0:20:47.91,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6B63\u897F\u65B9\u5411\u7684\u94BB\u4E95\ - \u5904\u6709\u4EBA\u5411\u6211\u4EEC\u6C42\u6551{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}We just got a distress call from a rig due west of\ - \ us.{\\r}\r\nDialogue: 0,0:20:48.14,0:20:49.95,chs,,0000,0000,0000,,{\\fn\u534E\ - \u6587\u6977\u4F53\\blur3}\u56FA\u5B9A\u597D\u7532\u677F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Secure the deck.{\\r}\r\nDialogue:\ - \ 0,0:20:54.15,0:20:55.72,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u8BF7\u6240\u6709\u6C11\u7528\u8239\u53EA\u79BB\u5F00{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}All civilian boats, stand clear.{\\\ - r}\r\nDialogue: 0,0:20:55.95,0:20:58.62,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6D77\u4E0B\u9600\u95E8\u5DF2\u5931\u6548 \u94BB\u53F0\ - \u5FEB\u8981\u7206\u70B8\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}The sub-sea valves failed and the rig is about to explode.{\\r}\r\n\ - Dialogue: 0,0:20:58.89,0:21:01.33,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u6536\u5230 \u6D77\u5CB8\u8B66\u536B\u961F \u88AB\u56F0\u5728\ - \u91CC\u9762\u7684\u4EBA\u600E\u4E48\u529E\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Roger, Coast Guard. What about the men left inside?{\\\ - r}\r\nDialogue: 0,0:21:01.46,0:21:03.80,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}- \u522B\u7BA1\u4ED6\u4EEC\u4E86 \u4ED6\u4EEC\u6D3B\u4E0D\ - \u4E86 - \u83DC\u9E1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}- Forget them. They're dead. - Greenhorn...{\\r}\r\nDialogue:\ - \ 0,0:21:04.06,0:21:06.10,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u628A\u6211\u7684\u671B\u8FDC\u955C\u62FF\u6765{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...fetch me my binoculars.{\\r}\r\n\ - Dialogue: 0,0:21:07.63,0:21:08.97,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u83DC\u9E1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Greenhorn.{\\r}\r\nDialogue: 0,0:21:17.30,0:21:20.84,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5C31\u5269\u8FD9\u70B9\u6C27\u6C14\u4E86\ - \ \u6211\u4E0D\u77E5\u9053\u6211\u4EEC\u8FD8\u80FD\u6491\u591A\u4E45{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}This is the last of the\ - \ oxygen. I don't know how much longer we can hold out.{\\r}\r\nDialogue:\ - \ 0,0:21:30.39,0:21:32.26,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u8FD9\u91CC\u662F\u6D77\u5CB8\u8B66\u536B\u961F6510{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}This is Coast Guard 6510.{\\r}\r\n\ - Dialogue: 0,0:21:32.26,0:21:34.59,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u6211\u4EEC\u518D\u67E5\u770B\u4E00\u904D \u7136\u540E\u5C31\ - \u79BB\u5F00{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We'll\ - \ make one more pass then get out.{\\r}\r\nDialogue: 0,0:21:36.76,0:21:38.86,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u7B49\u7B49 \u7B49\u7B49 \u6709\u4EBA\u5728\ - \u76F4\u5347\u673A\u5347\u964D\u5904{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Wait, wait. I got some guys on the helipad.{\\r}\r\nDialogue:\ - \ 0,0:21:39.13,0:21:39.77,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u5C31\u5728\u8FD9\u91CC{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Right here!{\\r}\r\nDialogue: 0,0:21:45.27,0:21:47.14,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5FEB\u70B9 \u8D70\u554A{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Come on, come on! Let's go! Let's\ - \ go!{\\r}\r\nDialogue: 0,0:21:47.33,0:21:49.14,chs,,0000,0000,0000,,{\\fn\u534E\ - \u6587\u6977\u4F53\\blur3}- \u5FEB\u8D70 - \u8D70\u554A{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- Let's go! - Let's go!{\\r}\r\ - \nDialogue: 0,0:21:59.68,0:22:00.96,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u53EB\u6700\u540E\u90A3\u4E2A\u4EBA\u4E0A\u6765{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Get that last guy loaded.{\\\ - r}\r\nDialogue: 0,0:22:01.12,0:22:02.49,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u4EEC\u5F97\u8D70\u4E86{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}We have got to go.{\\r}\r\nDialogue: 0,0:22:02.72,0:22:04.89,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5FEB\u8D70\u554A \u4F60\u5728\u5E72\u4EC0\ - \u4E48\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Hey,\ - \ let's go. What are you doing?{\\r}\r\nDialogue: 0,0:22:10.52,0:22:11.63,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8D70 \u8D70{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Go! Go!{\\r}\r\nDialogue: 0,0:22:49.53,0:22:52.17,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u582A\u8428\u65AF\u5DDE\u662F\u4EC0\u4E48\ - \u65F6\u5019\u53D8\u6210\u7F8E\u56FD\u9886\u571F\u7684\uFF1F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...when Kansas became a territory?{\\\ - r}\r\nDialogue: 0,0:22:53.77,0:22:54.75,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u514B\u62C9\u514B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Clark.{\\r}\r\nDialogue: 0,0:22:56.74,0:22:58.74,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u5728\u542C\u8BFE\u5417 \u514B\u62C9\ - \u514B\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Are\ - \ you listening, Clark?{\\r}\r\nDialogue: 0,0:23:02.91,0:23:06.60,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u544A\u8BC9\u6211 \u8C01\u6700\u5148\u5728\ - \u582A\u8428\u65AF\u5DDE\u5B9A\u5C45{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}I asked if you could tell me who first settled Kansas.{\\\ - r}\r\nDialogue: 0,0:23:19.36,0:23:20.93,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F60\u6CA1\u4E8B\u5427 \u514B\u62C9\u514B\uFF1F{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Are you all right, Clark?{\\\ - r}\r\nDialogue: 0,0:23:28.97,0:23:30.38,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u514B\u62C9\u514B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Clark.{\\r}\r\nDialogue: 0,0:23:31.61,0:23:32.91,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u514B\u62C9\u514B{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Clark.{\\r}\r\nDialogue: 0,0:23:36.48,0:23:37.08,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u514B\u62C9\u514B{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Clark!{\\r}\r\nDialogue: 0,0:23:41.08,0:23:42.62,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u514B\u62C9\u514B \u51FA\u6765{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Clark, come out of there.{\\\ - r}\r\nDialogue: 0,0:23:42.88,0:23:44.23,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u522B\u7BA1\u6211{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Leave me alone.{\\r}\r\nDialogue: 0,0:23:45.25,0:23:46.82,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u514B\u62C9\u514B \u6211\u5DF2\u7ECF\u7ED9\ - \u4F60\u5988\u5988\u6253\u7535\u8BDD\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Clark, I have called your mother.{\\r}\r\nDialogue:\ - \ 0,0:23:48.16,0:23:49.23,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u514B\u62C9\u514B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Clark?{\\r}\r\nDialogue: 0,0:23:51.06,0:23:52.16,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u554A{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Ah!{\\r}\r\nDialogue: 0,0:23:52.33,0:23:53.33,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u6765\u4E86{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}I'm here.{\\r}\r\nDialogue: 0,0:23:53.59,0:23:55.57,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u514B\u62C9\u514B \u5B9D\u8D1D \u6211\u662F\ - \u5988\u5988{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Clark,\ - \ honey, it's Mom.{\\r}\r\nDialogue: 0,0:23:57.97,0:23:59.00,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5F00\u95E8\u597D\u5417\uFF1F{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Will you open the door?{\\\ - r}\r\nDialogue: 0,0:23:59.27,0:24:01.47,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}- \u4ED6\u5230\u5E95\u6709\u4EC0\u4E48\u6BDB\u75C5\uFF1F\ - \ - \u4ED6\u5C31\u662F\u4E2A\u602A\u80CE{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}- What's wrong with him? - He's such a freak.{\\\ - r}\r\nDialogue: 0,0:24:01.47,0:24:02.31,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5A18\u4EEC{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Crybaby.{\\r}\r\nDialogue: 0,0:24:02.57,0:24:05.02,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u7236\u6BCD\u751A\u81F3\u4E0D\u8BA9\ - \u6211\u8DDF\u4ED6\u73A9{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}His parents won't even let him play with other kids.{\\r}\r\nDialogue:\ - \ 0,0:24:05.27,0:24:06.27,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u77E5\u9053{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}I know.{\\r}\r\nDialogue: 0,0:24:06.51,0:24:07.35,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5B9D\u8D1D{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Sweetie.{\\r}\r\nDialogue: 0,0:24:08.51,0:24:10.65,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u4E0D\u8BA9\u6211\u8FDB\u53BB \u6211\ - \u600E\u4E48\u5E2E\u4F60\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}How can I help you if you won't let me in?{\\r}\r\nDialogue: 0,0:24:10.91,0:24:13.26,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8FD9\u4E2A\u4E16\u754C\u592A\u5927\u4E86\ - \ \u5988\u5988{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The\ - \ world's too big, Mom.{\\r}\r\nDialogue: 0,0:24:13.48,0:24:15.12,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u5C31\u628A\u5B83\u53D8\u5C0F\u70B9\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Then make it small.{\\\ - r}\r\nDialogue: 0,0:24:17.48,0:24:18.76,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u53EA\u8981...{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Just, um...{\\r}\r\nDialogue: 0,0:24:21.59,0:24:23.39,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u96C6\u4E2D\u7CBE\u529B\u542C\u6211\u7684\ - \u58F0\u97F3{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...focus\ - \ on my voice.{\\r}\r\nDialogue: 0,0:24:25.26,0:24:27.21,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u60F3\u8C61\u6709\u4E00\u5EA7\u5C9B\u5C7F\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Pretend ifs an island...{\\\ - r}\r\nDialogue: 0,0:24:27.36,0:24:29.27,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5B83\u5C31\u5728\u5927\u6D77\u4E4B\u4E2D{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...out in the ocean.{\\r}\r\ - \nDialogue: 0,0:24:30.80,0:24:32.11,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u80FD\u770B\u5230\u5417\uFF1F{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Can you see it?{\\r}\r\nDialogue: 0,0:24:35.80,0:24:36.84,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u770B\u5230\u4E86{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I see it.{\\r}\r\nDialogue: 0,0:24:38.17,0:24:40.17,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u5C31\u5411\u5B83\u6E38\u8FC7\u53BB\ - \ \u5B9D\u8D1D{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Then\ - \ swim towards it, honey.{\\r}\r\nDialogue: 0,0:24:53.45,0:24:55.30,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u600E\u4E48\u4E86 \u5988\u5988\uFF1F\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}What's wrong with\ - \ me, Mom?{\\r}\r\nDialogue: 0,0:24:57.89,0:24:59.39,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u514B\u62C9\u514B{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Clark.{\\r}\r\nDialogue: 0,0:24:59.66,0:25:01.16,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u514B\u62C9\u514B{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Clark.{\\r}\r\nDialogue: 0,0:25:29.82,0:25:31.70,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u4F60\u62FF\u5230\u6211\u8981\u7684\u4E1C\ - \u897F\u4E86\uFF1F - \u662F\u7684{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}- Did you get everything I need? - Yep.{\\r}\r\n\ - Dialogue: 0,0:25:31.93,0:25:33.60,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u522B\u52A8 \u522B\u52A8{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Hold it, hold it.{\\r}\r\nDialogue: 0,0:26:23.44,0:26:24.98,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8822\u86CB{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Hey, ass-wipe.{\\r}\r\nDialogue: 0,0:26:25.55,0:26:27.22,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u89C9\u5F97\u600E\u6837\uFF1F\u4F60\ - \u770B\u4E86\u6BD4\u8D5B\u5417\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}What do you think? You see the game?{\\r}\r\nDialogue:\ - \ 0,0:26:27.45,0:26:29.95,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}- \u522B\u800D\u4ED6 \u76AE\u7279 - \u4F60\u7B97\u54EA\u6839\u8471\ - \ \u4ED6\u7684\u5973\u670B\u53CB\u5417\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}- Leave him alone, Pete. - What are you, his\ - \ girlfriend?{\\r}\r\nDialogue: 0,0:26:30.22,0:26:31.89,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u8981\u542C\u542C\u4ED6\u600E\u4E48\ - \u8BF4{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I wanna hear\ - \ what he has to say.{\\r}\r\nDialogue: 0,0:26:34.25,0:26:34.93,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8BF4\u8BDD\u554A{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Come on...{\\r}\r\nDialogue: 0,0:26:35.16,0:26:35.83,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u7B28\u74DC{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}...dick-splash.{\\r}\r\nDialogue: 0,0:28:16.82,0:28:17.82,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u513F\u5B50\u5C31\u5728\u73B0\u573A\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}My son was there.{\\\ - r}\r\nDialogue: 0,0:28:18.06,0:28:20.27,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4ED6\u5C31\u5728\u90A3\u8F86\u6821\u8F66\u91CC{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}He was in the bus.{\\r}\r\ - \nDialogue: 0,0:28:20.53,0:28:23.84,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}- \u4EB2\u773C\u770B\u89C1\u514B\u62C9\u514B\u505A\u4E86\ - \u4EC0\u4E48 - \u6211\u77E5\u9053\u4ED6\u770B\u89C1\u4E86{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- He saw what Clark did. - I\ - \ know he did.{\\r}\r\nDialogue: 0,0:28:24.26,0:28:28.27,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u4ED6\u770B\u5230\u7684\u4E00\u5B9A\u662F\ - ... - \u662F\u4E0A\u5E1D\u7684\u5B89\u6392 \u4E54\u7EB3\u68EE{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- I'm sure what he thought\ - \ he saw was... - Was an act of God, Jonathan.{\\r}\r\nDialogue: 0,0:28:29.34,0:28:31.71,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u662F\u5929\u610F{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}This was providence.{\\r}\r\nDialogue:\ - \ 0,0:28:35.44,0:28:37.51,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u89C9\u5F97\u4F60\u8FD9\u6837\u8BF4\u6709\u70B9\u5938\u5F20\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I think you're blowing\ - \ it out of proportion.{\\r}\r\nDialogue: 0,0:28:37.74,0:28:41.02,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u6CA1\u5938\u5F20 \u62C9\u5A1C\u4E5F\ - \u770B\u89C1\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}No,\ - \ I'm not. Lana saw it too.{\\r}\r\nDialogue: 0,0:28:41.25,0:28:42.25,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u4E2A\u53EB\u798F\u7279\u66FC\u7684\ - \u7537\u5B69\u4E5F\u770B\u89C1\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}And the Fordham boy.{\\r}\r\nDialogue: 0,0:28:42.52,0:28:43.72,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8FD9\u4E5F\u4E0D\u662F\u7B2C\u4E00\u6B21\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}This isn't the first\ - \ time...{\\r}\r\nDialogue: 0,0:28:43.95,0:28:46.50,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u514B\u62C9\u514B\u505A\u51FA\u8FD9\u79CD\ - \u4E8B\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...Clark's\ - \ done something like this.{\\r}\r\nDialogue: 0,0:29:01.24,0:29:03.08,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u53EA\u662F\u60F3\u5E2E\u5FD9{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I just wanted to help.{\\\ - r}\r\nDialogue: 0,0:29:03.54,0:29:06.28,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u77E5\u9053 \u4F46\u6211\u4EEC\u8C08\u8FC7\u8FD9\ - \u4E2A\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I know\ - \ you did, but we talked about this.{\\r}\r\nDialogue: 0,0:29:06.54,0:29:07.81,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5BF9\u5427\uFF1F{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Right?{\\r}\r\nDialogue: 0,0:29:08.28,0:29:10.98,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5BF9\u5427 \u6211\u4EEC\u8C08\u8FC7\u4E86\ - \ \u4F60...{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Right?\ - \ We talked about this. You have...{\\r}\r\nDialogue: 0,0:29:11.48,0:29:14.93,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u514B\u62C9\u514B \u4F60\u4E0D\u80FD\u8BA9\ - \u522B\u4EBA\u77E5\u9053\u4F60\u7684\u8FD9\u4E00\u9762{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Clark, you have to keep this side\ - \ of yourself a secret.{\\r}\r\nDialogue: 0,0:29:15.38,0:29:19.26,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u6211\u8BE5\u600E\u4E48\u529E\uFF1F\ - \u770B\u7740\u4ED6\u4EEC\u6B7B\u6389\u5417\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}What was I supposed to do? Just let them die?{\\\ - r}\r\nDialogue: 0,0:29:24.06,0:29:25.47,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4E5F\u8BB8\u5427{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Maybe.{\\r}\r\nDialogue: 0,0:29:27.39,0:29:29.76,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5371\u5728\u65E6\u5915\u7684\u4E0D\u53EA\ - \u662F\u6211\u4EEC\u7684\u6027\u547D \u514B\u62C9\u514B{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}There's more at stake here than just\ - \ our lives, Clark,{\\r}\r\nDialogue: 0,0:29:29.76,0:29:31.80,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E5F\u4E0D\u53EA\u662F\u6211\u4EEC\u5468\ - \u56F4\u4EBA\u7684\u6027\u547D{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}or the lives of those around us.{\\r}\r\nDialogue: 0,0:29:34.33,0:29:35.75,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5982\u679C\u8FD9\u4E2A\u4E16\u754C{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}When the world...{\\\ - r}\r\nDialogue: 0,0:29:36.67,0:29:40.68,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u77E5\u9053\u4E86\u4F60\u7684\u80FD\u529B \u4E00\u5207\ - \u90FD\u5C06\u6539\u53D8 \u5305\u62EC\u6211\u4EEC\u7684...{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}When the world finds out what you\ - \ can do it's gonna change everything. Our...{\\r}\r\nDialogue: 0,0:29:40.94,0:29:43.51,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4EEC\u7684\u4FE1\u4EF0...{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Our beliefs, our notions\ - \ of...{\\r}\r\nDialogue: 0,0:29:43.78,0:29:46.49,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5BF9\u4EBA\u7C7B\u7684\u6982\u5FF5 \u4E00\ - \u5207{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...what it\ - \ means to be human. Everything.{\\r}\r\nDialogue: 0,0:29:46.75,0:29:49.52,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u770B\u5230\u4E86\u76AE\u7279\u5988\ - \u5988\u7684\u53CD\u5E94\u5427\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}You saw how Pete's mom reacted, right?{\\r}\r\nDialogue:\ - \ 0,0:29:49.78,0:29:51.99,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u5979\u5F88\u5BB3\u6015 \u514B\u62C9\u514B{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}She was scared, Clark.{\\r}\r\nDialogue:\ - \ 0,0:29:53.12,0:29:53.96,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4E3A\u4EC0\u4E48\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Why?{\\r}\r\nDialogue: 0,0:29:55.82,0:29:58.67,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4EBA\u4EEC\u5BB3\u6015\u4ED6\u4EEC\u4E0D\ - \u4E86\u89E3\u7684\u4E1C\u897F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}People are afraid of what they don't understand.{\\r}\r\nDialogue: 0,0:29:58.93,0:29:59.84,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5979\u8BF4\u5F97\u5BF9\u5417\uFF1F{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Is she right?{\\r}\r\ - \nDialogue: 0,0:30:01.96,0:30:04.31,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u662F\u4E0A\u5E1D\u628A\u6211\u53D8\u6210\u8FD9\u6837\ - \u7684\u5417\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Did\ - \ God do this to me?{\\r}\r\nDialogue: 0,0:30:05.37,0:30:06.87,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u544A\u8BC9\u6211{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Tell me.{\\r}\r\nDialogue: 0,0:30:21.65,0:30:23.92,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u662F\u6211\u4EEC\u5728\u8FD9\u4E2A\ - \u4E1C\u897F\u91CC\u627E\u5230\u7684{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}We found you in this.{\\r}\r\nDialogue: 0,0:30:25.29,0:30:28.23,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4EEC\u4EE5\u4E3A\u653F\u5E9C\u4E00\ - \u5B9A\u4F1A\u6765\u627E\u6211\u4EEC{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}We were sure the government was gonna show up on our doorstep...{\\\ - r}\r\nDialogue: 0,0:30:28.49,0:30:30.47,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F46\u4E00\u76F4\u6CA1\u4EBA\u6765{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...but no one ever came.{\\r}\r\n\ - Dialogue: 0,0:30:44.97,0:30:47.44,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u8FD9\u4E2A\u548C\u4F60\u4E00\u6837 \u4E5F\u662F\u5728\u91CC\ - \u9762\u627E\u5230\u7684{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}This was in that chamber with you.{\\r}\r\nDialogue: 0,0:30:49.18,0:30:52.30,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u628A\u5B83\u62FF\u7ED9\u582A\u8428\ - \u65AF\u5DDE\u7684\u4E00\u4E2A\u51B6\u91D1\u5B66\u5BB6\u770B{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I took it to a metallurgist at Kansas\ - \ State.{\\r}\r\nDialogue: 0,0:30:52.38,0:30:54.99,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u8BF4 \u5236\u6210\u5B83\u7684\u6750\ - \u6599\u751A\u81F3...{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}He said whatever it was made from didn't even...{\\r}\r\nDialogue: 0,0:30:55.92,0:30:58.69,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u751A\u81F3\u4E0D\u5B58\u5728\u4E8E\u5143\ - \u7D20\u5468\u671F\u8868\u4E0A{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Didn't even exist on the periodic table.{\\r}\r\nDialogue: 0,0:31:00.65,0:31:01.89,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u610F\u601D\u662F\u8BF4{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}That's another way of saying...{\\\ - r}\r\nDialogue: 0,0:31:02.06,0:31:04.33,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5B83\u4E0D\u6765\u81EA\u4E8E\u8FD9\u4E2A\u4E16\u754C\ - \ \u514B\u62C9\u514B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...that\ - \ it's not from this world, Clark.{\\r}\r\nDialogue: 0,0:31:06.43,0:31:07.70,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u4E5F\u4E00\u6837{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}And neither are you.{\\r}\r\nDialogue:\ - \ 0,0:31:10.40,0:31:11.93,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4F60\u5C31\u662F\u7B54\u6848 \u513F\u5B50{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}You're the answer, son.{\\r}\r\nDialogue:\ - \ 0,0:31:12.20,0:31:15.38,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\"\u4EBA\u7C7B\u662F\u5426\u5B64\u72EC\u5730\u5B58\u5728\u4E8E\u5B87\ - \u5B99\u4E2D\"\u7684\u7B54\u6848{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}You're the answer to \"Are we alone in the universe?\"{\\r}\r\nDialogue:\ - \ 0,0:31:16.74,0:31:18.18,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u4E0D\u60F3\u5F53\u8FD9\u4E2A\u7B54\u6848{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I don't wanna be.{\\r}\r\nDialogue:\ - \ 0,0:31:18.41,0:31:20.28,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u4E0D\u602A\u4F60 \u513F\u5B50{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}And I don't blame you, son.{\\r}\r\nDialogue: 0,0:31:20.87,0:31:23.58,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E00\u822C\u4EBA\u96BE\u4EE5\u80CC\u8D1F\ - \u8FD9\u79CD\u91CD\u62C5{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}It'd be a huge burden for anyone to bear.{\\r}\r\nDialogue: 0,0:31:23.84,0:31:27.26,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F46\u4F60\u4E0D\u662F\u4E00\u822C\u4EBA\ - \ \u514B\u62C9\u514B \u800C\u4E14\u6211\u5FC5\u987B\u76F8\u4FE1\u4F60{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}But you're not just anyone,\ - \ Clark, and I have to believe that you were...{\\r}\r\nDialogue: 0,0:31:28.42,0:31:30.26,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u88AB\u9001\u6765\u8FD9\u91CC\u662F\ - \u6709\u539F\u56E0\u7684{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}That you were sent here for a reason.{\\r}\r\nDialogue: 0,0:31:31.52,0:31:34.09,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u6240\u7ECF\u5386\u7684\u8FD9\u4E9B\ - \u6539\u53D8 \u7EC8\u6709\u4E00\u5929...{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}All these changes that you're going through, one\ - \ day...{\\r}\r\nDialogue: 0,0:31:34.35,0:31:37.70,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u4F1A\u89C9\u5F97\u5B83\u4EEC\u662F\ - \u4E0A\u5E1D\u7684\u6069\u8D50 \u5F53\u90A3\u4E00\u5929\u5230\u6765...{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}One day you're gonna\ - \ think of them as a blessing. When that day comes...{\\r}\r\nDialogue: 0,0:31:37.92,0:31:39.37,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u5C31\u5FC5\u987B\u4F5C\u51FA\u9009\ - \u62E9{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...you have\ - \ to make a choice.{\\r}\r\nDialogue: 0,0:31:39.59,0:31:44.30,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u662F\u5426\u8981\u5728\u4EBA\u7C7B\u9762\ - \u524D\u9A84\u50B2\u5730\u633A\u8EAB\u800C\u51FA{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}A choice of whether to stand proud in front of the\ - \ human race or not.{\\r}\r\nDialogue: 0,0:31:45.37,0:31:48.04,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5C31\u4E0D\u80FD\u7EE7\u7EED\u5047\ - \u88C5\u662F\u60A8\u7684\u513F\u5B50\u5417\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Can't I just keep pretending I'm your son?{\\r}\r\ - \nDialogue: 0,0:31:48.74,0:31:50.65,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F60\u5C31\u662F\u6211\u513F\u5B50{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You are my son.{\\r}\r\nDialogue:\ - \ 0,0:31:55.11,0:31:57.11,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4F46\u5728\u67D0\u4E2A\u5730\u65B9{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}But somewhere out there you've...{\\r}\r\nDialogue:\ - \ 0,0:31:57.81,0:32:01.05,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4F60\u8FD8\u6709\u53E6\u5916\u4E00\u4E2A\u7236\u4EB2 \u4ED6\u7ED9\ - \u4E86\u4F60\u53E6\u5916\u4E00\u4E2A\u540D\u5B57{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}You have another father too, who gave you another\ - \ name.{\\r}\r\nDialogue: 0,0:32:04.12,0:32:07.30,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u51FA\u4E8E\u67D0\u79CD\u539F\u56E0 \u4ED6\ - \u628A\u4F60\u9001\u5230\u4E86\u8FD9\u91CC{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}And he sent you here for a reason, Clark.{\\r}\r\n\ - Dialogue: 0,0:32:08.76,0:32:12.43,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u5C31\u7B97\u8981\u82B1\u4E00\u8F88\u5B50\u7684\u65F6\u95F4\ - \ \u4F60\u4E5F\u8981\u4E3A\u81EA\u5DF1...{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}And even if it takes you the rest of your life, you\ - \ owe it to yourself...{\\r}\r\nDialogue: 0,0:32:12.66,0:32:14.80,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u627E\u5230\u90A3\u4E2A\u539F\u56E0{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...to find out what\ - \ that reason is.{\\r}\r\nDialogue: 0,0:32:23.00,0:32:26.85,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u88AB\u72C2\u70ED\u7684\u6B32\u671B\u6240\ - \u675F\u7F1A{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Bound\ - \ by wild desire{\\r}\r\nDialogue: 0,0:32:27.07,0:32:30.11,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u6389\u8FDB\u4E86\u706B\u5708{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I fell into a ring\ - \ of fire{\\r}\r\nDialogue: 0,0:32:30.28,0:32:32.45,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u7B49\u4E00\u4E0B \u4F60\u6765\u8FD9\u513F\ - \u4E0D\u662F\u4E3A\u4E86\u953B\u70BC\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Wait a second. Aren't you here for the exercise?{\\\ - r}\r\nDialogue: 0,0:32:32.68,0:32:34.40,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4E0D \u90A3\u662F\u5728\u6539\u53D8\u8BA1\u5212{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}No, there was a change\ - \ in the plans.{\\r}\r\nDialogue: 0,0:32:34.61,0:32:37.20,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u542C\u8BF4\u6709\u4EBA\u5728\u57C3\u5C14\ - \u65AF\u7C73\u5C14\u627E\u5230\u4E9B\u5947\u602A\u7684\u4E1C\u897F{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Somebody found something\ - \ strange on Ellesmere.{\\r}\r\nDialogue: 0,0:32:37.25,0:32:38.91,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u7A7A\u4E2D\u4FA6\u5BDF\u673A\u5DF2\u7ECF\ - \u5728\u90A3\u91CC\u98DE\u4E86\u4E00\u4E2A\u661F\u671F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Aircom's making runs out there all\ - \ week.{\\r}\r\nDialogue: 0,0:32:38.91,0:32:39.92,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u4E2A\u8001\u9F20\u6D1E\u5417\uFF1F\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}That rat hole?{\\\ - r}\r\nDialogue: 0,0:32:40.15,0:32:42.26,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}- \u4F60\u5F00\u73A9\u7B11\u7684\u5427 - \u4E0D\u53EF\ - \u601D\u8BAE \u5BF9\u5427{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}- You gotta be kidding me. - I know. It's crazy.{\\r}\r\nDialogue:\ - \ 0,0:32:42.49,0:32:44.20,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u8BB8\u591A\u7F8E\u56FD\u4EBA\u4E5F\u53BB\u4E86\u90A3\u91CC{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The Americans are there\ - \ too, lots of them.{\\r}\r\nDialogue: 0,0:32:44.46,0:32:47.29,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8FD8\u6709\u522B\u7684\u5417\uFF1F\u4ED6\ - \u4EEC\u7BA1\u5B83\u53EB\u5F02\u5E38\u7269\u4F53{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Anything else? They're calling it an anomalous object.{\\\ - r}\r\nDialogue: 0,0:32:47.29,0:32:49.54,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}- \u4E5F\u4E0D\u77E5\u9053\u4EC0\u4E48\u610F\u601D -\ - \ \u8D70\u5F00 \u62C9\u5FB7\u6D1B \u6211\u8BA4\u771F\u7684{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- Whatever that means. - Back\ - \ off, Ludlow. I'm serious.{\\r}\r\nDialogue: 0,0:32:49.80,0:32:51.64,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u522B\u4ECB \u514B\u4E3D\u831C - \u4F4F\ - \u624B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- Oh, come\ - \ on, Chrissy. - Knock it off.{\\r}\r\nDialogue: 0,0:32:51.83,0:32:53.28,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u5750\u4E0B - \u653E\u6211\u8D70{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- Sit down. -\ - \ Let me go.{\\r}\r\nDialogue: 0,0:32:53.50,0:32:55.57,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u653E\u5F00\u5979 \u54E5\u4EEC{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Hey. Leave her alone, man.{\\\ - r}\r\nDialogue: 0,0:32:59.51,0:33:01.21,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4E0D\u653E\u53C8\u600E\u6837 \u786C\u6C49\uFF1F{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Or what, tough guy?{\\\ - r}\r\nDialogue: 0,0:33:01.78,0:33:05.69,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4E0D\u653E\u5C31\u53EA\u80FD\u8BF7\u4F60\u79BB\u5F00\ - \u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Or I'm gonna\ - \ have to ask you to leave.{\\r}\r\nDialogue: 0,0:33:06.38,0:33:09.95,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u89C9\u5F97\u6211\u60F3\u8D70\u7684\ - \u65F6\u5019\u624D\u4F1A\u8D70{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}I think I'll probably just leave when I'm good and ready.{\\r}\r\nDialogue:\ - \ 0,0:33:19.39,0:33:21.07,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6765\u52B2\u4E86\u5417\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Oh, there he is.{\\r}\r\nDialogue: 0,0:33:28.37,0:33:30.37,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u72AF\u4E0D\u4E0A \u4EB2\u7231\u7684{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}It's not worth it,\ - \ sweetie.{\\r}\r\nDialogue: 0,0:33:38.51,0:33:40.89,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6DF7\u86CB \u522B\u5FD8\u4E86\u4F60\u7684\ - \u5C0F\u8D39{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Hey,\ - \ asshole, don't forget your tip.{\\r}\r\nDialogue: 0,0:33:43.05,0:33:44.86,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u53BB\u5427{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Strike.{\\r}\r\nDialogue: 0,0:34:35.40,0:34:36.81,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8C22\u8C22{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Thanks.{\\r}\r\nDialogue: 0,0:34:37.64,0:34:38.88,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u55E8{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Hi.{\\r}\r\nDialogue: 0,0:34:39.11,0:34:40.81,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u83B2\u6069\u5C0F\u59D0 \u4F60\u597D\u5417\ - \uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Miss Lane.\ - \ How you doing?{\\r}\r\nDialogue: 0,0:34:41.07,0:34:43.28,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u4F60\u597D - \u6211\u662F\u6770\u5FB7\ - \u2022\u5C24\u73ED\u514B\u65AF \u6765\u81EA\u5317\u6781\u8D27\u8FD0{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- Good. - Jed Eubanks,\ - \ Arctic Cargo.{\\r}\r\nDialogue: 0,0:34:43.54,0:34:45.78,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8FD9\u79BB\u9A7B\u5730\u6709\u591A\u8FDC\ - \uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}How far to\ - \ the station?{\\r}\r\nDialogue: 0,0:34:46.25,0:34:49.32,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u5BBF\u8425\u5730\u5C31\u5728\u4E0A\u9762\ - \ \u6211\u966A\u4F60\u8D70\u8FC7\u53BB - \u592A\u597D\u4E86{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- Camp's just over the rise. I'll\ - \ walk you over. - Great.{\\r}\r\nDialogue: 0,0:34:49.58,0:34:51.79,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E54\u53EF\u4EE5\u5E2E\u4F60\u62FF\u5305\ - \ \u4E54{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Joe can\ - \ take your bags. Joe.{\\r}\r\nDialogue: 0,0:34:52.05,0:34:53.29,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6765\u5E2E\u5E2E\u5FD9{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Help her out.{\\r}\r\nDialogue: 0,0:34:53.55,0:34:56.06,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5C0F\u5FC3\u70B9 \u90A3\u4E9B\u4E1C\u897F\ - \u5F88\u91CD{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Careful\ - \ with those. They're heavy.{\\r}\r\nDialogue: 0,0:34:58.49,0:35:00.13,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5F97\u627F\u8BA4 \u83B2\u6069\u5C0F\ - \u59D0{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I gotta confess,\ - \ Miss Lane...{\\r}\r\nDialogue: 0,0:35:00.39,0:35:03.24,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4E0D\u662F\u300A\u661F\u7403\u65E5\ - \u62A5\u300B\u7684\u5FE0\u5B9E\u89C2\u4F17{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}...I'm not a fan of the Daily Planet.{\\r}\r\nDialogue:\ - \ 0,0:35:03.63,0:35:07.60,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4F46\u4F60\u6F5C\u5165\u7B2C\u4E00\u5E08\u65F6\u5199\u7684\u90A3\ - \u4E9B\u6587\u7AE0\u90FD...{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}But those pieces you wrote when you were embedded with the 1st Division\ - \ were...{\\r}\r\nDialogue: 0,0:35:07.83,0:35:09.68,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8BA9\u6211\u5370\u8C61\u5341\u5206\u6DF1\ - \u523B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Well, they\ - \ were pretty impressive.{\\r}\r\nDialogue: 0,0:35:09.94,0:35:14.51,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u80FD\u8BF4\u4EC0\u4E48\u5462\uFF1F\ - \u4E0D\u7A7F\u519B\u670D\u7684\u65F6\u5019\u6211\u5C31\u5F97\u5199\u4E13\u680F\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Well, what can I\ - \ say? I get writer's block if I'm not wearing a flak jacket.{\\r}\r\nDialogue:\ - \ 0,0:35:19.61,0:35:20.61,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u83B2\u6069\u5C0F\u59D0{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Miss Lane.{\\r}\r\nDialogue: 0,0:35:20.85,0:35:23.00,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u662F\u7F8E\u56FD\u5317\u65B9\u53F8\ - \u4EE4\u90E8\u7684\u54C8\u8FEA\u4E0A\u6821 {\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}I'm Colonel Hardy, U.S. Northcom. {\\r}\r\nDialogue:\ - \ 0,0:35:23.00,0:35:24.85,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u8FD9\u4F4D\u662F\u9AD8\u7EA7\u7814\u7A76\u8BA1\u5212\u5C40\u7684\ - \u57C3\u7C73\u5C14\u535A\u58EB{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Dr. Emil Hamilton from DARPA.{\\r}\r\nDialogue: 0,0:35:25.12,0:35:26.29,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u4F60\u6765\u65E9\u4E86 - \u55E8{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- You're early. \ - \ - Hi.{\\r}\r\nDialogue: 0,0:35:26.52,0:35:28.00,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4EEC\u4EE5\u4E3A\u4F60\u660E\u5929\ - \u624D\u5230{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We were\ - \ expecting you tomorrow.{\\r}\r\nDialogue: 0,0:35:28.25,0:35:30.70,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6240\u4EE5\u6211\u624D\u4ECA\u5929\u6765\ - \u7684{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Which is why\ - \ I showed up today.{\\r}\r\nDialogue: 0,0:35:31.36,0:35:33.53,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4EEC\u6709\u53E5\u8BDD\u5F97\u8BF4\ - \u5728\u524D\u5934 \u597D\u5417\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Look, let's get one thing straight, guys, okay?{\\r}\r\n\ - Dialogue: 0,0:35:33.79,0:35:35.01,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u6211\u5728\u8FD9\u7684\u552F\u4E00\u539F\u56E0\u662F{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The only reason I'm here\ - \ is{\\r}\r\nDialogue: 0,0:35:35.01,0:35:36.64,chs,,0000,0000,0000,,{\\fn\u534E\ - \u6587\u6977\u4F53\\blur3}\u6211\u4EEC\u5728\u52A0\u62FF\u5927\u56FD\u5883\ - \u5185\u53D7\u7406\u4E0A\u8BC9\u7684\u6CD5\u5EAD{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}because we're on Canadian soil...{\\r}\r\nDialogue:\ - \ 0,0:35:36.86,0:35:40.31,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u9A73\u56DE\u4E86\u4F60\u4EEC\u8D76\u6211\u8D70\u7684\u7981\u4EE4\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...and the appellate\ - \ court overruled your injunction to keep me away.{\\r}\r\nDialogue: 0,0:35:40.53,0:35:42.67,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u4E48 \u4F60\u5982\u679C\u73A9\u86CB\ - \u73A9\u591F\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}So\ - \ if we're done measuring dicks...{\\r}\r\nDialogue: 0,0:35:42.94,0:35:45.28,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u80FD\u6D3E\u4EBA\u5E26\u6211\u770B\u770B\ - \u4F60\u4EEC\u7684\u53D1\u73B0\u5417\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}...can you have your people show me what you found?{\\\ - r}\r\nDialogue: 0,0:35:47.34,0:35:50.70,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u7F8E\u56FD\u822A\u7A7A\u822A\u5929\u5C40\u7684\u7D27\ - \u6025\u6551\u63F4\u536B\u661F\u9996\u5148\u53D1\u73B0\u5F02\u5E38{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}NASA's EOS satellites pinged\ - \ the anomaly first.{\\r}\r\nDialogue: 0,0:35:50.71,0:35:53.19,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u51B0\u67B6\u7684\u56DE\u58F0\u63A2\u6D4B\ - \u663E\u793A\u5F88\u6DF7\u4E71{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}The ice shelf plays hell on the echo soundings.{\\r}\r\nDialogue: 0,0:35:53.45,0:35:55.30,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F46\u90A3\u91CC\u7EDD\u5BF9\u6709\u4E1C\ - \u897F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}But there's\ - \ something there.{\\r}\r\nDialogue: 0,0:35:55.30,0:35:57.00,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8BF4\u4E0D\u5B9A\u662F\u82CF\u8054\u65F6\ - \u4EE3\u7684\u6F5C\u8247\u5462\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3} A submarine, maybe? Soviet-era?{\\r}\r\nDialogue: 0,0:35:57.05,0:35:58.65,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E0D\u4E00\u5B9A \u90A3\u73A9\u610F\u4E09\ - \u767E\u7C73\u957F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Doubtful.\ - \ That's 300 meters.{\\r}\r\nDialogue: 0,0:35:58.89,0:36:01.87,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6BD4\u6211\u4EEC\u90A3\u65F6\u5019\u80FD\ - \u5EFA\u51FA\u6765\u7684\u4E1C\u897F\u5927\u591A\u4E86{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Considerably larger than anything\ - \ we know they built back then.{\\r}\r\nDialogue: 0,0:36:02.12,0:36:03.36,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F46\u662F\u8BE1\u5F02\u7684\u5730\u65B9\ - \u5728\u8FD9{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}But\ - \ herds the spooky pan.{\\r}\r\nDialogue: 0,0:36:04.56,0:36:07.04,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u4E1C\u897F\u5468\u56F4\u8986\u76D6\ - \u7684\u51B0{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The\ - \ ice surrounding the object...{\\r}\r\nDialogue: 0,0:36:07.29,0:36:10.87,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5927\u6982\u5728\u4E0A\u9762\u6709\u4E24\ - \u4E07\u5E74\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...it's\ - \ nearly twenty thousand years old.{\\r}\r\nDialogue: 0,0:36:11.83,0:36:12.67,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u83B2\u6069\u5C0F\u59D0{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Miss Lane?{\\r}\r\nDialogue: 0,0:36:14.03,0:36:15.31,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u522B\u4E71\u8D70 \u8FD9\u91CC\u5230\u4E86\ - \u534A\u591C{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Try\ - \ not to wander.{\\r}\r\nDialogue: 0,0:36:15.54,0:36:18.64,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6E29\u5EA6\u4F1A\u964D\u5230\u96F6\u4E0B\ - 40\u5EA6{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Temperatures\ - \ drop to minus 40 at night around here.{\\r}\r\nDialogue: 0,0:36:18.87,0:36:21.15,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6625\u5929\u8FC7\u5B8C\u4E86\u624D\u80FD\ - \u627E\u5230\u4F60\u7684\u5C38\u4F53{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Wouldn't find your body till after spring.{\\r}\r\nDialogue:\ - \ 0,0:36:24.14,0:36:25.65,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u90A3\u5C31\u8FD9\u6837\u5427{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}And there you go.{\\r}\r\nDialogue: 0,0:36:29.22,0:36:30.69,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u60F3\u89E3\u624B\u600E\u4E48\u529E\ - \uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}What if I\ - \ need to tinkle?{\\r}\r\nDialogue: 0,0:36:31.38,0:36:33.02,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u89D2\u843D\u91CC\u6709\u4E2A\u6876{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}There's a bucket in\ - \ the corner.{\\r}\r\nDialogue: 0,0:37:07.22,0:37:09.39,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u5230\u5E95\u8981\u53BB\u54EA\u513F\ - \uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Where the\ - \ hell are you going?{\\r}\r\nDialogue: 0,0:39:18.72,0:39:20.10,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u597D\uFF1F{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Hello?{\\r}\r\nDialogue: 0,0:40:55.58,0:40:59.19,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6CA1\u4E8B\u4E86 \u6CA1\u4E8B\u4E86 \u6CA1\ - \u4E8B\u4E86 \u6CA1\u4E8B\u7684{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}It's all right, it's all right, it's all right. It's all right.{\\r}\r\ - \nDialogue: 0,0:41:13.00,0:41:14.88,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F60\u5185\u51FA\u8840\u4E86{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}You're hemorrhaging internally...{\\r}\r\ - \nDialogue: 0,0:41:15.13,0:41:17.51,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u8981\u662F\u73B0\u5728\u6211\u4E0D\u6B62\u8840{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...and if I don't cauterize\ - \ this bleed...{\\r}\r\nDialogue: 0,0:41:18.67,0:41:19.34,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u600E\u4E48\u80FD\u2026\uFF1F{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}How can...?{\\r}\r\nDialogue:\ - \ 0,0:41:19.61,0:41:22.14,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u6709\u5E38\u4EBA\u6CA1\u6709\u7684\u80FD\u529B{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I can do things that other\ - \ people can't.{\\r}\r\nDialogue: 0,0:41:23.14,0:41:24.28,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6293\u4F4F\u6211\u7684\u624B{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Now hold my hand.{\\r}\r\n\ - Dialogue: 0,0:41:25.11,0:41:26.68,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u4F1A\u75BC\u7684{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}This is gonna hurt.{\\r}\r\nDialogue: 0,0:42:28.37,0:42:30.51,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u54C8\u8FEA\u4E0A\u6821\u548C\u4ED6\u7684\ - \u56E2\u961F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}What\ - \ Colonel Hardy and his team surmised...{\\r}\r\nDialogue: 0,0:42:30.74,0:42:32.25,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u731C\u6D4B\u8FD9\u4F1A\u662F\u4E00\u8258\ - \u82CF\u8054\u65F6\u4EE3\u7684\u6F5C\u8247{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}...was a Soviet-era submarine...{\\r}\r\nDialogue:\ - \ 0,0:42:32.51,0:42:34.96,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u5B83\u7684\u771F\u9762\u76EE\u5374\u66F4\u52A0\u5947\u7279{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...was actually something\ - \ much more exotic.{\\r}\r\nDialogue: 0,0:42:35.21,0:42:39.06,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5468\u56F4\u51B0\u5B54\u7684\u540C\u4F4D\ - \u7D20\u5206\u6790\u8868\u660E...{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}An isotope analysis of the surrounding ice bores suggests that an object...{\\\ - r}\r\nDialogue: 0,0:42:39.29,0:42:43.13,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u8BE5\u7269\u4F53\u5DF2\u88AB\u56F0\u4E8E\u51B0\u5DDD\ - \u4E4B\u4E2D\u8D85\u8FC7\u4E00\u4E07\u516B\u5343\u5E74{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...had been trapped in the glacier\ - \ for over 18,000 years.{\\r}\r\nDialogue: 0,0:42:43.39,0:42:44.93,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u800C\u6551\u6211\u7684\u4EBA{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}As for my rescuer?{\\r}\r\n\ - Dialogue: 0,0:42:45.19,0:42:47.57,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u5728\u8BE5\u7269\u4F53\u8D77\u98DE\u7684\u540C\u65F6\u6D88\ - \u5931\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}He disappeared\ - \ during the object's departure...{\\r}\r\nDialogue: 0,0:42:47.96,0:42:50.37,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u80CC\u666F\u8C03\u67E5\u53D1\u73B0 \u4ED6\ - \u7684\u5DE5\u4F5C\u5386\u53F2...{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}A background check revealed that his work history...{\\r}\r\nDialogue:\ - \ 0,0:42:50.60,0:42:52.70,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u548C\u8EAB\u4EFD\u5747\u4E3A\u4F2A\u9020{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}...and identity had been falsified.{\\\ - r}\r\nDialogue: 0,0:42:52.93,0:42:54.81,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5173\u4E8E\u6551\u6211\u7684\u4EBA{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The questions raised by my rescuer's...{\\\ - r}\r\nDialogue: 0,0:42:55.07,0:42:56.91,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5B58\u5728\u4E0E\u5426\u7684\u8003\u91CF\u786E\u5B9E\ - \u60CA\u4EBA{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...existence\ - \ are frightening to contemplate...{\\r}\r\nDialogue: 0,0:42:57.14,0:43:00.42,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F46\u6211\u4E5F\u77E5\u9053\u81EA\u5DF1\ - \u6240\u89C1\u5C5E\u5B9E{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...but I also know what I saw.{\\r}\r\nDialogue: 0,0:43:00.71,0:43:03.28,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u56E0\u6B64\u6211\u5F97\u51FA\u4E86\u4E00\ - \u4E2A\u5FC5\u7136\u7684\u7ED3\u8BBA{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}\"And I have arrived at the inescapable conclusion...{\\\ - r}\r\nDialogue: 0,0:43:03.54,0:43:05.55,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5373\u8BE5\u7269\u4F53\u4E0E\u5B83\u7684\u4E58\u5750\ - \u8005{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...that the\ - \ object and its occupant...{\\r}\r\nDialogue: 0,0:43:05.78,0:43:08.32,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5E76\u975E\u5730\u7403\u4EA7\u7269{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...did not originate\ - \ on Earth.\"{\\r}\r\nDialogue: 0,0:43:09.45,0:43:12.76,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8FD9\u6837\u6CA1\u6CD5\u4E0A\u62A5 \u91CC\ - \u9762\u53EF\u80FD\u6709\u4E00\u534A\u662F\u4F60\u7684\u5E7B\u89C9{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I can't print this, Lois.\ - \ You might have hallucinated half of it.{\\r}\r\nDialogue: 0,0:43:12.99,0:43:15.98,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u53EF\u5E73\u6C11\u627F\u5305\u5546\u8BC1\ - \u5B9E\u4E86\u6211\u7684\u6545\u4E8B\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}What about the contractors who corroborated my story?{\\\ - r}\r\nDialogue: 0,0:43:15.98,0:43:18.50,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4E94\u89D2\u5927\u697C\u5426\u8BA4\u6709\u8239\u7684\ - \u5B58\u5728{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The\ - \ Pentagon is denying that there was a ship.{\\r}\r\nDialogue: 0,0:43:18.76,0:43:20.60,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u4EEC\u5F53\u7136\u5426\u8BA4 \u4ED6\ - \u4EEC\u5C31\u8BE5\u5426\u8BA4{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Of course they are. They're supposed to.{\\r}\r\nDialogue: 0,0:43:20.83,0:43:22.33,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u56E0\u4E3A\u4ED6\u4EEC\u662F\u4E94\u89D2\ - \u5927\u697C{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}It's\ - \ the Pentagon.{\\r}\r\nDialogue: 0,0:43:22.60,0:43:24.27,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F69\u91CC \u62DC\u6258 \u6211\u4EEC\u8BF4\ - \u7684\u53EF\u662F\u6211{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Perry,come on, it's me we're talking about.{\\r}\r\nDialogue: 0,0:43:24.50,0:43:27.17,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u6211\u662F\u4E00\u4E2A\u666E\u5229\u7B56\ - \u5956\u83B7\u5956\u8BB0\u8005 - \u90A3\u5C31\u6709\u70B9\u540D\u8BB0\u8005\ - \u6837{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- I'm a Pulitzer\ - \ Prize-winning reporter. - Then act like it.{\\r}\r\nDialogue: 0,0:43:27.43,0:43:29.57,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u4E0D\u62A5\u51FA\u53BB\u6211\u5C31\u8F9E\ - \u804C - \u8D70\u4E0D\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}- Print it or I walk. - You can't.{\\r}\r\nDialogue: 0,0:43:29.80,0:43:30.84,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u7B7E\u4E86\u5408\u540C\u7684{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You're under contract.{\\\ - r}\r\nDialogue: 0,0:43:33.31,0:43:37.31,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u4E0D\u4F1A\u62A5\u9053\u5916\u661F\u4EBA\u9690\ - \u85CF\u4E8E\u5BFB\u5E38\u4EBA\u4E4B\u4E2D\u7684\u6545\u4E8B{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I'm not running a story about aliens\ - \ walking among us.{\\r}\r\nDialogue: 0,0:43:43.62,0:43:45.19,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u7EDD\u5BF9\u4E0D\u4F1A{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Never gonna happen.{\\r}\r\nDialogue:\ - \ 0,0:43:48.45,0:43:50.83,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u8FD9\u4F4D\u5973\u58EB\u7684\u82CF\u683C\u5170\u5A01\u58EB\u5FCC\ - \u7EAF\u996E{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}That's\ - \ a Scotch, straight-up, for the lady.{\\r}\r\nDialogue: 0,0:43:51.09,0:43:52.45,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u73B0\u5728\u5C31\u53D1\u539F\u6587\ - \u7ED9\u4F60{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I'm\ - \ sending you the article.{\\r}\r\nDialogue: 0,0:43:52.63,0:43:55.11,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u7684\u7F16\u8F91\u4E0D\u80AF\u62A5\ - \ \u4F46\u5982\u679C\u78B0\u5DE7\u5728\u7F51\u4E0A\u6CC4\u9732\u4E86\u7684\ - \u8BDD...{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}My editor\ - \ won't print it, but if it leaked online...{\\r}\r\nDialogue: 0,0:43:55.33,0:43:56.64,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u61C2\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Got it.{\\r}\r\nDialogue: 0,0:43:56.86,0:43:59.31,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F46\u4F60\u4E0D\u662F\u66FE\u7ECF\u628A\ - \u6211\u7684\u7F51\u7AD9\u5F62\u5BB9\u4E3A...{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}But didn't you once describe my site...{\\r}\r\n\ - Dialogue: 0,0:43:59.53,0:44:02.84,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u6EE1\u6EA2\u8C0E\u8A00\u7684\u6BD2\u7624\u5417\uFF1F{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...as a creeping cancer\ - \ of falsehoods?{\\r}\r\nDialogue: 0,0:44:02.94,0:44:06.53,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u8FD8\u8FD9\u4E48\u8BA4\u4E3A \u4F46\ - \u6211\u60F3\u8BA9\u8FD9\u4E2A\u6545\u4E8B\u89C1\u5149{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I stand by my words, Woodburn, but\ - \ I want this story out there.{\\r}\r\nDialogue: 0,0:44:06.53,0:44:07.94,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E3A\u4EC0\u4E48\uFF1F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Why?{\\r}\r\nDialogue: 0,0:44:07.97,0:44:11.32,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u56E0\u4E3A\u6211\u60F3\u8BA9\u6211\u7684\ - \u795E\u79D8\u7537\u5B50\u77E5\u9053\u6211\u77E5\u9053\u771F\u76F8{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Because I want my mystery\ - \ man to know I know the truth.{\\r}\r\nDialogue: 0,0:44:25.66,0:44:27.64,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9012\u5F52\u8BCA\u65AD\u5B8C\u6210{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Recursive diagnostics\ - \ complete...{\\r}\r\nDialogue: 0,0:44:28.46,0:44:30.67,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5BFC\u793A\u5F71\u50CF\u5DF2\u6388\u6743\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Guiding presence\ - \ authenticated.{\\r}\r\nDialogue: 0,0:44:30.90,0:44:33.47,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u7CFB\u7EDF\u8FD0\u8F6C\u6B63\u5E38{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}All systems operational.{\\\ - r}\r\nDialogue: 0,0:44:45.55,0:44:49.99,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u770B\u89C1\u4F60\u5728\u90A3\u91CC\u957F\u5927\u6210\ - \u4EBA...{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}To see\ - \ you standing there having grown into an adult...{\\r}\r\nDialogue: 0,0:44:51.72,0:44:54.26,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8981\u662F\u83B1\u62C9\u80FD\u4EB2\u773C\ - \u5F97\u89C1\u5C31\u597D\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}If only Lara could have witnessed this.{\\r}\r\nDialogue: 0,0:44:54.69,0:44:55.89,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u662F\u8C01\uFF1F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Who are you?{\\r}\r\nDialogue: 0,0:44:56.89,0:44:58.87,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u662F\u4F60\u7684\u7236\u4EB2 \u5361\ - \u5C14{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I am your\ - \ father, Kal.{\\r}\r\nDialogue: 0,0:45:00.23,0:45:02.10,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8D77\u7801\u662F\u4ED6\u7684\u8EAB\u5F71\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Or at least a shadow\ - \ of him.{\\r}\r\nDialogue: 0,0:45:02.60,0:45:04.34,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u7684\u610F\u8BC6{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}His consciousness.{\\r}\r\nDialogue:\ - \ 0,0:45:06.10,0:45:09.20,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u53EB\u4E54\u2022\u827E\u5C14{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}My name was Jor-El.{\\r}\r\nDialogue: 0,0:45:11.87,0:45:13.51,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u5361\u5C14{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}And Kal?{\\r}\r\nDialogue: 0,0:45:16.74,0:45:17.95,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u662F\u6211\u7684\u540D\u5B57\u5417\uFF1F\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}That's my name.{\\\ - r}\r\nDialogue: 0,0:45:18.84,0:45:22.05,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u53EB \u5361\u5C14\u2022\u827E\u5C14{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Kal-El. It is.{\\r}\r\nDialogue: 0,0:45:22.75,0:45:24.79,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u6709\u597D\u591A\u95EE\u9898{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I have so many questions.{\\\ - r}\r\nDialogue: 0,0:45:27.52,0:45:29.12,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u4ECE\u54EA\u91CC\u6765\uFF1F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Where do I come from?{\\r}\r\nDialogue:\ - \ 0,0:45:30.86,0:45:32.73,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4F60\u4E3A\u4EC0\u4E48\u8981\u9001\u6211\u6765\u8FD9\u91CC\uFF1F\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Why did you send\ - \ me here?{\\r}\r\nDialogue: 0,0:45:33.56,0:45:35.44,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u6765\u81EA\u6C2A\u661F{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You came from Krypton.{\\r}\r\ - \nDialogue: 0,0:45:38.13,0:45:42.14,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4E00\u4E2A\u6BD4\u5730\u7403\u73AF\u5883\u66F4\u6076\ - \u52A3\u7684\u4E16\u754C{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}A world with a much harsher environment than Earths.{\\r}\r\nDialogue:\ - \ 0,0:45:45.94,0:45:47.58,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u5F88\u4E45\u4EE5\u524D{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Long ago...{\\r}\r\nDialogue: 0,0:45:47.81,0:45:50.05,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5728\u5927\u6269\u5F20\u7684\u65F6\u4EE3\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...in an era of\ - \ expansion...{\\r}\r\nDialogue: 0,0:45:50.28,0:45:53.49,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4EEC\u7684\u79CD\u65CF\u63A2\u7D22\ - \u4E00\u9897\u9897\u661F\u7403{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...our race spread out through the stars...{\\r}\r\nDialogue: 0,0:45:53.75,0:45:56.45,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5BFB\u89C5\u53EF\u4EE5\u5E38\u9A7B\u7684\ - \u65B0\u4E16\u754C{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...seeking\ - \ new worlds to settle upon.{\\r}\r\nDialogue: 0,0:45:57.58,0:46:01.09,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8FD9\u8258\u4FA6\u5BDF\u8239\u662F\u5C04\ - \u5165\u865A\u7A7A\u7684\u6570\u5343\u8258\u4E4B\u4E00{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}This scout ship was one of thousands\ - \ launched into the void.{\\r}\r\nDialogue: 0,0:46:03.66,0:46:06.26,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4EEC\u5728\u5176\u4ED6\u884C\u661F\ - \u4E0A\u5EFA\u9020\u524D\u54E8{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}We built outposts on other planets...{\\r}\r\nDialogue: 0,0:46:06.49,0:46:10.24,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u7528\u5DE8\u5927\u7684\u673A\u5668\u6309\ - \u6211\u4EEC\u7684\u9700\u6C42\u91CD\u5851\u73AF\u5883{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}musing great machines to reshape environments\ - \ to our needs.{\\r}\r\nDialogue: 0,0:46:12.43,0:46:16.94,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5341\u4E07\u5E74\u6765\u6211\u4EEC\u7684\ - \u6587\u660E\u84EC\u52C3\u53D1\u5C55{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}For 100,000 years, our civilization flourished...{\\r}\r\ - \nDialogue: 0,0:46:17.97,0:46:19.97,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u521B\u9020\u4E86\u8BB8\u591A\u5947\u8FF9{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...accomplishing wonders.{\\\ - r}\r\nDialogue: 0,0:46:21.14,0:46:22.78,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u53D1\u751F\u4E86\u4EC0\u4E48\uFF1F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}What happened?{\\r}\r\nDialogue: 0,0:46:24.78,0:46:27.85,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4EEC\u521B\u9020\u4E86\u4EBA\u9020\ - \u4EBA\u53E3\u63A7\u5236\u7CFB\u7EDF{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Artificial population control was established.{\\r}\r\n\ - Dialogue: 0,0:46:28.58,0:46:32.19,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u9057\u5F03\u4E86\u592A\u7A7A\u63A2\u7D22\u7684\u524D\u54E8\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The outposts on\ - \ space exploration were abandoned.{\\r}\r\nDialogue: 0,0:46:32.79,0:46:35.36,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4EEC\u7528\u5C3D\u4E86\u81EA\u7136\ - \u8D44\u6E90{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We exhausted\ - \ our natural resources.{\\r}\r\nDialogue: 0,0:46:35.62,0:46:39.63,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u56E0\u6B64\u6211\u4EEC\u884C\u661F\u7684\ - \u6838\u5FC3\u53D8\u5F97\u4E0D\u7A33\u5B9A{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}As a result, our planet's core became unstable.{\\\ - r}\r\nDialogue: 0,0:46:42.09,0:46:44.63,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6700\u7EC8\u6211\u4EEC\u7684\u519B\u4E8B\u9886\u8896\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Eventually, our\ - \ military leader...{\\r}\r\nDialogue: 0,0:46:44.86,0:46:48.78,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F50\u5FB7\u5C06\u519B\u4F01\u56FE\u53D1\ - \u52A8\u653F\u53D8{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...General\ - \ Zod, attempted a coup.{\\r}\r\nDialogue: 0,0:46:50.70,0:46:52.88,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F46\u4E3A\u65F6\u5DF2\u665A{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}But by then it was too late.{\\\ - r}\r\nDialogue: 0,0:46:54.14,0:46:56.78,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F60\u5988\u5988\u548C\u6211\u9884\u89C1\u4E86\u672A\ - \u6765\u707E\u96BE{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Your\ - \ mother and I foresaw the coming calamity...{\\r}\r\nDialogue: 0,0:46:57.01,0:47:00.42,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4EEC\u91C7\u53D6\u4E86\u67D0\u4E9B\ - \u63AA\u65BD\u4EE5\u786E\u4FDD\u4F60\u7684\u751F\u5B58{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...and we took certain steps to ensure\ - \ your survival.{\\r}\r\nDialogue: 0,0:47:01.88,0:47:03.92,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8FD9\u662F\u59CB\u6E90\u5BA4{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}This is a genesis chamber.{\\\ - r}\r\nDialogue: 0,0:47:04.38,0:47:07.52,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6240\u6709\u6C2A\u661F\u4EBA\u90FD\u5728\u8FD9\u6837\ - \u7684\u5C0F\u623F\u95F4\u91CC\u88AB\u5B55\u80B2{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}All Kryptonians were conceived in chambers such as\ - \ this.{\\r}\r\nDialogue: 0,0:47:07.79,0:47:11.50,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6BCF\u4E2A\u51FA\u751F\u7684\u5B69\u5B50\ - \u90FD\u6709\u4E00\u4E2A\u9884\u5B9A\u7684\u89D2\u8272{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Every child was designed to fulfill\ - \ a pre-determined role in our society...{\\r}\r\nDialogue: 0,0:47:11.72,0:47:12.57,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5DE5\u4EBA{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}...as a worker...{\\r}\r\nDialogue: 0,0:47:12.83,0:47:15.97,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6218\u58EB \u9886\u5BFC\u8005\u7B49\u7B49\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...a warrior, a\ - \ leader and so on.{\\r}\r\nDialogue: 0,0:47:16.20,0:47:19.47,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u5988\u5988\u548C\u6211\u76F8\u4FE1\ - \u6C2A\u661F\u5931\u53BB\u4E86\u4E00\u4E9B\u73CD\u8D35\u7684\u4E1C\u897F{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Your mother and I believed\ - \ Krypton lost something precious.{\\r}\r\nDialogue: 0,0:47:19.70,0:47:21.91,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9009\u62E9\u548C\u673A\u4F1A\u7684\u8981\ - \u7D20{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The element\ - \ of choice, of chance.{\\r}\r\nDialogue: 0,0:47:22.40,0:47:24.57,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8981\u662F\u4E00\u4E2A\u5B69\u5B50\u7684\ - \u68A6\u60F3\u662F...{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}What if a child dreamed of becoming something...{\\r}\r\nDialogue: 0,0:47:24.84,0:47:27.34,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6210\u4E3A\u9884\u5B9A\u8F83\u8272\u4EE5\ - \u5916\u7684\u89D2\u8272\u5462\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}mother than what society had intended for him or her?{\\\ - r}\r\nDialogue: 0,0:47:28.87,0:47:31.48,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u8981\u662F\u4ED6\u6E34\u671B\u66F4\u4F1F\u5927\u7684\ - \u4E1C\u897F\u5462\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}What if a child aspired to something greater?{\\r}\r\nDialogue: 0,0:47:32.24,0:47:34.25,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u5C31\u662F\u8FD9\u79CD\u4FE1\u5FF5\ - \u7684\u4F53\u73B0 \u5361\u5C14{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}You were the embodiment of that belief, Kal.{\\r}\r\nDialogue: 0,0:47:34.51,0:47:37.59,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u51E0\u4E16\u7EAA\u4EE5\u6765\u6C2A\u661F\ - \u7684\u7B2C\u4E00\u4E2A\u81EA\u7136\u5206\u5A29\u7684\u5B69\u5B50{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Krypton's first natural\ - \ birth in centuries.{\\r}\r\nDialogue: 0,0:47:38.08,0:47:40.76,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6240\u4EE5\u6211\u4EEC\u624D\u5192\u5982\ - \u6B64\u5927\u7684\u98CE\u9669\u6551\u4F60{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}That's why we risked so much to save you.{\\r}\r\n\ - Dialogue: 0,0:47:41.89,0:47:43.33,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u4F60\u4EEC\u4E3A\u4EC0\u4E48\u4E0D\u8DDF\u6211\u4E00\u8D77\ - \u6765\u5462\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Why\ - \ didn't you come with me?{\\r}\r\nDialogue: 0,0:47:46.86,0:47:48.60,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4EEC\u505A\u4E0D\u5230 \u5361\u5C14\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We couldn't, Kal.{\\\ - r}\r\nDialogue: 0,0:47:49.66,0:47:52.50,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4E0D\u8BBA\u6211\u4EEC\u591A\u4E48\u6E34\u671B{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}No matter how much we wanted\ - \ to.{\\r}\r\nDialogue: 0,0:47:52.60,0:47:54.60,chs,,0000,0000,0000,,{\\fn\u534E\ - \u6587\u6977\u4F53\\blur3}\u4E0D\u8BBA\u6211\u4EEC\u6709\u591A\u7231\u4F60\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}No matter how much\ - \ we loved you.{\\r}\r\nDialogue: 0,0:47:55.37,0:47:56.75,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u6BCD\u4EB2\u83B1\u62C9\u548C\u6211\ - \ \u90FD\u8DDF\u4F50\u5FB7\u4E00\u6837{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Your mother, Lara, and I...{\\r}\r\nDialogue: 0,0:47:57.00,0:48:00.11,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u662F\u6211\u4EEC\u4E16\u754C\u751F\u4EA7\ - \u51FA\u6765\u7684\u5931\u8D25\u4EA7\u7269{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}...were a product of the failures of our world as\ - \ much as Zod was...{\\r}\r\nDialogue: 0,0:48:00.37,0:48:02.05,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4EEC\u4E0E\u5B83\u7684\u547D\u8FD0\ - \u7D27\u7D27\u76F8\u8FDE{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...tied to its fate.{\\r}\r\nDialogue: 0,0:48:02.27,0:48:04.35,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u90A3\u6211\u662F\u5B64\u5355\u4E00\u4EBA\ - \u4E86 - \u4E0D{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}-\ - \ So I'm alone. - No.{\\r}\r\nDialogue: 0,0:48:06.08,0:48:09.75,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u65E2\u662F\u6C2A\u661F\u7684\u5B50\ - \u55E3 \u4E5F\u662F\u5730\u7403\u7684\u5B69\u5B50{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}You're as much a child of Earth now as you are of\ - \ Krypton.{\\r}\r\nDialogue: 0,0:48:10.02,0:48:13.19,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u80FD\u4F53\u73B0\u4E24\u4E2A\u4E16\ - \u754C\u7684\u7CBE\u534E{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}You can embody the best of both worlds.{\\r}\r\nDialogue: 0,0:48:13.42,0:48:17.06,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u6BCD\u4EB2\u548C\u6211\u81F4\u529B\ - \u4FDD\u62A4\u7684\u68A6\u60F3{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}A dream your mother and I dedicated our lives to preserve.{\\r}\r\n\ - Dialogue: 0,0:48:21.59,0:48:24.58,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u5730\u7403\u4EBA\u4E0E\u6211\u4EEC\u4E0D\u540C \u8FD9\u4E0D\ - \u5047{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The people\ - \ of Earth are different from us, it's true.{\\r}\r\nDialogue: 0,0:48:24.80,0:48:27.74,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F46\u6700\u7EC8\u6211\u76F8\u4FE1\u8FD9\ - \u662F\u4EF6\u597D\u4E8B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}But, ultimately, I believe that's a good thing.{\\r}\r\nDialogue: 0,0:48:27.97,0:48:30.41,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u4EEC\u4E0D\u4E00\u5B9A\u4F1A\u72AF\ - \u4E0E\u6211\u4EEC\u76F8\u540C\u7684\u9519\u8BEF{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}They won't necessarily make the same mistakes we\ - \ did.{\\r}\r\nDialogue: 0,0:48:30.64,0:48:32.62,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u53EA\u8981\u6709\u4F60\u7684\u5F15\u5BFC\ - \ \u5361\u5C14{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Not\ - \ if you guide them, Kal.{\\r}\r\nDialogue: 0,0:48:34.21,0:48:36.24,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u53EA\u8981\u4F60\u5E26\u7ED9\u4ED6\u4EEC\ - \u5E0C\u671B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Not\ - \ if you give them hope.{\\r}\r\nDialogue: 0,0:48:39.65,0:48:41.82,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8FD9\u4E2A\u7B26\u53F7\u5C31\u662F\u8FD9\ - \u4E2A\u610F\u601D{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}That's\ - \ what this symbol means.{\\r}\r\nDialogue: 0,0:48:42.55,0:48:44.89,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u827E\u5C14\u5BB6\u65CF\u7684\u6807\u5FD7\ - \u4EE3\u8868\u5E0C\u671B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}The symbol of the house of El means hope.{\\r}\r\nDialogue: 0,0:48:45.12,0:48:47.62,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u79CD\u5E0C\u671B\u7684\u4F53\u73B0\ - \u5728\u4E8E...{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Embodied\ - \ within that hope is the fundamental belief...{\\r}\r\nDialogue: 0,0:48:47.89,0:48:52.30,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8BA9\u6BCF\u4E2A\u4EBA\u7684\u6F5C\u529B\ - \u6210\u4E3A\u5584\u7684\u529B\u91CF{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}...in the potential of every person to be a force for good.{\\\ - r}\r\nDialogue: 0,0:48:52.93,0:48:54.96,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F60\u53EF\u4EE5\u5C06\u8FD9\u4E00\u70B9\u5E26\u7ED9\ - \u4ED6\u4EEC{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}That's\ - \ what you can bring them.{\\r}\r\nDialogue: 0,0:49:15.15,0:49:17.59,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E3A\u4EC0\u4E48\u6211\u8FD9\u4E48\u4E0E\ - \u4F17\u4E0D\u540C\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Why am I so different from them?{\\r}\r\nDialogue: 0,0:49:18.25,0:49:21.45,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5730\u7403\u7684\u592A\u9633\u6BD4\u6C2A\ - \u661F\u7684\u592A\u9633\u66F4\u5E74\u8F7B\u66F4\u660E\u4EAE{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Earth's sun is younger and brighter\ - \ than Krypton's was.{\\r}\r\nDialogue: 0,0:49:22.66,0:49:25.03,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u7684\u7EC6\u80DE\u6C72\u53D6\u4E86\ - \u5B83\u7684\u8F90\u5C04{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Your cells have drunken its radiation...{\\r}\r\nDialogue: 0,0:49:25.29,0:49:29.30,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u52A0\u5F3A\u4F60\u7684\u808C\u8089 \u76AE\ - \u80A4\u4EE5\u53CA\u611F\u5B98{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...strengthening your muscles, your skin, your senses.{\\r}\r\nDialogue:\ - \ 0,0:49:29.83,0:49:33.83,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u5730\u7403\u7684\u5F15\u529B\u8F83\u5F31 \u4F46\u5927\u6C14\u66F4\ - \u52A0\u6ECB\u6DA6{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Earth's\ - \ gravity is weaker, yet its atmosphere is more nourishing.{\\r}\r\nDialogue:\ - \ 0,0:49:35.13,0:49:38.14,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4F60\u5728\u8FD9\u91CC\u53D8\u5F97\u4F1A\u6BD4\u6211\u60F3\u8C61\ - \u4E2D\u7684\u66F4\u5F3A{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}You've grown stronger here than I ever could have imagined.{\\r}\r\n\ - Dialogue: 0,0:49:38.37,0:49:41.00,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u77E5\u9053\u591A\u5F3A\u7684\u552F\u4E00\u529E\u6CD5\u5C31\ - \u662F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The only way\ - \ to know how strong...{\\r}\r\nDialogue: 0,0:49:41.04,0:49:44.58,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E0D\u65AD\u6D4B\u8BD5\u4F60\u7684\u6781\ - \u9650{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...is to keep\ - \ testing your limits.{\\r}\r\nDialogue: 0,0:50:36.43,0:50:40.43,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u4F1A\u5E26\u7ED9\u5730\u7403\u4EBA\ - \u4E3A\u4E4B\u594B\u6597\u7684\u7406\u60F3{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}You will give the people of Earth an ideal lo strive\ - \ towards.{\\r}\r\nDialogue: 0,0:50:42.10,0:50:43.91,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u4EEC\u4F1A\u5728\u4F60\u8EAB\u540E\ - \u52AA\u529B\u8FFD\u8D76{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}They'll race behind you.{\\r}\r\nDialogue: 0,0:50:44.17,0:50:45.55,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u4EEC\u4F1A\u5931\u8DB3{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}They will stumble.{\\r}\r\n\ - Dialogue: 0,0:50:45.77,0:50:46.91,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u4F1A\u5012\u4E0B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}They will fall.{\\r}\r\nDialogue: 0,0:50:47.17,0:50:48.88,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F46\u6700\u540E{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}But In time...{\\r}\r\nDialogue: 0,0:50:50.41,0:50:53.05,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u4EEC\u4F1A\u5728\u592A\u9633\u4E0B\ - \u4E0E\u4F60\u6BD4\u80A9 \u5361\u5C14{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}...they will join you in the sun, Kal.{\\r}\r\nDialogue:\ - \ 0,0:50:54.55,0:50:56.25,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u5230\u6700\u540E{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}In time...{\\r}\r\nDialogue: 0,0:50:56.58,0:50:59.89,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u4F1A\u5E2E\u52A9\u4ED6\u4EEC\u521B\ - \u9020\u5947\u8FF9{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}you\ - \ will help them accomplish wonders.{\\r}\r\nDialogue: 0,0:52:25.94,0:52:27.54,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5148\u4ECE\u8FFD\u8E2A\u6709\u4ED6\u51FA\ - \u73B0\u7684\u90FD\u5E02\u4F20\u8BF4\u5F00\u59CB{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}You start with the urban legends...{\\r}\r\nDialogue:\ - \ 0,0:52:27.81,0:52:30.15,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}- \u4ED6\u9192\u6765\u540E\u90FD\u6D8C\u73B0\u4E86\u51FA\u6765 -\ - \ \u8FD9\u662F\u4E54{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}-\ - \ ...that have sprung up in his wake. - That's Joe.{\\r}\r\nDialogue:\ - \ 0,0:52:30.38,0:52:32.85,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6240\u6709\u58F0\u79F0\u89C1\u8FC7\u4ED6\u7684\u670B\u53CB\u7684\ - \u670B\u53CB{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The\ - \ friends of a friend who have seen him.{\\r}\r\nDialogue: 0,0:52:32.85,0:52:34.01,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u8FC7\u53BB\u5728\u8FD9\u91CC\u5DE5\ - \u4F5C{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}He worked\ - \ here.{\\r}\r\nDialogue: 0,0:52:34.28,0:52:36.26,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5BF9\u67D0\u4E9B\u4EBA\u800C\u8A00 \u4ED6\ - \u662F\u5B88\u62A4\u5929\u4F7F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}For some he was a guardian angel.{\\r}\r\nDialogue: 0,0:52:36.26,0:52:39.80,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5BF9\u5176\u4ED6\u4EBA\u6765\u8BB2 \u4ED6\ - \u662F\u4E2A\u8C1C \u662F\u4E2A\u683C\u683C\u4E0D\u5165\u7684\u5E7D\u7075\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}For others, a cipher,\ - \ a ghost who never quite fit in...{\\r}\r\nDialogue: 0,0:52:40.02,0:52:43.00,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u597D\u5427 \u6211\u662F\u8BF4\u6211\u4EEC\ - \u5728\u9760\u8FD1\u77F3\u6CB9\u94BB\u673A{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Well, I was saying we were coming towards the oil\ - \ rig.{\\r}\r\nDialogue: 0,0:52:43.19,0:52:47.00,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u968F\u7740\u4F60\u6392\u9664\u56F0\u96BE\ - \u8FFD\u6EAF\u8FC7\u53BB \u6545\u4E8B\u5F00\u59CB\u6E10\u6E10\u6210\u578B\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}As you work your\ - \ way back in time, the stories form a pattern.{\\r}\r\nDialogue: 0,0:52:47.06,0:52:49.13,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5728\u627E\u76AE\u7279\u2022\u7F57\ - \u65AF \u4F60\u8BA4\u8BC6\u4ED6\u5417\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}I'm looking for a Pete Ross. Do you know him?{\\\ - r}\r\nDialogue: 0,0:52:54.13,0:52:55.44,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u662F\u76AE\u7279\u2022\u7F57\u65AF\u5417\uFF1F{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Pete Ross?{\\r}\r\nDialogue:\ - \ 0,0:52:57.17,0:53:00.38,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u60F3\u8DDF\u60A8\u8C08\u8C08\u4F60\u5E74\u8F7B\u65F6\u5019\ - \u7684\u4E00\u573A\u4E8B\u6545{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}I'd like to talk to you about an accident when you were younger.{\\\ - r}\r\nDialogue: 0,0:53:00.64,0:53:03.14,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4E00\u8F86\u51B2\u8FDB\u6CB3\u91CC\u7684\u6821\u8F66\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}A school bus that\ - \ went into the river.{\\r}\r\nDialogue: 0,0:53:08.65,0:53:10.75,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6770\u65AF{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Dusty.{\\r}\r\nDialogue: 0,0:53:10.92,0:53:11.99,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u80AF\u7279\u592B\u4EBA\u5417\uFF1F{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Mrs. Kent?{\\r}\r\n\ - Dialogue: 0,0:53:12.92,0:53:15.36,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u6211\u662F\u9732\u6613\u4E1D\u2022\u83B2\u6069 \u6765\u81EA\ - \u300A\u661F\u7403\u65E5\u62A5\u300B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}I'm Lois Lane. I'm from the Daily Planet.{\\r}\r\nDialogue:\ - \ 0,0:53:15.92,0:53:16.66,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u5B89\u9759{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Quiet.{\\\ - r}\r\nDialogue: 0,0:53:18.26,0:53:21.73,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u6765\u81EA\u300A\u661F\u7403\u65E5\u62A5\u300B\ - \ \u6211\u60F3\u8DDF\u60A8\u8C08\u8C08\u4F60\u7684\u513F\u5B50{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I'm from the Daily Planet and\ - \ I'd like to talk to you about your son.{\\r}\r\nDialogue: 0,0:53:39.85,0:53:44.45,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u65E9\u5C31\u77E5\u9053\u8981\u662F\ - \u6211\u67E5\u5F97\u591F\u4ED4\u7EC6 \u4F60\u6700\u540E\u4F1A\u627E\u5230\u6211\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I figured if I turned\ - \ over enough stones you'd eventually find me.{\\r}\r\nDialogue: 0,0:53:49.42,0:53:52.46,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u4ECE\u54EA\u6765\uFF1F\u5728\u8FD9\ - \u91CC\u505A\u4EC0\u4E48\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Where are you from? What are you doing here?{\\r}\r\nDialogue: 0,0:53:52.73,0:53:54.07,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8BA9\u6211\u8BB2\u4F60\u7684\u6545\u4E8B\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Let me tell your\ - \ story.{\\r}\r\nDialogue: 0,0:53:54.29,0:53:57.43,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8981\u662F\u6211\u4E0D\u60F3\u8BA9\u6211\ - \u7684\u6545\u4E8B\u88AB\u8BB2\u51FA\u53BB\u5462\uFF1F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}What if I don't want my story told?{\\\ - r}\r\nDialogue: 0,0:53:57.70,0:53:59.47,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6700\u540E\u5B83\u603B\u4F1A\u88AB\u4F20\u51FA\u53BB\ - \u7684{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}It's going\ - \ to come out eventually.{\\r}\r\nDialogue: 0,0:53:59.73,0:54:02.77,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6709\u4EBA\u4F1A\u62FF\u5230\u76F8\u7247\ - \u6216\u662F\u67E5\u5230\u4F60\u7684\u4F4F\u5904{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Somebody's going to get a photograph or figure out\ - \ where you live.{\\r}\r\nDialogue: 0,0:54:03.04,0:54:05.98,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u90A3\u6211\u5C31\u518D\u6B21\u6D88\u5931\ - \ - \u552F\u4E00\u7684\u529E\u6CD5\u5C31\u662F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}- Then I'll disappear again. - The only way\ - \ you could disappear...{\\r}\r\nDialogue: 0,0:54:06.24,0:54:10.24,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E0D\u518D\u5E2E\u52A9\u4EBA\u4EEC \u6211\ - \u611F\u89C9\u4F60\u4E0D\u4F1A\u90A3\u6837\u7684{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}...is to stop helping people altogether, and I sense\ - \ that's not an option for you.{\\r}\r\nDialogue: 0,0:54:14.41,0:54:18.42,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u7236\u4EB2\u76F8\u4FE1\u8981\u662F\ - \u4E16\u754C\u67E5\u51FA\u6211\u7684\u771F\u5B9E\u8EAB\u4EFD{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}My father believed that if the world\ - \ found out who I really was...{\\r}\r\nDialogue: 0,0:54:20.42,0:54:21.92,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u4EEC\u4F1A\u62D2\u7EDD\u6211{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...they'd reject me...{\\\ - r}\r\nDialogue: 0,0:54:22.15,0:54:23.79,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u56E0\u4E3A\u6050\u60E7{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}...out of fear.{\\r}\r\nDialogue: 0,0:54:25.82,0:54:27.90,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u538C\u5026\u4E86\u5B89\u5168{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I'm tired of safe.{\\\ - r}\r\nDialogue: 0,0:54:28.13,0:54:30.23,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u53EA\u60F3\u6709\u751F\u4E4B\u5E74\u505A\u4E9B\ - \u6709\u7528\u7684\u4E8B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}I just wanna do something useful with my life.{\\r}\r\nDialogue: 0,0:54:30.46,0:54:33.07,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u4E48\u5F00\u519C\u573A \u517B\u6D3B\ - \u5927\u5BB6 \u5C31\u6CA1\u6709\u7528\u5417\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}So farming, feeding people. That's not useful?{\\\ - r}\r\nDialogue: 0,0:54:33.30,0:54:34.30,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u6CA1\u90A3\u4E48\u8BF4{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}I didn't say that.{\\r}\r\nDialogue: 0,0:54:34.40,0:54:36.64,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4EEC\u7684\u5BB6\u65CF\u6574\u6574\ - \u4E94\u4EE3\u90FD\u4EE5\u519C\u573A\u4E3A\u751F \u514B\u62C9\u514B{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Our family's been farming\ - \ for five generations.{\\r}\r\nDialogue: 0,0:54:36.77,0:54:38.68,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u7684\u5BB6\u65CF \u4E0D\u662F\u6211\ - \u7684{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Your family,\ - \ not mine.{\\r}\r\nDialogue: 0,0:54:38.94,0:54:42.00,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u90FD\u4E0D\u77E5\u9053\u81EA\u5DF1\ - \u4E3A\u4EC0\u4E48\u8981\u542C\u4F60\u8BF4 \u4F60\u4E0D\u662F\u6211\u7238\u7238\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I don't even know\ - \ why I'm listening to you. You're not my dad.{\\r}\r\nDialogue: 0,0:54:42.14,0:54:43.52,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u53EA\u662F\u67D0\u4E2A\u5728\u5730\ - \u91CC\u6361\u5230\u6211\u7684\u4EBA{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}You're just some guy who found me in a field.{\\r}\r\n\ - Dialogue: 0,0:54:43.78,0:54:44.95,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u514B\u62C9\u514B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Clark.{\\r}\r\nDialogue: 0,0:54:47.31,0:54:48.99,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6CA1\u5173\u7CFB \u739B\u838E{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}It's all right, Martha.{\\\ - r}\r\nDialogue: 0,0:54:50.82,0:54:52.92,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4ED6\u8BF4\u5F97\u5BF9 \u514B\u62C9\u514B\u8BF4\u5F97\ - \u6709\u9053\u7406{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}He's\ - \ right. Clark has a point.{\\r}\r\nDialogue: 0,0:54:53.49,0:54:54.52,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4EEC\u4E0D\u662F\u4F60\u7684\u7236\ - \u6BCD{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We're not\ - \ your parents.{\\r}\r\nDialogue: 0,0:54:56.62,0:54:58.33,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F46\u6211\u4EEC\u529B\u6C42\u505A\u5230\ - \u6700\u597D{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}But\ - \ we've been doing the best we can.{\\r}\r\nDialogue: 0,0:54:58.59,0:55:01.97,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4EEC\u4E5F\u5728\u5C3D\u53EF\u80FD\ - \u5730\u6539\u8FDB \u4E5F\u8BB8...{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}And we've been making this up as we go along, so maybe...{\\\ - r}\r\nDialogue: 0,0:55:02.19,0:55:05.11,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u4EEC\u6240\u8C13\u7684\u6700\u597D\u5DF2\u7ECF\ - \u4E0D\u591F\u597D\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Maybe our best isn't good enough anymore.{\\r}\r\nDialogue: 0,0:55:09.64,0:55:11.67,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u542C\u7740 \u7238{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Look, Dad...{\\r}\r\nDialogue: 0,0:55:11.94,0:55:13.38,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u7B49\u4E00\u4E0B{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Hold on.{\\r}\r\nDialogue: 0,0:55:33.13,0:55:34.83,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5FEB\u53BB\u5929\u6865\u8EB2\u7740{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Go for the overpass.{\\\ - r}\r\nDialogue: 0,0:55:36.63,0:55:37.73,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5FEB\u70B9\u53BB\u8EB2\u8D77\u6765{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Go for the overpass!{\\r}\r\nDialogue:\ - \ 0,0:55:40.07,0:55:41.70,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u627E\u63A9\u62A4 \u5FEB\u627E\u63A9\u62A4{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Take cover! Take cover!{\\r}\r\nDialogue:\ - \ 0,0:55:41.97,0:55:44.35,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}- \u5728\u90A3\u8FB9 \u8DDF\u4E0A\u4ED6\u4EEC - \u627E\u63A9\u62A4\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- Over there. Just\ - \ follow them. - Take cover.{\\r}\r\nDialogue: 0,0:55:48.07,0:55:49.25,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5979\u88AB\u56F0\u4F4F\u4E86{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}She's stuck.{\\r}\r\nDialogue:\ - \ 0,0:55:53.81,0:55:55.69,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6C49\u514B\u5728\u8F66\u91CC{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Hank's still in the car.{\\r}\r\nDialogue: 0,0:55:56.52,0:55:57.55,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6C49\u514B\u5728\u8F66\u91CC{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Hank's in the car.{\\r}\r\n\ - Dialogue: 0,0:55:58.42,0:56:00.56,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}- \u6211\u53BB\u6551\u5B83 \u6211\u53BB\u6551 - \u4E0D{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- I'll get him, I'll\ - \ get him. - No, no.{\\r}\r\nDialogue: 0,0:56:01.09,0:56:03.33,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5E26\u4F60\u5988\u53BB\u5929\u6865{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Get your mom to the\ - \ overpass.{\\r}\r\nDialogue: 0,0:56:21.71,0:56:23.52,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6C49\u514B \u5FEB\u6765{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Hank! Hank! Come!{\\r}\r\nDialogue:\ - \ 0,0:56:54.64,0:56:56.09,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}- \u4E54\u7EB3\u68EE - \u5988 \u5F85\u5728\u8FD9{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- Jonathan! - Mom, stay here.{\\\ - r}\r\nDialogue: 0,0:57:21.90,0:57:24.40,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u7238{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Dad!{\\r}\r\nDialogue: 0,0:57:26.94,0:57:30.81,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u56E0\u4E3A\u6211\u7684\u4FE1\u4EFB \u7236\ - \u4EB2\u53BB\u4E16\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}I let my father die because I trusted him.{\\r}\r\nDialogue: 0,0:57:30.91,0:57:34.82,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u56E0\u4E3A\u4ED6\u76F8\u4FE1\u4E16\u754C\ - \u8FD8\u6CA1\u6709\u51C6\u5907\u597D{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Because he was convinced that I had to wait.{\\r}\r\nDialogue:\ - \ 0,0:57:35.58,0:57:37.75,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u5FC5\u987B\u7B49\u5F85\u4E0B\u53BB{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}That the world was not ready.{\\r}\r\n\ - Dialogue: 0,0:57:39.48,0:57:41.12,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u4F60\u600E\u4E48\u60F3\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}What do you think?{\\r}\r\nDialogue: 0,0:57:46.02,0:57:47.66,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u5F97\u5C0F\u5FC3\u4E86 \u9732\u6613\ - \u4E1D{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You better\ - \ watch out, Lois.{\\r}\r\nDialogue: 0,0:57:48.16,0:57:50.47,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F69\u91CC\u8981\u51B2\u4F60\u53D1\u706B\ - \u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Hey, Perry's\ - \ gunning for you.{\\r}\r\nDialogue: 0,0:57:50.70,0:57:52.65,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u77E5\u9053\u4F60\u662F\u4F0D\u5FB7\ - \u4F2F\u6069\u7684\u533F\u540D\u4FE1\u606F\u6E90{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}He knows you're Woodburn's anonymous source{\\r}\r\ - \nDialogue: 0,0:57:52.65,0:57:54.97,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u90FD\u7B49\u4E0D\u53CA\u597D\u597D\u6559\u8BAD\u4F60\ - \u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}and cannot\ - \ wait to rip you a new one.{\\r}\r\nDialogue: 0,0:57:56.84,0:57:58.28,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u770B\u770B\u5979 \u54C8\u54C8{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Oh, look at her. Ha, ha, ha.{\\\ - r}\r\nDialogue: 0,0:58:00.27,0:58:02.81,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u544A\u8BC9\u8FC7\u4F60\u4E0D\u8981\u8DDF\u8FD9\ - \u6761\u7EBF \u7136\u540E\u5462\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}I told you not to run with this, and what do you do?{\\\ - r}\r\nDialogue: 0,0:58:03.04,0:58:05.54,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F60\u5374\u8BA9\u4F0D\u5FB7\u4F2F\u6069\u5C06\u4E4B\ - \u4F20\u904D\u4E86\u7F51\u7EDC{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}You let Woodburn just shotgun it all over the Internet.{\\r}\r\nDialogue:\ - \ 0,0:58:05.81,0:58:08.69,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u73B0\u5728\u51FA\u7248\u5546\u60F3\u8BA9\u6211\u8D77\u8BC9\u4F60\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Now the publishers\ - \ want me to sue you.{\\r}\r\nDialogue: 0,0:58:08.95,0:58:12.19,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u597D\u5427 \u5982\u679C\u8FD8\u6709\u7528\ - \u7684\u8BDD \u6211\u653E\u5F03{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Well, if it makes a difference, I'm dropping it.{\\r}\r\nDialogue: 0,0:58:12.45,0:58:13.45,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5C31\u90A3\u6837\u5417\uFF1F{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Whoa, just like that?{\\r}\r\ - \nDialogue: 0,0:58:13.69,0:58:14.69,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6CA1\u9519{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Yep.{\\r}\r\nDialogue: 0,0:58:15.05,0:58:16.36,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u7684\u7EBF\u7D22\u600E\u4E48\u4E86\ - \uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}What happened\ - \ to your leads?{\\r}\r\nDialogue: 0,0:58:17.02,0:58:19.66,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6CA1\u4EC0\u4E48\u610F\u601D \u6574\u4E2A\ - \u6545\u4E8B\u90FD\u662F\u8FC7\u773C\u4E91\u70DF{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}They didn't pan out. The story is smoke.{\\r}\r\n\ - Dialogue: 0,0:58:19.89,0:58:22.44,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u4E5F\u6709\u53EF\u80FD\u6CA1\u5F15\u8D77\u4F60\u671F\u76FC\ - \u7684\u516C\u4F17\u6CE8\u610F\u7F62\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Or it didn't get the traction you hoped?{\\r}\r\n\ - Dialogue: 0,0:58:24.20,0:58:25.04,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u4E24\u5468\u7684\u65E0\u85AA\u4F11\u5047{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Two weeks leave...{\\r}\r\nDialogue:\ - \ 0,0:58:25.30,0:58:26.90,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u7B97\u662F\u60E9\u7F5A\u4F60\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}...no pay, that's your penance.{\\r}\r\nDialogue:\ - \ 0,0:58:27.17,0:58:28.84,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4F60\u518D\u8FD9\u4E48\u5F04\u4E00\u6B21{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}You try something like this again...{\\\ - r}\r\nDialogue: 0,0:58:29.07,0:58:30.74,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}- \u6211\u5C31\u5F00\u9664\u4F60 - \u597D\u5427{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- ...you're done here.\ - \ - Fine.{\\r}\r\nDialogue: 0,0:58:31.00,0:58:32.11,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u8FD9\u4E48\u8FEB\u4E0D\u53CA\u5F85\ - \u5730\u9644\u548C\u6211{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Let's make it three weeks{\\r}\r\nDialogue: 0,0:58:32.11,0:58:33.71,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6539\u6210\u4E09\u5468\u4F11\u5047\u6BD4\ - \u8F83\u5408\u9002{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}since\ - \ you're so willing to agree.{\\r}\r\nDialogue: 0,0:58:37.14,0:58:38.82,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9732\u6613\u4E1D \u6211\u7EDD\u4E0D\u8BA4\ - \u4E3A{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I believe\ - \ you saw something, Lois.{\\r}\r\nDialogue: 0,0:58:39.31,0:58:42.32,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u7684\u7EBF\u7D22\u6BEB\u65E0\u4EF7\ - \u503C{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}But not for\ - \ a moment do I believe that your leads just went cold.{\\r}\r\nDialogue:\ - \ 0,0:58:42.55,0:58:46.05,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u56E0\u6B64\u4E0D\u7BA1\u4F60\u653E\u5F03\u7684\u7406\u7531\u662F\ - \u4EC0\u4E48{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}So whatever\ - \ your reasons are for dropping it...{\\r}\r\nDialogue: 0,0:58:47.09,0:58:48.93,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u76F8\u4FE1\u4F60\u505A\u5F97\u6CA1\ - \u9519{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...I think\ - \ you're doing the right thing.{\\r}\r\nDialogue: 0,0:58:49.49,0:58:50.73,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E3A\u4EC0\u4E48\uFF1F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Why?{\\r}\r\nDialogue: 0,0:58:52.09,0:58:55.73,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5982\u679C\u4EBA\u4EEC\u5F97\u77E5\u5730\ - \u7403\u6709\u8FD9\u6837\u7684\u4EBA\u7684\u5B58\u5728{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Can you imagine how people on this\ - \ planet would react...{\\r}\r\nDialogue: 0,0:58:58.00,0:59:01.44,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u80FD\u60F3\u8C61\u4EBA\u4EEC\u4F1A\ - \u6709\u4F55\u79CD\u53CD\u5E94\u5417\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}...if they knew there was someone like this out there?{\\\ - r}\r\nDialogue: 0,0:59:19.58,0:59:20.99,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u53BB\u63A5\u63A5\u4ED6{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Go get him.{\\r}\r\nDialogue: 0,0:59:27.43,0:59:29.06,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u770B\u770B\u6211\u513F\u5B50{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Well, look at you.{\\r}\r\n\ - Dialogue: 0,0:59:46.11,0:59:47.92,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u4E00\u4E2A\u8BB0\u8005\u6765\u8FC7{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}A reporter came by here.{\\r}\r\nDialogue:\ - \ 0,0:59:48.48,0:59:50.72,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u662F\u4E2A\u670B\u53CB \u522B\u62C5\u5FC3{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}She's a friend. Don't worry.{\\r}\r\n\ - Dialogue: 0,0:59:53.72,0:59:54.59,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u5988\u5988{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Mom.{\\r}\r\nDialogue: 0,0:59:54.75,0:59:56.49,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u600E\u4E48\u4E86\uFF1F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}What?{\\r}\r\nDialogue: 0,0:59:57.96,1:00:00.49,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u6211\u627E\u5230\u4E86 - \u8C01\uFF1F\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- I found them.\ - \ - Who?{\\r}\r\nDialogue: 0,1:00:01.33,1:00:02.83,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u7684\u7236\u6BCD{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}My parents.{\\r}\r\nDialogue: 0,1:00:04.00,1:00:05.34,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u7684\u65CF\u4EBA{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}My People.{\\r}\r\nDialogue: 0,1:00:06.23,1:00:09.44,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u73B0\u5728\u77E5\u9053\u81EA\u5DF1\ - \u7684\u8EAB\u4E16\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}I know where I come from now.{\\r}\r\nDialogue: 0,1:00:10.84,1:00:12.11,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u54C7{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Wow.{\\r}\r\nDialogue: 0,1:00:13.17,1:00:14.95,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u771F\u662F\u592A\u597D\u4E86{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}That's wonderful.{\\\ - r}\r\nDialogue: 0,1:00:16.81,1:00:19.25,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u592A\u4E3A\u4F60\u9AD8\u5174\u4E86 \u514B\u62C9\u514B\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I'm so happy for\ - \ you, Clark.{\\r}\r\nDialogue: 0,1:00:28.09,1:00:30.62,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u600E\u4E48\u4E86\uFF1F - \u6CA1\u4E8B\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- What? -\ - \ It's nothing.{\\r}\r\nDialogue: 0,1:00:33.33,1:00:36.27,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u5C1A\u5728\u8941\u8913\u4E2D\u65F6\ - \ \u6211\u6574\u591C\u5728\u5A74\u513F\u5E8A\u8FB9\u966A\u4F60{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}When you were a baby I used\ - \ to lay by your crib at night...{\\r}\r\nDialogue: 0,1:00:36.50,1:00:38.87,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u542C\u7740\u4F60\u7684\u547C\u5438{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...listening to you\ - \ breathe.{\\r}\r\nDialogue: 0,1:00:39.93,1:00:41.54,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u5BF9\u4F60\u6765\u8BF4\u4E0D\u5BB9\ - \u6613{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}It was hard\ - \ for you.{\\r}\r\nDialogue: 0,1:00:42.77,1:00:44.14,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u52AA\u529B\u7740{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You struggled.{\\r}\r\nDialogue: 0,1:00:44.37,1:00:46.21,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u65E0\u65F6\u4E0D\u523B\u4E0D\u62C5\ - \u5FC3\u4F60{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}And\ - \ I worried all the time.{\\r}\r\nDialogue: 0,1:00:46.47,1:00:48.31,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u6015\u771F\u76F8\u66B4\u9732\u5417\ - \uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You worried\ - \ the truth would come out.{\\r}\r\nDialogue: 0,1:00:49.84,1:00:51.05,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E0D{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}No.{\\r}\r\nDialogue: 0,1:00:52.01,1:00:54.62,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u7684\u771F\u76F8\u5417\uFF1F\u90A3\ - \u5C31\u662F\u4F60\u592A\u53EF\u7231\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}The truth about you is beautiful.{\\r}\r\nDialogue:\ - \ 0,1:00:55.05,1:00:58.49,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u7B2C\u4E00\u773C\u89C1\u5230\u4F60\u7684\u65F6\u5019\u6211\u4EEC\ - \u5C31\u77E5\u9053{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We\ - \ saw that the moment we laid eyes on you.{\\r}\r\nDialogue: 0,1:01:00.79,1:01:04.79,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u77E5\u9053\u6709\u4E00\u5929 \u4E16\u4EBA\ - \u4E5F\u7EC8\u5F52\u4F1A\u53D1\u73B0{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}We knew that one day, the whole world would see that.{\\\ - r}\r\nDialogue: 0,1:01:07.23,1:01:08.86,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u53EA\u662F...{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}I'm just...{\\r}\r\nDialogue: 0,1:01:09.49,1:01:11.97,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u62C5\u5FC3\u4ED6\u4EEC\u4F1A\u8BA9\u6211\ - \u4EEC\u5206\u79BB{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I'm\ - \ worried they'll take you away from me.{\\r}\r\nDialogue: 0,1:01:13.80,1:01:16.18,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u54EA\u4E5F\u4E0D\u53BB \u5988\u5988\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I'm not going anywhere,\ - \ Mom.{\\r}\r\nDialogue: 0,1:01:18.00,1:01:19.51,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4FDD\u8BC1{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}I promise.{\\r}\r\nDialogue: 0,1:01:25.71,1:01:27.88,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u65AF\u65FA\u5A01\u514B\u5C06\u519B \u957F\ - \u5B98{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}General Swanwick,\ - \ sir.{\\r}\r\nDialogue: 0,1:01:28.15,1:01:31.89,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8FD9\u662F\u4EC0\u4E48 \u535A\u58EB\uFF1F\ - \u5F57\u661F\u8FD8\u662F\u5C0F\u884C\u661F\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}What am I looking at, doc? Comet? Asteroid?{\\r}\r\ - \nDialogue: 0,1:01:33.05,1:01:37.06,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5F57\u661F\u53EF\u4E0D\u4F1A\u4FEE\u6B63\u822A\u9053\ - \ \u5C06\u519B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Comets\ - \ don't make course corrections, general.{\\r}\r\nDialogue: 0,1:01:39.86,1:01:43.86,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5728\u67D0\u4E2A\u5929\u6587\u7231\u597D\ - \u8005\u770B\u5230\u5E76\u5F15\u8D77\u6050\u614C\u524D \u6211\u60F3\u8BA9\u4F60\ - \u597D\u597D\u770B\u4E00\u4E0B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Wanted you to see this before some amateur with a telescope creates\ - \ a worldwide panic.{\\r}\r\nDialogue: 0,1:01:45.53,1:01:46.91,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8FD9\u8258\u8239\u4F3C\u4E4E{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The ship appears to have...{\\\ - r}\r\nDialogue: 0,1:01:47.17,1:01:49.91,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5C06\u81EA\u5DF1\u9001\u5165\u4E86\u6708\u7403\u540C\ - \u6B65\u8F68\u9053{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...inserted\ - \ itself into a lunar synchronous orbit...{\\r}\r\nDialogue: 0,1:01:50.17,1:01:52.34,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4E0D\u77E5\u9053\u4E3A\u4EC0\u4E48\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...though I have\ - \ no idea why.{\\r}\r\nDialogue: 0,1:01:52.57,1:01:55.42,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u6709\u8BD5\u8FC7\u548C\u5B83\u53D6\ - \u5F97\u8054\u7CFB\u5417\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Have you tried... communicating with it?{\\r}\r\nDialogue: 0,1:01:55.67,1:01:59.68,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u4EEC\u81F3\u4ECA\u6CA1\u6709\u56DE\ - \u5E94{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Well, they\ - \ haven't responded as of yet.{\\r}\r\nDialogue: 0,1:02:00.95,1:02:04.95,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4E2A\u4EBA\u7684\u731C\u6D4B\u662F\ - \ \u4E0D\u7BA1\u662F\u8C01\u5728\u64CD\u7EB5\u98DE\u8239...{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I'm just speculating, but I think\ - \ whoever's at the helm of that thing...{\\r}\r\nDialogue: 0,1:02:05.22,1:02:07.72,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u4E00\u5B9A\u60F3\u6765\u4E2A\u60CA\ - \u4EBA\u7684\u7740\u9646{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...is looking to make a dramatic entrance.{\\r}\r\nDialogue: 0,1:02:14.59,1:02:16.07,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6709\u4EBA\u77E5\u9053\u58A8\u76D2\u653E\ - \u5728\u54EA\u4E86\u5417\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Anybody know where we keep the toner?{\\r}\r\nDialogue: 0,1:02:17.03,1:02:18.94,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u600E\u4E48\u4E86\uFF1F - \u65B0\u95FB\ - \u90FD\u5728\u62A5\u9053{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}- What's going on? - It's all over the news.{\\r}\r\nDialogue:\ - \ 0,1:02:19.20,1:02:21.14,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4F60\u5F97\u6765\u770B\u770B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}You gotta see this.{\\r}\r\nDialogue: 0,1:02:48.13,1:02:49.63,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u514B\u62C9\u514B{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Clark.{\\r}\r\nDialogue: 0,1:02:50.00,1:02:51.13,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u55EF\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Yeah?{\\r}\r\nDialogue: 0,1:02:51.40,1:02:52.74,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6765\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Coming.{\\r}\r\nDialogue: 0,1:02:53.06,1:02:55.27,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8FD9\u662F\u4E2A\u7A81\u53D1\u65B0\u95FB\ - \ \u8EAB\u4EFD\u4E0D\u660E{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}This is a breaking news. An unidentified...{\\r}\r\nDialogue: 0,1:03:36.98,1:03:39.05,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u5E76\u4E0D\u662F\u4E00\u4E2A\u4EBA\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You are not alone.{\\\ - r}\r\nDialogue: 0,1:03:40.71,1:03:43.06,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F60\u5E76\u4E0D\u662F\u4E00\u4E2A\u4EBA{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You are not alone.{\\r}\r\n\ - Dialogue: 0,1:03:44.98,1:03:47.22,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u4F60\u5E76\u4E0D\u662F\u4E00\u4E2A\u4EBA{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You are not alone.{\\r}\r\nDialogue:\ - \ 0,1:03:52.89,1:03:55.50,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4F60 \u5E76\u4E0D\u662F \u4E00\u4E2A\u4EBA{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}You are not alone.{\\r}\r\nDialogue: 0,1:04:20.92,1:04:22.48,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}RSS\u4E5F\u6709\u8FD9\u4FE1\u606F{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}It's coming in on the RSS\ - \ feeds.{\\r}\r\nDialogue: 0,1:04:22.69,1:04:24.56,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u5E76\u4E0D\u662F\u4E00\u4E2A\u4EBA\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You are not alone.{\\\ - r}\r\nDialogue: 0,1:04:25.19,1:04:27.23,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u624B\u673A\u4E0A\u4E5F\u6709{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}It's on my phone too.{\\r}\r\nDialogue:\ - \ 0,1:04:29.39,1:04:31.84,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u662F\u4F50\u5FB7\u5C06\u519B{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}My name is General Zod.{\\r}\r\nDialogue: 0,1:04:33.67,1:04:36.44,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u6765\u81EA\u4E00\u4E2A\u9065\u8FDC\ - \u7684\u661F\u7403{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I\ - \ come from a world far from yours.{\\r}\r\nDialogue: 0,1:04:37.84,1:04:42.34,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u7A7F\u8D8A\u4E86\u832B\u832B\u661F\ - \u6D77\u6765\u627E\u4F60\u4EEC{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}I have journeyed across an ocean of stars to reach you.{\\r}\r\nDialogue:\ - \ 0,1:04:43.94,1:04:47.95,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4F60\u4EEC\u5E87\u62A4\u4E86\u6211\u7684\u4E00\u4E2A\u5B50\u6C11\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}For some time, your\ - \ world has sheltered one of my citizens.{\\r}\r\nDialogue: 0,1:04:48.58,1:04:51.79,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u73B0\u5728\u6211\u8981\u6C42\u4F60\u4EEC\ - \u628A\u4ED6\u4EA4\u51FA\u6765{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}I request that you return this individual...{\\r}\r\nDialogue: 0,1:04:52.05,1:04:54.19,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u7ED9\u6211\u5904\u7406{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...to my custody.{\\r}\r\nDialogue:\ - \ 0,1:04:54.42,1:05:00.80,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u56E0\u4E3A\u67D0\u4E9B\u539F\u56E0 \u4ED6\u9009\u62E9\u5411\u4F60\ - \u4EEC\u9690\u7792\u4ED6\u7684\u5B58\u5728{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}For reasons unknown, he has chosen to keep his existence\ - \ a secret from you.{\\r}\r\nDialogue: 0,1:05:01.59,1:05:04.77,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u7AED\u5C3D\u5168\u529B\u878D\u5165\ - \u4F60\u4EEC{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}He will\ - \ have made efforts to blend in.{\\r}\r\nDialogue: 0,1:05:05.36,1:05:07.04,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u770B\u8D77\u6765\u548C\u4F60\u4EEC\ - \u76F8\u4F3C{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}He will\ - \ look like you.{\\r}\r\nDialogue: 0,1:05:07.77,1:05:10.37,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F46\u4ED6\u4E0D\u662F\u540C\u65CF{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}But he is not one of\ - \ you.{\\r}\r\nDialogue: 0,1:05:11.57,1:05:13.41,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5982\u679C\u6709\u8C01\u77E5\u9053{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}To those of you who\ - \ may know...{\\r}\r\nDialogue: 0,1:05:13.64,1:05:15.64,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u7684\u4F4D\u7F6E{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...of his current location.{\\r}\r\ - \nDialogue: 0,1:05:15.91,1:05:18.44,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u90A3\u4F60\u4EEC\u661F\u7403\u7684\u547D\u8FD0{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...the fate of your planet...{\\\ - r}\r\nDialogue: 0,1:05:18.71,1:05:21.38,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5C31\u5728\u4F60\u624B\u4E2D\u4E86{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...rests in your hands.{\\r}\r\nDialogue:\ - \ 0,1:05:22.45,1:05:25.49,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u5361\u5C14\u2022\u827E\u5C14 \u542C\u5230\u4E86\u5417\uFF1F{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}To Kai-El, I say this:{\\\ - r}\r\nDialogue: 0,1:05:27.55,1:05:30.23,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}24\u5C0F\u65F6\u5185\u51FA\u6765\u6295\u964D{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Surrender within 24 hours...{\\\ - r}\r\nDialogue: 0,1:05:34.49,1:05:37.97,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6216\u8005\u8BA9\u6574\u4E2A\u4E16\u754C\u6765\u627F\ - \u62C5\u540E\u679C{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...or\ - \ watch this world suffer the consequences...{\\r}\r\nDialogue: 0,1:05:53.24,1:05:55.09,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4EEC\u5BF9\u4ED6\u4E00\u65E0\u6240\ - \u77E5 \u5BF9\u5417\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}We hardly know anything about him, isn't that right?{\\r}\r\nDialogue:\ - \ 0,1:05:55.25,1:05:57.25,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u5982\u679C\u4ED6\u771F\u7684\u4E0D\u60F3\u5BB3\u6211\u4EEC{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}If he truly means us no\ - \ harm...{\\r}\r\nDialogue: 0,1:05:57.48,1:05:59.98,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u4ED6\u5E94\u8BE5\u56DE\u5F52\u4ED6\ - \u7684\u65CF\u4EBA \u53BB\u627F\u62C5\u540E\u679C{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}...he'll turn himself in and face the consequences.{\\\ - r}\r\nDialogue: 0,1:06:00.12,1:06:01.32,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5982\u679C\u4ED6\u4E0D\u80AF\u53BB{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}And if he won't do that...{\\r}\r\n\ - Dialogue: 0,1:06:01.59,1:06:03.59,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u4E5F\u8BB8\u6211\u4EEC\u8BE5\u9001\u4ED6\u53BB{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...then maybe we should.{\\\ - r}\r\nDialogue: 0,1:06:03.82,1:06:06.80,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u300A\u661F\u7403\u65E5\u62A5\u300B\u7684\u9732\u6613\ - \u4E1D\u2022\u83B2\u6069\u77E5\u9053\u4ED6\u662F\u8C01{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The Daily Planet's Lois Lane knows\ - \ who this guy is. She's...{\\r}\r\nDialogue: 0,1:06:07.03,1:06:08.43,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u8BA4\u4E3A\u5979\u662F\u6211\u4EEC\ - \u8BE5\u8D28\u95EE\u7684\u4EBA{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...the one we should be questioning.{\\r}\r\nDialogue: 0,1:06:08.93,1:06:11.67,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u7B49\u7B49 \u4F60\u662F\u8BF4\u9732\u6613\ - \u4E1D\u2022\u83B2\u6069 - \u4F60\u597D{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}- Hold on. You're saying Lois Lane... - Hello?{\\\ - r}\r\nDialogue: 0,1:06:11.93,1:06:14.43,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F60\u5728\u770B\u65B0\u95FB\u5417\uFF1F\u64AD\u4E86\ - \u4E00\u65E9\u4E0A\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Are you watching this crap? Been running all morning.{\\r}\r\nDialogue:\ - \ 0,1:06:14.67,1:06:16.98,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u8FD9\u6B21\u6211\u7ADF\u7136\u5B8C\u5168\u540C\u610F\u4F0D\u5FB7\ - \u4F2F\u6069\u7684\u89C2\u70B9 \u4F60\u89C1\u8FC7\u4ED6\u5417\uFF1F{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}For once I agree with Woodburn.\ - \ Have you seen him?{\\r}\r\nDialogue: 0,1:06:17.20,1:06:20.51,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u77E5\u9053\u4ED6\u5728\u54EA\u5417\uFF1F\ - \ - \u4E0D\u77E5\u9053 \u5373\u4F7F\u77E5\u9053 \u6211\u4E5F\u4E0D\u4F1A\u8BF4\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- Do you know where\ - \ he is? - No. Even if I did, I wouldn't say.{\\r}\r\nDialogue: 0,1:06:20.77,1:06:23.95,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6574\u4E2A\u4E16\u754C\u5C8C\u5C8C\u53EF\ - \u5371{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The entire\ - \ world is being threatened here.{\\r}\r\nDialogue: 0,1:06:24.18,1:06:28.60,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8FD9\u53EF\u4E0D\u662F\u4F60\u5C55\u73B0\ - \u65B0\u95FB\u9053\u5FB7\u7684\u65F6\u5019{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}This is not time for you to fall back on journalistic\ - \ integrity.{\\r}\r\nDialogue: 0,1:06:28.65,1:06:30.13,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E8B\u6001\u4E25\u91CD\u4E86 \u9732\u6613\ - \u4E1D{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}This is serious,\ - \ Lois.{\\r}\r\nDialogue: 0,1:06:30.35,1:06:33.33,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}FBI\u90FD\u6765\u4E86 \u4ED6\u4EEC\u5728\ - \u8BF4\u53DB\u56FD\u7F6A\u4EC0\u4E48\u7684{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}The FBI is here. They're throwing around words like\ - \ \"treason.\"{\\r}\r\nDialogue: 0,1:06:33.55,1:06:35.22,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5F97\u8D70\u4E86{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I gotta go.{\\r}\r\nDialogue: 0,1:06:51.37,1:06:52.71,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}FBI \u4E3E\u8D77\u624B\u6765{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}FBI. Hands up.{\\r}\r\nDialogue:\ - \ 0,1:06:52.97,1:06:54.75,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6254\u4E86\u888B\u5B50 \u9A6C\u4E0A{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Drop the bag. Now.{\\r}\r\nDialogue: 0,1:07:01.65,1:07:04.01,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u636E\u6211\u91C7\u8BBF\u7684\u653F\u5E9C\ - \u5B98\u5458\u8BF4{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Regarding\ - \ the visitors themselves we know...{\\r}\r\nDialogue: 0,1:07:04.15,1:07:06.59,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u73B0\u5728\u6211\u4EEC\u6240\u77E5\u751A\ - \u5C11{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...very little.\ - \ According to government officials...{\\r}\r\nDialogue: 0,1:07:06.85,1:07:09.33,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5C3D\u7BA1\u4ED6\u4EEC\u7684\u8BED\u8C03\ - \u5E76\u4E0D\u53CB\u5584{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...the visitors do not represent a threat...{\\r}\r\nDialogue: 0,1:07:09.55,1:07:11.73,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F46\u6765\u5BA2\u5E76\u4E0D\u4EE3\u8868\ - \u7740\u5A01\u80C1{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...despite\ - \ the ominous tone of their message.{\\r}\r\nDialogue: 0,1:07:11.99,1:07:14.49,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5F53\u7136\u4E86 \u5927\u5BB6\u5FC3\u4E2D\ - \u90FD\u6709\u4E00\u4E2A\u7591\u95EE{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Then of course there's the question on everyone's mind:{\\\ - r}\r\nDialogue: 0,1:07:14.73,1:07:18.54,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u8FD9\u4E2A\u5361\u5C14\u2022\u827E\u5C14\u662F\u8C01\ - \uFF1F\u4ED6\u771F\u7684\u5B58\u5728\u5417\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}\"Who is this Kai-El person? Does he actually exist?\"\ - {\\r}\r\nDialogue: 0,1:07:18.76,1:07:21.44,chs,,0000,0000,0000,,{\\fn\u534E\ - \u6587\u6977\u4F53\\blur3}\u4ED6\u5982\u4F55\u5728\u6211\u4EEC\u4E4B\u4E2D\ - \u9690\u85CF\u4E86\u8FD9\u4E48\u4E45\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}\"How could he have remained hidden from us for so\ - \ long?\"{\\r}\r\nDialogue: 0,1:07:26.07,1:07:27.38,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6765\u554A \u80AF\u7279{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Come on, Kent.{\\r}\r\nDialogue: 0,1:07:34.45,1:07:35.55,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6765\u554A \u6253\u56DE\u6765\u554A{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Come on. Fight back.{\\\ - r}\r\nDialogue: 0,1:07:35.78,1:07:37.38,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u7AD9\u8D77\u6765 \u80AF\u7279{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Get up, Kent.{\\r}\r\nDialogue: 0,1:07:40.69,1:07:42.06,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5C31\u8FD9\u70B9\u6C34\u5E73{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}So is that it?{\\r}\r\nDialogue:\ - \ 0,1:07:42.52,1:07:44.02,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4F60\u5C31\u8FD9\u70B9\u5B9E\u529B\u5417\uFF1F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Is that all you've got?{\\r}\r\nDialogue:\ - \ 0,1:07:45.69,1:07:47.19,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6765\u554A \u80AF\u7279{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Come on, Kent.{\\r}\r\nDialogue: 0,1:07:48.43,1:07:49.80,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8FC7\u6765{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Come on!{\\r}\r\nDialogue: 0,1:08:18.42,1:08:19.56,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u4EEC\u4F24\u5230\u4F60\u4E86\u5417\ - \uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Did they hurl\ - \ you?{\\r}\r\nDialogue: 0,1:08:20.83,1:08:22.54,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u77E5\u9053\u90A3\u4E0D\u53EF\u80FD\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You know they can't.{\\\ - r}\r\nDialogue: 0,1:08:22.59,1:08:25.47,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u4E0D\u662F\u90A3\u4E2A\u610F\u601D \u6211\u662F\ - \u8BF4 \u4F60\u8FD8\u597D\u5417\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}That's not what I meant. I meant, are you all right?{\\\ - r}\r\nDialogue: 0,1:08:27.47,1:08:29.78,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u60F3\u75DB\u6241\u90A3\u4E2A\u5C41\u5B69 \u6211\ - \u60F3\u72E0\u72E0\u5730\u63CD\u4ED6{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}I wanted to hit that kid. I wanted to hit him bad.{\\r}\r\ - \nDialogue: 0,1:08:30.00,1:08:31.48,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u77E5\u9053\u4F60\u60F3{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}I know you did. I mean...{\\r}\r\nDialogue:\ - \ 0,1:08:31.74,1:08:34.44,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u751A\u81F3\u4E5F\u60F3\u8BA9\u4F60\u63CD\u4ED6 \u53EF\u662F\ - \u7136\u540E\u5462\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...part of me even wanted you to, but then what?{\\r}\r\nDialogue: 0,1:08:35.14,1:08:36.91,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u5C31\u4F1A\u9AD8\u5174\u4E86\u5417\ - \uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Make you feel\ - \ any better?{\\r}\r\nDialogue: 0,1:08:39.68,1:08:43.68,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u53EA\u9700\u8981\u51B3\u5B9A\u4F60\ - \u60F3\u6210\u957F\u4E3A\u4EC0\u4E48\u6837\u7684\u4EBA \u514B\u62C9\u514B\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You just have to\ - \ decide what kind of man you want to grow up to be, Clark.{\\r}\r\nDialogue:\ - \ 0,1:08:43.95,1:08:47.66,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u56E0\u4E3A\u65E0\u8BBA\u6210\u4E3A\u4EC0\u4E48\u6837 \u597D\u4EBA\ - \u6216\u662F\u574F\u4EBA \u4F60\u90FD\u4F1A...{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Because whoever that man is, good character or bad,\ - \ he's...{\\r}\r\nDialogue: 0,1:08:49.29,1:08:51.43,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6539\u53D8\u8FD9\u4E2A\u4E16\u754C{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}He's gonna change the\ - \ world.{\\r}\r\nDialogue: 0,1:08:56.66,1:08:58.02,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u8111\u4E2D\u6240\u8651\u4E3A\u4F55\ - \u4E8B\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}What's\ - \ on your mind?{\\r}\r\nDialogue: 0,1:09:03.77,1:09:05.04,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4E0D\u77E5\u4ECE\u4F55\u8BF4\u8D77\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I don't know where\ - \ to start.{\\r}\r\nDialogue: 0,1:09:05.67,1:09:07.27,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6089\u542C\u5C0A\u4FBF{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Wherever you want.{\\r}\r\nDialogue:\ - \ 0,1:09:09.44,1:09:11.55,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6628\u665A\u51FA\u73B0\u7684\u98DE\u8239{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}That ship that appeared last night.{\\\ - r}\r\nDialogue: 0,1:09:12.88,1:09:14.69,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u5C31\u662F\u4ED6\u4EEC\u8981\u627E\u7684\u4EBA\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I'm the one they're\ - \ looking for.{\\r}\r\nDialogue: 0,1:09:19.18,1:09:20.69,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u77E5\u9053{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Do you know...{\\r}\r\nDialogue: 0,1:09:21.49,1:09:22.62,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u4EEC\u627E\u4F60\u7684\u539F\u56E0\ - \u5417\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...why\ - \ they want you?{\\r}\r\nDialogue: 0,1:09:22.85,1:09:25.46,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E0D \u4F46\u8FD9\u4E2A\u4F50\u5FB7\u5C06\ - \u519B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}No. But this\ - \ General Zod...{\\r}\r\nDialogue: 0,1:09:25.69,1:09:29.70,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5373\u4F7F\u6211\u6295\u964D \u4ED6\u4E5F\ - \u672A\u5FC5\u4F1A\u4FE1\u5B88\u8BFA\u8A00{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}...even if I surrender, there's no guarantee he'll\ - \ keep his word, but...{\\r}\r\nDialogue: 0,1:09:29.96,1:09:33.97,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F46\u82E5\u6211\u6295\u964D\u5C31\u53EF\ - \u4EE5\u62EF\u6551\u5730\u7403\u7684\u8BDD{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}...if there's a chance I can save Earth by turning\ - \ myself in...{\\r}\r\nDialogue: 0,1:09:35.57,1:09:37.40,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u96BE\u9053\u6211\u4E0D\u8BE5\u8FD9\u4E48\ - \u505A\u5417\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...shouldn't\ - \ I take it?{\\r}\r\nDialogue: 0,1:09:38.20,1:09:40.08,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u7684\u76F4\u89C9\u5462\uFF1F{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}What does your gut\ - \ tell you?{\\r}\r\nDialogue: 0,1:09:40.81,1:09:42.51,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F50\u5FB7\u4E0D\u53EF\u4FE1{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Zod can't be trusted.{\\r}\r\ - \nDialogue: 0,1:09:45.14,1:09:46.71,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u95EE\u9898\u662F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}The problem is...{\\r}\r\nDialogue: 0,1:09:47.75,1:09:50.95,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4E5F\u4E0D\u77E5\u9053\u5730\u7403\ - \u7684\u4EBA\u6C11\u53EF\u4E0D\u53EF\u4FE1{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}...I'm not sure the people of Earth can be either.{\\\ - r}\r\nDialogue: 0,1:09:58.36,1:10:01.34,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6709\u65F6\u5019\u4F60\u5FC5\u987B\u575A\u4FE1\u4E0D\ - \u7591{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Sometimes\ - \ you have to take a leap of faith first.{\\r}\r\nDialogue: 0,1:10:02.73,1:10:04.76,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4FE1\u4EFB\u4F1A\u968F\u4E4B\u800C\u6765\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The trust part comes\ - \ later.{\\r}\r\nDialogue: 0,1:10:28.92,1:10:32.03,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u597D\u4E86 \u6211\u4EEC\u6CE8\u610F\u5230\ - \u4F60\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}All\ - \ right. You've got our attention.{\\r}\r\nDialogue: 0,1:10:32.12,1:10:33.12,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u60F3\u600E\u4E48\u6837\uFF1F{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}What is it you want?{\\\ - r}\r\nDialogue: 0,1:10:33.39,1:10:35.20,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u8981\u548C\u9732\u6613\u4E1D\u2022\u83B2\u6069\ - \u8C08\u8BDD{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I would\ - \ like to speak to Lois Lane.{\\r}\r\nDialogue: 0,1:10:35.43,1:10:37.11,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u51ED\u4EC0\u4E48\u8BA4\u4E3A\u5979\ - \u5728\u8FD9\u91CC\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}What makes you think she's here?{\\r}\r\nDialogue: 0,1:10:37.63,1:10:39.70,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u522B\u6D6A\u8D39\u65F6\u95F4 \u5C06\u519B\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Don't play games\ - \ with me, general.{\\r}\r\nDialogue: 0,1:10:39.93,1:10:43.94,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u53EA\u8981\u4F60\u4EEC\u80FD\u4FDD\u8BC1\ - \u9732\u6613\u4E1D\u7684\u81EA\u7531 \u6211\u5C31\u6295\u964D{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I'll surrender, but only if you guarantee\ - \ Lois's freedom.{\\r}\r\nDialogue: 0,1:10:54.05,1:10:55.99,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u4E3A\u4EC0\u4E48\u5411\u4F50\u5FB7\ - \u6295\u964D\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Why\ - \ are you surrendering to Zod?{\\r}\r\nDialogue: 0,1:10:57.22,1:11:00.82,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u662F\u5411\u4EBA\u7C7B\u5C48\u670D\ - \ \u8FD9\u5E76\u4E0D\u4E00\u6837{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}I'm surrendering to mankind. There's a difference.{\\r}\r\nDialogue:\ - \ 0,1:11:01.95,1:11:03.90,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4F60\u8BA9\u4ED6\u4EEC\u628A\u4F60\u94D0\u8D77\u6765\u4E86\u5417\ - \uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You let them\ - \ handcuff you?{\\r}\r\nDialogue: 0,1:11:04.62,1:11:07.07,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u8981\u662F\u62B5\u6297 \u5C31\u4E0D\ - \u7B97\u662F\u6295\u964D\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Wouldn't be much of a surrender if I resisted.{\\r}\r\nDialogue: 0,1:11:08.56,1:11:10.60,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5982\u679C\u4ED6\u4EEC\u8FD9\u6837\u505A\ - \u611F\u5230\u5B89\u5168{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}And if it makes them feel more secure...{\\r}\r\nDialogue: 0,1:11:11.66,1:11:13.51,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u4E48 \u5982\u4ED6\u4EEC\u6240\u613F\ - \u5427{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...then all\ - \ the better for it.{\\r}\r\nDialogue: 0,1:11:17.94,1:11:19.81,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}S\u8FD9\u4E2A\u5B57\u6BCD\u6709\u542B\u4E49\ - \u5417\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}What's\ - \ the S stand for?{\\r}\r\nDialogue: 0,1:11:22.74,1:11:24.31,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u4E0D\u662FS{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}It's not an S.{\\r}\r\nDialogue: 0,1:11:25.78,1:11:27.95,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5728\u6211\u7684\u661F\u7403 \u90A3\u4EE3\ - \u8868\u5E0C\u671B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}On\ - \ my world it means hope.{\\r}\r\nDialogue: 0,1:11:29.31,1:11:33.42,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u597D\u5427 \u5728\u5730\u7403\u8FD9\u5C31\ - \u662F\u4E2AS{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Well,\ - \ here, it's an S.{\\r}\r\nDialogue: 0,1:11:34.85,1:11:36.42,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u60F3\u60F3{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}How about...{\\r}\r\nDialogue: 0,1:11:41.99,1:11:43.03,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5148\u751F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Sir?{\\r}\r\nDialogue: 0,1:11:43.29,1:11:46.64,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u55E8 \u6211\u662F\u2026\u535A\u58EB\ - \ - \u57C3\u7C73\u5C14\u2022\u6C49\u5BC6\u5C14\u987F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- Hi, my name is Dr. E... -\ - \ Emil Hamilton.{\\r}\r\nDialogue: 0,1:11:46.86,1:11:49.85,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u77E5\u9053 \u6211\u53EF\u4EE5\u770B\ - \u5230\u4F60\u4E0A\u8863\u53E3\u888B\u91CC\u7684\u8EAB\u4EFD\u5361{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I know, I can see your\ - \ ID tag in your breast pocket.{\\r}\r\nDialogue: 0,1:11:50.10,1:11:52.74,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8FD8\u6709\u4E00\u888B\u5403\u4E86\u4E00\ - \u534A\u7684\u7CD6{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Along\ - \ with a half-eaten roll of Lifesavers.{\\r}\r\nDialogue: 0,1:11:53.30,1:11:55.65,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4E5F\u80FD\u770B\u5230\u9694\u58C1\ - \u623F\u95F4\u7684\u4E00\u961F\u58EB\u5175{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}I can also see the soldiers in the next room...{\\\ - r}\r\nDialogue: 0,1:11:55.87,1:11:58.18,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u8FD8\u6709\u4F60\u7684\u9547\u538B\u7528\u7279\u5DE5\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...preparing that\ - \ tranquilizing agent of yours.{\\r}\r\nDialogue: 0,1:11:58.44,1:11:59.89,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6CA1\u5FC5\u8981\u7684{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You won't need it.{\\r}\r\nDialogue:\ - \ 0,1:12:00.14,1:12:03.18,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u5148\u751F \u6211\u4EEC\u4E0D\u53EF\u80FD\u6BEB\u65E0\u51C6\u5907\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Sir, you can't expect\ - \ us to not take precautions.{\\r}\r\nDialogue: 0,1:12:03.45,1:12:05.86,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u5F88\u53EF\u80FD\u643A\u5E26\u4E86\ - \u5916\u661F\u75C5\u539F\u4F53{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}You could be carrying some kind of alien pathogen.{\\r}\r\nDialogue:\ - \ 0,1:12:06.12,1:12:07.56,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u5DF2\u7ECF\u5728\u8FD9\u91CC\u751F\u6D3B\u4E8633\u5E74\u4E86\ - \ \u535A\u58EB{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Been\ - \ here for 33 years, doctor.{\\r}\r\nDialogue: 0,1:12:07.82,1:12:10.83,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u8FD8\u6CA1\u611F\u67D3\u4EFB\u4F55\u4EBA\ - \ - \u4E00\u9762\u4E4B\u8F9E\u800C\u5DF2{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}- Haven't infected anyone yet. - That you know\ - \ of. {\\r}\r\nDialogue: 0,1:12:10.83,1:12:12.68,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4EEC\u6709\u5B89\u5168\u65B9\u9762\ - \u7684\u8003\u8651{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We\ - \ have legitimate security concerns.{\\r}\r\nDialogue: 0,1:12:12.68,1:12:15.97,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u65E2\u7136\u4F60\u5411\u83B2\u6069\u5C0F\ - \u59D0\u900F\u9732\u4E86\u8EAB\u4EFD{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}You revealed your identity to Miss Lane over there.{\\\ - r}\r\nDialogue: 0,1:12:16.36,1:12:18.57,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4E3A\u4EC0\u4E48\u6CA1\u544A\u8BC9\u6211\u4EEC\uFF1F\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Why won't you do\ - \ the same with us?{\\r}\r\nDialogue: 0,1:12:19.53,1:12:21.87,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4EEC\u628A\u8BDD\u8BF4\u5F00\u4E86\ - \u5427 \u5C06\u519B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Let's\ - \ put our cards on the table here, general.{\\r}\r\nDialogue: 0,1:12:23.33,1:12:25.05,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u4EEC\u6015\u6211\u662F\u56E0\u4E3A\ - \u4F60\u4EEC\u65E0\u6CD5\u63A7\u5236\u6211{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}You're scared because you can't control me.{\\r}\r\ - \nDialogue: 0,1:12:25.64,1:12:28.17,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u73B0\u5728\u4E0D\u80FD \u4EE5\u540E\u4E5F\u4E0D\u80FD\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You don't, and you\ - \ never will.{\\r}\r\nDialogue: 0,1:12:29.01,1:12:30.99,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F46\u90A3\u5E76\u4E0D\u610F\u5473\u7740\ - \u6211\u662F\u654C\u4EBA{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}But that doesn't' mean I'm your enemy.{\\r}\r\nDialogue: 0,1:12:31.21,1:12:32.71,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u8C01\u662F\u654C\u4EBA\uFF1F{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Then who is?{\\r}\r\ - \nDialogue: 0,1:12:32.98,1:12:34.39,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F50\u5FB7\u5417\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Zod?{\\r}\r\nDialogue: 0,1:12:35.01,1:12:36.92,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u6B63\u662F\u62C5\u5FC3\u8FD9\u4E00\ - \u70B9{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}That's what\ - \ I'm worried about.{\\r}\r\nDialogue: 0,1:12:37.01,1:12:38.72,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5C31\u7B97\u662F\u8FD9\u6837{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Be that as it may...{\\r}\r\ - \nDialogue: 0,1:12:38.98,1:12:42.36,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u4E5F\u6536\u5230\u4E86\u547D\u4EE4\u8981\u628A\ - \u4F60\u4EA4\u7ED9\u4ED6{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...I've been given orders to hand you over to him.{\\r}\r\nDialogue:\ - \ 0,1:12:42.99,1:12:44.86,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u505A\u4F60\u5FC5\u987B\u505A\u7684\u5427 \u5C06\u519B{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Do what you have to do, general.{\\\ - r}\r\nDialogue: 0,1:12:49.66,1:12:50.43,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u8C22\u8C22{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Thank you.{\\r}\r\nDialogue: 0,1:12:51.56,1:12:52.54,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8C22\u4EC0\u4E48\uFF1F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}For what?{\\r}\r\nDialogue: 0,1:12:53.70,1:12:55.27,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8C22\u8C22\u4F60\u4FE1\u4EFB\u6211{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}For believing in me.{\\\ - r}\r\nDialogue: 0,1:12:58.34,1:13:00.37,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5230\u6700\u540E\u4E5F\u6CA1\u6539\u53D8\u4EC0\u4E48\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Didn't make much\ - \ difference in the end.{\\r}\r\nDialogue: 0,1:13:01.21,1:13:02.74,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6539\u53D8\u4E86\u6211{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}It did to me.{\\r}\r\nDialogue: 0,1:13:23.36,1:13:24.90,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u4EEC\u6765\u4E86{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}They're coming.{\\r}\r\nDialogue:\ - \ 0,1:13:25.70,1:13:27.20,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4F60\u8BE5\u8D70\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}You should leave now.{\\r}\r\nDialogue: 0,1:13:30.30,1:13:31.87,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5FEB\u8D70 \u9732\u6613\u4E1D{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Go, Lois.{\\r}\r\nDialogue:\ - \ 0,1:14:42.77,1:14:44.15,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u5361\u5C14\u2022\u827E\u5C14{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Kal-El.{\\r}\r\nDialogue: 0,1:14:44.68,1:14:46.71,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u662F\u526F\u6307\u6325\u5B98\u8299\ - \u62C9\u2022\u5965{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I'm\ - \ sub-commander Faora-UI.{\\r}\r\nDialogue: 0,1:14:47.38,1:14:51.26,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4EE3\u8868\u4F50\u5FB7\u5C06\u519B \u5411\ - \u4F60\u95EE\u5019{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}On\ - \ behalf of General Zod, I extend you his greetings.{\\r}\r\nDialogue: 0,1:14:56.69,1:14:59.79,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u4F60\u662F\u6307\u6325\u5B98\u5417\uFF1F\ - \ - \u6211\u662F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}-\ - \ Are you the ranking officer here? - I am.{\\r}\r\nDialogue: 0,1:15:00.02,1:15:04.20,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F50\u5FB7\u5C06\u519B\u5E0C\u671B\u8FD9\ - \u4E2A\u5973\u4EBA\u966A\u6211\u8D70{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}General Zod would like this woman to accompany me.{\\r}\r\ - \nDialogue: 0,1:15:04.83,1:15:06.67,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F60\u8981\u7684\u53EA\u662F\u4F60\u7684\u65CF\u4EBA\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You asked for the\ - \ alien.{\\r}\r\nDialogue: 0,1:15:07.40,1:15:10.35,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u5E76\u6CA1\u6709\u8BF4\u8981\u5E26\ - \u8D70\u6211\u4EEC\u7684\u4EBA{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}You didn't say anything about one of our own.{\\r}\r\nDialogue: 0,1:15:10.57,1:15:13.71,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9700\u8981\u6211\u544A\u8BC9\u5C06\u519B\ - \u4F60\u4E0D\u7B54\u5E94\u5417\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Shall I tell the general you're unwilling to comply?{\\\ - r}\r\nDialogue: 0,1:15:13.97,1:15:15.85,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u4E0D\u5728\u4E4E\u4F60\u600E\u4E48\u544A\u8BC9\ - \u4ED6{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I don't care\ - \ what you tell him.{\\r}\r\nDialogue: 0,1:15:18.84,1:15:20.25,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6CA1\u5173\u7CFB{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}It's all right.{\\r}\r\nDialogue: 0,1:15:21.35,1:15:22.55,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u53BB{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}I'll go.{\\r}\r\nDialogue: 0,1:16:05.39,1:16:09.24,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4EBA\u7C7B\u65E0\u6CD5\u9002\u5E94\u6211\ - \u4EEC\u98DE\u8239\u4E2D\u7684\u5927\u6C14\u6210\u5206{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The atmospheric composition on our\ - \ ship is not compatible with humans.{\\r}\r\nDialogue: 0,1:16:09.46,1:16:10.87,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8FC7\u53BB\u4EE5\u540E \u4F60\u5FC5\u987B\ - \u5E26\u4E0A\u547C\u5438\u5668{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}You need to wear a breather...{\\r}\r\nDialogue: 0,1:16:11.10,1:16:12.77,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E0D\u8981\u9760\u8FD1{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...beyond this point.{\\r}\r\nDialogue:\ - \ 0,1:16:37.92,1:16:38.83,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u5361\u5C14\u2022\u827E\u5C14{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Kal-El.{\\r}\r\nDialogue: 0,1:16:40.79,1:16:42.43,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u90FD\u4E0D\u77E5\u9053{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You have no idea how long...{\\\ - r}\r\nDialogue: 0,1:16:42.66,1:16:44.73,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u4EEC\u627E\u4E86\u4F60\u591A\u4E45{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...we've been searching for\ - \ you.{\\r}\r\nDialogue: 0,1:16:45.16,1:16:46.16,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u60F3\u4F60\u5C31\u662F\u4F50\u5FB7\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I take it you're\ - \ Zod?{\\r}\r\nDialogue: 0,1:16:46.43,1:16:47.57,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u662F\u4F50\u5FB7\u5C06\u519B{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}General Zod.{\\r}\r\nDialogue:\ - \ 0,1:16:47.80,1:16:49.61,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}- \u6211\u4EEC\u7684\u7EDF\u9886 - \u6CA1\u5173\u7CFB \u8299\u62C9\ - \u2022\u5965{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- Our\ - \ commander. - It's all right, Faora.{\\r}\r\nDialogue: 0,1:16:49.83,1:16:52.51,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u539F\u8C05\u5361\u5C14\u7684\u65E0\u793C\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We can forgive Kal\ - \ any lapses in decorum.{\\r}\r\nDialogue: 0,1:16:52.77,1:16:54.68,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u8FD8\u4E0D\u719F\u6089\u6211\u4EEC\ - \u7684\u793C\u4EEA{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}He's\ - \ a stranger to our ways.{\\r}\r\nDialogue: 0,1:16:54.94,1:16:58.40,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4EEC\u5E94\u8BE5\u597D\u597D\u5E86\ - \u795D\u4E00\u4E0B \u800C\u4E0D\u8BE5\u4E89\u5435{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}This should be cause for celebration, not conflict.{\\\ - r}\r\nDialogue: 0,1:16:59.51,1:17:01.68,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u522B\u51B2\u7A81{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Not conflict.{\\r}\r\nDialogue: 0,1:17:04.12,1:17:05.15,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211...{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}I...{\\r}\r\nDialogue: 0,1:17:05.42,1:17:06.62,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u611F\u89C9\u4E0D\u8212\u670D{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...feel strange.{\\r}\r\nDialogue:\ - \ 0,1:17:09.35,1:17:10.66,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u5F88\u865A\u5F31{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Weak.{\\r}\r\nDialogue: 0,1:17:12.86,1:17:14.06,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u600E\u4E48\u4E86\uFF1F{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}What's happening to him?{\\\ - r}\r\nDialogue: 0,1:17:14.26,1:17:16.80,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4ED6\u7684\u8EAB\u4F53\u5BF9\u8239\u4E0A\u7684\u5927\ - \u6C14\u6709\u6392\u65A5{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}He's rejecting our ship's atmospherics.{\\r}\r\nDialogue: 0,1:17:17.03,1:17:17.63,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u514B\u62C9\u514B{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Clark.{\\r}\r\nDialogue: 0,1:17:17.86,1:17:20.54,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u7528\u4E86\u4E00\u8F88\u5B50\u6765\ - \u9002\u5E94\u5730\u7403\u7684\u73AF\u5883{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}You've spent a lifetime adapting to Earth's ecology...{\\\ - r}\r\nDialogue: 0,1:17:20.70,1:17:21.64,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5374\u9002\u5E94\u4E0D\u4E86\u6211\u4EEC\u81EA\u5DF1\ - \u7684{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...but never\ - \ adapted to ours.{\\r}\r\nDialogue: 0,1:17:21.80,1:17:22.83,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5FEB\u5E2E\u5E2E\u4ED6{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Help him.{\\r}\r\nDialogue: 0,1:17:24.87,1:17:27.11,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u514B\u62C9\u514B{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Clark.{\\r}\r\nDialogue: 0,1:17:28.47,1:17:29.78,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5E2E\u5E2E\u4ED6{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Help him.{\\r}\r\nDialogue: 0,1:17:31.54,1:17:32.71,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5FEB\u5E2E\u5E2E\u4ED6{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Help him.{\\r}\r\nDialogue: 0,1:17:44.36,1:17:45.89,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u597D \u5361\u5C14{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Hello, Kal.{\\r}\r\nDialogue: 0,1:17:47.56,1:17:49.63,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8FD8\u662F\u4F60\u66F4\u559C\u6B22\u6211\ - \u53EB\u4F60\u514B\u62C9\u514B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Or do you prefer Clark?{\\r}\r\nDialogue: 0,1:17:50.36,1:17:51.74,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u662F\u4ED6\u4EEC\u7ED9\u4F60\u8D77\ - \u7684\u540D\u5B57{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}That's\ - \ the name they gave you.{\\r}\r\nDialogue: 0,1:17:52.00,1:17:53.30,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E0D\u662F\u5417\uFF1F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Isn't it?{\\r}\r\nDialogue: 0,1:17:54.57,1:17:56.31,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u66FE\u662F\u6C2A\u661F\u7684\u519B\ - \u4E8B\u7EDF\u9886{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I\ - \ was Krypton's military leader...{\\r}\r\nDialogue: 0,1:17:56.53,1:17:58.98,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u800C\u4F60\u7236\u4EB2\u662F\u6211\u4EEC\ - \u7684\u9996\u5E2D\u79D1\u5B66\u5BB6{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}...your father our foremost scientist.{\\r}\r\nDialogue:\ - \ 0,1:17:59.20,1:18:00.65,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u4EEC\u552F\u4E00\u8FBE\u6210\u5171\u8BC6\u7684\u4E00\u70B9\ - \u5C31\u662F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The\ - \ only thing we agreed on...{\\r}\r\nDialogue: 0,1:18:00.87,1:18:02.75,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6C2A\u661F\u5C31\u8981\u6BC1\u706D\u4E86\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...was that Krypton\ - \ was dying. {\\r}\r\nDialogue: 0,1:18:02.75,1:18:06.41,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u62FC\u547D\u4FDD\u62A4\u6211\u4EEC\ - \u7684\u6587\u5316{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}In\ - \ return for my efforts to protect our civilization...{\\r}\r\nDialogue: 0,1:18:06.68,1:18:08.75,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4FDD\u536B\u6211\u4EEC\u7684\u661F\u7403\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...and save our\ - \ planet...{\\r}\r\nDialogue: 0,1:18:09.01,1:18:13.02,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5F97\u5230\u7684\u56DE\u62A5\u5374\u662F\ - \u6211\u4EEC\u90FD\u88AB\u653E\u9010\u5230\u5E7D\u7075\u533A{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...I and my fellow officers were sentenced\ - \ to the Phantom Zone.{\\r}\r\nDialogue: 0,1:18:15.99,1:18:21.30,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u800C\u6211\u4EEC\u661F\u7403\u7684\u6BC1\ - \u706D\u5374\u8BA9\u6211\u4EEC\u91CD\u83B7\u81EA\u7531{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}And then the destruction of our world\ - \ freed us.{\\r}\r\nDialogue: 0,1:18:26.16,1:18:27.92,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4EEC\u56DB\u5904\u6F02\u6CCA{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We were adrift, {\\\ - r}\r\nDialogue: 0,1:18:27.92,1:18:31.85,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6CE8\u5B9A\u6F02\u6D41\u5728\u6211\u4EEC\u661F\u7403\ - \u7684\u6B8B\u9AB8\u4E4B\u4E2D{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}destined to float amongst the ruins of our planet...{\\r}\r\nDialogue:\ - \ 0,1:18:32.07,1:18:33.95,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u76F4\u81F3\u6B7B\u4EA1{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...until we starved.{\\r}\r\nDialogue: 0,1:18:34.84,1:18:36.52,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u4EEC\u662F\u600E\u4E48\u627E\u5230\ - \u5730\u7403\u6765\u7684\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}How did you find your way to Earth?{\\r}\r\nDialogue: 0,1:18:37.21,1:18:41.21,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4EEC\u628A\u5E7D\u7075\u63A8\u8FDB\ - \u5668\u6539\u9020\u6210\u4E86\u9AD8\u901F\u98DE\u884C\u5668{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We managed to retrofit the phantom\ - \ projector into a hyperdrive.{\\r}\r\nDialogue: 0,1:18:41.71,1:18:45.49,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u7236\u4EB2\u4E5F\u662F\u5BF9\u98DE\ - \u8239\u505A\u4E86\u7C7B\u4F3C\u7684\u4FEE\u6539 \u628A\u4F60\u9001\u5230\u4E86\ - \u8FD9\u91CC{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Your\ - \ father made a similar modification to the craft that brought you here.{\\\ - r}\r\nDialogue: 0,1:18:46.92,1:18:50.02,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6240\u4EE5\u56DA\u7981\u6211\u4EEC\u7684\u5DE5\u5177\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}And so the instrument\ - \ of our damnation...{\\r}\r\nDialogue: 0,1:18:52.06,1:18:53.87,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u540C\u65F6\u4E5F\u62EF\u6551\u4E86\u6211\ - \u4EEC{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...became\ - \ our salvation.{\\r}\r\nDialogue: 0,1:18:58.80,1:19:01.30,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4EEC\u627E\u904D\u4E86\u65E7\u6B96\ - \u6C11\u5730\u7684\u524D\u54E8\u7AD9{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}We sought out the old colonial outposts...{\\r}\r\nDialogue:\ - \ 0,1:19:01.57,1:19:03.77,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u60F3\u8981\u5BFB\u627E\u751F\u547D\u7684\u8FF9\u8C61{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...looking for signs of life.{\\\ - r}\r\nDialogue: 0,1:19:06.24,1:19:09.05,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F46\u627E\u5230\u7684\u53EA\u6709\u6B7B\u4EA1{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}But all we found was death.{\\\ - r}\r\nDialogue: 0,1:19:10.04,1:19:12.61,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u8FD9\u4E9B\u524D\u54E8\u7AD9\u65E9\u548C\u6C2A\u661F\ - \u5931\u53BB\u8054\u7EDC{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Cut off from Krypton, these outposts...{\\r}\r\nDialogue: 0,1:19:12.88,1:19:15.08,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4EE5\u540E\u5C31\u5E9F\u5F03\u4E86{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...withered and died\ - \ long ago.{\\r}\r\nDialogue: 0,1:19:15.58,1:19:17.56,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4EEC\u628A\u80FD\u7528\u7684\u90FD\ - \u5E26\u8D70\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We\ - \ salvaged what we could...{\\r}\r\nDialogue: 0,1:19:17.78,1:19:19.49,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u76D4\u7532 \u6B66\u5668{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...armor, weapons...{\\r}\r\nDialogue:\ - \ 0,1:19:19.75,1:19:21.66,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u8FD8\u6709\u4E00\u4E2A\u4E16\u754C\u5F15\u64CE{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...even a world engine.{\\r}\r\nDialogue:\ - \ 0,1:19:23.42,1:19:25.30,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u4EEC\u51C6\u5907\u4E8633\u5E74{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}For 33 years we prepared...{\\r}\r\nDialogue: 0,1:19:26.79,1:19:29.57,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u76F4\u5230\u6211\u4EEC\u4FA6\u6D4B\u5230\ - \u4E00\u4E2A\u6C42\u6551\u4FE1\u53F7{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}...until finally we detected a distress beacon...{\\r}\r\ - \nDialogue: 0,1:19:29.79,1:19:34.50,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u662F\u4F60\u5728\u8001\u4FA6\u5BDF\u673A\u91CC\u53D1\ - \u51FA\u7684{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...which\ - \ you triggered when you accessed the ancient scout ship.{\\r}\r\nDialogue:\ - \ 0,1:19:35.47,1:19:38.00,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u662F\u4F60\u628A\u6211\u4EEC\u5E26\u5230\u8FD9\u91CC\u7684 \u5361\ - \u5C14{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You led us\ - \ here, Kal.{\\r}\r\nDialogue: 0,1:19:39.14,1:19:44.70,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u73B0\u5728\u4F60\u6709\u80FD\u529B\u62EF\ - \u6551\u6211\u4EEC\u7684\u79CD\u65CF{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Now it's within your power to save what remains of your\ - \ race.{\\r}\r\nDialogue: 0,1:19:49.11,1:19:50.35,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5728\u6C2A\u661F\u4E0A{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}On Krypton...{\\r}\r\nDialogue: 0,1:19:50.61,1:19:53.25,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6240\u6709\u672A\u51FA\u751F\u5B69\u5B50\ - \u7684\u9057\u4F20\u57FA\u56E0{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...the genetic template for every being yet to be born...{\\r}\r\nDialogue:\ - \ 0,1:19:53.48,1:19:56.02,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u90FD\u88AB\u7F16\u5199\u5728\u516C\u6C11\u6863\u6848\u91CC{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...is encoded in the registry\ - \ of citizens.{\\r}\r\nDialogue: 0,1:19:56.69,1:19:58.83,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u7236\u4EB2\u5077\u8D70\u4E86\u6863\ - \u6848\u7684\u5BC6\u5178{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Your father stole the registry's Codex...{\\r}\r\nDialogue: 0,1:19:59.09,1:20:01.93,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u85CF\u5728\u4E86\u5E26\u4F60\u6765\u7684\ - \u592A\u7A7A\u8231\u91CC{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...and stored it in the capsule that brought you here.{\\r}\r\nDialogue:\ - \ 0,1:20:02.63,1:20:03.47,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4E3A\u4EC0\u4E48\u5462\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}For what purpose?{\\r}\r\nDialogue: 0,1:20:04.53,1:20:09.90,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8FD9\u6837\u6C2A\u661F\u5C31\u80FD\u5728\ - \u5730\u7403\u4E0A\u91CD\u751F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}So that Krypton can live again on Earth.{\\r}\r\nDialogue: 0,1:20:29.52,1:20:31.63,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5BC6\u5178\u5728\u54EA\u91CC \u5361\u5C14\ - \uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Where is the\ - \ Codex, Kal?{\\r}\r\nDialogue: 0,1:20:33.29,1:20:35.13,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5982\u679C\u6C2A\u661F\u91CD\u751F{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}If Krypton lives again...{\\\ - r}\r\nDialogue: 0,1:20:36.29,1:20:37.67,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5730\u7403\u4F1A\u600E\u4E48\u6837\uFF1F{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...what happens to Earth?{\\\ - r}\r\nDialogue: 0,1:20:38.70,1:20:42.20,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u91CD\u751F\u603B\u9700\u8981\u5EFA\u7ACB\u5728\u6BC1\ - \u706D\u4E4B\u4E0A{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The\ - \ foundation has to be built on something.{\\r}\r\nDialogue: 0,1:20:42.47,1:20:45.24,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8FDE\u4F60\u7236\u4EB2\u90FD\u77E5\u9053\ - \u8FD9\u4E00\u70B9{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Even\ - \ your father recognized that.{\\r}\r\nDialogue: 0,1:20:51.71,1:20:54.02,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E0D \u4F50\u5FB7{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}No, Zod.{\\r}\r\nDialogue: 0,1:20:55.18,1:20:56.79,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4E0D\u4F1A\u5E2E\u4F60\u7684{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I can't be a part of\ - \ this.{\\r}\r\nDialogue: 0,1:20:57.21,1:20:58.92,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u4E48\u4F60\u4F1A\u5E2E\u8C01\u5462\ - \uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Then what\ - \ can you be a part of?{\\r}\r\nDialogue: 0,1:20:59.52,1:21:00.72,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E0D{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}No!{\\r}\r\nDialogue: 0,1:21:01.92,1:21:02.52,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F50\u5FB7{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Zod!{\\r}\r\nDialogue: 0,1:21:04.02,1:21:04.73,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E0D{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}No!{\\r}\r\nDialogue: 0,1:21:05.89,1:21:07.53,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E0D{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}No!{\\r}\r\nDialogue: 0,1:21:13.56,1:21:17.00,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u7684\u7236\u4EB2\u4E3A\u8363\u8A89\ - \u732E\u51FA\u4E86\u81EA\u5DF1{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Your father acquitted himself with honor, Kal.{\\r}\r\nDialogue: 0,1:21:19.84,1:21:21.78,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u662F\u4F60\u6740\u4E86\u4ED6\uFF1F{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You killed him?{\\\ - r}\r\nDialogue: 0,1:21:22.17,1:21:23.52,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u662F\u7684{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}I did.{\\r}\r\nDialogue: 0,1:21:24.11,1:21:27.52,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u6C38\u8FDC\u90FD\u6446\u8131\u4E0D\ - \u4E86\u8FD9\u4EF6\u4E8B\u7684\u9634\u5F71{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}And not a day goes by where it doesn't haunt me.{\\\ - r}\r\nDialogue: 0,1:21:28.88,1:21:31.22,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F46\u5982\u679C\u91CD\u6765\u4E00\u6B21 \u6211\u8FD8\ - \u662F\u4F1A\u8FD9\u4E48\u505A{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}But if I had to do it again, I would.{\\r}\r\nDialogue: 0,1:21:31.45,1:21:34.92,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u8981\u5BF9\u6211\u7684\u4EBA\u6C11\ - \u8D1F\u8D23{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I have\ - \ a duty to my people...{\\r}\r\nDialogue: 0,1:21:35.19,1:21:39.59,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4E0D\u4F1A\u8BA9\u4EFB\u4F55\u4EBA\ - \u963B\u6B62\u6211{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...and\ - \ I will not allow anyone to prevent me from carrying it out.{\\r}\r\nDialogue:\ - \ 0,1:21:55.64,1:21:57.28,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u90A3\u662F\u4EC0\u4E48 \u5C11\u6821\uFF1F{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}What's the sit-rep, major?{\\r}\r\nDialogue:\ - \ 0,1:21:57.91,1:22:00.29,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4FA6\u6D4B\u5230\u4E24\u67B6\u654C\u673A\u4ECE\u5916\u661F\u98DE\ - \u8239\u4E2D\u53D1\u5C04{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}DSP pinged two bogeys launching from the alien ship.{\\r}\r\nDialogue:\ - \ 0,1:22:00.54,1:22:02.65,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}- \u8367\u5E55\u663E\u793A - \u597D\u7684 \u957F\u5B98{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- Put it up. - Yes, sir.{\\\ - r}\r\nDialogue: 0,1:22:03.08,1:22:04.15,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5C31\u662F\u8FD9\u4E2A{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}There it is.{\\r}\r\nDialogue: 0,1:22:04.42,1:22:05.22,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u63A5\u65E0\u7EBF\u75354\u53F7{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Re-task IKon-4...{\\r}\r\n\ - Dialogue: 0,1:22:05.45,1:22:07.90,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}- \u518D\u62C9\u8FD1\u70B9 - \u597D\u7684{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- ...and get me a closer look. \ - \ - Yes, sir.{\\r}\r\nDialogue: 0,1:22:08.22,1:22:09.39,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6307\u6325\u90E8{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Command, the word...{\\r}\r\nDialogue:\ - \ 0,1:22:09.39,1:22:10.56,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4ECA\u5929\u7684\u6697\u53F7\u662F\u4E09\u53C9\u621F{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...of the day is trident.{\\\ - r}\r\nDialogue: 0,1:22:10.79,1:22:12.89,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6709\u4E24\u67B6\u5916\u661F\u98DE\u8239\u6B63\u5728\ - \u63A5\u8FD1{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We have\ - \ two alien craft on aggressive approach.{\\r}\r\nDialogue: 0,1:22:13.12,1:22:14.76,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u65E0\u7EBF\u75354\u53F7\u5DF2\u63A5\u901A\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Ikon-4 coming online.{\\\ - r}\r\nDialogue: 0,1:22:14.99,1:22:15.80,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u901F\u5EA6\u6709\u591A\u5FEB\uFF1F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Air speed?{\\r}\r\nDialogue: 0,1:22:16.06,1:22:17.58,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}380\u6D77\u91CC \u6B63\u5728\u8FDB\u5165\ - \u582A\u8428\u65AF\u5DDE\u4E0A\u7A7A{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}380 knots, entering Kansas...{\\r}\r\nDialogue: 0,1:22:17.73,1:22:19.73,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u4EEC\u4E0D\u56DE\u5E94\u6211\u4EEC\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...airspace. Not\ - \ responding to our hails.{\\r}\r\nDialogue: 0,1:22:19.96,1:22:22.17,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u4E0D\u8981\u6D6A\u8D39\u4F53\u529B\ - \u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You're wasting\ - \ your efforts.{\\r}\r\nDialogue: 0,1:22:23.10,1:22:25.44,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u4ECE\u5730\u7403\u7684\u592A\u9633\ - \u5F97\u5230\u7684\u529B\u91CF{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}The strength you derived from the Earth's sun...{\\r}\r\nDialogue: 0,1:22:25.67,1:22:27.77,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5728\u6211\u4EEC\u7684\u8239\u4E0A\u5B8C\ - \u5168\u6CA1\u6709\u7528{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...has been neutralized aboard our ship.{\\r}\r\nDialogue: 0,1:22:28.44,1:22:29.58,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5728\u8FD9\u91CC{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Here...{\\r}\r\nDialogue: 0,1:22:29.81,1:22:31.41,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8FD9\u6837\u7684\u73AF\u5883\u4E0B{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...in this environment...{\\\ - r}\r\nDialogue: 0,1:22:32.18,1:22:33.66,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F60\u5C31\u8DDF\u4EBA\u7C7B\u4E00\u6837\u8106\u5F31\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...you are as weak\ - \ as a human.{\\r}\r\nDialogue: 0,1:23:32.20,1:23:34.05,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u4ECE\u54EA\u5192\u51FA\u6765\u7684\ - \uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Where did\ - \ you come from?{\\r}\r\nDialogue: 0,1:23:34.57,1:23:36.02,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E3B\u63A7\u94A5\u5319\u91CC \u83B2\u6069\ - \u5C0F\u59D0{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The\ - \ command key, Miss Lane.{\\r}\r\nDialogue: 0,1:23:36.24,1:23:39.39,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u591A\u4E8F\u4E86\u4F60 \u6211\u6B63\u5728\ - \u88AB\u4E0A\u4F20\u5230\u8FD9\u8258\u8239\u7684\u4E3B\u7A0B\u5E8F\u91CC{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Thanks to you, I'm\ - \ uploading to the ship's mainframe.{\\r}\r\nDialogue: 0,1:23:39.91,1:23:40.89,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u662F\u8C01\uFF1F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Who are you?{\\r}\r\nDialogue: 0,1:23:41.85,1:23:43.15,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u662F\u5361\u5C14\u7684\u7236\u4EB2\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I am Kai's father.{\\\ - r}\r\nDialogue: 0,1:23:44.82,1:23:45.96,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F60\u80FD\u5E2E\u6211\u4EEC\u5417\uFF1F{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Can you help us?{\\r}\r\nDialogue:\ - \ 0,1:23:47.52,1:23:49.36,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u8FD9\u8258\u8239\u662F\u6211\u8BBE\u8BA1\u7684{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I designed this ship.{\\r}\r\nDialogue:\ - \ 0,1:23:49.59,1:23:51.76,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u80FD\u6539\u9020\u5B83\u7684\u5927\u6C14\u7ED3\u6784{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I can modify its atmospheric\ - \ composition...{\\r}\r\nDialogue: 0,1:23:52.02,1:23:53.76,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F7F\u4EBA\u7C7B\u9002\u5E94{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...to human compatibility.{\\\ - r}\r\nDialogue: 0,1:23:54.02,1:23:54.87,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u4EEC\u80FD\u963B\u6B62\u4ED6\u4EEC{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We can stop them.{\\r}\r\n\ - Dialogue: 0,1:23:55.09,1:23:57.57,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u6211\u4EEC\u80FD\u628A\u4ED6\u4EEC\u9001\u56DE\u5E7D\u7075\ - \u533A{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We can send\ - \ them back to the Phantom Zone.{\\r}\r\nDialogue: 0,1:23:58.53,1:23:59.17,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u600E\u4E48\u505A\uFF1F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}How?{\\r}\r\nDialogue: 0,1:23:59.40,1:24:00.93,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u6765\u6559\u4F60{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I can teach you.{\\r}\r\nDialogue:\ - \ 0,1:24:01.20,1:24:03.01,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u7136\u540E\u4F60\u518D\u6559\u7ED9\u5361\u5C14{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}And in turn, you can teach Kal.{\\\ - r}\r\nDialogue: 0,1:24:03.23,1:24:04.94,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F60\u4F1A\u5E2E\u6211\u5417\uFF1F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Will you help me?{\\r}\r\nDialogue:\ - \ 0,1:24:18.78,1:24:20.22,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u8239\u4E0A\u7684\u8B66\u62A5\u54CD\u4E86{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}The ship's crew are alerted.{\\r}\r\n\ - Dialogue: 0,1:24:20.35,1:24:21.39,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u6211\u4EEC\u5F97\u5FEB\u70B9{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}We need to move quickly.{\\r}\r\nDialogue: 0,1:24:21.62,1:24:23.29,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u628A\u4E3B\u63A7\u94A5\u5319\u62FF\u4E0A\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Retrieve the command\ - \ key.{\\r}\r\nDialogue: 0,1:24:30.93,1:24:33.97,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u662F\u4F60\u505A\u7684\u5417\uFF1F -\ - \ \u662F\u7684 \u628A\u5979\u7684\u6B66\u5668\u62FF\u4E0A{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- Did you do that? - Yes. Pick\ - \ up her sidearm.{\\r}\r\nDialogue: 0,1:24:43.37,1:24:44.75,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u53D1\u751F\u4E86\u4EC0\u4E48\uFF1F{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}What's happening?{\\\ - r}\r\nDialogue: 0,1:25:05.73,1:25:06.40,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u53F3\u8FB9{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}To your right.{\\r}\r\nDialogue: 0,1:25:06.63,1:25:07.27,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5F00\u706B{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Fire.{\\r}\r\nDialogue: 0,1:25:08.83,1:25:09.57,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u540E\u9762{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Behind you.{\\r}\r\nDialogue: 0,1:25:23.08,1:25:25.12,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5B89\u5168\u5F85\u5728\u6551\u751F\u8231\ - \u91CC{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Secure yourself\ - \ inside the open pod.{\\r}\r\nDialogue: 0,1:25:26.15,1:25:28.43,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u65C5\u9014\u5E73\u5B89 \u83B2\u6069\u5C0F\ - \u59D0{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Safe travels,\ - \ Miss Lane. It's unlikely...{\\r}\r\nDialogue: 0,1:25:28.65,1:25:30.26,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4EEC\u5E94\u8BE5\u4E0D\u53EF\u80FD\ - \u518D\u89C1\u9762\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...we'll see each other again.{\\r}\r\nDialogue: 0,1:25:31.82,1:25:34.93,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8BB0\u4F4F \u5E7D\u7075\u5F15\u64CE\u662F\ - \u963B\u6B62\u4ED6\u4EEC\u7684\u5173\u952E{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Remember, the phantom drives are essential in stopping\ - \ them.{\\r}\r\nDialogue: 0,1:25:35.79,1:25:37.03,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u628A\u5934\u504F\u5411\u5DE6\u8FB9{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Move your head to the\ - \ left.{\\r}\r\nDialogue: 0,1:26:04.62,1:26:07.23,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F50\u5FB7\u8BF4\u7684\u5173\u4E8E\u5BC6\ - \u5178\u7684\u4E8B\u662F\u771F\u7684\u5417\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Is it true what Zod said about the Codex?{\\r}\r\n\ - Dialogue: 0,1:26:07.66,1:26:09.04,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u628A\u8239\u58C1\u6253\u7834{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Strike that panel.{\\r}\r\nDialogue: 0,1:26:12.70,1:26:16.80,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4EEC\u60F3\u8981\u4F60\u5B66\u4E60\ - \u4EBA\u7C7B\u6700\u91CD\u8981\u7684\u662F\u4EC0\u4E48{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We wanted you to learn what it meant\ - \ to be human first...{\\r}\r\nDialogue: 0,1:26:16.87,1:26:18.90,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6240\u4EE5\u5982\u679C\u6709\u4E00\u5929\ - \ \u65F6\u673A\u6210\u719F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...so that one day, when the time was right, {\\r}\r\nDialogue: 0,1:26:18.90,1:26:22.51,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u4F1A\u6210\u4E3A\u4E24\u4E2A\u79CD\ - \u65CF\u6C9F\u901A\u7684\u6865\u6881{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}you could be the bridge between two peoples.{\\r}\r\nDialogue:\ - \ 0,1:26:25.24,1:26:26.02,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u770B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Look.{\\\ - r}\r\nDialogue: 0,1:26:29.18,1:26:30.42,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u9732\u6613\u4E1D{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Lois.{\\r}\r\nDialogue: 0,1:26:31.01,1:26:32.05,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u80FD\u6551\u5979 \u5361\u5C14{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You can save her, Kal.{\\\ - r}\r\nDialogue: 0,1:26:35.19,1:26:37.06,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F60\u80FD\u62EF\u6551\u6240\u6709\u4EBA{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You can save all of them.{\\\ - r}\r\nDialogue: 0,1:27:55.97,1:27:57.50,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F60\u5B89\u5168\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}You'll be safe here.{\\r}\r\nDialogue: 0,1:27:59.84,1:28:02.41,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u4F60\u6CA1\u4E8B\u5427\uFF1F - \u6CA1\ - \u4E8B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- Are you\ - \ all right? - Yeah.{\\r}\r\nDialogue: 0,1:28:05.64,1:28:07.12,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5BF9\u4E0D\u8D77{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}I'm sorry.{\\r}\r\nDialogue: 0,1:28:07.84,1:28:10.83,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4E0D\u662F\u6545\u610F\u544A\u8BC9\ - \u4ED6\u4EEC\u4F60\u7684\u4E8B \u4ED6\u4EEC\u5BF9\u6211\u52A8\u4E86\u624B\u811A\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I didn't wanna tell\ - \ them anything, but they did something to me.{\\r}\r\nDialogue: 0,1:28:11.08,1:28:13.25,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u4ED6\u4EEC\u770B\u7A7F\u4E86\u6211\u7684\ - \u5FC3\u601D - \u6CA1\u5173\u7CFB \u9732\u6613\u4E1D{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- They looked inside my mind... \ - \ - It's okay, Lois.{\\r}\r\nDialogue: 0,1:28:13.48,1:28:15.26,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u4EEC\u4E5F\u5BF9\u6211\u505A\u4E86\ - \u540C\u6837\u7684\u4E8B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}They did the same thing to me.{\\r}\r\nDialogue: 0,1:28:28.33,1:28:29.67,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u514B\u62C9\u514B{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Clark!{\\r}\r\nDialogue: 0,1:28:38.68,1:28:40.45,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5E26\u4ED6\u6765\u7684\u90A3\u8258\u8239\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The craft he arrived\ - \ in...{\\r}\r\nDialogue: 0,1:28:40.98,1:28:42.15,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5B83\u5728\u54EA\u91CC\uFF1F{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...where is it?{\\r}\r\nDialogue:\ - \ 0,1:28:44.05,1:28:45.22,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u53BB\u6B7B\u5427{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Go to hell.{\\r}\r\nDialogue: 0,1:28:56.53,1:28:57.50,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5728\u90A3\u8FB9{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}There.{\\r}\r\nDialogue: 0,1:29:20.52,1:29:22.66,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5BC6\u5178\u4E0D\u5728\u8FD9\u91CC{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The Codex is not here.{\\\ - r}\r\nDialogue: 0,1:29:29.39,1:29:30.51,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4ED6\u85CF\u5728\u54EA\u4E86\uFF1F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Where has he hidden it?{\\r}\r\nDialogue:\ - \ 0,1:29:30.69,1:29:31.33,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u4E0D\u77E5\u9053{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}I don't know.{\\r}\r\nDialogue: 0,1:29:31.56,1:29:32.67,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5BC6\u5178\u5728\u54EA\u91CC\uFF1F{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Where is the Codex?!{\\\ - r}\r\nDialogue: 0,1:29:48.68,1:29:50.62,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F60\u5C45\u7136\u6562\u5A01\u80C1\u6211\u5988\u5988\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You think you can\ - \ threaten my mother?!{\\r}\r\nDialogue: 0,1:30:32.42,1:30:33.90,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u5BF9\u6211\u505A\u4E86\u4EC0\u4E48\ - \uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}What have\ - \ you done to me?{\\r}\r\nDialogue: 0,1:30:34.12,1:30:38.50,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u7236\u6BCD\u6559\u6211\u8981\u78E8\ - \u7EC3\u6211\u7684\u611F\u5B98 \u4F50\u5FB7{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}My parents taught me to hone my senses, Zod.{\\r}\r\ - \nDialogue: 0,1:30:39.96,1:30:41.57,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4E13\u6CE8{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Focus...{\\r}\r\nDialogue: 0,1:30:42.13,1:30:43.84,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5728\u81EA\u5DF1\u60F3\u770B\u7684\u4E1C\ - \u897F\u4E0A{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...on\ - \ just what I wanted to see.{\\r}\r\nDialogue: 0,1:30:44.10,1:30:45.14,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u6CA1\u4E86\u5934\u76D4{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Without your helmet...{\\r}\r\ - \nDialogue: 0,1:30:45.40,1:30:46.97,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u53EF\u4EE5\u611F\u53D7\u5230\u66F4\u591A\u4E1C\u897F\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...you're getting\ - \ everything.{\\r}\r\nDialogue: 0,1:30:48.24,1:30:49.65,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5F88\u96BE\u53D7{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}And it hurts...{\\r}\r\nDialogue: 0,1:30:50.24,1:30:51.62,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u662F\u5427\uFF1F{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}...doesn't it?{\\r}\r\nDialogue: 0,1:31:36.45,1:31:37.73,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u522B\u7AD9\u5728\u7A97\u6237\u8FB9\u4E0A\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Get away from the\ - \ window.{\\r}\r\nDialogue: 0,1:31:40.69,1:31:42.90,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90FD\u8FDB\u53BB \u8FD9\u91CC\u4E0D\u5B89\ - \u5168{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Get inside.\ - \ It's not safe.{\\r}\r\nDialogue: 0,1:31:47.83,1:31:50.71,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5168\u4F53\u542C\u547D \u8FD9\u91CC\u662F\ - \u5B88\u62A4\u8005 \u6211\u662F\u7A7A\u4E2D\u6307\u6325\u5B98{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}All players, this is Guardian. I am\ - \ airborne mission commander.{\\r}\r\nDialogue: 0,1:31:50.97,1:31:53.00,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5DF2\u7ECF\u4E8B\u5148\u63A5\u89E6\ - \u8FC7\u5E76\u89C2\u5BDF\u8FC7{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}I have previously encountered and observed...{\\r}\r\nDialogue: 0,1:31:53.24,1:31:55.38,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4EEC\u5C06\u8981\u63A5\u8FD1\u7684\ - \u76EE\u6807{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...the\ - \ beings we're about to engage.{\\r}\r\nDialogue: 0,1:31:55.64,1:31:58.35,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u4EEC\u975E\u5E38\u5371\u9669 \u6211\ - \u4EEC\u53EF\u4EE5...{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}They are extremely dangerous and we have been authorized...{\\r}\r\n\ - Dialogue: 0,1:31:58.58,1:32:00.08,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u4F7F\u7528\u81F4\u547D\u6B66\u5668{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}...to use deadly force.{\\r}\r\nDialogue:\ - \ 0,1:32:02.05,1:32:04.09,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6536\u5230 \u5B88\u62A4\u8005 \u6211\u4EEC\u6B63\u63A5\u8FD1\u76EE\ - \u6807{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Roger, Guardian,\ - \ we are inbound to target.{\\r}\r\nDialogue: 0,1:32:09.69,1:32:11.15,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5F00\u706B{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Cleared hot. Weapons free.{\\r}\r\nDialogue: 0,1:32:11.15,1:32:12.76,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}11\u53F7 \u5F00\u706B{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Copy, 11. Weapons free.{\\r}\r\nDialogue:\ - \ 0,1:32:15.56,1:32:16.44,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u8FD9\u91CC\u662F\u96F7\u753511\u53F7{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Thunder 11...{\\r}\r\nDialogue: 0,1:32:16.56,1:32:17.59,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9501\u5B9A\u4E09\u4E2A\u76EE\u6807{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...tally three targets.{\\\ - r}\r\nDialogue: 0,1:32:35.21,1:32:36.02,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u96F7\u753511\u53F7{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Thunder 11...{\\r}\r\nDialogue: 0,1:32:36.25,1:32:38.69,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5E72\u5F97\u6F02\u4EAE \u8BF7\u6C42\u7ACB\ - \u5373\u518D\u6B21\u653B\u51FB{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...good hit. Request immediate re-attack.{\\r}\r\nDialogue: 0,1:32:38.92,1:32:41.12,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6536\u5230 \u5B88\u62A4\u8005 \u51C6\u5907\ - \u4E8C\u6B21\u653B\u51FB{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Roger, Guardian. We'll make a second gun run...{\\r}\r\nDialogue: 0,1:32:41.28,1:32:43.39,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u822A\u5411212\u5EA6{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...on a heading of 212 degrees.{\\\ - r}\r\nDialogue: 0,1:32:50.39,1:32:51.47,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u96F7\u753511\u53F7 \u5FEB\u5F39\u51FA\u9003\u751F{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Thunder 11, eject!{\\\ - r}\r\nDialogue: 0,1:32:51.59,1:32:52.97,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5FEB\u5F39\u51FA\u9003\u751F{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Eject!{\\r}\r\nDialogue: 0,1:32:53.30,1:32:54.93,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u96F7\u753511\u53F7 \u5FEB\u5F39\u51FA\u9003\ - \u751F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Thunder 11,\ - \ eject!{\\r}\r\nDialogue: 0,1:33:05.08,1:33:06.65,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6709\u654C\u4EBA\u5411\u6211\u51B2\u6765\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I have a bogey incoming!{\\\ - r}\r\nDialogue: 0,1:33:07.48,1:33:08.92,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u8BE5\u6B7B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Oh, shit.{\\r}\r\nDialogue: 0,1:33:27.10,1:33:27.97,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u592A\u5F31\u4E86{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You are weak...{\\r}\r\nDialogue:\ - \ 0,1:33:28.23,1:33:29.34,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u827E\u5C14\u4E4B\u5B50{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...son of El.{\\r}\r\nDialogue: 0,1:33:29.60,1:33:30.74,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5BF9\u81EA\u5DF1\u6CA1\u4FE1\u5FC3{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Unsure of yourself.{\\\ - r}\r\nDialogue: 0,1:33:35.97,1:33:38.95,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u4EEC\u5E76\u4E0D\u50CF\u4F60{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The fact that you possess a sense\ - \ of morality...{\\r}\r\nDialogue: 0,1:33:39.18,1:33:40.95,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u53D7\u9053\u5FB7\u51C6\u5219\u7684\u675F\ - \u7F1A{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...and we\ - \ do not...{\\r}\r\nDialogue: 0,1:33:41.18,1:33:43.75,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u800C\u8FD9\u6B63\u662F\u6211\u4EEC\u8FDB\ - \u5316\u7684\u4F18\u52BF{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...gives us an evolutionary advantage.{\\r}\r\nDialogue: 0,1:33:47.25,1:33:49.75,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5982\u679C\u8BF4\u5386\u53F2\u8BC1\u660E\ - \u4E86\u4EC0\u4E48{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}And\ - \ if history has proven anything...{\\r}\r\nDialogue: 0,1:33:59.63,1:34:03.20,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u5C31\u662F\u8FDB\u5316\u8005\u6C38\ - \u8FDC\u66F4\u5F3A\u5927{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...it is that evolution always wins.{\\r}\r\nDialogue: 0,1:34:24.52,1:34:26.02,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4EEC\u6765\u4E86{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}CCT, we're approaching...{\\r}\r\n\ - Dialogue: 0,1:34:26.29,1:34:28.13,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u7740\u9646 \u5168\u529B\u4E0B\u964D{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}...LZ Jayhawk. Get down in five.{\\r}\r\ - \nDialogue: 0,1:34:28.36,1:34:30.20,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u8D70\u5427 \u524D\u8FDB{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Let's go. Go to the LZ.{\\r}\r\nDialogue: 0,1:34:30.99,1:34:32.32,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6536\u5230 \u4E2D\u58EB \u51FA\u53D1{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Roger, sarge. let's\ - \ go!{\\r}\r\nDialogue: 0,1:35:09.77,1:35:11.09,chs,,0000,0000,0000,,{\\fn\u534E\ - \u6587\u6977\u4F53\\blur3}\u516C\u725B\u6D41\u6D6A\u8005\u53F7{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}All rangers, I need you...{\\\ - r}\r\nDialogue: 0,1:35:11.33,1:35:12.51,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u7784\u51C6\u6240\u6709\u76EE\u6807{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...to engage the targets.{\\r}\r\n\ - Dialogue: 0,1:35:13.00,1:35:14.12,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u5B88\u62A4\u8005 \u8FD9\u91CC\u662F\u4E00\u53F7\u6218\u573A\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Guardian, this is\ - \ Badger 01.{\\r}\r\nDialogue: 0,1:35:14.34,1:35:15.61,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u4E2A\u7A7F\u84DD\u8863\u670D\u7684\ - \u5BB6\u4F19\u600E\u4E48\u529E\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}What about the guy in blue?{\\r}\r\nDialogue: 0,1:35:15.87,1:35:16.91,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u8BF4\u4E86{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}I said engage...{\\r}\r\nDialogue: 0,1:35:17.17,1:35:18.35,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u653B\u51FB\u6240\u6709\u76EE\u6807{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...all targets.{\\\ - r}\r\nDialogue: 0,1:35:29.52,1:35:30.56,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6218\u6597 \u6218\u6597{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Contact. Contact.{\\r}\r\nDialogue: 0,1:35:40.73,1:35:41.57,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u6CA1\u4E8B\u5427\uFF1F{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You okay?{\\r}\r\nDialogue:\ - \ 0,1:35:47.30,1:35:49.41,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u4EEC\u88AB\u51FB\u4E2D\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}We're auto-rotating, going in hard.{\\r}\r\nDialogue:\ - \ 0,1:35:50.14,1:35:51.31,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u4EEC\u53D7\u5230\u4E86\u649E\u51FB{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Brace for impact.{\\r}\r\nDialogue: 0,1:35:52.11,1:35:53.25,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4EEC\u53D7\u649E\u51FB{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Brace for impact.{\\r}\r\n\ - Dialogue: 0,1:35:53.48,1:35:54.45,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u6B63\u5728\u5760\u843D{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}We're going in hard!{\\r}\r\nDialogue: 0,1:35:59.55,1:36:03.55,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5B88\u62A4\u8005\u5DF2\u5760\u6BC1 \u91CD\ - \u590D\u4E00\u6B21 \u5B88\u62A4\u8005\u5DF2\u5760\u6BC1{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Fallen angel. Fallen angel. Guardian\ - \ is down. I repeat, Guardian is down.{\\r}\r\nDialogue: 0,1:36:25.48,1:36:26.98,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5B88\u62A4\u8005 \u542C\u5230\u8BF7\u56DE\ - \u7B54{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Guardian,\ - \ do you read?{\\r}\r\nDialogue: 0,1:36:27.24,1:36:28.59,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u96F7\u753512\u53F7\u547C\u53EB\u5B88\u62A4\ - \u8005{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Thunder 12,\ - \ calling Guardian.{\\r}\r\nDialogue: 0,1:36:28.81,1:36:30.15,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u80FD\u6536\u5230\u5417\uFF1F - \u96F7\ - \u753512\u53F7{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}-\ - \ Do you read? - Thunder 12...{\\r}\r\nDialogue: 0,1:36:30.41,1:36:31.32,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8FD9\u91CC\u662F\u5B88\u62A4\u8005{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...this is Guardian.{\\\ - r}\r\nDialogue: 0,1:36:31.58,1:36:33.96,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u706B\u529B\u5168\u90E8\u5BF9\u51C6\u8FD9\u91CC \u4E0D\ - \u7528\u7BA1\u6211\u4EEC{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Put down everything you've got north of my position.{\\r}\r\nDialogue:\ - \ 0,1:36:34.18,1:36:36.36,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}- \u8FD9\u91CC\u662F\u5371\u9669\u533A\u57DF - \u6536\u5230 \u5371\ - \u9669\u533A\u57DF{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}-\ - \ This will be danger-close. - Copy, danger-close.{\\r}\r\nDialogue:\ - \ 0,1:36:36.62,1:36:37.86,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u795D\u4F60\u597D\u8FD0 \u957F\u5B98{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Good luck, sir.{\\r}\r\nDialogue: 0,1:37:17.73,1:37:20.57,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6B7B\u5F97\u5149\u8363\u5C31\u662F\u6B7B\ - \u5F97\u5176\u6240{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}A\ - \ good death is its own reward.{\\r}\r\nDialogue: 0,1:37:34.18,1:37:35.55,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u8D62\u4E0D\u4E86\u7684{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You will not win.{\\r}\r\n\ - Dialogue: 0,1:37:36.98,1:37:38.52,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u4F60\u6BCF\u6551\u4E00\u4E2A\u4EBA{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}For every human you save...{\\r}\r\nDialogue:\ - \ 0,1:37:38.75,1:37:41.42,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u4EEC\u4F1A\u591A\u6740\u4E00\u767E\u4E07{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...we will kill a million more. Unh!{\\\ - r}\r\nDialogue: 0,1:38:32.74,1:38:35.91,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u8FD8\u6709\u654C\u4EBA\u5417\uFF1F\u8FD8\u6709\u654C\ - \u4EBA\u5417\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Do\ - \ we have an all clear? Do we have an all clear?{\\r}\r\nDialogue: 0,1:38:36.14,1:38:38.42,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}A\u5C0F\u961F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Alpha team, sit-rep. Alpha team.{\\r}\r\nDialogue:\ - \ 0,1:38:38.64,1:38:40.25,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6536\u5230\u8BF7\u56DE\u7B54{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Do you copy? Alpha team.{\\r}\r\nDialogue: 0,1:39:29.76,1:39:31.97,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8FD9\u4E2A\u4EBA\u4E0D\u662F\u6211\u4EEC\ - \u7684\u654C\u4EBA{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}This\ - \ man is not our enemy.{\\r}\r\nDialogue: 0,1:39:34.43,1:39:35.97,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8C22\u8C22\u4F60 \u4E0A\u6821{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Thank you, colonel.{\\r}\r\n\ - Dialogue: 0,1:39:53.82,1:39:54.66,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u5988\u5988{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Mom?{\\r}\r\nDialogue: 0,1:39:55.95,1:39:57.63,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u6CA1\u4E8B{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}I'm all right.{\\r}\r\nDialogue: 0,1:40:09.67,1:40:11.65,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8863\u670D\u5F88\u6F02\u4EAE \u513F\u5B50\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Nice suit, son.{\\\ - r}\r\nDialogue: 0,1:40:12.70,1:40:14.01,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5BF9\u4E0D\u8D77{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}I'm so sorry.{\\r}\r\nDialogue: 0,1:40:15.04,1:40:17.35,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8FD9\u4E9B\u53EA\u662F\u8EAB\u5916\u4E4B\ - \u7269 \u514B\u62C9\u514B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}It's only stuff, Clark.{\\r}\r\nDialogue: 0,1:40:18.51,1:40:20.92,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u603B\u662F\u4F1A\u88AB\u53D6\u4EE3\u7684\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}It can always be\ - \ replaced.{\\r}\r\nDialogue: 0,1:40:23.38,1:40:24.65,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F46\u4F60\u4E0D\u80FD\u88AB\u53D6\u4EE3\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}But you can't be.{\\\ - r}\r\nDialogue: 0,1:40:25.98,1:40:28.39,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5988\u5988 \u4F50\u5FB7\u8BF4\u4ED6\u8981\u627E\u7684\ - \u5BC6\u5178{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Mom,\ - \ Zod said this Codex...{\\r}\r\nDialogue: 0,1:40:28.65,1:40:30.93,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u53EF\u4EE5\u8BA9\u6211\u7684\u79CD\u65CF\ - \u91CD\u751F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...he's\ - \ looking for can bring my people back.{\\r}\r\nDialogue: 0,1:40:31.25,1:40:32.93,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8FD9\u4E0D\u662F\u5F88\u597D\u5417\uFF1F\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Isn't that a good\ - \ thing?{\\r}\r\nDialogue: 0,1:40:37.16,1:40:39.66,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4E0D\u8BA4\u4E3A\u4ED6\u4EEC\u60F3\ - \u8981\u5206\u4EAB\u8FD9\u4E2A\u4E16\u754C{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}I don't think they're interested in sharing this\ - \ world.{\\r}\r\nDialogue: 0,1:40:40.26,1:40:41.50,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u514B\u62C9\u514B{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Clark.{\\r}\r\nDialogue: 0,1:40:42.23,1:40:43.11,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u514B\u62C9\u514B{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Clark.{\\r}\r\nDialogue: 0,1:40:45.00,1:40:46.88,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u77E5\u9053\u600E\u4E48\u963B\u6B62\ - \u4ED6\u4EEC{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I know\ - \ how to stop them.{\\r}\r\nDialogue: 0,1:40:48.94,1:40:50.38,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u53D1\u751F\u4E86\u4EC0\u4E48\uFF1F{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}What happened down\ - \ there?{\\r}\r\nDialogue: 0,1:40:50.61,1:40:53.45,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u53D1\u73B0\u4E86\u6211\u4EEC\u4E00\ - \u4E2A\u6682\u65F6\u7684\u5F31\u70B9{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}He exposed a temporary weakness.{\\r}\r\nDialogue: 0,1:40:54.34,1:40:56.19,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8FD9\u5DF2\u7ECF\u4E0D\u91CD\u8981\u4E86\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}It is of little\ - \ consequence...{\\r}\r\nDialogue: 0,1:40:57.55,1:41:00.46,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u56E0\u4E3A\u6211\u77E5\u9053\u5BC6\u5178\ - \u5728\u54EA\u513F\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...because I have located the Codex.{\\r}\r\nDialogue: 0,1:41:01.25,1:41:03.93,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6839\u672C\u5C31\u4E0D\u5728\u592A\u7A7A\ - \u8231\u91CC{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}It was\ - \ never in the capsule.{\\r}\r\nDialogue: 0,1:41:04.12,1:41:05.79,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E54\u2022\u827E\u5C14\u62FF\u8D70\u4E86\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Jor-el took the\ - \ Codex...{\\r}\r\nDialogue: 0,1:41:06.06,1:41:08.54,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8BB0\u5F55\u7740\u6570\u5341\u4EBF\u4EBA\ - \u57FA\u56E0\u7684\u5BC6\u5178{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...the DNA of a billion people, then he bonded it...{\\r}\r\nDialogue:\ - \ 0,1:41:08.76,1:41:11.90,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u628A\u5B83\u85CF\u5728\u4ED6\u513F\u5B50\u7684\u6BCF\u4E00\u4E2A\ - \u7EC6\u80DE\u5F53\u4E2D{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...within his son's individual cells.{\\r}\r\nDialogue: 0,1:41:11.96,1:41:13.57,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6240\u6709\u6C2A\u661F\u4EBA\u7684\u540E\ - \u4EE3{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}All of Krypton's\ - \ heirs...{\\r}\r\nDialogue: 0,1:41:13.80,1:41:17.24,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5C31\u85CF\u5728\u4E00\u4E2A\u5916\u661F\ - \u96BE\u6C11\u7684\u8EAB\u4F53\u91CC{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}...living hidden in one refugee's body.{\\r}\r\nDialogue:\ - \ 0,1:41:21.30,1:41:23.28,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u8981\u4ECE\u5361\u5C14\u2022\u827E\u5C14\u7684\u7EC6\u80DE\u91CC\ - \u62FF\u5230\u5BC6\u5178{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Does Kal-El need to be alive...{\\r}\r\nDialogue: 0,1:41:23.54,1:41:26.71,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9700\u8981\u4ED6\u6D3B\u7740\u5417\uFF1F\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...for us to extract\ - \ the Codex from his cells?{\\r}\r\nDialogue: 0,1:41:28.08,1:41:29.25,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E0D\u7528{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}No.{\\r}\r\nDialogue: 0,1:41:35.15,1:41:37.43,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u542F\u52A8\u4E16\u754C\u5F15\u64CE{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Release the world engine.{\\\ - r}\r\nDialogue: 0,1:42:09.65,1:42:10.60,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u53D1\u751F\u4E86\u4EC0\u4E48\uFF1F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}What just happened?{\\r}\r\nDialogue:\ - \ 0,1:42:10.75,1:42:11.93,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u90A3\u8258\u8239\u4E00\u5206\u4E3A\u4E8C{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}The ship just split in two.{\\r}\r\nDialogue:\ - \ 0,1:42:12.15,1:42:15.26,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4E00\u8258\u5F80\u4E1C\u98DE\u53BB\u4E86 \u53E6\u4E00\u8258\u5411\ - \u5357\u534A\u7403\u53BB\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Track one is heading east, track two to the southern hemisphere.{\\\ - r}\r\nDialogue: 0,1:42:15.49,1:42:18.16,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}- \u901F\u5EA6\u6709\u591A\u5FEB\uFF1F - \u63A5\u8FD1\ - ...{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- How fast is\ - \ that bogey moving? - Approaching...{\\r}\r\nDialogue: 0,1:42:18.16,1:42:19.61,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}24\u9A6C\u8D6B \u5E76\u4E14\u8FD8\u5728\u52A0\ - \u901F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...Mach 24\ - \ and accelerating.{\\r}\r\nDialogue: 0,1:42:19.83,1:42:22.90,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u770B\u8D77\u6765\u50CF\u662F\u8981\u964D\ - \u843D\u5728\u5357\u5370\u5EA6\u6D0B\u7684\u67D0\u4E2A\u5730\u65B9{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}It's gonna impact somewhere\ - \ in the Indian Ocean.{\\r}\r\nDialogue: 0,1:42:41.22,1:42:42.86,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u53E6\u4E00\u8258\u8239\u4E5F\u5728\u964D\ - \u843D{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The rest of\ - \ the ship is descending.{\\r}\r\nDialogue: 0,1:42:43.85,1:42:45.22,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8367\u5E55\u663E\u793A{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Put it on the board now.{\\r}\r\n\ - Dialogue: 0,1:42:45.22,1:42:46.29,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u9075\u547D{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Yes, sir.{\\r}\r\nDialogue: 0,1:42:47.32,1:42:48.50,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5929\u554A{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Oh, my God.{\\r}\r\nDialogue: 0,1:43:29.00,1:43:31.77,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8BA9\u5E7D\u7075\u5F15\u64CE\u5F85\u547D\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Bring the phantom\ - \ drive online.{\\r}\r\nDialogue: 0,1:43:53.39,1:43:55.83,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5DF2\u7ECF\u4E0E\u4E16\u754C\u5F15\u64CE\ - \u5EFA\u7ACB\u8FDE\u63A5{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}We are now slave to the world engine.{\\r}\r\nDialogue: 0,1:43:56.96,1:43:58.37,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u542F\u52A8{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Initiate.{\\r}\r\nDialogue: 0,1:44:31.63,1:44:33.67,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u4EEC\u53D1\u5C04\u8FC7\u6765\u7684\ - \u662F\u4EC0\u4E48\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}What have they hit us with?{\\r}\r\nDialogue: 0,1:44:33.67,1:44:35.84,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3} \u770B\u4E0A\u53BB\u50CF\u662F\u67D0\u79CD\ - \u91CD\u529B\u6B66\u5668{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Looks like some kind of gravity...{\\r}\r\nDialogue: 0,1:44:36.10,1:44:39.34,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u548C\u4ED6\u4EEC\u7684\u98DE\u8239\u540C\ - \u6B65\u5DE5\u4F5C{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...weapon.\ - \ It's working in tandem with their ship.{\\r}\r\nDialogue: 0,1:44:40.07,1:44:43.14,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E00\u79CD\u53EF\u4EE5\u589E\u52A0\u5730\ - \u7403\u8D28\u91CF\u7684\u4E1C\u897F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Somehow they're increasing the Earth's mass...{\\r}\r\n\ - Dialogue: 0,1:44:43.41,1:44:45.51,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u5229\u7528\u5FAE\u5C18\u6C61\u6D4A\u5927\u6C14{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...clouding the atmosphere\ - \ with particulates.{\\r}\r\nDialogue: 0,1:44:47.24,1:44:48.85,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5929\u54EA{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Oh, my God.{\\r}\r\nDialogue: 0,1:44:50.18,1:44:51.88,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u4EEC\u5728\u8FDB\u884C\u73AF\u5883\ - \u6539\u9020{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}They're\ - \ terraforming.{\\r}\r\nDialogue: 0,1:44:51.95,1:44:52.76,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u662F\u4EC0\u4E48\uFF1F{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}What's that?{\\r}\r\nDialogue:\ - \ 0,1:44:53.58,1:44:54.69,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u884C\u661F\u5DE5\u7A0B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Planetary engineering...{\\r}\r\nDialogue: 0,1:44:54.95,1:44:58.16,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4FEE\u6539\u5730\u7403\u4E0A\u7684\u5927\ - \u6C14\u548C\u5730\u5F62{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...modifying the Earth's atmosphere and topography.{\\r}\r\nDialogue:\ - \ 0,1:44:58.42,1:44:59.66,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4ED6\u4EEC\u8981\u628A\u5730\u7403\u8F6C\u5316\u6210\u6C2A\u661F\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Turning Earth into\ - \ Krypton.{\\r}\r\nDialogue: 0,1:45:00.36,1:45:03.50,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u4F46\u662F\u6211\u4EEC\u4F1A\u600E\u4E48\ - \u6837\uFF1F - \u7406\u8BBA\u4E0A\u8BF4...{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}- But what happens to us? - Based on these\ - \ readings...{\\r}\r\nDialogue: 0,1:45:03.76,1:45:06.76,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u4E0D\u518D\u6709\"\u6211\u4EEC\"\u4E86\ - \ - \u65AF\u65FA\u5A01\u514B\u5C06\u519B{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}- ...there won't be an \"us.\" - General Swanwick,\ - \ sir.{\\r}\r\nDialogue: 0,1:45:07.16,1:45:08.54,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u63A7\u5236\u5854\u6765\u7535{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I'm on with the control tower.{\\\ - r}\r\nDialogue: 0,1:45:08.80,1:45:11.64,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u54C8\u8FEA\u4E0A\u6821\u6B63\u5728\u8DEF\u4E0A \u548C\ - \u4ED6\u5728\u4E00\u8D77\u7684\u8FD8\u6709\u8D85\u4EBA{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Colonel Hardy's on his way and he's\ - \ got Superman in tow.{\\r}\r\nDialogue: 0,1:45:11.77,1:45:12.84,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8D85\u4EBA\uFF1F{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Superman?{\\r}\r\nDialogue: 0,1:45:13.37,1:45:14.54,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u4E2A\u5916\u661F\u4EBA \u5148\u751F\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The alien, sir.{\\\ - r}\r\nDialogue: 0,1:45:14.80,1:45:17.18,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4ED6\u4EEC\u53EB\u4ED6\u8D85\u4EBA{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}That's what they're calling him. Superman.{\\\ - r}\r\nDialogue: 0,1:45:22.68,1:45:23.88,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u4EEC\u6709\u4E2A\u8BA1\u5212 \u5C06\u519B{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We have a plan, general.{\\\ - r}\r\nDialogue: 0,1:45:24.15,1:45:26.23,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u548C\u6211\u60F3\u7684\u4E00\u6837\u5417\uFF1F{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Is that what I think it\ - \ is?{\\r}\r\nDialogue: 0,1:45:26.78,1:45:28.56,chs,,0000,0000,0000,,{\\fn\u534E\ - \u6587\u6977\u4F53\\blur3}\u8FD9\u662F\u4ED6\u5750\u7684\u98DE\u8239{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}It's the ship he arrived\ - \ in.{\\r}\r\nDialogue: 0,1:45:30.22,1:45:32.86,chs,,0000,0000,0000,,{\\fn\u534E\ - \u6587\u6977\u4F53\\blur3}\u8FD9\u8258\u98DE\u8239\u7531\u67D0\u79CD\u53EB\ - \u5E7D\u7075\u5F15\u64CE\u7684\u7269\u8D28\u9A71\u52A8{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}This ship is powered by something\ - \ called a phantom drive.{\\r}\r\nDialogue: 0,1:45:33.12,1:45:34.57,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5B83\u80FD\u591F\u626D\u66F2\u65F6\u7A7A\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}It bends space.{\\\ - r}\r\nDialogue: 0,1:45:34.82,1:45:38.80,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F50\u5FB7\u7684\u98DE\u8239\u8FD0\u7528\u4E86\u540C\ - \u6837\u7684\u539F\u7406 \u5982\u679C\u6211\u4EEC\u80FD\u8BA9\u4E24\u8005\u5BF9\ - \u649E{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Zod's ship\ - \ uses the same technology, and if we can make the two drives collide...{\\\ - r}\r\nDialogue: 0,1:45:39.03,1:45:40.87,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5C31\u80FD\u521B\u9020\u51FA\u4E00\u4E2A\u5947\u5F02\ - \u70B9{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}A singularity\ - \ can be created.{\\r}\r\nDialogue: 0,1:45:41.13,1:45:42.57,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u5C31\u50CF\u9ED1\u6D1E - \u5BF9{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- Like a black hole.\ - \ - Yes.{\\r}\r\nDialogue: 0,1:45:42.70,1:45:44.20,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6240\u4EE5\u5982\u679C\u6211\u4EEC\u6253\ - \u5F00\u901A\u9053{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}So\ - \ if we open up this doorway...{\\r}\r\nDialogue: 0,1:45:44.47,1:45:46.07,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u7406\u8BBA\u4E0A\u6765\u8BF4\u4ED6\u4EEC\ - \u5C31\u5E94\u8BE5\u88AB\u5438\u8FDB\u53BB{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}...they should be pulled back in.{\\r}\r\nDialogue:\ - \ 0,1:45:46.34,1:45:48.84,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6240\u4EE5\u4F60\u60F3\u6211\u4EEC\u7528\u90A3\u4E2A\u70B8\u6389\ - \u4ED6\u4EEC{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}So you\ - \ want us to bomb them with that?{\\r}\r\nDialogue: 0,1:45:49.07,1:45:51.05,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5C06\u519B \u5982\u679C\u592A\u7A7A\u8239\ - \u8FBE\u5230{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}General,\ - \ that craft maxes out...{\\r}\r\nDialogue: 0,1:45:51.31,1:45:54.69,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}17000\u78C5 \u53EF\u4EE5\u4ECEC-17\u6295\ - \u63B7\u4E0B\u6765{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...17,000\ - \ pounds, we can drop it from a C-17.{\\r}\r\nDialogue: 0,1:45:54.91,1:45:56.05,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8FD9\u662F\u53EF\u884C\u7684{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}It's a viable plan.{\\r}\r\n\ - Dialogue: 0,1:45:56.31,1:45:58.42,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u5982\u679C\u6211\u4E0D\u963B\u6B62\u5370\u5EA6\u6D0B\u4E0A\ - \u7684\u673A\u5668{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}If\ - \ I don't stop that machine over the Indian Ocean...{\\r}\r\nDialogue: 0,1:45:58.68,1:46:02.30,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u91CD\u529B\u573A\u8FD8\u4F1A\u7EE7\u7EED\ - \u6269\u5927{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...the\ - \ gravity field will continue to expand.{\\r}\r\nDialogue: 0,1:46:07.76,1:46:10.53,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5982\u679C\u90A3\u4E2A\u4E1C\u897F\u662F\ - \u4F7F\u5730\u7403\u6C2A\u661F\u5316{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}If that thing is making Earth more like Krypton...{\\r}\r\ - \nDialogue: 0,1:46:10.89,1:46:12.93,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F60\u5728\u5B83\u9644\u8FD1\u4E0D\u4F1A\u66F4\u8106\ - \u5F31\u5417\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...won't\ - \ you be weaker around it?{\\r}\r\nDialogue: 0,1:46:14.23,1:46:15.54,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6709\u53EF\u80FD{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Maybe.{\\r}\r\nDialogue: 0,1:46:16.40,1:46:18.88,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F46\u6211\u4E0D\u4F1A\u8BA9\u5B83\u963B\ - \u6B62\u6211\u8BD5\u4E00\u8BD5{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}I'm not about to let that stop me from trying.{\\r}\r\nDialogue: 0,1:46:19.84,1:46:22.04,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u53EF\u80FD\u60F3\u540E\u9000\u4E00\ - \u70B9{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You might\ - \ want to step back a little bit.{\\r}\r\nDialogue: 0,1:46:24.11,1:46:25.94,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u53EF\u80FD\u8981\u518D\u9000\u4E00\u70B9\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Maybe a little bit\ - \ more.{\\r}\r\nDialogue: 0,1:46:57.71,1:46:58.31,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8299\u62C9{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Faora.{\\r}\r\nDialogue: 0,1:46:59.31,1:47:00.41,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u6765\u6307\u6325{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Take command.{\\r}\r\nDialogue: 0,1:47:00.64,1:47:03.78,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u9075\u547D - \u6211\u8981\u4FDD\u8BC1\ - \u59CB\u6E90\u5BA4\u7684\u5B89\u5168{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}- Yes, sir. - I need to secure the genesis chamber...{\\\ - r}\r\nDialogue: 0,1:47:04.21,1:47:06.96,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u8FD8\u8981\u5411\u4E00\u4E2A\u8001\u670B\u53CB\u81F4\ - \u610F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...and pay\ - \ my respects to an old friend.{\\r}\r\nDialogue: 0,1:47:14.72,1:47:16.83,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5B88\u62A4\u8005\u524D\u5F80\u5927\u90FD\ - \u4F1A{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Guardian en\ - \ route to Metropolis...{\\r}\r\nDialogue: 0,1:47:17.63,1:47:18.83,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u643A\u5E26\u5305\u88F9{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...package in tow.{\\r}\r\nDialogue:\ - \ 0,1:47:24.10,1:47:27.01,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u88AB\u544A\u77E5\u4E86F-35\u6218\u673A\u5165\u5883\u7684\u4F1A\u5408\ - \u70B9{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Be advised,\ - \ F-35s inbound to rendezvous point.{\\r}\r\nDialogue: 0,1:47:27.27,1:47:29.44,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u73B0\u5728\u5E94\u8BE5\u5728\u89C6\ - \u89C9\u63A5\u89E6{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You\ - \ should have visual contact now.{\\r}\r\nDialogue: 0,1:48:14.45,1:48:18.13,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E3B\u63A7\u94A5\u5319\u8BC6\u522B\u6B63\ - \u786E \u59CB\u6E90\u5BA4\u5F85\u547D \u5148\u751F{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Command key accepted. Genesis chamber\ - \ coming online, sir.{\\r}\r\nDialogue: 0,1:48:18.52,1:48:19.52,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F4F\u624B \u4F50\u5FB7{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Stop this, Zod...{\\r}\r\nDialogue:\ - \ 0,1:48:19.69,1:48:21.83,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u8D81\u8FD8\u6709\u65F6\u95F4{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}...while there's still time.{\\r}\r\nDialogue: 0,1:48:23.06,1:48:26.37,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8FD8\u6CA1\u653E\u5F03\u5BF9\u6211\u8BF4\ - \u6559\u5462 \u662F\u5427 \u54EA\u6015\u662F\u6B7B\u4E86{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Haven't given up lecturing me, have\ - \ you, even in death?{\\r}\r\nDialogue: 0,1:48:26.73,1:48:28.73,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4E0D\u4F1A\u8BA9\u4F60\u7528\u5BC6\ - \u5178\u505A\u8FD9\u4E9B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}I will not let you use the Codex like this.{\\r}\r\nDialogue: 0,1:48:29.00,1:48:30.71,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u6CA1\u6743\u529B\u963B\u6B62\u6211\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You don't have the\ - \ power to stop me.{\\r}\r\nDialogue: 0,1:48:30.97,1:48:34.00,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u63D2\u5165\u7684\u4E3B\u63A7\u94A5\ - \u5319\u5DF2\u7ECF\u5E9F\u9664\u4E86\u4F60\u7684\u6743\u9650{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}The command key I have entered is\ - \ revoking your authority.{\\r}\r\nDialogue: 0,1:48:34.24,1:48:37.15,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u98DE\u8239\u5728\u6211\u638C\u63A7\u4E4B\ - \u4E0B\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}This\ - \ ship is now under my control.{\\r}\r\nDialogue: 0,1:49:08.67,1:49:10.35,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5317\u65B9\u53F8\u4EE4\u90E8 \u8FD9\u91CC\ - \u662F\u95EA\u75351\u53F7{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Northcom, Lightning 1, request...{\\r}\r\nDialogue: 0,1:49:10.51,1:49:12.03,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8BF7\u6C42\u91CA\u653E\u5BFC\u5F39{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...permission to unleash\ - \ the hounds.{\\r}\r\nDialogue: 0,1:49:12.03,1:49:16.62,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5468\u56F4\u5B89\u5168 \u53EF\u4EE5\u88AD\ - \u51FB \u53EF\u80FD\u7684\u8BDD\u53D1\u751F\u4F5C\u6218\u635F\u574F\u8BC4\u4F30\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Lightning 1, you\ - \ are clear to engage. Send battle damage assessment when able. Out.{\\r}\r\ - \nDialogue: 0,1:49:30.19,1:49:32.57,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u7535\u5B50\u8BBE\u5907\u9677\u5165\u6DF7\u4E71{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Avionics are going haywire.\ - \ The gravity field...{\\r}\r\nDialogue: 0,1:49:32.80,1:49:35.14,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u91CD\u529B\u573A\u7275\u5F15\u6211\u4EEC\ - \u7684\u5BFC\u5F39\u4E0B\u5760 \u6211\u4EEC\u9700\u8981\u66F4\u52A0\u63A5\u8FD1\ - \u76EE\u6807{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...is\ - \ pulling our missiles down. We gotta get closer.{\\r}\r\nDialogue: 0,1:49:40.24,1:49:41.44,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u597D\u4E86\u5404\u4F4D{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}All right, everybody...{\\r}\r\nDialogue:\ - \ 0,1:49:41.54,1:49:44.42,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u4EEC\u79BB\u5F00\u4E86 \u73B0\u5728\u5C31\u79BB\u5F00\u5927\ - \u697C{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...we're leaving.\ - \ We're leaving the building now.{\\r}\r\nDialogue: 0,1:50:07.56,1:50:09.44,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5931\u53BB\u4E86\u6211\u7684\u50DA\ - \u673A\u9A7E\u9A76\u5458{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}I just lost my wingman.{\\r}\r\nDialogue: 0,1:50:11.80,1:50:12.94,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u98DE\u673A\u5931\u63A7 \u98DE\u673A\u5931\ - \u63A7 \u98DE\u673A\u5931\u63A7{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Mayday! Mayday! Mayday!{\\r}\r\nDialogue: 0,1:50:24.51,1:50:26.49,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5404\u4F4D \u8FD9\u8FB9{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Everybody, this way! Come on!{\\r}\r\ - \nDialogue: 0,1:50:26.75,1:50:29.82,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5404\u4F4D \u5FEB\u70B9 \u5FEB \u5FEB{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Everybody, come on! Keep moving, keep\ - \ moving.{\\r}\r\nDialogue: 0,1:50:36.66,1:50:37.69,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8A79\u59AE{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Jenny!{\\r}\r\nDialogue: 0,1:50:41.66,1:50:42.51,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5929\u54EA{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Oh, my God.{\\r}\r\nDialogue: 0,1:50:42.76,1:50:43.77,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u739B\u4E3D{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Perry!{\\r}\r\nDialogue: 0,1:50:48.20,1:50:50.15,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8D70\u8FD9\u8FB9 \u5FEB{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Go! There! Go!{\\r}\r\nDialogue: 0,1:50:56.01,1:50:57.51,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4EEC\u53EF\u4EE5\u5171\u5B58{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Our people can co-exist.{\\\ - r}\r\nDialogue: 0,1:50:58.15,1:51:00.12,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u8FD9\u6837\u6211\u4EEC\u5C31\u50CF\u4F60\u513F\u5B50\ - \u90A3\u6837{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}So we\ - \ can suffer through years of pain{\\r}\r\nDialogue: 0,1:51:00.12,1:51:02.65,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6491\u8FC7\u6570\u5E74\u7684\u4F24\u75DB\ - \u6765\u9002\u5E94\u73AF\u5883\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}trying to adapt like your son has?{\\r}\r\nDialogue: 0,1:51:02.99,1:51:04.66,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u4F60\u8BF4\u7684\u662F\u79CD\u65CF\u5C60\ - \u6740 - \u662F\u7684{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}- You're talking about genocide. - Yes.{\\r}\r\nDialogue: 0,1:51:04.89,1:51:07.99,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u800C\u4E14\u6211\u6B63\u548C\u4E00\u4E2A\ - \u9B3C\u9B42\u4E89\u8BBA\u5176\u529F\u8FC7{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}And I'm arguing its merits with a ghost.{\\r}\r\n\ - Dialogue: 0,1:51:08.86,1:51:10.67,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u6211\u4EEC\u90FD\u662F\u9B3C\u9B42 \u4F50\u5FB7{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We're both ghosts, Zod.{\\\ - r}\r\nDialogue: 0,1:51:10.89,1:51:14.40,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F60\u4E0D\u660E\u767D\u5417\uFF1F\u4F60\u4E0D\u613F\ - \u653E\u5F03\u7684\u6C2A\u661F\u5DF2\u7ECF\u6CA1\u4E86{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Can't you see that? The Krypton you're\ - \ clinging onto is gone.{\\r}\r\nDialogue: 0,1:51:14.66,1:51:17.23,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u68C0\u67E5\u597D\u5165\u4FB5\u7684\ - \u60C5\u62A5\u4E86\u5417\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Ship, have you managed to quarantine this invasive intelligence?{\\\ - r}\r\nDialogue: 0,1:51:17.50,1:51:18.42,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}- \u5931\u8D25\u4E86 - \u597D\u4E86{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- You'll fail. - I have.{\\\ - r}\r\nDialogue: 0,1:51:18.63,1:51:20.05,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u51C6\u5907\u597D\u7EC8\u7ED3\u8FD9\u4E00\u5207{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Then prepare to terminate\ - \ it.{\\r}\r\nDialogue: 0,1:51:20.30,1:51:22.08,chs,,0000,0000,0000,,{\\fn\u534E\ - \u6587\u6977\u4F53\\blur3}\u6211\u4E0D\u60F3\u4E89\u5435\u4E86 \u8BA9\u6211\ - \u95ED\u5634{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I'm\ - \ tired of this debate. Silencing me...{\\r}\r\nDialogue: 0,1:51:22.34,1:51:23.75,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6539\u53D8\u4E0D\u4E86\u4EFB\u4F55\u4E8B\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...won't change\ - \ anything.{\\r}\r\nDialogue: 0,1:51:26.01,1:51:27.32,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u513F\u5B50...{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}My son...{\\r}\r\nDialogue: 0,1:51:28.14,1:51:29.49,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6BD4\u4F60\u5F3A\u4E24\u500D{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...is twice the man you were.{\\\ - r}\r\nDialogue: 0,1:51:32.48,1:51:34.15,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4ED6\u4F1A\u7ED3\u675F\u6211\u4EEC\u53D1\u8D77\u7684\ - \u79CD\u79CD{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}And\ - \ he will finish what we started.{\\r}\r\nDialogue: 0,1:51:35.08,1:51:36.32,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4FDD\u8BC1{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}I can promise you that.{\\r}\r\nDialogue:\ - \ 0,1:51:41.52,1:51:42.90,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u544A\u8BC9\u6211{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Tell me...{\\r}\r\nDialogue: 0,1:51:43.16,1:51:46.73,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u6709\u4E54\u2022\u827E\u5C14\u7684\ - \u8BB0\u5FC6\u548C\u826F\u77E5{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...you have Jor-El's memories, his conscience.{\\r}\r\nDialogue: 0,1:51:47.43,1:51:50.20,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u53EF\u4F60\u7ECF\u5386\u8FC7\u4ED6\u7684\ - \u75DB\u82E6\u5417\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Can you experience his pain?{\\r}\r\nDialogue: 0,1:51:51.87,1:51:55.44,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4F1A\u4ECE\u4F60\u513F\u5B50\u7684\ - \u5C38\u4F53\u91CC\u63D0\u53D6\u5BC6\u5178{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}I will harvest the Codex from your son's corpse...{\\\ - r}\r\nDialogue: 0,1:51:55.90,1:52:01.21,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5728\u4ED6\u7684\u5C38\u9AA8\u4E4B\u4E0A\u91CD\u5EFA\ - \u6C2A\u661F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...and\ - \ I will rebuild Krypton atop his bones.{\\r}\r\nDialogue: 0,1:52:58.63,1:52:59.34,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8A79\u59AE{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Jenny.{\\r}\r\nDialogue: 0,1:52:59.60,1:53:02.34,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u8A79\u59AE \u8A79\u59AE \u4F60\u5728\ - \u54EA\uFF1F - \u6211\u5728\u8FD9\u91CC{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}- Jenny. Jenny, where are you? - I'm here!{\\r}\r\ - \nDialogue: 0,1:53:02.60,1:53:03.90,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}- \u8FD9\u91CC \u8FD9\u91CC - \u8A79\u59AE{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- I'm here. Here. - Jenny.{\\\ - r}\r\nDialogue: 0,1:53:03.91,1:53:05.41,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6491\u4F4F \u6491\u4F4F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Hold on, hold on.{\\r}\r\nDialogue: 0,1:53:05.64,1:53:06.62,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5361\u4F4F\u4E86{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I'm stuck.{\\r}\r\nDialogue: 0,1:53:06.84,1:53:08.52,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u6211\u52A8\u4E0D\u4E86 \u5361\u4F4F\u4E86\ - \ - \u597D\u7684{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}-\ - \ I can't get free. I'm stuck. - Okay.{\\r}\r\nDialogue: 0,1:53:08.78,1:53:11.31,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4EEC\u4F1A\u628A\u4F60\u6551\u51FA\ - \u53BB \u4F60\u522B\u52A8{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}We'll get you out of there, all right? Just sit tight.{\\r}\r\nDialogue:\ - \ 0,1:53:11.58,1:53:12.15,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4E0D\u4E0D{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}No,\ - \ no, no!{\\r}\r\nDialogue: 0,1:53:12.41,1:53:14.22,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u522B\u79BB\u5F00\u6211 - \u6211\u4E0D\ - \u4F1A\u79BB\u5F00\u4F60{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}- Don't leave me. - We're not gonna leave you.{\\r}\r\nDialogue:\ - \ 0,1:53:14.35,1:53:15.52,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}- \u597D - \u4F26\u5DF4\u7B2C{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}- Okay. - Lombard!{\\r}\r\nDialogue: 0,1:53:15.78,1:53:19.13,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u4ED6\u5988\u7684\u5FEB\u8FC7\u6765\u5E2E\ - \u5FD9 - \u8BE5\u6B7B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}- Get your ass over here and help me. - Damn it.{\\r}\r\nDialogue:\ - \ 0,1:53:21.12,1:53:23.10,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}- \u7528\u8FD9\u4E2A\u64AC - \u7ED9\u4F60{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}- We just gotta move this. - Here.{\\\ - r}\r\nDialogue: 0,1:53:23.33,1:53:25.36,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u7528\u529B\u8BD5\u8BD5\u770B \u597D\u4E86\u5417\uFF1F\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Slide that in. You\ - \ push, I'll pull, okay?{\\r}\r\nDialogue: 0,1:53:25.63,1:53:26.66,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6765\u5427{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Go.{\\r}\r\nDialogue: 0,1:53:30.87,1:53:32.17,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u7528\u529B - \u5929\u554A{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- Push! - Oh, my God.{\\\ - r}\r\nDialogue: 0,1:53:32.43,1:53:34.27,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u8D8A\u6765\u8D8A\u8FD1\u4E86 \u7528\u529B{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}It's getting closer! Come on,\ - \ push!{\\r}\r\nDialogue: 0,1:53:36.10,1:53:38.31,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5317\u65B9\u53F8\u4EE4\u90E8 \u8FD9\u91CC\ - \u662F\u5B88\u62A4\u8005 \u53EF\u4EE5\u6295\u63B7\u5417\uFF1F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Northcom, this is Guardian. Are we\ - \ cleared?{\\r}\r\nDialogue: 0,1:53:38.84,1:53:39.84,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E0D\u884C \u5B88\u62A4\u8005{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Negative, Guardian.{\\r}\r\n\ - Dialogue: 0,1:54:04.57,1:54:07.01,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u5FEB \u7528\u529B\u554A{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Come on! Push!{\\r}\r\nDialogue: 0,1:54:59.02,1:55:00.36,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u505A\u5230\u4E86{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}He did it.{\\r}\r\nDialogue: 0,1:55:02.56,1:55:03.80,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5317\u65B9\u53F8\u4EE4\u90E8 \u8FD9\u91CC\ - \u662F\u5B88\u62A4\u8005{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Northcom, this is Guardian.{\\r}\r\nDialogue: 0,1:55:04.06,1:55:06.30,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4EEC\u6B63\u7ECF\u8FC7\u8C03\u6574\ - \u7EBF \u4E00\u5207\u826F\u597D{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}We're passing through phase line red. Good to go.{\\r}\r\nDialogue:\ - \ 0,1:55:06.56,1:55:07.73,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4E00\u8DEF\u5E73\u5B89 \u5B88\u62A4\u8005{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Godspeed, Guardian.{\\r}\r\nDialogue:\ - \ 0,1:55:07.73,1:55:10.14,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6574\u7406\u5305\u88F9 \u51C6\u5907\u6295\u63B7{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Arm the package. You are cleared hot.{\\\ - r}\r\nDialogue: 0,1:55:10.40,1:55:12.47,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u51C6\u5907\u53D1\u51FA\u6700\u540E\u4E00\u51FB{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We're lining up for the\ - \ final run.{\\r}\r\nDialogue: 0,1:55:13.27,1:55:15.27,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u73B0\u5728\u770B\u4F60\u548C\u6C49\u5BC6\ - \u5C14\u987F\u7684\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}It's up to you and Hamilton now.{\\r}\r\nDialogue: 0,1:55:55.44,1:55:56.44,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u641E\u4EC0\u4E48{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}You gotta be kidding me.{\\r}\r\nDialogue:\ - \ 0,1:55:56.45,1:55:59.30,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u7406\u8D27\u5458 \u5305\u88F9\u662F\u5426\u6B66\u88C5\u5B8C\u6BD5\ - \uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Loadmaster,\ - \ is the package ready to drop?{\\r}\r\nDialogue: 0,1:55:59.35,1:56:00.62,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E0D\u884C \u5B88\u62A4\u8005{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Negative, Guardian.{\\r}\r\n\ - Dialogue: 0,1:56:00.85,1:56:02.42,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u51FA\u95EE\u9898\u4E86 \u4E0D\u8BE5\u8FD9\u6837\u7684{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}There's something wrong.\ - \ It's not supposed to do this.{\\r}\r\nDialogue: 0,1:56:02.65,1:56:04.43,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u90A3\u5E94\u8BE5\u600E\u6837\uFF1F{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}What's it supposed\ - \ to do?{\\r}\r\nDialogue: 0,1:56:04.65,1:56:07.69,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u5E94\u8BE5\u5B8C\u5168\u63D2\u8FDB\u53BB\ - \ - \u6211\u770B\u770B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}- It's supposed to go in all the way. - Let me take a look.{\\\ - r}\r\nDialogue: 0,1:56:07.96,1:56:09.53,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u526F\u9A7E\u9A76\u63A5\u7BA1\u98DE\u673A{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Co-pilot's aircraft.{\\r}\r\ - \nDialogue: 0,1:56:10.26,1:56:11.76,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u526F\u9A7E\u9A76\u63A5\u7BA1\u98DE\u673A{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Co-pilot's aircraft.{\\r}\r\ - \nDialogue: 0,1:56:18.50,1:56:21.17,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u4EEC\u5DF2\u7ECF\u6392\u5217\u597D\u51C6\u5907\ - \u6295\u63B7\u4E86 \u8FD8\u5728\u7B49\u4EC0\u4E48\uFF1F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We are lined up for the drop. What's\ - \ the hold up?{\\r}\r\nDialogue: 0,1:56:21.44,1:56:22.44,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u51FA\u73B0\u4E86\u70B9\u95EE\u9898{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We've had a setback.{\\\ - r}\r\nDialogue: 0,1:56:38.19,1:56:39.69,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u7784\u51C6\u98DE\u673A{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Target that aircraft.{\\r}\r\nDialogue: 0,1:56:43.56,1:56:45.00,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u9501\u5B9A\u76EE\u6807{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Target locked.{\\r}\r\nDialogue: 0,1:56:54.80,1:56:55.68,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E0D\u8981{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Stop!{\\r}\r\nDialogue: 0,1:56:55.90,1:56:58.01,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5982\u679C\u4F60\u6BC1\u4E86\u8FD9\u8258\ - \u98DE\u8239{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}If you\ - \ destroy this ship...{\\r}\r\nDialogue: 0,1:56:58.24,1:57:00.91,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5C31\u662F\u6BC1\u4E86\u6C2A\u661F{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...you destroy Krypton!{\\\ - r}\r\nDialogue: 0,1:57:03.71,1:57:05.89,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6C2A\u661F\u672C\u6765\u8FD8\u6709\u673A\u4F1A\u7684\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Krypton had its\ - \ chance.{\\r}\r\nDialogue: 0,1:57:59.87,1:58:01.75,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u83B2\u6069\u5C0F\u59D0 \u8FD9\u513F\u4E0D\ - \u5B89\u5168{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Miss\ - \ Lane! It's not safe for you...{\\r}\r\nDialogue: 0,1:58:01.97,1:58:02.88,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u79BB\u5F00\u90A3\u513F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...over there!{\\r}\r\nDialogue: 0,1:58:03.10,1:58:03.71,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u83B2\u6069\u5C0F\u59D0{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Miss Lane!{\\r}\r\nDialogue: 0,1:58:33.60,1:58:35.34,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u79BB\u5F00 \u5FEB{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Move now! Go!{\\r}\r\nDialogue: 0,1:58:56.19,1:58:57.19,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6B7B\u5F97\u5149\u8363{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}A good death...{\\r}\r\nDialogue:\ - \ 0,1:58:57.46,1:58:59.03,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u5C31\u662F\u6B7B\u5F97\u5176\u6240{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}...is its own reward.{\\r}\r\nDialogue: 0,2:00:01.49,2:00:02.93,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u4EEC\u8D70\u4E86\u5417\uFF1F{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Are they gone?{\\r}\r\ - \nDialogue: 0,2:00:04.09,2:00:05.50,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u60F3\u662F\u7684{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}I think so.{\\r}\r\nDialogue: 0,2:00:07.40,2:00:08.74,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u6551\u4E86\u6211\u4EEC{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}He saved us.{\\r}\r\nDialogue:\ - \ 0,2:00:34.22,2:00:37.43,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4ED6\u4EEC\u8BF4\u521D\u543B\u4E4B\u540E\u5C31\u6BCF\u51B5\u6108\ - \u4E0B\u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You\ - \ know, they say it's all downhill after the first kiss.{\\r}\r\nDialogue:\ - \ 0,2:00:40.90,2:00:43.93,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u5F88\u786E\u5B9A \u4ED6\u4EEC\u53EA\u7EDF\u8BA1\u4E86\u4EB2\ - \u543B\u4EBA\u7C7B\u7684\u6570\u636E{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}I'm pretty sure that only counts when you're kissing a\ - \ human.{\\r}\r\nDialogue: 0,2:01:13.29,2:01:14.77,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u770B\u8FD9\u4E2A{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Look at this.{\\r}\r\nDialogue: 0,2:01:17.07,2:01:21.10,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4EEC\u672C\u53EF\u4EE5\u5728\u8FD9\ - \u7247\u5E9F\u589F\u4E0A\u5EFA\u7ACB\u8D77\u4E00\u4E2A\u65B0\u7684\u6C2A\u661F\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}We could have built\ - \ a new Krypton in this squalor.{\\r}\r\nDialogue: 0,2:01:21.24,2:01:24.34,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F46\u662F\u5728\u6211\u4EEC\u548C\u4EBA\ - \u7C7B\u4E4B\u95F4 \u4F60\u9009\u62E9\u4E86\u540E\u8005{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}But you chose the humans over us.{\\\ - r}\r\nDialogue: 0,2:01:25.77,2:01:27.31,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u7684\u5B58\u5728{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}I exist...{\\r}\r\nDialogue: 0,2:01:27.58,2:01:29.99,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4EC5\u662F\u4E3A\u4E86\u5B88\u62A4\u6C2A\ - \u661F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...only to\ - \ protect Krypton.{\\r}\r\nDialogue: 0,2:01:31.75,2:01:35.75,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8FD9\u662F\u81EA\u6211\u51FA\u751F\u4EE5\ - \u6765\u7684\u552F\u4E00\u76EE\u7684{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}That is the sole purpose for which I was born.{\\r}\r\n\ - Dialogue: 0,2:01:36.99,2:01:39.12,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\ - \u4F53\\blur3}\u6211\u6240\u505A\u7684\u4E00\u5207{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}And every action I take...{\\r}\r\nDialogue:\ - \ 0,2:01:39.35,2:01:41.36,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u65E0\u8BBA\u591A\u66B4\u529B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}...no matter how violent...{\\r}\r\nDialogue: 0,2:01:41.62,2:01:43.33,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u591A\u4E48\u6B8B\u5FCD{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...or how cruel...{\\r}\r\nDialogue:\ - \ 0,2:01:44.53,2:01:49.11,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u7686\u662F\u4E3A\u4E86\u6211\u7684\u4EBA\u6C11\u7684\u798F\u7949\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...is for the greater\ - \ good of my people.{\\r}\r\nDialogue: 0,2:01:53.43,2:01:54.85,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u73B0\u5728{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}And now...{\\r}\r\nDialogue: 0,2:01:55.10,2:01:57.38,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u6CA1\u6709\u4EBA\u6C11\u4E86{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...I have no people.{\\\ - r}\r\nDialogue: 0,2:02:00.81,2:02:10.00,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u662F\u4F60\u593A\u8D70\u4E86\u6211\u7684\u7075\u9B42\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}My soul that is\ - \ what you have taken from me.{\\r}\r\nDialogue: 0,2:02:16.79,2:02:19.29,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u8981\u8BA9\u4ED6\u4EEC\u627F\u62C5\ - \u75DB\u82E6{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I'm\ - \ going to make them suffer, Kal.{\\r}\r\nDialogue: 0,2:02:19.53,2:02:22.97,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u6551\u4E0B\u7684\u4EBA\u7C7B \u6211\ - \u8981\u4ECE\u4F60\u624B\u91CC...{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}These humans you've adopted, I will take them all from you...{\\r}\r\ - \nDialogue: 0,2:02:23.20,2:02:26.18,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}- \u4E00\u4E2A\u4E00\u4E2A\u593A\u8D70 - \u4F60\u8FD9\ - \u4E2A\u602A\u7269 \u4F50\u5FB7{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}- ...one by one. - You're a monster, Zod...{\\r}\r\nDialogue:\ - \ 0,2:02:28.80,2:02:30.61,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u4F1A\u963B\u6B62\u4F60\u7684{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}...and I'm gonna stop you.{\\r}\r\nDialogue: 0,2:04:11.61,2:04:14.00,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u7ED3\u675F\u8FD9\u4E00\u5207\u53EA\u6709\ - \u4E00\u4E2A\u529E\u6CD5{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}There's only one way this ends, Kal.{\\r}\r\nDialogue: 0,2:04:14.14,2:04:15.99,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E0D\u662F\u4F60\u6B7B{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Either you die...{\\r}\r\nDialogue:\ - \ 0,2:04:16.24,2:04:17.52,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u5C31\u662F\u6211\u4EA1{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}...or I do.{\\r}\r\nDialogue: 0,2:04:48.68,2:04:50.82,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u88AB\u5F53\u505A\u4E00\u4E2A\u6218\ - \u58EB\u8BAD\u7EC3{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I\ - \ was bred to be a warrior, Kal.{\\r}\r\nDialogue: 0,2:04:51.68,2:04:55.70,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u7EC8\u751F\u90FD\u5728\u53D7\u8BAD\ - \u63A7\u5236\u611F\u5B98{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Trained my entire life to master my senses.{\\r}\r\nDialogue: 0,2:04:55.88,2:04:59.49,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u5728\u54EA\u53D7\u8BAD\u7684\uFF1F\ - \u519C\u573A\u5417\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\\ - blur3}Where did you train? On a farm?{\\r}\r\nDialogue: 0,2:07:08.42,2:07:12.80,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5982\u679C\u4F60\u6DF1\u7231\u7740\u8FD9\ - \u7FA4\u4EBA\u7C7B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}If\ - \ you love these people so much...{\\r}\r\nDialogue: 0,2:07:13.19,2:07:15.46,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5C31\u4E3A\u4ED6\u4EEC\u8FFD\u60BC\u5427\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...you can mourn\ - \ for them.{\\r}\r\nDialogue: 0,2:07:19.93,2:07:21.00,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E0D\u8981{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Don't do this!{\\r}\r\nDialogue: 0,2:07:24.20,2:07:25.01,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F4F\u624B{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Stop!{\\r}\r\nDialogue: 0,2:07:31.37,2:07:32.35,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E0D{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Stop!{\\r}\r\nDialogue: 0,2:07:34.71,2:07:35.85,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E0D\u53EF\u80FD{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}Never.{\\r}\r\nDialogue: 0,2:09:10.54,2:09:11.92,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u4ED6\u5988\u662F\u8822\u86CB\u5417\ - \uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Are you effing\ - \ stupid?{\\r}\r\nDialogue: 0,2:09:12.14,2:09:14.11,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u6709\u90A3\u4E48\u591A\u7A7A\u4E2D\ - \u4FA6\u5BDF\u673A{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}It's\ - \ one of your surveillance drones.{\\r}\r\nDialogue: 0,2:09:14.11,2:09:16.61,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u8FD9\u73A9\u610F\u503C1200\u4E07{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}That's a $12,000,000 piece\ - \ of hardware.{\\r}\r\nDialogue: 0,2:09:16.78,2:09:17.81,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u66FE\u7ECF\u503C{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}It was.{\\r}\r\nDialogue: 0,2:09:18.61,2:09:21.15,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u77E5\u9053\u4F60\u60F3\u8FFD\u8E2A\ - \u6211{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I know you're\ - \ trying to find out where I hang my cape.{\\r}\r\nDialogue: 0,2:09:21.75,2:09:25.00,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u4F46\u662F\u6CA1\u95E8 - \u90A3\u6211\ - \u660E\u786E\u95EE\u4F60\u4E00\u4E2A\u95EE\u9898{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}- You won't. - Then I'll ask the obvious question:{\\\ - r}\r\nDialogue: 0,2:09:25.22,2:09:28.82,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u4EEC\u600E\u4E48\u77E5\u9053\u6709\u4E00\u5929\ - \ \u4F60\u4E0D\u4F1A\u635F\u5BB3\u7F8E\u56FD\u7684\u5229\u76CA\uFF1F{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}How do we know you won't\ - \ one day act against America's interests?{\\r}\r\nDialogue: 0,2:09:28.92,2:09:30.77,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u5728\u582A\u8428\u65AF\u957F\u5927\ - \ \u5C06\u519B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I\ - \ grew up in Kansas, general.{\\r}\r\nDialogue: 0,2:09:31.23,2:09:33.40,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u4E5F\u7B97\u662F\u7F8E\u56FD\u4EBA\ - \u4E86{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I'm about\ - \ as American as it gets.{\\r}\r\nDialogue: 0,2:09:33.66,2:09:34.57,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u770B{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Look...{\\r}\r\nDialogue: 0,2:09:34.80,2:09:36.27,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u613F\u610F\u5E2E\u5FD9{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...I'm here to help...{\\r}\r\ - \nDialogue: 0,2:09:36.50,2:09:38.74,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F46\u5FC5\u987B\u662F\u6211\u5FC3\u7518\u60C5\u613F\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...but it has to\ - \ be on my own terms.{\\r}\r\nDialogue: 0,2:09:38.97,2:09:40.81,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u53EF\u4EE5\u8FD9\u6837\u8BF4\u670D\ - \u534E\u76DB\u987F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You\ - \ have to convince Washington of that.{\\r}\r\nDialogue: 0,2:09:41.07,2:09:45.57,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5C31\u7B97\u6211\u613F\u610F\u8BF4 \u4F60\ - \u8BA4\u4E3A\u4ED6\u4EEC\u4F1A\u542C\u5417\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Even if I were willing to try, what makes you think\ - \ they'd listen?{\\r}\r\nDialogue: 0,2:09:46.14,2:09:47.74,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4E0D\u77E5\u9053 \u5C06\u519B{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I don't know, general.{\\r}\r\ - \nDialogue: 0,2:09:49.14,2:09:50.85,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F46\u662F\u6211\u53EA\u80FD\u76F8\u4FE1\u4F60{\\r}\\\ - N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Guess I'll just have to\ - \ trust you.{\\r}\r\nDialogue: 0,2:10:00.42,2:10:03.87,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u4F60\u7B11\u4EC0\u4E48 \u4E0A\u5C09\uFF1F\ - \ - \u6CA1\u4EC0\u4E48 \u957F\u5B98{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}- What are you smiling about? - Nothing, Sir.{\\\ - r}\r\nDialogue: 0,2:10:07.13,2:10:09.71,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u89C9\u5F97\u4ED6\u5E05\u7206\u4E86{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}I just think he's kind of hot.{\\\ - r}\r\nDialogue: 0,2:10:11.27,2:10:13.37,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}- \u4E0A\u8F66 \u4E0A\u5C09 - \u9075\u547D{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- Get in the car, captain.\ - \ - Mm-hm. Yes, sir.{\\r}\r\nDialogue: 0,2:10:23.34,2:10:26.55,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u4E00\u76F4\u575A\u4FE1\u4F60\u751F\ - \u6765\u8981\u505A\u5927\u4E8B\u7684{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}He always believed you were meant for greater things.{\\\ - r}\r\nDialogue: 0,2:10:26.81,2:10:28.32,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u5F53\u8FD9\u4E00\u5929\u6765\u4E34\u65F6{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}And that when the day came...{\\\ - r}\r\nDialogue: 0,2:10:28.55,2:10:31.36,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F60\u7684\u80A9\u8180\u8981\u80FD\u625B\u8D77\u5343\ - \u65A4{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...your shoulders\ - \ would be able to bear the weight.{\\r}\r\nDialogue: 0,2:10:31.62,2:10:35.47,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u662F\u554A \u6211\u5E0C\u671B\u4ED6\u80FD\ - \u591F\u770B\u5230\u8FD9\u4E00\u5207{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Yeah, I just wish he could have been here to see it finally\ - \ happen.{\\r}\r\nDialogue: 0,2:10:35.89,2:10:38.47,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ED6\u770B\u5230\u4E86 \u514B\u62C9\u514B\ - \ \u76F8\u4FE1\u6211{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}He\ - \ saw it, Clark, believe me.{\\r}\r\nDialogue: 0,2:11:25.37,2:11:28.22,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F60\u4E0D\u62EF\u6551\u5730\u7403\u7684\ - \u65F6\u5019 \u60F3\u5E72\u70B9\u4EC0\u4E48\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}What are you going to do when you're not saving the\ - \ world?{\\r}\r\nDialogue: 0,2:11:28.44,2:11:32.19,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u6709\u60F3\u8FC7\u5417\uFF1F - \u60F3\ - \u8FC7 \u771F\u7684{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}-\ - \ Have you given any thought to that? - I have, actually. Heh, heh.{\\\ - r}\r\nDialogue: 0,2:11:33.78,2:11:37.79,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6211\u4F1A\u627E\u4E00\u4EFD\u5DE5\u4F5C \u80FD\u591F\ - \u4FDD\u6301\u9AD8\u5EA6\u8B66\u89C9{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}I gotta find a job where I can keep my ear to the ground.{\\\ - r}\r\nDialogue: 0,2:11:43.02,2:11:45.09,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4EBA\u4EEC\u4E0D\u4F1A\u591A\u770B\u6211\u4E24\u773C\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Where people won't\ - \ look twice...{\\r}\r\nDialogue: 0,2:11:45.36,2:11:49.14,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5F53\u6211\u8981\u53BB\u5371\u9669\u7684\ - \u5730\u65B9 \u4E0D\u4F1A\u95EE\u6211\u95EE\u9898{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}...when I want to go somewhere dangerous and start\ - \ asking questions...{\\r}\r\nDialogue: 0,2:12:03.24,2:12:06.28,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u884C\u884C\u597D \u9732\u6613\u4E1D \u4F60\ - \u4EC0\u4E48\u65F6\u5019\u80FD\u53EF\u601C\u6211\u4E00\u4E0B\u5462\uFF1F{\\\ - r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Come on, Lois. When\ - \ are you gonna throw me a bone?{\\r}\r\nDialogue: 0,2:12:07.55,2:12:09.22,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4ECA\u665A\u6BD4\u8D5B\u7684\u7EDD\u4F73\ - \u4F4D\u5B50 \u600E\u4E48\u6837\uFF1F{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Courtside seats to the game tonight.{\\r}\r\nDialogue:\ - \ 0,2:12:09.65,2:12:11.22,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}- \u4EC0\u4E48\uFF1F - \u6211\u8BF4...{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}- What do you say? - I say...{\\r}\r\nDialogue:\ - \ 0,2:12:11.45,2:12:13.99,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u4F60\u5E94\u8BE5\u53BB\u9493\u9493\u5B9E\u4E60\u751F{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}...you should go back to trolling\ - \ the intern pool.{\\r}\r\nDialogue: 0,2:12:14.26,2:12:17.63,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u53EF\u80FD\u4F1A\u6709\u597D\u8FD0 \u62B1\ - \u6B49{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}You'll probably\ - \ have more luck. Sorry.{\\r}\r\nDialogue: 0,2:12:19.43,2:12:20.10,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u770B\u6BD4\u8D5B\uFF1F{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Courtside?{\\r}\r\nDialogue: 0,2:12:20.33,2:12:22.07,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u522B\u53BB - \u4E0D\u53BB{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- Don't. Ha, ha, ha. \ - \ - No.{\\r}\r\nDialogue: 0,2:12:22.30,2:12:25.11,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u4F26\u5DF4\u7B2C \u83B2\u6069 \u6765\u89C1\ - \u89C1\u65B0\u7684\u7279\u7EA6\u901A\u8BAF\u5458{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Lombard, Lane, I want you to meet our new stringer.{\\\ - r}\r\nDialogue: 0,2:12:25.33,2:12:28.58,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u4F60\u7ED9\u4ED6\u4F20\u6388\u4F20\u6388\u7A8D\u95E8\ - \ \u4ED6\u53EB\u5361\u62C9\u514B\u2022\u80AF\u7279{\\r}\\N{\\fnCronos Pro\ - \ Subhead\\fs14\\1c&H3CF1F3&\\blur3}I want you to show him the ropes. This\ - \ is Clark Kent.{\\r}\r\nDialogue: 0,2:12:28.80,2:12:30.11,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u597D\u8FD0 \u5B69\u5B50{\\r}\\N{\\fnCronos\ - \ Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Good luck, kid.{\\r}\r\nDialogue:\ - \ 0,2:12:31.64,2:12:32.91,chs,,0000,0000,0000,,{\\fn\u534E\u6587\u6977\u4F53\ - \\blur3}\u6211\u53EB\u65AF\u8482\u592B{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\\ - 1c&H3CF1F3&\\blur3}Hey. Steve.{\\r}\r\nDialogue: 0,2:12:33.14,2:12:34.64,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}- \u5E78\u4F1A - \u5E78\u4F1A{\\r}\\N{\\\ - fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}- Nice to meet you. -\ - \ You too.{\\r}\r\nDialogue: 0,2:12:34.64,2:12:35.48,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u55E8{\\r}\\N{\\fnCronos Pro Subhead\\\ - fs14\\1c&H3CF1F3&\\blur3}Hi.{\\r}\r\nDialogue: 0,2:12:36.41,2:12:37.75,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u6211\u53EB\u9732\u6613\u4E1D\u2022\u83B2\ - \u6069{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Lois Lane.{\\\ - r}\r\nDialogue: 0,2:12:38.58,2:12:40.12,chs,,0000,0000,0000,,{\\fn\u534E\u6587\ - \u6977\u4F53\\blur3}\u6B22\u8FCE\u6765\u300A\u661F\u7403\u65E5\u62A5\u300B\ - {\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Welcome to the \ - \ Planet.{\\r}\r\nDialogue: 0,2:12:43.85,2:12:46.33,chs,,0000,0000,0000,,{\\\ - fn\u534E\u6587\u6977\u4F53\\blur3}\u5F88\u9AD8\u5174\u6765\u8FD9 \u9732\u6613\ - \u4E1D{\\r}\\N{\\fnCronos Pro Subhead\\fs14\\1c&H3CF1F3&\\blur3}Glad to be\ - \ here, Lois.{\\r}\r\n" - headers: - cache-control: - - max-age=2678400 - connection: - - keep-alive - # content-disposition: - # - !!python/str "subtitle; filename=\"Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.\u7B80\ - # \u4F53&\u82F1\u6587.ass\"" - content-length: - - '239576' - content-type: - - application/octet-stream - date: - - Sat, 30 Nov 2019 14:08:00 GMT - expires: - - Tue, 31 Dec 2019 14:08:00 GMT - master: - - Windu - server: - - nginx - x-cache: - - HIT - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/assrt/test_query_episode.yaml b/tests/cassettes/assrt/test_query_episode.yaml deleted file mode 100644 index 4c3f71e19..000000000 --- a/tests/cassettes/assrt/test_query_episode.yaml +++ /dev/null @@ -1,83 +0,0 @@ -interactions: -- request: - body: null - headers: - User-Agent: - - Sub-Zero/2 - method: GET - uri: https://api.assrt.net/v1/sub/search?q=%5B%27The+Big+Bang+Theory+S07E05%27%5D&token=SECRET&is_file=%5B%271%27%5D - response: - body: - string: "{\"status\":0,\"sub\":{\"keyword\":\"The Big Bang Theory S07E05\",\"\ - result\":\"succeed\",\"subs\":[{\"subtype\":\"Subrip(srt)\",\"id\":618200,\"\ - lang\":{\"desc\":\"\u7B80\",\"langlist\":{\"langchs\":true}},\"vote_score\"\ - :0,\"upload_time\":\"2018-01-26 19:23:52\",\"release_site\":\"\u4F0A\u7538\ - \u56ED\",\"native_name\":\"\u5929\u624D\u7406\u8BBA\u4F20\u7B2C7\u5B63\u5168\ - 24\u96C6The.Big.Bang.Theory.S07.1080p.WEB-DL.DD5.1.H.264\",\"videoname\":\"\ - The.Big.Bang.Theory.S07.1080p.WEB-DL.DD5.1.H.264\",\"revision\":0},{\"subtype\"\ - :\"Subrip(srt)\",\"id\":316965,\"vote_score\":0,\"upload_time\":\"2014-12-06\ - \ 04:13:43\",\"native_name\":\"\u751F\u6D3B\u5927\u7206\u70B8 \u7B2C\u4E03\ - \u5B63 \u7B2C 5 \u96C6\",\"videoname\":\"The Big Bang Theory S07E05 720p HDTV\ - \ X264-DIMENSION\",\"revision\":0},{\"subtype\":\"Subrip(srt)\",\"id\":316966,\"\ - vote_score\":0,\"upload_time\":\"2014-12-06 04:13:43\",\"native_name\":\"\u751F\ - \u6D3B\u5927\u7206\u70B8 \u7B2C\u4E03\u5B63 \u7B2C 5 \u96C6\",\"videoname\"\ - :\"The Big Bang Theory S07E05 720p HDTV X264-DIMENSION\",\"revision\":0},{\"\ - subtype\":\"SSA\",\"id\":264973,\"lang\":{\"desc\":\"\u53CC\u8BED\",\"langlist\"\ - :{\"langdou\":true}},\"vote_score\":80,\"upload_time\":\"2014-11-02 10:41:05\"\ - ,\"native_name\":\"The Big Bang Theory S07\\/\u751F\u6D3B\u5927\u7206\u70B8\ - \ \u7B2C\u4E03\u5B63\\/The Big Bang Theory Season 07\",\"videoname\":\"The.Big.Bang.Theory.S07E05.720p.BluRay.x264-DEMAND\"\ - ,\"revision\":0},{\"subtype\":\"Subrip(srt)\",\"id\":261680,\"lang\":{\"desc\"\ - :\"\u7B80\",\"langlist\":{\"langchs\":true}},\"vote_score\":0,\"upload_time\"\ - :\"2014-08-30 05:11:21\",\"native_name\":\"\u751F\u6D3B\u5927\u7206\u70B8\ - \ \u7B2C\u4E03\u5B63\\/\u5929\u624D\u7406\u8BBA\u4F20\",\"videoname\":\"The.Big.Bang.Theory.S07.720p.BluRay.x264-DEMAND\"\ - ,\"revision\":0},{\"subtype\":\"Subrip(srt)\",\"id\":244659,\"lang\":{\"desc\"\ - :\"\u82F1 \u7B80 \u7E41\",\"langlist\":{\"langeng\":true,\"langcht\":true,\"\ - langchs\":true}},\"vote_score\":0,\"upload_time\":\"2013-10-19 03:34:04\"\ - ,\"native_name\":\"\u5929\u624D\u7406\u8BBA\u4F20\\/\u751F\u6D3B\u5927\u7206\ - \u70B8 \u7B2C\u4E03\u5B63\u7B2C\u4E94\u96C6\",\"videoname\":\"The Big Bang\ - \ Theory S07E05 the.big.bang.theory.705.hdtv-lol\",\"revision\":0},{\"subtype\"\ - :\"Subrip(srt)\",\"id\":244640,\"lang\":{\"desc\":\"\u82F1 \u7B80 \u7E41 \u53CC\ - \u8BED\",\"langlist\":{\"langchs\":true,\"langeng\":true,\"langdou\":true,\"\ - langcht\":true}},\"vote_score\":0,\"upload_time\":\"2013-10-18 23:33:24\"\ - ,\"native_name\":\"\",\"videoname\":\"\u751F\u6D3B\u5927\u7206\u70B8\\/The\ - \ Big Bang Theory S07E05\\/\u7B2C\u4E03\u5B63\u7B2C5\u96C6\\/\u5723\u57CE\u5BB6\ - \u56ED\u53CC\u8BED\u5B57\u5E55 the.big.bang.theory.705.hdtv-lol\",\"revision\"\ - :0},{\"subtype\":\"SSA\",\"id\":244632,\"lang\":{\"desc\":\"\u82F1 \u7B80\"\ - ,\"langlist\":{\"langeng\":true,\"langchs\":true}},\"vote_score\":0,\"upload_time\"\ - :\"2013-10-18 22:15:16\",\"native_name\":\"\u5929\u624D\u7406\u8BBA\u4F20\\\ - /The Big Bang Theory S07E05\u751F\u6D3B\u5927\u7206\u70B8 \u7B2C\u4E03\u5B63\ - \u7B2C\u4E94\u96C6\u3010\u8C22\u8033\u6735\u5B57\u5E55\u7EC4\u3011\",\"videoname\"\ - :\"The.Big.Bang.Theory.S07E05.720p.HDTV.X264-DIMENSION\",\"revision\":0},{\"\ - subtype\":\"\u5176\u4ED6\",\"id\":244630,\"lang\":{\"desc\":\"\",\"langlist\"\ - :{}},\"vote_score\":0,\"upload_time\":\"2013-10-18 21:31:21\",\"native_name\"\ - :\"\",\"videoname\":\"\u751F\u6D3B\u5927\u7206\u70B8 \u7B2C7\u96C6\u7B2C5\u96C6\ - \ 720P\",\"revision\":0},{\"subtype\":\"\u5176\u4ED6\",\"id\":244624,\"lang\"\ - :{\"desc\":\"\u82F1 \u7B80 \u7E41\",\"langlist\":{\"langeng\":true,\"langcht\"\ - :true,\"langchs\":true}},\"vote_score\":0,\"upload_time\":\"2013-10-18 20:46:57\"\ - ,\"native_name\":\"The Big Bang Theory S07E05\",\"videoname\":\"\u751F\u6D3B\ - \u5927\u7206\u70B8\u7B2C\u4E03\u5B63\u7B2C5\u96C6\",\"revision\":0},{\"subtype\"\ - :\"Subrip(srt)\",\"id\":585062,\"lang\":{\"desc\":\"\u82F1 \u7B80 \u7E41 \u53CC\ - \u8BED\",\"langlist\":{\"langchs\":true,\"langeng\":true,\"langdou\":true,\"\ - langcht\":true}},\"vote_score\":0,\"upload_time\":\"2013-10-17 17:31:00\"\ - ,\"release_site\":\"\u4EBA\u4EBA\u5F71\u89C6YYeTs\",\"native_name\":\"\u751F\ - \u6D3B\u5927\u7206\u70B8 \u7B2C7\u96C6\u7B2C5\u96C6\",\"videoname\":\"The\ - \ Big Bang Theory S07E05\",\"revision\":0}],\"action\":\"search\"}}\n" - headers: - access-control-allow-origin: - - '*' - connection: - - keep-alive - content-type: - - application/json - date: - - Sat, 30 Nov 2019 07:14:39 GMT - server: - - nginx - transfer-encoding: - - chunked - vary: - - Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/assrt/test_query_list_subtitles.yaml b/tests/cassettes/assrt/test_query_list_subtitles.yaml deleted file mode 100644 index 3eedcc705..000000000 --- a/tests/cassettes/assrt/test_query_list_subtitles.yaml +++ /dev/null @@ -1,98 +0,0 @@ -interactions: -- request: - body: null - headers: - User-Agent: - - Sub-Zero/2 - method: GET - uri: https://api.assrt.net/v1/sub/search?q=%5B%27Man+of+Steel+2013%27%5D&token=SECRET&is_file=%5B%271%27%5D - response: - body: - string: "{\"status\":0,\"sub\":{\"keyword\":\"Man of Steel 2013\",\"result\"\ - :\"succeed\",\"subs\":[{\"subtype\":\"SSA\",\"id\":618185,\"lang\":{\"desc\"\ - :\"\u82F1 \u7B80 \u7E41 \u53CC\u8BED\",\"langlist\":{\"langchs\":true,\"langeng\"\ - :true,\"langdou\":true,\"langcht\":true}},\"vote_score\":0,\"upload_time\"\ - :\"2018-01-26 12:19:27\",\"release_site\":\"CMCT\",\"native_name\":\"\u8D85\ - \u4EBA\uFF1A\u94A2\u94C1\u4E4B\u8EAF.Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.\u7B80\ - \u7E41\u82F1\u53CC\u8BED\u5B57\u5E55\",\"videoname\":\"Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT\"\ - ,\"revision\":0},{\"subtype\":\"SSA\",\"id\":316973,\"vote_score\":0,\"upload_time\"\ - :\"2014-12-06 04:13:44\",\"native_name\":\"\u8D85\u4EBA\uFF1A\u94A2\u94C1\u4E4B\ - \u8EAF\\/\u8D85\u4EBA\uFF1A\u94A2\u94C1\u82F1\u96C4\",\"videoname\":\"Man\ - \ of Steel 2013 720p BluRay x264 DTS-WiKi\",\"revision\":0},{\"subtype\":\"\ - Subrip(srt)\",\"id\":253629,\"lang\":{\"desc\":\"\u7E41\",\"langlist\":{\"\ - langcht\":true}},\"vote_score\":0,\"upload_time\":\"2014-03-17 15:30:19\"\ - ,\"native_name\":\"\",\"videoname\":\"[\u8D85\u4EBA \u92FC\u9435\u82F1\u96C4\ - ]Man.of.Steel.(2013).BDRip.720p.DTS.X264-Felony\",\"revision\":0},{\"subtype\"\ - :\"SSA\",\"id\":252930,\"lang\":{\"desc\":\"\u82F1 \u7E41 \u53CC\u8BED\",\"\ - langlist\":{\"langeng\":true,\"langdou\":true,\"langcht\":true}},\"vote_score\"\ - :45,\"upload_time\":\"2014-03-05 18:10:39\",\"native_name\":\"\u8D85\u4EBA\ - \uFF1A\u92FC\u9435\u82F1\u96C4\",\"videoname\":\"Man of Steel\",\"revision\"\ - :0},{\"subtype\":\"Subrip(srt)\",\"id\":246016,\"lang\":{\"desc\":\"\u82F1\ - \ \u7B80 \u7E41\",\"langlist\":{\"langeng\":true,\"langcht\":true,\"langchs\"\ - :true}},\"vote_score\":0,\"upload_time\":\"2013-11-09 10:43:13\",\"native_name\"\ - :\"\u8D85\u4EBA\uFF1A\u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA\uFF1A\u94A2\u94C1\ - \u82F1\u96C4\\/\u3010TLF\u5B57\u5E55\u7EC4\u3011Man of Steel\",\"videoname\"\ - :\"Man.of.Steel.2013.720p.BluRay.x264.YIFY\",\"revision\":0},{\"subtype\"\ - :\"SSA\",\"id\":245602,\"lang\":{\"desc\":\"\u7B80 \u7E41 \u53CC\u8BED\",\"\ - langlist\":{\"langchs\":true,\"langdou\":true,\"langcht\":true}},\"vote_score\"\ - :0,\"upload_time\":\"2013-11-02 05:56:40\",\"native_name\":\"\u8D85\u4EBA\uFF1A\ - \u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA\uFF1A\u94A2\u94C1\u82F1\u96C4\\/\u7279\ - \u6548\u53CC\u8BED\\/\u84DD\u5149\u5B57\u5E55\",\"videoname\":\"Man of Steel\ - \ 1080p.bluray.x264-sector7\",\"revision\":0},{\"subtype\":\"\u5176\u4ED6\"\ - ,\"id\":245568,\"lang\":{\"desc\":\"\u7B80\",\"langlist\":{\"langchs\":true}},\"\ - vote_score\":0,\"upload_time\":\"2013-10-31 23:41:07\",\"native_name\":\"\u8D85\ - \u4EBA: \u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA: \u94A2\u94C1\u82F1\u96C4\"\ - ,\"videoname\":\"Man.of.Steel.2013\",\"revision\":0},{\"subtype\":\"VobSub\"\ - ,\"id\":245259,\"vote_score\":100,\"upload_time\":\"2013-10-27 07:04:18\"\ - ,\"native_name\":\"\",\"videoname\":\"Man.Of.Steel.3D.2013.1080p.BluRay.Half-SBS.DTS.x264-PublicHD\"\ - ,\"revision\":0},{\"subtype\":\"Subrip(srt)\",\"id\":245131,\"lang\":{\"desc\"\ - :\"\u7B80\",\"langlist\":{\"langchs\":true}},\"vote_score\":80,\"upload_time\"\ - :\"2013-10-25 04:50:37\",\"native_name\":\"\u8D85\u4EBA-\u94A2\u94C1\u4E4B\ - \u8EAF\",\"videoname\":\"Man.Of.Steel\",\"revision\":0},{\"subtype\":\"SSA\"\ - ,\"id\":245056,\"lang\":{\"desc\":\"\u7E41\",\"langlist\":{\"langcht\":true}},\"\ - vote_score\":0,\"upload_time\":\"2013-10-24 07:52:31\",\"native_name\":\"\"\ - ,\"videoname\":\"\u8D85\u4EBA \u92FC\u9435\u82F1\u96C4 Man of Steel (2013)\ - \ 1080p.cht\",\"revision\":0},{\"subtype\":\"Subrip(srt)\",\"id\":244971,\"\ - lang\":{\"desc\":\"\u7B80 \u7E41\",\"langlist\":{\"langchs\":true,\"langcht\"\ - :true}},\"vote_score\":10,\"upload_time\":\"2013-10-23 00:46:40\",\"native_name\"\ - :\"\u84DD\u5149\u539F\u76D8\u5B57\u5E55\",\"videoname\":\"\u8D85\u4EBA: \u94A2\ - \u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA: \u94A2\u94C1\u82F1\u96C4(\u6E2F\\/\u53F0\ - ).Man.of.Steel.2013.BluRay CEE\u7248\u84DD\u5149\u539F\u76D8\",\"revision\"\ - :0},{\"subtype\":\"Subrip(srt)\",\"id\":244969,\"lang\":{\"desc\":\"\",\"\ - langlist\":{}},\"vote_score\":0,\"upload_time\":\"2013-10-22 23:39:00\",\"\ - native_name\":\"\u8D85\u4EBA\uFF1A\u94A2\u94C1\u4E4B\u8EAF 3D\\/\u8D85\u4EBA\ - \uFF1A\u94A2\u94C1\u82F1\u96C4\\/Man of Steel 3D\",\"videoname\":\"Man.Of.Steel.3D.2013.1080p.BluRay.Half-SBS.DTS.x264-PublicHD\"\ - ,\"revision\":0},{\"subtype\":\"SSA\",\"id\":244960,\"lang\":{\"desc\":\"\u82F1\ - \ \u7B80\",\"langlist\":{\"langeng\":true,\"langchs\":true}},\"vote_score\"\ - :0,\"upload_time\":\"2013-10-22 22:06:42\",\"native_name\":\"\u8D85\u4EBA\ - :\u94A2\u94C1\u4E4B\u8EAF\",\"videoname\":\"Superman: Man of Steel BD\",\"\ - revision\":0},{\"subtype\":\"\u5176\u4ED6\",\"id\":244939,\"lang\":{\"desc\"\ - :\"\",\"langlist\":{}},\"vote_score\":0,\"upload_time\":\"2013-10-22 17:42:45\"\ - ,\"native_name\":\"\",\"videoname\":\"\u8D85\u4EBA\uFF1A\u94A2\u94C1\u4E4B\ - \u8EAF.Man.of.Steel.2013.1080p-PublicHD 2D.1080p\u62163D.1080p.HSBS-PublicHD\"\ - ,\"revision\":0},{\"subtype\":\"Subrip(srt)\",\"id\":244863,\"lang\":{\"desc\"\ - :\"\u82F1 \u7B80 \u7E41\",\"langlist\":{\"langeng\":true,\"langcht\":true,\"\ - langchs\":true}},\"vote_score\":0,\"upload_time\":\"2013-10-21 16:52:23\"\ - ,\"native_name\":\"\\/Man of Steel \\/\u8D85\u4EBA:\u94A2\u94C1\u4E4B\u8EAF\ - \\/\u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA:\u94A2\u94C1\u82F1\u96C4\",\"videoname\"\ - :\"man.of.steel.2013.720p.bluray.x264-felony.mkv\",\"revision\":0}],\"action\"\ - :\"search\"}}\n" - headers: - access-control-allow-origin: - - '*' - connection: - - keep-alive - content-type: - - application/json - date: - - Sat, 30 Nov 2019 08:28:00 GMT - server: - - nginx - transfer-encoding: - - chunked - vary: - - Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/assrt/test_query_movie_zh.yaml b/tests/cassettes/assrt/test_query_movie_zh.yaml deleted file mode 100644 index 14ba6c5c0..000000000 --- a/tests/cassettes/assrt/test_query_movie_zh.yaml +++ /dev/null @@ -1,97 +0,0 @@ -interactions: -- request: - body: null - headers: - User-Agent: - - Sub-Zero/2 - method: GET - uri: https://api.assrt.net/v1/sub/search?q=%5B%27Man+of+Steel+2013%27%5D&token=SECRET&is_file=%5B%271%27%5D - response: - body: - string: "{\"status\":0,\"sub\":{\"keyword\":\"Man of Steel 2013\",\"result\"\ - :\"succeed\",\"subs\":[{\"subtype\":\"SSA\",\"id\":618185,\"lang\":{\"desc\"\ - :\"\u82F1 \u7B80 \u7E41 \u53CC\u8BED\",\"langlist\":{\"langcht\":true,\"langeng\"\ - :true,\"langdou\":true,\"langchs\":true}},\"vote_score\":0,\"upload_time\"\ - :\"2018-01-26 12:19:27\",\"native_name\":\"\u8D85\u4EBA\uFF1A\u94A2\u94C1\u4E4B\ - \u8EAF.Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.\u7B80\u7E41\u82F1\ - \u53CC\u8BED\u5B57\u5E55\",\"videoname\":\"Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT\"\ - ,\"release_site\":\"CMCT\",\"revision\":0},{\"upload_time\":\"2014-12-06 04:13:44\"\ - ,\"subtype\":\"SSA\",\"id\":316973,\"native_name\":\"\u8D85\u4EBA\uFF1A\u94A2\ - \u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA\uFF1A\u94A2\u94C1\u82F1\u96C4\",\"videoname\"\ - :\"Man of Steel 2013 720p BluRay x264 DTS-WiKi\",\"revision\":0,\"vote_score\"\ - :0},{\"upload_time\":\"2014-03-17 15:30:19\",\"subtype\":\"Subrip(srt)\",\"\ - revision\":0,\"id\":253629,\"lang\":{\"desc\":\"\u7E41\",\"langlist\":{\"\ - langcht\":true}},\"videoname\":\"[\u8D85\u4EBA \u92FC\u9435\u82F1\u96C4]Man.of.Steel.(2013).BDRip.720p.DTS.X264-Felony\"\ - ,\"native_name\":\"\",\"vote_score\":0},{\"upload_time\":\"2014-03-05 18:10:39\"\ - ,\"subtype\":\"SSA\",\"revision\":0,\"id\":252930,\"lang\":{\"desc\":\"\u82F1\ - \ \u7E41 \u53CC\u8BED\",\"langlist\":{\"langeng\":true,\"langcht\":true,\"\ - langdou\":true}},\"videoname\":\"Man of Steel\",\"native_name\":\"\u8D85\u4EBA\ - \uFF1A\u92FC\u9435\u82F1\u96C4\",\"vote_score\":45},{\"upload_time\":\"2013-11-09\ - \ 10:43:13\",\"subtype\":\"Subrip(srt)\",\"revision\":0,\"id\":246016,\"lang\"\ - :{\"desc\":\"\u82F1 \u7B80 \u7E41\",\"langlist\":{\"langeng\":true,\"langchs\"\ - :true,\"langcht\":true}},\"videoname\":\"Man.of.Steel.2013.720p.BluRay.x264.YIFY\"\ - ,\"native_name\":\"\u8D85\u4EBA\uFF1A\u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA\ - \uFF1A\u94A2\u94C1\u82F1\u96C4\\/\u3010TLF\u5B57\u5E55\u7EC4\u3011Man of Steel\"\ - ,\"vote_score\":0},{\"upload_time\":\"2013-11-02 05:56:40\",\"subtype\":\"\ - SSA\",\"revision\":0,\"id\":245602,\"lang\":{\"desc\":\"\u7B80 \u7E41 \u53CC\ - \u8BED\",\"langlist\":{\"langcht\":true,\"langchs\":true,\"langdou\":true}},\"\ - videoname\":\"Man of Steel 1080p.bluray.x264-sector7\",\"native_name\":\"\u8D85\ - \u4EBA\uFF1A\u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA\uFF1A\u94A2\u94C1\u82F1\ - \u96C4\\/\u7279\u6548\u53CC\u8BED\\/\u84DD\u5149\u5B57\u5E55\",\"vote_score\"\ - :0},{\"upload_time\":\"2013-10-31 23:41:07\",\"subtype\":\"\u5176\u4ED6\"\ - ,\"revision\":0,\"id\":245568,\"lang\":{\"desc\":\"\u7B80\",\"langlist\":{\"\ - langchs\":true}},\"videoname\":\"Man.of.Steel.2013\",\"native_name\":\"\u8D85\ - \u4EBA: \u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA: \u94A2\u94C1\u82F1\u96C4\"\ - ,\"vote_score\":0},{\"upload_time\":\"2013-10-27 07:04:18\",\"subtype\":\"\ - VobSub\",\"id\":245259,\"native_name\":\"\",\"videoname\":\"Man.Of.Steel.3D.2013.1080p.BluRay.Half-SBS.DTS.x264-PublicHD\"\ - ,\"revision\":0,\"vote_score\":100},{\"upload_time\":\"2013-10-25 04:50:37\"\ - ,\"subtype\":\"Subrip(srt)\",\"revision\":0,\"id\":245131,\"lang\":{\"desc\"\ - :\"\u7B80\",\"langlist\":{\"langchs\":true}},\"videoname\":\"Man.Of.Steel\"\ - ,\"native_name\":\"\u8D85\u4EBA-\u94A2\u94C1\u4E4B\u8EAF\",\"vote_score\"\ - :80},{\"upload_time\":\"2013-10-24 07:52:31\",\"subtype\":\"SSA\",\"revision\"\ - :0,\"id\":245056,\"lang\":{\"desc\":\"\u7E41\",\"langlist\":{\"langcht\":true}},\"\ - videoname\":\"\u8D85\u4EBA \u92FC\u9435\u82F1\u96C4 Man of Steel (2013) 1080p.cht\"\ - ,\"native_name\":\"\",\"vote_score\":0},{\"upload_time\":\"2013-10-23 00:46:40\"\ - ,\"subtype\":\"Subrip(srt)\",\"revision\":0,\"id\":244971,\"lang\":{\"desc\"\ - :\"\u7B80 \u7E41\",\"langlist\":{\"langcht\":true,\"langchs\":true}},\"videoname\"\ - :\"\u8D85\u4EBA: \u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA: \u94A2\u94C1\u82F1\ - \u96C4(\u6E2F\\/\u53F0).Man.of.Steel.2013.BluRay CEE\u7248\u84DD\u5149\u539F\ - \u76D8\",\"native_name\":\"\u84DD\u5149\u539F\u76D8\u5B57\u5E55\",\"vote_score\"\ - :10},{\"upload_time\":\"2013-10-22 23:39:00\",\"subtype\":\"Subrip(srt)\"\ - ,\"revision\":0,\"id\":244969,\"lang\":{\"desc\":\"\",\"langlist\":{}},\"\ - videoname\":\"Man.Of.Steel.3D.2013.1080p.BluRay.Half-SBS.DTS.x264-PublicHD\"\ - ,\"native_name\":\"\u8D85\u4EBA\uFF1A\u94A2\u94C1\u4E4B\u8EAF 3D\\/\u8D85\u4EBA\ - \uFF1A\u94A2\u94C1\u82F1\u96C4\\/Man of Steel 3D\",\"vote_score\":0},{\"upload_time\"\ - :\"2013-10-22 22:06:42\",\"subtype\":\"SSA\",\"revision\":0,\"id\":244960,\"\ - lang\":{\"desc\":\"\u82F1 \u7B80\",\"langlist\":{\"langchs\":true,\"langeng\"\ - :true}},\"videoname\":\"Superman: Man of Steel BD\",\"native_name\":\"\u8D85\ - \u4EBA:\u94A2\u94C1\u4E4B\u8EAF\",\"vote_score\":0},{\"upload_time\":\"2013-10-22\ - \ 17:42:45\",\"subtype\":\"\u5176\u4ED6\",\"revision\":0,\"id\":244939,\"\ - lang\":{\"desc\":\"\",\"langlist\":{}},\"videoname\":\"\u8D85\u4EBA\uFF1A\u94A2\ - \u94C1\u4E4B\u8EAF.Man.of.Steel.2013.1080p-PublicHD 2D.1080p\u62163D.1080p.HSBS-PublicHD\"\ - ,\"native_name\":\"\",\"vote_score\":0},{\"upload_time\":\"2013-10-21 16:52:23\"\ - ,\"subtype\":\"Subrip(srt)\",\"revision\":0,\"id\":244863,\"lang\":{\"desc\"\ - :\"\u82F1 \u7B80 \u7E41\",\"langlist\":{\"langeng\":true,\"langchs\":true,\"\ - langcht\":true}},\"videoname\":\"man.of.steel.2013.720p.bluray.x264-felony.mkv\"\ - ,\"native_name\":\"\\/Man of Steel \\/\u8D85\u4EBA:\u94A2\u94C1\u4E4B\u8EAF\ - \\/\u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA:\u94A2\u94C1\u82F1\u96C4\",\"vote_score\"\ - :0}],\"action\":\"search\"}}\n" - headers: - access-control-allow-origin: - - '*' - connection: - - keep-alive - content-type: - - application/json - date: - - Sat, 30 Nov 2019 07:14:39 GMT - server: - - nginx - transfer-encoding: - - chunked - vary: - - Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/assrt/test_query_movie_zh_Hans.yaml b/tests/cassettes/assrt/test_query_movie_zh_Hans.yaml deleted file mode 100644 index 14ba6c5c0..000000000 --- a/tests/cassettes/assrt/test_query_movie_zh_Hans.yaml +++ /dev/null @@ -1,97 +0,0 @@ -interactions: -- request: - body: null - headers: - User-Agent: - - Sub-Zero/2 - method: GET - uri: https://api.assrt.net/v1/sub/search?q=%5B%27Man+of+Steel+2013%27%5D&token=SECRET&is_file=%5B%271%27%5D - response: - body: - string: "{\"status\":0,\"sub\":{\"keyword\":\"Man of Steel 2013\",\"result\"\ - :\"succeed\",\"subs\":[{\"subtype\":\"SSA\",\"id\":618185,\"lang\":{\"desc\"\ - :\"\u82F1 \u7B80 \u7E41 \u53CC\u8BED\",\"langlist\":{\"langcht\":true,\"langeng\"\ - :true,\"langdou\":true,\"langchs\":true}},\"vote_score\":0,\"upload_time\"\ - :\"2018-01-26 12:19:27\",\"native_name\":\"\u8D85\u4EBA\uFF1A\u94A2\u94C1\u4E4B\ - \u8EAF.Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.\u7B80\u7E41\u82F1\ - \u53CC\u8BED\u5B57\u5E55\",\"videoname\":\"Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT\"\ - ,\"release_site\":\"CMCT\",\"revision\":0},{\"upload_time\":\"2014-12-06 04:13:44\"\ - ,\"subtype\":\"SSA\",\"id\":316973,\"native_name\":\"\u8D85\u4EBA\uFF1A\u94A2\ - \u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA\uFF1A\u94A2\u94C1\u82F1\u96C4\",\"videoname\"\ - :\"Man of Steel 2013 720p BluRay x264 DTS-WiKi\",\"revision\":0,\"vote_score\"\ - :0},{\"upload_time\":\"2014-03-17 15:30:19\",\"subtype\":\"Subrip(srt)\",\"\ - revision\":0,\"id\":253629,\"lang\":{\"desc\":\"\u7E41\",\"langlist\":{\"\ - langcht\":true}},\"videoname\":\"[\u8D85\u4EBA \u92FC\u9435\u82F1\u96C4]Man.of.Steel.(2013).BDRip.720p.DTS.X264-Felony\"\ - ,\"native_name\":\"\",\"vote_score\":0},{\"upload_time\":\"2014-03-05 18:10:39\"\ - ,\"subtype\":\"SSA\",\"revision\":0,\"id\":252930,\"lang\":{\"desc\":\"\u82F1\ - \ \u7E41 \u53CC\u8BED\",\"langlist\":{\"langeng\":true,\"langcht\":true,\"\ - langdou\":true}},\"videoname\":\"Man of Steel\",\"native_name\":\"\u8D85\u4EBA\ - \uFF1A\u92FC\u9435\u82F1\u96C4\",\"vote_score\":45},{\"upload_time\":\"2013-11-09\ - \ 10:43:13\",\"subtype\":\"Subrip(srt)\",\"revision\":0,\"id\":246016,\"lang\"\ - :{\"desc\":\"\u82F1 \u7B80 \u7E41\",\"langlist\":{\"langeng\":true,\"langchs\"\ - :true,\"langcht\":true}},\"videoname\":\"Man.of.Steel.2013.720p.BluRay.x264.YIFY\"\ - ,\"native_name\":\"\u8D85\u4EBA\uFF1A\u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA\ - \uFF1A\u94A2\u94C1\u82F1\u96C4\\/\u3010TLF\u5B57\u5E55\u7EC4\u3011Man of Steel\"\ - ,\"vote_score\":0},{\"upload_time\":\"2013-11-02 05:56:40\",\"subtype\":\"\ - SSA\",\"revision\":0,\"id\":245602,\"lang\":{\"desc\":\"\u7B80 \u7E41 \u53CC\ - \u8BED\",\"langlist\":{\"langcht\":true,\"langchs\":true,\"langdou\":true}},\"\ - videoname\":\"Man of Steel 1080p.bluray.x264-sector7\",\"native_name\":\"\u8D85\ - \u4EBA\uFF1A\u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA\uFF1A\u94A2\u94C1\u82F1\ - \u96C4\\/\u7279\u6548\u53CC\u8BED\\/\u84DD\u5149\u5B57\u5E55\",\"vote_score\"\ - :0},{\"upload_time\":\"2013-10-31 23:41:07\",\"subtype\":\"\u5176\u4ED6\"\ - ,\"revision\":0,\"id\":245568,\"lang\":{\"desc\":\"\u7B80\",\"langlist\":{\"\ - langchs\":true}},\"videoname\":\"Man.of.Steel.2013\",\"native_name\":\"\u8D85\ - \u4EBA: \u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA: \u94A2\u94C1\u82F1\u96C4\"\ - ,\"vote_score\":0},{\"upload_time\":\"2013-10-27 07:04:18\",\"subtype\":\"\ - VobSub\",\"id\":245259,\"native_name\":\"\",\"videoname\":\"Man.Of.Steel.3D.2013.1080p.BluRay.Half-SBS.DTS.x264-PublicHD\"\ - ,\"revision\":0,\"vote_score\":100},{\"upload_time\":\"2013-10-25 04:50:37\"\ - ,\"subtype\":\"Subrip(srt)\",\"revision\":0,\"id\":245131,\"lang\":{\"desc\"\ - :\"\u7B80\",\"langlist\":{\"langchs\":true}},\"videoname\":\"Man.Of.Steel\"\ - ,\"native_name\":\"\u8D85\u4EBA-\u94A2\u94C1\u4E4B\u8EAF\",\"vote_score\"\ - :80},{\"upload_time\":\"2013-10-24 07:52:31\",\"subtype\":\"SSA\",\"revision\"\ - :0,\"id\":245056,\"lang\":{\"desc\":\"\u7E41\",\"langlist\":{\"langcht\":true}},\"\ - videoname\":\"\u8D85\u4EBA \u92FC\u9435\u82F1\u96C4 Man of Steel (2013) 1080p.cht\"\ - ,\"native_name\":\"\",\"vote_score\":0},{\"upload_time\":\"2013-10-23 00:46:40\"\ - ,\"subtype\":\"Subrip(srt)\",\"revision\":0,\"id\":244971,\"lang\":{\"desc\"\ - :\"\u7B80 \u7E41\",\"langlist\":{\"langcht\":true,\"langchs\":true}},\"videoname\"\ - :\"\u8D85\u4EBA: \u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA: \u94A2\u94C1\u82F1\ - \u96C4(\u6E2F\\/\u53F0).Man.of.Steel.2013.BluRay CEE\u7248\u84DD\u5149\u539F\ - \u76D8\",\"native_name\":\"\u84DD\u5149\u539F\u76D8\u5B57\u5E55\",\"vote_score\"\ - :10},{\"upload_time\":\"2013-10-22 23:39:00\",\"subtype\":\"Subrip(srt)\"\ - ,\"revision\":0,\"id\":244969,\"lang\":{\"desc\":\"\",\"langlist\":{}},\"\ - videoname\":\"Man.Of.Steel.3D.2013.1080p.BluRay.Half-SBS.DTS.x264-PublicHD\"\ - ,\"native_name\":\"\u8D85\u4EBA\uFF1A\u94A2\u94C1\u4E4B\u8EAF 3D\\/\u8D85\u4EBA\ - \uFF1A\u94A2\u94C1\u82F1\u96C4\\/Man of Steel 3D\",\"vote_score\":0},{\"upload_time\"\ - :\"2013-10-22 22:06:42\",\"subtype\":\"SSA\",\"revision\":0,\"id\":244960,\"\ - lang\":{\"desc\":\"\u82F1 \u7B80\",\"langlist\":{\"langchs\":true,\"langeng\"\ - :true}},\"videoname\":\"Superman: Man of Steel BD\",\"native_name\":\"\u8D85\ - \u4EBA:\u94A2\u94C1\u4E4B\u8EAF\",\"vote_score\":0},{\"upload_time\":\"2013-10-22\ - \ 17:42:45\",\"subtype\":\"\u5176\u4ED6\",\"revision\":0,\"id\":244939,\"\ - lang\":{\"desc\":\"\",\"langlist\":{}},\"videoname\":\"\u8D85\u4EBA\uFF1A\u94A2\ - \u94C1\u4E4B\u8EAF.Man.of.Steel.2013.1080p-PublicHD 2D.1080p\u62163D.1080p.HSBS-PublicHD\"\ - ,\"native_name\":\"\",\"vote_score\":0},{\"upload_time\":\"2013-10-21 16:52:23\"\ - ,\"subtype\":\"Subrip(srt)\",\"revision\":0,\"id\":244863,\"lang\":{\"desc\"\ - :\"\u82F1 \u7B80 \u7E41\",\"langlist\":{\"langeng\":true,\"langchs\":true,\"\ - langcht\":true}},\"videoname\":\"man.of.steel.2013.720p.bluray.x264-felony.mkv\"\ - ,\"native_name\":\"\\/Man of Steel \\/\u8D85\u4EBA:\u94A2\u94C1\u4E4B\u8EAF\ - \\/\u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA:\u94A2\u94C1\u82F1\u96C4\",\"vote_score\"\ - :0}],\"action\":\"search\"}}\n" - headers: - access-control-allow-origin: - - '*' - connection: - - keep-alive - content-type: - - application/json - date: - - Sat, 30 Nov 2019 07:14:39 GMT - server: - - nginx - transfer-encoding: - - chunked - vary: - - Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/tests/cassettes/assrt/test_query_movie_zh_Hant.yaml b/tests/cassettes/assrt/test_query_movie_zh_Hant.yaml deleted file mode 100644 index 6ae8d38c0..000000000 --- a/tests/cassettes/assrt/test_query_movie_zh_Hant.yaml +++ /dev/null @@ -1,97 +0,0 @@ -interactions: -- request: - body: null - headers: - User-Agent: - - Sub-Zero/2 - method: GET - uri: https://api.assrt.net/v1/sub/search?q=%5B%27Man+of+Steel+2013%27%5D&token=SECRET&is_file=%5B%271%27%5D - response: - body: - string: "{\"status\":0,\"sub\":{\"keyword\":\"Man of Steel 2013\",\"result\"\ - :\"succeed\",\"subs\":[{\"subtype\":\"SSA\",\"id\":618185,\"lang\":{\"desc\"\ - :\"\u82F1 \u7B80 \u7E41 \u53CC\u8BED\",\"langlist\":{\"langcht\":true,\"langeng\"\ - :true,\"langdou\":true,\"langchs\":true}},\"vote_score\":0,\"upload_time\"\ - :\"2018-01-26 12:19:27\",\"native_name\":\"\u8D85\u4EBA\uFF1A\u94A2\u94C1\u4E4B\ - \u8EAF.Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.\u7B80\u7E41\u82F1\ - \u53CC\u8BED\u5B57\u5E55\",\"videoname\":\"Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT\"\ - ,\"release_site\":\"CMCT\",\"revision\":0},{\"upload_time\":\"2014-12-06 04:13:44\"\ - ,\"subtype\":\"SSA\",\"id\":316973,\"native_name\":\"\u8D85\u4EBA\uFF1A\u94A2\ - \u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA\uFF1A\u94A2\u94C1\u82F1\u96C4\",\"videoname\"\ - :\"Man of Steel 2013 720p BluRay x264 DTS-WiKi\",\"revision\":0,\"vote_score\"\ - :0},{\"upload_time\":\"2014-03-17 15:30:19\",\"subtype\":\"Subrip(srt)\",\"\ - revision\":0,\"id\":253629,\"lang\":{\"desc\":\"\u7E41\",\"langlist\":{\"\ - langcht\":true}},\"videoname\":\"[\u8D85\u4EBA \u92FC\u9435\u82F1\u96C4]Man.of.Steel.(2013).BDRip.720p.DTS.X264-Felony\"\ - ,\"native_name\":\"\",\"vote_score\":0},{\"upload_time\":\"2014-03-05 18:10:39\"\ - ,\"subtype\":\"SSA\",\"revision\":0,\"id\":252930,\"lang\":{\"desc\":\"\u82F1\ - \ \u7E41 \u53CC\u8BED\",\"langlist\":{\"langeng\":true,\"langcht\":true,\"\ - langdou\":true}},\"videoname\":\"Man of Steel\",\"native_name\":\"\u8D85\u4EBA\ - \uFF1A\u92FC\u9435\u82F1\u96C4\",\"vote_score\":45},{\"upload_time\":\"2013-11-09\ - \ 10:43:13\",\"subtype\":\"Subrip(srt)\",\"revision\":0,\"id\":246016,\"lang\"\ - :{\"desc\":\"\u82F1 \u7B80 \u7E41\",\"langlist\":{\"langeng\":true,\"langchs\"\ - :true,\"langcht\":true}},\"videoname\":\"Man.of.Steel.2013.720p.BluRay.x264.YIFY\"\ - ,\"native_name\":\"\u8D85\u4EBA\uFF1A\u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA\ - \uFF1A\u94A2\u94C1\u82F1\u96C4\\/\u3010TLF\u5B57\u5E55\u7EC4\u3011Man of Steel\"\ - ,\"vote_score\":0},{\"upload_time\":\"2013-11-02 05:56:40\",\"subtype\":\"\ - SSA\",\"revision\":0,\"id\":245602,\"lang\":{\"desc\":\"\u7B80 \u7E41 \u53CC\ - \u8BED\",\"langlist\":{\"langcht\":true,\"langchs\":true,\"langdou\":true}},\"\ - videoname\":\"Man of Steel 1080p.bluray.x264-sector7\",\"native_name\":\"\u8D85\ - \u4EBA\uFF1A\u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA\uFF1A\u94A2\u94C1\u82F1\ - \u96C4\\/\u7279\u6548\u53CC\u8BED\\/\u84DD\u5149\u5B57\u5E55\",\"vote_score\"\ - :0},{\"upload_time\":\"2013-10-31 23:41:07\",\"subtype\":\"\u5176\u4ED6\"\ - ,\"revision\":0,\"id\":245568,\"lang\":{\"desc\":\"\u7B80\",\"langlist\":{\"\ - langchs\":true}},\"videoname\":\"Man.of.Steel.2013\",\"native_name\":\"\u8D85\ - \u4EBA: \u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA: \u94A2\u94C1\u82F1\u96C4\"\ - ,\"vote_score\":0},{\"upload_time\":\"2013-10-27 07:04:18\",\"subtype\":\"\ - VobSub\",\"id\":245259,\"native_name\":\"\",\"videoname\":\"Man.Of.Steel.3D.2013.1080p.BluRay.Half-SBS.DTS.x264-PublicHD\"\ - ,\"revision\":0,\"vote_score\":100},{\"upload_time\":\"2013-10-25 04:50:37\"\ - ,\"subtype\":\"Subrip(srt)\",\"revision\":0,\"id\":245131,\"lang\":{\"desc\"\ - :\"\u7B80\",\"langlist\":{\"langchs\":true}},\"videoname\":\"Man.Of.Steel\"\ - ,\"native_name\":\"\u8D85\u4EBA-\u94A2\u94C1\u4E4B\u8EAF\",\"vote_score\"\ - :80},{\"upload_time\":\"2013-10-24 07:52:31\",\"subtype\":\"SSA\",\"revision\"\ - :0,\"id\":245056,\"lang\":{\"desc\":\"\u7E41\",\"langlist\":{\"langcht\":true}},\"\ - videoname\":\"\u8D85\u4EBA \u92FC\u9435\u82F1\u96C4 Man of Steel (2013) 1080p.cht\"\ - ,\"native_name\":\"\",\"vote_score\":0},{\"upload_time\":\"2013-10-23 00:46:40\"\ - ,\"subtype\":\"Subrip(srt)\",\"revision\":0,\"id\":244971,\"lang\":{\"desc\"\ - :\"\u7B80 \u7E41\",\"langlist\":{\"langcht\":true,\"langchs\":true}},\"videoname\"\ - :\"\u8D85\u4EBA: \u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA: \u94A2\u94C1\u82F1\ - \u96C4(\u6E2F\\/\u53F0).Man.of.Steel.2013.BluRay CEE\u7248\u84DD\u5149\u539F\ - \u76D8\",\"native_name\":\"\u84DD\u5149\u539F\u76D8\u5B57\u5E55\",\"vote_score\"\ - :10},{\"upload_time\":\"2013-10-22 23:39:00\",\"subtype\":\"Subrip(srt)\"\ - ,\"revision\":0,\"id\":244969,\"lang\":{\"desc\":\"\",\"langlist\":{}},\"\ - videoname\":\"Man.Of.Steel.3D.2013.1080p.BluRay.Half-SBS.DTS.x264-PublicHD\"\ - ,\"native_name\":\"\u8D85\u4EBA\uFF1A\u94A2\u94C1\u4E4B\u8EAF 3D\\/\u8D85\u4EBA\ - \uFF1A\u94A2\u94C1\u82F1\u96C4\\/Man of Steel 3D\",\"vote_score\":0},{\"upload_time\"\ - :\"2013-10-22 22:06:42\",\"subtype\":\"SSA\",\"revision\":0,\"id\":244960,\"\ - lang\":{\"desc\":\"\u82F1 \u7B80\",\"langlist\":{\"langchs\":true,\"langeng\"\ - :true}},\"videoname\":\"Superman: Man of Steel BD\",\"native_name\":\"\u8D85\ - \u4EBA:\u94A2\u94C1\u4E4B\u8EAF\",\"vote_score\":0},{\"upload_time\":\"2013-10-22\ - \ 17:42:45\",\"subtype\":\"\u5176\u4ED6\",\"revision\":0,\"id\":244939,\"\ - lang\":{\"desc\":\"\",\"langlist\":{}},\"videoname\":\"\u8D85\u4EBA\uFF1A\u94A2\ - \u94C1\u4E4B\u8EAF.Man.of.Steel.2013.1080p-PublicHD 2D.1080p\u62163D.1080p.HSBS-PublicHD\"\ - ,\"native_name\":\"\",\"vote_score\":0},{\"upload_time\":\"2013-10-21 16:52:23\"\ - ,\"subtype\":\"Subrip(srt)\",\"revision\":0,\"id\":244863,\"lang\":{\"desc\"\ - :\"\u82F1 \u7B80 \u7E41\",\"langlist\":{\"langeng\":true,\"langchs\":true,\"\ - langcht\":true}},\"videoname\":\"man.of.steel.2013.720p.bluray.x264-felony.mkv\"\ - ,\"native_name\":\"\\/Man of Steel \\/\u8D85\u4EBA:\u94A2\u94C1\u4E4B\u8EAF\ - \\/\u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA:\u94A2\u94C1\u82F1\u96C4\",\"vote_score\"\ - :0}],\"action\":\"search\"}}\n" - headers: - access-control-allow-origin: - - '*' - connection: - - keep-alive - content-type: - - application/json - date: - - Sat, 30 Nov 2019 07:27:41 GMT - server: - - nginx - transfer-encoding: - - chunked - vary: - - Accept-Encoding - status: - code: 200 - message: OK -version: 1 diff --git a/tests/conftest.py b/tests/conftest.py index 3666e501c..72f228e89 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,117 +1,5 @@ # -*- coding: utf-8 -*- -import libs -from io import BytesIO import os -from zipfile import ZipFile +import sys -import pytest -import requests -try: - from unittest.mock import Mock -except ImportError: - from mock import Mock - -from subliminal import Episode, Movie -from subliminal.cache import region - -@pytest.fixture(autouse=True, scope='session') -def configure_region(): - region.configure('dogpile.cache.null') - region.configure = Mock() - - -@pytest.fixture -def movies(): - return {'man_of_steel': - Movie(os.path.join('Man of Steel (2013)', 'man.of.steel.2013.720p.bluray.x264-felony.mkv'), 'Man of Steel', - format='BluRay', release_group='felony', resolution='720p', video_codec='h264', audio_codec='DTS', - imdb_id='tt0770828', size=7033732714, year=2013, - hashes={'napiprojekt': '6303e7ee6a835e9fcede9fb2fb00cb36', - 'opensubtitles': '5b8f8f4e41ccb21e', - 'shooter': '314f454ab464775498ae6f1f5ad813a9;fdaa8b702d8936feba2122e93ba5c44f;' - '0a6935e3436aa7db5597ef67a2c494e3;4d269733f36ddd49f71e92732a462fe5', - 'thesubdb': 'ad32876133355929d814457537e12dc2'}), - 'enders_game': - Movie('enders.game.2013.720p.bluray.x264-sparks.mkv', 'Ender\'s Game', - format='BluRay', release_group='sparks', resolution='720p', video_codec='h264', year=2013), - 'interstellar': - Movie('Interstellar.2014.2014.1080p.BluRay.x264.YIFY.rar', 'Interstellar', - format='BluRay', release_group='YIFY', resolution='1080p', video_codec='h264', year=2014)} - - -@pytest.fixture -def episodes(): - return {'bbt_s07e05': - Episode(os.path.join('The Big Bang Theory', 'Season 07', - 'The.Big.Bang.Theory.S07E05.720p.HDTV.X264-DIMENSION.mkv'), - 'The Big Bang Theory', 7, 5, title='The Workplace Proximity', year=2007, tvdb_id=4668379, - series_tvdb_id=80379, series_imdb_id='tt0898266', format='HDTV', release_group='DIMENSION', - resolution='720p', video_codec='h264', audio_codec='AC3', imdb_id='tt3229392', size=501910737, - hashes={'napiprojekt': '6303e7ee6a835e9fcede9fb2fb00cb36', - 'opensubtitles': '6878b3ef7c1bd19e', - 'shooter': 'c13e0e5243c56d280064d344676fff94;cd4184d1c0c623735f6db90841ce15fc;' - '3faefd72f92b63f2504269b4f484a377;8c68d1ef873afb8ba0cc9f97cbac41c1', - 'thesubdb': '9dbbfb7ba81c9a6237237dae8589fccc'}), - 'got_s03e10': - Episode(os.path.join('Game of Thrones', 'Season 03', - 'Game.of.Thrones.S03E10.Mhysa.720p.WEB-DL.DD5.1.H.264-NTb.mkv'), - 'Game of Thrones', 3, 10, title='Mhysa', tvdb_id=4517466, series_tvdb_id=121361, - series_imdb_id='tt0944947', format='WEB-DL', release_group='NTb', resolution='720p', - video_codec='h264', audio_codec='AC3', imdb_id='tt2178796', size=2142810931, - hashes={'napiprojekt': '6303e7ee6a835e9fcede9fb2fb00cb36', - 'opensubtitles': 'b850baa096976c22', - 'shooter': 'b02d992c04ad74b31c252bd5a097a036;ef1b32f873b2acf8f166fc266bdf011a;' - '82ce34a3bcee0c66ed3b26d900d31cca;78113770551f3efd1e2d4ec45898c59c', - 'thesubdb': 'b1f899c77f4c960b84b8dbf840d4e42d'}), - 'dallas_s01e03': - Episode('Dallas.S01E03.mkv', 'Dallas', 1, 3, title='Spy in the House', year=1978, tvdb_id=228224, - series_tvdb_id=77092, series_imdb_id='tt0077000'), - 'dallas_2012_s01e03': - Episode('Dallas.2012.S01E03.mkv', 'Dallas', 1, 3, title='The Price You Pay', year=2012, - original_series=False, tvdb_id=4199511, series_tvdb_id=242521, series_imdb_id='tt1723760', - imdb_id='tt2205526'), - 'marvels_agents_of_shield_s02e06': - Episode('Marvels.Agents.of.S.H.I.E.L.D.S02E06.720p.HDTV.x264-KILLERS.mkv', - 'Marvel\'s Agents of S.H.I.E.L.D.', 2, 6, year=2013, format='HDTV', release_group='KILLERS', - resolution='720p', video_codec='h264'), - 'csi_cyber_s02e03': - Episode('CSI.Cyber.S02E03.hdtv-lol.mp4', 'CSI: Cyber', 2, 3, format='HDTV', release_group='lol'), - 'the_x_files_s10e02': - Episode('The.X-Files.S10E02.HDTV.x264-KILLERS.mp4', 'The X-Files', 10, 2, format='HDTV', - release_group='KILLERS', video_codec='h264'), - 'colony_s01e09': - Episode('Colony.S01E09.720p.HDTV.x264-KILLERS.mkv', 'Colony', 1, 9, title='Zero Day', year=2016, - tvdb_id=5463229, series_tvdb_id=284210, series_imdb_id='tt4209256', format='HDTV', - release_group='KILLERS', resolution='720p', video_codec='h264', imdb_id='tt4926022'), - 'the_jinx_e05': - Episode('The.Jinx-The.Life.and.Deaths.of.Robert.Durst.E05.BDRip.x264-ROVERS.mkv', - 'The Jinx: The Life and Deaths of Robert Durst', 1, 5, year=2015, original_series=True, - format='BluRay', release_group='ROVERS', video_codec='h264'), - 'the_100_s03e09': - Episode('The.100.S03E09.720p.HDTV.x264-AVS.mkv', 'The 100', 3, 9, title='Stealing Fire', year=2014, - tvdb_id=5544536, series_tvdb_id=268592, series_imdb_id='tt2661044', format='HDTV', - release_group='AVS', resolution='720p', video_codec='h264', imdb_id='tt4799896'), - 'csi_s15e18': - Episode('CSI.S15E18.720p.HDTV.X264.DIMENSION.mkv', 'CSI: Crime Scene Investigation', 15, 18, - title='The End Game', year=2000, tvdb_id=5104359, series_tvdb_id=72546, series_imdb_id='tt0247082', - format='HDTV', release_group='DIMENSION', resolution='720p', video_codec='h264', - imdb_id='tt4145952')} - - -@pytest.fixture(scope='session') -def mkv(): - data_path = os.path.join('tests', 'data', 'mkv') - - # download matroska test suite - if not os.path.exists(data_path) or len(os.listdir(data_path)) != 8: - r = requests.get('http://downloads.sourceforge.net/project/matroska/test_files/matroska_test_w1_1.zip') - with ZipFile(BytesIO(r.content), 'r') as f: - f.extractall(data_path, [m for m in f.namelist() if os.path.splitext(m)[1] == '.mkv']) - - # populate a dict with mkv files - files = {} - for path in os.listdir(data_path): - name, _ = os.path.splitext(path) - files[name] = os.path.join(data_path, path) - - return files +sys.path.insert(0, os.path.join(os.path.dirname(__file__), "../libs/")) diff --git a/tests/libs.py b/tests/libs.py deleted file mode 100644 index 37b8809ac..000000000 --- a/tests/libs.py +++ /dev/null @@ -1,11 +0,0 @@ -# coding=utf-8 - -import os -import sys - - -def set_libs(): - sys.path.insert(0, os.path.join(os.path.dirname(__file__), '../libs/')) - - -set_libs() diff --git a/tests/subliminal_patch/cassettes/test_argenteam/test_download_subtitle.yaml b/tests/subliminal_patch/cassettes/test_argenteam/test_download_subtitle.yaml new file mode 100644 index 000000000..01d73f5e9 --- /dev/null +++ b/tests/subliminal_patch/cassettes/test_argenteam/test_download_subtitle.yaml @@ -0,0 +1,546 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Sub-Zero/2 + method: GET + uri: https://argenteam.net/api/v1/search?q=Breaking+Bad+S01E01 + response: + body: + string: !!binary | + H4sIAAAAAAAAAyxSvU4cMRB+lZErkJbTkTRoO1AiFJRIKBQUiGLWnuPm8HqW8fiiC+JhrqSgQHmE + fbHIvussfTPffD9+dUq5RMuuf3h1HFz/dblcXnTO2CK53l0p4TOnJ7jCACdflsuLU4CHu+X59+X5 + I5zBLUcx1znbTXWcJs4SyHUul3FE3bne3WM0Urhfs1EHpAglwQpHyQKctpSNnzCIwkuZP0b2AoHq + yKQN4jr3EwdRNFGuaIRrGZg0SQcvhQAhzB9Y19aygzVC5iCgFKkSAwKlTPMnKiDgNO+NvWSgbCUw + JqN8vPgjZWMrJkAJLuNQXgrpS6EF3KIiTBJIIVbWyrTiVPdGymA4Djy/JzCm1KhMccBNvT1SYISN + aMJQlVQ04hYDaXPqxa8pL+Ay0Djvcwfze4Qd5AKUJ8nYwd3zLpLCyWVKCNclpQ6+EYY/IuG0g5IQ + xrIhbVFkqv5XopvqvGESKBuCR9UaPtXz4GWcFM+2lKwFh2rzhy9RMkyiQFe462pC8z6BV8bUcjxU + 2cGNLuDk9+JmAb/YLFKTARvZUoskMHnOTEaA86fkDrykJuZJMcGqkP5tV7cSSzIMhxoP4U2o8z5y + 5gyelAbFCFHaQP0RTXBJldE4lVqzSV3CamuFI0fGBdzWdE0Ctp4xQ+AV+xINA2WYMHIgT6mmoRTR + 8/yvcQJFSIW2tZrsy6A8MiVrTR3c90edft4nT3q0BpNKmv9lO/7fIPngvdnkgAvXOR7D4HrnOjdJ + NtL6fnvsnIlhdP1552S1ymSuX779BwAA//8DAOpgiQCaAwAA + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 6b6743ae9fcd7523-SCL + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json;charset=UTF-8 + Date: + - Tue, 30 Nov 2021 21:45:43 GMT + Expect-CT: + - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" + NEL: + - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' + Report-To: + - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=PxlJNR0AxqyB8FPFuHChYEXuwVNJ9Fy9z23lPUnvuHiZY9aRqeJ22Rs2o1lg2c7n6KA0E9h2xU0tcT%2FgzTO0J17LLKT3FFWqeBB161WjmjrZg9FZc%2FtVuJ4YGvDToYPqI7uMzTVKZYBWI095"}],"group":"cf-nel","max_age":604800}' + Server: + - cloudflare + Transfer-Encoding: + - chunked + alt-svc: + - h3=":443"; ma=86400, h3-29=":443"; ma=86400, h3-28=":443"; ma=86400, h3-27=":443"; + ma=86400 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Sub-Zero/2 + method: GET + uri: https://argenteam.net/api/v1/episode?id=30008 + response: + body: + string: !!binary | + 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 + AA== + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 6b6743b0fc487523-SCL + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json;charset=UTF-8 + Date: + - Tue, 30 Nov 2021 21:45:44 GMT + Expect-CT: + - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" + NEL: + - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' + Report-To: + - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=wAS4IfAlvPbIWOaiVRMMsvQyHjHeWJHg4DXEppWEOIWVyUcfyHACr9s0g5RBj%2Fxx6QDVNq3tP9xwho%2BocKR%2BjjHi%2B72%2B67nzX80tDqz7h6qXT9BT%2FLK1WuIsY%2BUsSXWCzxIwjw4bTFYx1U2T"}],"group":"cf-nel","max_age":604800}' + Server: + - cloudflare + Transfer-Encoding: + - chunked + alt-svc: + - h3=":443"; ma=86400, h3-29=":443"; ma=86400, h3-28=":443"; ma=86400, h3-27=":443"; + ma=86400 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Sub-Zero/2 + method: GET + uri: https://argenteam.net/subtitles/23940/Breaking.Bad.%282008%29.S01E01-Pilot.DVDRip.XviD-ORPHEUS + response: + body: + string: '' + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 6b6743b348877523-SCL + Connection: + - keep-alive + Content-Length: + - '0' + Date: + - Tue, 30 Nov 2021 21:45:44 GMT + Expect-CT: + - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" + NEL: + - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' + Report-To: + - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=3rN8IWuQQ1NCihTEeSmgpHtZRkKEwab5k36GYfg7oPgpo9NNZ3d0POAg4yeDdAg8fKkwpnitmaSVFIeOkV3tFCuSFM%2BbA0M4vOAXlmKTd5YBrtbsvG58QoR%2FAvvY1ZBlhiylJo8cR8qt3JkJ"}],"group":"cf-nel","max_age":604800}' + Server: + - cloudflare + alt-svc: + - h3=":443"; ma=86400, h3-29=":443"; ma=86400, h3-28=":443"; ma=86400, h3-27=":443"; + ma=86400 + location: + - https://subs.argenteam.net/Breaking.Bad(101)(2008)-aRGENTeaM-16601.zip + status: + code: 302 + message: Found +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Sub-Zero/2 + method: GET + uri: https://subs.argenteam.net/Breaking.Bad(101)(2008)-aRGENTeaM-16601.zip + response: + body: + string: !!binary | + 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 + Gl2gf4bbDznQcDl8K7xc5FXbfH3Pabsc63nFdgJnk3Dbpq6HqOu0K8rluWeiud7Lc2YuX631At6C + Jjjba8e4XygZzHJ3GNpzdcpTRVAMsDmJwUuCIXyYOTnIK6LlOafQCn/JGCE2ma5gcmu7nHnFtTxf + l2ZCZL6U5AnE/A7n+4f9AQcFX1b39q9nr963zcvHj/75z38+4yuQ922zebZt92D5/wFQSwcIloU3 + BfVDAABwowAAUEsDBAoAAAAAAPOUnUAAAAAAAAAAAAAAAAAJABAAX19NQUNPU1gvVVgMAMlunU/J + bp1P9QEUAFBLAwQUAAgACADSlJ1AAAAAAAAAAAAAAAAAPAAQAF9fTUFDT1NYLy5fQnJlYWtpbmcu + QmFkLlMwMUUwMS5QaWxvdC5EVkRSaXAuWHZpRC1PUlBIRVVTLnNydFVYDACUbp1PjG6dT/UBFABj + YBVjZ2BiYPBNTFbwD1aIUIACkBgDJxAbAfFkIAbxjzIQBRxDQoKgTJCOGUCsi6aEESEumpyfq5dY + UJCTqldYmliUmFeSmZfKUKhvYGBgaG2SZplilmqRbO2WWZSall9hXZNflK6Xm1+VmZOTqJcGEWQA + AFBLBwilfDPjdAAAAMUAAABQSwECFQMUAAgACADSlJ1AloU3BfVDAABwowAAMQAMAAAAAAAAAABA + pIEAAAAAQnJlYWtpbmcuQmFkLlMwMUUwMS5QaWxvdC5EVkRSaXAuWHZpRC1PUlBIRVVTLnNydFVY + CACUbp1PjG6dT1BLAQIVAwoAAAAAAPOUnUAAAAAAAAAAAAAAAAAJAAwAAAAAAAAAAED9QWREAABf + X01BQ09TWC9VWAgAyW6dT8lunU9QSwECFQMUAAgACADSlJ1ApXwz43QAAADFAAAAPAAMAAAAAAAA + AABApIGbRAAAX19NQUNPU1gvLl9CcmVha2luZy5CYWQuUzAxRTAxLlBpbG90LkRWRFJpcC5YdmlE + LU9SUEhFVVMuc3J0VVgIAJRunU+Mbp1PUEsFBgAAAAADAAMAJAEAAIlFAAAAAA== + headers: + Accept-Ranges: + - bytes + Age: + - '703' + CF-Cache-Status: + - HIT + CF-RAY: + - 6b6743b72ac3e51a-ARI + Cache-Control: + - max-age=14400 + Connection: + - keep-alive + Content-Length: + - '18115' + Content-Type: + - application/zip + Date: + - Tue, 30 Nov 2021 21:45:44 GMT + Expect-CT: + - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" + NEL: + - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' + Report-To: + - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=Clmze%2FTQasv7IHNXRzD09cj0q3UVcXbLCJrgz5RB4CFS7HhylBeuaQpCnZeRmeJg%2FyAC1I63ekzBZc465j1AmEfvz2jNFh8myAxmYiOpHqYa7sNy2CmTGIW5RLdpRwxLFdy%2BLHV67W45YXWkYkjgrRQ%3D"}],"group":"cf-nel","max_age":604800}' + Server: + - cloudflare + Vary: + - Accept-Encoding + alt-svc: + - h3=":443"; ma=86400, h3-29=":443"; ma=86400, h3-28=":443"; ma=86400, h3-27=":443"; + ma=86400 + etag: + - '"4f9d6e2f-46c3"' + last-modified: + - Sun, 29 Apr 2012 16:37:03 GMT + status: + code: 200 + message: OK +version: 1 diff --git a/tests/subliminal_patch/cassettes/test_argenteam/test_list_subtitles_episode.yaml b/tests/subliminal_patch/cassettes/test_argenteam/test_list_subtitles_episode.yaml new file mode 100644 index 000000000..1fec411d6 --- /dev/null +++ b/tests/subliminal_patch/cassettes/test_argenteam/test_list_subtitles_episode.yaml @@ -0,0 +1,129 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Sub-Zero/2 + method: GET + uri: https://argenteam.net/api/v1/search?q=Breaking+Bad+S01E01 + response: + body: + string: !!binary | + H4sIAAAAAAAAAyxSvU4cMRB+lZErkJbTkTRoO1AiFJRIKBQUiGLWnuPm8HqW8fiiC+JhrqSgQHmE + fbHIvussfTPffD9+dUq5RMuuf3h1HFz/dblcXnTO2CK53l0p4TOnJ7jCACdflsuLU4CHu+X59+X5 + I5zBLUcx1znbTXWcJs4SyHUul3FE3bne3WM0Urhfs1EHpAglwQpHyQKctpSNnzCIwkuZP0b2AoHq + yKQN4jr3EwdRNFGuaIRrGZg0SQcvhQAhzB9Y19aygzVC5iCgFKkSAwKlTPMnKiDgNO+NvWSgbCUw + JqN8vPgjZWMrJkAJLuNQXgrpS6EF3KIiTBJIIVbWyrTiVPdGymA4Djy/JzCm1KhMccBNvT1SYISN + aMJQlVQ04hYDaXPqxa8pL+Ay0Djvcwfze4Qd5AKUJ8nYwd3zLpLCyWVKCNclpQ6+EYY/IuG0g5IQ + xrIhbVFkqv5XopvqvGESKBuCR9UaPtXz4GWcFM+2lKwFh2rzhy9RMkyiQFe462pC8z6BV8bUcjxU + 2cGNLuDk9+JmAb/YLFKTARvZUoskMHnOTEaA86fkDrykJuZJMcGqkP5tV7cSSzIMhxoP4U2o8z5y + 5gyelAbFCFHaQP0RTXBJldE4lVqzSV3CamuFI0fGBdzWdE0Ctp4xQ+AV+xINA2WYMHIgT6mmoRTR + 8/yvcQJFSIW2tZrsy6A8MiVrTR3c90edft4nT3q0BpNKmv9lO/7fIPngvdnkgAvXOR7D4HrnOjdJ + NtL6fnvsnIlhdP1552S1ymSuX779BwAA//8DAOpgiQCaAwAA + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 6b6743a65fbde532-ARI + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json;charset=UTF-8 + Date: + - Tue, 30 Nov 2021 21:45:42 GMT + Expect-CT: + - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" + NEL: + - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' + Report-To: + - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=fINpgSr6RpM33TGdh1m%2BF74xZy7MmkNtBwLKyP5cXcseIaB2FzprBhWzr3VG2jBUQR%2BBoMDNt2U51nL1BtJls0u13HhErbwC4j3mMevtJJlNJQ7BOq5kD9bVUrxVekFn24slQYBEMRQpFPyc"}],"group":"cf-nel","max_age":604800}' + Server: + - cloudflare + Transfer-Encoding: + - chunked + alt-svc: + - h3=":443"; ma=86400, h3-29=":443"; ma=86400, h3-28=":443"; ma=86400, h3-27=":443"; + ma=86400 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Sub-Zero/2 + method: GET + uri: https://argenteam.net/api/v1/episode?id=30008 + response: + body: + string: !!binary | + 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 + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 6b6743aa4ff6e532-ARI + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json;charset=UTF-8 + Date: + - Tue, 30 Nov 2021 21:45:43 GMT + Expect-CT: + - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" + NEL: + - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' + Report-To: + - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=6889nScfx6LNh5a9UuL4xYY7q%2F46Je690M1FC3gyzpHpFkd56IT%2B4tnMmn2I8CLaCc97OCGESa89i9lc4%2F48VHaCkseJxlb2XURNVbEprhTMeEccV4cikl8gVK35irBC%2FhEw4dw63QyW9%2FHI"}],"group":"cf-nel","max_age":604800}' + Server: + - cloudflare + Transfer-Encoding: + - chunked + alt-svc: + - h3=":443"; ma=86400, h3-29=":443"; ma=86400, h3-28=":443"; ma=86400, h3-27=":443"; + ma=86400 + status: + code: 200 + message: OK +version: 1 diff --git a/tests/subliminal_patch/cassettes/test_argenteam/test_list_subtitles_movie.yaml b/tests/subliminal_patch/cassettes/test_argenteam/test_list_subtitles_movie.yaml new file mode 100644 index 000000000..99d9a88bb --- /dev/null +++ b/tests/subliminal_patch/cassettes/test_argenteam/test_list_subtitles_movie.yaml @@ -0,0 +1,366 @@ +interactions: +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Sub-Zero/2 + method: GET + uri: https://argenteam.net/api/v1/search?q=Dune + response: + body: + string: !!binary | + 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 + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 6b6743805800751b-SCL + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json;charset=UTF-8 + Date: + - Tue, 30 Nov 2021 21:45:36 GMT + Expect-CT: + - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" + NEL: + - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' + Report-To: + - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=Yn6t4SwaaAd9gFu7CdcUfuG7sL4OIk%2BUlzt%2FiSOj00efVFPV5%2Botf%2BLwl8egR0g5tIU8V33OlhnF9TKWWImtVl8yPo80jTtytM7ELcnayyMkjEyj%2BCgZMBN2ptAqHyimW3e%2FNkBpWaeaJVuP"}],"group":"cf-nel","max_age":604800}' + Server: + - cloudflare + Transfer-Encoding: + - chunked + alt-svc: + - h3=":443"; ma=86400, h3-29=":443"; ma=86400, h3-28=":443"; ma=86400, h3-27=":443"; + ma=86400 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Sub-Zero/2 + method: GET + uri: https://argenteam.net/api/v1/movie?id=324 + response: + body: + string: !!binary | + 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 + AAA= + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 6b6743828b81751b-SCL + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json;charset=UTF-8 + Date: + - Tue, 30 Nov 2021 21:45:36 GMT + Expect-CT: + - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" + NEL: + - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' + Report-To: + - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=6sWVI63HrWSWdlINe3fSYawBVQfavfKNksSfSbBSIW6Fh8YSxwqMlDHb5EP37r1WrL0w5i01ybpYeOJ1zG84rRBtfe6J1y550wu9PNeZbzB8vmwhwSHhXz19bBr23yYqCXR03wsghed1mTOt"}],"group":"cf-nel","max_age":604800}' + Server: + - cloudflare + Transfer-Encoding: + - chunked + alt-svc: + - h3=":443"; ma=86400, h3-29=":443"; ma=86400, h3-28=":443"; ma=86400, h3-27=":443"; + ma=86400 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Sub-Zero/2 + method: GET + uri: https://argenteam.net/api/v1/movie?id=43318 + response: + body: + string: !!binary | + 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 + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 6b6743847e35751b-SCL + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json;charset=UTF-8 + Date: + - Tue, 30 Nov 2021 21:45:36 GMT + Expect-CT: + - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" + NEL: + - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' + Report-To: + - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=roopZ7rq4zoUh8HmwGGxVKeqTkLo4oTjKQais8ptS3gkHgwlMMTqBYkDaxwKTpKxO35BOLVkkmPEafRs1dWLLO9P10SkErIx04SdNuBn8mopoL858lvHHYUM75ZhPDx%2BO5k%2FJaAv%2Bm0dy3w5"}],"group":"cf-nel","max_age":604800}' + Server: + - cloudflare + Transfer-Encoding: + - chunked + alt-svc: + - h3=":443"; ma=86400, h3-29=":443"; ma=86400, h3-28=":443"; ma=86400, h3-27=":443"; + ma=86400 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Sub-Zero/2 + method: GET + uri: https://argenteam.net/api/v1/movie?id=24827 + response: + body: + string: !!binary | + H4sIAAAAAAAAA2xUy24jRwz8FYLAAgnQGY3eowFysC07wK4c+JE1jGR9oLopqe2e7kk/BMiWP2aP + e9hDsJ+gHwt6lA1iIMdhNVnFGpIvqBXWg1E1mAqMOhrGGufJMvzQn1WjH1GgtiuH9csbNIcbtcQa + y7Ka9qsBCtwxeaxzlkBPUds11pNiLNAnG3XDWPeHU4FkIntLUW/5t38qokDpko1+hzV+vD1Bga0L + kT3WuImxDXWvR37NNjI1heXY8xxc8pJDT7ot+9DjwbCi6Wg64dFE9mdlSeVqsppNZqNyyVKq4rFd + o0ClPcvocuE5bbWCxc7KDQqkHA1Y44edYbgkuSC5MWQF3Gm/1lYTXJIKbAVceLKSgyQ4sVYHfBUY + UtNQp/7cAhtQHA5ffNTSQWvIciRQDCfe05MOAqSzTmrlIFKz1IcvFlrnIfsqwBB43rJnqwgaUp7h + hhoyxuW0x+QJkiXYan4kaL1bsTx8pRo+4R1b5Q+fgcw6abaZsUk7MPzoAuwgeuIMG4J1Yu8JAtlI + Iut9rzekBPyZGNrk9UpLyk/ZQLI6++tgB9YFCHREFIOhAFFbzUtDoSiKTwjH5j03Lr5p/MwZUtnL + BakdvOcQtCSRXXJLViyzBcp1FQ/fvGLLIaeFBBv2DVlFKn9LZyUvtYfgDDV5GmCjHykIIEnLjkmR + BwKTnoFMBh1syR++2a61kIAa1zWsUg4sODo4iZ614iAgko0uq2JaUvFGLITEh78ItJUmhe5XfC/Z + sVxRMmAMrxMDZXTLPmofGNhCstBwOHylkJ/YTAGtU+w5QHP4vNbS5aGglp4zlKz2WWPU3LTZeDbA + oSWpXVEUKNCzYQocsP7jBY97kOf5bn6j226VFMsc0Nt7FJh3Bmv81f1yc5U/aR2OKxf0c86bliVc + nmbEec825rIPAtlo+3SkSF5jjawGT3Wvt19pw/s8q8XxQhRH4iLT/TS8uCxoq/fTYTksq0lZ7c8m + 81l/Phyczaez8Ww2mFxUo+qkGs/Phxfz8WS03/x8ev/x98V4fDe8vDk9/XA7WNyMpvP76fXV9fvb + s/H1+b6Hrw95yZbdCfqvqP+/Dv++7PVn49Gk16l9N6iy3neD2RvF333pDhDW1XhY9V8fXh9e/wYA + AP//AwAQgSiXGgUAAA== + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 6b6743871ab0751b-SCL + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json;charset=UTF-8 + Date: + - Tue, 30 Nov 2021 21:45:37 GMT + Expect-CT: + - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" + NEL: + - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' + Report-To: + - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=f1%2FtVUaDLDW9XLjFghRHPaon1nuMq2Umv6OSR%2F5TGwYh2Pd4H1RGDiql3jFX05VN7oSywM%2FNyLKtDscx%2BXhXlHdLOmB%2BOILMvGUMfsjWE3wAXN%2BCOrR7ELOK%2F3tGj6Qk8jYjUX48q9NsD8j2"}],"group":"cf-nel","max_age":604800}' + Server: + - cloudflare + Transfer-Encoding: + - chunked + alt-svc: + - h3=":443"; ma=86400, h3-29=":443"; ma=86400, h3-28=":443"; ma=86400, h3-27=":443"; + ma=86400 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - Sub-Zero/2 + method: GET + uri: https://argenteam.net/api/v1/movie?id=132088 + response: + body: + string: !!binary | + H4sIAAAAAAAAAwAAAP//vFXbbtw2EP0VgsAGDqBoddvVBQiCTRzXaXNDcyta+GFEjrSMpaFCUls7 + gT8mj37uJ/jHCmrt2GnqpC7SPkkEz5yZOXM0+sCV5FWcJlFRBNwp1yGv+O5IWLHnYBx7Rsh2kiiJ + b/OAK2o0rz5cg/OAXta84nG8jLK45AE/RjC88vEBN+AUtbwqwjTgZiSneuRVvFgEHDqHhsCpDb48 + 5+YBF3okZ455xV+RcijZCwcObcAeAIGEgO2P1II5DthTbX6H44A9IqmAB3zQ1qHhFV87N9hqPgfT + IjmEPiR0c4NWj0agnQu9QWPnUV1ngM1yIdO0yNIijmpMlyLGZS5qLBfh26HlAZfKoHDaE+8iKcte + q65DwnHjmwd/ZXnFX6peu/XZKbIHa+igRxewn7FGIYDtoWlHqylgvyJJOAZ+EnA79j1Mja6MgUNl + A4YdGzogdMAkdkyiVWicDliDo9RMIuuANdCrTgHbB3OoiZA8TiJbg0DWIqEBoTR5yd6NKIEhsR5I + 2/P4B2BhetWWrZxBJdFf2WE8O50w70b0lWA/oAGpDROeBdjZqXXgGfBo6LQDoc7+oC2pZQYtmg1M + BGgHFAoCNhJc3Pfg0CiwbDCq9+ezj5ZtoFPawkVlLXRwpIAdMwd9rc5OactgdAtMwADvPRD6oVON + EmB8jNAkFJKYwvDIIUmcLjZKQsgedkyOvqHH6DTbeWZ92CMLIG4HHiWhB/YjWqsEsJ2/zuu25+zY + Wr3V28y1tgF7DmN3qdzOl4P31B22QAwuByo0TdpZryq9n4QxKEZ/ND6LQdJ9bdBf2JEJsBCwAY1m + g9HkNLPINmjOPhJD2ozYOW39bL1Ezvg+JPoXtZ2+L51auKftNNAOrS9qAxMBMDGidUoTmCmZpkZN + VSE54/OfTwimRqT2dODnpX21MJmnG1sweM9L4o97Bnuk7dA9txmmVtZQKwfkJpNdenrS4xxqUKyB + GezOLXVFKqEg5AE32CFYtLz67QPffsa84m8e3p8WhkTBK76fLDMecP+984o/XT168cofofVfZ55E + Aw+4Ve99YBYu2A8+1mljkNyWdzSKV7yHltBV947c3dFQVTu1rmqsJZZLKLK6iXOEJCuwWUaYyHxZ + Yp76S5HE2S1Jd/16DP3uC33O8M3D+6Gv7M5U0C1n7vrtNEtXs2Rvluw5A+IQTXj+bNRRKHQ/S1dF + NEv2gEiPJNCHjfIyqgwNmLoNe5ylqyTPo+sATntAkX4B+JR3rQg7HNZALtSmnaWrOMm/goeuG5Da + UdEFfJHnET85CDh2ig69lAd+udXT/+Kqsn+/lj8h58UyStL5pJ//u4TPCMNZUngtZ0n5SclJ1zsX + 851+F7wqFmkRnxycBP/OHnFUXPVHGRY38kdSJxLTqJG4hCRPiygSSdNETVbnUVkuyqxImqaM48/9 + MSX9PwxSZN8ySHSzgSc381MRfT+DZP/AIJOwN3fIUbJcXOuQJF5edUgS3XCF5NgUCdYLEZUC6xRl + Vogig2UTJ2VaJlG5gKxe5unnFpmyhvtPVr/47u7sPg53d58vwjhcuV7bcPd1+OSn16Ev/D+0T5l+ + wz754ob75Xr/NOAO1xo6uACnefz9zLP4unm8jlvJrzPPwcmfAAAA//8DAF+Mars8CwAA + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 6b6743963ac0751b-SCL + Connection: + - keep-alive + Content-Encoding: + - gzip + Content-Type: + - application/json;charset=UTF-8 + Date: + - Tue, 30 Nov 2021 21:45:39 GMT + Expect-CT: + - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" + NEL: + - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' + Report-To: + - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=OOTMjfi961ChESCSv1lx8pV7e4fOzfcUwY%2FGNUVjmQb7GZ5jDSRK51fRZwZlAxGzIXWonIGdvrRtnVF4dvJ%2FbANIAd0LPcbDR1w2JbzE8Z%2B%2BvHg7waks8MDGnggzHmjXyUTPHAySBa8Vo0DM"}],"group":"cf-nel","max_age":604800}' + Server: + - cloudflare + Transfer-Encoding: + - chunked + alt-svc: + - h3=":443"; ma=86400, h3-29=":443"; ma=86400, h3-28=":443"; ma=86400, h3-27=":443"; + ma=86400 + status: + code: 200 + message: OK +version: 1 diff --git a/tests/subliminal_patch/conftest.py b/tests/subliminal_patch/conftest.py new file mode 100644 index 000000000..3ffefab68 --- /dev/null +++ b/tests/subliminal_patch/conftest.py @@ -0,0 +1,116 @@ +# -*- coding: utf-8 -*- + +import pytest +import os + +# import sys +# sys.path.append("libs") + +from subliminal_patch.core import Movie, Episode + + +@pytest.fixture(scope="module") +def vcr_cassette_dir(request): + return os.path.join("tests/subliminal_patch/cassettes", request.module.__name__) + + +@pytest.fixture +def movies(): + return { + "dune": Movie( + "Dune.2021.1080p.WEBRip.DD5.1.x264-SHITBOX", + "Dune", + year=2021, + resolution="1080p", + source="Web", + # other="Rip", + audio_codec="Dolby Digital", + video_codec="H.264", + release_group="SHITBOX", + ), + "man_of_steel": Movie( + os.path.join( + "Man of Steel (2013)", "man.of.steel.2013.720p.bluray.x264-felony.mkv" + ), + "Man of Steel", + source="Blu-Ray", + release_group="felony", + resolution="720p", + video_codec="H.264", + audio_codec="DTS", + imdb_id="tt0770828", + size=7033732714, + year=2013, + hashes={ + "napiprojekt": "6303e7ee6a835e9fcede9fb2fb00cb36", + "opensubtitles": "5b8f8f4e41ccb21e", + "shooter": "314f454ab464775498ae6f1f5ad813a9;fdaa8b702d8936feba2122e93ba5c44f;" + "0a6935e3436aa7db5597ef67a2c494e3;4d269733f36ddd49f71e92732a462fe5", + "thesubdb": "ad32876133355929d814457537e12dc2", + }, + ), + "enders_game": Movie( + "enders.game.2013.720p.bluray.x264-sparks.mkv", + "Ender's Game", + source="Blu-Ray", + release_group="sparks", + resolution="720p", + video_codec="H.264", + year=2013, + ), + "blade_runner": Movie( + "Alien (1979) Theatrical HDR 1080p UHD BluRay x265 HEVC EAC3-SARTRE", + "Alien", + source="Ultra HD Blu-ray", + release_group="SARTRE", + resolution="1080p", + video_codec="H.265", + audio_codec="Dolby Digital Plus", + imdb_id="tt0078748", + year=1979, + ), + } + + +@pytest.fixture +def episodes(): + return { + "got_s03e10": Episode( + os.path.join( + "Game of Thrones", + "Season 03", + "Game.of.Thrones.S03E10.Mhysa.720p.WEB-DL.DD5.1.H.264-NTb.mkv", + ), + "Game of Thrones", + 3, + 10, + title="Mhysa", + tvdb_id=4517466, + series_tvdb_id=121361, + series_imdb_id="tt0944947", + source="Web", + release_group="NTb", + resolution="720p", + video_codec="H.264", + audio_codec="AC3", + imdb_id="tt2178796", + size=2142810931, + hashes={ + "napiprojekt": "6303e7ee6a835e9fcede9fb2fb00cb36", + "opensubtitles": "b850baa096976c22", + "shooter": "b02d992c04ad74b31c252bd5a097a036;ef1b32f873b2acf8f166fc266bdf011a;" + "82ce34a3bcee0c66ed3b26d900d31cca;78113770551f3efd1e2d4ec45898c59c", + "thesubdb": "b1f899c77f4c960b84b8dbf840d4e42d", + }, + ), + "breaking_bad_s01e01": Episode( + "Breaking.Bad.S01E01.720p.BluRay.X264-REWARD.mkv", + "Breaking Bad", + 1, + 1, + source="Blu-Ray", + release_group="REWARD", + resolution="720p", + video_codec="H.264", + ), + } diff --git a/tests/subliminal_patch/test_argenteam.py b/tests/subliminal_patch/test_argenteam.py new file mode 100644 index 000000000..fc6ff511b --- /dev/null +++ b/tests/subliminal_patch/test_argenteam.py @@ -0,0 +1,91 @@ +# -*- coding: utf-8 -*- + +import pytest +import os +from subliminal_patch.providers.argenteam import ArgenteamProvider +from subliminal_patch.providers.argenteam import ArgenteamSubtitle +from subzero.language import Language + + +def test_get_matches_episode(episodes): + episode = episodes["breaking_bad_s01e01"] + subtitle = ArgenteamSubtitle( + Language.fromalpha2("es"), + None, + "https://argenteam.net/subtitles/24002/Breaking.Bad.%282008%29.S01E01-Pilot.BluRay.x264.720p-REWARD", + "BluRay x264 720p", + {"title", "season", "episode", "imdb_id"}, + ) + matches = subtitle.get_matches(episode) + assert matches == { + "title", + "season", + "episode", + "imdb_id", + "source", + "video_codec", + "resolution", + "edition", + "streaming_service", + "release_group", + "series", + "year", + } + + +def test_get_matches_movie(movies): + movie = movies["dune"] + subtitle = ArgenteamSubtitle( + Language.fromalpha2("es"), + None, + "https://argenteam.net/subtitles/86024/Dune.Part.One.%282021%29.WEB.H264.1080p-NAISU", + "WEB H264 1080p", + {"title", "year", "imdb_id"}, + ) + matches = subtitle.get_matches(movie) + assert matches == { + "title", + "year", + "imdb_id", + "source", + "resolution", + "edition", + "video_codec", + } + + +@pytest.mark.vcr +def test_list_subtitles_movie(movies): + item = movies["dune"] + with ArgenteamProvider() as provider: + subtitles = provider.list_subtitles(item, {Language("spa", "MX")}) + + for expected in ( + "https://argenteam.net/subtitles/86023/Dune.Part.One.%282021%29.WEB.H264.720p-NAISU", + "https://argenteam.net/subtitles/86024/Dune.Part.One.%282021%29.WEB.H264.1080p-NAISU", + "https://argenteam.net/subtitles/86025/Dune.Part.One.%282021%29.WEB.x265.2160p-NAISU", + ): + assert any(expected == sub.download_link for sub in subtitles) + + +@pytest.mark.vcr +def test_list_subtitles_episode(episodes): + item = episodes["breaking_bad_s01e01"] + with ArgenteamProvider() as provider: + subtitles = provider.list_subtitles(item, {Language("spa", "MX")}) + + for expected in ( + "https://argenteam.net/subtitles/24002/Breaking.Bad.%282008%29.S01E01-Pilot.BluRay.x264.720p-REWARD", + "https://argenteam.net/subtitles/23940/Breaking.Bad.%282008%29.S01E01-Pilot.DVDRip.XviD-ORPHEUS", + ): + assert any(expected == sub.download_link for sub in subtitles) + + +@pytest.mark.vcr +def test_download_subtitle(episodes): + item = episodes["breaking_bad_s01e01"] + with ArgenteamProvider() as provider: + subtitles = provider.list_subtitles(item, {Language("spa", "MX")}) + subtitle = subtitles[0] + provider.download_subtitle(subtitle) + assert subtitle.content is not None diff --git a/tests/test_assrt.py b/tests/test_assrt.py deleted file mode 100644 index 903bb5ebb..000000000 --- a/tests/test_assrt.py +++ /dev/null @@ -1,172 +0,0 @@ -# -*- coding: utf-8 -*- -import os - -from babelfish import language_converters -from subzero.language import Language -import pytest -from vcr import VCR -from urlparse import urlparse, parse_qs -from urllib import urlencode - -from subliminal_patch.providers.assrt import AssrtSubtitle, AssrtProvider, \ -language_contains, search_language_in_list, supported_languages - -def remove_auth_token(request): - parsed_uri = urlparse(request.uri) - parsed_query = parse_qs(parsed_uri.query) - if 'token' in parsed_query: - parsed_query['token'] = 'SECRET' - parsed_uri = parsed_uri._replace(query=urlencode(parsed_query)) - request.uri = parsed_uri.geturl() - return request - -vcr = VCR(path_transformer=lambda path: path + '.yaml', - before_record_request=remove_auth_token, - record_mode=os.environ.get('VCR_RECORD_MODE', 'once'), - match_on=['method', 'scheme', 'host', 'port', 'path', 'body'], - cassette_library_dir=os.path.realpath(os.path.join('cassettes', 'assrt'))) - -TOKEN=os.environ.get('ASSRT_TOKEN', 'NO_TOKEN_PROVIDED') - -def test_supported_languages(): - assert set(supported_languages) == set([('zho', None, None), - ('eng', None, None), - ('zho', None, 'Hans'), - ('zho', None, 'Hant')]) - -def test_language_contains(): - assert language_contains(Language('zho'), Language('zho')) - assert language_contains(Language('zho', 'TW', None), Language('zho')) - assert language_contains(Language('zho', 'CN', None), Language('zho')) - assert language_contains(Language('zho', None, 'Hant'), Language('zho')) - assert language_contains(Language('zho', None, 'Hans'), Language('zho')) - assert language_contains(Language('zho', 'TW', 'Hant'), Language('zho')) - assert language_contains(Language('zho', 'CN', 'Hans'), Language('zho')) - assert language_contains(Language('zho', None, 'Hant'), Language('zho', None, 'Hant')) - assert language_contains(Language('zho', None, 'Hans'), Language('zho', None, 'Hans')) - - -def test_search_language_in_list(): - assert search_language_in_list(Language('zho', None, 'Hant'), [Language('zho', None, 'Hant')]) - assert search_language_in_list(Language('zho', None, 'Hans'), [Language('zho', None, 'Hans')]) - assert search_language_in_list(Language('zho', None, 'Hant'), [Language('zho')]) - assert search_language_in_list(Language('zho', None, 'Hans'), [Language('zho')]) - assert search_language_in_list(Language('zho', None, 'Hant'), [Language('eng'), Language('zho')]) - assert not search_language_in_list(Language('zho', None, 'Hans'), [Language('zho', None, 'Hant')]) - assert search_language_in_list(Language('zho', None, 'Hans'), [Language('zho', None, 'Hant'), Language('zho')]) - - -def test_get_matches_exact_movie_name(movies): - subtitle = AssrtSubtitle(Language('zho'), 253629, - 'man.of.steel.2013.720p.bluray.x264-felony.mkv', - None, None) - matches = subtitle.get_matches(movies['man_of_steel']) - assert matches == {'title', 'format', 'release_group', 'year', - 'video_codec', 'resolution'} - - -def test_get_matches_movie_name(movies): - subtitle = AssrtSubtitle(Language('zho'), 618185, - 'Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT', - None, None) - matches = subtitle.get_matches(movies['man_of_steel']) - assert matches == {'title', 'format', 'year', 'video_codec', 'resolution'} - - -@pytest.mark.converter -def test_converter_convert_alpha3(): - assert language_converters['assrt'].convert('zho', None, 'Hans') == 'chi' - assert language_converters['assrt'].convert('zho', None, 'Hant') == 'zht' - assert language_converters['assrt'].convert('eng') == 'eng' - - -@pytest.mark.converter -def test_converter_reverse(): - assert language_converters['assrt'].reverse('chi') == ('zho', None, 'Hans') - assert language_converters['assrt'].reverse('zht') == ('zho', None, 'Hant') - assert language_converters['assrt'].reverse(u'簡體') == ('zho', None, 'Hans') - assert language_converters['assrt'].reverse(u'繁體') == ('zho', None, 'Hant') - assert language_converters['assrt'].reverse(u'简体') == ('zho', None, 'Hans') - assert language_converters['assrt'].reverse(u'繁体') == ('zho', None, 'Hant') - -@pytest.mark.integration -@vcr.use_cassette -def test_query_movie_zh_Hans(movies): - languages = [Language('zho', None, 'Hant')] - video = movies['man_of_steel'] - with AssrtProvider(TOKEN) as provider: - subtitles = provider.query(languages, video) - assert len(subtitles) == 8 - -@pytest.mark.integration -@vcr.use_cassette -def test_query_movie_zh_Hant(movies): - languages = [Language('zho', None, 'Hans')] - video = movies['man_of_steel'] - with AssrtProvider(TOKEN) as provider: - subtitles = provider.query(languages, video) - assert len(subtitles) == 8 - -@pytest.mark.integration -@vcr.use_cassette -def test_query_movie_zh(movies): - languages = [Language('zho')] - video = movies['man_of_steel'] - with AssrtProvider(TOKEN) as provider: - subtitles = provider.query(languages, video) - assert len(subtitles) == 16 - -@pytest.mark.integration -@vcr.use_cassette -def test_query_episode(episodes): - video = episodes['bbt_s07e05'] - languages = [Language('zho', None, 'Hant'), Language('zho', None, 'Hans')] - with AssrtProvider(TOKEN) as provider: - subtitles = provider.query(languages, video) - assert len(subtitles) == 11 - - -@pytest.mark.integration -@vcr.use_cassette -def test_query_list_subtitles(movies): - languages = [Language('zho', None, 'Hant'), Language('zho', None, 'Hans')] - video = movies['man_of_steel'] - with AssrtProvider(TOKEN) as provider: - subtitles = provider.list_subtitles(video, languages) - assert len(subtitles) == 16 - - -@pytest.mark.integration -@vcr.use_cassette -def test_download_subtitle(movies): - languages = [Language('zho', None, 'Hant')] - video = movies['man_of_steel'] - with AssrtProvider(TOKEN) as provider: - subtitles = provider.list_subtitles(video, languages) - provider.download_subtitle(subtitles[0]) - assert subtitles[0].content is not None - assert subtitles[0].language == Language('zho', None, 'Hant') - - -@pytest.mark.integration -@vcr.use_cassette -def test_download_subtitle_zh(movies): - languages = [Language('zho')] - video = movies['man_of_steel'] - with AssrtProvider(TOKEN) as provider: - subtitles = provider.list_subtitles(video, languages) - provider.download_subtitle(subtitles[0]) - assert subtitles[0].content is not None - assert subtitles[0].language == Language('zho') - - -@pytest.mark.integration -@vcr.use_cassette -def test_download_episode_subtitle(episodes): - languages = [Language('zho', None, 'Hant'), Language('zho', None, 'Hans')] - video = episodes['bbt_s07e05'] - with AssrtProvider(TOKEN) as provider: - subtitles = provider.list_subtitles(video, languages) - provider.download_subtitle(subtitles[0]) - assert subtitles[0].content is not None - assert subtitles[0].language == Language('zho', None, 'Hans') From 92a60ef7bbd02513d5d995ff81102a8e64e02621 Mon Sep 17 00:00:00 2001 From: Vitiko Date: Tue, 30 Nov 2021 18:01:29 -0400 Subject: [PATCH 10/48] Update bad import (dev environment issue) --- libs/subliminal_patch/providers/argenteam.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/subliminal_patch/providers/argenteam.py b/libs/subliminal_patch/providers/argenteam.py index 53f06859f..a24d8dbda 100644 --- a/libs/subliminal_patch/providers/argenteam.py +++ b/libs/subliminal_patch/providers/argenteam.py @@ -7,7 +7,7 @@ import io import time import urllib.parse -from simplejson.errors import JSONDecodeError +from json import JSONDecodeError from zipfile import ZipFile from guessit import guessit from requests import Session From d25fa00a1a7a51ac101bc94b62d3024f27e46a53 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 30 Nov 2021 17:12:59 -0500 Subject: [PATCH 11/48] no log: Bump socket.io-client from 4.1.3 to 4.4.0 in /frontend (#1612) Bumps [socket.io-client](https://github.com/socketio/socket.io-client) from 4.1.3 to 4.4.0. - [Release notes](https://github.com/socketio/socket.io-client/releases) - [Changelog](https://github.com/socketio/socket.io-client/blob/master/CHANGELOG.md) - [Commits](https://github.com/socketio/socket.io-client/compare/4.1.3...4.4.0) --- updated-dependencies: - dependency-name: socket.io-client dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- frontend/package-lock.json | 165 ++++++++++++++++++++++--------------- 1 file changed, 100 insertions(+), 65 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 879175837..5e672796c 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -3156,6 +3156,11 @@ "@sinonjs/commons": "^1.7.0" } }, + "node_modules/@socket.io/component-emitter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.0.0.tgz", + "integrity": "sha512-2pTGuibAXJswAPJjaKisthqS/NOK5ypG4LYT6tEAV0S/mxW0zOIvYvGK0V8w8+SHxAm6vRMSjqSalFXeBAqs+Q==" + }, "node_modules/@surma/rollup-plugin-off-main-thread": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-1.4.2.tgz", @@ -3427,11 +3432,6 @@ "@types/jquery": "*" } }, - "node_modules/@types/component-emitter": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.10.tgz", - "integrity": "sha512-bsjleuRKWmGqajMerkzox19aGbscQX5rmmvvXl3wlIp5gMG1HgkiwPxsN5p070fBDKTNSPgojVbuY1+HWMbFhg==" - }, "node_modules/@types/d3-path": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-2.0.1.tgz", @@ -5353,9 +5353,9 @@ } }, "node_modules/base64-arraybuffer": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz", - "integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.1.tgz", + "integrity": "sha512-vFIUq7FdLtjZMhATwDul5RZWv2jpXQ09Pd6jcVEOvIsqCWTRFD/ONHNfyOS8dA/Ippi5dsIgpyKWKZaAKZltbA==", "engines": { "node": ">= 0.6.0" } @@ -7837,18 +7837,18 @@ } }, "node_modules/engine.io-client": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-5.1.2.tgz", - "integrity": "sha512-blRrgXIE0A/eurWXRzvfCLG7uUFJqfTGFsyJzXSK71srMMGJ2VraBLg8Mdw28uUxSpVicepBN9X7asqpD1mZcQ==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.1.1.tgz", + "integrity": "sha512-V05mmDo4gjimYW+FGujoGmmmxRaDsrVr7AXA3ZIfa04MWM1jOfZfUwou0oNqhNwy/votUDvGDt4JA4QF4e0b4g==", "dependencies": { - "base64-arraybuffer": "0.1.4", - "component-emitter": "~1.3.0", + "@socket.io/component-emitter": "~3.0.0", "debug": "~4.3.1", - "engine.io-parser": "~4.0.1", + "engine.io-parser": "~5.0.0", "has-cors": "1.1.0", "parseqs": "0.0.6", "parseuri": "0.0.6", - "ws": "~7.4.2", + "ws": "~8.2.3", + "xmlhttprequest-ssl": "~2.0.0", "yeast": "0.1.2" } }, @@ -7873,15 +7873,35 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, + "node_modules/engine.io-client/node_modules/ws": { + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", + "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "node_modules/engine.io-parser": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-4.0.2.tgz", - "integrity": "sha512-sHfEQv6nmtJrq6TKuIz5kyEKH/qSdK56H/A+7DnAuUPWosnIZAS2NHNcPLmyjtY3cGS/MqJdZbUjW97JU72iYg==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.2.tgz", + "integrity": "sha512-wuiO7qO/OEkPJSFueuATIXtrxF7/6GTbAO9QLv7nnbjwZ5tYhLm9zxvLwxstRs0dcT0KUlWTjtIOs1T86jt12g==", "dependencies": { - "base64-arraybuffer": "0.1.4" + "base64-arraybuffer": "~1.0.1" }, "engines": { - "node": ">=8.0.0" + "node": ">=10.0.0" } }, "node_modules/enhanced-resolve": { @@ -19244,17 +19264,16 @@ } }, "node_modules/socket.io-client": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.1.3.tgz", - "integrity": "sha512-hISFn6PDpgDifVUiNklLHVPTMv1LAk8poHArfIUdXa+gKgbr0MZbAlquDFqCqsF30yBqa+jg42wgos2FK50BHA==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.4.0.tgz", + "integrity": "sha512-g7riSEJXi7qCFImPow98oT8X++MSsHz6MMFRXkWNJ6uEROSHOa3kxdrsYWMq85dO+09CFMkcqlpjvbVXQl4z6g==", "dependencies": { - "@types/component-emitter": "^1.2.10", + "@socket.io/component-emitter": "~3.0.0", "backo2": "~1.0.2", - "component-emitter": "~1.3.0", - "debug": "~4.3.1", - "engine.io-client": "~5.1.2", + "debug": "~4.3.2", + "engine.io-client": "~6.1.1", "parseuri": "0.0.6", - "socket.io-parser": "~4.0.4" + "socket.io-parser": "~4.1.1" }, "engines": { "node": ">=10.0.0" @@ -19282,12 +19301,11 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/socket.io-parser": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz", - "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.1.1.tgz", + "integrity": "sha512-USQVLSkDWE5nbcY760ExdKaJxCE65kcsG/8k5FDGZVVxpD1pA7hABYXYkCUvxUuYYh/+uQw0N/fvBzfT8o07KA==", "dependencies": { - "@types/component-emitter": "^1.2.10", - "component-emitter": "~1.3.0", + "@socket.io/component-emitter": "~3.0.0", "debug": "~4.3.1" }, "engines": { @@ -22680,6 +22698,14 @@ "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" }, + "node_modules/xmlhttprequest-ssl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz", + "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==", + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", @@ -24990,6 +25016,11 @@ "@sinonjs/commons": "^1.7.0" } }, + "@socket.io/component-emitter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.0.0.tgz", + "integrity": "sha512-2pTGuibAXJswAPJjaKisthqS/NOK5ypG4LYT6tEAV0S/mxW0zOIvYvGK0V8w8+SHxAm6vRMSjqSalFXeBAqs+Q==" + }, "@surma/rollup-plugin-off-main-thread": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-1.4.2.tgz", @@ -25160,11 +25191,6 @@ "@types/jquery": "*" } }, - "@types/component-emitter": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.10.tgz", - "integrity": "sha512-bsjleuRKWmGqajMerkzox19aGbscQX5rmmvvXl3wlIp5gMG1HgkiwPxsN5p070fBDKTNSPgojVbuY1+HWMbFhg==" - }, "@types/d3-path": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-2.0.1.tgz", @@ -26735,9 +26761,9 @@ } }, "base64-arraybuffer": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz", - "integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.1.tgz", + "integrity": "sha512-vFIUq7FdLtjZMhATwDul5RZWv2jpXQ09Pd6jcVEOvIsqCWTRFD/ONHNfyOS8dA/Ippi5dsIgpyKWKZaAKZltbA==" }, "base64-js": { "version": "1.5.1", @@ -28721,18 +28747,18 @@ } }, "engine.io-client": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-5.1.2.tgz", - "integrity": "sha512-blRrgXIE0A/eurWXRzvfCLG7uUFJqfTGFsyJzXSK71srMMGJ2VraBLg8Mdw28uUxSpVicepBN9X7asqpD1mZcQ==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.1.1.tgz", + "integrity": "sha512-V05mmDo4gjimYW+FGujoGmmmxRaDsrVr7AXA3ZIfa04MWM1jOfZfUwou0oNqhNwy/votUDvGDt4JA4QF4e0b4g==", "requires": { - "base64-arraybuffer": "0.1.4", - "component-emitter": "~1.3.0", + "@socket.io/component-emitter": "~3.0.0", "debug": "~4.3.1", - "engine.io-parser": "~4.0.1", + "engine.io-parser": "~5.0.0", "has-cors": "1.1.0", "parseqs": "0.0.6", "parseuri": "0.0.6", - "ws": "~7.4.2", + "ws": "~8.2.3", + "xmlhttprequest-ssl": "~2.0.0", "yeast": "0.1.2" }, "dependencies": { @@ -28748,15 +28774,21 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "ws": { + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", + "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", + "requires": {} } } }, "engine.io-parser": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-4.0.2.tgz", - "integrity": "sha512-sHfEQv6nmtJrq6TKuIz5kyEKH/qSdK56H/A+7DnAuUPWosnIZAS2NHNcPLmyjtY3cGS/MqJdZbUjW97JU72iYg==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.2.tgz", + "integrity": "sha512-wuiO7qO/OEkPJSFueuATIXtrxF7/6GTbAO9QLv7nnbjwZ5tYhLm9zxvLwxstRs0dcT0KUlWTjtIOs1T86jt12g==", "requires": { - "base64-arraybuffer": "0.1.4" + "base64-arraybuffer": "~1.0.1" } }, "enhanced-resolve": { @@ -37499,17 +37531,16 @@ } }, "socket.io-client": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.1.3.tgz", - "integrity": "sha512-hISFn6PDpgDifVUiNklLHVPTMv1LAk8poHArfIUdXa+gKgbr0MZbAlquDFqCqsF30yBqa+jg42wgos2FK50BHA==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.4.0.tgz", + "integrity": "sha512-g7riSEJXi7qCFImPow98oT8X++MSsHz6MMFRXkWNJ6uEROSHOa3kxdrsYWMq85dO+09CFMkcqlpjvbVXQl4z6g==", "requires": { - "@types/component-emitter": "^1.2.10", + "@socket.io/component-emitter": "~3.0.0", "backo2": "~1.0.2", - "component-emitter": "~1.3.0", - "debug": "~4.3.1", - "engine.io-client": "~5.1.2", + "debug": "~4.3.2", + "engine.io-client": "~6.1.1", "parseuri": "0.0.6", - "socket.io-parser": "~4.0.4" + "socket.io-parser": "~4.1.1" }, "dependencies": { "debug": { @@ -37528,12 +37559,11 @@ } }, "socket.io-parser": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz", - "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.1.1.tgz", + "integrity": "sha512-USQVLSkDWE5nbcY760ExdKaJxCE65kcsG/8k5FDGZVVxpD1pA7hABYXYkCUvxUuYYh/+uQw0N/fvBzfT8o07KA==", "requires": { - "@types/component-emitter": "^1.2.10", - "component-emitter": "~1.3.0", + "@socket.io/component-emitter": "~3.0.0", "debug": "~4.3.1" }, "dependencies": { @@ -40225,6 +40255,11 @@ "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" }, + "xmlhttprequest-ssl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz", + "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==" + }, "xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", From cce68570f2758f0c3632420e6904ca5b013a0842 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 30 Nov 2021 17:17:27 -0500 Subject: [PATCH 12/48] no log: Bump @types/react-dom from 17.0.9 to 17.0.11 in /frontend (#1626) Bumps [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) from 17.0.9 to 17.0.11. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom) --- updated-dependencies: - dependency-name: "@types/react-dom" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- frontend/package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 5e672796c..1f062865a 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -3620,9 +3620,9 @@ } }, "node_modules/@types/react-dom": { - "version": "17.0.9", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.9.tgz", - "integrity": "sha512-wIvGxLfgpVDSAMH5utdL9Ngm5Owu0VsGmldro3ORLXV8CShrL8awVj06NuEXFQ5xyaYfdca7Sgbk/50Ri1GdPg==", + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.11.tgz", + "integrity": "sha512-f96K3k+24RaLGVu/Y2Ng3e1EbZ8/cVJvypZWd7cy0ofCBaf2lcM46xNhycMZ2xGwbBjRql7hOlZ+e2WlJ5MH3Q==", "dev": true, "dependencies": { "@types/react": "*" @@ -25379,9 +25379,9 @@ } }, "@types/react-dom": { - "version": "17.0.9", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.9.tgz", - "integrity": "sha512-wIvGxLfgpVDSAMH5utdL9Ngm5Owu0VsGmldro3ORLXV8CShrL8awVj06NuEXFQ5xyaYfdca7Sgbk/50Ri1GdPg==", + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.11.tgz", + "integrity": "sha512-f96K3k+24RaLGVu/Y2Ng3e1EbZ8/cVJvypZWd7cy0ofCBaf2lcM46xNhycMZ2xGwbBjRql7hOlZ+e2WlJ5MH3Q==", "dev": true, "requires": { "@types/react": "*" From 247f69c210531048186c699de240f5e860ef0b3f Mon Sep 17 00:00:00 2001 From: Vitiko Date: Tue, 30 Nov 2021 19:28:25 -0400 Subject: [PATCH 13/48] Fix Hosszupuska provider not returning results --- .../subliminal_patch/providers/hosszupuska.py | 38 +- .../test_download_subtitle_episode.yaml | 1275 +++++++++++++++++ .../test_list_subtitles_episode.yaml | 891 ++++++++++++ tests/subliminal_patch/test_hosszupuska.py | 38 + 4 files changed, 2227 insertions(+), 15 deletions(-) create mode 100644 tests/subliminal_patch/cassettes/test_hosszupuska/test_download_subtitle_episode.yaml create mode 100644 tests/subliminal_patch/cassettes/test_hosszupuska/test_list_subtitles_episode.yaml create mode 100644 tests/subliminal_patch/test_hosszupuska.py diff --git a/libs/subliminal_patch/providers/hosszupuska.py b/libs/subliminal_patch/providers/hosszupuska.py index 28283e46d..9c17ca16b 100644 --- a/libs/subliminal_patch/providers/hosszupuska.py +++ b/libs/subliminal_patch/providers/hosszupuska.py @@ -43,6 +43,9 @@ logger = logging.getLogger(__name__) language_converters.register('hosszupuska = subliminal_patch.converters.hosszupuska:HosszupuskaConverter') +_SUB_ENGLISH_NAME_RE = re.compile(r's(\d{1,2})e(\d{1,2})') +_SUB_YEAR_RE = re.compile(r"(?<=\()(\d{4})(?=\))") + class HosszupuskaSubtitle(Subtitle): """Hosszupuska Subtitle.""" @@ -141,11 +144,10 @@ class HosszupuskaProvider(Provider, ProviderSubtitleArchiveMixin): return None def query(self, series, season, episode, year=None, video=None): - # Search for s01e03 instead of s1e3 seasona = "%02d" % season episodea = "%02d" % episode - series = fix_inconsistent_naming(series) + seriesa = fix_inconsistent_naming(series) seriesa = series.replace(' ', '+') # get the episode page @@ -156,16 +158,22 @@ class HosszupuskaProvider(Provider, ProviderSubtitleArchiveMixin): r = self.session.get(url, timeout=10).content - i = 0 soup = ParserBeautifulSoup(r, ['lxml']) - table = soup.find_all("table")[9] - subtitles = [] - # loop over subtitles rows + + for num, temp in enumerate(soup.find_all("table")): + if "this.style.backgroundImage='url(css/over2.jpg)" in str(temp) and "css/infooldal.png" in str(temp): + logger.debug("Found valid table (%d index)", num) + subtitles += self._loop_over_table(temp, season, episode, video) + + return subtitles + + def _loop_over_table(self, table, season, episode, video): + i = 0 for row in table.find_all("tr"): i = i + 1 - if "this.style.backgroundImage='url(css/over2.jpg)" in str(row) and i > 5: + if "this.style.backgroundImage='url(css/over2.jpg)" in str(row): #and i > 5: datas = row.find_all("td") # Currently subliminal not use these params, but maybe later will come in handy @@ -177,18 +185,20 @@ class HosszupuskaProvider(Provider, ProviderSubtitleArchiveMixin): sub_year = sub_english_name = sub_version = None # Handle the case when '(' in subtitle + + if datas[1].getText().count('(') == 1: - sub_english_name = re.split('s(\d{1,2})e(\d{1,2})', datas[1].getText())[3] + sub_english_name = _SUB_ENGLISH_NAME_RE.split(datas[1].getText())[3] if datas[1].getText().count('(') == 2: - sub_year = re.findall(r"(?<=\()(\d{4})(?=\))", datas[1].getText().strip())[0] - sub_english_name = re.split('s(\d{1,2})e(\d{1,2})', datas[1].getText().split('(')[0])[0] + sub_year = _SUB_YEAR_RE.findall(datas[1].getText().strip())[0] + sub_english_name = _SUB_ENGLISH_NAME_RE.split(datas[1].getText().split('(')[0])[0] if not sub_english_name: continue - sub_season = int((re.findall('s(\d{1,2})', datas[1].find_all('b')[0].getText(), re.VERBOSE)[0]) + sub_season = int((re.findall(r's(\d{1,2})', datas[1].find_all('b')[0].getText(), re.VERBOSE)[0]) .lstrip('0')) - sub_episode = int((re.findall('e(\d{1,2})', datas[1].find_all('b')[0].getText(), re.VERBOSE)[0]) + sub_episode = int((re.findall(r'e(\d{1,2})', datas[1].find_all('b')[0].getText(), re.VERBOSE)[0]) .lstrip('0')) if sub_season == season and sub_episode == episode: @@ -209,9 +219,7 @@ class HosszupuskaProvider(Provider, ProviderSubtitleArchiveMixin): asked_for_episode=episode) logger.debug('Found subtitle: %r', subtitle) - subtitles.append(subtitle) - - return subtitles + yield subtitle def list_subtitles(self, video, languages): titles = [video.series] + video.alternative_series diff --git a/tests/subliminal_patch/cassettes/test_hosszupuska/test_download_subtitle_episode.yaml b/tests/subliminal_patch/cassettes/test_hosszupuska/test_download_subtitle_episode.yaml new file mode 100644 index 000000000..bbc3bd383 --- /dev/null +++ b/tests/subliminal_patch/cassettes/test_hosszupuska/test_download_subtitle_episode.yaml @@ -0,0 +1,1275 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - Sub-Zero/2 + method: GET + uri: http://hosszupuskasub.com/sorozatok.php?cim=American+Horror+Story&evad=10&resz=01&nyelvtipus=%25&x=24&y=8 + response: + body: + string: !!binary | + PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEvL0VOIiAiaHR0cHM6 + Ly93d3cudzMub3JnL1RSL2h0bWw0L3N0cmljdC5kdGQiPgo8aHRtbCB4bWxucz0iaHR0cHM6Ly93 + d3cudzMub3JnLzE5OTkveGh0bWwiIGxhbmc9Imh1LUhVIj4KPGhlYWQ+CjxtZXRhIGh0dHAtZXF1 + aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sIiBjaGFyc2V0PSJpc28tODg1OS0y + IiAvPgo8dGl0bGU+LSBIb3NzenVQdXNrYSBTdWJ0aXRsZXMgLSBGZWxpcmF0b2sgbGV09mx06XNl + IG1pbmRlbiBtZW5ueWlz6WdiZW4hIC0gU29yb3phdG9rLCBmaWxtZWsgZm9yZO104XNhIC08L3Rp + dGxlPgo8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iSG9zc3p1UHVza2EgU3VidGl0 + bGVzIC0gRmVsaXJhdG9rIGxldPZsdOlzZSBtaW5kZW4gbWVubnlpc+lnYmVuISAtIFNvcm96YXRv + aywgZmlsbWVrIGZvcmTtdOFzYSIgLz4KPG1ldGEgbmFtZT0iYXV0aG9yIiBjb250ZW50PSJIb3Nz + enVwdXNrYSwgaHR0cHM6Ly93d3cuaG9zc3p1cHVza2FzdWIuY29tIiAvPgo8bWV0YSBuYW1lPSJs + YW5ndWFnZSIgY29udGVudD0iaHVuZ2FyaWFuIiAvPgo8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29u + dGVudD0iRmVsaXJhdG9rLCBGZWxpcmF0LCBmZWxpcmF0b2sgaHUsIEZlbGlyYXRvayBGaWxtZWto + ZXosIEZlbGlyYXRvayBTb3JvemF0LCBGZWxpcmF0b2sgRmlsbWVrLCBGZWxpcmF0b2sgRmlsbWVr + aGV6LCBGZWxpcmF0b2sgU29yb3phdG9raG96LCBTb3JvemF0IGZlbGlyYXRvaywgRmlsbWZlbGly + YXRvaywgRmVsaXJhdG9rIEZpbG1la25laywgRmVsaXJhdG9rIFNvcm96YXRva25haywgRmVsaXJh + dG9rIExldPZsdOlzZSwgU3VidGl0bGUsIFN1YnRpdGxlcyI+CjxtZXRhIG5hbWU9Ik1TU21hcnRU + YWdzUHJldmVudFBhcnNpbmciIGNvbnRlbnQ9InRydWUiIC8+CjxtZXRhIG5hbWU9IlJvYm90cyIg + Y29udGVudD0iaW5kZXgsIGZvbGxvdyIgLz4KPG1ldGEgbmFtZT0iRG9jdW1lbnQtc3RhdGUiIGNv + bnRlbnQ9IkR5bmFtaWMiIC8+CjxtZXRhIG5hbWU9InJldml6aXQtYWZ0ZXIiIGNvbnRlbnQ9IjEg + ZGF5IiAvPgo8bGluayByZWw9InNob3J0Y3V0IGljb24iIGhyZWY9ImZhdmljb24uaWNvIiB0eXBl + PSJpbWFnZS94LWljb24iPgo8bGluayByZWw9Imljb24iIGhyZWY9ImZhdmljb24uaWNvIiB0eXBl + PSJpbWFnZS94LWljb24iPgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9ImNzcy9ocC5jc3Mi + IHR5cGU9InRleHQvY3NzIiAvPgo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiB0eXBlPSJ0 + ZXh0L2phdmFzY3JpcHQiIHNyYz0iYWpheC5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgbGFuZ3VhZ2U9 + ImphdmFzY3JpcHQiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJjb2xsYXBzZS5qcyI+PC9z + Y3JpcHQ+CjxzY3JpcHQgc3JjPSIvL2FqYXguZ29vZ2xlYXBpcy5jb20vYWpheC9saWJzL2pxdWVy + eS8xLjExLjEvanF1ZXJ5Lm1pbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSIvL2FqYXguZ29v + Z2xlYXBpcy5jb20vYWpheC9saWJzL2pxdWVyeXVpLzEuMTAuNC9qcXVlcnktdWkubWluLmpzIj48 + L3NjcmlwdD4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCkEjbWVudXVqOmxpbmsge3RleHQtZGVj + b3JhdGlvbjogbm9uZTsgY29sb3I6ICAjRkZGRkZGOyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2Vp + Z2h0OiBib2xkOyB9DQpBI21lbnV1ajp2aXNpdGVkIHt0ZXh0LWRlY29yYXRpb246IG5vbmU7IGNv + bG9yOiAgI0ZGRkZGRjsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogYm9sZDsgfQ0KQSNt + ZW51dWo6YWN0aXZlIHt0ZXh0LWRlY29yYXRpb246IG5vbmU7IGNvbG9yOiAgI0ZGRkZGRjsgZm9u + dC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogYm9sZDsgfQ0KQSNtZW51dWo6aG92ZXIge3RleHQt + ZGVjb3JhdGlvbjogbm9uZTsgY29sb3I6ICNGRkZGRkY7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13 + ZWlnaHQ6IGJvbGQ7IH0NCmltZy5taWRkbGUgeyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9DQo8 + L3N0eWxlPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJocHJvdGF0ZS5qcyI+ + PC9zY3JpcHQ+CjxzY3JpcHQ+IA0KICAgICQoZnVuY3Rpb24oKXsNCiAgICAgICQoIiNpbmNsdWRl + ZENvbnRlbnQiKS5sb2FkKCJodHRwczovL2xhbmRjb21wdXRlci5odS9sYW5kY29tcHV0ZXJocC5o + dG1sIik7IA0KICAgIH0pOw0KICAgIDwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj + cmlwdCIgc3JjPSJodHRwczovL2hvc3N6dXB1c2thc3ViLmNvbS9iYW5uZXJzLm1pbi5qcyI+PC9z + Y3JpcHQ+CjxzY3JpcHQgc3JjPSdodHRwczovL3d3dy5nb29nbGUuY29tL3JlY2FwdGNoYS9hcGku + anMnPjwvc2NyaXB0Pgo8bGluayBocmVmPSJjc3MvcmF0aW5nX3N0eWxlLmNzcyIgcmVsPSJzdHls + ZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9ImFsbCI+CjwvaGVhZD4KPGJvZHk+CjxkaXYg + aWQ9ImZiLXJvb3QiPjwvZGl2Pgo8c2NyaXB0PihmdW5jdGlvbihkLCBzLCBpZCkgew0KICB2YXIg + anMsIGZqcyA9IGQuZ2V0RWxlbWVudHNCeVRhZ05hbWUocylbMF07DQogIGlmIChkLmdldEVsZW1l + bnRCeUlkKGlkKSkgcmV0dXJuOw0KICBqcyA9IGQuY3JlYXRlRWxlbWVudChzKTsganMuaWQgPSBp + ZDsNCiAganMuc3JjID0gJ2h0dHBzOi8vY29ubmVjdC5mYWNlYm9vay5uZXQvaHVfSFUvc2RrLmpz + I3hmYm1sPTEmdmVyc2lvbj12Mi4xMSZhcHBJZD0xODA2OTgyOTg2MTkxOTkxJzsNCiAgZmpzLnBh + cmVudE5vZGUuaW5zZXJ0QmVmb3JlKGpzLCBmanMpOw0KfShkb2N1bWVudCwgJ3NjcmlwdCcsICdm + YWNlYm9vay1qc3NkaycpKTs8L3NjcmlwdD4KPGNlbnRlcj48c2NyaXB0IGxhbmd1YWdlPSJKYXZh + U2NyaXB0IiBzcmM9ImJhbm5lcmVrMi5qcyI+PC9zY3JpcHQ+PC9jZW50ZXI+CjxzY3JpcHQ+DQoN + CiQoJ2JvZHknKS5jbGljayhmdW5jdGlvbihlKXsNCiAgICBpZiAoZS50YXJnZXQgPT09IHRoaXMp + IHsNCiAgICAgICAgd2luZG93Lm9wZW4oImh0dHA6Ly9ob3NzenVwdXNrYXN1Yi5jb20vaGlyZGV0 + ZXMucGhwIiwgIl9ibGFuayIpDQogICAgfQ0KfSk7DQo8L3NjcmlwdD4KPHRhYmxlIGFsaWduPSJj + ZW50ZXIiIGJhY2tncm91bmQ9ImNzcy9tZW51YmcucG5nIiB3aWR0aD0iOTQwIj4KPHRyPgo8dGQg + YWxpZ249ImNlbnRlciI+PGltZyBjbGFzcz0ibWlkZGxlIiBzcmM9ImNzcy9tZW51aWNvbi9Ib21l + LWljb24ucG5nIiB3aWR0aD0iMzIiIGFsaWduPSJtaWRkbGUiIHZlcnRpY2FsLWFsaWduPSJtaWRk + bGUiPjxhIGhyZWY9Imh0dHA6Ly9ob3NzenVwdXNrYXN1Yi5jb20vaW5kZXgucGhwIiBzdHlsZT0i + dGV4dC1kZWNvcmF0aW9uIDogbm9uZTsiPjxmb250IGNvbG9yPSJ3aGl0ZSI+Jm5ic3A7PGI+RvVv + bGRhbDwvYj48L2E+PC90ZD4KPHRkIGFsaWduPSJjZW50ZXIiPjxpbWcgY2xhc3M9Im1pZGRsZSIg + c3JjPSJjc3MvbWVudWljb24vZm9ydW0ucG5nIiB3aWR0aD0iMzIiIGFsaWduPSJtaWRkbGUiPjxh + IGhyZWY9Imh0dHBzOi8vZm9ydW0uaG9zc3p1cHVza2FzdWIuY29tIiBzdHlsZT0idGV4dC1kZWNv + cmF0aW9uIDogbm9uZTsiPjxmb250IGNvbG9yPSJ3aGl0ZSI+Jm5ic3A7PGI+RvNydW08L2I+PC9h + PjwvdGQ+Cjx0ZCBhbGlnbj0iY2VudGVyIj48aW1nIGNsYXNzPSJtaWRkbGUiIHNyYz0iY3NzL21l + bnVpY29uL2hpcmVrLnBuZyIgd2lkdGg9IjMyIiBhbGlnbj0ibWlkZGxlIj48YSBocmVmPSJodHRw + czovL3dlYm1vb3ZpZXMuY29tL2Jsb2ciIHRhcmdldD0iX2JsYW5rIiBzdHlsZT0idGV4dC1kZWNv + cmF0aW9uIDogbm9uZTsiPjxmb250IGNvbG9yPSJ3aGl0ZSI+Jm5ic3A7PGI+SO1yZWs8L2I+PC9h + PjwvdGQ+Cjx0ZCBhbGlnbj0iY2VudGVyIj48aW1nIGNsYXNzPSJtaWRkbGUiIHNyYz0iY3NzL21l + bnVpY29uL3dlYm1vb3ZpZXNpY29uLnBuZyIgd2lkdGg9IjMyIiBhbGlnbj0ibWlkZGxlIj48YSBo + cmVmPSJodHRwczovL3dlYm1vb3ZpZXMuY29tL3R2LXNob3dzIiBzdHlsZT0idGV4dC1kZWNvcmF0 + aW9uIDogbm9uZTsiIHRhcmdldD0iX2JsYW5rIiBhbHQ9Ik9ubGluZSBmaWxtZWssIG9ubGluZSBz + b3JvemF0b2ssIHNvcm96YXRvayBu6Xrpc2UsIGZpbG1la27peulzZSI+PGZvbnQgY29sb3I9Indo + aXRlIj4mbmJzcDs8Yj5Tb3JvemF0b2sgT25saW5lPC9iPjwvYT48L3RkPgo8dGQgYWxpZ249ImNl + bnRlciI+PGltZyBjbGFzcz0ibWlkZGxlIiBzcmM9ImNzcy9tZW51aWNvbi91cGxvYWQucG5nIiB3 + aWR0aD0iMzIiIGFsaWduPSJtaWRkbGUiPjxhIGhyZWY9Imh0dHBzOi8vaG9zc3p1cHVza2FzdWIu + Y29tL2ZlbHRvbHRlcy5waHAiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb24gOiBub25lOyI+PGZvbnQg + Y29sb3I9IndoaXRlIj4mbmJzcDs8Yj5GZWx09mx06XM8L2I+PC9hPjwvdGQ+Cjx0ZCBhbGlnbj0i + Y2VudGVyIj48aW1nIGNsYXNzPSJtaWRkbGUiIHNyYz0iY3NzL21lbnVpY29uL2hpcmRldG5lbC5w + bmciIHdpZHRoPSIzMiIgYWxpZ249Im1pZGRsZSI+PGEgaHJlZj0iaHR0cHM6Ly9ob3NzenVwdXNr + YXN1Yi5jb20vaGlyZGV0ZXMucGhwIiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uIDogbm9uZTsiPjxm + b250IGNvbG9yPSJ3aGl0ZSI+Jm5ic3A7PGI+SGlyZGV0bulsPzwvYj48L2E+PC90ZD4KPHRkIGFs + aWduPSJjZW50ZXIiPjxpbWcgY2xhc3M9Im1pZGRsZSIgc3JjPSJjc3MvbWVudWljb24vY2hhdC5w + bmciIHdpZHRoPSIzMiIgYWxpZ249Im1pZGRsZSI+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZmFjZWJv + b2suY29tL3BnL2hvc3N6dXB1c2thc3ViL2Fib3V0LyIgc3R5bGU9InRleHQtZGVjb3JhdGlvbiA6 + IG5vbmU7IiB0YXJnZXQ9Il9ibGFuayI+PGZvbnQgY29sb3I9IndoaXRlIj4mbmJzcDs8Yj5LYXBj + c29sYXQ8L2I+PC9hPjwvdGQ+CjwvZm9udD4KPC90cj4KPC90YWJsZT4KPC9jZW50ZXI+CjxkaXYg + aWQ9InN0cmFua2EiPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+IC8qPCFbQ0RBVEFb + Ki8galF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHtqUXVlcnkoIi50aGVibG9nd2lk + Z2V0cyIpLmhvdmVyKGZ1bmN0aW9uKCkge2pRdWVyeSh0aGlzKS5zdG9wKCkuYW5pbWF0ZSh7cmln + aHQ6ICIwIn0sICJtZWRpdW0iKTt9LCBmdW5jdGlvbigpIHtqUXVlcnkodGhpcykuc3RvcCgpLmFu + aW1hdGUoe3JpZ2h0OiAiLTMwMCJ9LCAibWVkaXVtIik7fSwgNTAwKTt9KTsgLypdXT4qLyA8L3Nj + cmlwdD4gPHN0eWxlIHR5cGU9InRleHQvY3NzIj4gLnRoZWJsb2d3aWRnZXRze2JhY2tncm91bmQ6 + IHVybCgiaHR0cHM6Ly8zLmJwLmJsb2dzcG90LmNvbS8tVGFaUkx2NjZmOGcvVW9NblR5VGJGNkkv + QUFBQUFBQUFBR1kvVTRxY2YtU1A2ZDAvVGhlQmxvZ1dpZGdldHNfZmFjZWJvb2tfd2lkZ2V0LnBu + ZyIpIG5vLXJlcGVhdCBzY3JvbGwgbGVmdCBjZW50ZXIgdHJhbnNwYXJlbnQgIWltcG9ydGFudDsg + ZmxvYXQ6IHJpZ2h0O2hlaWdodDogMjcwcHg7cGFkZGluZzogMCA1cHggMCA0NnB4O3dpZHRoOiAy + OTVweDt6LWluZGV4OiAgOTk5OTk7cG9zaXRpb246Zml4ZWQ7cmlnaHQ6LTMwMHB4O3RvcDoxNSU7 + fSAudGhlYmxvZ3dpZGdldHMgZGl2eyBwYWRkaW5nOiAwOyBtYXJnaW4tcmlnaHQ6LThweDsgYm9y + ZGVyOjRweCBzb2xpZCAgIzNiNTk5ODsgYmFja2dyb3VuZDojZmFmYWZhO30gLnRoZWJsb2d3aWRn + ZXRzIHNwYW57Ym90dG9tOiA0cHg7Zm9udDogOHB4ICJsdWNpZGEgZ3JhbmRlIix0YWhvbWEsdmVy + ZGFuYSxhcmlhbCxzYW5zLXNlcmlmO3Bvc2l0aW9uOiBhYnNvbHV0ZTtyaWdodDogNnB4O3RleHQt + YWxpZ246IHJpZ2h0O3otaW5kZXg6IDk5OTk5O30gLnRoZWJsb2d3aWRnZXRzIHNwYW4gYXtjb2xv + cjogZ3JheTt0ZXh0LWRlY29yYXRpb246bm9uZTt9IC50aGVibG9nd2lkZ2V0cyBzcGFuIGE6aG92 + ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9IH0gPC9zdHlsZT4KPGRpdiBjbGFzcz0idGhl + YmxvZ3dpZGdldHMiIHN0eWxlPSIiPgo8ZGl2Pgo8aWZyYW1lIHNyYz0iaHR0cHM6Ly93d3cuZmFj + ZWJvb2suY29tL3BsdWdpbnMvbGlrZWJveC5waHA/aHJlZj1odHRwcyUzQSUyRiUyRmZhY2Vib29r + LmNvbSUyRmhvc3N6dXB1c2thc3ViJndpZHRoPTI5NSZjb2xvcnNjaGVtZT1saWdodCZzaG93X2Zh + Y2VzPXRydWUmYm9yZGVyX2NvbG9yPXdoaXRlJmNvbm5lY3Rpb25zPTkmc3RyZWFtPWZhbHNlJmhl + YWRlcj1mYWxzZSZoZWlnaHQ9MjcwIiBzY3JvbGxpbmc9Im5vIiBmcmFtZWJvcmRlcj0iMCIgc2Ny + b2xsaW5nPSJubyIgc3R5bGU9ImJvcmRlcjogd2hpdGU7IG92ZXJmbG93OiBoaWRkZW47IGhlaWdo + dDogMjcwcHg7IHdpZHRoOiAyOTVweDtiYWNrZ3JvdW5kOiNmYWZhZmE7Y29sb3I6MDAwOyI+PC9p + ZnJhbWU+CjwvZGl2Pgo8L2Rpdj4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiAvKjwh + W0NEQVRBWyovIGpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7alF1ZXJ5KCIudGhl + YmxvZ3dpZGdldHMyIikuaG92ZXIoZnVuY3Rpb24oKSB7alF1ZXJ5KHRoaXMpLnN0b3AoKS5hbmlt + YXRlKHtyaWdodDogIjAifSwgIm1lZGl1bSIpO30sIGZ1bmN0aW9uKCkge2pRdWVyeSh0aGlzKS5z + dG9wKCkuYW5pbWF0ZSh7cmlnaHQ6ICItNjUwIn0sICJtZWRpdW0iKTt9LCA1MDApO30pOyAvKl1d + PiovIDwvc2NyaXB0PiA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPiAudGhlYmxvZ3dpZGdldHMye2Jh + Y2tncm91bmQ6IHVybCgiaHR0cHM6Ly9ob3NzenVwdXNrYXN1Yi5jb20vY3NzL3R3aXR0ZXIucG5n + Iikgbm8tcmVwZWF0IHNjcm9sbCBsZWZ0IGNlbnRlciB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyBm + bG9hdDogcmlnaHQ7aGVpZ2h0OiAyNzBweDtwYWRkaW5nOiAwIDVweCAwIDQ2cHg7d2lkdGg6IDY0 + NXB4O3otaW5kZXg6ICA5OTk5OTtwb3NpdGlvbjpmaXhlZDtyaWdodDotNjUwcHg7dG9wOjQwJTt9 + IC50aGVibG9nd2lkZ2V0czIgZGl2eyBwYWRkaW5nOiAwOyBtYXJnaW4tcmlnaHQ6LTE2cHg7IGJv + cmRlcjo0cHggc29saWQgICMzYjU5OTg7IGJhY2tncm91bmQ6I2ZhZmFmYTt9IC50aGVibG9nd2lk + Z2V0czIgc3Bhbntib3R0b206IDRweDtmb250OiA4cHggImx1Y2lkYSBncmFuZGUiLHRhaG9tYSx2 + ZXJkYW5hLGFyaWFsLHNhbnMtc2VyaWY7cG9zaXRpb246IGFic29sdXRlO3JpZ2h0OiA2cHg7dGV4 + dC1hbGlnbjogcmlnaHQ7ei1pbmRleDogOTk5OTk7fSAudGhlYmxvZ3dpZGdldHMyIHNwYW4gYXtj + b2xvcjogZ3JheTt0ZXh0LWRlY29yYXRpb246bm9uZTt9IC50aGVibG9nd2lkZ2V0czIgc3BhbiBh + OmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fSB9IDwvc3R5bGU+CjxkaXYgY2xhc3M9 + InRoZWJsb2d3aWRnZXRzMiIgc3R5bGU9IiI+CjxkaXY+CjxpZnJhbWUgc3JjPSJodHRwczovL2hv + c3N6dXB1c2thc3ViLmNvbS90d2l0dGVyLmh0bWwiIHNjcm9sbGluZz0ieWVzIiBmcmFtZWJvcmRl + cj0iMCIgc2Nyb2xsaW5nPSJubyIgc3R5bGU9ImJvcmRlcjogd2hpdGU7IG92ZXJmbG93OiBoaWRk + ZW47IGhlaWdodDogMzIwcHg7IHdpZHRoOiA2NTBweDtiYWNrZ3JvdW5kOiNmYWZhZmE7Y29sb3I6 + MDAwOyI+PC9pZnJhbWU+CjxzY3JpcHQgYXN5bmMgc3JjPSdodHRwczovL2hvc3N6dXB1c2thc3Vi + LmNvbS93aWRnZXRzLmpzJyBjaGFyc2V0PSd1dGYtOCc+PC9zY3JpcHQ+CjwvZGl2Pgo8L2Rpdj4K + PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjaGFyc2V0PSJ1dGYtOCI+CjxociBjb2xv + cj0iI2NjY2NjYyIgc3R5bGU9ImJvcmRlcjogMXB4IGRvdHRlZCAjY2NjY2NjIj4KPHRhYmxlIHdp + ZHRoPSI5OSUiIGFsaWduPSJjZW50ZXIiPgo8dHI+Cjx0ZCB3aWR0aD0iMTAzIiBoZWlnaHQ9IjQw + IiBvbm1vdXNlb3Zlcj0idGhpcy5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2U9J3VybChjc3Mvb3Zlcmxv + Z28ucG5nKSc7IiBvbm1vdXNlb3V0PSJ0aGlzLnN0eWxlLmJhY2tncm91bmRJbWFnZT0ndXJsKGNz + cy9vdmVyMi5qcGcpJzsiPjxkaXYgYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iaHR0cDovL2hvc3N6 + dXB1c2thc3ViLmNvbS9zb3JvemF0b2sucGhwP3NlcmlhbD10aGV3YWxraW5nZGVhZCIgdGFyZ2V0 + PSJfcGFyZW50Ij48aW1nIHNyYz0iY3NzL2tpc2tlcC90aGV3YWxraW5nZGVhZC5wbmciIGFsdD0i + IiB3aWR0aD0iODAiIGJvcmRlcj0iMCI+PC9hPjwvZGl2PjwvdGQ+PHRkIHdpZHRoPSIxMDMiIGhl + aWdodD0iNDAiIG9ubW91c2VvdmVyPSJ0aGlzLnN0eWxlLmJhY2tncm91bmRJbWFnZT0ndXJsKGNz + cy9vdmVybG9nby5wbmcpJzsiIG9ubW91c2VvdXQ9InRoaXMuc3R5bGUuYmFja2dyb3VuZEltYWdl + PSd1cmwoY3NzL292ZXIyLmpwZyknOyI+PGRpdiBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJodHRw + Oi8vaG9zc3p1cHVza2FzdWIuY29tL3Nvcm96YXRvay5waHA/c2VyaWFsPWRleHRlciIgdGFyZ2V0 + PSJfcGFyZW50Ij48aW1nIHNyYz0iY3NzL2tpc2tlcC9kZXh0ZXIucG5nIiBhbHQ9IiIgd2lkdGg9 + IjgwIiBib3JkZXI9IjAiPjwvYT48L2Rpdj48L3RkPjx0ZCB3aWR0aD0iMTAzIiBoZWlnaHQ9IjQw + IiBvbm1vdXNlb3Zlcj0idGhpcy5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2U9J3VybChjc3Mvb3Zlcmxv + Z28ucG5nKSc7IiBvbm1vdXNlb3V0PSJ0aGlzLnN0eWxlLmJhY2tncm91bmRJbWFnZT0ndXJsKGNz + cy9vdmVyMi5qcGcpJzsiPjxkaXYgYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iaHR0cDovL2hvc3N6 + dXB1c2thc3ViLmNvbS9zb3JvemF0b2sucGhwP3NlcmlhbD10aGV3YWxraW5nZGVhZHdvcmxkYmV5 + b25kIiB0YXJnZXQ9Il9wYXJlbnQiPjxpbWcgc3JjPSJjc3Mva2lza2VwL3RoZXdhbGtpbmdkZWFk + d29ybGRiZXlvbmQucG5nIiBhbHQ9IiIgd2lkdGg9IjgwIiBib3JkZXI9IjAiPjwvYT48L2Rpdj48 + L3RkPjx0ZCB3aWR0aD0iMTAzIiBoZWlnaHQ9IjQwIiBvbm1vdXNlb3Zlcj0idGhpcy5zdHlsZS5i + YWNrZ3JvdW5kSW1hZ2U9J3VybChjc3Mvb3ZlcmxvZ28ucG5nKSc7IiBvbm1vdXNlb3V0PSJ0aGlz + LnN0eWxlLmJhY2tncm91bmRJbWFnZT0ndXJsKGNzcy9vdmVyMi5qcGcpJzsiPjxkaXYgYWxpZ249 + ImNlbnRlciI+PGEgaHJlZj0iaHR0cDovL2hvc3N6dXB1c2thc3ViLmNvbS9zb3JvemF0b2sucGhw + P3NlcmlhbD1idWxsIiB0YXJnZXQ9Il9wYXJlbnQiPjxpbWcgc3JjPSJjc3Mva2lza2VwL2J1bGwu + cG5nIiBhbHQ9IiIgd2lkdGg9IjgwIiBib3JkZXI9IjAiPjwvYT48L2Rpdj48L3RkPjx0ZCB3aWR0 + aD0iMTAzIiBoZWlnaHQ9IjQwIiBvbm1vdXNlb3Zlcj0idGhpcy5zdHlsZS5iYWNrZ3JvdW5kSW1h + Z2U9J3VybChjc3Mvb3ZlcmxvZ28ucG5nKSc7IiBvbm1vdXNlb3V0PSJ0aGlzLnN0eWxlLmJhY2tn + cm91bmRJbWFnZT0ndXJsKGNzcy9vdmVyMi5qcGcpJzsiPjxkaXYgYWxpZ249ImNlbnRlciI+PGEg + aHJlZj0iaHR0cDovL2hvc3N6dXB1c2thc3ViLmNvbS9zb3JvemF0b2sucGhwP3NlcmlhbD15b3Vu + Z3NoZWxkb24iIHRhcmdldD0iX3BhcmVudCI+PGltZyBzcmM9ImNzcy9raXNrZXAveW91bmdzaGVs + ZG9uLnBuZyIgYWx0PSIiIHdpZHRoPSI4MCIgYm9yZGVyPSIwIj48L2E+PC9kaXY+PC90ZD48dGQg + d2lkdGg9IjEwMyIgaGVpZ2h0PSI0MCIgb25tb3VzZW92ZXI9InRoaXMuc3R5bGUuYmFja2dyb3Vu + ZEltYWdlPSd1cmwoY3NzL292ZXJsb2dvLnBuZyknOyIgb25tb3VzZW91dD0idGhpcy5zdHlsZS5i + YWNrZ3JvdW5kSW1hZ2U9J3VybChjc3Mvb3ZlcjIuanBnKSc7Ij48ZGl2IGFsaWduPSJjZW50ZXIi + PjxhIGhyZWY9Imh0dHA6Ly9ob3NzenVwdXNrYXN1Yi5jb20vc29yb3phdG9rLnBocD9zZXJpYWw9 + YmF0d29tYW4iIHRhcmdldD0iX3BhcmVudCI+PGltZyBzcmM9ImNzcy9raXNrZXAvYmF0d29tYW4u + cG5nIiBhbHQ9IiIgd2lkdGg9IjgwIiBib3JkZXI9IjAiPjwvYT48L2Rpdj48L3RkPjx0ZCB3aWR0 + aD0iMTAzIiBoZWlnaHQ9IjQwIiBvbm1vdXNlb3Zlcj0idGhpcy5zdHlsZS5iYWNrZ3JvdW5kSW1h + Z2U9J3VybChjc3Mvb3ZlcmxvZ28ucG5nKSc7IiBvbm1vdXNlb3V0PSJ0aGlzLnN0eWxlLmJhY2tn + cm91bmRJbWFnZT0ndXJsKGNzcy9vdmVyMi5qcGcpJzsiPjxkaXYgYWxpZ249ImNlbnRlciI+PGEg + aHJlZj0iaHR0cDovL2hvc3N6dXB1c2thc3ViLmNvbS9zb3JvemF0b2sucGhwP3NlcmlhbD13YWxr + ZXIiIHRhcmdldD0iX3BhcmVudCI+PGltZyBzcmM9ImNzcy9raXNrZXAvd2Fsa2VyLnBuZyIgYWx0 + PSIiIHdpZHRoPSI4MCIgYm9yZGVyPSIwIj48L2E+PC9kaXY+PC90ZD48dGQgd2lkdGg9IjEwMyIg + aGVpZ2h0PSI0MCIgb25tb3VzZW92ZXI9InRoaXMuc3R5bGUuYmFja2dyb3VuZEltYWdlPSd1cmwo + Y3NzL292ZXJsb2dvLnBuZyknOyIgb25tb3VzZW91dD0idGhpcy5zdHlsZS5iYWNrZ3JvdW5kSW1h + Z2U9J3VybChjc3Mvb3ZlcjIuanBnKSc7Ij48ZGl2IGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9Imh0 + dHA6Ly9ob3NzenVwdXNrYXN1Yi5jb20vc29yb3phdG9rLnBocD9zZXJpYWw9YWxsYW1lcmljYW4i + IHRhcmdldD0iX3BhcmVudCI+PGltZyBzcmM9ImNzcy9raXNrZXAvYWxsYW1lcmljYW4ucG5nIiBh + bHQ9IiIgd2lkdGg9IjgwIiBib3JkZXI9IjAiPjwvYT48L2Rpdj48L3RkPjx0ZCB3aWR0aD0iMTAz + IiBoZWlnaHQ9IjQwIiBvbm1vdXNlb3Zlcj0idGhpcy5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2U9J3Vy + bChjc3Mvb3ZlcmxvZ28ucG5nKSc7IiBvbm1vdXNlb3V0PSJ0aGlzLnN0eWxlLmJhY2tncm91bmRJ + bWFnZT0ndXJsKGNzcy9vdmVyMi5qcGcpJzsiPjxkaXYgYWxpZ249ImNlbnRlciI+PGEgaHJlZj0i + aHR0cDovL2hvc3N6dXB1c2thc3ViLmNvbS9zb3JvemF0b2sucGhwP3NlcmlhbD1zdXBlcmdpcmwi + IHRhcmdldD0iX3BhcmVudCI+PGltZyBzcmM9ImNzcy9raXNrZXAvc3VwZXJnaXJsLnBuZyIgYWx0 + PSIiIHdpZHRoPSI4MCIgYm9yZGVyPSIwIj48L2E+PC9kaXY+PC90ZD48L3RyPjx0cj48dGQgdmFs + aWduPSJ0b3AiPjxkaXYgYWxpZ249ImNlbnRlciI+PHN0cm9uZz4gczAyZTAzPC9zdHJvbmc+Jm5i + c3A7PGltZyBzcmM9ImZsYWdzLzEuZ2lmIiBhbHQ9IiIgd2lkdGg9IjE4IiBoZWlnaHQ9IjEwIj48 + YnI+PHNwYW4gY2xhc3M9InN0eWxlMSI+KHJlcGFjayBhbXpuIHdlYnJpcC1udGIsIHJlcGFjayBh + bXpuIHdlYiBkbC1udGIpPC9zcGFuPjwvZGl2PjwvdGQ+PHRkIHZhbGlnbj0idG9wIj48ZGl2IGFs + aWduPSJjZW50ZXIiPjxzdHJvbmc+IHMwOWUwNDwvc3Ryb25nPiZuYnNwOzxpbWcgc3JjPSJmbGFn + cy8xLmdpZiIgYWx0PSIiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxMCI+PGJyPjxzcGFuIGNsYXNzPSJz + dHlsZTEiPihhbXpuIHdlYnJpcC1udGIsIGFtem4gd2ViIGRsLW50Yiwgd2ViLWdsaGYpPC9zcGFu + PjwvZGl2PjwvdGQ+PHRkIHZhbGlnbj0idG9wIj48ZGl2IGFsaWduPSJjZW50ZXIiPjxzdHJvbmc+ + IHMwMmUwOTwvc3Ryb25nPiZuYnNwOzxpbWcgc3JjPSJmbGFncy8yLmdpZiIgYWx0PSIiIHdpZHRo + PSIxOCIgaGVpZ2h0PSIxMCI+PGJyPjxzcGFuIGNsYXNzPSJzdHlsZTEiPih3ZWJyaXAtaW9uMTAs + IHdlYi1hZmcsIHdlYi1jYWtlcyk8L3NwYW4+PC9kaXY+PC90ZD48dGQgdmFsaWduPSJ0b3AiPjxk + aXYgYWxpZ249ImNlbnRlciI+PHN0cm9uZz4gczA2ZTA2PC9zdHJvbmc+Jm5ic3A7PGltZyBzcmM9 + ImZsYWdzLzIuZ2lmIiBhbHQ9IiIgd2lkdGg9IjE4IiBoZWlnaHQ9IjEwIj48YnI+PHNwYW4gY2xh + c3M9InN0eWxlMSI+KHdlYnJpcC1pb24xMCwgd2ViLWFmZywgd2ViLWdvc3NpcCk8L3NwYW4+PC9k + aXY+PC90ZD48dGQgdmFsaWduPSJ0b3AiPjxkaXYgYWxpZ249ImNlbnRlciI+PHN0cm9uZz4gczA1 + ZTA3PC9zdHJvbmc+Jm5ic3A7PGltZyBzcmM9ImZsYWdzLzEuZ2lmIiBhbHQ9IiIgd2lkdGg9IjE4 + IiBoZWlnaHQ9IjEwIj48YnI+PHNwYW4gY2xhc3M9InN0eWxlMSI+KHdlYnJpcC1pb24xMCwgd2Vi + LWNha2VzKTwvc3Bhbj48L2Rpdj48L3RkPjx0ZCB2YWxpZ249InRvcCI+PGRpdiBhbGlnbj0iY2Vu + dGVyIj48c3Ryb25nPiBzMDNlMDc8L3N0cm9uZz4mbmJzcDs8aW1nIHNyYz0iZmxhZ3MvMi5naWYi + IGFsdD0iIiB3aWR0aD0iMTgiIGhlaWdodD0iMTAiPjxicj48c3BhbiBjbGFzcz0ic3R5bGUxIj4o + aGR0di1hZmcsIGhkdHYtcm14LCA3MjBwLXN5bmNvcHksIDcyMHAtcm10ZWFtKTwvc3Bhbj48L2Rp + dj48L3RkPjx0ZCB2YWxpZ249InRvcCI+PGRpdiBhbGlnbj0iY2VudGVyIj48c3Ryb25nPiBzMDJl + MDI8L3N0cm9uZz4mbmJzcDs8aW1nIHNyYz0iZmxhZ3MvMS5naWYiIGFsdD0iIiB3aWR0aD0iMTgi + IGhlaWdodD0iMTAiPjxicj48c3BhbiBjbGFzcz0ic3R5bGUxIj4od2VicmlwLWlvbjEwLCBhbXpu + IHdlYnJpcC1mbHV4LCBhbXpuIHdlYiBkbC1mbHV4LCB3ZWItYWZnLCB3ZWItZ29zc2lwKTwvc3Bh + bj48L2Rpdj48L3RkPjx0ZCB2YWxpZ249InRvcCI+PGRpdiBhbGlnbj0iY2VudGVyIj48c3Ryb25n + PiBzMDRlMDU8L3N0cm9uZz4mbmJzcDs8aW1nIHNyYz0iZmxhZ3MvMi5naWYiIGFsdD0iIiB3aWR0 + aD0iMTgiIGhlaWdodD0iMTAiPjxicj48c3BhbiBjbGFzcz0ic3R5bGUxIj4oaGR0di1hZmcsIDcy + MHAtc3luY29weSk8L3NwYW4+PC9kaXY+PC90ZD48dGQgdmFsaWduPSJ0b3AiPjxkaXYgYWxpZ249 + ImNlbnRlciI+PHN0cm9uZz4gczA2ZTIwPC9zdHJvbmc+Jm5ic3A7PGltZyBzcmM9ImZsYWdzLzEu + Z2lmIiBhbHQ9IiIgd2lkdGg9IjE4IiBoZWlnaHQ9IjEwIj48YnI+PHNwYW4gY2xhc3M9InN0eWxl + MSI+KHdlYnJpcC1pb24xMCwgYW16biB3ZWJyaXAtbnRiLCBhbXpuIHdlYiBkbC1udGIpPC9zcGFu + PjwvZGl2PjwvdGQ+CjwvdHI+CjwvdGFibGU+CjxociBjb2xvcj0iI2NjY2NjYyIgc3R5bGU9ImJv + cmRlcjogMXB4IGRvdHRlZCAjY2NjY2NjIj4KPHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3Bh + Y2luZz0iMCIgYm9yZGVyPSIwIiBiZ2NvbG9yPSJkYXJrZ3JheSIgd2lkdGg9Ijc4MCIgYWxpZ249 + ImNlbnRlciI+Cjx0cj48dGQ+Cjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3Bh + Y2luZz0iMSIgY2VsbHBhZGRpbmc9IjUiPgo8dHIgYmdjb2xvcj0iI2U2ZTZlNiI+Cjx0ZCBoZWln + aHQ9IjUwIiBhbGlnbj0ibGVmdCI+CjxhIGhyZWY9Imh0dHA6Ly9pbmZvLmhvc3N6dXB1c2thc3Vi + LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iY3NzL2luZm9iYW5uZXIzLnBuZyIgd2lk + dGg9IjQ0MCIgaGVpZ2h0PSI2MCIgYWx0PSdoaXJkZXNzIGl0dCcgYm9yZGVyPSIwIj48L2E+Cgo8 + L2E+CjwvdGQ+PHRkPgo8YSBocmVmPSJodHRwczovL3BjLW1heC5odS90ZXJtZWsta2VyZXNlcy8/ + c2VhcmNoPSsrKyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iY3NzL2FuaW1hbHRfaGlyZGV0 + ZXNfaG9zc3p1cHVza2FfMDEwX0IuZ2lmIiB3aWR0aD0iNDYwIiBoZWlnaHQ9IjYwIiBhbHQ9J2hh + c3pu4Wx0IHN64W3tdPNn6XBlayBvbGNz824nIGJvcmRlcj0iMCI+CjwvYT4KPC90ZD4KPC90cj4K + PC90YWJsZT4KPC90ZD48L3RyPgo8L3RhYmxlPgo8aHIgY29sb3I9IiNjY2NjY2MiIHN0eWxlPSJi + b3JkZXI6IDFweCBkb3R0ZWQgI2NjY2NjYyI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQogICAg + IC5zZWFyY2gtYm94ew0KICAgICAgICB3aWR0aDogNjQwcHg7DQogICAgICAgIHBvc2l0aW9uOiBy + ZWxhdGl2ZTsNCiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KCQkNCgkNCiAgICB9DQog + ICAgLnNlYXJjaC1ib3ggaW5wdXRbdHlwZT0idGV4dCJdew0KICAgICAgICBib3JkZXI6IDJweCBz + b2xpZCAjQ0NDQ0NDOw0KCSAgICBib3JkZXItcmFkaXVzOiA4cHg7DQoJICAgIGZvbnQtc2l6ZTog + MjRweDsNCgkgICAgaGVpZ2h0OiA1MHB4Ow0KCSAgICBsaW5lLWhlaWdodDogMzBweDsNCgkgICAg + b3V0bGluZTogbWVkaXVtIG5vbmU7DQoJICAgIHBhZGRpbmc6IDhweCAxMnB4Ow0KCSAgICB3aWR0 + aDogNTgwcHg7DQogICAgfQ0KICAgIC5yZXN1bHR7DQogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0 + ZTsgICAgICAgIA0KICAgICAgICB6LWluZGV4OiA5OTk7DQogICAgICAgIHRvcDogMTAwJTsNCiAg + ICAgICAgbGVmdDogMDsNCiAgICB9DQogICAgLnNlYXJjaC1ib3ggaW5wdXRbdHlwZT0idGV4dCJd + LCAucmVzdWx0ew0KICAgICAgICB3aWR0aDogMTAwJTsNCiAgICAgICAgYm94LXNpemluZzogYm9y + ZGVyLWJveDsNCiAgICB9DQogICAgLyogRm9ybWF0dGluZyByZXN1bHQgaXRlbXMgKi8NCiAgICAu + cmVzdWx0IHB7DQoJCWJhY2tncm91bmQ6ICNmMmYyZjI7DQoJICAgIGJvcmRlcjogMnB4IHNvbGlk + ICNDQ0NDQ0M7DQogIAkgICAgbWFyZ2luOiAwOw0KCQlmb250LXNpemU6IDE2cHg7DQogICAgICAg + IHBhZGRpbmc6IDdweCAxMHB4Ow0KICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjQ0NDQ0NDOw0K + ICAgICAgICBib3JkZXItdG9wOiBub25lOw0KCQljdXJzb3I6IHBvaW50ZXI7DQogICAgICAgIA0K + CSAgICAgICANCiAgICB9DQoJLnJlc3VsdCB0YWJsZXsNCgkJd2lkdGg6IDYxNnB4Ow0KCQliYWNr + Z3JvdW5kOiAjZjJmMmYyOw0KCSAgICBib3JkZXI6IDJweCBzb2xpZCAjQ0NDQ0NDOw0KICAJICAg + IG1hcmdpbjogMDsNCgkJZm9udC1zaXplOiAxNHB4Ow0KICAgICAgICBwYWRkaW5nOiA3cHggMTBw + eDsNCiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0NDQ0NDQzsNCiAgICAgICAgYm9yZGVyLXRv + cDogbm9uZTsNCgkJY3Vyc29yOiBwb2ludGVyOw0KICAgICAgICANCgkgICAgICAgDQogICAgfQ0K + ICAgIC5yZXN1bHQgcDpob3ZlcnsNCiAgICAgICAgYmFja2dyb3VuZDogI0NDQzsNCgkJYm9yZGVy + OiAycHggc29saWQgI0NDQ0NDQzsNCiAgCSAgICBtYXJnaW46IDA7DQoJCWZvbnQtc2l6ZTogMTZw + eDsNCiAgICAgICAgcGFkZGluZzogN3B4IDEwcHg7DQogICAgICAgIGJvcmRlcjogMXB4IHNvbGlk + ICNDQ0NDQ0M7DQogICAgICAgIGJvcmRlci10b3A6IG5vbmU7DQogICAgfQ0KCS5yZXN1bHQgdGFi + bGU6aG92ZXJ7DQoJCXdpZHRoOiA2MTZweDsNCiAgICAgICAgYmFja2dyb3VuZDogI0NDQzsNCgkJ + Ym9yZGVyOiAycHggc29saWQgI0NDQ0NDQzsNCiAgCSAgICBtYXJnaW46IDA7DQoJCWZvbnQtc2l6 + ZTogMTRweDsNCiAgICAgICAgcGFkZGluZzogN3B4IDEwcHg7DQogICAgICAgIGJvcmRlcjogMXB4 + IHNvbGlkICNDQ0NDQ0M7DQogICAgICAgIGJvcmRlci10b3A6IG5vbmU7DQogICAgfQ0KPC9zdHls + ZT4KPHN0eWxlPg0KCQ0KCS5tZW51IHsNCglmb250LWZhbWlseTogYXJpYWwgYmxhY2s7DQoJY29s + b3I6ICMwMDAwMDA7DQoJZm9udC1zaXplOiAyMnB4Ow0KCUE6bGluayB7IHRleHQtZGVjb3JhdGlv + bjogbm9uZTt9DQogICAgQTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAg + ICAgICAgY29sb3I6ICMwMDAwMDA7IH0NCiAgICBBOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiBu + b25lOw0KICAgICAgICAgIGNvbG9yOiAjNjY5OUNDOyB9DQoJfQ0KCS5tZW51MXsNCglmb250LWZh + bWlseTogYXJpYWwgYmxhY2s7DQoJZm9udC1zaXplOiAxNnB4Ow0KCUE6bGluayB7IHRleHQtZGVj + b3JhdGlvbjogbm9uZTsgY29sb3I6ICNlZWVlZWU7fQ0KICAgIEE6dmlzaXRlZCB7IHRleHQtZGVj + b3JhdGlvbjogbm9uZTsNCiAgICAgICAgICAgIGNvbG9yOiAjOTk5OTk5OyB9DQogICAgQTpob3Zl + ciB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgICBjb2xvcjogIzY2OTlDQzsgfQ0K + CX0NCgkNCgkNCgkucGVyIHsNCglmb250LWZhbWlseTogYXJpYWwgYmxhY2s7DQoJY29sb3I6ICMw + MDAwMDA7DQoJZm9udC10eXBlOiBib2xkOw0KCWZvbnQtc2l6ZTogMjJweDsNCgl9DQoJDQoJLnRh + YmxlX2JvZHl7DQoJCWJhY2tncm91bmQtaW1hZ2U6dXJsKCdjc3Mva2VyZXNvYmFja3MuanBnJyk7 + DQoJCWZpbHRlcjphbHBoYShvcGFjaXR5PTkwKTsgLW1vei1vcGFjaXR5OjAuNTsgb3BhY2l0eTog + MS41Ow0KCQkNCgl9DQoJCQ0KCQkNCn0NCg0KICAgCQ0KPC9zdHlsZT4KPHNjcmlwdCBzcmM9Imh0 + dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KPHNj + cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24o + KXsNCiAgICAkKCcuc2VhcmNoLWJveCBpbnB1dFt0eXBlPSJ0ZXh0Il0nKS5vbigia2V5dXAgaW5w + dXQiLCBmdW5jdGlvbigpew0KICAgICAgICAvKiBHZXQgaW5wdXQgdmFsdWUgb24gY2hhbmdlICov + DQogICAgICAgIHZhciBpbnB1dFZhbCA9ICQodGhpcykudmFsKCk7DQogICAgICAgIHZhciByZXN1 + bHREcm9wZG93biA9ICQodGhpcykuc2libGluZ3MoIi5yZXN1bHQiKTsNCiAgICAgICAgaWYoaW5w + dXRWYWwubGVuZ3RoKXsNCiAgICAgICAgICAgICQuZ2V0KCJiYWNrZW5kLXNlYXJjaC5waHAiLCB7 + dGVybTogaW5wdXRWYWx9KS5kb25lKGZ1bmN0aW9uKGRhdGEpew0KICAgICAgICAgICAgICAgIC8v + IERpc3BsYXkgdGhlIHJldHVybmVkIGRhdGEgaW4gYnJvd3Nlcg0KICAgICAgICAgICAgICAgIHJl + c3VsdERyb3Bkb3duLmh0bWwoZGF0YSk7DQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSBlbHNl + ew0KICAgICAgICAgICAgcmVzdWx0RHJvcGRvd24uZW1wdHkoKTsNCiAgICAgICAgfQ0KICAgIH0p + Ow0KICAgIA0KICAgIC8vIFNldCBzZWFyY2ggaW5wdXQgdmFsdWUgb24gY2xpY2sgb2YgcmVzdWx0 + IGl0ZW0NCiAgICAkKGRvY3VtZW50KS5vbigiY2xpY2siLCAiLnJlc3VsdCBwIiwgZnVuY3Rpb24o + KXsNCiAgICAgICAgJCh0aGlzKS5wYXJlbnRzKCIuc2VhcmNoLWJveCIpLmZpbmQoJ2lucHV0W3R5 + cGU9InRleHQiXScpLnZhbCgkKHRoaXMpLnRleHQoKSk7DQogICAgICAgICQodGhpcykucGFyZW50 + KCIucmVzdWx0IikuZW1wdHkoKTsNCiAgICB9KTsNCn0pOw0KPC9zY3JpcHQ+Cjx0YWJsZSB3aWR0 + aD0iOTAwIiBjbGFzcz0idGFibGVfYm9keSIgYm9yZGVyPSIwIiBhbGlnbj0iY2VudGVyIj4KPHRy + Pjx0ZD4KPGNlbnRlcj4KPGltZyBzcmM9ImNzcy9iYWxueWlsLnBuZyIgd2lkdGg9IjIxIj48YSBo + cmVmPSJzb3JvemF0b2sucGhwIiBpZD0ibWVudTMiPjxzcGFuIGNsYXNzPSJtZW51Ij48Yj5Tb3Jv + emF0b2s8L2I+PC9zcGFuPjwvYT4mbmJzcDs8c3BhbiBjbGFzcz0icGVyIj4tPC9zcGFuPiZuYnNw + OzxhIGhyZWY9ImZpbG1lay5waHAiIGlkPSJtZW51MyI+PHNwYW4gY2xhc3M9Im1lbnUxIj5GaWxt + ZWs8L3NwYW4+PC9hPgombmJzcDsmbmJzcDsmbmJzcDsKPHRhYmxlPjx0cj48dGQ+Cjxmb3JtIGFj + dGlvbj0ic29yb3phdG9rLnBocCIgbmFtZT0icHJlcmVnIiBtZXRob2Q9ImdldCI+CjxzcGFuIGNs + YXNzPSJzdHlsZTIiPjxzdHJvbmc+PC9zdHJvbmc+PC9zcGFuPgo8L3RkPgo8dGQ+Cgo8ZGl2IGNs + YXNzPSJzZWFyY2gtYm94Ij4KPGlucHV0IHR5cGU9InRleHQiIG5hbWU9ImNpbSIgYXV0b2NvbXBs + ZXRlPSJvZmYiIHBsYWNlaG9sZGVyPSLNcmQgYmUgYSBrZXJlc2VuZPUgc29yb3phdCBj7W3pdC4u + LiIgLz4KPGRpdiBjbGFzcz0icmVzdWx0Ij48L2Rpdj4KPC9kaXY+CjwvdGQ+PC90cj48L3RhYmxl + Pgo8dGFibGU+PHRyPgo8dGQ+CiZuYnNwOwo8c2VsZWN0IG5hbWU9ImV2YWQiIGNsYXNzPSJpbnB1 + dDIiPgo8b3B0aW9uIHZhbHVlPSIiPul2YWQ8L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT0iczAxIj4x + PC9vcHRpb24+CjxvcHRpb24gdmFsdWU9InMwMiI+Mjwvb3B0aW9uPgo8b3B0aW9uIHZhbHVlPSJz + MDMiPjM8L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT0iczA0Ij40PC9vcHRpb24+CjxvcHRpb24gdmFs + dWU9InMwNSI+NTwvb3B0aW9uPgo8b3B0aW9uIHZhbHVlPSJzMDYiPjY8L29wdGlvbj4KPG9wdGlv + biB2YWx1ZT0iczA3Ij43PC9vcHRpb24+CjxvcHRpb24gdmFsdWU9InMwOCI+ODwvb3B0aW9uPgo8 + b3B0aW9uIHZhbHVlPSJzMDkiPjk8L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT0iczEwIj4xMDwvb3B0 + aW9uPgo8b3B0aW9uIHZhbHVlPSJzMTEiPjExPC9vcHRpb24+CjxvcHRpb24gdmFsdWU9InMxMiI+ + MTI8L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT0iczEzIj4xMzwvb3B0aW9uPgo8b3B0aW9uIHZhbHVl + PSJzMTQiPjE0PC9vcHRpb24+CjxvcHRpb24gdmFsdWU9InMxNSI+MTU8L29wdGlvbj4KPG9wdGlv + biB2YWx1ZT0iczE2Ij4xNjwvb3B0aW9uPgo8b3B0aW9uIHZhbHVlPSJzMTciPjE3PC9vcHRpb24+ + CjxvcHRpb24gdmFsdWU9InMxOCI+MTg8L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT0iczE5Ij4xOTwv + b3B0aW9uPgo8b3B0aW9uIHZhbHVlPSJzMjAiPjIwPC9vcHRpb24+CjxvcHRpb24gdmFsdWU9InMy + MSI+MjE8L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT0iczIyIj4yMjwvb3B0aW9uPgo8b3B0aW9uIHZh + bHVlPSJzMjMiPjIzPC9vcHRpb24+CjxvcHRpb24gdmFsdWU9InMyNCI+MjQ8L29wdGlvbj4KPG9w + dGlvbiB2YWx1ZT0iczI1Ij4yNTwvb3B0aW9uPgo8b3B0aW9uIHZhbHVlPSJzMjYiPjI2PC9vcHRp + b24+CjxvcHRpb24gdmFsdWU9InMyNyI+Mjc8L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT0iczI4Ij4y + ODwvb3B0aW9uPgo8b3B0aW9uIHZhbHVlPSJzMjkiPjI5PC9vcHRpb24+CjxvcHRpb24gdmFsdWU9 + InMzMCI+MzA8L29wdGlvbj4KPC9zZWxlY3Q+Ci0KPC90ZD4KPHRkPgo8c2VsZWN0IG5hbWU9InJl + c3oiIGNsYXNzPSJpbnB1dDIiPgo8b3B0aW9uIHZhbHVlPSIiPnLpc3o8L29wdGlvbj4KPG9wdGlv + biB2YWx1ZT0iZTAxIj4xPC9vcHRpb24+CjxvcHRpb24gdmFsdWU9ImUwMiI+Mjwvb3B0aW9uPgo8 + b3B0aW9uIHZhbHVlPSJlMDMiPjM8L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT0iZTA0Ij40PC9vcHRp + b24+CjxvcHRpb24gdmFsdWU9ImUwNSI+NTwvb3B0aW9uPgo8b3B0aW9uIHZhbHVlPSJlMDYiPjY8 + L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT0iZTA3Ij43PC9vcHRpb24+CjxvcHRpb24gdmFsdWU9ImUw + OCI+ODwvb3B0aW9uPgo8b3B0aW9uIHZhbHVlPSJlMDkiPjk8L29wdGlvbj4KPG9wdGlvbiB2YWx1 + ZT0iZTEwIj4xMDwvb3B0aW9uPgo8b3B0aW9uIHZhbHVlPSJlMTEiPjExPC9vcHRpb24+CjxvcHRp + b24gdmFsdWU9ImUxMiI+MTI8L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT0iZTEzIj4xMzwvb3B0aW9u + Pgo8b3B0aW9uIHZhbHVlPSJlMTQiPjE0PC9vcHRpb24+CjxvcHRpb24gdmFsdWU9ImUxNSI+MTU8 + L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT0iZTE2Ij4xNjwvb3B0aW9uPgo8b3B0aW9uIHZhbHVlPSJl + MTciPjE3PC9vcHRpb24+CjxvcHRpb24gdmFsdWU9ImUxOCI+MTg8L29wdGlvbj4KPG9wdGlvbiB2 + YWx1ZT0iZTE5Ij4xOTwvb3B0aW9uPgo8b3B0aW9uIHZhbHVlPSJlMjAiPjIwPC9vcHRpb24+Cjxv + cHRpb24gdmFsdWU9ImUyMSI+MjE8L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT0iZTIyIj4yMjwvb3B0 + aW9uPgo8b3B0aW9uIHZhbHVlPSJlMjMiPjIzPC9vcHRpb24+CjxvcHRpb24gdmFsdWU9ImUyNCI+ + MjQ8L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT0iZTI1Ij4yNTwvb3B0aW9uPgo8b3B0aW9uIHZhbHVl + PSJlMjYiPjI2PC9vcHRpb24+CjxvcHRpb24gdmFsdWU9ImUyNyI+Mjc8L29wdGlvbj4KPG9wdGlv + biB2YWx1ZT0iZTI4Ij4yODwvb3B0aW9uPgo8b3B0aW9uIHZhbHVlPSJlMjkiPjI5PC9vcHRpb24+ + CjxvcHRpb24gdmFsdWU9ImUzMCI+MzA8L29wdGlvbj4KPC9zZWxlY3Q+Ci0KPC90ZD4KPHRkPgo8 + c2VsZWN0IG5hbWU9Im55ZWx2dGlwdXMiIGNsYXNzPSJpbnB1dDIiPgo8b3B0aW9uIHZhbHVlPSIl + Ij5ueWVsdjwvb3B0aW9uPgo8b3B0aW9uIHZhbHVlPSIlIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFn + ZTogdXJsKGZsYWdzL2FsbC5naWYpO2JhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7dGV4dC1h + bGlnbjpyaWdodDsNCmxlZnQtcGFkZGluZzoxNXB4OyI+bWluZDwvb3B0aW9uPgo8b3B0aW9uIHZh + bHVlPSIxIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKGZsYWdzLzEuZ2lmKTtiYWNrZ3Jv + dW5kLXJlcGVhdDogbm8tcmVwZWF0O3RleHQtYWxpZ246cmlnaHQ7DQpsZWZ0LXBhZGRpbmc6MTVw + eDsiPm1hZ3lhcjwvb3B0aW9uPgo8b3B0aW9uIHZhbHVlPSIyIiBzdHlsZT0iYmFja2dyb3VuZC1p + bWFnZTogdXJsKGZsYWdzLzIuZ2lmKTtiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O3RleHQt + YWxpZ246cmlnaHQ7DQpsZWZ0LXBhZGRpbmc6MTVweDsiPmFuZ29sPC9vcHRpb24+Cjwvc2VsZWN0 + Pgo8L3RkPgo8dGQ+CjxzcGFuIGNsYXNzPSJzdHlsZTEiPjxiPlRlbGplcyDpdmFkOjwvYj4gPGlu + cHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJ0ZWxqZXNldmFkIiB2YWx1ZT0iZSIgc3R5bGU9ImN1 + cnNvcjogdXJsKCdjc3MvbGluay5wbmcnKSwgZGVmYXVsdDsiIG9uY2hhbmdlPSJpZih0aGlzLmNo + ZWNrZWQpe3RoaXMuZm9ybS5lbGVtZW50c1snZXZhZCddLmRpc2FibGVkPXRydWU7IHRoaXMuZm9y + bS5lbGVtZW50c1sncmVzeiddLmRpc2FibGVkPXRydWU7fWVsc2V7dGhpcy5mb3JtLmVsZW1lbnRz + WydldmFkJ10uZGlzYWJsZWQ9ZmFsc2U7IHRoaXMuZm9ybS5lbGVtZW50c1sncmVzeiddLmRpc2Fi + bGVkPWZhbHNlfTsiPjwvc3R5bGU+CjwvdGQ+Cjx0ZD4KPGlucHV0IHR5cGU9ImltYWdlIiBzcmM9 + ImNzcy9sYXNzdWsuZ2lmIiBzdHlsZT0iY3Vyc29yOiB1cmwoJ2Nzcy9saW5rLnBuZycpLCBkZWZh + dWx0OyI+CjwvZm9ybT4KPC90cj48L3RkPjwvdGFibGU+CjwvdGQ+PC90cj48L3RhYmxlPgo8Y2Vu + dGVyPgo8aHIgY29sb3I9IiNjY2NjY2MiIHN0eWxlPSJib3JkZXI6IDFweCBkb3R0ZWQgI2NjY2Nj + YyI+CjxzY3JpcHQ+DQogIChmdW5jdGlvbihpLHMsbyxnLHIsYSxtKXtpWydHb29nbGVBbmFseXRp + Y3NPYmplY3QnXT1yO2lbcl09aVtyXXx8ZnVuY3Rpb24oKXsNCiAgKGlbcl0ucT1pW3JdLnF8fFtd + KS5wdXNoKGFyZ3VtZW50cyl9LGlbcl0ubD0xKm5ldyBEYXRlKCk7YT1zLmNyZWF0ZUVsZW1lbnQo + byksDQogIG09cy5nZXRFbGVtZW50c0J5VGFnTmFtZShvKVswXTthLmFzeW5jPTE7YS5zcmM9Zztt + LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsbSkNCiAgfSkod2luZG93LGRvY3VtZW50LCdzY3Jp + cHQnLCdodHRwczovL3d3dy5nb29nbGUtYW5hbHl0aWNzLmNvbS9hbmFseXRpY3MuanMnLCdnYScp + Ow0KDQogIGdhKCdjcmVhdGUnLCAnVUEtMzI4MDk2My0xMCcsICdhdXRvJyk7DQogIGdhKCdzZW5k + JywgJ3BhZ2V2aWV3Jyk7DQoNCjwvc2NyaXB0Pgo8aHIgY29sb3I9IiNjY2NjY2MiIHN0eWxlPSJi + b3JkZXI6IDFweCBkb3R0ZWQgI2NjY2NjYyI+CjxociB3aWR0aD0nMTUwJz4KPGNlbnRlcj4KPGZv + bnQgY29sb3I9ImdyYXkiIHNpemU9IjIiPjxiPjxpbWcgc3JjPSJjc3MvZWxvem8xLnBuZyIgd2lk + dGg9IjM1IiBib3JkZXI9IjAiPjwvYj48L2ZvbnQ+Jm5ic3A7Jm5ic3A7PGZvbnQgY29sb3I9IiMw + MDAwMDAiIHNpemU9IjMiPjxiPjE8L2I+Jm5ic3A7PC9mb250PjxhIGhyZWY9InNvcm96YXRvay5w + aHA/bGFwc3phbT0yIiBpZD0ibWVudTIiPjxmb250IGNvbG9yPSIjNjY2NjY2IiBzaXplPSIyIj4y + PC9mb250PjwvYT48Zm9udCBjb2xvcj0iIzY2NjY2NiIgc2l6ZT0iMiI+Jm5ic3A7PC9mb250Pjxh + IGhyZWY9InNvcm96YXRvay5waHA/bGFwc3phbT0zIiBpZD0ibWVudTIiPjxmb250IGNvbG9yPSIj + NjY2NjY2IiBzaXplPSIyIj4zPC9mb250PjwvYT48Zm9udCBjb2xvcj0iIzY2NjY2NiIgc2l6ZT0i + MiI+Jm5ic3A7PC9mb250PjxhIGhyZWY9InNvcm96YXRvay5waHA/bGFwc3phbT00IiBpZD0ibWVu + dTIiPjxmb250IGNvbG9yPSIjNjY2NjY2IiBzaXplPSIyIj40PC9mb250PjwvYT48Zm9udCBjb2xv + cj0iIzY2NjY2NiIgc2l6ZT0iMiI+Jm5ic3A7PC9mb250PjxhIGhyZWY9InNvcm96YXRvay5waHA/ + bGFwc3phbT01IiBpZD0ibWVudTIiPjxmb250IGNvbG9yPSIjNjY2NjY2IiBzaXplPSIyIj41PC9m + b250PjwvYT48Zm9udCBjb2xvcj0iIzY2NjY2NiIgc2l6ZT0iMiI+Jm5ic3A7PC9mb250PjxhIGhy + ZWY9InNvcm96YXRvay5waHA/bGFwc3phbT02IiBpZD0ibWVudTIiPjxmb250IGNvbG9yPSIjNjY2 + NjY2IiBzaXplPSIyIj42PC9mb250PjwvYT48Zm9udCBjb2xvcj0iIzY2NjY2NiIgc2l6ZT0iMiI+ + Jm5ic3A7PC9mb250PjxhIGhyZWY9InNvcm96YXRvay5waHA/bGFwc3phbT03IiBpZD0ibWVudTIi + Pjxmb250IGNvbG9yPSIjNjY2NjY2IiBzaXplPSIyIj43PC9mb250PjwvYT48Zm9udCBjb2xvcj0i + IzY2NjY2NiIgc2l6ZT0iMiI+Jm5ic3A7PC9mb250PjxhIGhyZWY9InNvcm96YXRvay5waHA/bGFw + c3phbT04IiBpZD0ibWVudTIiPjxmb250IGNvbG9yPSIjNjY2NjY2IiBzaXplPSIyIj44PC9mb250 + PjwvYT48Zm9udCBjb2xvcj0iIzY2NjY2NiIgc2l6ZT0iMiI+Jm5ic3A7PC9mb250PjxhIGhyZWY9 + InNvcm96YXRvay5waHA/bGFwc3phbT05IiBpZD0ibWVudTIiPjxmb250IGNvbG9yPSIjNjY2NjY2 + IiBzaXplPSIyIj45PC9mb250PjwvYT48Zm9udCBjb2xvcj0iIzY2NjY2NiIgc2l6ZT0iMiI+Jm5i + c3A7PC9mb250PjxhIGhyZWY9InNvcm96YXRvay5waHA/bGFwc3phbT0xMCIgaWQ9Im1lbnUyIj48 + Zm9udCBjb2xvcj0iIzY2NjY2NiIgc2l6ZT0iMiI+MTA8L2ZvbnQ+PC9hPjxmb250IGNvbG9yPSIj + NjY2NjY2IiBzaXplPSIyIj4mbmJzcDs8L2ZvbnQ+Jm5ic3A7PGEgaHJlZj0ic29yb3phdG9rLnBo + cD9sYXBzemFtPTIiIGlkPSJtZW51MiI+PGltZyBzcmM9ImNzcy9rb3ZldGtlem8ucG5nIiB3aWR0 + aD0iMzUiIGJvcmRlcj0iMCI+PC9mb250PjwvYT4mbmJzcDsmbmJzcDsmbmJzcDs8L2NlbnRlcj48 + YnI+PGhyIHdpZHRoPScxNjAnPjxodG1sPgo8aGVhZD4KPHNjcmlwdCBzcmM9ImpxdWVyeS0yLjEu + MS5qcyI+PC9zY3JpcHQ+CjwvaGVhZD4KPGJvZHk+CjxkaXYgaWQ9InZpdHJpbmUiPjwvZGl2Pgo8 + c2NyaXB0Pg0KZnVuY3Rpb24gZ2V0UmFuZG9tVXJsKHVybHMpIHsNCiAgICB2YXIgbWluSW5kZXgg + PSAwOw0KICAgIHZhciBtYXhJbmRleCA9IHVybHMubGVuZ3RoIC0gMC41Ow0KICAgIHZhciByYW5k + b21JbmRleCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIChtYXhJbmRleCAtIG1pbkluZGV4 + KSkgKyBtaW5JbmRleDsNCiAgICByZXR1cm4gdXJsc1tyYW5kb21JbmRleF07DQp9DQp2YXIgdXJs + cyA9IFsNCiAgICAiIiwNCiAgICAiaHR0cHM6Ly9wYy1tYXguaHUvdGVybWVrLWtlcmVzZXMvP3Nl + YXJjaD0rKysiXTsNCg0KdmFyIHJhbmRvbVNlbGVjdGVkVXJsID0gZ2V0UmFuZG9tVXJsKHVybHMp + Ow0KDQokKCIjdml0cmluZSIpLmh0bWwoDQoiPGlmcmFtZSBjbGFzcz0ncmFuZG9tLWlmcmFtZScg + c3JjPSciICsgcmFuZG9tU2VsZWN0ZWRVcmwgKyAiJyB3aWR0aD0nMCcgaGVpZ2h0PScwJyBmcmFt + ZWJvcmRlcj0nMCcgc2Nyb2xsaW5nPSdubycgc2VhbWxlc3M9J3NlYW1sZXNzJz48L2lmcmFtZT4i + KTsNCjwvc2NyaXB0Pgo8L2JvZHk+CjwvaHRtbD48dGl0bGU+QW1lcmljYW4gSG9ycm9yIFN0b3J5 + IGZlbGlyYXQ8L3RpdGxlPgo8cD48Yj4KPGRpdiBjbGFzcz0ia2VyZXNvIiBhbGlnbj0iY2VudGVy + Ij48Zm9udCBjb2xvcj0jMDAwMDAwPjxjZW50ZXI+VGFsJiMyMjU7bGF0b2sgZXJyZSBhIGtpZmVq + ZXomIzIzMztzcmU6ICI8L2ZvbnQ+PGZvbnQgY29sb3I9ImJsdWUiIHNpemU9IjIiPiZuYnNwO0Ft + ZXJpY2FuIEhvcnJvciBTdG9yeSZuYnNwOzEwMDE8L2ZvbnQ+PGZvbnQgY29sb3I9IzAwMDAwMD4i + PC9mb250PjwvY2VudGVyPjwvZGl2PjwvYj48L3A+Cjx0YWJsZSB3aWR0aD0iOTMwIiBib3JkZXI9 + IjAiIGJnY29sb3I9IiNkZGRkZGQiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCIgdmFs + aWduPSJ0b3AiPgo8dHI+Cjx0ZCB2YWxpZ249dG9wPgo8dGFibGUgd2lkdGg9IjEzOCIgYm9yZGVy + PSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjgiIGNsYXNzPSJzYW1wbGUiPgo8dHIg + Ymdjb2xvcj0iI2NjY2NjYyI+Cjx0ZCBhbGlnbj0iY2VudGVyIiB3aWR0aD0iMTIwIiBiYWNrZ3Jv + dW5kPSJjc3Mvb2xkYWx0b3AxLnBuZyI+PGI+T2xkYWxhauFubPM8L2I+PC90ZD4KPC90cj4KPHRy + IGJnY29sb3I9IiNlOWU5ZTkiPgo8dGQ+CjxjZW50ZXI+PGEgaHJlZj0iaHR0cHM6Ly96ZW5lLmhv + c3N6dXB1c2thc3ViLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPjxpbWcgc3JjPSJodHRwczovL2hvc3N6 + dXB1c2thc3ViLmNvbS9jc3MvemVuZXN6aWdldC5naWYiIHdpZHRoPSIxMjAiIGJvcmRlcj0iMCI+ + PC9hPjwvY2VudGVyPgo8L3RkPgo8L3RyPgo8dHIgYmdjb2xvcj0iI2NjY2NjYyI+Cjx0ZCBhbGln + bj0iY2VudGVyIiB3aWR0aD0iMTIwIiBiYWNrZ3JvdW5kPSJjc3Mvb2xkYWx0b3AxLnBuZyI+PGI+ + VHdpdHRlcjwvYj48L3RkPgo8L3RyPgo8dHIgYmdjb2xvcj0iI2U5ZTllOSI+Cjx0ZD4KPGNlbnRl + cj4KPGEgaHJlZj0iaHR0cHM6Ly90d2l0dGVyLmNvbS9ob3NzenVwdXNrYXN1YnMiIHRhcmdldD0i + X2JsYW5rIj48aW1nIHNyYz0iY3NzL3R3aXR0ZXIyLnBuZyIgYm9yZGVyPSIwIiB3aWR0aD0iMTEw + Ij48L2E+CjwvY2VudGVyPgo8L3RkPgo8L3RyPgo8dHIgYmdjb2xvcj0iI2NjY2NjYyI+PHRkIGFs + aWduPSJjZW50ZXIiIHdpZHRoPSIxMjAiIHN0eWxlPSdiYWNrZ3JvdW5kLWltYWdlOnVybChjc3Mv + b2xkYWx0b3AxLnBuZyk7IGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7Jz48Yj5Gb3JkJmlh + Y3V0ZTt0Jm9hY3V0ZTtpIGFrdGl2aXQmYWFjdXRlO3M6PC9iPjwvdGQ+PC90cj4KPHRyIGJnY29s + b3I9IiNlOWU5ZTkiPjx0ZCBhbGlnbj0ibGVmdCI+CjxpbWcgc3JjPWNzcy9hcmFueS5wbmcgd2lk + dGg9MTU+Jm5ic3A7PGI+PGZvbnQgY29sb3I9IzY2NjY2Nj5Bbm9ueW11czwvYj48Zm9udCBjb2xv + cj0jNjY2NjY2PigxMDE4KTwvZm9udD48aHIgY29sb3I9I2M5YzljOSB3aWR0aD1cIjEyMFwiPjxp + bWcgc3JjPWNzcy9lenVzdC5wbmcgd2lkdGg9MTU+Jm5ic3A7PGI+PGZvbnQgY29sb3I9IzY2NjY2 + Nj5jYXNzb25lPC9iPjxmb250IGNvbG9yPSM2NjY2NjY+KDM3Myk8L2ZvbnQ+PGhyIGNvbG9yPSNj + OWM5Yzkgd2lkdGg9XCIxMjBcIj48aW1nIHNyYz1jc3MvYnJvbnoucG5nIHdpZHRoPTE1PiZuYnNw + OzxiPjxmb250IGNvbG9yPSM2NjY2NjY+U3ppZ29ueTwvYj48Zm9udCBjb2xvcj0jNjY2NjY2Pigz + NTEpPC9mb250PjxociBjb2xvcj0jYzljOWM5IHdpZHRoPVwiMTIwXCI+PGltZyBzcmM9Y3NzL3Vz + ZXIucG5nIHdpZHRoPTEyPiZuYnNwOzxiPjxmb250IGNvbG9yPSM2NjY2NjY+bWFnaTwvYj48Zm9u + dCBjb2xvcj0jNjY2NjY2PigzMTkpPC9mb250PjxociBjb2xvcj0jYzljOWM5IHdpZHRoPVwiMTIw + XCI+PGltZyBzcmM9Y3NzL3VzZXIucG5nIHdpZHRoPTEyPiZuYnNwOzxiPjxmb250IGNvbG9yPSM2 + NjY2NjY+Q2ljTWF4ICYgTWFac29sYTwvYj48Zm9udCBjb2xvcj0jNjY2NjY2PigzMTUpPC9mb250 + PjxociBjb2xvcj0jYzljOWM5IHdpZHRoPVwiMTIwXCI+PGltZyBzcmM9Y3NzL3VzZXIucG5nIHdp + ZHRoPTEyPiZuYnNwOzxiPjxmb250IGNvbG9yPSM2NjY2NjY+Z3Jla2E8L2I+PGZvbnQgY29sb3I9 + IzY2NjY2Nj4oMzA3KTwvZm9udD48aHIgY29sb3I9I2M5YzljOSB3aWR0aD1cIjEyMFwiPjxpbWcg + c3JjPWNzcy91c2VyLnBuZyB3aWR0aD0xMj4mbmJzcDs8Yj48Zm9udCBjb2xvcj0jNjY2NjY2PlBp + bG90PC9iPjxmb250IGNvbG9yPSM2NjY2NjY+KDI4Nik8L2ZvbnQ+PGhyIGNvbG9yPSNjOWM5Yzkg + d2lkdGg9XCIxMjBcIj48aW1nIHNyYz1jc3MvdXNlci5wbmcgd2lkdGg9MTI+Jm5ic3A7PGI+PGZv + bnQgY29sb3I9IzY2NjY2Nj5TYW5kZXJzPC9iPjxmb250IGNvbG9yPSM2NjY2NjY+KDI3MCk8L2Zv + bnQ+PGhyIGNvbG9yPSNjOWM5Yzkgd2lkdGg9XCIxMjBcIj48aW1nIHNyYz1jc3MvdXNlci5wbmcg + d2lkdGg9MTI+Jm5ic3A7PGI+PGZvbnQgY29sb3I9IzY2NjY2Nj5IdW5CYXVlcjwvYj48Zm9udCBj + b2xvcj0jNjY2NjY2PigyMzgpPC9mb250PjxociBjb2xvcj0jYzljOWM5IHdpZHRoPVwiMTIwXCI+ + PGltZyBzcmM9Y3NzL3VzZXIucG5nIHdpZHRoPTEyPiZuYnNwOzxiPjxmb250IGNvbG9yPSM2NjY2 + NjY+Q2FpbjwvYj48Zm9udCBjb2xvcj0jNjY2NjY2PigyMzIpPC9mb250PjxociBjb2xvcj0jYzlj + OWM5IHdpZHRoPVwiMTIwXCI+IDwvdGQ+PC90cj4KPHRyIGJnY29sb3I9IiNjY2NjY2MiPgo8dGQg + YWxpZ249ImNlbnRlciIgd2lkdGg9IjEyMCIgc3R5bGU9J2JhY2tncm91bmQtaW1hZ2U6dXJsKGNz + cy9vbGRhbHRvcDEucG5nKTsgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsnPjxiPkxlZ2pv + YmIgZmVsdCYjMjQ2O2x0Jm90aWxkZTtrOjwvYj48L3RkPgo8L3RyPgo8dHIgYmdjb2xvcj0iI2U5 + ZTllOSI+Cjx0ZCBhbGlnbj0ibGVmdCI+CjxpbWcgc3JjPWNzcy9hcmFueS5wbmcgd2lkdGg9IjE1 + Ij4mbmJzcDs8Yj48Zm9udCBjb2xvcj0jNjY2NjY2PkZyZWVkb208L2I+PGZvbnQgY29sb3I9IzY2 + NjY2Nj4oMjg4NjQpPC9mb250PjxociBjb2xvcj0jYzljOWM5IHdpZHRoPSIxMDAiPjxpbWcgc3Jj + PWNzcy9lenVzdC5wbmcgd2lkdGg9IjE1Ij4mbmJzcDs8Yj48Zm9udCBjb2xvcj0jNjY2NjY2PkNz + 6WNzaTwvYj48Zm9udCBjb2xvcj0jNjY2NjY2PigxMTU1OSk8L2ZvbnQ+PGhyIGNvbG9yPSNjOWM5 + Yzkgd2lkdGg9IjEwMCI+PGltZyBzcmM9Y3NzL2Jyb256LnBuZyB3aWR0aD0iMTUiPiZuYnNwOzxi + Pjxmb250IGNvbG9yPSM2NjY2NjY+UGlsb3Q8L2I+PGZvbnQgY29sb3I9IzY2NjY2Nj4oNzU5Myk8 + L2ZvbnQ+PGhyIGNvbG9yPSNjOWM5Yzkgd2lkdGg9IjEwMCI+PGltZyBzcmM9Y3NzL3VzZXIucG5n + IHdpZHRoPSIxMiI+Jm5ic3A7PGI+PGZvbnQgY29sb3I9IzY2NjY2Nj5hbm9ueW11czwvYj48Zm9u + dCBjb2xvcj0jNjY2NjY2Pig2ODQ0KTwvZm9udD48aHIgY29sb3I9I2M5YzljOSB3aWR0aD0iMTAw + Ij48aW1nIHNyYz1jc3MvdXNlci5wbmcgd2lkdGg9IjEyIj4mbmJzcDs8Yj48Zm9udCBjb2xvcj0j + NjY2NjY2PlN6YWtpPC9iPjxmb250IGNvbG9yPSM2NjY2NjY+KDI2NDApPC9mb250PjxociBjb2xv + cj0jYzljOWM5IHdpZHRoPSIxMDAiPjxpbWcgc3JjPWNzcy91c2VyLnBuZyB3aWR0aD0iMTIiPiZu + YnNwOzxiPjxmb250IGNvbG9yPSM2NjY2NjY+QW5vbnltb3VzPC9iPjxmb250IGNvbG9yPSM2NjY2 + NjY+KDI0MjMpPC9mb250PjxociBjb2xvcj0jYzljOWM5IHdpZHRoPSIxMDAiPjxpbWcgc3JjPWNz + cy91c2VyLnBuZyB3aWR0aD0iMTIiPiZuYnNwOzxiPjxmb250IGNvbG9yPSM2NjY2NjY+U3ppZ29u + eTwvYj48Zm9udCBjb2xvcj0jNjY2NjY2PigxMDEzKTwvZm9udD48aHIgY29sb3I9I2M5YzljOSB3 + aWR0aD0iMTAwIj48aW1nIHNyYz1jc3MvdXNlci5wbmcgd2lkdGg9IjEyIj4mbmJzcDs8Yj48Zm9u + dCBjb2xvcj0jNjY2NjY2PmNhc3NvbmU8L2I+PGZvbnQgY29sb3I9IzY2NjY2Nj4oOTEyKTwvZm9u + dD48aHIgY29sb3I9I2M5YzljOSB3aWR0aD0iMTAwIj48aW1nIHNyYz1jc3MvdXNlci5wbmcgd2lk + dGg9IjEyIj4mbmJzcDs8Yj48Zm9udCBjb2xvcj0jNjY2NjY2PmVzenRpY3NpbGxhZzwvYj48Zm9u + dCBjb2xvcj0jNjY2NjY2Pig1NjApPC9mb250PjxociBjb2xvcj0jYzljOWM5IHdpZHRoPSIxMDAi + PjxpbWcgc3JjPWNzcy91c2VyLnBuZyB3aWR0aD0iMTIiPiZuYnNwOzxiPjxmb250IGNvbG9yPSM2 + NjY2NjY+THVuYVNvbDwvYj48Zm9udCBjb2xvcj0jNjY2NjY2Pig0OTQpPC9mb250PjxociBjb2xv + cj0jYzljOWM5IHdpZHRoPSIxMDAiPjxpbWcgc3JjPWNzcy91c2VyLnBuZyB3aWR0aD0iMTIiPiZu + YnNwOzxiPjxmb250IGNvbG9yPSM2NjY2NjY+Q2FzaDwvYj48Zm9udCBjb2xvcj0jNjY2NjY2Pig0 + NzQpPC9mb250PjxociBjb2xvcj0jYzljOWM5IHdpZHRoPSIxMDAiPjxpbWcgc3JjPWNzcy91c2Vy + LnBuZyB3aWR0aD0iMTIiPiZuYnNwOzxiPjxmb250IGNvbG9yPSM2NjY2NjY+Q2ljTWF4ICYgTWFa + c29sYTwvYj48Zm9udCBjb2xvcj0jNjY2NjY2Pig0NDgpPC9mb250PjxociBjb2xvcj0jYzljOWM5 + IHdpZHRoPSIxMDAiPjxpbWcgc3JjPWNzcy91c2VyLnBuZyB3aWR0aD0iMTIiPiZuYnNwOzxiPjxm + b250IGNvbG9yPSM2NjY2NjY+U3plcHk8L2I+PGZvbnQgY29sb3I9IzY2NjY2Nj4oNDQ3KTwvZm9u + dD48aHIgY29sb3I9I2M5YzljOSB3aWR0aD0iMTAwIj4KPC90ZD4KPC90cj4KPHRyIGJnY29sb3I9 + IiNjY2NjY2MiPgo8dGQgYWxpZ249ImNlbnRlciIgd2lkdGg9IjEyMCIgc3R5bGU9J2JhY2tncm91 + bmQtaW1hZ2U6dXJsKGNzcy9vbGRhbHRvcDEucG5nKTsgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJl + cGVhdDsnPjxiPk1haSA1IGxlZ24mZWFjdXRlO3pldHRlYmI6PC9iPjwvdGQ+CjwvdHI+Cjx0ciBi + Z2NvbG9yPSIjZTllOWU5Ij4KPHRkPgo8dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5n + PSIwIiBib3JkZXI9IjAiIGJnY29sb3I9IiM4RjlBOUUiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTAw + JSI+PHRyIGJnY29sb3I9IiNFOUU5RTkiPjx0ZCBhbGlnbj0ibGVmdCI+PGltZyBzcmM9J2Nzcy9r + aXNrZXAvbWFydmVsc3RoZXB1bmlzaGVyLnBuZycgd2lkdGg9JzEwMCc+PGJyPjxiPjxhIGhyZWY9 + ZG93bmxvYWQucGhwP2ZpbGU9MDA4NTE5NC56aXAgaWQ9bWVudXRvcGxldG9sdD48Zm9udCBjb2xv + cj0jNjY2NjY2Pk1hcnZlbCdzIFRoZSBQdW5pc2hlciBzMDFlMDkgKHdlYnJpcC1yYXJiZywgd2Vi + LXN0cmlmZSwgd2ViLWFmZywgd2ViLXJtdGVhbSwgbmYgd2VicmlwLW50Yiwgd2VicmlwLXBzYSwg + d2VicmlwLXJtdGVhbSwgbmYgd2ViIGRsLXJtdGVhbSwgd2ViIGRsLXJtdGVhbSk8L2ZvbnQ+PC9i + PjwvYT48aHIgY29sb3I9I2NjY2NjYz48YnI+PGltZyBzcmM9J2Nzcy9raXNrZXAvZGFyay5wbmcn + IHdpZHRoPScxMDAnPjxicj48Yj48YSBocmVmPWRvd25sb2FkLnBocD9maWxlPTAwODUxOTUuemlw + IGlkPW1lbnV0b3BsZXRvbHQ+PGZvbnQgY29sb3I9IzY2NjY2Nj5EYXJrIHMwMWUxMCAod2Vicmlw + LXJhcmJnLCB3ZWJyaXAtc3RyaWZlLCB3ZWJyaXAtYWZnLCB3ZWJyaXAtcm10ZWFtLCBpbnRlcm5h + bCB3ZWItc3RyaWZlLCBpbnRlcm5hbCB3ZWItcm10ZWFtKTwvZm9udD48L2I+PC9hPjxociBjb2xv + cj0jY2NjY2NjPjxicj48aW1nIHNyYz0nY3NzL2tpc2tlcC9zaGFtZWxlc3N1cy5wbmcnIHdpZHRo + PScxMDAnPjxicj48Yj48YSBocmVmPWRvd25sb2FkLnBocD9maWxlPTAwODUxNzkuemlwIGlkPW1l + bnV0b3BsZXRvbHQ+PGZvbnQgY29sb3I9IzY2NjY2Nj5TaGFtZWxlc3MgKFVTKSBzMDhlMDYgKHdl + YnJpcC1yYXJiZywgd2ViLXN0cmlmZSwgd2ViLWFmZywgd2ViLWNvbnZveSwgd2ViLXJtdGVhbSwg + YW16biB3ZWJyaXAtbnRiLCBhbXpuIHdlYiBkbC1udGIsIHdlYiBkbC1ybXRlYW0pPC9mb250Pjwv + Yj48L2E+PGhyIGNvbG9yPSNjY2NjY2M+PGJyPjxpbWcgc3JjPSdjc3Mva2lza2VwL25jaXMucG5n + JyB3aWR0aD0nMTAwJz48YnI+PGI+PGEgaHJlZj1kb3dubG9hZC5waHA/ZmlsZT0wMDg1MTk2Lnpp + cCBpZD1tZW51dG9wbGV0b2x0Pjxmb250IGNvbG9yPSM2NjY2NjY+TkNJUyBzMTVlMTAgKGhkdHYt + bG9sLCBoZHR2LWFmZywgaGR0di1ybXgsIDcyMHAtZGltZW5zaW9uLCA3MjBwLXBzYSwgNzIwcC1y + bXRlYW0sIDEwODBwLWRpbWVuc2lvbiwgMTA4MHAtcm10ZWFtKTwvZm9udD48L2I+PC9hPjxociBj + b2xvcj0jY2NjY2NjPjxicj48aW1nIHNyYz0nY3NzL2tpc2tlcC9oYXdhaWlmaXZlMC5wbmcnIHdp + ZHRoPScxMDAnPjxicj48Yj48YSBocmVmPWRvd25sb2FkLnBocD9maWxlPTAwODUyMDEuemlwIGlk + PW1lbnV0b3BsZXRvbHQ+PGZvbnQgY29sb3I9IzY2NjY2Nj5IYXdhaWkgRml2ZS0wIHMwOGUwNyAo + aGR0di1sb2wsIGhkdHYtYWZnLCBoZHR2LXJteCwgNzIwcC1kaW1lbnNpb24sIDcyMHAtcHNhLCA3 + MjBwLXJtdGVhbSwgMTA4MHAtZGltZW5zaW9uLCAxMDgwcC1ybXRlYW0pPC9mb250PjwvYj48L2E+ + PGhyIGNvbG9yPSNjY2NjY2M+PGJyPjwvdGQ+PC90cj48L3RhYmxlPiA8L3RkPgo8L3RyPgo8dHIg + Ymdjb2xvcj0iI2NjY2NjYyI+Cjx0ZCBhbGlnbj0iY2VudGVyIiB3aWR0aD0iMTIwIiBzdHlsZT0n + YmFja2dyb3VuZC1pbWFnZTp1cmwoY3NzL29sZGFsdG9wMS5wbmcpOyBiYWNrZ3JvdW5kLXJlcGVh + dDogbm8tcmVwZWF0Oyc+PGI+U29yb3phdGFqJmFhY3V0ZTtubCZvYWN1dGU7OjwvYj48L3RkPgo8 + L3RyPgo8dHIgYmdjb2xvcj0iI2U5ZTllOSI+Cjx0ZD4gPC90ZD4KPC90cj4KPHRyIGJnY29sb3I9 + IiNjY2NjY2MiPgo8dGQgYWxpZ249ImNlbnRlciIgd2lkdGg9IjEyMCIgc3R5bGU9J2JhY2tncm91 + bmQtaW1hZ2U6dXJsKGNzcy9vbGRhbHRvcDEucG5nKTsgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJl + cGVhdDsnPjxiPkgmaWFjdXRlO3Jlazo8L2I+PC90ZD4KPC90cj4KPHRyIGJnY29sb3I9IiNlOWU5 + ZTkiPgo8dGQ+IDwvdGQ+CjwvdHI+Cjx0cj4KPHRkIHZhbGlnbj10b3Agc3R5bGU9J2JhY2tncm91 + bmQtY29sb3I6ICNkZGRkZGQ7Jz4KPC90ZD4KPC90cj4KPC90YWJsZT4KPC90ZD4KPHRkIHZhbGln + bj0idG9wIj4KPGRpdiBpZD0iZmItcm9vdCI+PC9kaXY+CjxzY3JpcHQ+KGZ1bmN0aW9uKGQsIHMs + IGlkKSB7DQogIHZhciBqcywgZmpzID0gZC5nZXRFbGVtZW50c0J5VGFnTmFtZShzKVswXTsNCiAg + aWYgKGQuZ2V0RWxlbWVudEJ5SWQoaWQpKSByZXR1cm47DQogIGpzID0gZC5jcmVhdGVFbGVtZW50 + KHMpOyBqcy5pZCA9IGlkOw0KICBqcy5zcmMgPSAiLy9jb25uZWN0LmZhY2Vib29rLm5ldC9odV9I + VS9zZGsuanMjeGZibWw9MSZ2ZXJzaW9uPXYyLjAiOw0KICBmanMucGFyZW50Tm9kZS5pbnNlcnRC + ZWZvcmUoanMsIGZqcyk7DQp9KGRvY3VtZW50LCAnc2NyaXB0JywgJ2ZhY2Vib29rLWpzc2RrJykp + Ozwvc2NyaXB0Pgo8Y2VudGVyPjxpbWcgc3JjPSdodHRwczovL3d3dy5ob3NzenVwdXNrYXN1Yi5j + b20vY3NzL2ZlbHNvc29yLmpwZycgd2lkdGg9JzEwMCUnIGhlaWdodD0nMTAnIGJvcmRlcj0nMCc+ + PC9jZW50ZXI+CjxjZW50ZXI+PGlmcmFtZSBzcmM9Imh0dHBzOi8vd3d3LndlYm1vb3ZpZXMuY29t + L2luZGV4LnBocD9tZW51PWhwX3NtYXJ0YmFyIiB3aWR0aD0iNjUwIiBoZWlnaHQ9IjEzMCIgZnJh + bWVib3JkZXI9IjAiIHNjcm9sbGluZz0ibm8iPjwvaWZyYW1lPjwvY2VudGVyPgo8Y2VudGVyPjxp + bWcgc3JjPSdodHRwczovL3d3dy5ob3NzenVwdXNrYXN1Yi5jb20vY3NzL2ZlbHNvc29yLmpwZycg + d2lkdGg9JzEwMCUnIGhlaWdodD0nMTAnIGJvcmRlcj0nMCc+PC9jZW50ZXI+CjxhIGhyZWY9Imhp + cmRldGVzLnBocCI+PGltZyBzcmM9ImNzcy9oaXJkZXNzNjYwLnBuZyIgYm9yZGVyPSIwIj48L2E+ + Cgo8Y2VudGVyPjxpbWcgc3JjPSdodHRwOi8vd3d3Lmhvc3N6dXB1c2thc3ViLmNvbS9jc3MvZmVs + c29zb3IuanBnJyB3aWR0aD0nMTAwJScgaGVpZ2h0PScxMCcgYm9yZGVyPScwJz48L2NlbnRlcj48 + Y2VudGVyPjxmb250IHNpemU9JzMnPjxiPi09IExlZ2ZyaXNzZWJiIHNvcm96YXQgZmVsaXJhdG9r + ID0tPC9iPjwvZm9udD48L2NlbnRlcj4KPHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNl + bGxzcGFjaW5nPSIyIiBjZWxscGFkZGluZz0iNyI+Cjx0ciBiZ2NvbG9yPSIjY2NjY2NjIj4KPHRk + IGFsaWduPSJsZWZ0Ij48aW1nIHNyYz0iY3NzL2xvZ28ucG5nIj48L3RkPgo8dGQgYWxpZ249Imxl + ZnQiIHdpZHRoPScxMDAlJz48aW1nIHNyYz0iY3NzL3NvcmNpbTIucG5nIj48L3RkPgo8dGQgYWxp + Z249ImNlbnRlciIgd2lkdGg9JzEwMCc+PGNlbnRlcj48aW1nIHNyYz0iY3NzL255ZWx2LnBuZyI+ + PC90ZD4KPHRkIGFsaWduPSJjZW50ZXIiIHdpZHRoPScxMDAnPjxjZW50ZXI+PGltZyBzcmM9ImNz + cy9mb3JkaXRvLnBuZyI+PC90ZD4KPHRkIGFsaWduPSdjZW50ZXInPjxpbWcgc3JjPSJjc3MvZGF0 + dW0ucG5nIj48L3RkPgo8dGQgYWxpZ249ImNlbnRlciI+PGltZyBzcmM9ImNzcy9pbmZvMi5wbmci + PjwvdGQ+Cjx0ZCBhbGlnbj0iY2VudGVyIj48L3RkPjwvdHI+PC90ZD48L3RyPgo8dHIgYmdjb2xv + cj0iI0U5RTlFOSIgb25tb3VzZW92ZXI9InRoaXMuc3R5bGUuYmFja2dyb3VuZEltYWdlPSd1cmwo + Y3NzL292ZXIuanBnKSc7IiBvbm1vdXNlb3V0PSJ0aGlzLnN0eWxlLmJhY2tncm91bmRJbWFnZT0n + dXJsKGNzcy9vdmVyMi5qcGcpJzsiPgo8dGQgYWxpZ249J2NlbnRlcic+PGEgaHJlZj0ic29yb3ph + dG9rLnBocD9zZXJpYWw9YW1lcmljYW5ob3Jyb3JzdG9yeSI+PGltZyBzcmM9ImNzcy9ib3JpdG8v + YW1lcmljYW5ob3Jyb3JzdG9yeS5wbmciIHdpZHRoPSI4MCIgYm9yZGVyPSIwIj48L2E+PC90ZD4K + PHRkIGFsaWduPSdsZWZ0Jz48YSBocmVmPSdqYXZhc2NyaXB0OmNvbGxhcHNlVHIoImNvbGxhcHNl + X3Jvd18xMzEzNTQiKTsgYWpheF9wYXJzZXIoMTMxMzU0LCJjb2xsYXBzZV9jb2xfMTMxMzU0Iik7 + JyBpZD0ibWVudSI+PGI+QW1lcmljYW4gSG9ycm9yIFN0b3J5IHMxMGUwMTwvYj48L2E+PGJyPkFt + ZXJpY2FuIEhvcnJvciBTdG9yeSBzMTBlMDEgKGFtem4gd2VicmlwLW50YiwgYW16biB3ZWIgZGwt + bnRiKQo8YnI+PGJyPjxicj4KPGJyPgo8L3RkPgo8dGQgYWxpZ249J2NlbnRlcic+PGltZyBzcmM9 + J2ZsYWdzLzEuZ2lmJyBhbHQ9JycgYm9yZGVyPScwJyAvPjwvdGQ+Cjx0ZCBhbGlnbj0nY2VudGVy + Jz5LYWk8L3RkPgo8dGQgYWxpZ249J2NlbnRlcic+MjAyMS0wOS0wMTwvdGQ+Cjx0ZCBhbGlnbj0n + bGVmdCcgd2lkdGg9IjgwIj4KPHRhYmxlPjx0cj48YSBocmVmPSdodHRwOi8vaW5mby5ob3NzenVw + dXNrYXN1Yi5jb20va2VyZXNlcz9xPUFtZXJpY2FuIEhvcnJvciBTdG9yeScgdGFyZ2V0PSdfYmxh + bmsnPjxpbWcgc3R5bGU9ImZsb2F0OmxlZnQ7IHdpZHRoOjcwcHg7ICBtYXJnaW4tcmlnaHQ6MHB4 + IiBib3JkZXI9IjAiIGFsdD0iaW5mby5ob3NzenVwdXNrYXN1Yi5jb20gLSBmaWxtZWssIHNvcm96 + YXRvayBhZGF0YsOhemlzYSIgc3JjPSJjc3MvaW5mb29sZGFsLnBuZyI+PC9hPjxicj48YnI+PGJy + PjxhIGhyZWY9J2h0dHA6Ly93ZWJtb292aWVzLmNvbS9zaG93L0FtZXJpY2FuLUhvcnJvci1TdG9y + eScgdGFyZ2V0PSdfYmxhbmsnPjxpbWcgc3JjPSdjc3MvdmlkZW93ZWIucG5nJyB3aWR0aD0nNzAn + IGhlaWdodD0nMjgnPjwvYT48YnI+PGJyPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmZhY2Vib29rLmNv + bS9zaGFyZXIvc2hhcmVyLnBocD91PWh0dHA6Ly9ob3NzenVwdXNrYXN1Yi5jb20vYWRhdGxhcC5w + aHA/ZGF0YV9pZD0xMzEzNTQiIHRhcmdldD0iX2JsYW5rIj48aW1nIHNyYz0iY3NzL2ZzaGFyZS5w + bmciIHdpZHRoPSI2OCIgYm9yZGVyPSIwIj48L2E+CjwvdHI+CjwvdGFibGU+PC90ZD4KPHRkIGFs + aWduPSdjZW50ZXInPjxhIGhyZWY9Imh0dHBzOi8vYWRmLmx5LzI2NjMyODgvaHR0cDovL2hvc3N6 + dXB1c2thc3ViLmNvbS9kb3dubG9hZC5waHA/ZmlsZT0wMTI0MzM2LnppcCIgdGFyZ2V0PSJfYmxh + bmsiPjxpbWcgc3JjPSJjc3MvZG93bmxvYWRhZGZseTIucG5nIiBpZD0iY29sbGFwc2VfcGljXzEz + MTM1NCIgYm9yZGVyPSIwIj48L2E+PGJyPjxicj48YSBocmVmPSdodHRwOi8vaG9zc3p1cHVza2Fz + dWIuY29tL2Rvd25sb2FkLnBocD9maWxlPTAxMjQzMzYuemlwJyB0YXJnZXQ9Il9wYXJlbnQiPjxp + bWcgc3JjPSJjc3MvZG93bmxvYWQuZ2lmIiBpZD0iY29sbGFwc2VfcGljXzEzMTM1NCIgYm9yZGVy + PSIwIj48L2E+PC90ZD4KPC90cj4KPHRyIHN0eWxlPSdkaXNwbGF5OiBub25lOycgYmdjb2xvcj0i + I0U2RkZDNiIgaWQ9ImNvbGxhcHNlX3Jvd18xMzEzNTQiPgo8dGQgY29sc3Bhbj0iNyIgYWxpZ249 + J2NlbnRlcicgaWQ9ImNvbGxhcHNlX2NvbF8xMzEzNTQiPjxpbWcgc3JjPSJjc3MvbG9hZGluZy5n + aWYiPjwvdGQ+CjwvdHI+Cjx0ciBiZ2NvbG9yPSIjRTlFOUU5IiBvbm1vdXNlb3Zlcj0idGhpcy5z + dHlsZS5iYWNrZ3JvdW5kSW1hZ2U9J3VybChjc3Mvb3Zlci5qcGcpJzsiIG9ubW91c2VvdXQ9InRo + aXMuc3R5bGUuYmFja2dyb3VuZEltYWdlPSd1cmwoY3NzL292ZXIyLmpwZyknOyI+Cjx0ZCBhbGln + bj0nY2VudGVyJz48YSBocmVmPSJzb3JvemF0b2sucGhwP3NlcmlhbD1hbWVyaWNhbmhvcnJvcnN0 + b3J5Ij48aW1nIHNyYz0iY3NzL2Jvcml0by9hbWVyaWNhbmhvcnJvcnN0b3J5LnBuZyIgd2lkdGg9 + IjgwIiBib3JkZXI9IjAiPjwvYT48L3RkPgo8dGQgYWxpZ249J2xlZnQnPjxhIGhyZWY9J2phdmFz + Y3JpcHQ6Y29sbGFwc2VUcigiY29sbGFwc2Vfcm93XzEzMTM1MyIpOyBhamF4X3BhcnNlcigxMzEz + NTMsImNvbGxhcHNlX2NvbF8xMzEzNTMiKTsnIGlkPSJtZW51Ij48Yj5BbWVyaWNhbiBIb3Jyb3Ig + U3RvcnkgczEwZTAxPC9iPjwvYT48YnI+QW1lcmljYW4gSG9ycm9yIFN0b3J5IHMxMGUwMSAoYW16 + biB3ZWJyaXAtZmx1eCwgYW16biB3ZWIgZGwtZmx1eCwgd2ViLWdsaGYsIHdlYi1nZ2V6KQo8YnI+ + PGJyPjxicj4KPGJyPgo8L3RkPgo8dGQgYWxpZ249J2NlbnRlcic+PGltZyBzcmM9J2ZsYWdzLzEu + Z2lmJyBhbHQ9JycgYm9yZGVyPScwJyAvPjwvdGQ+Cjx0ZCBhbGlnbj0nY2VudGVyJz5LYWk8L3Rk + Pgo8dGQgYWxpZ249J2NlbnRlcic+MjAyMS0wOS0wMTwvdGQ+Cjx0ZCBhbGlnbj0nbGVmdCcgd2lk + dGg9IjgwIj4KPHRhYmxlPjx0cj48YSBocmVmPSdodHRwOi8vaW5mby5ob3NzenVwdXNrYXN1Yi5j + b20va2VyZXNlcz9xPUFtZXJpY2FuIEhvcnJvciBTdG9yeScgdGFyZ2V0PSdfYmxhbmsnPjxpbWcg + c3R5bGU9ImZsb2F0OmxlZnQ7IHdpZHRoOjcwcHg7ICBtYXJnaW4tcmlnaHQ6MHB4IiBib3JkZXI9 + IjAiIGFsdD0iaW5mby5ob3NzenVwdXNrYXN1Yi5jb20gLSBmaWxtZWssIHNvcm96YXRvayBhZGF0 + YsOhemlzYSIgc3JjPSJjc3MvaW5mb29sZGFsLnBuZyI+PC9hPjxicj48YnI+PGJyPjxhIGhyZWY9 + J2h0dHA6Ly93ZWJtb292aWVzLmNvbS9zaG93L0FtZXJpY2FuLUhvcnJvci1TdG9yeScgdGFyZ2V0 + PSdfYmxhbmsnPjxpbWcgc3JjPSdjc3MvdmlkZW93ZWIucG5nJyB3aWR0aD0nNzAnIGhlaWdodD0n + MjgnPjwvYT48YnI+PGJyPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9zaGFyZXIv + c2hhcmVyLnBocD91PWh0dHA6Ly9ob3NzenVwdXNrYXN1Yi5jb20vYWRhdGxhcC5waHA/ZGF0YV9p + ZD0xMzEzNTMiIHRhcmdldD0iX2JsYW5rIj48aW1nIHNyYz0iY3NzL2ZzaGFyZS5wbmciIHdpZHRo + PSI2OCIgYm9yZGVyPSIwIj48L2E+CjwvdHI+CjwvdGFibGU+PC90ZD4KPHRkIGFsaWduPSdjZW50 + ZXInPjxhIGhyZWY9Imh0dHBzOi8vYWRmLmx5LzI2NjMyODgvaHR0cDovL2hvc3N6dXB1c2thc3Vi + LmNvbS9kb3dubG9hZC5waHA/ZmlsZT0wMTI0MzM1LnppcCIgdGFyZ2V0PSJfYmxhbmsiPjxpbWcg + c3JjPSJjc3MvZG93bmxvYWRhZGZseTIucG5nIiBpZD0iY29sbGFwc2VfcGljXzEzMTM1MyIgYm9y + ZGVyPSIwIj48L2E+PGJyPjxicj48YSBocmVmPSdodHRwOi8vaG9zc3p1cHVza2FzdWIuY29tL2Rv + d25sb2FkLnBocD9maWxlPTAxMjQzMzUuemlwJyB0YXJnZXQ9Il9wYXJlbnQiPjxpbWcgc3JjPSJj + c3MvZG93bmxvYWQuZ2lmIiBpZD0iY29sbGFwc2VfcGljXzEzMTM1MyIgYm9yZGVyPSIwIj48L2E+ + PC90ZD4KPC90cj4KPHRyIHN0eWxlPSdkaXNwbGF5OiBub25lOycgYmdjb2xvcj0iI0U2RkZDNiIg + aWQ9ImNvbGxhcHNlX3Jvd18xMzEzNTMiPgo8dGQgY29sc3Bhbj0iNyIgYWxpZ249J2NlbnRlcicg + aWQ9ImNvbGxhcHNlX2NvbF8xMzEzNTMiPjxpbWcgc3JjPSJjc3MvbG9hZGluZy5naWYiPjwvdGQ+ + CjwvdHI+Cjx0ciBiZ2NvbG9yPSIjRTlFOUU5IiBvbm1vdXNlb3Zlcj0idGhpcy5zdHlsZS5iYWNr + Z3JvdW5kSW1hZ2U9J3VybChjc3Mvb3Zlci5qcGcpJzsiIG9ubW91c2VvdXQ9InRoaXMuc3R5bGUu + YmFja2dyb3VuZEltYWdlPSd1cmwoY3NzL292ZXIyLmpwZyknOyI+Cjx0ZCBhbGlnbj0nY2VudGVy + Jz48YSBocmVmPSJzb3JvemF0b2sucGhwP3NlcmlhbD1hbWVyaWNhbmhvcnJvcnN0b3J5Ij48aW1n + IHNyYz0iY3NzL2Jvcml0by9hbWVyaWNhbmhvcnJvcnN0b3J5LnBuZyIgd2lkdGg9IjgwIiBib3Jk + ZXI9IjAiPjwvYT48L3RkPgo8dGQgYWxpZ249J2xlZnQnPjxhIGhyZWY9J2phdmFzY3JpcHQ6Y29s + bGFwc2VUcigiY29sbGFwc2Vfcm93XzEzMTM1MSIpOyBhamF4X3BhcnNlcigxMzEzNTEsImNvbGxh + cHNlX2NvbF8xMzEzNTEiKTsnIGlkPSJtZW51Ij48Yj5BbWVyaWNhbiBIb3Jyb3IgU3RvcnkgczEw + ZTAxPC9iPjwvYT48YnI+QW1lcmljYW4gSG9ycm9yIFN0b3J5IHMxMGUwMSAoaGR0di1jcmltc29u + LCBoZHR2LWFmZywgNzIwcC1jcmltc29uKQo8YnI+PGJyPjxicj4KPGJyPgo8L3RkPgo8dGQgYWxp + Z249J2NlbnRlcic+PGltZyBzcmM9J2ZsYWdzLzEuZ2lmJyBhbHQ9JycgYm9yZGVyPScwJyAvPjwv + dGQ+Cjx0ZCBhbGlnbj0nY2VudGVyJz5LYWk8L3RkPgo8dGQgYWxpZ249J2NlbnRlcic+MjAyMS0w + OC0zMTwvdGQ+Cjx0ZCBhbGlnbj0nbGVmdCcgd2lkdGg9IjgwIj4KPHRhYmxlPjx0cj48YSBocmVm + PSdodHRwOi8vaW5mby5ob3NzenVwdXNrYXN1Yi5jb20va2VyZXNlcz9xPUFtZXJpY2FuIEhvcnJv + ciBTdG9yeScgdGFyZ2V0PSdfYmxhbmsnPjxpbWcgc3R5bGU9ImZsb2F0OmxlZnQ7IHdpZHRoOjcw + cHg7ICBtYXJnaW4tcmlnaHQ6MHB4IiBib3JkZXI9IjAiIGFsdD0iaW5mby5ob3NzenVwdXNrYXN1 + Yi5jb20gLSBmaWxtZWssIHNvcm96YXRvayBhZGF0YsOhemlzYSIgc3JjPSJjc3MvaW5mb29sZGFs + LnBuZyI+PC9hPjxicj48YnI+PGJyPjxhIGhyZWY9J2h0dHA6Ly93ZWJtb292aWVzLmNvbS9zaG93 + L0FtZXJpY2FuLUhvcnJvci1TdG9yeScgdGFyZ2V0PSdfYmxhbmsnPjxpbWcgc3JjPSdjc3Mvdmlk + ZW93ZWIucG5nJyB3aWR0aD0nNzAnIGhlaWdodD0nMjgnPjwvYT48YnI+PGJyPjxhIGhyZWY9Imh0 + dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9zaGFyZXIvc2hhcmVyLnBocD91PWh0dHA6Ly9ob3NzenVw + dXNrYXN1Yi5jb20vYWRhdGxhcC5waHA/ZGF0YV9pZD0xMzEzNTEiIHRhcmdldD0iX2JsYW5rIj48 + aW1nIHNyYz0iY3NzL2ZzaGFyZS5wbmciIHdpZHRoPSI2OCIgYm9yZGVyPSIwIj48L2E+CjwvdHI+ + CjwvdGFibGU+PC90ZD4KPHRkIGFsaWduPSdjZW50ZXInPjxhIGhyZWY9Imh0dHBzOi8vYWRmLmx5 + LzI2NjMyODgvaHR0cDovL2hvc3N6dXB1c2thc3ViLmNvbS9kb3dubG9hZC5waHA/ZmlsZT0wMTI0 + MzMzLnppcCIgdGFyZ2V0PSJfYmxhbmsiPjxpbWcgc3JjPSJjc3MvZG93bmxvYWRhZGZseTIucG5n + IiBpZD0iY29sbGFwc2VfcGljXzEzMTM1MSIgYm9yZGVyPSIwIj48L2E+PGJyPjxicj48YSBocmVm + PSdodHRwOi8vaG9zc3p1cHVza2FzdWIuY29tL2Rvd25sb2FkLnBocD9maWxlPTAxMjQzMzMuemlw + JyB0YXJnZXQ9Il9wYXJlbnQiPjxpbWcgc3JjPSJjc3MvZG93bmxvYWQuZ2lmIiBpZD0iY29sbGFw + c2VfcGljXzEzMTM1MSIgYm9yZGVyPSIwIj48L2E+PC90ZD4KPC90cj4KPHRyIHN0eWxlPSdkaXNw + bGF5OiBub25lOycgYmdjb2xvcj0iI0U2RkZDNiIgaWQ9ImNvbGxhcHNlX3Jvd18xMzEzNTEiPgo8 + dGQgY29sc3Bhbj0iNyIgYWxpZ249J2NlbnRlcicgaWQ9ImNvbGxhcHNlX2NvbF8xMzEzNTEiPjxp + bWcgc3JjPSJjc3MvbG9hZGluZy5naWYiPjwvdGQ+CjwvdHI+Cjx0ciBiZ2NvbG9yPSIjRTlFOUU5 + IiBvbm1vdXNlb3Zlcj0idGhpcy5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2U9J3VybChjc3Mvb3Zlci5q + cGcpJzsiIG9ubW91c2VvdXQ9InRoaXMuc3R5bGUuYmFja2dyb3VuZEltYWdlPSd1cmwoY3NzL292 + ZXIyLmpwZyknOyI+Cjx0ZCBhbGlnbj0nY2VudGVyJz48YSBocmVmPSJzb3JvemF0b2sucGhwP3Nl + cmlhbD1hbWVyaWNhbmhvcnJvcnN0b3J5Ij48aW1nIHNyYz0iY3NzL2Jvcml0by9hbWVyaWNhbmhv + cnJvcnN0b3J5LnBuZyIgd2lkdGg9IjgwIiBib3JkZXI9IjAiPjwvYT48L3RkPgo8dGQgYWxpZ249 + J2xlZnQnPjxhIGhyZWY9J2phdmFzY3JpcHQ6Y29sbGFwc2VUcigiY29sbGFwc2Vfcm93XzEzMTI3 + MCIpOyBhamF4X3BhcnNlcigxMzEyNzAsImNvbGxhcHNlX2NvbF8xMzEyNzAiKTsnIGlkPSJtZW51 + Ij48Yj5BbWVyaWNhbiBIb3Jyb3IgU3RvcnkgczEwZTAxPC9iPjwvYT48YnI+QW1lcmljYW4gSG9y + cm9yIFN0b3J5IHMxMGUwMSAoaGR0di1jcmltc29uLCBoZHR2LWFmZywgaGR0di1ybXgsIDcyMHAt + Y3JpbXNvbiwgNzIwcC1wc2EsIDcyMHAtcm10ZWFtKQo8YnI+PGJyPjxicj4KPGJyPgo8L3RkPgo8 + dGQgYWxpZ249J2NlbnRlcic+PGltZyBzcmM9J2ZsYWdzLzIuZ2lmJyBhbHQ9JycgYm9yZGVyPScw + JyAvPjwvdGQ+Cjx0ZCBhbGlnbj0nY2VudGVyJz5GcmVlZG9tPC90ZD4KPHRkIGFsaWduPSdjZW50 + ZXInPjIwMjEtMDgtMjY8L3RkPgo8dGQgYWxpZ249J2xlZnQnIHdpZHRoPSI4MCI+Cjx0YWJsZT48 + dHI+PGEgaHJlZj0naHR0cDovL2luZm8uaG9zc3p1cHVza2FzdWIuY29tL2tlcmVzZXM/cT1BbWVy + aWNhbiBIb3Jyb3IgU3RvcnknIHRhcmdldD0nX2JsYW5rJz48aW1nIHN0eWxlPSJmbG9hdDpsZWZ0 + OyB3aWR0aDo3MHB4OyAgbWFyZ2luLXJpZ2h0OjBweCIgYm9yZGVyPSIwIiBhbHQ9ImluZm8uaG9z + c3p1cHVza2FzdWIuY29tIC0gZmlsbWVrLCBzb3JvemF0b2sgYWRhdGLDoXppc2EiIHNyYz0iY3Nz + L2luZm9vbGRhbC5wbmciPjwvYT48YnI+PGJyPjxicj48YSBocmVmPSdodHRwOi8vd2VibW9vdmll + cy5jb20vc2hvdy9BbWVyaWNhbi1Ib3Jyb3ItU3RvcnknIHRhcmdldD0nX2JsYW5rJz48aW1nIHNy + Yz0nY3NzL3ZpZGVvd2ViLnBuZycgd2lkdGg9JzcwJyBoZWlnaHQ9JzI4Jz48L2E+PGJyPjxicj48 + YSBocmVmPSJodHRwczovL3d3dy5mYWNlYm9vay5jb20vc2hhcmVyL3NoYXJlci5waHA/dT1odHRw + Oi8vaG9zc3p1cHVza2FzdWIuY29tL2FkYXRsYXAucGhwP2RhdGFfaWQ9MTMxMjcwIiB0YXJnZXQ9 + Il9ibGFuayI+PGltZyBzcmM9ImNzcy9mc2hhcmUucG5nIiB3aWR0aD0iNjgiIGJvcmRlcj0iMCI+ + PC9hPgo8L3RyPgo8L3RhYmxlPjwvdGQ+Cjx0ZCBhbGlnbj0nY2VudGVyJz48YSBocmVmPSJodHRw + czovL2FkZi5seS8yNjYzMjg4L2h0dHA6Ly9ob3NzenVwdXNrYXN1Yi5jb20vZG93bmxvYWQucGhw + P2ZpbGU9MDEyNDI1My56aXAiIHRhcmdldD0iX2JsYW5rIj48aW1nIHNyYz0iY3NzL2Rvd25sb2Fk + YWRmbHkyLnBuZyIgaWQ9ImNvbGxhcHNlX3BpY18xMzEyNzAiIGJvcmRlcj0iMCI+PC9hPjxicj48 + YnI+PGEgaHJlZj0naHR0cDovL2hvc3N6dXB1c2thc3ViLmNvbS9kb3dubG9hZC5waHA/ZmlsZT0w + MTI0MjUzLnppcCcgdGFyZ2V0PSJfcGFyZW50Ij48aW1nIHNyYz0iY3NzL2Rvd25sb2FkLmdpZiIg + aWQ9ImNvbGxhcHNlX3BpY18xMzEyNzAiIGJvcmRlcj0iMCI+PC9hPjwvdGQ+CjwvdHI+Cjx0ciBz + dHlsZT0nZGlzcGxheTogbm9uZTsnIGJnY29sb3I9IiNFNkZGQzYiIGlkPSJjb2xsYXBzZV9yb3df + MTMxMjcwIj4KPHRkIGNvbHNwYW49IjciIGFsaWduPSdjZW50ZXInIGlkPSJjb2xsYXBzZV9jb2xf + MTMxMjcwIj48aW1nIHNyYz0iY3NzL2xvYWRpbmcuZ2lmIj48L3RkPgo8L3RyPgo8dHIgYmdjb2xv + cj0iI0U5RTlFOSIgb25tb3VzZW92ZXI9InRoaXMuc3R5bGUuYmFja2dyb3VuZEltYWdlPSd1cmwo + Y3NzL292ZXIuanBnKSc7IiBvbm1vdXNlb3V0PSJ0aGlzLnN0eWxlLmJhY2tncm91bmRJbWFnZT0n + dXJsKGNzcy9vdmVyMi5qcGcpJzsiPgo8dGQgYWxpZ249J2NlbnRlcic+PGEgaHJlZj0ic29yb3ph + dG9rLnBocD9zZXJpYWw9YW1lcmljYW5ob3Jyb3JzdG9yeSI+PGltZyBzcmM9ImNzcy9ib3JpdG8v + YW1lcmljYW5ob3Jyb3JzdG9yeS5wbmciIHdpZHRoPSI4MCIgYm9yZGVyPSIwIj48L2E+PC90ZD4K + PHRkIGFsaWduPSdsZWZ0Jz48YSBocmVmPSdqYXZhc2NyaXB0OmNvbGxhcHNlVHIoImNvbGxhcHNl + X3Jvd18zNzA2NSIpOyBhamF4X3BhcnNlcigzNzA2NSwiY29sbGFwc2VfY29sXzM3MDY1Iik7JyBp + ZD0ibWVudSI+PGI+QW1lcmljYW4gSG9ycm9yIFN0b3J5IHMwMWUxMDwvYj48L2E+PGJyPkFtZXJp + Y2FuIEhvcnJvciBTdG9yeSBzMDFlMTAgKGhkdHYtZnFtKQo8YnI+PGJyPjxicj4KPGJyPgo8L3Rk + Pgo8dGQgYWxpZ249J2NlbnRlcic+PGltZyBzcmM9J2ZsYWdzLzEuZ2lmJyBhbHQ9JycgYm9yZGVy + PScwJyAvPjwvdGQ+Cjx0ZCBhbGlnbj0nY2VudGVyJz5CYXJ0YSBK83pzZWY8L3RkPgo8dGQgYWxp + Z249J2NlbnRlcic+MjAxMS0xMi0xMDwvdGQ+Cjx0ZCBhbGlnbj0nbGVmdCcgd2lkdGg9IjgwIj4K + PHRhYmxlPjx0cj48YSBocmVmPSdodHRwOi8vaW5mby5ob3NzenVwdXNrYXN1Yi5jb20va2VyZXNl + cz9xPUFtZXJpY2FuIEhvcnJvciBTdG9yeScgdGFyZ2V0PSdfYmxhbmsnPjxpbWcgc3R5bGU9ImZs + b2F0OmxlZnQ7IHdpZHRoOjcwcHg7ICBtYXJnaW4tcmlnaHQ6MHB4IiBib3JkZXI9IjAiIGFsdD0i + aW5mby5ob3NzenVwdXNrYXN1Yi5jb20gLSBmaWxtZWssIHNvcm96YXRvayBhZGF0YsOhemlzYSIg + c3JjPSJjc3MvaW5mb29sZGFsLnBuZyI+PC9hPjxicj48YnI+PGJyPjxhIGhyZWY9J2h0dHA6Ly93 + ZWJtb292aWVzLmNvbS9zaG93L0FtZXJpY2FuLUhvcnJvci1TdG9yeScgdGFyZ2V0PSdfYmxhbmsn + PjxpbWcgc3JjPSdjc3MvdmlkZW93ZWIucG5nJyB3aWR0aD0nNzAnIGhlaWdodD0nMjgnPjwvYT48 + YnI+PGJyPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9zaGFyZXIvc2hhcmVyLnBo + cD91PWh0dHA6Ly9ob3NzenVwdXNrYXN1Yi5jb20vYWRhdGxhcC5waHA/ZGF0YV9pZD0zNzA2NSIg + dGFyZ2V0PSJfYmxhbmsiPjxpbWcgc3JjPSJjc3MvZnNoYXJlLnBuZyIgd2lkdGg9IjY4IiBib3Jk + ZXI9IjAiPjwvYT4KPC90cj4KPC90YWJsZT48L3RkPgo8dGQgYWxpZ249J2NlbnRlcic+PGEgaHJl + Zj0iaHR0cHM6Ly9hZGYubHkvMjY2MzI4OC9odHRwOi8vaG9zc3p1cHVza2FzdWIuY29tL2Rvd25s + b2FkLnBocD9maWxlPTAwMzE2OTkuemlwIiB0YXJnZXQ9Il9ibGFuayI+PGltZyBzcmM9ImNzcy9k + b3dubG9hZGFkZmx5Mi5wbmciIGlkPSJjb2xsYXBzZV9waWNfMzcwNjUiIGJvcmRlcj0iMCI+PC9h + Pjxicj48YnI+PGEgaHJlZj0naHR0cDovL2hvc3N6dXB1c2thc3ViLmNvbS9kb3dubG9hZC5waHA/ + ZmlsZT0wMDMxNjk5LnppcCcgdGFyZ2V0PSJfcGFyZW50Ij48aW1nIHNyYz0iY3NzL2Rvd25sb2Fk + LmdpZiIgaWQ9ImNvbGxhcHNlX3BpY18zNzA2NSIgYm9yZGVyPSIwIj48L2E+PC90ZD4KPC90cj4K + PHRyIHN0eWxlPSdkaXNwbGF5OiBub25lOycgYmdjb2xvcj0iI0U2RkZDNiIgaWQ9ImNvbGxhcHNl + X3Jvd18zNzA2NSI+Cjx0ZCBjb2xzcGFuPSI3IiBhbGlnbj0nY2VudGVyJyBpZD0iY29sbGFwc2Vf + Y29sXzM3MDY1Ij48aW1nIHNyYz0iY3NzL2xvYWRpbmcuZ2lmIj48L3RkPgo8L3RyPgo8dHIgYmdj + b2xvcj0iI0U5RTlFOSIgb25tb3VzZW92ZXI9InRoaXMuc3R5bGUuYmFja2dyb3VuZEltYWdlPSd1 + cmwoY3NzL292ZXIuanBnKSc7IiBvbm1vdXNlb3V0PSJ0aGlzLnN0eWxlLmJhY2tncm91bmRJbWFn + ZT0ndXJsKGNzcy9vdmVyMi5qcGcpJzsiPgo8dGQgYWxpZ249J2NlbnRlcic+PGEgaHJlZj0ic29y + b3phdG9rLnBocD9zZXJpYWw9YW1lcmljYW5ob3Jyb3JzdG9yeSI+PGltZyBzcmM9ImNzcy9ib3Jp + dG8vYW1lcmljYW5ob3Jyb3JzdG9yeS5wbmciIHdpZHRoPSI4MCIgYm9yZGVyPSIwIj48L2E+PC90 + ZD4KPHRkIGFsaWduPSdsZWZ0Jz48YSBocmVmPSdqYXZhc2NyaXB0OmNvbGxhcHNlVHIoImNvbGxh + cHNlX3Jvd18zNjk5OCIpOyBhamF4X3BhcnNlcigzNjk5OCwiY29sbGFwc2VfY29sXzM2OTk4Iik7 + JyBpZD0ibWVudSI+PGI+QW1lcmljYW4gSG9ycm9yIFN0b3J5IHMwMWUxMDwvYj48L2E+PGJyPkFt + ZXJpY2FuIEhvcnJvciBTdG9yeSBzMDFlMTAgKGhkdHYtZnFtKQo8YnI+PGJyPjxicj4KPGJyPgo8 + L3RkPgo8dGQgYWxpZ249J2NlbnRlcic+PGltZyBzcmM9J2ZsYWdzLzIuZ2lmJyBhbHQ9JycgYm9y + ZGVyPScwJyAvPjwvdGQ+Cjx0ZCBhbGlnbj0nY2VudGVyJz5Dc+ljc2k8L3RkPgo8dGQgYWxpZ249 + J2NlbnRlcic+MjAxMS0xMi0wODwvdGQ+Cjx0ZCBhbGlnbj0nbGVmdCcgd2lkdGg9IjgwIj4KPHRh + YmxlPjx0cj48YSBocmVmPSdodHRwOi8vaW5mby5ob3NzenVwdXNrYXN1Yi5jb20va2VyZXNlcz9x + PUFtZXJpY2FuIEhvcnJvciBTdG9yeScgdGFyZ2V0PSdfYmxhbmsnPjxpbWcgc3R5bGU9ImZsb2F0 + OmxlZnQ7IHdpZHRoOjcwcHg7ICBtYXJnaW4tcmlnaHQ6MHB4IiBib3JkZXI9IjAiIGFsdD0iaW5m + by5ob3NzenVwdXNrYXN1Yi5jb20gLSBmaWxtZWssIHNvcm96YXRvayBhZGF0YsOhemlzYSIgc3Jj + PSJjc3MvaW5mb29sZGFsLnBuZyI+PC9hPjxicj48YnI+PGJyPjxhIGhyZWY9J2h0dHA6Ly93ZWJt + b292aWVzLmNvbS9zaG93L0FtZXJpY2FuLUhvcnJvci1TdG9yeScgdGFyZ2V0PSdfYmxhbmsnPjxp + bWcgc3JjPSdjc3MvdmlkZW93ZWIucG5nJyB3aWR0aD0nNzAnIGhlaWdodD0nMjgnPjwvYT48YnI+ + PGJyPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9zaGFyZXIvc2hhcmVyLnBocD91 + PWh0dHA6Ly9ob3NzenVwdXNrYXN1Yi5jb20vYWRhdGxhcC5waHA/ZGF0YV9pZD0zNjk5OCIgdGFy + Z2V0PSJfYmxhbmsiPjxpbWcgc3JjPSJjc3MvZnNoYXJlLnBuZyIgd2lkdGg9IjY4IiBib3JkZXI9 + IjAiPjwvYT4KPC90cj4KPC90YWJsZT48L3RkPgo8dGQgYWxpZ249J2NlbnRlcic+PGEgaHJlZj0i + aHR0cHM6Ly9hZGYubHkvMjY2MzI4OC9odHRwOi8vaG9zc3p1cHVza2FzdWIuY29tL2Rvd25sb2Fk + LnBocD9maWxlPTAwMzE2NDIuemlwIiB0YXJnZXQ9Il9ibGFuayI+PGltZyBzcmM9ImNzcy9kb3du + bG9hZGFkZmx5Mi5wbmciIGlkPSJjb2xsYXBzZV9waWNfMzY5OTgiIGJvcmRlcj0iMCI+PC9hPjxi + cj48YnI+PGEgaHJlZj0naHR0cDovL2hvc3N6dXB1c2thc3ViLmNvbS9kb3dubG9hZC5waHA/Zmls + ZT0wMDMxNjQyLnppcCcgdGFyZ2V0PSJfcGFyZW50Ij48aW1nIHNyYz0iY3NzL2Rvd25sb2FkLmdp + ZiIgaWQ9ImNvbGxhcHNlX3BpY18zNjk5OCIgYm9yZGVyPSIwIj48L2E+PC90ZD4KPC90cj4KPHRy + IHN0eWxlPSdkaXNwbGF5OiBub25lOycgYmdjb2xvcj0iI0U2RkZDNiIgaWQ9ImNvbGxhcHNlX3Jv + d18zNjk5OCI+Cjx0ZCBjb2xzcGFuPSI3IiBhbGlnbj0nY2VudGVyJyBpZD0iY29sbGFwc2VfY29s + XzM2OTk4Ij48aW1nIHNyYz0iY3NzL2xvYWRpbmcuZ2lmIj48L3RkPgo8L3RyPgo8L3RhYmxlPjx0 + ZCB2YWxpZ249dG9wPjx0YWJsZSB3aWR0aD0iMTIwIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIw + IiBjZWxscGFkZGluZz0iNiIgY2xhc3M9InNhbXBsZSI+Cgo8dHIgYmdjb2xvcj0iI2NjY2NjYyI+ + PHRkIGFsaWduPSJjZW50ZXIiIHN0eWxlPSdiYWNrZ3JvdW5kLWltYWdlOnVybChjc3Mvb2xkYWx0 + b3AxLnBuZyk7IGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7JyB3aWR0aD0iMTIwIj48Yj5W + SVAgQmVqZWxlbnRrZXomZWFjdXRlO3M6PC9iPjwvdGQ+PC90cj4KPHRyIGJnY29sb3I9IiNlOWU5 + ZTkiPjx0ZCB2YWxpZ249dG9wPgo8ZGl2IGFsaWduPSJjZW50ZXIiPgo8Zm9ybSBuYW1lPSJsb2dp + biIgYWN0aW9uPSJzb3JvemF0b2sucGhwIiBtZXRob2Q9InBvc3QiIHRhcmdldD0iX3NlbGYiPgpG + ZWxoYXN6buFs827pdjo8YnIgLz4KPGlucHV0IHR5cGU9InRleHQiIG5hbWU9ImxvZ2luX25pY2si + IHNpemU9IjExIiB2YWx1ZT0iIiBzdHlsZT0iY3Vyc29yOiB1cmwoaHR0cHM6Ly9ob3NzenVwdXNr + YXN1Yi5jb20vY3NzL2lucHV0Y3Vyc29yLnBuZyksIGRlZmF1bHQ7Ij48YnI+CkplbHN68zo8YnI+ + CjxpbnB1dCB0eXBlPSJwYXNzd29yZCIgbmFtZT0ibG9naW5fcGFzc3dkIiBzaXplPSIxMSIgdmFs + dWU9IiIgc3R5bGU9ImN1cnNvcjogdXJsKGh0dHBzOi8vaG9zc3p1cHVza2FzdWIuY29tL2Nzcy9p + bnB1dGN1cnNvci5wbmcpLCBkZWZhdWx0OyI+PGJyPjxicj4KPGlucHV0IHR5cGU9InN1Ym1pdCIg + bmFtZT0ibG9naW4iIHZhbHVlPSJCZWzpcOlzIiBzdHlsZT0iY3Vyc29yOiB1cmwoaHR0cHM6Ly9o + b3NzenVwdXNrYXN1Yi5jb20vY3NzL2xpbmsucG5nKSwgZGVmYXVsdDsiPjxicj4KPGJyPjxhIGhy + ZWY9InJlZ2lzenRyYWNpby5waHAiIHRhcmdldD0iX3NlbGYiIGlkPSJtZW51cmVnIj4tIDxibGlu + az5SZWdpc3p0cuFjafM8L2JsaW5rPiAtPC9hPjxicj4KPGJyPjxhIGhyZWY9ImVtbGVrZXp0ZXRv + LnBocCIgdGFyZ2V0PSJfc2VsZiIgaWQ9Im1lbnVtZW51Ij4tIEVsZmVsZWp0ZXR0IGplbHN68z8g + LTwvYT48YnI+CjwvZm9ybT4KPC9kaXY+CjwvdGQ+PC90cj48dHIgYmdjb2xvcj0iI2NjY2NjYyI+ + Cjx0ZCBhbGlnbj0iY2VudGVyIiB3aWR0aD0iMTMwIiBiYWNrZ3JvdW5kPSJjc3Mvb2xkYWx0b3Ax + LnBuZyI+PGI+VCZhYWN1dGU7bW9nYXQmYWFjdXRlO3M8L2I+PC90ZD4KPC90cj4KPHRyIGJnY29s + b3I9IiNlOWU5ZTkiPgo8dGQ+PGZvcm0gYWN0aW9uPSJodHRwczovL3d3dy5wYXlwYWwuY29tL2Nn + aS1iaW4vd2Vic2NyIiBtZXRob2Q9InBvc3QiPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJj + bWQiIHZhbHVlPSJfcy14Y2xpY2siPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJob3N0ZWRf + YnV0dG9uX2lkIiB2YWx1ZT0iQlQ0V1lGRlRGUThWTiI+CjxpbnB1dCB0eXBlPSJpbWFnZSIgc3Jj + PSJodHRwczovL2hvc3N6dXB1c2thc3ViLmNvbS9jc3MvYnRuX2RvbmF0ZUNDX0xHLmdpZiIgYm9y + ZGVyPSIwIiBuYW1lPSJzdWJtaXQiIGFsdD0iUGF5UGFsIC0gVGhlIHNhZmVyLCBlYXNpZXIgd2F5 + IHRvIHBheSBvbmxpbmUhIj4KPC9mb3JtPgo8L3RkPjwvdHI+Cjx0ciBiZ2NvbG9yPSIjY2NjY2Nj + Ij4KPHRkIGFsaWduPSJjZW50ZXIiIHdpZHRoPSIxMzAiIGJhY2tncm91bmQ9ImNzcy9vbGRhbHRv + cDEucG5nIj48Yj5MZWcmIzI1MDtqYWJiIHNvcm96YXRvazwvYj48L3RkPgo8L3RyPgo8dHIgYmdj + b2xvcj0iI2U5ZTllOSI+Cjx0ZD48YSBocmVmPSJodHRwOi8vaG9zc3p1cHVza2FzdWIuY29tL3Nv + cm96YXRvay5waHA/c2VyaWFsPXRoZWJpZ2xlYXAiPjxpbWcgc3JjPWNzcy9raXNrZXAvdGhlYmln + bGVhcC5wbmcgd2lkdGg9IjEyMCI+PC9hPjxicj48YSBocmVmPSJodHRwOi8vaG9zc3p1cHVza2Fz + dWIuY29tL3Nvcm96YXRvay5waHA/c2VyaWFsPXRoZXNleGxpdmVzb2Zjb2xsZWdlZ2lybHMiPjxp + bWcgc3JjPWNzcy9raXNrZXAvdGhlc2V4bGl2ZXNvZmNvbGxlZ2VnaXJscy5wbmcgd2lkdGg9IjEy + MCI+PC9hPjxicj48YSBocmVmPSJodHRwOi8vaG9zc3p1cHVza2FzdWIuY29tL3Nvcm96YXRvay5w + aHA/c2VyaWFsPWphcGFuc2lua3NwZW9wbGVvZmhvcGUiPjxpbWcgc3JjPWNzcy9raXNrZXAvamFw + YW5zaW5rc3Blb3BsZW9maG9wZS5wbmcgd2lkdGg9IjEyMCI+PC9hPjxicj48YSBocmVmPSJodHRw + Oi8vaG9zc3p1cHVza2FzdWIuY29tL3Nvcm96YXRvay5waHA/c2VyaWFsPXRoZXNocmlua25leHRk + b29yIj48aW1nIHNyYz1jc3Mva2lza2VwL3RoZXNocmlua25leHRkb29yLnBuZyB3aWR0aD0iMTIw + Ij48L2E+PGJyPjxhIGhyZWY9Imh0dHA6Ly9ob3NzenVwdXNrYXN1Yi5jb20vc29yb3phdG9rLnBo + cD9zZXJpYWw9dGhlcHJvYmxlbXdpdGhqb25zdGV3YXJ0Ij48aW1nIHNyYz1jc3Mva2lza2VwL3Ro + ZXByb2JsZW13aXRoam9uc3Rld2FydC5wbmcgd2lkdGg9IjEyMCI+PC9hPjxicj48YSBocmVmPSJo + dHRwOi8vaG9zc3p1cHVza2FzdWIuY29tL3Nvcm96YXRvay5waHA/c2VyaWFsPXN3YWdnZXIiPjxp + bWcgc3JjPWNzcy9raXNrZXAvc3dhZ2dlci5wbmcgd2lkdGg9IjEyMCI+PC9hPjxicj48YSBocmVm + PSJodHRwOi8vaG9zc3p1cHVza2FzdWIuY29tL3Nvcm96YXRvay5waHA/c2VyaWFsPWRyYnJhaW4i + PjxpbWcgc3JjPWNzcy9raXNrZXAvZHJicmFpbi5wbmcgd2lkdGg9IjEyMCI+PC9hPjxicj48YSBo + cmVmPSJodHRwOi8vaG9zc3p1cHVza2FzdWIuY29tL3Nvcm96YXRvay5waHA/c2VyaWFsPWhhd2tl + eWUiPjxpbWcgc3JjPWNzcy9raXNrZXAvaGF3a2V5ZS5wbmcgd2lkdGg9IjEyMCI+PC9hPjxicj48 + YSBocmVmPSJodHRwOi8vaG9zc3p1cHVza2FzdWIuY29tL3Nvcm96YXRvay5waHA/c2VyaWFsPWRv + cGVzaWNrIj48aW1nIHNyYz1jc3Mva2lza2VwL2RvcGVzaWNrLnBuZyB3aWR0aD0iMTIwIj48L2E+ + PGJyPjxhIGhyZWY9Imh0dHA6Ly9ob3NzenVwdXNrYXN1Yi5jb20vc29yb3phdG9rLnBocD9zZXJp + YWw9aW52YXNpb24yMDIxIj48aW1nIHNyYz1jc3Mva2lza2VwL2ludmFzaW9uMjAyMS5wbmcgd2lk + dGg9IjEyMCI+PC9hPjxicj48L3RkPjwvdHI+PHRyIGJnY29sb3I9IiNjY2NjY2MiPgo8dGQgYWxp + Z249ImNlbnRlciIgd2lkdGg9IjEzMCIgYmFja2dyb3VuZD0iY3NzL29sZGFsdG9wMS5wbmciPjxi + PkZpbG1haiZhYWN1dGU7bmwmb2FjdXRlOzo8L2I+PC90ZD4KPC90cj4KPHRyIGJnY29sb3I9IiNl + OWU5ZTkiPgo8dGQ+PGlmcmFtZSBzcmM9J2h0dHA6Ly93ZWJtb292aWVzLmNvbS9mcmlzcy5waHAn + IGZyYW1lYm9yZGVyPScwJyB3aWR0aD0nMTIwJyBoZWlnaHQ9JzEwMDAnIHNjcm9sbGluZz0nbm8n + PjwvaWZyYW1lPjwvdGQ+PC90cj4KPHRyIGJnY29sb3I9IiNjY2NjY2MiPgo8dGQgYWxpZ249ImNl + bnRlciIgd2lkdGg9IjEyMCIgc3R5bGU9J2JhY2tncm91bmQtaW1hZ2U6dXJsKGNzcy9vbGRhbHRv + cDEucG5nKTsgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsnPjxiPkZyaXNzIGVsJm90aWxk + ZTt6ZXRlc2VrOjwvYj48L3RkPgo8L3RyPgo8dHIgYmdjb2xvcj0iI2U5ZTllOSI+Cjx0ZD4gPC90 + ZD4KPC90cj4KPHRyIGJnY29sb3I9IiNjY2NjY2MiPgo8dGQgYWxpZ249ImNlbnRlciIgd2lkdGg9 + IjEyMCIgc3R5bGU9J2JhY2tncm91bmQtaW1hZ2U6dXJsKGNzcy9vbGRhbHRvcDEucG5nKTsgYmFj + a2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsnPjxiPkZpbG1haiZhYWN1dGU7bmwmb2FjdXRlOzo8 + L2I+PC90ZD4KPC90cj4KPHRyIGJnY29sb3I9IiNlOWU5ZTkiPgo8dGQ+IDwvdGQ+CjwvdHI+Cjwv + dGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjxpbWcgc3JjPSdjc3MvdGFsdWwucG5n + Jz4KPGJyPgo8Y2VudGVyPgo8aHIgd2lkdGg9IjIwMCIgY29sb3I9IiNjY2NjY2MiPgo8YSBocmVm + PSJqYXZhc2NyaXB0OnNjcm9sbCgwLDApIj48aW1nIHNyYz0iY3NzL3VncmFzMS5qcGciIG5hbWU9 + IkltYWdlMSIgd2lkdGg9IjE0MCIgaGVpZ2h0PSIyMCIgYm9yZGVyPSIwIiBpZD0idWdyYXMiPjwv + YT4KPGhyIHdpZHRoPSIyMDAiIGNvbG9yPSIjY2NjY2NjIj4KPHRhYmxlIHdpZHRoPTkwMD4KPHRy + Pjx0ZD4KPC90ZD4KPC90cj4KPC90YWJsZT4KPC9kaXY+CjwvZGl2Pgo8L3RkPgo8L3RyPgo8L3Rh + YmxlPgo8dGFibGUgd2lkdGg9Ijk1MiIgaGVpZ2h0PSIyNSIgYWxpZ249ImNlbnRlciI+Cjx0cj48 + dGQgYmFja2dyb3VuZD0iY3NzL2xlbnQucG5nIj48L3RkPjwvdHI+CjwvdGFibGU+CjxzY3JpcHQg + dHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICB3aW5kb3cuY29va2llY29uc2VudF9vcHRpb25z + ID0geyJtZXNzYWdlIjoiRXogYSB3ZWJoZWx5IGNvb2tpZS1rYXQgaGFzem7hbCwgbWVseWVrcmUg + c3r8a3PpZyB2YW4gYXogb2xkYWx1bmsgdGVsamVzIG37a/Zk6XPpaGV6LiBC9m5n6XN66XPpdmVs + IGVsZm9nYWRvZCBhIGNvb2tpZS1rIGhhc3pu4WxhdOF0LiIsImRpc21pc3MiOiJPa+khIiwidGhl + bWUiOiJkYXJrLWZsb2F0aW5nIn07DQo8L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz + Y3JpcHQiIHNyYz0iaHR0cHM6Ly9ob3NzenVwdXNrYXN1Yi5jb20vanMvY29va2llY29uc2VudC5s + YXRlc3QubWluLmpzIj48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy + Yz0iaHR0cHM6Ly9ob3NzenVwdXNrYXN1Yi5jb20vYXJyb3cuanMiPjwvc2NyaXB0Pgo8c2NyaXB0 + Pg0KICAoZnVuY3Rpb24oaSxzLG8sZyxyLGEsbSl7aVsnR29vZ2xlQW5hbHl0aWNzT2JqZWN0J109 + cjtpW3JdPWlbcl18fGZ1bmN0aW9uKCl7DQogIChpW3JdLnE9aVtyXS5xfHxbXSkucHVzaChhcmd1 + bWVudHMpfSxpW3JdLmw9MSpuZXcgRGF0ZSgpO2E9cy5jcmVhdGVFbGVtZW50KG8pLA0KICBtPXMu + Z2V0RWxlbWVudHNCeVRhZ05hbWUobylbMF07YS5hc3luYz0xO2Euc3JjPWc7bS5wYXJlbnROb2Rl + Lmluc2VydEJlZm9yZShhLG0pDQogIH0pKHdpbmRvdyxkb2N1bWVudCwnc2NyaXB0JywnLy93d3cu + Z29vZ2xlLWFuYWx5dGljcy5jb20vYW5hbHl0aWNzLmpzJywnZ2EnKTsNCg0KICBnYSgnY3JlYXRl + JywgJ1VBLTMyODA5NjMtMTAnLCAnYXV0bycpOw0KICBnYSgnc2VuZCcsICdwYWdldmlldycpOw0K + DQo8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+Cg== + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 6b67cf64ee4ae532-ARI + Connection: + - keep-alive + Content-Type: + - text/html; charset=ISO-8859-2 + Date: + - Tue, 30 Nov 2021 23:21:07 GMT + NEL: + - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' + Report-To: + - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=aSewMA%2Bz%2FNzB%2BxayOSPBPCLtwnOu7UcwgcyYcZ0B%2BzxoY0jxG8kEsmYpwagEXN%2B%2FqKfV8GQ996LKIF70JLywUASctlFBLMDQZpN0tO7ESdB4dD1%2F75gUWzAURSTi0BtveCf9ZYzlZE7wte6egRMAjsM%3D"}],"group":"cf-nel","max_age":604800}' + Server: + - cloudflare + Transfer-Encoding: + - chunked + alt-svc: + - h3=":443"; ma=86400, h3-29=":443"; ma=86400, h3-28=":443"; ma=86400, h3-27=":443"; + ma=86400 + cache-control: + - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + expires: + - Thu, 19 Nov 1981 08:52:00 GMT + pragma: + - no-cache + set-cookie: + - PHPSESSID=7j89dbg3daa69fenpeqbogib35; path=/ + x-powered-by: + - PHP/5.3.3 + status: + code: 200 + message: OK +- request: + body: null + headers: + Cookie: + - PHPSESSID=7j89dbg3daa69fenpeqbogib35 + User-Agent: + - Sub-Zero/2 + method: GET + uri: http://hosszupuskasub.com/download.php?file=0124336.zip + response: + body: + string: '' + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 6b67cf6eef6ce532-ARI + Connection: + - keep-alive + Content-Type: + - text/html; charset=ISO-8859-2 + Date: + - Tue, 30 Nov 2021 23:21:10 GMT + NEL: + - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' + Report-To: + - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=%2FeweNSk6JAWKif6Bb0nPjI1IZBSF8liOWoWxYo0jP1F6EW5%2BW1aH54VLQ1WQMGSwpsHwzc9g%2FF8CN0CTaUBDbRF5rCXtN55hwgtB%2F4lawQIGN1Xw%2BJFkloV8jxiDtHtu2Gg8g7xJPfGEdY1FcqtLHzA%3D"}],"group":"cf-nel","max_age":604800}' + Server: + - cloudflare + Transfer-Encoding: + - chunked + Vary: + - Accept-Encoding + alt-svc: + - h3=":443"; ma=86400, h3-29=":443"; ma=86400, h3-28=":443"; ma=86400, h3-27=":443"; + ma=86400 + cache-control: + - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + expires: + - Thu, 19 Nov 1981 08:52:00 GMT + location: + - /!!feliratok/0124336.zip + pragma: + - no-cache + x-powered-by: + - PHP/5.3.3 + status: + code: 302 + message: Found +- request: + body: null + headers: + Cookie: + - PHPSESSID=7j89dbg3daa69fenpeqbogib35 + User-Agent: + - Sub-Zero/2 + method: GET + uri: http://hosszupuskasub.com/!!feliratok/0124336.zip + response: + body: + string: !!binary | + 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 + AQABAHoAAABlPwAAAAA= + headers: + Accept-Ranges: + - bytes + CF-Cache-Status: + - MISS + CF-RAY: + - 6b67cf838e9ce532-ARI + Cache-Control: + - max-age=18000 + Connection: + - keep-alive + Content-Length: + - '16373' + Content-Type: + - application/zip + Date: + - Tue, 30 Nov 2021 23:21:11 GMT + NEL: + - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' + Report-To: + - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=ivLK0LsG8VMVXrTDzuQA8gO4FuBiG3ZxVV2%2Bwr8le7%2BVKCA9EOrEeoISNkH2vT8vBDQAvlYFOJdfjQBAOGREZJusdckgfAZKh%2FohFzSF8sANJDckE6Ww%2BFfaQzUDvpM61h%2BNEgiub41gShtv0ryXquw%3D"}],"group":"cf-nel","max_age":604800}' + Server: + - cloudflare + Vary: + - Accept-Encoding + alt-svc: + - h3=":443"; ma=86400, h3-29=":443"; ma=86400, h3-28=":443"; ma=86400, h3-27=":443"; + ma=86400 + etag: + - '"17c44-3ff5-5caec1195be09"' + last-modified: + - Wed, 01 Sep 2021 09:55:39 GMT + status: + code: 200 + message: OK +version: 1 diff --git a/tests/subliminal_patch/cassettes/test_hosszupuska/test_list_subtitles_episode.yaml b/tests/subliminal_patch/cassettes/test_hosszupuska/test_list_subtitles_episode.yaml new file mode 100644 index 000000000..aa3c2d680 --- /dev/null +++ b/tests/subliminal_patch/cassettes/test_hosszupuska/test_list_subtitles_episode.yaml @@ -0,0 +1,891 @@ +interactions: +- request: + body: null + headers: + User-Agent: + - Sub-Zero/2 + method: GET + uri: http://hosszupuskasub.com/sorozatok.php?cim=American+Horror+Story&evad=10&resz=01&nyelvtipus=%25&x=24&y=8 + response: + body: + string: !!binary | + PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEvL0VOIiAiaHR0cHM6 + Ly93d3cudzMub3JnL1RSL2h0bWw0L3N0cmljdC5kdGQiPgo8aHRtbCB4bWxucz0iaHR0cHM6Ly93 + d3cudzMub3JnLzE5OTkveGh0bWwiIGxhbmc9Imh1LUhVIj4KPGhlYWQ+CjxtZXRhIGh0dHAtZXF1 + aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sIiBjaGFyc2V0PSJpc28tODg1OS0y + IiAvPgo8dGl0bGU+LSBIb3NzenVQdXNrYSBTdWJ0aXRsZXMgLSBGZWxpcmF0b2sgbGV09mx06XNl + IG1pbmRlbiBtZW5ueWlz6WdiZW4hIC0gU29yb3phdG9rLCBmaWxtZWsgZm9yZO104XNhIC08L3Rp + dGxlPgo8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iSG9zc3p1UHVza2EgU3VidGl0 + bGVzIC0gRmVsaXJhdG9rIGxldPZsdOlzZSBtaW5kZW4gbWVubnlpc+lnYmVuISAtIFNvcm96YXRv + aywgZmlsbWVrIGZvcmTtdOFzYSIgLz4KPG1ldGEgbmFtZT0iYXV0aG9yIiBjb250ZW50PSJIb3Nz + enVwdXNrYSwgaHR0cHM6Ly93d3cuaG9zc3p1cHVza2FzdWIuY29tIiAvPgo8bWV0YSBuYW1lPSJs + YW5ndWFnZSIgY29udGVudD0iaHVuZ2FyaWFuIiAvPgo8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29u + dGVudD0iRmVsaXJhdG9rLCBGZWxpcmF0LCBmZWxpcmF0b2sgaHUsIEZlbGlyYXRvayBGaWxtZWto + ZXosIEZlbGlyYXRvayBTb3JvemF0LCBGZWxpcmF0b2sgRmlsbWVrLCBGZWxpcmF0b2sgRmlsbWVr + aGV6LCBGZWxpcmF0b2sgU29yb3phdG9raG96LCBTb3JvemF0IGZlbGlyYXRvaywgRmlsbWZlbGly + YXRvaywgRmVsaXJhdG9rIEZpbG1la25laywgRmVsaXJhdG9rIFNvcm96YXRva25haywgRmVsaXJh + dG9rIExldPZsdOlzZSwgU3VidGl0bGUsIFN1YnRpdGxlcyI+CjxtZXRhIG5hbWU9Ik1TU21hcnRU + YWdzUHJldmVudFBhcnNpbmciIGNvbnRlbnQ9InRydWUiIC8+CjxtZXRhIG5hbWU9IlJvYm90cyIg + Y29udGVudD0iaW5kZXgsIGZvbGxvdyIgLz4KPG1ldGEgbmFtZT0iRG9jdW1lbnQtc3RhdGUiIGNv + bnRlbnQ9IkR5bmFtaWMiIC8+CjxtZXRhIG5hbWU9InJldml6aXQtYWZ0ZXIiIGNvbnRlbnQ9IjEg + ZGF5IiAvPgo8bGluayByZWw9InNob3J0Y3V0IGljb24iIGhyZWY9ImZhdmljb24uaWNvIiB0eXBl + PSJpbWFnZS94LWljb24iPgo8bGluayByZWw9Imljb24iIGhyZWY9ImZhdmljb24uaWNvIiB0eXBl + PSJpbWFnZS94LWljb24iPgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9ImNzcy9ocC5jc3Mi + IHR5cGU9InRleHQvY3NzIiAvPgo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiB0eXBlPSJ0 + ZXh0L2phdmFzY3JpcHQiIHNyYz0iYWpheC5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgbGFuZ3VhZ2U9 + ImphdmFzY3JpcHQiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJjb2xsYXBzZS5qcyI+PC9z + Y3JpcHQ+CjxzY3JpcHQgc3JjPSIvL2FqYXguZ29vZ2xlYXBpcy5jb20vYWpheC9saWJzL2pxdWVy + eS8xLjExLjEvanF1ZXJ5Lm1pbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSIvL2FqYXguZ29v + Z2xlYXBpcy5jb20vYWpheC9saWJzL2pxdWVyeXVpLzEuMTAuNC9qcXVlcnktdWkubWluLmpzIj48 + L3NjcmlwdD4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCkEjbWVudXVqOmxpbmsge3RleHQtZGVj + b3JhdGlvbjogbm9uZTsgY29sb3I6ICAjRkZGRkZGOyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2Vp + Z2h0OiBib2xkOyB9DQpBI21lbnV1ajp2aXNpdGVkIHt0ZXh0LWRlY29yYXRpb246IG5vbmU7IGNv + bG9yOiAgI0ZGRkZGRjsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogYm9sZDsgfQ0KQSNt + ZW51dWo6YWN0aXZlIHt0ZXh0LWRlY29yYXRpb246IG5vbmU7IGNvbG9yOiAgI0ZGRkZGRjsgZm9u + dC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogYm9sZDsgfQ0KQSNtZW51dWo6aG92ZXIge3RleHQt + ZGVjb3JhdGlvbjogbm9uZTsgY29sb3I6ICNGRkZGRkY7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13 + ZWlnaHQ6IGJvbGQ7IH0NCmltZy5taWRkbGUgeyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9DQo8 + L3N0eWxlPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJocHJvdGF0ZS5qcyI+ + PC9zY3JpcHQ+CjxzY3JpcHQ+IA0KICAgICQoZnVuY3Rpb24oKXsNCiAgICAgICQoIiNpbmNsdWRl + ZENvbnRlbnQiKS5sb2FkKCJodHRwczovL2xhbmRjb21wdXRlci5odS9sYW5kY29tcHV0ZXJocC5o + dG1sIik7IA0KICAgIH0pOw0KICAgIDwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj + cmlwdCIgc3JjPSJodHRwczovL2hvc3N6dXB1c2thc3ViLmNvbS9iYW5uZXJzLm1pbi5qcyI+PC9z + Y3JpcHQ+CjxzY3JpcHQgc3JjPSdodHRwczovL3d3dy5nb29nbGUuY29tL3JlY2FwdGNoYS9hcGku + anMnPjwvc2NyaXB0Pgo8bGluayBocmVmPSJjc3MvcmF0aW5nX3N0eWxlLmNzcyIgcmVsPSJzdHls + ZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9ImFsbCI+CjwvaGVhZD4KPGJvZHk+CjxkaXYg + aWQ9ImZiLXJvb3QiPjwvZGl2Pgo8c2NyaXB0PihmdW5jdGlvbihkLCBzLCBpZCkgew0KICB2YXIg + anMsIGZqcyA9IGQuZ2V0RWxlbWVudHNCeVRhZ05hbWUocylbMF07DQogIGlmIChkLmdldEVsZW1l + bnRCeUlkKGlkKSkgcmV0dXJuOw0KICBqcyA9IGQuY3JlYXRlRWxlbWVudChzKTsganMuaWQgPSBp + ZDsNCiAganMuc3JjID0gJ2h0dHBzOi8vY29ubmVjdC5mYWNlYm9vay5uZXQvaHVfSFUvc2RrLmpz + I3hmYm1sPTEmdmVyc2lvbj12Mi4xMSZhcHBJZD0xODA2OTgyOTg2MTkxOTkxJzsNCiAgZmpzLnBh + cmVudE5vZGUuaW5zZXJ0QmVmb3JlKGpzLCBmanMpOw0KfShkb2N1bWVudCwgJ3NjcmlwdCcsICdm + YWNlYm9vay1qc3NkaycpKTs8L3NjcmlwdD4KPGNlbnRlcj48c2NyaXB0IGxhbmd1YWdlPSJKYXZh + U2NyaXB0IiBzcmM9ImJhbm5lcmVrMi5qcyI+PC9zY3JpcHQ+PC9jZW50ZXI+CjxzY3JpcHQ+DQoN + CiQoJ2JvZHknKS5jbGljayhmdW5jdGlvbihlKXsNCiAgICBpZiAoZS50YXJnZXQgPT09IHRoaXMp + IHsNCiAgICAgICAgd2luZG93Lm9wZW4oImh0dHA6Ly9ob3NzenVwdXNrYXN1Yi5jb20vaGlyZGV0 + ZXMucGhwIiwgIl9ibGFuayIpDQogICAgfQ0KfSk7DQo8L3NjcmlwdD4KPHRhYmxlIGFsaWduPSJj + ZW50ZXIiIGJhY2tncm91bmQ9ImNzcy9tZW51YmcucG5nIiB3aWR0aD0iOTQwIj4KPHRyPgo8dGQg + YWxpZ249ImNlbnRlciI+PGltZyBjbGFzcz0ibWlkZGxlIiBzcmM9ImNzcy9tZW51aWNvbi9Ib21l + LWljb24ucG5nIiB3aWR0aD0iMzIiIGFsaWduPSJtaWRkbGUiIHZlcnRpY2FsLWFsaWduPSJtaWRk + bGUiPjxhIGhyZWY9Imh0dHA6Ly9ob3NzenVwdXNrYXN1Yi5jb20vaW5kZXgucGhwIiBzdHlsZT0i + dGV4dC1kZWNvcmF0aW9uIDogbm9uZTsiPjxmb250IGNvbG9yPSJ3aGl0ZSI+Jm5ic3A7PGI+RvVv + bGRhbDwvYj48L2E+PC90ZD4KPHRkIGFsaWduPSJjZW50ZXIiPjxpbWcgY2xhc3M9Im1pZGRsZSIg + c3JjPSJjc3MvbWVudWljb24vZm9ydW0ucG5nIiB3aWR0aD0iMzIiIGFsaWduPSJtaWRkbGUiPjxh + IGhyZWY9Imh0dHBzOi8vZm9ydW0uaG9zc3p1cHVza2FzdWIuY29tIiBzdHlsZT0idGV4dC1kZWNv + cmF0aW9uIDogbm9uZTsiPjxmb250IGNvbG9yPSJ3aGl0ZSI+Jm5ic3A7PGI+RvNydW08L2I+PC9h + PjwvdGQ+Cjx0ZCBhbGlnbj0iY2VudGVyIj48aW1nIGNsYXNzPSJtaWRkbGUiIHNyYz0iY3NzL21l + bnVpY29uL2hpcmVrLnBuZyIgd2lkdGg9IjMyIiBhbGlnbj0ibWlkZGxlIj48YSBocmVmPSJodHRw + czovL3dlYm1vb3ZpZXMuY29tL2Jsb2ciIHRhcmdldD0iX2JsYW5rIiBzdHlsZT0idGV4dC1kZWNv + cmF0aW9uIDogbm9uZTsiPjxmb250IGNvbG9yPSJ3aGl0ZSI+Jm5ic3A7PGI+SO1yZWs8L2I+PC9h + PjwvdGQ+Cjx0ZCBhbGlnbj0iY2VudGVyIj48aW1nIGNsYXNzPSJtaWRkbGUiIHNyYz0iY3NzL21l + bnVpY29uL3dlYm1vb3ZpZXNpY29uLnBuZyIgd2lkdGg9IjMyIiBhbGlnbj0ibWlkZGxlIj48YSBo + cmVmPSJodHRwczovL3dlYm1vb3ZpZXMuY29tL3R2LXNob3dzIiBzdHlsZT0idGV4dC1kZWNvcmF0 + aW9uIDogbm9uZTsiIHRhcmdldD0iX2JsYW5rIiBhbHQ9Ik9ubGluZSBmaWxtZWssIG9ubGluZSBz + b3JvemF0b2ssIHNvcm96YXRvayBu6Xrpc2UsIGZpbG1la27peulzZSI+PGZvbnQgY29sb3I9Indo + aXRlIj4mbmJzcDs8Yj5Tb3JvemF0b2sgT25saW5lPC9iPjwvYT48L3RkPgo8dGQgYWxpZ249ImNl + bnRlciI+PGltZyBjbGFzcz0ibWlkZGxlIiBzcmM9ImNzcy9tZW51aWNvbi91cGxvYWQucG5nIiB3 + aWR0aD0iMzIiIGFsaWduPSJtaWRkbGUiPjxhIGhyZWY9Imh0dHBzOi8vaG9zc3p1cHVza2FzdWIu + Y29tL2ZlbHRvbHRlcy5waHAiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb24gOiBub25lOyI+PGZvbnQg + Y29sb3I9IndoaXRlIj4mbmJzcDs8Yj5GZWx09mx06XM8L2I+PC9hPjwvdGQ+Cjx0ZCBhbGlnbj0i + Y2VudGVyIj48aW1nIGNsYXNzPSJtaWRkbGUiIHNyYz0iY3NzL21lbnVpY29uL2hpcmRldG5lbC5w + bmciIHdpZHRoPSIzMiIgYWxpZ249Im1pZGRsZSI+PGEgaHJlZj0iaHR0cHM6Ly9ob3NzenVwdXNr + YXN1Yi5jb20vaGlyZGV0ZXMucGhwIiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uIDogbm9uZTsiPjxm + b250IGNvbG9yPSJ3aGl0ZSI+Jm5ic3A7PGI+SGlyZGV0bulsPzwvYj48L2E+PC90ZD4KPHRkIGFs + aWduPSJjZW50ZXIiPjxpbWcgY2xhc3M9Im1pZGRsZSIgc3JjPSJjc3MvbWVudWljb24vY2hhdC5w + bmciIHdpZHRoPSIzMiIgYWxpZ249Im1pZGRsZSI+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZmFjZWJv + b2suY29tL3BnL2hvc3N6dXB1c2thc3ViL2Fib3V0LyIgc3R5bGU9InRleHQtZGVjb3JhdGlvbiA6 + IG5vbmU7IiB0YXJnZXQ9Il9ibGFuayI+PGZvbnQgY29sb3I9IndoaXRlIj4mbmJzcDs8Yj5LYXBj + c29sYXQ8L2I+PC9hPjwvdGQ+CjwvZm9udD4KPC90cj4KPC90YWJsZT4KPC9jZW50ZXI+CjxkaXYg + aWQ9InN0cmFua2EiPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+IC8qPCFbQ0RBVEFb + Ki8galF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHtqUXVlcnkoIi50aGVibG9nd2lk + Z2V0cyIpLmhvdmVyKGZ1bmN0aW9uKCkge2pRdWVyeSh0aGlzKS5zdG9wKCkuYW5pbWF0ZSh7cmln + aHQ6ICIwIn0sICJtZWRpdW0iKTt9LCBmdW5jdGlvbigpIHtqUXVlcnkodGhpcykuc3RvcCgpLmFu + aW1hdGUoe3JpZ2h0OiAiLTMwMCJ9LCAibWVkaXVtIik7fSwgNTAwKTt9KTsgLypdXT4qLyA8L3Nj + cmlwdD4gPHN0eWxlIHR5cGU9InRleHQvY3NzIj4gLnRoZWJsb2d3aWRnZXRze2JhY2tncm91bmQ6 + IHVybCgiaHR0cHM6Ly8zLmJwLmJsb2dzcG90LmNvbS8tVGFaUkx2NjZmOGcvVW9NblR5VGJGNkkv + QUFBQUFBQUFBR1kvVTRxY2YtU1A2ZDAvVGhlQmxvZ1dpZGdldHNfZmFjZWJvb2tfd2lkZ2V0LnBu + ZyIpIG5vLXJlcGVhdCBzY3JvbGwgbGVmdCBjZW50ZXIgdHJhbnNwYXJlbnQgIWltcG9ydGFudDsg + ZmxvYXQ6IHJpZ2h0O2hlaWdodDogMjcwcHg7cGFkZGluZzogMCA1cHggMCA0NnB4O3dpZHRoOiAy + OTVweDt6LWluZGV4OiAgOTk5OTk7cG9zaXRpb246Zml4ZWQ7cmlnaHQ6LTMwMHB4O3RvcDoxNSU7 + fSAudGhlYmxvZ3dpZGdldHMgZGl2eyBwYWRkaW5nOiAwOyBtYXJnaW4tcmlnaHQ6LThweDsgYm9y + ZGVyOjRweCBzb2xpZCAgIzNiNTk5ODsgYmFja2dyb3VuZDojZmFmYWZhO30gLnRoZWJsb2d3aWRn + ZXRzIHNwYW57Ym90dG9tOiA0cHg7Zm9udDogOHB4ICJsdWNpZGEgZ3JhbmRlIix0YWhvbWEsdmVy + ZGFuYSxhcmlhbCxzYW5zLXNlcmlmO3Bvc2l0aW9uOiBhYnNvbHV0ZTtyaWdodDogNnB4O3RleHQt + YWxpZ246IHJpZ2h0O3otaW5kZXg6IDk5OTk5O30gLnRoZWJsb2d3aWRnZXRzIHNwYW4gYXtjb2xv + cjogZ3JheTt0ZXh0LWRlY29yYXRpb246bm9uZTt9IC50aGVibG9nd2lkZ2V0cyBzcGFuIGE6aG92 + ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9IH0gPC9zdHlsZT4KPGRpdiBjbGFzcz0idGhl + YmxvZ3dpZGdldHMiIHN0eWxlPSIiPgo8ZGl2Pgo8aWZyYW1lIHNyYz0iaHR0cHM6Ly93d3cuZmFj + ZWJvb2suY29tL3BsdWdpbnMvbGlrZWJveC5waHA/aHJlZj1odHRwcyUzQSUyRiUyRmZhY2Vib29r + LmNvbSUyRmhvc3N6dXB1c2thc3ViJndpZHRoPTI5NSZjb2xvcnNjaGVtZT1saWdodCZzaG93X2Zh + Y2VzPXRydWUmYm9yZGVyX2NvbG9yPXdoaXRlJmNvbm5lY3Rpb25zPTkmc3RyZWFtPWZhbHNlJmhl + YWRlcj1mYWxzZSZoZWlnaHQ9MjcwIiBzY3JvbGxpbmc9Im5vIiBmcmFtZWJvcmRlcj0iMCIgc2Ny + b2xsaW5nPSJubyIgc3R5bGU9ImJvcmRlcjogd2hpdGU7IG92ZXJmbG93OiBoaWRkZW47IGhlaWdo + dDogMjcwcHg7IHdpZHRoOiAyOTVweDtiYWNrZ3JvdW5kOiNmYWZhZmE7Y29sb3I6MDAwOyI+PC9p + ZnJhbWU+CjwvZGl2Pgo8L2Rpdj4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPiAvKjwh + W0NEQVRBWyovIGpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7alF1ZXJ5KCIudGhl + YmxvZ3dpZGdldHMyIikuaG92ZXIoZnVuY3Rpb24oKSB7alF1ZXJ5KHRoaXMpLnN0b3AoKS5hbmlt + YXRlKHtyaWdodDogIjAifSwgIm1lZGl1bSIpO30sIGZ1bmN0aW9uKCkge2pRdWVyeSh0aGlzKS5z + dG9wKCkuYW5pbWF0ZSh7cmlnaHQ6ICItNjUwIn0sICJtZWRpdW0iKTt9LCA1MDApO30pOyAvKl1d + PiovIDwvc2NyaXB0PiA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPiAudGhlYmxvZ3dpZGdldHMye2Jh + Y2tncm91bmQ6IHVybCgiaHR0cHM6Ly9ob3NzenVwdXNrYXN1Yi5jb20vY3NzL3R3aXR0ZXIucG5n + Iikgbm8tcmVwZWF0IHNjcm9sbCBsZWZ0IGNlbnRlciB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyBm + bG9hdDogcmlnaHQ7aGVpZ2h0OiAyNzBweDtwYWRkaW5nOiAwIDVweCAwIDQ2cHg7d2lkdGg6IDY0 + NXB4O3otaW5kZXg6ICA5OTk5OTtwb3NpdGlvbjpmaXhlZDtyaWdodDotNjUwcHg7dG9wOjQwJTt9 + IC50aGVibG9nd2lkZ2V0czIgZGl2eyBwYWRkaW5nOiAwOyBtYXJnaW4tcmlnaHQ6LTE2cHg7IGJv + cmRlcjo0cHggc29saWQgICMzYjU5OTg7IGJhY2tncm91bmQ6I2ZhZmFmYTt9IC50aGVibG9nd2lk + Z2V0czIgc3Bhbntib3R0b206IDRweDtmb250OiA4cHggImx1Y2lkYSBncmFuZGUiLHRhaG9tYSx2 + ZXJkYW5hLGFyaWFsLHNhbnMtc2VyaWY7cG9zaXRpb246IGFic29sdXRlO3JpZ2h0OiA2cHg7dGV4 + dC1hbGlnbjogcmlnaHQ7ei1pbmRleDogOTk5OTk7fSAudGhlYmxvZ3dpZGdldHMyIHNwYW4gYXtj + b2xvcjogZ3JheTt0ZXh0LWRlY29yYXRpb246bm9uZTt9IC50aGVibG9nd2lkZ2V0czIgc3BhbiBh + OmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fSB9IDwvc3R5bGU+CjxkaXYgY2xhc3M9 + InRoZWJsb2d3aWRnZXRzMiIgc3R5bGU9IiI+CjxkaXY+CjxpZnJhbWUgc3JjPSJodHRwczovL2hv + c3N6dXB1c2thc3ViLmNvbS90d2l0dGVyLmh0bWwiIHNjcm9sbGluZz0ieWVzIiBmcmFtZWJvcmRl + cj0iMCIgc2Nyb2xsaW5nPSJubyIgc3R5bGU9ImJvcmRlcjogd2hpdGU7IG92ZXJmbG93OiBoaWRk + ZW47IGhlaWdodDogMzIwcHg7IHdpZHRoOiA2NTBweDtiYWNrZ3JvdW5kOiNmYWZhZmE7Y29sb3I6 + MDAwOyI+PC9pZnJhbWU+CjxzY3JpcHQgYXN5bmMgc3JjPSdodHRwczovL2hvc3N6dXB1c2thc3Vi + LmNvbS93aWRnZXRzLmpzJyBjaGFyc2V0PSd1dGYtOCc+PC9zY3JpcHQ+CjwvZGl2Pgo8L2Rpdj4K + PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjaGFyc2V0PSJ1dGYtOCI+CjxociBjb2xv + cj0iI2NjY2NjYyIgc3R5bGU9ImJvcmRlcjogMXB4IGRvdHRlZCAjY2NjY2NjIj4KPHRhYmxlIHdp + ZHRoPSI5OSUiIGFsaWduPSJjZW50ZXIiPgo8dHI+Cjx0ZCB3aWR0aD0iMTAzIiBoZWlnaHQ9IjQw + IiBvbm1vdXNlb3Zlcj0idGhpcy5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2U9J3VybChjc3Mvb3Zlcmxv + Z28ucG5nKSc7IiBvbm1vdXNlb3V0PSJ0aGlzLnN0eWxlLmJhY2tncm91bmRJbWFnZT0ndXJsKGNz + cy9vdmVyMi5qcGcpJzsiPjxkaXYgYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iaHR0cDovL2hvc3N6 + dXB1c2thc3ViLmNvbS9zb3JvemF0b2sucGhwP3NlcmlhbD10aGV3YWxraW5nZGVhZCIgdGFyZ2V0 + PSJfcGFyZW50Ij48aW1nIHNyYz0iY3NzL2tpc2tlcC90aGV3YWxraW5nZGVhZC5wbmciIGFsdD0i + IiB3aWR0aD0iODAiIGJvcmRlcj0iMCI+PC9hPjwvZGl2PjwvdGQ+PHRkIHdpZHRoPSIxMDMiIGhl + aWdodD0iNDAiIG9ubW91c2VvdmVyPSJ0aGlzLnN0eWxlLmJhY2tncm91bmRJbWFnZT0ndXJsKGNz + cy9vdmVybG9nby5wbmcpJzsiIG9ubW91c2VvdXQ9InRoaXMuc3R5bGUuYmFja2dyb3VuZEltYWdl + PSd1cmwoY3NzL292ZXIyLmpwZyknOyI+PGRpdiBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJodHRw + Oi8vaG9zc3p1cHVza2FzdWIuY29tL3Nvcm96YXRvay5waHA/c2VyaWFsPWRleHRlciIgdGFyZ2V0 + PSJfcGFyZW50Ij48aW1nIHNyYz0iY3NzL2tpc2tlcC9kZXh0ZXIucG5nIiBhbHQ9IiIgd2lkdGg9 + IjgwIiBib3JkZXI9IjAiPjwvYT48L2Rpdj48L3RkPjx0ZCB3aWR0aD0iMTAzIiBoZWlnaHQ9IjQw + IiBvbm1vdXNlb3Zlcj0idGhpcy5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2U9J3VybChjc3Mvb3Zlcmxv + Z28ucG5nKSc7IiBvbm1vdXNlb3V0PSJ0aGlzLnN0eWxlLmJhY2tncm91bmRJbWFnZT0ndXJsKGNz + cy9vdmVyMi5qcGcpJzsiPjxkaXYgYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iaHR0cDovL2hvc3N6 + dXB1c2thc3ViLmNvbS9zb3JvemF0b2sucGhwP3NlcmlhbD10aGV3YWxraW5nZGVhZHdvcmxkYmV5 + b25kIiB0YXJnZXQ9Il9wYXJlbnQiPjxpbWcgc3JjPSJjc3Mva2lza2VwL3RoZXdhbGtpbmdkZWFk + d29ybGRiZXlvbmQucG5nIiBhbHQ9IiIgd2lkdGg9IjgwIiBib3JkZXI9IjAiPjwvYT48L2Rpdj48 + L3RkPjx0ZCB3aWR0aD0iMTAzIiBoZWlnaHQ9IjQwIiBvbm1vdXNlb3Zlcj0idGhpcy5zdHlsZS5i + YWNrZ3JvdW5kSW1hZ2U9J3VybChjc3Mvb3ZlcmxvZ28ucG5nKSc7IiBvbm1vdXNlb3V0PSJ0aGlz + LnN0eWxlLmJhY2tncm91bmRJbWFnZT0ndXJsKGNzcy9vdmVyMi5qcGcpJzsiPjxkaXYgYWxpZ249 + ImNlbnRlciI+PGEgaHJlZj0iaHR0cDovL2hvc3N6dXB1c2thc3ViLmNvbS9zb3JvemF0b2sucGhw + P3NlcmlhbD1idWxsIiB0YXJnZXQ9Il9wYXJlbnQiPjxpbWcgc3JjPSJjc3Mva2lza2VwL2J1bGwu + cG5nIiBhbHQ9IiIgd2lkdGg9IjgwIiBib3JkZXI9IjAiPjwvYT48L2Rpdj48L3RkPjx0ZCB3aWR0 + aD0iMTAzIiBoZWlnaHQ9IjQwIiBvbm1vdXNlb3Zlcj0idGhpcy5zdHlsZS5iYWNrZ3JvdW5kSW1h + Z2U9J3VybChjc3Mvb3ZlcmxvZ28ucG5nKSc7IiBvbm1vdXNlb3V0PSJ0aGlzLnN0eWxlLmJhY2tn + cm91bmRJbWFnZT0ndXJsKGNzcy9vdmVyMi5qcGcpJzsiPjxkaXYgYWxpZ249ImNlbnRlciI+PGEg + aHJlZj0iaHR0cDovL2hvc3N6dXB1c2thc3ViLmNvbS9zb3JvemF0b2sucGhwP3NlcmlhbD15b3Vu + Z3NoZWxkb24iIHRhcmdldD0iX3BhcmVudCI+PGltZyBzcmM9ImNzcy9raXNrZXAveW91bmdzaGVs + ZG9uLnBuZyIgYWx0PSIiIHdpZHRoPSI4MCIgYm9yZGVyPSIwIj48L2E+PC9kaXY+PC90ZD48dGQg + d2lkdGg9IjEwMyIgaGVpZ2h0PSI0MCIgb25tb3VzZW92ZXI9InRoaXMuc3R5bGUuYmFja2dyb3Vu + ZEltYWdlPSd1cmwoY3NzL292ZXJsb2dvLnBuZyknOyIgb25tb3VzZW91dD0idGhpcy5zdHlsZS5i + YWNrZ3JvdW5kSW1hZ2U9J3VybChjc3Mvb3ZlcjIuanBnKSc7Ij48ZGl2IGFsaWduPSJjZW50ZXIi + PjxhIGhyZWY9Imh0dHA6Ly9ob3NzenVwdXNrYXN1Yi5jb20vc29yb3phdG9rLnBocD9zZXJpYWw9 + YmF0d29tYW4iIHRhcmdldD0iX3BhcmVudCI+PGltZyBzcmM9ImNzcy9raXNrZXAvYmF0d29tYW4u + cG5nIiBhbHQ9IiIgd2lkdGg9IjgwIiBib3JkZXI9IjAiPjwvYT48L2Rpdj48L3RkPjx0ZCB3aWR0 + aD0iMTAzIiBoZWlnaHQ9IjQwIiBvbm1vdXNlb3Zlcj0idGhpcy5zdHlsZS5iYWNrZ3JvdW5kSW1h + Z2U9J3VybChjc3Mvb3ZlcmxvZ28ucG5nKSc7IiBvbm1vdXNlb3V0PSJ0aGlzLnN0eWxlLmJhY2tn + cm91bmRJbWFnZT0ndXJsKGNzcy9vdmVyMi5qcGcpJzsiPjxkaXYgYWxpZ249ImNlbnRlciI+PGEg + aHJlZj0iaHR0cDovL2hvc3N6dXB1c2thc3ViLmNvbS9zb3JvemF0b2sucGhwP3NlcmlhbD13YWxr + ZXIiIHRhcmdldD0iX3BhcmVudCI+PGltZyBzcmM9ImNzcy9raXNrZXAvd2Fsa2VyLnBuZyIgYWx0 + PSIiIHdpZHRoPSI4MCIgYm9yZGVyPSIwIj48L2E+PC9kaXY+PC90ZD48dGQgd2lkdGg9IjEwMyIg + aGVpZ2h0PSI0MCIgb25tb3VzZW92ZXI9InRoaXMuc3R5bGUuYmFja2dyb3VuZEltYWdlPSd1cmwo + Y3NzL292ZXJsb2dvLnBuZyknOyIgb25tb3VzZW91dD0idGhpcy5zdHlsZS5iYWNrZ3JvdW5kSW1h + Z2U9J3VybChjc3Mvb3ZlcjIuanBnKSc7Ij48ZGl2IGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9Imh0 + dHA6Ly9ob3NzenVwdXNrYXN1Yi5jb20vc29yb3phdG9rLnBocD9zZXJpYWw9YWxsYW1lcmljYW4i + IHRhcmdldD0iX3BhcmVudCI+PGltZyBzcmM9ImNzcy9raXNrZXAvYWxsYW1lcmljYW4ucG5nIiBh + bHQ9IiIgd2lkdGg9IjgwIiBib3JkZXI9IjAiPjwvYT48L2Rpdj48L3RkPjx0ZCB3aWR0aD0iMTAz + IiBoZWlnaHQ9IjQwIiBvbm1vdXNlb3Zlcj0idGhpcy5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2U9J3Vy + bChjc3Mvb3ZlcmxvZ28ucG5nKSc7IiBvbm1vdXNlb3V0PSJ0aGlzLnN0eWxlLmJhY2tncm91bmRJ + bWFnZT0ndXJsKGNzcy9vdmVyMi5qcGcpJzsiPjxkaXYgYWxpZ249ImNlbnRlciI+PGEgaHJlZj0i + aHR0cDovL2hvc3N6dXB1c2thc3ViLmNvbS9zb3JvemF0b2sucGhwP3NlcmlhbD1zdXBlcmdpcmwi + IHRhcmdldD0iX3BhcmVudCI+PGltZyBzcmM9ImNzcy9raXNrZXAvc3VwZXJnaXJsLnBuZyIgYWx0 + PSIiIHdpZHRoPSI4MCIgYm9yZGVyPSIwIj48L2E+PC9kaXY+PC90ZD48L3RyPjx0cj48dGQgdmFs + aWduPSJ0b3AiPjxkaXYgYWxpZ249ImNlbnRlciI+PHN0cm9uZz4gczAyZTAzPC9zdHJvbmc+Jm5i + c3A7PGltZyBzcmM9ImZsYWdzLzEuZ2lmIiBhbHQ9IiIgd2lkdGg9IjE4IiBoZWlnaHQ9IjEwIj48 + YnI+PHNwYW4gY2xhc3M9InN0eWxlMSI+KHJlcGFjayBhbXpuIHdlYnJpcC1udGIsIHJlcGFjayBh + bXpuIHdlYiBkbC1udGIpPC9zcGFuPjwvZGl2PjwvdGQ+PHRkIHZhbGlnbj0idG9wIj48ZGl2IGFs + aWduPSJjZW50ZXIiPjxzdHJvbmc+IHMwOWUwNDwvc3Ryb25nPiZuYnNwOzxpbWcgc3JjPSJmbGFn + cy8xLmdpZiIgYWx0PSIiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxMCI+PGJyPjxzcGFuIGNsYXNzPSJz + dHlsZTEiPihhbXpuIHdlYnJpcC1udGIsIGFtem4gd2ViIGRsLW50Yiwgd2ViLWdsaGYpPC9zcGFu + PjwvZGl2PjwvdGQ+PHRkIHZhbGlnbj0idG9wIj48ZGl2IGFsaWduPSJjZW50ZXIiPjxzdHJvbmc+ + IHMwMmUwOTwvc3Ryb25nPiZuYnNwOzxpbWcgc3JjPSJmbGFncy8yLmdpZiIgYWx0PSIiIHdpZHRo + PSIxOCIgaGVpZ2h0PSIxMCI+PGJyPjxzcGFuIGNsYXNzPSJzdHlsZTEiPih3ZWJyaXAtaW9uMTAs + IHdlYi1hZmcsIHdlYi1jYWtlcyk8L3NwYW4+PC9kaXY+PC90ZD48dGQgdmFsaWduPSJ0b3AiPjxk + aXYgYWxpZ249ImNlbnRlciI+PHN0cm9uZz4gczA2ZTA2PC9zdHJvbmc+Jm5ic3A7PGltZyBzcmM9 + ImZsYWdzLzIuZ2lmIiBhbHQ9IiIgd2lkdGg9IjE4IiBoZWlnaHQ9IjEwIj48YnI+PHNwYW4gY2xh + c3M9InN0eWxlMSI+KHdlYnJpcC1pb24xMCwgd2ViLWFmZywgd2ViLWdvc3NpcCk8L3NwYW4+PC9k + aXY+PC90ZD48dGQgdmFsaWduPSJ0b3AiPjxkaXYgYWxpZ249ImNlbnRlciI+PHN0cm9uZz4gczA1 + ZTA3PC9zdHJvbmc+Jm5ic3A7PGltZyBzcmM9ImZsYWdzLzEuZ2lmIiBhbHQ9IiIgd2lkdGg9IjE4 + IiBoZWlnaHQ9IjEwIj48YnI+PHNwYW4gY2xhc3M9InN0eWxlMSI+KHdlYnJpcC1pb24xMCwgd2Vi + LWNha2VzKTwvc3Bhbj48L2Rpdj48L3RkPjx0ZCB2YWxpZ249InRvcCI+PGRpdiBhbGlnbj0iY2Vu + dGVyIj48c3Ryb25nPiBzMDNlMDc8L3N0cm9uZz4mbmJzcDs8aW1nIHNyYz0iZmxhZ3MvMi5naWYi + IGFsdD0iIiB3aWR0aD0iMTgiIGhlaWdodD0iMTAiPjxicj48c3BhbiBjbGFzcz0ic3R5bGUxIj4o + aGR0di1hZmcsIGhkdHYtcm14LCA3MjBwLXN5bmNvcHksIDcyMHAtcm10ZWFtKTwvc3Bhbj48L2Rp + dj48L3RkPjx0ZCB2YWxpZ249InRvcCI+PGRpdiBhbGlnbj0iY2VudGVyIj48c3Ryb25nPiBzMDJl + MDI8L3N0cm9uZz4mbmJzcDs8aW1nIHNyYz0iZmxhZ3MvMS5naWYiIGFsdD0iIiB3aWR0aD0iMTgi + IGhlaWdodD0iMTAiPjxicj48c3BhbiBjbGFzcz0ic3R5bGUxIj4od2VicmlwLWlvbjEwLCBhbXpu + IHdlYnJpcC1mbHV4LCBhbXpuIHdlYiBkbC1mbHV4LCB3ZWItYWZnLCB3ZWItZ29zc2lwKTwvc3Bh + bj48L2Rpdj48L3RkPjx0ZCB2YWxpZ249InRvcCI+PGRpdiBhbGlnbj0iY2VudGVyIj48c3Ryb25n + PiBzMDRlMDU8L3N0cm9uZz4mbmJzcDs8aW1nIHNyYz0iZmxhZ3MvMi5naWYiIGFsdD0iIiB3aWR0 + aD0iMTgiIGhlaWdodD0iMTAiPjxicj48c3BhbiBjbGFzcz0ic3R5bGUxIj4oaGR0di1hZmcsIDcy + MHAtc3luY29weSk8L3NwYW4+PC9kaXY+PC90ZD48dGQgdmFsaWduPSJ0b3AiPjxkaXYgYWxpZ249 + ImNlbnRlciI+PHN0cm9uZz4gczA2ZTIwPC9zdHJvbmc+Jm5ic3A7PGltZyBzcmM9ImZsYWdzLzEu + Z2lmIiBhbHQ9IiIgd2lkdGg9IjE4IiBoZWlnaHQ9IjEwIj48YnI+PHNwYW4gY2xhc3M9InN0eWxl + MSI+KHdlYnJpcC1pb24xMCwgYW16biB3ZWJyaXAtbnRiLCBhbXpuIHdlYiBkbC1udGIpPC9zcGFu + PjwvZGl2PjwvdGQ+CjwvdHI+CjwvdGFibGU+CjxociBjb2xvcj0iI2NjY2NjYyIgc3R5bGU9ImJv + cmRlcjogMXB4IGRvdHRlZCAjY2NjY2NjIj4KPHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3Bh + Y2luZz0iMCIgYm9yZGVyPSIwIiBiZ2NvbG9yPSJkYXJrZ3JheSIgd2lkdGg9Ijc4MCIgYWxpZ249 + ImNlbnRlciI+Cjx0cj48dGQ+Cjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3Bh + Y2luZz0iMSIgY2VsbHBhZGRpbmc9IjUiPgo8dHIgYmdjb2xvcj0iI2U2ZTZlNiI+Cjx0ZCBoZWln + aHQ9IjUwIiBhbGlnbj0ibGVmdCI+CjxhIGhyZWY9Imh0dHA6Ly9pbmZvLmhvc3N6dXB1c2thc3Vi + LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iY3NzL2luZm9iYW5uZXIzLnBuZyIgd2lk + dGg9IjQ0MCIgaGVpZ2h0PSI2MCIgYWx0PSdoaXJkZXNzIGl0dCcgYm9yZGVyPSIwIj48L2E+Cgo8 + L2E+CjwvdGQ+PHRkPgo8YSBocmVmPSJodHRwczovL3BjLW1heC5odS90ZXJtZWsta2VyZXNlcy8/ + c2VhcmNoPSsrKyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iY3NzL2FuaW1hbHRfaGlyZGV0 + ZXNfaG9zc3p1cHVza2FfMDEwX0IuZ2lmIiB3aWR0aD0iNDYwIiBoZWlnaHQ9IjYwIiBhbHQ9J2hh + c3pu4Wx0IHN64W3tdPNn6XBlayBvbGNz824nIGJvcmRlcj0iMCI+CjwvYT4KPC90ZD4KPC90cj4K + PC90YWJsZT4KPC90ZD48L3RyPgo8L3RhYmxlPgo8aHIgY29sb3I9IiNjY2NjY2MiIHN0eWxlPSJi + b3JkZXI6IDFweCBkb3R0ZWQgI2NjY2NjYyI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQogICAg + IC5zZWFyY2gtYm94ew0KICAgICAgICB3aWR0aDogNjQwcHg7DQogICAgICAgIHBvc2l0aW9uOiBy + ZWxhdGl2ZTsNCiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KCQkNCgkNCiAgICB9DQog + ICAgLnNlYXJjaC1ib3ggaW5wdXRbdHlwZT0idGV4dCJdew0KICAgICAgICBib3JkZXI6IDJweCBz + b2xpZCAjQ0NDQ0NDOw0KCSAgICBib3JkZXItcmFkaXVzOiA4cHg7DQoJICAgIGZvbnQtc2l6ZTog + MjRweDsNCgkgICAgaGVpZ2h0OiA1MHB4Ow0KCSAgICBsaW5lLWhlaWdodDogMzBweDsNCgkgICAg + b3V0bGluZTogbWVkaXVtIG5vbmU7DQoJICAgIHBhZGRpbmc6IDhweCAxMnB4Ow0KCSAgICB3aWR0 + aDogNTgwcHg7DQogICAgfQ0KICAgIC5yZXN1bHR7DQogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0 + ZTsgICAgICAgIA0KICAgICAgICB6LWluZGV4OiA5OTk7DQogICAgICAgIHRvcDogMTAwJTsNCiAg + ICAgICAgbGVmdDogMDsNCiAgICB9DQogICAgLnNlYXJjaC1ib3ggaW5wdXRbdHlwZT0idGV4dCJd + LCAucmVzdWx0ew0KICAgICAgICB3aWR0aDogMTAwJTsNCiAgICAgICAgYm94LXNpemluZzogYm9y + ZGVyLWJveDsNCiAgICB9DQogICAgLyogRm9ybWF0dGluZyByZXN1bHQgaXRlbXMgKi8NCiAgICAu + cmVzdWx0IHB7DQoJCWJhY2tncm91bmQ6ICNmMmYyZjI7DQoJICAgIGJvcmRlcjogMnB4IHNvbGlk + ICNDQ0NDQ0M7DQogIAkgICAgbWFyZ2luOiAwOw0KCQlmb250LXNpemU6IDE2cHg7DQogICAgICAg + IHBhZGRpbmc6IDdweCAxMHB4Ow0KICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjQ0NDQ0NDOw0K + ICAgICAgICBib3JkZXItdG9wOiBub25lOw0KCQljdXJzb3I6IHBvaW50ZXI7DQogICAgICAgIA0K + CSAgICAgICANCiAgICB9DQoJLnJlc3VsdCB0YWJsZXsNCgkJd2lkdGg6IDYxNnB4Ow0KCQliYWNr + Z3JvdW5kOiAjZjJmMmYyOw0KCSAgICBib3JkZXI6IDJweCBzb2xpZCAjQ0NDQ0NDOw0KICAJICAg + IG1hcmdpbjogMDsNCgkJZm9udC1zaXplOiAxNHB4Ow0KICAgICAgICBwYWRkaW5nOiA3cHggMTBw + eDsNCiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0NDQ0NDQzsNCiAgICAgICAgYm9yZGVyLXRv + cDogbm9uZTsNCgkJY3Vyc29yOiBwb2ludGVyOw0KICAgICAgICANCgkgICAgICAgDQogICAgfQ0K + ICAgIC5yZXN1bHQgcDpob3ZlcnsNCiAgICAgICAgYmFja2dyb3VuZDogI0NDQzsNCgkJYm9yZGVy + OiAycHggc29saWQgI0NDQ0NDQzsNCiAgCSAgICBtYXJnaW46IDA7DQoJCWZvbnQtc2l6ZTogMTZw + eDsNCiAgICAgICAgcGFkZGluZzogN3B4IDEwcHg7DQogICAgICAgIGJvcmRlcjogMXB4IHNvbGlk + ICNDQ0NDQ0M7DQogICAgICAgIGJvcmRlci10b3A6IG5vbmU7DQogICAgfQ0KCS5yZXN1bHQgdGFi + bGU6aG92ZXJ7DQoJCXdpZHRoOiA2MTZweDsNCiAgICAgICAgYmFja2dyb3VuZDogI0NDQzsNCgkJ + Ym9yZGVyOiAycHggc29saWQgI0NDQ0NDQzsNCiAgCSAgICBtYXJnaW46IDA7DQoJCWZvbnQtc2l6 + ZTogMTRweDsNCiAgICAgICAgcGFkZGluZzogN3B4IDEwcHg7DQogICAgICAgIGJvcmRlcjogMXB4 + IHNvbGlkICNDQ0NDQ0M7DQogICAgICAgIGJvcmRlci10b3A6IG5vbmU7DQogICAgfQ0KPC9zdHls + ZT4KPHN0eWxlPg0KCQ0KCS5tZW51IHsNCglmb250LWZhbWlseTogYXJpYWwgYmxhY2s7DQoJY29s + b3I6ICMwMDAwMDA7DQoJZm9udC1zaXplOiAyMnB4Ow0KCUE6bGluayB7IHRleHQtZGVjb3JhdGlv + bjogbm9uZTt9DQogICAgQTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAg + ICAgICAgY29sb3I6ICMwMDAwMDA7IH0NCiAgICBBOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uOiBu + b25lOw0KICAgICAgICAgIGNvbG9yOiAjNjY5OUNDOyB9DQoJfQ0KCS5tZW51MXsNCglmb250LWZh + bWlseTogYXJpYWwgYmxhY2s7DQoJZm9udC1zaXplOiAxNnB4Ow0KCUE6bGluayB7IHRleHQtZGVj + b3JhdGlvbjogbm9uZTsgY29sb3I6ICNlZWVlZWU7fQ0KICAgIEE6dmlzaXRlZCB7IHRleHQtZGVj + b3JhdGlvbjogbm9uZTsNCiAgICAgICAgICAgIGNvbG9yOiAjOTk5OTk5OyB9DQogICAgQTpob3Zl + ciB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgICBjb2xvcjogIzY2OTlDQzsgfQ0K + CX0NCgkNCgkNCgkucGVyIHsNCglmb250LWZhbWlseTogYXJpYWwgYmxhY2s7DQoJY29sb3I6ICMw + MDAwMDA7DQoJZm9udC10eXBlOiBib2xkOw0KCWZvbnQtc2l6ZTogMjJweDsNCgl9DQoJDQoJLnRh + YmxlX2JvZHl7DQoJCWJhY2tncm91bmQtaW1hZ2U6dXJsKCdjc3Mva2VyZXNvYmFja3MuanBnJyk7 + DQoJCWZpbHRlcjphbHBoYShvcGFjaXR5PTkwKTsgLW1vei1vcGFjaXR5OjAuNTsgb3BhY2l0eTog + MS41Ow0KCQkNCgl9DQoJCQ0KCQkNCn0NCg0KICAgCQ0KPC9zdHlsZT4KPHNjcmlwdCBzcmM9Imh0 + dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KPHNj + cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24o + KXsNCiAgICAkKCcuc2VhcmNoLWJveCBpbnB1dFt0eXBlPSJ0ZXh0Il0nKS5vbigia2V5dXAgaW5w + dXQiLCBmdW5jdGlvbigpew0KICAgICAgICAvKiBHZXQgaW5wdXQgdmFsdWUgb24gY2hhbmdlICov + DQogICAgICAgIHZhciBpbnB1dFZhbCA9ICQodGhpcykudmFsKCk7DQogICAgICAgIHZhciByZXN1 + bHREcm9wZG93biA9ICQodGhpcykuc2libGluZ3MoIi5yZXN1bHQiKTsNCiAgICAgICAgaWYoaW5w + dXRWYWwubGVuZ3RoKXsNCiAgICAgICAgICAgICQuZ2V0KCJiYWNrZW5kLXNlYXJjaC5waHAiLCB7 + dGVybTogaW5wdXRWYWx9KS5kb25lKGZ1bmN0aW9uKGRhdGEpew0KICAgICAgICAgICAgICAgIC8v + IERpc3BsYXkgdGhlIHJldHVybmVkIGRhdGEgaW4gYnJvd3Nlcg0KICAgICAgICAgICAgICAgIHJl + c3VsdERyb3Bkb3duLmh0bWwoZGF0YSk7DQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSBlbHNl + ew0KICAgICAgICAgICAgcmVzdWx0RHJvcGRvd24uZW1wdHkoKTsNCiAgICAgICAgfQ0KICAgIH0p + Ow0KICAgIA0KICAgIC8vIFNldCBzZWFyY2ggaW5wdXQgdmFsdWUgb24gY2xpY2sgb2YgcmVzdWx0 + IGl0ZW0NCiAgICAkKGRvY3VtZW50KS5vbigiY2xpY2siLCAiLnJlc3VsdCBwIiwgZnVuY3Rpb24o + KXsNCiAgICAgICAgJCh0aGlzKS5wYXJlbnRzKCIuc2VhcmNoLWJveCIpLmZpbmQoJ2lucHV0W3R5 + cGU9InRleHQiXScpLnZhbCgkKHRoaXMpLnRleHQoKSk7DQogICAgICAgICQodGhpcykucGFyZW50 + KCIucmVzdWx0IikuZW1wdHkoKTsNCiAgICB9KTsNCn0pOw0KPC9zY3JpcHQ+Cjx0YWJsZSB3aWR0 + aD0iOTAwIiBjbGFzcz0idGFibGVfYm9keSIgYm9yZGVyPSIwIiBhbGlnbj0iY2VudGVyIj4KPHRy + Pjx0ZD4KPGNlbnRlcj4KPGltZyBzcmM9ImNzcy9iYWxueWlsLnBuZyIgd2lkdGg9IjIxIj48YSBo + cmVmPSJzb3JvemF0b2sucGhwIiBpZD0ibWVudTMiPjxzcGFuIGNsYXNzPSJtZW51Ij48Yj5Tb3Jv + emF0b2s8L2I+PC9zcGFuPjwvYT4mbmJzcDs8c3BhbiBjbGFzcz0icGVyIj4tPC9zcGFuPiZuYnNw + OzxhIGhyZWY9ImZpbG1lay5waHAiIGlkPSJtZW51MyI+PHNwYW4gY2xhc3M9Im1lbnUxIj5GaWxt + ZWs8L3NwYW4+PC9hPgombmJzcDsmbmJzcDsmbmJzcDsKPHRhYmxlPjx0cj48dGQ+Cjxmb3JtIGFj + dGlvbj0ic29yb3phdG9rLnBocCIgbmFtZT0icHJlcmVnIiBtZXRob2Q9ImdldCI+CjxzcGFuIGNs + YXNzPSJzdHlsZTIiPjxzdHJvbmc+PC9zdHJvbmc+PC9zcGFuPgo8L3RkPgo8dGQ+Cgo8ZGl2IGNs + YXNzPSJzZWFyY2gtYm94Ij4KPGlucHV0IHR5cGU9InRleHQiIG5hbWU9ImNpbSIgYXV0b2NvbXBs + ZXRlPSJvZmYiIHBsYWNlaG9sZGVyPSLNcmQgYmUgYSBrZXJlc2VuZPUgc29yb3phdCBj7W3pdC4u + LiIgLz4KPGRpdiBjbGFzcz0icmVzdWx0Ij48L2Rpdj4KPC9kaXY+CjwvdGQ+PC90cj48L3RhYmxl + Pgo8dGFibGU+PHRyPgo8dGQ+CiZuYnNwOwo8c2VsZWN0IG5hbWU9ImV2YWQiIGNsYXNzPSJpbnB1 + dDIiPgo8b3B0aW9uIHZhbHVlPSIiPul2YWQ8L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT0iczAxIj4x + PC9vcHRpb24+CjxvcHRpb24gdmFsdWU9InMwMiI+Mjwvb3B0aW9uPgo8b3B0aW9uIHZhbHVlPSJz + MDMiPjM8L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT0iczA0Ij40PC9vcHRpb24+CjxvcHRpb24gdmFs + dWU9InMwNSI+NTwvb3B0aW9uPgo8b3B0aW9uIHZhbHVlPSJzMDYiPjY8L29wdGlvbj4KPG9wdGlv + biB2YWx1ZT0iczA3Ij43PC9vcHRpb24+CjxvcHRpb24gdmFsdWU9InMwOCI+ODwvb3B0aW9uPgo8 + b3B0aW9uIHZhbHVlPSJzMDkiPjk8L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT0iczEwIj4xMDwvb3B0 + aW9uPgo8b3B0aW9uIHZhbHVlPSJzMTEiPjExPC9vcHRpb24+CjxvcHRpb24gdmFsdWU9InMxMiI+ + MTI8L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT0iczEzIj4xMzwvb3B0aW9uPgo8b3B0aW9uIHZhbHVl + PSJzMTQiPjE0PC9vcHRpb24+CjxvcHRpb24gdmFsdWU9InMxNSI+MTU8L29wdGlvbj4KPG9wdGlv + biB2YWx1ZT0iczE2Ij4xNjwvb3B0aW9uPgo8b3B0aW9uIHZhbHVlPSJzMTciPjE3PC9vcHRpb24+ + CjxvcHRpb24gdmFsdWU9InMxOCI+MTg8L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT0iczE5Ij4xOTwv + b3B0aW9uPgo8b3B0aW9uIHZhbHVlPSJzMjAiPjIwPC9vcHRpb24+CjxvcHRpb24gdmFsdWU9InMy + MSI+MjE8L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT0iczIyIj4yMjwvb3B0aW9uPgo8b3B0aW9uIHZh + bHVlPSJzMjMiPjIzPC9vcHRpb24+CjxvcHRpb24gdmFsdWU9InMyNCI+MjQ8L29wdGlvbj4KPG9w + dGlvbiB2YWx1ZT0iczI1Ij4yNTwvb3B0aW9uPgo8b3B0aW9uIHZhbHVlPSJzMjYiPjI2PC9vcHRp + b24+CjxvcHRpb24gdmFsdWU9InMyNyI+Mjc8L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT0iczI4Ij4y + ODwvb3B0aW9uPgo8b3B0aW9uIHZhbHVlPSJzMjkiPjI5PC9vcHRpb24+CjxvcHRpb24gdmFsdWU9 + InMzMCI+MzA8L29wdGlvbj4KPC9zZWxlY3Q+Ci0KPC90ZD4KPHRkPgo8c2VsZWN0IG5hbWU9InJl + c3oiIGNsYXNzPSJpbnB1dDIiPgo8b3B0aW9uIHZhbHVlPSIiPnLpc3o8L29wdGlvbj4KPG9wdGlv + biB2YWx1ZT0iZTAxIj4xPC9vcHRpb24+CjxvcHRpb24gdmFsdWU9ImUwMiI+Mjwvb3B0aW9uPgo8 + b3B0aW9uIHZhbHVlPSJlMDMiPjM8L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT0iZTA0Ij40PC9vcHRp + b24+CjxvcHRpb24gdmFsdWU9ImUwNSI+NTwvb3B0aW9uPgo8b3B0aW9uIHZhbHVlPSJlMDYiPjY8 + L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT0iZTA3Ij43PC9vcHRpb24+CjxvcHRpb24gdmFsdWU9ImUw + OCI+ODwvb3B0aW9uPgo8b3B0aW9uIHZhbHVlPSJlMDkiPjk8L29wdGlvbj4KPG9wdGlvbiB2YWx1 + ZT0iZTEwIj4xMDwvb3B0aW9uPgo8b3B0aW9uIHZhbHVlPSJlMTEiPjExPC9vcHRpb24+CjxvcHRp + b24gdmFsdWU9ImUxMiI+MTI8L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT0iZTEzIj4xMzwvb3B0aW9u + Pgo8b3B0aW9uIHZhbHVlPSJlMTQiPjE0PC9vcHRpb24+CjxvcHRpb24gdmFsdWU9ImUxNSI+MTU8 + L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT0iZTE2Ij4xNjwvb3B0aW9uPgo8b3B0aW9uIHZhbHVlPSJl + MTciPjE3PC9vcHRpb24+CjxvcHRpb24gdmFsdWU9ImUxOCI+MTg8L29wdGlvbj4KPG9wdGlvbiB2 + YWx1ZT0iZTE5Ij4xOTwvb3B0aW9uPgo8b3B0aW9uIHZhbHVlPSJlMjAiPjIwPC9vcHRpb24+Cjxv + cHRpb24gdmFsdWU9ImUyMSI+MjE8L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT0iZTIyIj4yMjwvb3B0 + aW9uPgo8b3B0aW9uIHZhbHVlPSJlMjMiPjIzPC9vcHRpb24+CjxvcHRpb24gdmFsdWU9ImUyNCI+ + MjQ8L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT0iZTI1Ij4yNTwvb3B0aW9uPgo8b3B0aW9uIHZhbHVl + PSJlMjYiPjI2PC9vcHRpb24+CjxvcHRpb24gdmFsdWU9ImUyNyI+Mjc8L29wdGlvbj4KPG9wdGlv + biB2YWx1ZT0iZTI4Ij4yODwvb3B0aW9uPgo8b3B0aW9uIHZhbHVlPSJlMjkiPjI5PC9vcHRpb24+ + CjxvcHRpb24gdmFsdWU9ImUzMCI+MzA8L29wdGlvbj4KPC9zZWxlY3Q+Ci0KPC90ZD4KPHRkPgo8 + c2VsZWN0IG5hbWU9Im55ZWx2dGlwdXMiIGNsYXNzPSJpbnB1dDIiPgo8b3B0aW9uIHZhbHVlPSIl + Ij5ueWVsdjwvb3B0aW9uPgo8b3B0aW9uIHZhbHVlPSIlIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFn + ZTogdXJsKGZsYWdzL2FsbC5naWYpO2JhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7dGV4dC1h + bGlnbjpyaWdodDsNCmxlZnQtcGFkZGluZzoxNXB4OyI+bWluZDwvb3B0aW9uPgo8b3B0aW9uIHZh + bHVlPSIxIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKGZsYWdzLzEuZ2lmKTtiYWNrZ3Jv + dW5kLXJlcGVhdDogbm8tcmVwZWF0O3RleHQtYWxpZ246cmlnaHQ7DQpsZWZ0LXBhZGRpbmc6MTVw + eDsiPm1hZ3lhcjwvb3B0aW9uPgo8b3B0aW9uIHZhbHVlPSIyIiBzdHlsZT0iYmFja2dyb3VuZC1p + bWFnZTogdXJsKGZsYWdzLzIuZ2lmKTtiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O3RleHQt + YWxpZ246cmlnaHQ7DQpsZWZ0LXBhZGRpbmc6MTVweDsiPmFuZ29sPC9vcHRpb24+Cjwvc2VsZWN0 + Pgo8L3RkPgo8dGQ+CjxzcGFuIGNsYXNzPSJzdHlsZTEiPjxiPlRlbGplcyDpdmFkOjwvYj4gPGlu + cHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJ0ZWxqZXNldmFkIiB2YWx1ZT0iZSIgc3R5bGU9ImN1 + cnNvcjogdXJsKCdjc3MvbGluay5wbmcnKSwgZGVmYXVsdDsiIG9uY2hhbmdlPSJpZih0aGlzLmNo + ZWNrZWQpe3RoaXMuZm9ybS5lbGVtZW50c1snZXZhZCddLmRpc2FibGVkPXRydWU7IHRoaXMuZm9y + bS5lbGVtZW50c1sncmVzeiddLmRpc2FibGVkPXRydWU7fWVsc2V7dGhpcy5mb3JtLmVsZW1lbnRz + WydldmFkJ10uZGlzYWJsZWQ9ZmFsc2U7IHRoaXMuZm9ybS5lbGVtZW50c1sncmVzeiddLmRpc2Fi + bGVkPWZhbHNlfTsiPjwvc3R5bGU+IAo8L3RkPgo8dGQ+CjxpbnB1dCB0eXBlPSJpbWFnZSIgc3Jj + PSJjc3MvbGFzc3VrLmdpZiIgc3R5bGU9ImN1cnNvcjogdXJsKCdjc3MvbGluay5wbmcnKSwgZGVm + YXVsdDsiPgo8L2Zvcm0+CjwvdHI+PC90ZD48L3RhYmxlPgo8L3RkPjwvdHI+PC90YWJsZT4KPGNl + bnRlcj4KPGhyIGNvbG9yPSIjY2NjY2NjIiBzdHlsZT0iYm9yZGVyOiAxcHggZG90dGVkICNjY2Nj + Y2MiPgo8c2NyaXB0Pg0KICAoZnVuY3Rpb24oaSxzLG8sZyxyLGEsbSl7aVsnR29vZ2xlQW5hbHl0 + aWNzT2JqZWN0J109cjtpW3JdPWlbcl18fGZ1bmN0aW9uKCl7DQogIChpW3JdLnE9aVtyXS5xfHxb + XSkucHVzaChhcmd1bWVudHMpfSxpW3JdLmw9MSpuZXcgRGF0ZSgpO2E9cy5jcmVhdGVFbGVtZW50 + KG8pLA0KICBtPXMuZ2V0RWxlbWVudHNCeVRhZ05hbWUobylbMF07YS5hc3luYz0xO2Euc3JjPWc7 + bS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhLG0pDQogIH0pKHdpbmRvdyxkb2N1bWVudCwnc2Ny + aXB0JywnaHR0cHM6Ly93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vYW5hbHl0aWNzLmpzJywnZ2En + KTsNCg0KICBnYSgnY3JlYXRlJywgJ1VBLTMyODA5NjMtMTAnLCAnYXV0bycpOw0KICBnYSgnc2Vu + ZCcsICdwYWdldmlldycpOw0KDQo8L3NjcmlwdD4KPGhyIGNvbG9yPSIjY2NjY2NjIiBzdHlsZT0i + Ym9yZGVyOiAxcHggZG90dGVkICNjY2NjY2MiPgo8aHIgd2lkdGg9JzE1MCc+CjxjZW50ZXI+Cjxm + b250IGNvbG9yPSJncmF5IiBzaXplPSIyIj48Yj48aW1nIHNyYz0iY3NzL2Vsb3pvMS5wbmciIHdp + ZHRoPSIzNSIgYm9yZGVyPSIwIj48L2I+PC9mb250PiZuYnNwOyZuYnNwOzxmb250IGNvbG9yPSIj + MDAwMDAwIiBzaXplPSIzIj48Yj4xPC9iPiZuYnNwOzwvZm9udD48YSBocmVmPSJzb3JvemF0b2su + cGhwP2xhcHN6YW09MiIgaWQ9Im1lbnUyIj48Zm9udCBjb2xvcj0iIzY2NjY2NiIgc2l6ZT0iMiI+ + MjwvZm9udD48L2E+PGZvbnQgY29sb3I9IiM2NjY2NjYiIHNpemU9IjIiPiZuYnNwOzwvZm9udD48 + YSBocmVmPSJzb3JvemF0b2sucGhwP2xhcHN6YW09MyIgaWQ9Im1lbnUyIj48Zm9udCBjb2xvcj0i + IzY2NjY2NiIgc2l6ZT0iMiI+MzwvZm9udD48L2E+PGZvbnQgY29sb3I9IiM2NjY2NjYiIHNpemU9 + IjIiPiZuYnNwOzwvZm9udD48YSBocmVmPSJzb3JvemF0b2sucGhwP2xhcHN6YW09NCIgaWQ9Im1l + bnUyIj48Zm9udCBjb2xvcj0iIzY2NjY2NiIgc2l6ZT0iMiI+NDwvZm9udD48L2E+PGZvbnQgY29s + b3I9IiM2NjY2NjYiIHNpemU9IjIiPiZuYnNwOzwvZm9udD48YSBocmVmPSJzb3JvemF0b2sucGhw + P2xhcHN6YW09NSIgaWQ9Im1lbnUyIj48Zm9udCBjb2xvcj0iIzY2NjY2NiIgc2l6ZT0iMiI+NTwv + Zm9udD48L2E+PGZvbnQgY29sb3I9IiM2NjY2NjYiIHNpemU9IjIiPiZuYnNwOzwvZm9udD48YSBo + cmVmPSJzb3JvemF0b2sucGhwP2xhcHN6YW09NiIgaWQ9Im1lbnUyIj48Zm9udCBjb2xvcj0iIzY2 + NjY2NiIgc2l6ZT0iMiI+NjwvZm9udD48L2E+PGZvbnQgY29sb3I9IiM2NjY2NjYiIHNpemU9IjIi + PiZuYnNwOzwvZm9udD48YSBocmVmPSJzb3JvemF0b2sucGhwP2xhcHN6YW09NyIgaWQ9Im1lbnUy + Ij48Zm9udCBjb2xvcj0iIzY2NjY2NiIgc2l6ZT0iMiI+NzwvZm9udD48L2E+PGZvbnQgY29sb3I9 + IiM2NjY2NjYiIHNpemU9IjIiPiZuYnNwOzwvZm9udD48YSBocmVmPSJzb3JvemF0b2sucGhwP2xh + cHN6YW09OCIgaWQ9Im1lbnUyIj48Zm9udCBjb2xvcj0iIzY2NjY2NiIgc2l6ZT0iMiI+ODwvZm9u + dD48L2E+PGZvbnQgY29sb3I9IiM2NjY2NjYiIHNpemU9IjIiPiZuYnNwOzwvZm9udD48YSBocmVm + PSJzb3JvemF0b2sucGhwP2xhcHN6YW09OSIgaWQ9Im1lbnUyIj48Zm9udCBjb2xvcj0iIzY2NjY2 + NiIgc2l6ZT0iMiI+OTwvZm9udD48L2E+PGZvbnQgY29sb3I9IiM2NjY2NjYiIHNpemU9IjIiPiZu + YnNwOzwvZm9udD48YSBocmVmPSJzb3JvemF0b2sucGhwP2xhcHN6YW09MTAiIGlkPSJtZW51MiI+ + PGZvbnQgY29sb3I9IiM2NjY2NjYiIHNpemU9IjIiPjEwPC9mb250PjwvYT48Zm9udCBjb2xvcj0i + IzY2NjY2NiIgc2l6ZT0iMiI+Jm5ic3A7PC9mb250PiZuYnNwOzxhIGhyZWY9InNvcm96YXRvay5w + aHA/bGFwc3phbT0yIiBpZD0ibWVudTIiPjxpbWcgc3JjPSJjc3Mva292ZXRrZXpvLnBuZyIgd2lk + dGg9IjM1IiBib3JkZXI9IjAiPjwvZm9udD48L2E+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC9jZW50ZXI+ + PGJyPjxociB3aWR0aD0nMTYwJz48aHRtbD4KPGhlYWQ+CjxzY3JpcHQgc3JjPSJqcXVlcnktMi4x + LjEuanMiPjwvc2NyaXB0Pgo8L2hlYWQ+Cjxib2R5Pgo8ZGl2IGlkPSJ2aXRyaW5lIj48L2Rpdj4K + PHNjcmlwdD4NCmZ1bmN0aW9uIGdldFJhbmRvbVVybCh1cmxzKSB7DQogICAgdmFyIG1pbkluZGV4 + ID0gMDsNCiAgICB2YXIgbWF4SW5kZXggPSB1cmxzLmxlbmd0aCAtIDAuNTsNCiAgICB2YXIgcmFu + ZG9tSW5kZXggPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAobWF4SW5kZXggLSBtaW5JbmRl + eCkpICsgbWluSW5kZXg7DQogICAgcmV0dXJuIHVybHNbcmFuZG9tSW5kZXhdOw0KfQ0KdmFyIHVy + bHMgPSBbDQogICAgIiIsDQogICAgImh0dHBzOi8vcGMtbWF4Lmh1L3Rlcm1lay1rZXJlc2VzLz9z + ZWFyY2g9KysrIl07DQoNCnZhciByYW5kb21TZWxlY3RlZFVybCA9IGdldFJhbmRvbVVybCh1cmxz + KTsNCg0KJCgiI3ZpdHJpbmUiKS5odG1sKA0KIjxpZnJhbWUgY2xhc3M9J3JhbmRvbS1pZnJhbWUn + IHNyYz0nIiArIHJhbmRvbVNlbGVjdGVkVXJsICsgIicgd2lkdGg9JzAnIGhlaWdodD0nMCcgZnJh + bWVib3JkZXI9JzAnIHNjcm9sbGluZz0nbm8nIHNlYW1sZXNzPSdzZWFtbGVzcyc+PC9pZnJhbWU+ + Iik7DQo8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+PHRpdGxlPkFtZXJpY2FuIEhvcnJvciBTdG9y + eSBmZWxpcmF0PC90aXRsZT4KPHA+PGI+CjxkaXYgY2xhc3M9ImtlcmVzbyIgYWxpZ249ImNlbnRl + ciI+PGZvbnQgY29sb3I9IzAwMDAwMD48Y2VudGVyPlRhbCYjMjI1O2xhdG9rIGVycmUgYSBraWZl + amV6JiMyMzM7c3JlOiAiPC9mb250Pjxmb250IGNvbG9yPSJibHVlIiBzaXplPSIyIj4mbmJzcDtB + bWVyaWNhbiBIb3Jyb3IgU3RvcnkmbmJzcDsxMDAxPC9mb250Pjxmb250IGNvbG9yPSMwMDAwMDA+ + IjwvZm9udD48L2NlbnRlcj48L2Rpdj48L2I+PC9wPgo8dGFibGUgd2lkdGg9IjkzMCIgYm9yZGVy + PSIwIiBiZ2NvbG9yPSIjZGRkZGRkIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiIHZh + bGlnbj0idG9wIj4KPHRyPgo8dGQgdmFsaWduPXRvcD4KPHRhYmxlIHdpZHRoPSIxMzgiIGJvcmRl + cj0iMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSI4IiBjbGFzcz0ic2FtcGxlIj4KPHRy + IGJnY29sb3I9IiNjY2NjY2MiPgo8dGQgYWxpZ249ImNlbnRlciIgd2lkdGg9IjEyMCIgYmFja2dy + b3VuZD0iY3NzL29sZGFsdG9wMS5wbmciPjxiPk9sZGFsYWrhbmzzPC9iPjwvdGQ+CjwvdHI+Cjx0 + ciBiZ2NvbG9yPSIjZTllOWU5Ij4KPHRkPgo8Y2VudGVyPjxhIGhyZWY9Imh0dHBzOi8vemVuZS5o + b3NzenVwdXNrYXN1Yi5jb20iIHRhcmdldD0iX2JsYW5rIj48aW1nIHNyYz0iaHR0cHM6Ly9ob3Nz + enVwdXNrYXN1Yi5jb20vY3NzL3plbmVzemlnZXQuZ2lmIiB3aWR0aD0iMTIwIiBib3JkZXI9IjAi + PjwvYT48L2NlbnRlcj4KPC90ZD4KPC90cj4KPHRyIGJnY29sb3I9IiNjY2NjY2MiPgo8dGQgYWxp + Z249ImNlbnRlciIgd2lkdGg9IjEyMCIgYmFja2dyb3VuZD0iY3NzL29sZGFsdG9wMS5wbmciPjxi + PlR3aXR0ZXI8L2I+PC90ZD4KPC90cj4KPHRyIGJnY29sb3I9IiNlOWU5ZTkiPgo8dGQ+CjxjZW50 + ZXI+CjxhIGhyZWY9Imh0dHBzOi8vdHdpdHRlci5jb20vaG9zc3p1cHVza2FzdWJzIiB0YXJnZXQ9 + Il9ibGFuayI+PGltZyBzcmM9ImNzcy90d2l0dGVyMi5wbmciIGJvcmRlcj0iMCIgd2lkdGg9IjEx + MCI+PC9hPgo8L2NlbnRlcj4KPC90ZD4KPC90cj4KPHRyIGJnY29sb3I9IiNjY2NjY2MiPjx0ZCBh + bGlnbj0iY2VudGVyIiB3aWR0aD0iMTIwIiBzdHlsZT0nYmFja2dyb3VuZC1pbWFnZTp1cmwoY3Nz + L29sZGFsdG9wMS5wbmcpOyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0Oyc+PGI+Rm9yZCZp + YWN1dGU7dCZvYWN1dGU7aSBha3Rpdml0JmFhY3V0ZTtzOjwvYj48L3RkPjwvdHI+Cjx0ciBiZ2Nv + bG9yPSIjZTllOWU5Ij48dGQgYWxpZ249ImxlZnQiPgo8aW1nIHNyYz1jc3MvYXJhbnkucG5nIHdp + ZHRoPTE1PiZuYnNwOzxiPjxmb250IGNvbG9yPSM2NjY2NjY+QW5vbnltdXM8L2I+PGZvbnQgY29s + b3I9IzY2NjY2Nj4oMTAxOCk8L2ZvbnQ+PGhyIGNvbG9yPSNjOWM5Yzkgd2lkdGg9XCIxMjBcIj48 + aW1nIHNyYz1jc3MvZXp1c3QucG5nIHdpZHRoPTE1PiZuYnNwOzxiPjxmb250IGNvbG9yPSM2NjY2 + NjY+Y2Fzc29uZTwvYj48Zm9udCBjb2xvcj0jNjY2NjY2PigzNzMpPC9mb250PjxociBjb2xvcj0j + YzljOWM5IHdpZHRoPVwiMTIwXCI+PGltZyBzcmM9Y3NzL2Jyb256LnBuZyB3aWR0aD0xNT4mbmJz + cDs8Yj48Zm9udCBjb2xvcj0jNjY2NjY2PlN6aWdvbnk8L2I+PGZvbnQgY29sb3I9IzY2NjY2Nj4o + MzUxKTwvZm9udD48aHIgY29sb3I9I2M5YzljOSB3aWR0aD1cIjEyMFwiPjxpbWcgc3JjPWNzcy91 + c2VyLnBuZyB3aWR0aD0xMj4mbmJzcDs8Yj48Zm9udCBjb2xvcj0jNjY2NjY2Pm1hZ2k8L2I+PGZv + bnQgY29sb3I9IzY2NjY2Nj4oMzE5KTwvZm9udD48aHIgY29sb3I9I2M5YzljOSB3aWR0aD1cIjEy + MFwiPjxpbWcgc3JjPWNzcy91c2VyLnBuZyB3aWR0aD0xMj4mbmJzcDs8Yj48Zm9udCBjb2xvcj0j + NjY2NjY2PkNpY01heCAmIE1hWnNvbGE8L2I+PGZvbnQgY29sb3I9IzY2NjY2Nj4oMzE1KTwvZm9u + dD48aHIgY29sb3I9I2M5YzljOSB3aWR0aD1cIjEyMFwiPjxpbWcgc3JjPWNzcy91c2VyLnBuZyB3 + aWR0aD0xMj4mbmJzcDs8Yj48Zm9udCBjb2xvcj0jNjY2NjY2PmdyZWthPC9iPjxmb250IGNvbG9y + PSM2NjY2NjY+KDMwNyk8L2ZvbnQ+PGhyIGNvbG9yPSNjOWM5Yzkgd2lkdGg9XCIxMjBcIj48aW1n + IHNyYz1jc3MvdXNlci5wbmcgd2lkdGg9MTI+Jm5ic3A7PGI+PGZvbnQgY29sb3I9IzY2NjY2Nj5Q + aWxvdDwvYj48Zm9udCBjb2xvcj0jNjY2NjY2PigyODYpPC9mb250PjxociBjb2xvcj0jYzljOWM5 + IHdpZHRoPVwiMTIwXCI+PGltZyBzcmM9Y3NzL3VzZXIucG5nIHdpZHRoPTEyPiZuYnNwOzxiPjxm + b250IGNvbG9yPSM2NjY2NjY+U2FuZGVyczwvYj48Zm9udCBjb2xvcj0jNjY2NjY2PigyNzApPC9m + b250PjxociBjb2xvcj0jYzljOWM5IHdpZHRoPVwiMTIwXCI+PGltZyBzcmM9Y3NzL3VzZXIucG5n + IHdpZHRoPTEyPiZuYnNwOzxiPjxmb250IGNvbG9yPSM2NjY2NjY+SHVuQmF1ZXI8L2I+PGZvbnQg + Y29sb3I9IzY2NjY2Nj4oMjM4KTwvZm9udD48aHIgY29sb3I9I2M5YzljOSB3aWR0aD1cIjEyMFwi + PjxpbWcgc3JjPWNzcy91c2VyLnBuZyB3aWR0aD0xMj4mbmJzcDs8Yj48Zm9udCBjb2xvcj0jNjY2 + NjY2PkNhaW48L2I+PGZvbnQgY29sb3I9IzY2NjY2Nj4oMjMyKTwvZm9udD48aHIgY29sb3I9I2M5 + YzljOSB3aWR0aD1cIjEyMFwiPiA8L3RkPjwvdHI+Cjx0ciBiZ2NvbG9yPSIjY2NjY2NjIj4KPHRk + IGFsaWduPSJjZW50ZXIiIHdpZHRoPSIxMjAiIHN0eWxlPSdiYWNrZ3JvdW5kLWltYWdlOnVybChj + c3Mvb2xkYWx0b3AxLnBuZyk7IGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7Jz48Yj5MZWdq + b2JiIGZlbHQmIzI0NjtsdCZvdGlsZGU7azo8L2I+PC90ZD4KPC90cj4KPHRyIGJnY29sb3I9IiNl + OWU5ZTkiPgo8dGQgYWxpZ249ImxlZnQiPgo8aW1nIHNyYz1jc3MvYXJhbnkucG5nIHdpZHRoPSIx + NSI+Jm5ic3A7PGI+PGZvbnQgY29sb3I9IzY2NjY2Nj5GcmVlZG9tPC9iPjxmb250IGNvbG9yPSM2 + NjY2NjY+KDI4ODY0KTwvZm9udD48aHIgY29sb3I9I2M5YzljOSB3aWR0aD0iMTAwIj48aW1nIHNy + Yz1jc3MvZXp1c3QucG5nIHdpZHRoPSIxNSI+Jm5ic3A7PGI+PGZvbnQgY29sb3I9IzY2NjY2Nj5D + c+ljc2k8L2I+PGZvbnQgY29sb3I9IzY2NjY2Nj4oMTE1NTkpPC9mb250PjxociBjb2xvcj0jYzlj + OWM5IHdpZHRoPSIxMDAiPjxpbWcgc3JjPWNzcy9icm9uei5wbmcgd2lkdGg9IjE1Ij4mbmJzcDs8 + Yj48Zm9udCBjb2xvcj0jNjY2NjY2PlBpbG90PC9iPjxmb250IGNvbG9yPSM2NjY2NjY+KDc1OTMp + PC9mb250PjxociBjb2xvcj0jYzljOWM5IHdpZHRoPSIxMDAiPjxpbWcgc3JjPWNzcy91c2VyLnBu + ZyB3aWR0aD0iMTIiPiZuYnNwOzxiPjxmb250IGNvbG9yPSM2NjY2NjY+YW5vbnltdXM8L2I+PGZv + bnQgY29sb3I9IzY2NjY2Nj4oNjg0NCk8L2ZvbnQ+PGhyIGNvbG9yPSNjOWM5Yzkgd2lkdGg9IjEw + MCI+PGltZyBzcmM9Y3NzL3VzZXIucG5nIHdpZHRoPSIxMiI+Jm5ic3A7PGI+PGZvbnQgY29sb3I9 + IzY2NjY2Nj5TemFraTwvYj48Zm9udCBjb2xvcj0jNjY2NjY2PigyNjQwKTwvZm9udD48aHIgY29s + b3I9I2M5YzljOSB3aWR0aD0iMTAwIj48aW1nIHNyYz1jc3MvdXNlci5wbmcgd2lkdGg9IjEyIj4m + bmJzcDs8Yj48Zm9udCBjb2xvcj0jNjY2NjY2PkFub255bW91czwvYj48Zm9udCBjb2xvcj0jNjY2 + NjY2PigyNDIzKTwvZm9udD48aHIgY29sb3I9I2M5YzljOSB3aWR0aD0iMTAwIj48aW1nIHNyYz1j + c3MvdXNlci5wbmcgd2lkdGg9IjEyIj4mbmJzcDs8Yj48Zm9udCBjb2xvcj0jNjY2NjY2PlN6aWdv + bnk8L2I+PGZvbnQgY29sb3I9IzY2NjY2Nj4oMTAxMyk8L2ZvbnQ+PGhyIGNvbG9yPSNjOWM5Yzkg + d2lkdGg9IjEwMCI+PGltZyBzcmM9Y3NzL3VzZXIucG5nIHdpZHRoPSIxMiI+Jm5ic3A7PGI+PGZv + bnQgY29sb3I9IzY2NjY2Nj5jYXNzb25lPC9iPjxmb250IGNvbG9yPSM2NjY2NjY+KDkxMik8L2Zv + bnQ+PGhyIGNvbG9yPSNjOWM5Yzkgd2lkdGg9IjEwMCI+PGltZyBzcmM9Y3NzL3VzZXIucG5nIHdp + ZHRoPSIxMiI+Jm5ic3A7PGI+PGZvbnQgY29sb3I9IzY2NjY2Nj5lc3p0aWNzaWxsYWc8L2I+PGZv + bnQgY29sb3I9IzY2NjY2Nj4oNTYwKTwvZm9udD48aHIgY29sb3I9I2M5YzljOSB3aWR0aD0iMTAw + Ij48aW1nIHNyYz1jc3MvdXNlci5wbmcgd2lkdGg9IjEyIj4mbmJzcDs8Yj48Zm9udCBjb2xvcj0j + NjY2NjY2Pkx1bmFTb2w8L2I+PGZvbnQgY29sb3I9IzY2NjY2Nj4oNDk0KTwvZm9udD48aHIgY29s + b3I9I2M5YzljOSB3aWR0aD0iMTAwIj48aW1nIHNyYz1jc3MvdXNlci5wbmcgd2lkdGg9IjEyIj4m + bmJzcDs8Yj48Zm9udCBjb2xvcj0jNjY2NjY2PkNhc2g8L2I+PGZvbnQgY29sb3I9IzY2NjY2Nj4o + NDc0KTwvZm9udD48aHIgY29sb3I9I2M5YzljOSB3aWR0aD0iMTAwIj48aW1nIHNyYz1jc3MvdXNl + ci5wbmcgd2lkdGg9IjEyIj4mbmJzcDs8Yj48Zm9udCBjb2xvcj0jNjY2NjY2PkNpY01heCAmIE1h + WnNvbGE8L2I+PGZvbnQgY29sb3I9IzY2NjY2Nj4oNDQ4KTwvZm9udD48aHIgY29sb3I9I2M5Yzlj + OSB3aWR0aD0iMTAwIj48aW1nIHNyYz1jc3MvdXNlci5wbmcgd2lkdGg9IjEyIj4mbmJzcDs8Yj48 + Zm9udCBjb2xvcj0jNjY2NjY2PlN6ZXB5PC9iPjxmb250IGNvbG9yPSM2NjY2NjY+KDQ0Nyk8L2Zv + bnQ+PGhyIGNvbG9yPSNjOWM5Yzkgd2lkdGg9IjEwMCI+CjwvdGQ+CjwvdHI+Cjx0ciBiZ2NvbG9y + PSIjY2NjY2NjIj4KPHRkIGFsaWduPSJjZW50ZXIiIHdpZHRoPSIxMjAiIHN0eWxlPSdiYWNrZ3Jv + dW5kLWltYWdlOnVybChjc3Mvb2xkYWx0b3AxLnBuZyk7IGJhY2tncm91bmQtcmVwZWF0OiBuby1y + ZXBlYXQ7Jz48Yj5NYWkgNSBsZWduJmVhY3V0ZTt6ZXR0ZWJiOjwvYj48L3RkPgo8L3RyPgo8dHIg + Ymdjb2xvcj0iI2U5ZTllOSI+Cjx0ZD4KPHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2lu + Zz0iMCIgYm9yZGVyPSIwIiBiZ2NvbG9yPSIjOEY5QTlFIiB2YWxpZ249InRvcCIgd2lkdGg9IjEw + MCUiPjx0ciBiZ2NvbG9yPSIjRTlFOUU5Ij48dGQgYWxpZ249ImxlZnQiPjxpbWcgc3JjPSdjc3Mv + a2lza2VwL21hcnZlbHN0aGVwdW5pc2hlci5wbmcnIHdpZHRoPScxMDAnPjxicj48Yj48YSBocmVm + PWRvd25sb2FkLnBocD9maWxlPTAwODUxOTQuemlwIGlkPW1lbnV0b3BsZXRvbHQ+PGZvbnQgY29s + b3I9IzY2NjY2Nj5NYXJ2ZWwncyBUaGUgUHVuaXNoZXIgczAxZTA5ICh3ZWJyaXAtcmFyYmcsIHdl + Yi1zdHJpZmUsIHdlYi1hZmcsIHdlYi1ybXRlYW0sIG5mIHdlYnJpcC1udGIsIHdlYnJpcC1wc2Es + IHdlYnJpcC1ybXRlYW0sIG5mIHdlYiBkbC1ybXRlYW0sIHdlYiBkbC1ybXRlYW0pPC9mb250Pjwv + Yj48L2E+PGhyIGNvbG9yPSNjY2NjY2M+PGJyPjxpbWcgc3JjPSdjc3Mva2lza2VwL2RhcmsucG5n + JyB3aWR0aD0nMTAwJz48YnI+PGI+PGEgaHJlZj1kb3dubG9hZC5waHA/ZmlsZT0wMDg1MTk1Lnpp + cCBpZD1tZW51dG9wbGV0b2x0Pjxmb250IGNvbG9yPSM2NjY2NjY+RGFyayBzMDFlMTAgKHdlYnJp + cC1yYXJiZywgd2VicmlwLXN0cmlmZSwgd2VicmlwLWFmZywgd2VicmlwLXJtdGVhbSwgaW50ZXJu + YWwgd2ViLXN0cmlmZSwgaW50ZXJuYWwgd2ViLXJtdGVhbSk8L2ZvbnQ+PC9iPjwvYT48aHIgY29s + b3I9I2NjY2NjYz48YnI+PGltZyBzcmM9J2Nzcy9raXNrZXAvc2hhbWVsZXNzdXMucG5nJyB3aWR0 + aD0nMTAwJz48YnI+PGI+PGEgaHJlZj1kb3dubG9hZC5waHA/ZmlsZT0wMDg1MTc5LnppcCBpZD1t + ZW51dG9wbGV0b2x0Pjxmb250IGNvbG9yPSM2NjY2NjY+U2hhbWVsZXNzIChVUykgczA4ZTA2ICh3 + ZWJyaXAtcmFyYmcsIHdlYi1zdHJpZmUsIHdlYi1hZmcsIHdlYi1jb252b3ksIHdlYi1ybXRlYW0s + IGFtem4gd2VicmlwLW50YiwgYW16biB3ZWIgZGwtbnRiLCB3ZWIgZGwtcm10ZWFtKTwvZm9udD48 + L2I+PC9hPjxociBjb2xvcj0jY2NjY2NjPjxicj48aW1nIHNyYz0nY3NzL2tpc2tlcC9uY2lzLnBu + Zycgd2lkdGg9JzEwMCc+PGJyPjxiPjxhIGhyZWY9ZG93bmxvYWQucGhwP2ZpbGU9MDA4NTE5Ni56 + aXAgaWQ9bWVudXRvcGxldG9sdD48Zm9udCBjb2xvcj0jNjY2NjY2Pk5DSVMgczE1ZTEwIChoZHR2 + LWxvbCwgaGR0di1hZmcsIGhkdHYtcm14LCA3MjBwLWRpbWVuc2lvbiwgNzIwcC1wc2EsIDcyMHAt + cm10ZWFtLCAxMDgwcC1kaW1lbnNpb24sIDEwODBwLXJtdGVhbSk8L2ZvbnQ+PC9iPjwvYT48aHIg + Y29sb3I9I2NjY2NjYz48YnI+PGltZyBzcmM9J2Nzcy9raXNrZXAvaGF3YWlpZml2ZTAucG5nJyB3 + aWR0aD0nMTAwJz48YnI+PGI+PGEgaHJlZj1kb3dubG9hZC5waHA/ZmlsZT0wMDg1MjAxLnppcCBp + ZD1tZW51dG9wbGV0b2x0Pjxmb250IGNvbG9yPSM2NjY2NjY+SGF3YWlpIEZpdmUtMCBzMDhlMDcg + KGhkdHYtbG9sLCBoZHR2LWFmZywgaGR0di1ybXgsIDcyMHAtZGltZW5zaW9uLCA3MjBwLXBzYSwg + NzIwcC1ybXRlYW0sIDEwODBwLWRpbWVuc2lvbiwgMTA4MHAtcm10ZWFtKTwvZm9udD48L2I+PC9h + PjxociBjb2xvcj0jY2NjY2NjPjxicj48L3RkPjwvdHI+PC90YWJsZT4gPC90ZD4KPC90cj4KPHRy + IGJnY29sb3I9IiNjY2NjY2MiPgo8dGQgYWxpZ249ImNlbnRlciIgd2lkdGg9IjEyMCIgc3R5bGU9 + J2JhY2tncm91bmQtaW1hZ2U6dXJsKGNzcy9vbGRhbHRvcDEucG5nKTsgYmFja2dyb3VuZC1yZXBl + YXQ6IG5vLXJlcGVhdDsnPjxiPlNvcm96YXRhaiZhYWN1dGU7bmwmb2FjdXRlOzo8L2I+PC90ZD4K + PC90cj4KPHRyIGJnY29sb3I9IiNlOWU5ZTkiPgo8dGQ+IDwvdGQ+CjwvdHI+Cjx0ciBiZ2NvbG9y + PSIjY2NjY2NjIj4KPHRkIGFsaWduPSJjZW50ZXIiIHdpZHRoPSIxMjAiIHN0eWxlPSdiYWNrZ3Jv + dW5kLWltYWdlOnVybChjc3Mvb2xkYWx0b3AxLnBuZyk7IGJhY2tncm91bmQtcmVwZWF0OiBuby1y + ZXBlYXQ7Jz48Yj5IJmlhY3V0ZTtyZWs6PC9iPjwvdGQ+CjwvdHI+Cjx0ciBiZ2NvbG9yPSIjZTll + OWU5Ij4KPHRkPiA8L3RkPgo8L3RyPgo8dHI+Cjx0ZCB2YWxpZ249dG9wIHN0eWxlPSdiYWNrZ3Jv + dW5kLWNvbG9yOiAjZGRkZGRkOyc+CjwvdGQ+CjwvdHI+CjwvdGFibGU+CjwvdGQ+Cjx0ZCB2YWxp + Z249InRvcCI+CjxkaXYgaWQ9ImZiLXJvb3QiPjwvZGl2Pgo8c2NyaXB0PihmdW5jdGlvbihkLCBz + LCBpZCkgew0KICB2YXIganMsIGZqcyA9IGQuZ2V0RWxlbWVudHNCeVRhZ05hbWUocylbMF07DQog + IGlmIChkLmdldEVsZW1lbnRCeUlkKGlkKSkgcmV0dXJuOw0KICBqcyA9IGQuY3JlYXRlRWxlbWVu + dChzKTsganMuaWQgPSBpZDsNCiAganMuc3JjID0gIi8vY29ubmVjdC5mYWNlYm9vay5uZXQvaHVf + SFUvc2RrLmpzI3hmYm1sPTEmdmVyc2lvbj12Mi4wIjsNCiAgZmpzLnBhcmVudE5vZGUuaW5zZXJ0 + QmVmb3JlKGpzLCBmanMpOw0KfShkb2N1bWVudCwgJ3NjcmlwdCcsICdmYWNlYm9vay1qc3Nkaycp + KTs8L3NjcmlwdD4KPGNlbnRlcj48aW1nIHNyYz0naHR0cHM6Ly93d3cuaG9zc3p1cHVza2FzdWIu + Y29tL2Nzcy9mZWxzb3Nvci5qcGcnIHdpZHRoPScxMDAlJyBoZWlnaHQ9JzEwJyBib3JkZXI9JzAn + PjwvY2VudGVyPgo8Y2VudGVyPjxpZnJhbWUgc3JjPSJodHRwczovL3d3dy53ZWJtb292aWVzLmNv + bS9pbmRleC5waHA/bWVudT1ocF9zbWFydGJhciIgd2lkdGg9IjY1MCIgaGVpZ2h0PSIxMzAiIGZy + YW1lYm9yZGVyPSIwIiBzY3JvbGxpbmc9Im5vIj48L2lmcmFtZT48L2NlbnRlcj4KPGNlbnRlcj48 + aW1nIHNyYz0naHR0cHM6Ly93d3cuaG9zc3p1cHVza2FzdWIuY29tL2Nzcy9mZWxzb3Nvci5qcGcn + IHdpZHRoPScxMDAlJyBoZWlnaHQ9JzEwJyBib3JkZXI9JzAnPjwvY2VudGVyPgo8YSBocmVmPSJo + aXJkZXRlcy5waHAiPjxpbWcgc3JjPSJjc3MvaGlyZGVzczY2MC5wbmciIGJvcmRlcj0iMCI+PC9h + PgoKPGNlbnRlcj48aW1nIHNyYz0naHR0cDovL3d3dy5ob3NzenVwdXNrYXN1Yi5jb20vY3NzL2Zl + bHNvc29yLmpwZycgd2lkdGg9JzEwMCUnIGhlaWdodD0nMTAnIGJvcmRlcj0nMCc+PC9jZW50ZXI+ + PGNlbnRlcj48Zm9udCBzaXplPSczJz48Yj4tPSBMZWdmcmlzc2ViYiBzb3JvemF0IGZlbGlyYXRv + ayA9LTwvYj48L2ZvbnQ+PC9jZW50ZXI+Cjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBj + ZWxsc3BhY2luZz0iMiIgY2VsbHBhZGRpbmc9IjciPgo8dHIgYmdjb2xvcj0iI2NjY2NjYyI+Cjx0 + ZCBhbGlnbj0ibGVmdCI+PGltZyBzcmM9ImNzcy9sb2dvLnBuZyI+PC90ZD4KPHRkIGFsaWduPSJs + ZWZ0IiB3aWR0aD0nMTAwJSc+PGltZyBzcmM9ImNzcy9zb3JjaW0yLnBuZyI+PC90ZD4KPHRkIGFs + aWduPSJjZW50ZXIiIHdpZHRoPScxMDAnPjxjZW50ZXI+PGltZyBzcmM9ImNzcy9ueWVsdi5wbmci + PjwvdGQ+Cjx0ZCBhbGlnbj0iY2VudGVyIiB3aWR0aD0nMTAwJz48Y2VudGVyPjxpbWcgc3JjPSJj + c3MvZm9yZGl0by5wbmciPjwvdGQ+Cjx0ZCBhbGlnbj0nY2VudGVyJz48aW1nIHNyYz0iY3NzL2Rh + dHVtLnBuZyI+PC90ZD4KPHRkIGFsaWduPSJjZW50ZXIiPjxpbWcgc3JjPSJjc3MvaW5mbzIucG5n + Ij48L3RkPgo8dGQgYWxpZ249ImNlbnRlciI+PC90ZD48L3RyPjwvdGQ+PC90cj4KPHRyIGJnY29s + b3I9IiNFOUU5RTkiIG9ubW91c2VvdmVyPSJ0aGlzLnN0eWxlLmJhY2tncm91bmRJbWFnZT0ndXJs + KGNzcy9vdmVyLmpwZyknOyIgb25tb3VzZW91dD0idGhpcy5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2U9 + J3VybChjc3Mvb3ZlcjIuanBnKSc7Ij4KPHRkIGFsaWduPSdjZW50ZXInPjxhIGhyZWY9InNvcm96 + YXRvay5waHA/c2VyaWFsPWFtZXJpY2FuaG9ycm9yc3RvcnkiPjxpbWcgc3JjPSJjc3MvYm9yaXRv + L2FtZXJpY2FuaG9ycm9yc3RvcnkucG5nIiB3aWR0aD0iODAiIGJvcmRlcj0iMCI+PC9hPjwvdGQ+ + Cjx0ZCBhbGlnbj0nbGVmdCc+PGEgaHJlZj0namF2YXNjcmlwdDpjb2xsYXBzZVRyKCJjb2xsYXBz + ZV9yb3dfMTMxMzU0Iik7IGFqYXhfcGFyc2VyKDEzMTM1NCwiY29sbGFwc2VfY29sXzEzMTM1NCIp + OycgaWQ9Im1lbnUiPjxiPkFtZXJpY2FuIEhvcnJvciBTdG9yeSBzMTBlMDE8L2I+PC9hPjxicj5B + bWVyaWNhbiBIb3Jyb3IgU3RvcnkgczEwZTAxIChhbXpuIHdlYnJpcC1udGIsIGFtem4gd2ViIGRs + LW50YikKPGJyPjxicj48YnI+Cjxicj4KPC90ZD4KPHRkIGFsaWduPSdjZW50ZXInPjxpbWcgc3Jj + PSdmbGFncy8xLmdpZicgYWx0PScnIGJvcmRlcj0nMCcgLz48L3RkPgo8dGQgYWxpZ249J2NlbnRl + cic+S2FpPC90ZD4KPHRkIGFsaWduPSdjZW50ZXInPjIwMjEtMDktMDE8L3RkPgo8dGQgYWxpZ249 + J2xlZnQnIHdpZHRoPSI4MCI+Cjx0YWJsZT48dHI+PGEgaHJlZj0naHR0cDovL2luZm8uaG9zc3p1 + cHVza2FzdWIuY29tL2tlcmVzZXM/cT1BbWVyaWNhbiBIb3Jyb3IgU3RvcnknIHRhcmdldD0nX2Js + YW5rJz48aW1nIHN0eWxlPSJmbG9hdDpsZWZ0OyB3aWR0aDo3MHB4OyAgbWFyZ2luLXJpZ2h0OjBw + eCIgYm9yZGVyPSIwIiBhbHQ9ImluZm8uaG9zc3p1cHVza2FzdWIuY29tIC0gZmlsbWVrLCBzb3Jv + emF0b2sgYWRhdGLDoXppc2EiIHNyYz0iY3NzL2luZm9vbGRhbC5wbmciPjwvYT48YnI+PGJyPjxi + cj48YSBocmVmPSdodHRwOi8vd2VibW9vdmllcy5jb20vc2hvdy9BbWVyaWNhbi1Ib3Jyb3ItU3Rv + cnknIHRhcmdldD0nX2JsYW5rJz48aW1nIHNyYz0nY3NzL3ZpZGVvd2ViLnBuZycgd2lkdGg9Jzcw + JyBoZWlnaHQ9JzI4Jz48L2E+PGJyPjxicj48YSBocmVmPSJodHRwczovL3d3dy5mYWNlYm9vay5j + b20vc2hhcmVyL3NoYXJlci5waHA/dT1odHRwOi8vaG9zc3p1cHVza2FzdWIuY29tL2FkYXRsYXAu + cGhwP2RhdGFfaWQ9MTMxMzU0IiB0YXJnZXQ9Il9ibGFuayI+PGltZyBzcmM9ImNzcy9mc2hhcmUu + cG5nIiB3aWR0aD0iNjgiIGJvcmRlcj0iMCI+PC9hPgo8L3RyPgo8L3RhYmxlPjwvdGQ+Cjx0ZCBh + bGlnbj0nY2VudGVyJz48YSBocmVmPSJodHRwczovL2FkZi5seS8yNjYzMjg4L2h0dHA6Ly9ob3Nz + enVwdXNrYXN1Yi5jb20vZG93bmxvYWQucGhwP2ZpbGU9MDEyNDMzNi56aXAiIHRhcmdldD0iX2Js + YW5rIj48aW1nIHNyYz0iY3NzL2Rvd25sb2FkYWRmbHkyLnBuZyIgaWQ9ImNvbGxhcHNlX3BpY18x + MzEzNTQiIGJvcmRlcj0iMCI+PC9hPjxicj48YnI+PGEgaHJlZj0naHR0cDovL2hvc3N6dXB1c2th + c3ViLmNvbS9kb3dubG9hZC5waHA/ZmlsZT0wMTI0MzM2LnppcCcgdGFyZ2V0PSJfcGFyZW50Ij48 + aW1nIHNyYz0iY3NzL2Rvd25sb2FkLmdpZiIgaWQ9ImNvbGxhcHNlX3BpY18xMzEzNTQiIGJvcmRl + cj0iMCI+PC9hPjwvdGQ+CjwvdHI+Cjx0ciBzdHlsZT0nZGlzcGxheTogbm9uZTsnIGJnY29sb3I9 + IiNFNkZGQzYiIGlkPSJjb2xsYXBzZV9yb3dfMTMxMzU0Ij4KPHRkIGNvbHNwYW49IjciIGFsaWdu + PSdjZW50ZXInIGlkPSJjb2xsYXBzZV9jb2xfMTMxMzU0Ij48aW1nIHNyYz0iY3NzL2xvYWRpbmcu + Z2lmIj48L3RkPgo8L3RyPgo8dHIgYmdjb2xvcj0iI0U5RTlFOSIgb25tb3VzZW92ZXI9InRoaXMu + c3R5bGUuYmFja2dyb3VuZEltYWdlPSd1cmwoY3NzL292ZXIuanBnKSc7IiBvbm1vdXNlb3V0PSJ0 + aGlzLnN0eWxlLmJhY2tncm91bmRJbWFnZT0ndXJsKGNzcy9vdmVyMi5qcGcpJzsiPgo8dGQgYWxp + Z249J2NlbnRlcic+PGEgaHJlZj0ic29yb3phdG9rLnBocD9zZXJpYWw9YW1lcmljYW5ob3Jyb3Jz + dG9yeSI+PGltZyBzcmM9ImNzcy9ib3JpdG8vYW1lcmljYW5ob3Jyb3JzdG9yeS5wbmciIHdpZHRo + PSI4MCIgYm9yZGVyPSIwIj48L2E+PC90ZD4KPHRkIGFsaWduPSdsZWZ0Jz48YSBocmVmPSdqYXZh + c2NyaXB0OmNvbGxhcHNlVHIoImNvbGxhcHNlX3Jvd18xMzEzNTMiKTsgYWpheF9wYXJzZXIoMTMx + MzUzLCJjb2xsYXBzZV9jb2xfMTMxMzUzIik7JyBpZD0ibWVudSI+PGI+QW1lcmljYW4gSG9ycm9y + IFN0b3J5IHMxMGUwMTwvYj48L2E+PGJyPkFtZXJpY2FuIEhvcnJvciBTdG9yeSBzMTBlMDEgKGFt + em4gd2VicmlwLWZsdXgsIGFtem4gd2ViIGRsLWZsdXgsIHdlYi1nbGhmLCB3ZWItZ2dleikKPGJy + Pjxicj48YnI+Cjxicj4KPC90ZD4KPHRkIGFsaWduPSdjZW50ZXInPjxpbWcgc3JjPSdmbGFncy8x + LmdpZicgYWx0PScnIGJvcmRlcj0nMCcgLz48L3RkPgo8dGQgYWxpZ249J2NlbnRlcic+S2FpPC90 + ZD4KPHRkIGFsaWduPSdjZW50ZXInPjIwMjEtMDktMDE8L3RkPgo8dGQgYWxpZ249J2xlZnQnIHdp + ZHRoPSI4MCI+Cjx0YWJsZT48dHI+PGEgaHJlZj0naHR0cDovL2luZm8uaG9zc3p1cHVza2FzdWIu + Y29tL2tlcmVzZXM/cT1BbWVyaWNhbiBIb3Jyb3IgU3RvcnknIHRhcmdldD0nX2JsYW5rJz48aW1n + IHN0eWxlPSJmbG9hdDpsZWZ0OyB3aWR0aDo3MHB4OyAgbWFyZ2luLXJpZ2h0OjBweCIgYm9yZGVy + PSIwIiBhbHQ9ImluZm8uaG9zc3p1cHVza2FzdWIuY29tIC0gZmlsbWVrLCBzb3JvemF0b2sgYWRh + dGLDoXppc2EiIHNyYz0iY3NzL2luZm9vbGRhbC5wbmciPjwvYT48YnI+PGJyPjxicj48YSBocmVm + PSdodHRwOi8vd2VibW9vdmllcy5jb20vc2hvdy9BbWVyaWNhbi1Ib3Jyb3ItU3RvcnknIHRhcmdl + dD0nX2JsYW5rJz48aW1nIHNyYz0nY3NzL3ZpZGVvd2ViLnBuZycgd2lkdGg9JzcwJyBoZWlnaHQ9 + JzI4Jz48L2E+PGJyPjxicj48YSBocmVmPSJodHRwczovL3d3dy5mYWNlYm9vay5jb20vc2hhcmVy + L3NoYXJlci5waHA/dT1odHRwOi8vaG9zc3p1cHVza2FzdWIuY29tL2FkYXRsYXAucGhwP2RhdGFf + aWQ9MTMxMzUzIiB0YXJnZXQ9Il9ibGFuayI+PGltZyBzcmM9ImNzcy9mc2hhcmUucG5nIiB3aWR0 + aD0iNjgiIGJvcmRlcj0iMCI+PC9hPgo8L3RyPgo8L3RhYmxlPjwvdGQ+Cjx0ZCBhbGlnbj0nY2Vu + dGVyJz48YSBocmVmPSJodHRwczovL2FkZi5seS8yNjYzMjg4L2h0dHA6Ly9ob3NzenVwdXNrYXN1 + Yi5jb20vZG93bmxvYWQucGhwP2ZpbGU9MDEyNDMzNS56aXAiIHRhcmdldD0iX2JsYW5rIj48aW1n + IHNyYz0iY3NzL2Rvd25sb2FkYWRmbHkyLnBuZyIgaWQ9ImNvbGxhcHNlX3BpY18xMzEzNTMiIGJv + cmRlcj0iMCI+PC9hPjxicj48YnI+PGEgaHJlZj0naHR0cDovL2hvc3N6dXB1c2thc3ViLmNvbS9k + b3dubG9hZC5waHA/ZmlsZT0wMTI0MzM1LnppcCcgdGFyZ2V0PSJfcGFyZW50Ij48aW1nIHNyYz0i + Y3NzL2Rvd25sb2FkLmdpZiIgaWQ9ImNvbGxhcHNlX3BpY18xMzEzNTMiIGJvcmRlcj0iMCI+PC9h + PjwvdGQ+CjwvdHI+Cjx0ciBzdHlsZT0nZGlzcGxheTogbm9uZTsnIGJnY29sb3I9IiNFNkZGQzYi + IGlkPSJjb2xsYXBzZV9yb3dfMTMxMzUzIj4KPHRkIGNvbHNwYW49IjciIGFsaWduPSdjZW50ZXIn + IGlkPSJjb2xsYXBzZV9jb2xfMTMxMzUzIj48aW1nIHNyYz0iY3NzL2xvYWRpbmcuZ2lmIj48L3Rk + Pgo8L3RyPgo8dHIgYmdjb2xvcj0iI0U5RTlFOSIgb25tb3VzZW92ZXI9InRoaXMuc3R5bGUuYmFj + a2dyb3VuZEltYWdlPSd1cmwoY3NzL292ZXIuanBnKSc7IiBvbm1vdXNlb3V0PSJ0aGlzLnN0eWxl + LmJhY2tncm91bmRJbWFnZT0ndXJsKGNzcy9vdmVyMi5qcGcpJzsiPgo8dGQgYWxpZ249J2NlbnRl + cic+PGEgaHJlZj0ic29yb3phdG9rLnBocD9zZXJpYWw9YW1lcmljYW5ob3Jyb3JzdG9yeSI+PGlt + ZyBzcmM9ImNzcy9ib3JpdG8vYW1lcmljYW5ob3Jyb3JzdG9yeS5wbmciIHdpZHRoPSI4MCIgYm9y + ZGVyPSIwIj48L2E+PC90ZD4KPHRkIGFsaWduPSdsZWZ0Jz48YSBocmVmPSdqYXZhc2NyaXB0OmNv + bGxhcHNlVHIoImNvbGxhcHNlX3Jvd18xMzEzNTEiKTsgYWpheF9wYXJzZXIoMTMxMzUxLCJjb2xs + YXBzZV9jb2xfMTMxMzUxIik7JyBpZD0ibWVudSI+PGI+QW1lcmljYW4gSG9ycm9yIFN0b3J5IHMx + MGUwMTwvYj48L2E+PGJyPkFtZXJpY2FuIEhvcnJvciBTdG9yeSBzMTBlMDEgKGhkdHYtY3JpbXNv + biwgaGR0di1hZmcsIDcyMHAtY3JpbXNvbikKPGJyPjxicj48YnI+Cjxicj4KPC90ZD4KPHRkIGFs + aWduPSdjZW50ZXInPjxpbWcgc3JjPSdmbGFncy8xLmdpZicgYWx0PScnIGJvcmRlcj0nMCcgLz48 + L3RkPgo8dGQgYWxpZ249J2NlbnRlcic+S2FpPC90ZD4KPHRkIGFsaWduPSdjZW50ZXInPjIwMjEt + MDgtMzE8L3RkPgo8dGQgYWxpZ249J2xlZnQnIHdpZHRoPSI4MCI+Cjx0YWJsZT48dHI+PGEgaHJl + Zj0naHR0cDovL2luZm8uaG9zc3p1cHVza2FzdWIuY29tL2tlcmVzZXM/cT1BbWVyaWNhbiBIb3Jy + b3IgU3RvcnknIHRhcmdldD0nX2JsYW5rJz48aW1nIHN0eWxlPSJmbG9hdDpsZWZ0OyB3aWR0aDo3 + MHB4OyAgbWFyZ2luLXJpZ2h0OjBweCIgYm9yZGVyPSIwIiBhbHQ9ImluZm8uaG9zc3p1cHVza2Fz + dWIuY29tIC0gZmlsbWVrLCBzb3JvemF0b2sgYWRhdGLDoXppc2EiIHNyYz0iY3NzL2luZm9vbGRh + bC5wbmciPjwvYT48YnI+PGJyPjxicj48YSBocmVmPSdodHRwOi8vd2VibW9vdmllcy5jb20vc2hv + dy9BbWVyaWNhbi1Ib3Jyb3ItU3RvcnknIHRhcmdldD0nX2JsYW5rJz48aW1nIHNyYz0nY3NzL3Zp + ZGVvd2ViLnBuZycgd2lkdGg9JzcwJyBoZWlnaHQ9JzI4Jz48L2E+PGJyPjxicj48YSBocmVmPSJo + dHRwczovL3d3dy5mYWNlYm9vay5jb20vc2hhcmVyL3NoYXJlci5waHA/dT1odHRwOi8vaG9zc3p1 + cHVza2FzdWIuY29tL2FkYXRsYXAucGhwP2RhdGFfaWQ9MTMxMzUxIiB0YXJnZXQ9Il9ibGFuayI+ + PGltZyBzcmM9ImNzcy9mc2hhcmUucG5nIiB3aWR0aD0iNjgiIGJvcmRlcj0iMCI+PC9hPgo8L3Ry + Pgo8L3RhYmxlPjwvdGQ+Cjx0ZCBhbGlnbj0nY2VudGVyJz48YSBocmVmPSJodHRwczovL2FkZi5s + eS8yNjYzMjg4L2h0dHA6Ly9ob3NzenVwdXNrYXN1Yi5jb20vZG93bmxvYWQucGhwP2ZpbGU9MDEy + NDMzMy56aXAiIHRhcmdldD0iX2JsYW5rIj48aW1nIHNyYz0iY3NzL2Rvd25sb2FkYWRmbHkyLnBu + ZyIgaWQ9ImNvbGxhcHNlX3BpY18xMzEzNTEiIGJvcmRlcj0iMCI+PC9hPjxicj48YnI+PGEgaHJl + Zj0naHR0cDovL2hvc3N6dXB1c2thc3ViLmNvbS9kb3dubG9hZC5waHA/ZmlsZT0wMTI0MzMzLnpp + cCcgdGFyZ2V0PSJfcGFyZW50Ij48aW1nIHNyYz0iY3NzL2Rvd25sb2FkLmdpZiIgaWQ9ImNvbGxh + cHNlX3BpY18xMzEzNTEiIGJvcmRlcj0iMCI+PC9hPjwvdGQ+CjwvdHI+Cjx0ciBzdHlsZT0nZGlz + cGxheTogbm9uZTsnIGJnY29sb3I9IiNFNkZGQzYiIGlkPSJjb2xsYXBzZV9yb3dfMTMxMzUxIj4K + PHRkIGNvbHNwYW49IjciIGFsaWduPSdjZW50ZXInIGlkPSJjb2xsYXBzZV9jb2xfMTMxMzUxIj48 + aW1nIHNyYz0iY3NzL2xvYWRpbmcuZ2lmIj48L3RkPgo8L3RyPgo8dHIgYmdjb2xvcj0iI0U5RTlF + OSIgb25tb3VzZW92ZXI9InRoaXMuc3R5bGUuYmFja2dyb3VuZEltYWdlPSd1cmwoY3NzL292ZXIu + anBnKSc7IiBvbm1vdXNlb3V0PSJ0aGlzLnN0eWxlLmJhY2tncm91bmRJbWFnZT0ndXJsKGNzcy9v + dmVyMi5qcGcpJzsiPgo8dGQgYWxpZ249J2NlbnRlcic+PGEgaHJlZj0ic29yb3phdG9rLnBocD9z + ZXJpYWw9YW1lcmljYW5ob3Jyb3JzdG9yeSI+PGltZyBzcmM9ImNzcy9ib3JpdG8vYW1lcmljYW5o + b3Jyb3JzdG9yeS5wbmciIHdpZHRoPSI4MCIgYm9yZGVyPSIwIj48L2E+PC90ZD4KPHRkIGFsaWdu + PSdsZWZ0Jz48YSBocmVmPSdqYXZhc2NyaXB0OmNvbGxhcHNlVHIoImNvbGxhcHNlX3Jvd18xMzEy + NzAiKTsgYWpheF9wYXJzZXIoMTMxMjcwLCJjb2xsYXBzZV9jb2xfMTMxMjcwIik7JyBpZD0ibWVu + dSI+PGI+QW1lcmljYW4gSG9ycm9yIFN0b3J5IHMxMGUwMTwvYj48L2E+PGJyPkFtZXJpY2FuIEhv + cnJvciBTdG9yeSBzMTBlMDEgKGhkdHYtY3JpbXNvbiwgaGR0di1hZmcsIGhkdHYtcm14LCA3MjBw + LWNyaW1zb24sIDcyMHAtcHNhLCA3MjBwLXJtdGVhbSkKPGJyPjxicj48YnI+Cjxicj4KPC90ZD4K + PHRkIGFsaWduPSdjZW50ZXInPjxpbWcgc3JjPSdmbGFncy8yLmdpZicgYWx0PScnIGJvcmRlcj0n + MCcgLz48L3RkPgo8dGQgYWxpZ249J2NlbnRlcic+RnJlZWRvbTwvdGQ+Cjx0ZCBhbGlnbj0nY2Vu + dGVyJz4yMDIxLTA4LTI2PC90ZD4KPHRkIGFsaWduPSdsZWZ0JyB3aWR0aD0iODAiPgo8dGFibGU+ + PHRyPjxhIGhyZWY9J2h0dHA6Ly9pbmZvLmhvc3N6dXB1c2thc3ViLmNvbS9rZXJlc2VzP3E9QW1l + cmljYW4gSG9ycm9yIFN0b3J5JyB0YXJnZXQ9J19ibGFuayc+PGltZyBzdHlsZT0iZmxvYXQ6bGVm + dDsgd2lkdGg6NzBweDsgIG1hcmdpbi1yaWdodDowcHgiIGJvcmRlcj0iMCIgYWx0PSJpbmZvLmhv + c3N6dXB1c2thc3ViLmNvbSAtIGZpbG1laywgc29yb3phdG9rIGFkYXRiw6F6aXNhIiBzcmM9ImNz + cy9pbmZvb2xkYWwucG5nIj48L2E+PGJyPjxicj48YnI+PGEgaHJlZj0naHR0cDovL3dlYm1vb3Zp + ZXMuY29tL3Nob3cvQW1lcmljYW4tSG9ycm9yLVN0b3J5JyB0YXJnZXQ9J19ibGFuayc+PGltZyBz + cmM9J2Nzcy92aWRlb3dlYi5wbmcnIHdpZHRoPSc3MCcgaGVpZ2h0PScyOCc+PC9hPjxicj48YnI+ + PGEgaHJlZj0iaHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL3NoYXJlci9zaGFyZXIucGhwP3U9aHR0 + cDovL2hvc3N6dXB1c2thc3ViLmNvbS9hZGF0bGFwLnBocD9kYXRhX2lkPTEzMTI3MCIgdGFyZ2V0 + PSJfYmxhbmsiPjxpbWcgc3JjPSJjc3MvZnNoYXJlLnBuZyIgd2lkdGg9IjY4IiBib3JkZXI9IjAi + PjwvYT4KPC90cj4KPC90YWJsZT48L3RkPgo8dGQgYWxpZ249J2NlbnRlcic+PGEgaHJlZj0iaHR0 + cHM6Ly9hZGYubHkvMjY2MzI4OC9odHRwOi8vaG9zc3p1cHVza2FzdWIuY29tL2Rvd25sb2FkLnBo + cD9maWxlPTAxMjQyNTMuemlwIiB0YXJnZXQ9Il9ibGFuayI+PGltZyBzcmM9ImNzcy9kb3dubG9h + ZGFkZmx5Mi5wbmciIGlkPSJjb2xsYXBzZV9waWNfMTMxMjcwIiBib3JkZXI9IjAiPjwvYT48YnI+ + PGJyPjxhIGhyZWY9J2h0dHA6Ly9ob3NzenVwdXNrYXN1Yi5jb20vZG93bmxvYWQucGhwP2ZpbGU9 + MDEyNDI1My56aXAnIHRhcmdldD0iX3BhcmVudCI+PGltZyBzcmM9ImNzcy9kb3dubG9hZC5naWYi + IGlkPSJjb2xsYXBzZV9waWNfMTMxMjcwIiBib3JkZXI9IjAiPjwvYT48L3RkPgo8L3RyPgo8dHIg + c3R5bGU9J2Rpc3BsYXk6IG5vbmU7JyBiZ2NvbG9yPSIjRTZGRkM2IiBpZD0iY29sbGFwc2Vfcm93 + XzEzMTI3MCI+Cjx0ZCBjb2xzcGFuPSI3IiBhbGlnbj0nY2VudGVyJyBpZD0iY29sbGFwc2VfY29s + XzEzMTI3MCI+PGltZyBzcmM9ImNzcy9sb2FkaW5nLmdpZiI+PC90ZD4KPC90cj4KPHRyIGJnY29s + b3I9IiNFOUU5RTkiIG9ubW91c2VvdmVyPSJ0aGlzLnN0eWxlLmJhY2tncm91bmRJbWFnZT0ndXJs + KGNzcy9vdmVyLmpwZyknOyIgb25tb3VzZW91dD0idGhpcy5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2U9 + J3VybChjc3Mvb3ZlcjIuanBnKSc7Ij4KPHRkIGFsaWduPSdjZW50ZXInPjxhIGhyZWY9InNvcm96 + YXRvay5waHA/c2VyaWFsPWFtZXJpY2FuaG9ycm9yc3RvcnkiPjxpbWcgc3JjPSJjc3MvYm9yaXRv + L2FtZXJpY2FuaG9ycm9yc3RvcnkucG5nIiB3aWR0aD0iODAiIGJvcmRlcj0iMCI+PC9hPjwvdGQ+ + Cjx0ZCBhbGlnbj0nbGVmdCc+PGEgaHJlZj0namF2YXNjcmlwdDpjb2xsYXBzZVRyKCJjb2xsYXBz + ZV9yb3dfMzcwNjUiKTsgYWpheF9wYXJzZXIoMzcwNjUsImNvbGxhcHNlX2NvbF8zNzA2NSIpOycg + aWQ9Im1lbnUiPjxiPkFtZXJpY2FuIEhvcnJvciBTdG9yeSBzMDFlMTA8L2I+PC9hPjxicj5BbWVy + aWNhbiBIb3Jyb3IgU3RvcnkgczAxZTEwIChoZHR2LWZxbSkKPGJyPjxicj48YnI+Cjxicj4KPC90 + ZD4KPHRkIGFsaWduPSdjZW50ZXInPjxpbWcgc3JjPSdmbGFncy8xLmdpZicgYWx0PScnIGJvcmRl + cj0nMCcgLz48L3RkPgo8dGQgYWxpZ249J2NlbnRlcic+QmFydGEgSvN6c2VmPC90ZD4KPHRkIGFs + aWduPSdjZW50ZXInPjIwMTEtMTItMTA8L3RkPgo8dGQgYWxpZ249J2xlZnQnIHdpZHRoPSI4MCI+ + Cjx0YWJsZT48dHI+PGEgaHJlZj0naHR0cDovL2luZm8uaG9zc3p1cHVza2FzdWIuY29tL2tlcmVz + ZXM/cT1BbWVyaWNhbiBIb3Jyb3IgU3RvcnknIHRhcmdldD0nX2JsYW5rJz48aW1nIHN0eWxlPSJm + bG9hdDpsZWZ0OyB3aWR0aDo3MHB4OyAgbWFyZ2luLXJpZ2h0OjBweCIgYm9yZGVyPSIwIiBhbHQ9 + ImluZm8uaG9zc3p1cHVza2FzdWIuY29tIC0gZmlsbWVrLCBzb3JvemF0b2sgYWRhdGLDoXppc2Ei + IHNyYz0iY3NzL2luZm9vbGRhbC5wbmciPjwvYT48YnI+PGJyPjxicj48YSBocmVmPSdodHRwOi8v + d2VibW9vdmllcy5jb20vc2hvdy9BbWVyaWNhbi1Ib3Jyb3ItU3RvcnknIHRhcmdldD0nX2JsYW5r + Jz48aW1nIHNyYz0nY3NzL3ZpZGVvd2ViLnBuZycgd2lkdGg9JzcwJyBoZWlnaHQ9JzI4Jz48L2E+ + PGJyPjxicj48YSBocmVmPSJodHRwczovL3d3dy5mYWNlYm9vay5jb20vc2hhcmVyL3NoYXJlci5w + aHA/dT1odHRwOi8vaG9zc3p1cHVza2FzdWIuY29tL2FkYXRsYXAucGhwP2RhdGFfaWQ9MzcwNjUi + IHRhcmdldD0iX2JsYW5rIj48aW1nIHNyYz0iY3NzL2ZzaGFyZS5wbmciIHdpZHRoPSI2OCIgYm9y + ZGVyPSIwIj48L2E+CjwvdHI+CjwvdGFibGU+PC90ZD4KPHRkIGFsaWduPSdjZW50ZXInPjxhIGhy + ZWY9Imh0dHBzOi8vYWRmLmx5LzI2NjMyODgvaHR0cDovL2hvc3N6dXB1c2thc3ViLmNvbS9kb3du + bG9hZC5waHA/ZmlsZT0wMDMxNjk5LnppcCIgdGFyZ2V0PSJfYmxhbmsiPjxpbWcgc3JjPSJjc3Mv + ZG93bmxvYWRhZGZseTIucG5nIiBpZD0iY29sbGFwc2VfcGljXzM3MDY1IiBib3JkZXI9IjAiPjwv + YT48YnI+PGJyPjxhIGhyZWY9J2h0dHA6Ly9ob3NzenVwdXNrYXN1Yi5jb20vZG93bmxvYWQucGhw + P2ZpbGU9MDAzMTY5OS56aXAnIHRhcmdldD0iX3BhcmVudCI+PGltZyBzcmM9ImNzcy9kb3dubG9h + ZC5naWYiIGlkPSJjb2xsYXBzZV9waWNfMzcwNjUiIGJvcmRlcj0iMCI+PC9hPjwvdGQ+CjwvdHI+ + Cjx0ciBzdHlsZT0nZGlzcGxheTogbm9uZTsnIGJnY29sb3I9IiNFNkZGQzYiIGlkPSJjb2xsYXBz + ZV9yb3dfMzcwNjUiPgo8dGQgY29sc3Bhbj0iNyIgYWxpZ249J2NlbnRlcicgaWQ9ImNvbGxhcHNl + X2NvbF8zNzA2NSI+PGltZyBzcmM9ImNzcy9sb2FkaW5nLmdpZiI+PC90ZD4KPC90cj4KPHRyIGJn + Y29sb3I9IiNFOUU5RTkiIG9ubW91c2VvdmVyPSJ0aGlzLnN0eWxlLmJhY2tncm91bmRJbWFnZT0n + dXJsKGNzcy9vdmVyLmpwZyknOyIgb25tb3VzZW91dD0idGhpcy5zdHlsZS5iYWNrZ3JvdW5kSW1h + Z2U9J3VybChjc3Mvb3ZlcjIuanBnKSc7Ij4KPHRkIGFsaWduPSdjZW50ZXInPjxhIGhyZWY9InNv + cm96YXRvay5waHA/c2VyaWFsPWFtZXJpY2FuaG9ycm9yc3RvcnkiPjxpbWcgc3JjPSJjc3MvYm9y + aXRvL2FtZXJpY2FuaG9ycm9yc3RvcnkucG5nIiB3aWR0aD0iODAiIGJvcmRlcj0iMCI+PC9hPjwv + dGQ+Cjx0ZCBhbGlnbj0nbGVmdCc+PGEgaHJlZj0namF2YXNjcmlwdDpjb2xsYXBzZVRyKCJjb2xs + YXBzZV9yb3dfMzY5OTgiKTsgYWpheF9wYXJzZXIoMzY5OTgsImNvbGxhcHNlX2NvbF8zNjk5OCIp + OycgaWQ9Im1lbnUiPjxiPkFtZXJpY2FuIEhvcnJvciBTdG9yeSBzMDFlMTA8L2I+PC9hPjxicj5B + bWVyaWNhbiBIb3Jyb3IgU3RvcnkgczAxZTEwIChoZHR2LWZxbSkKPGJyPjxicj48YnI+Cjxicj4K + PC90ZD4KPHRkIGFsaWduPSdjZW50ZXInPjxpbWcgc3JjPSdmbGFncy8yLmdpZicgYWx0PScnIGJv + cmRlcj0nMCcgLz48L3RkPgo8dGQgYWxpZ249J2NlbnRlcic+Q3PpY3NpPC90ZD4KPHRkIGFsaWdu + PSdjZW50ZXInPjIwMTEtMTItMDg8L3RkPgo8dGQgYWxpZ249J2xlZnQnIHdpZHRoPSI4MCI+Cjx0 + YWJsZT48dHI+PGEgaHJlZj0naHR0cDovL2luZm8uaG9zc3p1cHVza2FzdWIuY29tL2tlcmVzZXM/ + cT1BbWVyaWNhbiBIb3Jyb3IgU3RvcnknIHRhcmdldD0nX2JsYW5rJz48aW1nIHN0eWxlPSJmbG9h + dDpsZWZ0OyB3aWR0aDo3MHB4OyAgbWFyZ2luLXJpZ2h0OjBweCIgYm9yZGVyPSIwIiBhbHQ9Imlu + Zm8uaG9zc3p1cHVza2FzdWIuY29tIC0gZmlsbWVrLCBzb3JvemF0b2sgYWRhdGLDoXppc2EiIHNy + Yz0iY3NzL2luZm9vbGRhbC5wbmciPjwvYT48YnI+PGJyPjxicj48YSBocmVmPSdodHRwOi8vd2Vi + bW9vdmllcy5jb20vc2hvdy9BbWVyaWNhbi1Ib3Jyb3ItU3RvcnknIHRhcmdldD0nX2JsYW5rJz48 + aW1nIHNyYz0nY3NzL3ZpZGVvd2ViLnBuZycgd2lkdGg9JzcwJyBoZWlnaHQ9JzI4Jz48L2E+PGJy + Pjxicj48YSBocmVmPSJodHRwczovL3d3dy5mYWNlYm9vay5jb20vc2hhcmVyL3NoYXJlci5waHA/ + dT1odHRwOi8vaG9zc3p1cHVza2FzdWIuY29tL2FkYXRsYXAucGhwP2RhdGFfaWQ9MzY5OTgiIHRh + cmdldD0iX2JsYW5rIj48aW1nIHNyYz0iY3NzL2ZzaGFyZS5wbmciIHdpZHRoPSI2OCIgYm9yZGVy + PSIwIj48L2E+CjwvdHI+CjwvdGFibGU+PC90ZD4KPHRkIGFsaWduPSdjZW50ZXInPjxhIGhyZWY9 + Imh0dHBzOi8vYWRmLmx5LzI2NjMyODgvaHR0cDovL2hvc3N6dXB1c2thc3ViLmNvbS9kb3dubG9h + ZC5waHA/ZmlsZT0wMDMxNjQyLnppcCIgdGFyZ2V0PSJfYmxhbmsiPjxpbWcgc3JjPSJjc3MvZG93 + bmxvYWRhZGZseTIucG5nIiBpZD0iY29sbGFwc2VfcGljXzM2OTk4IiBib3JkZXI9IjAiPjwvYT48 + YnI+PGJyPjxhIGhyZWY9J2h0dHA6Ly9ob3NzenVwdXNrYXN1Yi5jb20vZG93bmxvYWQucGhwP2Zp + bGU9MDAzMTY0Mi56aXAnIHRhcmdldD0iX3BhcmVudCI+PGltZyBzcmM9ImNzcy9kb3dubG9hZC5n + aWYiIGlkPSJjb2xsYXBzZV9waWNfMzY5OTgiIGJvcmRlcj0iMCI+PC9hPjwvdGQ+CjwvdHI+Cjx0 + ciBzdHlsZT0nZGlzcGxheTogbm9uZTsnIGJnY29sb3I9IiNFNkZGQzYiIGlkPSJjb2xsYXBzZV9y + b3dfMzY5OTgiPgo8dGQgY29sc3Bhbj0iNyIgYWxpZ249J2NlbnRlcicgaWQ9ImNvbGxhcHNlX2Nv + bF8zNjk5OCI+PGltZyBzcmM9ImNzcy9sb2FkaW5nLmdpZiI+PC90ZD4KPC90cj4KPC90YWJsZT48 + dGQgdmFsaWduPXRvcD48dGFibGUgd2lkdGg9IjEyMCIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0i + MCIgY2VsbHBhZGRpbmc9IjYiIGNsYXNzPSJzYW1wbGUiPgoKPHRyIGJnY29sb3I9IiNjY2NjY2Mi + Pjx0ZCBhbGlnbj0iY2VudGVyIiBzdHlsZT0nYmFja2dyb3VuZC1pbWFnZTp1cmwoY3NzL29sZGFs + dG9wMS5wbmcpOyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0Oycgd2lkdGg9IjEyMCI+PGI+ + VklQIEJlamVsZW50a2V6JmVhY3V0ZTtzOjwvYj48L3RkPjwvdHI+Cjx0ciBiZ2NvbG9yPSIjZTll + OWU5Ij48dGQgdmFsaWduPXRvcD4KPGRpdiBhbGlnbj0iY2VudGVyIj4KPGZvcm0gbmFtZT0ibG9n + aW4iIGFjdGlvbj0ic29yb3phdG9rLnBocCIgbWV0aG9kPSJwb3N0IiB0YXJnZXQ9Il9zZWxmIj4K + RmVsaGFzem7hbPNu6XY6PGJyIC8+CjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJsb2dpbl9uaWNr + IiBzaXplPSIxMSIgdmFsdWU9IiIgc3R5bGU9ImN1cnNvcjogdXJsKGh0dHBzOi8vaG9zc3p1cHVz + a2FzdWIuY29tL2Nzcy9pbnB1dGN1cnNvci5wbmcpLCBkZWZhdWx0OyI+PGJyPgpKZWxzevM6PGJy + Pgo8aW5wdXQgdHlwZT0icGFzc3dvcmQiIG5hbWU9ImxvZ2luX3Bhc3N3ZCIgc2l6ZT0iMTEiIHZh + bHVlPSIiIHN0eWxlPSJjdXJzb3I6IHVybChodHRwczovL2hvc3N6dXB1c2thc3ViLmNvbS9jc3Mv + aW5wdXRjdXJzb3IucG5nKSwgZGVmYXVsdDsiPjxicj48YnI+CjxpbnB1dCB0eXBlPSJzdWJtaXQi + IG5hbWU9ImxvZ2luIiB2YWx1ZT0iQmVs6XDpcyIgc3R5bGU9ImN1cnNvcjogdXJsKGh0dHBzOi8v + aG9zc3p1cHVza2FzdWIuY29tL2Nzcy9saW5rLnBuZyksIGRlZmF1bHQ7Ij48YnI+Cjxicj48YSBo + cmVmPSJyZWdpc3p0cmFjaW8ucGhwIiB0YXJnZXQ9Il9zZWxmIiBpZD0ibWVudXJlZyI+LSA8Ymxp + bms+UmVnaXN6dHLhY2nzPC9ibGluaz4gLTwvYT48YnI+Cjxicj48YSBocmVmPSJlbWxla2V6dGV0 + by5waHAiIHRhcmdldD0iX3NlbGYiIGlkPSJtZW51bWVudSI+LSBFbGZlbGVqdGV0dCBqZWxzevM/ + IC08L2E+PGJyPgo8L2Zvcm0+CjwvZGl2Pgo8L3RkPjwvdHI+PHRyIGJnY29sb3I9IiNjY2NjY2Mi + Pgo8dGQgYWxpZ249ImNlbnRlciIgd2lkdGg9IjEzMCIgYmFja2dyb3VuZD0iY3NzL29sZGFsdG9w + MS5wbmciPjxiPlQmYWFjdXRlO21vZ2F0JmFhY3V0ZTtzPC9iPjwvdGQ+CjwvdHI+Cjx0ciBiZ2Nv + bG9yPSIjZTllOWU5Ij4KPHRkPjxmb3JtIGFjdGlvbj0iaHR0cHM6Ly93d3cucGF5cGFsLmNvbS9j + Z2ktYmluL3dlYnNjciIgbWV0aG9kPSJwb3N0Ij4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0i + Y21kIiB2YWx1ZT0iX3MteGNsaWNrIj4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iaG9zdGVk + X2J1dHRvbl9pZCIgdmFsdWU9IkJUNFdZRkZURlE4Vk4iPgo8aW5wdXQgdHlwZT0iaW1hZ2UiIHNy + Yz0iaHR0cHM6Ly9ob3NzenVwdXNrYXN1Yi5jb20vY3NzL2J0bl9kb25hdGVDQ19MRy5naWYiIGJv + cmRlcj0iMCIgbmFtZT0ic3VibWl0IiBhbHQ9IlBheVBhbCAtIFRoZSBzYWZlciwgZWFzaWVyIHdh + eSB0byBwYXkgb25saW5lISI+CjwvZm9ybT4KPC90ZD48L3RyPgo8dHIgYmdjb2xvcj0iI2NjY2Nj + YyI+Cjx0ZCBhbGlnbj0iY2VudGVyIiB3aWR0aD0iMTMwIiBiYWNrZ3JvdW5kPSJjc3Mvb2xkYWx0 + b3AxLnBuZyI+PGI+TGVnJiMyNTA7amFiYiBzb3JvemF0b2s8L2I+PC90ZD4KPC90cj4KPHRyIGJn + Y29sb3I9IiNlOWU5ZTkiPgo8dGQ+PGEgaHJlZj0iaHR0cDovL2hvc3N6dXB1c2thc3ViLmNvbS9z + b3JvemF0b2sucGhwP3NlcmlhbD10aGViaWdsZWFwIj48aW1nIHNyYz1jc3Mva2lza2VwL3RoZWJp + Z2xlYXAucG5nIHdpZHRoPSIxMjAiPjwvYT48YnI+PGEgaHJlZj0iaHR0cDovL2hvc3N6dXB1c2th + c3ViLmNvbS9zb3JvemF0b2sucGhwP3NlcmlhbD10aGVzZXhsaXZlc29mY29sbGVnZWdpcmxzIj48 + aW1nIHNyYz1jc3Mva2lza2VwL3RoZXNleGxpdmVzb2Zjb2xsZWdlZ2lybHMucG5nIHdpZHRoPSIx + MjAiPjwvYT48YnI+PGEgaHJlZj0iaHR0cDovL2hvc3N6dXB1c2thc3ViLmNvbS9zb3JvemF0b2su + cGhwP3NlcmlhbD1qYXBhbnNpbmtzcGVvcGxlb2Zob3BlIj48aW1nIHNyYz1jc3Mva2lza2VwL2ph + cGFuc2lua3NwZW9wbGVvZmhvcGUucG5nIHdpZHRoPSIxMjAiPjwvYT48YnI+PGEgaHJlZj0iaHR0 + cDovL2hvc3N6dXB1c2thc3ViLmNvbS9zb3JvemF0b2sucGhwP3NlcmlhbD10aGVzaHJpbmtuZXh0 + ZG9vciI+PGltZyBzcmM9Y3NzL2tpc2tlcC90aGVzaHJpbmtuZXh0ZG9vci5wbmcgd2lkdGg9IjEy + MCI+PC9hPjxicj48YSBocmVmPSJodHRwOi8vaG9zc3p1cHVza2FzdWIuY29tL3Nvcm96YXRvay5w + aHA/c2VyaWFsPXRoZXByb2JsZW13aXRoam9uc3Rld2FydCI+PGltZyBzcmM9Y3NzL2tpc2tlcC90 + aGVwcm9ibGVtd2l0aGpvbnN0ZXdhcnQucG5nIHdpZHRoPSIxMjAiPjwvYT48YnI+PGEgaHJlZj0i + aHR0cDovL2hvc3N6dXB1c2thc3ViLmNvbS9zb3JvemF0b2sucGhwP3NlcmlhbD1zd2FnZ2VyIj48 + aW1nIHNyYz1jc3Mva2lza2VwL3N3YWdnZXIucG5nIHdpZHRoPSIxMjAiPjwvYT48YnI+PGEgaHJl + Zj0iaHR0cDovL2hvc3N6dXB1c2thc3ViLmNvbS9zb3JvemF0b2sucGhwP3NlcmlhbD1kcmJyYWlu + Ij48aW1nIHNyYz1jc3Mva2lza2VwL2RyYnJhaW4ucG5nIHdpZHRoPSIxMjAiPjwvYT48YnI+PGEg + aHJlZj0iaHR0cDovL2hvc3N6dXB1c2thc3ViLmNvbS9zb3JvemF0b2sucGhwP3NlcmlhbD1oYXdr + ZXllIj48aW1nIHNyYz1jc3Mva2lza2VwL2hhd2tleWUucG5nIHdpZHRoPSIxMjAiPjwvYT48YnI+ + PGEgaHJlZj0iaHR0cDovL2hvc3N6dXB1c2thc3ViLmNvbS9zb3JvemF0b2sucGhwP3NlcmlhbD1k + b3Blc2ljayI+PGltZyBzcmM9Y3NzL2tpc2tlcC9kb3Blc2ljay5wbmcgd2lkdGg9IjEyMCI+PC9h + Pjxicj48YSBocmVmPSJodHRwOi8vaG9zc3p1cHVza2FzdWIuY29tL3Nvcm96YXRvay5waHA/c2Vy + aWFsPWludmFzaW9uMjAyMSI+PGltZyBzcmM9Y3NzL2tpc2tlcC9pbnZhc2lvbjIwMjEucG5nIHdp + ZHRoPSIxMjAiPjwvYT48YnI+PC90ZD48L3RyPjx0ciBiZ2NvbG9yPSIjY2NjY2NjIj4KPHRkIGFs + aWduPSJjZW50ZXIiIHdpZHRoPSIxMzAiIGJhY2tncm91bmQ9ImNzcy9vbGRhbHRvcDEucG5nIj48 + Yj5GaWxtYWomYWFjdXRlO25sJm9hY3V0ZTs6PC9iPjwvdGQ+CjwvdHI+Cjx0ciBiZ2NvbG9yPSIj + ZTllOWU5Ij4KPHRkPjxpZnJhbWUgc3JjPSdodHRwOi8vd2VibW9vdmllcy5jb20vZnJpc3MucGhw + JyBmcmFtZWJvcmRlcj0nMCcgd2lkdGg9JzEyMCcgaGVpZ2h0PScxMDAwJyBzY3JvbGxpbmc9J25v + Jz48L2lmcmFtZT48L3RkPjwvdHI+Cjx0ciBiZ2NvbG9yPSIjY2NjY2NjIj4KPHRkIGFsaWduPSJj + ZW50ZXIiIHdpZHRoPSIxMjAiIHN0eWxlPSdiYWNrZ3JvdW5kLWltYWdlOnVybChjc3Mvb2xkYWx0 + b3AxLnBuZyk7IGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7Jz48Yj5GcmlzcyBlbCZvdGls + ZGU7emV0ZXNlazo8L2I+PC90ZD4KPC90cj4KPHRyIGJnY29sb3I9IiNlOWU5ZTkiPgo8dGQ+IDwv + dGQ+CjwvdHI+Cjx0ciBiZ2NvbG9yPSIjY2NjY2NjIj4KPHRkIGFsaWduPSJjZW50ZXIiIHdpZHRo + PSIxMjAiIHN0eWxlPSdiYWNrZ3JvdW5kLWltYWdlOnVybChjc3Mvb2xkYWx0b3AxLnBuZyk7IGJh + Y2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7Jz48Yj5GaWxtYWomYWFjdXRlO25sJm9hY3V0ZTs6 + PC9iPjwvdGQ+CjwvdHI+Cjx0ciBiZ2NvbG9yPSIjZTllOWU5Ij4KPHRkPiA8L3RkPgo8L3RyPgo8 + L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+PC90YWJsZT48aW1nIHNyYz0nY3NzL3RhbHVsLnBu + Zyc+Cjxicj4KPGNlbnRlcj4KPGhyIHdpZHRoPSIyMDAiIGNvbG9yPSIjY2NjY2NjIj4KPGEgaHJl + Zj0iamF2YXNjcmlwdDpzY3JvbGwoMCwwKSI+PGltZyBzcmM9ImNzcy91Z3JhczEuanBnIiBuYW1l + PSJJbWFnZTEiIHdpZHRoPSIxNDAiIGhlaWdodD0iMjAiIGJvcmRlcj0iMCIgaWQ9InVncmFzIj48 + L2E+CjxociB3aWR0aD0iMjAwIiBjb2xvcj0iI2NjY2NjYyI+Cjx0YWJsZSB3aWR0aD05MDA+Cjx0 + cj48dGQ+CjwvdGQ+CjwvdHI+CjwvdGFibGU+CjwvZGl2Pgo8L2Rpdj4KPC90ZD4KPC90cj4KPC90 + YWJsZT4KPHRhYmxlIHdpZHRoPSI5NTIiIGhlaWdodD0iMjUiIGFsaWduPSJjZW50ZXIiPgo8dHI+ + PHRkIGJhY2tncm91bmQ9ImNzcy9sZW50LnBuZyI+PC90ZD48L3RyPgo8L3RhYmxlPgo8c2NyaXB0 + IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQogICAgd2luZG93LmNvb2tpZWNvbnNlbnRfb3B0aW9u + cyA9IHsibWVzc2FnZSI6IkV6IGEgd2ViaGVseSBjb29raWUta2F0IGhhc3pu4WwsIG1lbHlla3Jl + IHN6/Gtz6WcgdmFuIGF6IG9sZGFsdW5rIHRlbGplcyBt+2v2ZOlz6Whlei4gQvZuZ+lzeulz6XZl + bCBlbGZvZ2Fkb2QgYSBjb29raWUtayBoYXN6buFsYXThdC4iLCJkaXNtaXNzIjoiT2vpISIsInRo + ZW1lIjoiZGFyay1mbG9hdGluZyJ9Ow0KPC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZh + c2NyaXB0IiBzcmM9Imh0dHBzOi8vaG9zc3p1cHVza2FzdWIuY29tL2pzL2Nvb2tpZWNvbnNlbnQu + bGF0ZXN0Lm1pbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz + cmM9Imh0dHBzOi8vaG9zc3p1cHVza2FzdWIuY29tL2Fycm93LmpzIj48L3NjcmlwdD4KPHNjcmlw + dD4NCiAgKGZ1bmN0aW9uKGkscyxvLGcscixhLG0pe2lbJ0dvb2dsZUFuYWx5dGljc09iamVjdCdd + PXI7aVtyXT1pW3JdfHxmdW5jdGlvbigpew0KICAoaVtyXS5xPWlbcl0ucXx8W10pLnB1c2goYXJn + dW1lbnRzKX0saVtyXS5sPTEqbmV3IERhdGUoKTthPXMuY3JlYXRlRWxlbWVudChvKSwNCiAgbT1z + LmdldEVsZW1lbnRzQnlUYWdOYW1lKG8pWzBdO2EuYXN5bmM9MTthLnNyYz1nO20ucGFyZW50Tm9k + ZS5pbnNlcnRCZWZvcmUoYSxtKQ0KICB9KSh3aW5kb3csZG9jdW1lbnQsJ3NjcmlwdCcsJy8vd3d3 + Lmdvb2dsZS1hbmFseXRpY3MuY29tL2FuYWx5dGljcy5qcycsJ2dhJyk7DQoNCiAgZ2EoJ2NyZWF0 + ZScsICdVQS0zMjgwOTYzLTEwJywgJ2F1dG8nKTsNCiAgZ2EoJ3NlbmQnLCAncGFnZXZpZXcnKTsN + Cg0KPC9zY3JpcHQ+CjwvYm9keT4KPC9odG1sPgo= + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 6b67cf542dabe532-ARI + Connection: + - keep-alive + Content-Type: + - text/html; charset=ISO-8859-2 + Date: + - Tue, 30 Nov 2021 23:21:05 GMT + NEL: + - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}' + Report-To: + - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=8R9k8MUDf6vH3ex1QatszIl0%2B55nxRVn1NFYgjvsv42i6mL6Xp%2Bd9hNnT%2FOdj2smiiMbughA6DUY5RFWsV4U5FUlqR0m5sBNgr0kO1gJ94JkQjqFHs7JXDMGflgvHNV3IFVhPY1NcPilc1Msc96oIbg%3D"}],"group":"cf-nel","max_age":604800}' + Server: + - cloudflare + Transfer-Encoding: + - chunked + alt-svc: + - h3=":443"; ma=86400, h3-29=":443"; ma=86400, h3-28=":443"; ma=86400, h3-27=":443"; + ma=86400 + cache-control: + - no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + expires: + - Thu, 19 Nov 1981 08:52:00 GMT + pragma: + - no-cache + set-cookie: + - PHPSESSID=pjigvbvu0e7mi15bismtt5rk16; path=/ + x-powered-by: + - PHP/5.3.3 + status: + code: 200 + message: OK +version: 1 diff --git a/tests/subliminal_patch/test_hosszupuska.py b/tests/subliminal_patch/test_hosszupuska.py new file mode 100644 index 000000000..a5ad06a3c --- /dev/null +++ b/tests/subliminal_patch/test_hosszupuska.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +import pytest + +from subliminal_patch.core import Episode +from subliminal_patch.providers.hosszupuska import HosszupuskaProvider + + +@pytest.fixture +def episode(): + return Episode( + "American Horror Story s10e01 (amzn webrip-ntb).mkv", + "American Horror Story", + 10, + 1, + source="Web", + ) + + +@pytest.mark.vcr +def test_list_subtitles_episode(episode): + with HosszupuskaProvider() as provider: + subs = provider.list_subtitles(episode, []) + + for expected in ( + "http://hosszupuskasub.com/download.php?file=0124336.zip", + "http://hosszupuskasub.com/download.php?file=0124335.zip", + "http://hosszupuskasub.com/download.php?file=0124333.zip", + "http://hosszupuskasub.com/download.php?file=0124253.zip", + ): + assert any([expected == sub.page_link for sub in subs]) + + +@pytest.mark.vcr +def test_download_subtitle_episode(episode): + with HosszupuskaProvider() as provider: + sub = provider.list_subtitles(episode, [])[0] + provider.download_subtitle(sub) + assert sub.content is not None From 9b273a7a8976f63ff932c1a0cb0be38a98956d05 Mon Sep 17 00:00:00 2001 From: morpheus65535 Date: Tue, 30 Nov 2021 21:17:18 -0500 Subject: [PATCH 14/48] Fixed missing poster or fanart url from raising an exception when rendering UI. --- bazarr/api.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bazarr/api.py b/bazarr/api.py index 97ea20c4a..d5522a8d0 100644 --- a/bazarr/api.py +++ b/bazarr/api.py @@ -141,11 +141,11 @@ def postprocessSeries(item): # map poster and fanart to server proxy if 'poster' in item: poster = item['poster'] - item['poster'] = f"{base_url}/images/series{poster}" + item['poster'] = f"{base_url}/images/series{poster}" if poster else None if 'fanart' in item: fanart = item['fanart'] - item['fanart'] = f"{base_url}/images/series{fanart}" + item['fanart'] = f"{base_url}/images/series{fanart}" if fanart else None def postprocessEpisode(item): @@ -280,11 +280,11 @@ def postprocessMovie(item): # map poster and fanart to server proxy if 'poster' in item: poster = item['poster'] - item['poster'] = f"{base_url}/images/movies{poster}" + item['poster'] = f"{base_url}/images/movies{poster}" if poster else None if 'fanart' in item: fanart = item['fanart'] - item['fanart'] = f"{base_url}/images/movies{fanart}" + item['fanart'] = f"{base_url}/images/movies{fanart}" if fanart else None class SystemAccount(Resource): From 2d214bfbd5f9d1598c01b2e2dd35efa67ccb43af Mon Sep 17 00:00:00 2001 From: morpheus65535 Date: Tue, 30 Nov 2021 21:44:33 -0500 Subject: [PATCH 15/48] Added support for upcoming Sonarr v4. --- bazarr/signalr_client.py | 66 ++++++++++++++++++++++++++++++++++++++-- bazarr/utils.py | 6 ++-- 2 files changed, 67 insertions(+), 5 deletions(-) diff --git a/bazarr/signalr_client.py b/bazarr/signalr_client.py index f8c3c7e8f..9eb57dafb 100644 --- a/bazarr/signalr_client.py +++ b/bazarr/signalr_client.py @@ -22,9 +22,9 @@ from get_args import args headers = {"User-Agent": os.environ["SZ_USER_AGENT"]} -class SonarrSignalrClient: +class SonarrSignalrClientLegacy: def __init__(self): - super(SonarrSignalrClient, self).__init__() + super(SonarrSignalrClientLegacy, self).__init__() self.apikey_sonarr = None self.session = Session() self.session.timeout = 60 @@ -92,6 +92,65 @@ class SonarrSignalrClient: self.connection.exception += self.exception_handler +class SonarrSignalrClient: + def __init__(self): + super(SonarrSignalrClient, self).__init__() + self.apikey_sonarr = None + self.connection = None + + def start(self): + self.configure() + logging.info('BAZARR trying to connect to Sonarr SignalR feed...') + while self.connection.transport.state.value not in [0, 1, 2]: + try: + self.connection.start() + except ConnectionError: + time.sleep(5) + + def stop(self): + logging.info('BAZARR SignalR client for Sonarr is now disconnected.') + self.connection.stop() + + def restart(self): + if self.connection: + if self.connection.transport.state.value in [0, 1, 2]: + self.stop() + if settings.general.getboolean('use_sonarr'): + self.start() + + def exception_handler(self): + logging.error("BAZARR connection to Sonarr SignalR feed has failed. We'll try to reconnect.") + self.restart() + + @staticmethod + def on_connect_handler(): + logging.info('BAZARR SignalR client for Sonarr is connected and waiting for events.') + if not args.dev: + scheduler.add_job(update_series, kwargs={'send_event': True}, max_instances=1) + scheduler.add_job(sync_episodes, kwargs={'send_event': True}, max_instances=1) + + def configure(self): + self.apikey_sonarr = settings.sonarr.apikey + self.connection = HubConnectionBuilder() \ + .with_url(url_sonarr() + "/signalr/messages?access_token={}".format(self.apikey_sonarr), + options={ + "verify_ssl": False, + "headers": headers + }) \ + .with_automatic_reconnect({ + "type": "raw", + "keep_alive_interval": 5, + "reconnect_interval": 180, + "max_attempts": None + }).build() + self.connection.on_open(self.on_connect_handler) + self.connection.on_reconnect(lambda: logging.error('BAZARR SignalR client for Sonarr connection as been lost. ' + 'Trying to reconnect...')) + self.connection.on_close(lambda: logging.debug('BAZARR SignalR client for Sonarr is disconnected.')) + self.connection.on_error(self.exception_handler) + self.connection.on("receiveMessage", dispatcher) + + class RadarrSignalrClient: def __init__(self): super(RadarrSignalrClient, self).__init__() @@ -186,5 +245,6 @@ def dispatcher(data): return -sonarr_signalr_client = SonarrSignalrClient() +sonarr_signalr_client = SonarrSignalrClientLegacy() if get_sonarr_info.version().startswith(('0.', '2.', '3.')) else \ + SonarrSignalrClient() radarr_signalr_client = RadarrSignalrClient() diff --git a/bazarr/utils.py b/bazarr/utils.py index e6bc72bb6..fa88927bc 100644 --- a/bazarr/utils.py +++ b/bazarr/utils.py @@ -256,8 +256,10 @@ class GetSonarrInfo: if 'version' in sonarr_json: sonarr_version = sonarr_json['version'] else: - sv = url_sonarr() + "/api/v3/system/status?apikey=" + settings.sonarr.apikey - sonarr_version = requests.get(sv, timeout=60, verify=False, headers=headers).json()['version'] + raise json.decoder.JSONDecodeError + except json.decoder.JSONDecodeError: + sv = url_sonarr() + "/api/v3/system/status?apikey=" + settings.sonarr.apikey + sonarr_version = requests.get(sv, timeout=60, verify=False, headers=headers).json()['version'] except Exception: logging.debug('BAZARR cannot get Sonarr version') sonarr_version = 'unknown' From 402c82d84f7bd51353348bea7d1a876ad9ecc5b1 Mon Sep 17 00:00:00 2001 From: morpheus65535 Date: Wed, 1 Dec 2021 15:47:00 -0500 Subject: [PATCH 16/48] Upgraded some embedded dependencies to be ready for Python 3.10. This doesn't mean that it's fully supported right now. --- bazarr.py | 4 +- libs/babelfish/__init__.py | 6 - libs/babelfish/converters/__init__.py | 13 +- libs/babelfish/converters/opensubtitles.py | 4 +- libs/babelfish/country.py | 1 + libs/babelfish/data/get_files.py | 45 - libs/babelfish/language.py | 1 + libs/babelfish/script.py | 1 + libs/babelfish/tests.py | 377 - libs/flask_restful/__init__.py | 17 +- libs/flask_restful/__version__.py | 2 +- libs/flask_restful/fields.py | 5 +- libs/flask_restful/inputs.py | 2 +- libs/flask_restful/reqparse.py | 9 +- libs/flask_restful/utils/__init__.py | 4 +- libs/future/__init__.py | 10 +- libs/future/backports/__init__.py | 2 +- libs/future/backports/email/message.py | 6 +- libs/future/backports/http/client.py | 22 +- libs/future/backports/http/cookiejar.py | 5 +- libs/future/backports/http/cookies.py | 3 +- libs/future/backports/misc.py | 8 +- libs/future/backports/test/pystone.py | 0 libs/future/backports/urllib/request.py | 10 +- libs/future/builtins/__init__.py | 4 +- libs/future/builtins/misc.py | 17 +- libs/future/builtins/new_min_max.py | 59 + libs/future/builtins/newround.py | 11 +- libs/future/moves/__init__.py | 2 +- libs/future/moves/copyreg.py | 6 +- libs/future/moves/urllib/request.py | 23 +- libs/future/tests/base.py | 10 +- libs/future/types/newbytes.py | 8 +- libs/future/types/newint.py | 6 +- libs/future/types/newmemoryview.py | 8 +- libs/future/types/newobject.py | 1 + libs/future/types/newrange.py | 7 +- libs/future/types/newstr.py | 14 +- libs/future/utils/__init__.py | 76 +- libs/html5lib/__init__.py | 2 +- libs/html5lib/_ihatexml.py | 5 +- libs/html5lib/_inputstream.py | 55 +- libs/html5lib/_tokenizer.py | 16 +- libs/html5lib/_trie/__init__.py | 13 +- libs/html5lib/_trie/_base.py | 5 +- libs/html5lib/_trie/datrie.py | 44 - libs/html5lib/_utils.py | 49 +- libs/html5lib/constants.py | 9 +- libs/html5lib/filters/sanitizer.py | 20 + libs/html5lib/html5parser.py | 734 +- libs/html5lib/serializer.py | 2 +- .../tests/sanitizer-testdata/tests1.dat | 433 + libs/html5lib/tests/sanitizer.py | 17 +- .../tests/serializer-testdata/core.test | 395 + .../tests/serializer-testdata/injectmeta.test | 350 + .../serializer-testdata/optionaltags.test | 3254 ++ .../tests/serializer-testdata/options.test | 334 + .../tests/serializer-testdata/whitespace.test | 198 + libs/html5lib/tests/support.py | 3 +- libs/html5lib/tests/test_encoding.py | 21 +- libs/html5lib/tests/test_meta.py | 4 +- libs/html5lib/tests/test_parser2.py | 40 +- libs/html5lib/tests/test_sanitizer.py | 62 +- libs/html5lib/tests/test_serializer.py | 51 +- libs/html5lib/tests/test_stream.py | 8 +- libs/html5lib/tests/test_tokenizer2.py | 66 + libs/html5lib/tests/test_treewalkers.py | 107 +- libs/html5lib/tests/testdata/AUTHORS.rst | 34 - libs/html5lib/tests/testdata/LICENSE | 21 - .../testdata/encoding/chardet/test_big5.txt | 51 - .../tests/testdata/encoding/test-yahoo-jp.dat | 10 - .../tests/testdata/encoding/tests1.dat | 394 - .../tests/testdata/encoding/tests2.dat | 115 - .../tests/testdata/serializer/core.test | 125 - .../tests/testdata/serializer/injectmeta.test | 66 - .../testdata/serializer/optionaltags.test | 965 - .../tests/testdata/serializer/options.test | 60 - .../tests/testdata/serializer/whitespace.test | 51 - .../tests/testdata/tokenizer/README.md | 104 - .../testdata/tokenizer/contentModelFlags.test | 81 - .../tests/testdata/tokenizer/domjs.test | 96 - .../tests/testdata/tokenizer/entities.test | 283 - .../tests/testdata/tokenizer/escapeFlag.test | 33 - .../testdata/tokenizer/namedEntities.test | 42210 ---------------- .../testdata/tokenizer/numericEntities.test | 1349 - .../tokenizer/pendingSpecChanges.test | 7 - .../tests/testdata/tokenizer/test1.test | 196 - .../tests/testdata/tokenizer/test2.test | 179 - .../tests/testdata/tokenizer/test3.test | 6047 --- .../tests/testdata/tokenizer/test4.test | 344 - .../testdata/tokenizer/unicodeChars.test | 1295 - .../tokenizer/unicodeCharsProblematic.test | 31 - .../testdata/tokenizer/xmlViolation.test | 22 - .../testdata/tree-construction/README.md | 104 - .../testdata/tree-construction/adoption01.dat | 354 - .../testdata/tree-construction/adoption02.dat | 39 - .../testdata/tree-construction/comments01.dat | 178 - .../testdata/tree-construction/doctype01.dat | 424 - .../tree-construction/domjs-unsafe.dat | Bin 9884 -> 0 bytes .../testdata/tree-construction/entities01.dat | 795 - .../testdata/tree-construction/entities02.dat | 293 - .../tree-construction/foreign-fragment.dat | 549 - .../tree-construction/html5test-com.dat | 291 - .../testdata/tree-construction/inbody01.dat | 54 - .../testdata/tree-construction/isindex.dat | 49 - .../tree-construction/main-element.dat | 46 - .../tests/testdata/tree-construction/math.dat | 81 - .../tree-construction/menuitem-element.dat | 229 - .../namespace-sensitivity.dat | 16 - .../testdata/tree-construction/noscript01.dat | 237 - ...pending-spec-changes-plain-text-unsafe.dat | Bin 816 -> 0 bytes .../pending-spec-changes.dat | 46 - .../tree-construction/plain-text-unsafe.dat | Bin 7925 -> 0 bytes .../tests/testdata/tree-construction/ruby.dat | 301 - .../tree-construction/scriptdata01.dat | 365 - .../tree-construction/scripted/adoption01.dat | 15 - .../tree-construction/scripted/ark.dat | 26 - .../tree-construction/scripted/webkit01.dat | 28 - .../testdata/tree-construction/tables01.dat | 286 - .../testdata/tree-construction/template.dat | 1604 - .../testdata/tree-construction/tests1.dat | 1957 - .../testdata/tree-construction/tests10.dat | 847 - .../testdata/tree-construction/tests11.dat | 523 - .../testdata/tree-construction/tests12.dat | 62 - .../testdata/tree-construction/tests14.dat | 75 - .../testdata/tree-construction/tests15.dat | 216 - .../testdata/tree-construction/tests16.dat | 2460 - .../testdata/tree-construction/tests17.dat | 179 - .../testdata/tree-construction/tests18.dat | 322 - .../testdata/tree-construction/tests19.dat | 1454 - .../testdata/tree-construction/tests2.dat | 780 - .../testdata/tree-construction/tests20.dat | 582 - .../testdata/tree-construction/tests21.dat | 305 - .../testdata/tree-construction/tests22.dat | 190 - .../testdata/tree-construction/tests23.dat | 168 - .../testdata/tree-construction/tests24.dat | 79 - .../testdata/tree-construction/tests25.dat | 221 - .../testdata/tree-construction/tests26.dat | 388 - .../testdata/tree-construction/tests3.dat | 305 - .../testdata/tree-construction/tests4.dat | 58 - .../testdata/tree-construction/tests5.dat | 210 - .../testdata/tree-construction/tests6.dat | 659 - .../testdata/tree-construction/tests7.dat | 418 - .../testdata/tree-construction/tests8.dat | 151 - .../testdata/tree-construction/tests9.dat | 472 - .../tree-construction/tests_innerHTML_1.dat | 887 - .../testdata/tree-construction/tricky01.dat | 336 - .../testdata/tree-construction/webkit01.dat | 720 - .../testdata/tree-construction/webkit02.dat | 301 - libs/html5lib/tests/tokenizer.py | 5 +- libs/html5lib/tests/tokenizertotree.py | 1 + libs/html5lib/tests/tree_construction.py | 13 +- libs/html5lib/tests/us-ascii.html | 3 + libs/html5lib/tests/utf-8-bom.html | 3 + libs/html5lib/treebuilders/base.py | 8 +- libs/html5lib/treebuilders/dom.py | 5 +- libs/html5lib/treebuilders/etree.py | 27 +- libs/html5lib/treebuilders/etree_lxml.py | 64 +- libs/html5lib/treewalkers/__init__.py | 6 +- libs/html5lib/treewalkers/etree.py | 1 + libs/html5lib/treewalkers/etree_lxml.py | 4 +- libs/libfuturize/fixes/__init__.py | 3 +- ...future__imports_except_unicode_literals.py | 4 +- libs/libfuturize/fixes/fix_division_safe.py | 55 +- libs/libfuturize/fixes/fix_input.py | 32 + libs/libfuturize/fixes/fix_raise.py | 82 +- libs/past/__init__.py | 8 +- libs/past/builtins/misc.py | 13 +- libs/past/builtins/noniterators.py | 2 +- libs/past/tests/__init__.py | 0 libs/past/translation/__init__.py | 24 +- libs/past/types/oldstr.py | 5 +- libs/past/utils/__init__.py | 2 +- libs/pkg_resources.py | 2891 -- libs/pkg_resources/__init__.py | 3142 -- libs/pkg_resources/_vendor/__init__.py | 0 libs/pkg_resources/_vendor/appdirs.py | 608 - .../_vendor/packaging/__about__.py | 21 - .../_vendor/packaging/__init__.py | 14 - .../_vendor/packaging/_compat.py | 30 - .../_vendor/packaging/_structures.py | 68 - .../_vendor/packaging/markers.py | 301 - .../_vendor/packaging/requirements.py | 127 - .../_vendor/packaging/specifiers.py | 774 - libs/pkg_resources/_vendor/packaging/utils.py | 14 - .../_vendor/packaging/version.py | 393 - libs/pkg_resources/_vendor/pyparsing.py | 5720 --- libs/pkg_resources/_vendor/six.py | 868 - libs/pkg_resources/extern/__init__.py | 73 - libs/pkg_resources/py31compat.py | 23 - libs/pysubs2/cli.py | 5 +- libs/pysubs2/common.py | 2 +- libs/pysubs2/mpl2.py | 2 +- libs/pysubs2/ssaevent.py | 24 +- libs/pysubs2/ssafile.py | 52 +- libs/pysubs2/ssastyle.py | 2 +- libs/pysubs2/subrip.py | 4 +- libs/pysubs2/substation.py | 15 +- libs/socks.py | 125 +- libs/tqdm/__init__.py | 21 +- libs/tqdm/__main__.py | 1 + libs/tqdm/_main.py | 4 +- libs/tqdm/_monitor.py | 32 +- libs/tqdm/_tqdm.py | 4 +- libs/tqdm/_tqdm_gui.py | 4 +- libs/tqdm/_tqdm_notebook.py | 4 +- libs/tqdm/_tqdm_pandas.py | 38 +- libs/tqdm/_utils.py | 10 +- libs/tqdm/_version.py | 59 - libs/tqdm/asyncio.py | 93 + libs/tqdm/auto.py | 40 +- libs/tqdm/autonotebook.py | 16 +- libs/tqdm/cli.py | 155 +- libs/tqdm/completion.sh | 4 +- libs/tqdm/contrib/__init__.py | 80 +- libs/tqdm/contrib/bells.py | 24 + libs/tqdm/contrib/concurrent.py | 66 +- libs/tqdm/contrib/discord.py | 121 + libs/tqdm/contrib/itertools.py | 8 +- libs/tqdm/contrib/logging.py | 128 + libs/tqdm/contrib/telegram.py | 153 +- libs/tqdm/contrib/utils_worker.py | 40 + libs/tqdm/dask.py | 46 + libs/tqdm/gui.py | 216 +- libs/tqdm/keras.py | 47 +- libs/tqdm/notebook.py | 199 +- libs/tqdm/rich.py | 152 + libs/tqdm/std.py | 579 +- libs/tqdm/tests/tests_concurrent.py | 58 - libs/tqdm/tests/tests_contrib.py | 61 - libs/tqdm/tests/tests_itertools.py | 27 - libs/tqdm/tests/tests_keras.py | 97 - libs/tqdm/tests/tests_main.py | 172 - libs/tqdm/tests/tests_notebook.py | 9 - libs/tqdm/tests/tests_pandas.py | 264 - libs/tqdm/tests/tests_perf.py | 367 - libs/tqdm/tests/tests_synchronisation.py | 213 - libs/tqdm/tests/tests_tqdm.py | 1966 - libs/tqdm/tests/tests_version.py | 12 - libs/tqdm/tk.py | 207 + libs/tqdm/tqdm.1 | 74 +- libs/tqdm/utils.py | 233 +- libs/tqdm/version.py | 9 + libs/version.txt | 9 +- 244 files changed, 8217 insertions(+), 96583 deletions(-) delete mode 100644 libs/babelfish/data/get_files.py delete mode 100644 libs/babelfish/tests.py mode change 100644 => 100755 libs/future/backports/test/pystone.py create mode 100644 libs/future/builtins/new_min_max.py delete mode 100644 libs/html5lib/_trie/datrie.py create mode 100644 libs/html5lib/tests/sanitizer-testdata/tests1.dat create mode 100644 libs/html5lib/tests/serializer-testdata/core.test create mode 100644 libs/html5lib/tests/serializer-testdata/injectmeta.test create mode 100644 libs/html5lib/tests/serializer-testdata/optionaltags.test create mode 100644 libs/html5lib/tests/serializer-testdata/options.test create mode 100644 libs/html5lib/tests/serializer-testdata/whitespace.test create mode 100644 libs/html5lib/tests/test_tokenizer2.py delete mode 100644 libs/html5lib/tests/testdata/AUTHORS.rst delete mode 100644 libs/html5lib/tests/testdata/LICENSE delete mode 100644 libs/html5lib/tests/testdata/encoding/chardet/test_big5.txt delete mode 100644 libs/html5lib/tests/testdata/encoding/test-yahoo-jp.dat delete mode 100644 libs/html5lib/tests/testdata/encoding/tests1.dat delete mode 100644 libs/html5lib/tests/testdata/encoding/tests2.dat delete mode 100644 libs/html5lib/tests/testdata/serializer/core.test delete mode 100644 libs/html5lib/tests/testdata/serializer/injectmeta.test delete mode 100644 libs/html5lib/tests/testdata/serializer/optionaltags.test delete mode 100644 libs/html5lib/tests/testdata/serializer/options.test delete mode 100644 libs/html5lib/tests/testdata/serializer/whitespace.test delete mode 100644 libs/html5lib/tests/testdata/tokenizer/README.md delete mode 100644 libs/html5lib/tests/testdata/tokenizer/contentModelFlags.test delete mode 100644 libs/html5lib/tests/testdata/tokenizer/domjs.test delete mode 100644 libs/html5lib/tests/testdata/tokenizer/entities.test delete mode 100644 libs/html5lib/tests/testdata/tokenizer/escapeFlag.test delete mode 100644 libs/html5lib/tests/testdata/tokenizer/namedEntities.test delete mode 100644 libs/html5lib/tests/testdata/tokenizer/numericEntities.test delete mode 100644 libs/html5lib/tests/testdata/tokenizer/pendingSpecChanges.test delete mode 100644 libs/html5lib/tests/testdata/tokenizer/test1.test delete mode 100644 libs/html5lib/tests/testdata/tokenizer/test2.test delete mode 100644 libs/html5lib/tests/testdata/tokenizer/test3.test delete mode 100644 libs/html5lib/tests/testdata/tokenizer/test4.test delete mode 100644 libs/html5lib/tests/testdata/tokenizer/unicodeChars.test delete mode 100644 libs/html5lib/tests/testdata/tokenizer/unicodeCharsProblematic.test delete mode 100644 libs/html5lib/tests/testdata/tokenizer/xmlViolation.test delete mode 100644 libs/html5lib/tests/testdata/tree-construction/README.md delete mode 100644 libs/html5lib/tests/testdata/tree-construction/adoption01.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/adoption02.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/comments01.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/doctype01.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/domjs-unsafe.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/entities01.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/entities02.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/foreign-fragment.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/html5test-com.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/inbody01.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/isindex.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/main-element.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/math.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/menuitem-element.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/namespace-sensitivity.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/noscript01.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/pending-spec-changes-plain-text-unsafe.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/pending-spec-changes.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/plain-text-unsafe.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/ruby.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/scriptdata01.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/scripted/adoption01.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/scripted/ark.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/scripted/webkit01.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/tables01.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/template.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/tests1.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/tests10.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/tests11.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/tests12.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/tests14.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/tests15.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/tests16.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/tests17.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/tests18.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/tests19.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/tests2.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/tests20.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/tests21.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/tests22.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/tests23.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/tests24.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/tests25.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/tests26.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/tests3.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/tests4.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/tests5.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/tests6.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/tests7.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/tests8.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/tests9.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/tests_innerHTML_1.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/tricky01.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/webkit01.dat delete mode 100644 libs/html5lib/tests/testdata/tree-construction/webkit02.dat create mode 100644 libs/html5lib/tests/us-ascii.html create mode 100644 libs/html5lib/tests/utf-8-bom.html create mode 100644 libs/libfuturize/fixes/fix_input.py delete mode 100644 libs/past/tests/__init__.py delete mode 100644 libs/pkg_resources.py delete mode 100644 libs/pkg_resources/__init__.py delete mode 100644 libs/pkg_resources/_vendor/__init__.py delete mode 100644 libs/pkg_resources/_vendor/appdirs.py delete mode 100644 libs/pkg_resources/_vendor/packaging/__about__.py delete mode 100644 libs/pkg_resources/_vendor/packaging/__init__.py delete mode 100644 libs/pkg_resources/_vendor/packaging/_compat.py delete mode 100644 libs/pkg_resources/_vendor/packaging/_structures.py delete mode 100644 libs/pkg_resources/_vendor/packaging/markers.py delete mode 100644 libs/pkg_resources/_vendor/packaging/requirements.py delete mode 100644 libs/pkg_resources/_vendor/packaging/specifiers.py delete mode 100644 libs/pkg_resources/_vendor/packaging/utils.py delete mode 100644 libs/pkg_resources/_vendor/packaging/version.py delete mode 100644 libs/pkg_resources/_vendor/pyparsing.py delete mode 100644 libs/pkg_resources/_vendor/six.py delete mode 100644 libs/pkg_resources/extern/__init__.py delete mode 100644 libs/pkg_resources/py31compat.py delete mode 100644 libs/tqdm/_version.py create mode 100644 libs/tqdm/asyncio.py mode change 100644 => 100755 libs/tqdm/completion.sh create mode 100644 libs/tqdm/contrib/bells.py create mode 100644 libs/tqdm/contrib/discord.py create mode 100644 libs/tqdm/contrib/logging.py create mode 100644 libs/tqdm/contrib/utils_worker.py create mode 100644 libs/tqdm/dask.py create mode 100644 libs/tqdm/rich.py delete mode 100644 libs/tqdm/tests/tests_concurrent.py delete mode 100644 libs/tqdm/tests/tests_contrib.py delete mode 100644 libs/tqdm/tests/tests_itertools.py delete mode 100644 libs/tqdm/tests/tests_keras.py delete mode 100644 libs/tqdm/tests/tests_main.py delete mode 100644 libs/tqdm/tests/tests_notebook.py delete mode 100644 libs/tqdm/tests/tests_pandas.py delete mode 100644 libs/tqdm/tests/tests_perf.py delete mode 100644 libs/tqdm/tests/tests_synchronisation.py delete mode 100644 libs/tqdm/tests/tests_tqdm.py delete mode 100644 libs/tqdm/tests/tests_version.py create mode 100644 libs/tqdm/tk.py create mode 100644 libs/tqdm/version.py diff --git a/bazarr.py b/bazarr.py index 5b6d077ba..c2277bb5b 100644 --- a/bazarr.py +++ b/bazarr.py @@ -20,8 +20,8 @@ def check_python_version(): print("Python " + minimum_py3_str + " or greater required. " "Current version is " + platform.python_version() + ". Please upgrade Python.") sys.exit(1) - elif int(python_version[0]) == 3 and int(python_version[1]) == 9: - print("Python 3.9.x is unsupported. Current version is " + platform.python_version() + + elif int(python_version[0]) == 3 and int(python_version[1]) > 8: + print("Python version greater than 3.8.x is unsupported. Current version is " + platform.python_version() + ". Keep in mind that even if it works, you're on your own.") elif (int(python_version[0]) == minimum_py3_tuple[0] and int(python_version[1]) < minimum_py3_tuple[1]) or \ (int(python_version[0]) != minimum_py3_tuple[0]): diff --git a/libs/babelfish/__init__.py b/libs/babelfish/__init__.py index 559705a25..082f1551f 100644 --- a/libs/babelfish/__init__.py +++ b/libs/babelfish/__init__.py @@ -4,12 +4,6 @@ # Use of this source code is governed by the 3-clause BSD license # that can be found in the LICENSE file. # -__title__ = 'babelfish' -__version__ = '0.5.5-dev' -__author__ = 'Antoine Bertin' -__license__ = 'BSD' -__copyright__ = 'Copyright 2015 the BabelFish authors' - import sys if sys.version_info[0] >= 3: diff --git a/libs/babelfish/converters/__init__.py b/libs/babelfish/converters/__init__.py index feb687b0e..d27f84900 100644 --- a/libs/babelfish/converters/__init__.py +++ b/libs/babelfish/converters/__init__.py @@ -2,17 +2,22 @@ # Use of this source code is governed by the 3-clause BSD license # that can be found in the LICENSE file. # -import collections from pkg_resources import iter_entry_points, EntryPoint from ..exceptions import LanguageConvertError, LanguageReverseError +try: + # Python 3.3+ + from collections.abc import Mapping, MutableMapping +except ImportError: + from collections import Mapping, MutableMapping + # from https://github.com/kennethreitz/requests/blob/master/requests/structures.py -class CaseInsensitiveDict(collections.MutableMapping): +class CaseInsensitiveDict(MutableMapping): """A case-insensitive ``dict``-like object. Implements all methods and operations of - ``collections.MutableMapping`` as well as dict's ``copy``. Also + ``collections.abc.MutableMapping`` as well as dict's ``copy``. Also provides ``lower_items``. All keys are expected to be strings. The structure remembers the @@ -63,7 +68,7 @@ class CaseInsensitiveDict(collections.MutableMapping): ) def __eq__(self, other): - if isinstance(other, collections.Mapping): + if isinstance(other, Mapping): other = CaseInsensitiveDict(other) else: return NotImplemented diff --git a/libs/babelfish/converters/opensubtitles.py b/libs/babelfish/converters/opensubtitles.py index 5b18e648c..3f68b683a 100644 --- a/libs/babelfish/converters/opensubtitles.py +++ b/libs/babelfish/converters/opensubtitles.py @@ -14,9 +14,9 @@ class OpenSubtitlesConverter(LanguageReverseConverter): def __init__(self): self.alpha3b_converter = language_converters['alpha3b'] self.alpha2_converter = language_converters['alpha2'] - self.to_opensubtitles = {('por', 'BR'): 'pob', ('gre', None): 'ell', ('srp', None): 'scc', ('srp', 'ME'): 'mne'} + self.to_opensubtitles = {('por', 'BR'): 'pob', ('gre', None): 'ell', ('srp', None): 'scc', ('srp', 'ME'): 'mne', ('chi', 'TW'): 'zht'} self.from_opensubtitles = CaseInsensitiveDict({'pob': ('por', 'BR'), 'pb': ('por', 'BR'), 'ell': ('ell', None), - 'scc': ('srp', None), 'mne': ('srp', 'ME')}) + 'scc': ('srp', None), 'mne': ('srp', 'ME'), 'zht': ('zho', 'TW')}) self.codes = (self.alpha2_converter.codes | self.alpha3b_converter.codes | set(self.from_opensubtitles.keys())) def convert(self, alpha3, country=None, script=None): diff --git a/libs/babelfish/country.py b/libs/babelfish/country.py index dbc14ce61..4c24b52b2 100644 --- a/libs/babelfish/country.py +++ b/libs/babelfish/country.py @@ -4,6 +4,7 @@ # Use of this source code is governed by the 3-clause BSD license # that can be found in the LICENSE file. # +from __future__ import unicode_literals from collections import namedtuple from functools import partial from pkg_resources import resource_stream # @UnresolvedImport diff --git a/libs/babelfish/data/get_files.py b/libs/babelfish/data/get_files.py deleted file mode 100644 index aaa090ccc..000000000 --- a/libs/babelfish/data/get_files.py +++ /dev/null @@ -1,45 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# -# Copyright (c) 2013 the BabelFish authors. All rights reserved. -# Use of this source code is governed by the 3-clause BSD license -# that can be found in the LICENSE file. -# -from __future__ import unicode_literals -import os.path -import tempfile -import zipfile -import requests - - -DATA_DIR = os.path.dirname(__file__) - -# iso-3166-1.txt -print('Downloading ISO-3166-1 standard (ISO country codes)...') -with open(os.path.join(DATA_DIR, 'iso-3166-1.txt'), 'w') as f: - r = requests.get('http://www.iso.org/iso/home/standards/country_codes/country_names_and_code_elements_txt.htm') - f.write(r.content.strip()) - -# iso-639-3.tab -print('Downloading ISO-639-3 standard (ISO language codes)...') -with tempfile.TemporaryFile() as f: - r = requests.get('http://www-01.sil.org/iso639-3/iso-639-3_Code_Tables_20130531.zip') - f.write(r.content) - with zipfile.ZipFile(f) as z: - z.extract('iso-639-3.tab', DATA_DIR) - -# iso-15924 -print('Downloading ISO-15924 standard (ISO script codes)...') -with tempfile.TemporaryFile() as f: - r = requests.get('http://www.unicode.org/iso15924/iso15924.txt.zip') - f.write(r.content) - with zipfile.ZipFile(f) as z: - z.extract('iso15924-utf8-20131012.txt', DATA_DIR) - -# opensubtitles supported languages -print('Downloading OpenSubtitles supported languages...') -with open(os.path.join(DATA_DIR, 'opensubtitles_languages.txt'), 'w') as f: - r = requests.get('http://www.opensubtitles.org/addons/export_languages.php') - f.write(r.content) - -print('Done!') diff --git a/libs/babelfish/language.py b/libs/babelfish/language.py index 6c98fb602..b4b251937 100644 --- a/libs/babelfish/language.py +++ b/libs/babelfish/language.py @@ -4,6 +4,7 @@ # Use of this source code is governed by the 3-clause BSD license # that can be found in the LICENSE file. # +from __future__ import unicode_literals from collections import namedtuple from functools import partial from pkg_resources import resource_stream # @UnresolvedImport diff --git a/libs/babelfish/script.py b/libs/babelfish/script.py index 52258c95a..4b59ce016 100644 --- a/libs/babelfish/script.py +++ b/libs/babelfish/script.py @@ -4,6 +4,7 @@ # Use of this source code is governed by the 3-clause BSD license # that can be found in the LICENSE file. # +from __future__ import unicode_literals from collections import namedtuple from pkg_resources import resource_stream # @UnresolvedImport from . import basestr diff --git a/libs/babelfish/tests.py b/libs/babelfish/tests.py deleted file mode 100644 index b72ec284c..000000000 --- a/libs/babelfish/tests.py +++ /dev/null @@ -1,377 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# -# Copyright (c) 2013 the BabelFish authors. All rights reserved. -# Use of this source code is governed by the 3-clause BSD license -# that can be found in the LICENSE file. -# -from __future__ import unicode_literals -import re -import sys -import pickle -from unittest import TestCase, TestSuite, TestLoader, TextTestRunner -from pkg_resources import resource_stream # @UnresolvedImport -from babelfish import (LANGUAGES, Language, Country, Script, language_converters, country_converters, - LanguageReverseConverter, LanguageConvertError, LanguageReverseError, CountryReverseError) - - -if sys.version_info[:2] <= (2, 6): - _MAX_LENGTH = 80 - - def safe_repr(obj, short=False): - try: - result = repr(obj) - except Exception: - result = object.__repr__(obj) - if not short or len(result) < _MAX_LENGTH: - return result - return result[:_MAX_LENGTH] + ' [truncated]...' - - class _AssertRaisesContext(object): - """A context manager used to implement TestCase.assertRaises* methods.""" - - def __init__(self, expected, test_case, expected_regexp=None): - self.expected = expected - self.failureException = test_case.failureException - self.expected_regexp = expected_regexp - - def __enter__(self): - return self - - def __exit__(self, exc_type, exc_value, tb): - if exc_type is None: - try: - exc_name = self.expected.__name__ - except AttributeError: - exc_name = str(self.expected) - raise self.failureException( - "{0} not raised".format(exc_name)) - if not issubclass(exc_type, self.expected): - # let unexpected exceptions pass through - return False - self.exception = exc_value # store for later retrieval - if self.expected_regexp is None: - return True - - expected_regexp = self.expected_regexp - if isinstance(expected_regexp, basestring): - expected_regexp = re.compile(expected_regexp) - if not expected_regexp.search(str(exc_value)): - raise self.failureException('"%s" does not match "%s"' % - (expected_regexp.pattern, str(exc_value))) - return True - - class _Py26FixTestCase(object): - def assertIsNone(self, obj, msg=None): - """Same as self.assertTrue(obj is None), with a nicer default message.""" - if obj is not None: - standardMsg = '%s is not None' % (safe_repr(obj),) - self.fail(self._formatMessage(msg, standardMsg)) - - def assertIsNotNone(self, obj, msg=None): - """Included for symmetry with assertIsNone.""" - if obj is None: - standardMsg = 'unexpectedly None' - self.fail(self._formatMessage(msg, standardMsg)) - - def assertIn(self, member, container, msg=None): - """Just like self.assertTrue(a in b), but with a nicer default message.""" - if member not in container: - standardMsg = '%s not found in %s' % (safe_repr(member), - safe_repr(container)) - self.fail(self._formatMessage(msg, standardMsg)) - - def assertNotIn(self, member, container, msg=None): - """Just like self.assertTrue(a not in b), but with a nicer default message.""" - if member in container: - standardMsg = '%s unexpectedly found in %s' % (safe_repr(member), - safe_repr(container)) - self.fail(self._formatMessage(msg, standardMsg)) - - def assertIs(self, expr1, expr2, msg=None): - """Just like self.assertTrue(a is b), but with a nicer default message.""" - if expr1 is not expr2: - standardMsg = '%s is not %s' % (safe_repr(expr1), - safe_repr(expr2)) - self.fail(self._formatMessage(msg, standardMsg)) - - def assertIsNot(self, expr1, expr2, msg=None): - """Just like self.assertTrue(a is not b), but with a nicer default message.""" - if expr1 is expr2: - standardMsg = 'unexpectedly identical: %s' % (safe_repr(expr1),) - self.fail(self._formatMessage(msg, standardMsg)) - -else: - class _Py26FixTestCase(object): - pass - - -class TestScript(TestCase, _Py26FixTestCase): - def test_wrong_script(self): - self.assertRaises(ValueError, lambda: Script('Azer')) - - def test_eq(self): - self.assertEqual(Script('Latn'), Script('Latn')) - - def test_ne(self): - self.assertNotEqual(Script('Cyrl'), Script('Latn')) - - def test_hash(self): - self.assertEqual(hash(Script('Hira')), hash('Hira')) - - def test_pickle(self): - self.assertEqual(pickle.loads(pickle.dumps(Script('Latn'))), Script('Latn')) - - -class TestCountry(TestCase, _Py26FixTestCase): - def test_wrong_country(self): - self.assertRaises(ValueError, lambda: Country('ZZ')) - - def test_eq(self): - self.assertEqual(Country('US'), Country('US')) - - def test_ne(self): - self.assertNotEqual(Country('GB'), Country('US')) - self.assertIsNotNone(Country('US')) - - def test_hash(self): - self.assertEqual(hash(Country('US')), hash('US')) - - def test_pickle(self): - for country in [Country('GB'), Country('US')]: - self.assertEqual(pickle.loads(pickle.dumps(country)), country) - - def test_converter_name(self): - self.assertEqual(Country('US').name, 'UNITED STATES') - self.assertEqual(Country.fromname('UNITED STATES'), Country('US')) - self.assertEqual(Country.fromcode('UNITED STATES', 'name'), Country('US')) - self.assertRaises(CountryReverseError, lambda: Country.fromname('ZZZZZ')) - self.assertEqual(len(country_converters['name'].codes), 249) - - -class TestLanguage(TestCase, _Py26FixTestCase): - def test_languages(self): - self.assertEqual(len(LANGUAGES), 7874) - - def test_wrong_language(self): - self.assertRaises(ValueError, lambda: Language('zzz')) - - def test_unknown_language(self): - self.assertEqual(Language('zzzz', unknown='und'), Language('und')) - - def test_converter_alpha2(self): - self.assertEqual(Language('eng').alpha2, 'en') - self.assertEqual(Language.fromalpha2('en'), Language('eng')) - self.assertEqual(Language.fromcode('en', 'alpha2'), Language('eng')) - self.assertRaises(LanguageReverseError, lambda: Language.fromalpha2('zz')) - self.assertRaises(LanguageConvertError, lambda: Language('aaa').alpha2) - self.assertEqual(len(language_converters['alpha2'].codes), 184) - - def test_converter_alpha3b(self): - self.assertEqual(Language('fra').alpha3b, 'fre') - self.assertEqual(Language.fromalpha3b('fre'), Language('fra')) - self.assertEqual(Language.fromcode('fre', 'alpha3b'), Language('fra')) - self.assertRaises(LanguageReverseError, lambda: Language.fromalpha3b('zzz')) - self.assertRaises(LanguageConvertError, lambda: Language('aaa').alpha3b) - self.assertEqual(len(language_converters['alpha3b'].codes), 418) - - def test_converter_alpha3t(self): - self.assertEqual(Language('fra').alpha3t, 'fra') - self.assertEqual(Language.fromalpha3t('fra'), Language('fra')) - self.assertEqual(Language.fromcode('fra', 'alpha3t'), Language('fra')) - self.assertRaises(LanguageReverseError, lambda: Language.fromalpha3t('zzz')) - self.assertRaises(LanguageConvertError, lambda: Language('aaa').alpha3t) - self.assertEqual(len(language_converters['alpha3t'].codes), 418) - - def test_converter_name(self): - self.assertEqual(Language('eng').name, 'English') - self.assertEqual(Language.fromname('English'), Language('eng')) - self.assertEqual(Language.fromcode('English', 'name'), Language('eng')) - self.assertRaises(LanguageReverseError, lambda: Language.fromname('Zzzzzzzzz')) - self.assertEqual(len(language_converters['name'].codes), 7874) - - def test_converter_scope(self): - self.assertEqual(language_converters['scope'].codes, set(['I', 'S', 'M'])) - self.assertEqual(Language('eng').scope, 'individual') - self.assertEqual(Language('und').scope, 'special') - - def test_converter_type(self): - self.assertEqual(language_converters['type'].codes, set(['A', 'C', 'E', 'H', 'L', 'S'])) - self.assertEqual(Language('eng').type, 'living') - self.assertEqual(Language('und').type, 'special') - - def test_converter_opensubtitles(self): - self.assertEqual(Language('fra').opensubtitles, Language('fra').alpha3b) - self.assertEqual(Language('por', 'BR').opensubtitles, 'pob') - self.assertEqual(Language.fromopensubtitles('fre'), Language('fra')) - self.assertEqual(Language.fromopensubtitles('pob'), Language('por', 'BR')) - self.assertEqual(Language.fromopensubtitles('pb'), Language('por', 'BR')) - # Montenegrin is not recognized as an ISO language (yet?) but for now it is - # unofficially accepted as Serbian from Montenegro - self.assertEqual(Language.fromopensubtitles('mne'), Language('srp', 'ME')) - self.assertEqual(Language.fromcode('pob', 'opensubtitles'), Language('por', 'BR')) - self.assertRaises(LanguageReverseError, lambda: Language.fromopensubtitles('zzz')) - self.assertRaises(LanguageConvertError, lambda: Language('aaa').opensubtitles) - self.assertEqual(len(language_converters['opensubtitles'].codes), 607) - - # test with all the LANGUAGES from the opensubtitles api - # downloaded from: http://www.opensubtitles.org/addons/export_languages.php - f = resource_stream('babelfish', 'data/opensubtitles_languages.txt') - f.readline() - for l in f: - idlang, alpha2, _, upload_enabled, web_enabled = l.decode('utf-8').strip().split('\t') - if not int(upload_enabled) and not int(web_enabled): - # do not test LANGUAGES that are too esoteric / not widely available - continue - self.assertEqual(Language.fromopensubtitles(idlang).opensubtitles, idlang) - if alpha2: - self.assertEqual(Language.fromopensubtitles(idlang), Language.fromopensubtitles(alpha2)) - f.close() - - def test_converter_opensubtitles_codes(self): - for code in language_converters['opensubtitles'].from_opensubtitles.keys(): - self.assertIn(code, language_converters['opensubtitles'].codes) - - def test_fromietf_country_script(self): - language = Language.fromietf('fra-FR-Latn') - self.assertEqual(language.alpha3, 'fra') - self.assertEqual(language.country, Country('FR')) - self.assertEqual(language.script, Script('Latn')) - - def test_fromietf_country_no_script(self): - language = Language.fromietf('fra-FR') - self.assertEqual(language.alpha3, 'fra') - self.assertEqual(language.country, Country('FR')) - self.assertIsNone(language.script) - - def test_fromietf_no_country_no_script(self): - language = Language.fromietf('fra-FR') - self.assertEqual(language.alpha3, 'fra') - self.assertEqual(language.country, Country('FR')) - self.assertIsNone(language.script) - - def test_fromietf_no_country_script(self): - language = Language.fromietf('fra-Latn') - self.assertEqual(language.alpha3, 'fra') - self.assertIsNone(language.country) - self.assertEqual(language.script, Script('Latn')) - - def test_fromietf_alpha2_language(self): - language = Language.fromietf('fr-Latn') - self.assertEqual(language.alpha3, 'fra') - self.assertIsNone(language.country) - self.assertEqual(language.script, Script('Latn')) - - def test_fromietf_wrong_language(self): - self.assertRaises(ValueError, lambda: Language.fromietf('xyz-FR')) - - def test_fromietf_wrong_country(self): - self.assertRaises(ValueError, lambda: Language.fromietf('fra-YZ')) - - def test_fromietf_wrong_script(self): - self.assertRaises(ValueError, lambda: Language.fromietf('fra-FR-Wxyz')) - - def test_eq(self): - self.assertEqual(Language('eng'), Language('eng')) - - def test_ne(self): - self.assertNotEqual(Language('fra'), Language('eng')) - self.assertIsNotNone(Language('fra')) - - def test_nonzero(self): - self.assertFalse(bool(Language('und'))) - self.assertTrue(bool(Language('eng'))) - - def test_language_hasattr(self): - self.assertTrue(hasattr(Language('fra'), 'alpha3')) - self.assertTrue(hasattr(Language('fra'), 'alpha2')) - self.assertFalse(hasattr(Language('bej'), 'alpha2')) - - def test_country_hasattr(self): - self.assertTrue(hasattr(Country('US'), 'name')) - self.assertTrue(hasattr(Country('FR'), 'alpha2')) - self.assertFalse(hasattr(Country('BE'), 'none')) - - def test_country(self): - self.assertEqual(Language('por', 'BR').country, Country('BR')) - self.assertEqual(Language('eng', Country('US')).country, Country('US')) - - def test_eq_with_country(self): - self.assertEqual(Language('eng', 'US'), Language('eng', Country('US'))) - - def test_ne_with_country(self): - self.assertNotEqual(Language('eng', 'US'), Language('eng', Country('GB'))) - - def test_script(self): - self.assertEqual(Language('srp', script='Latn').script, Script('Latn')) - self.assertEqual(Language('srp', script=Script('Cyrl')).script, Script('Cyrl')) - - def test_eq_with_script(self): - self.assertEqual(Language('srp', script='Latn'), Language('srp', script=Script('Latn'))) - - def test_ne_with_script(self): - self.assertNotEqual(Language('srp', script='Latn'), Language('srp', script=Script('Cyrl'))) - - def test_eq_with_country_and_script(self): - self.assertEqual(Language('srp', 'SR', 'Latn'), Language('srp', Country('SR'), Script('Latn'))) - - def test_ne_with_country_and_script(self): - self.assertNotEqual(Language('srp', 'SR', 'Latn'), Language('srp', Country('SR'), Script('Cyrl'))) - - def test_hash(self): - self.assertEqual(hash(Language('fra')), hash('fr')) - self.assertEqual(hash(Language('ace')), hash('ace')) - self.assertEqual(hash(Language('por', 'BR')), hash('pt-BR')) - self.assertEqual(hash(Language('srp', script='Cyrl')), hash('sr-Cyrl')) - self.assertEqual(hash(Language('eng', 'US', 'Latn')), hash('en-US-Latn')) - - def test_pickle(self): - for lang in [Language('fra'), - Language('eng', 'US'), - Language('srp', script='Latn'), - Language('eng', 'US', 'Latn')]: - self.assertEqual(pickle.loads(pickle.dumps(lang)), lang) - - def test_str(self): - self.assertEqual(Language.fromietf(str(Language('eng', 'US', 'Latn'))), Language('eng', 'US', 'Latn')) - self.assertEqual(Language.fromietf(str(Language('fra', 'FR'))), Language('fra', 'FR')) - self.assertEqual(Language.fromietf(str(Language('bel'))), Language('bel')) - - def test_register_converter(self): - class TestConverter(LanguageReverseConverter): - def __init__(self): - self.to_test = {'fra': 'test1', 'eng': 'test2'} - self.from_test = {'test1': 'fra', 'test2': 'eng'} - - def convert(self, alpha3, country=None, script=None): - if alpha3 not in self.to_test: - raise LanguageConvertError(alpha3, country, script) - return self.to_test[alpha3] - - def reverse(self, test): - if test not in self.from_test: - raise LanguageReverseError(test) - return (self.from_test[test], None) - language = Language('fra') - self.assertFalse(hasattr(language, 'test')) - language_converters['test'] = TestConverter() - self.assertTrue(hasattr(language, 'test')) - self.assertIn('test', language_converters) - self.assertEqual(Language('fra').test, 'test1') - self.assertEqual(Language.fromtest('test2').alpha3, 'eng') - del language_converters['test'] - self.assertNotIn('test', language_converters) - self.assertRaises(KeyError, lambda: Language.fromtest('test1')) - self.assertRaises(AttributeError, lambda: Language('fra').test) - - -def suite(): - suite = TestSuite() - suite.addTest(TestLoader().loadTestsFromTestCase(TestScript)) - suite.addTest(TestLoader().loadTestsFromTestCase(TestCountry)) - suite.addTest(TestLoader().loadTestsFromTestCase(TestLanguage)) - return suite - - -if __name__ == '__main__': - TextTestRunner().run(suite()) diff --git a/libs/flask_restful/__init__.py b/libs/flask_restful/__init__.py index 365c068ad..e9f9d9f6f 100644 --- a/libs/flask_restful/__init__.py +++ b/libs/flask_restful/__init__.py @@ -11,10 +11,12 @@ from werkzeug.wrappers import Response as ResponseBase from flask_restful.utils import http_status_message, unpack, OrderedDict from flask_restful.representations.json import output_json import sys -from flask.helpers import _endpoint_from_view_func from types import MethodType import operator -from collections import Mapping +try: + from collections.abc import Mapping +except ImportError: + from collections import Mapping __all__ = ('Api', 'Resource', 'marshal', 'marshal_with', 'marshal_with_field', 'abort') @@ -58,7 +60,7 @@ class Api(object): to handle 404 errors throughout your app :param serve_challenge_on_401: Whether to serve a challenge response to clients on receiving 401. This usually leads to a username/password - popup in web browers. + popup in web browsers. :param url_part_order: A string that controls the order that the pieces of the url are concatenated when the full url is constructed. 'b' is the blueprint (or blueprint registration) prefix, 'a' is the api @@ -153,7 +155,7 @@ class Api(object): rule = blueprint_setup.url_prefix + rule options.setdefault('subdomain', blueprint_setup.subdomain) if endpoint is None: - endpoint = _endpoint_from_view_func(view_func) + endpoint = view_func.__name__ defaults = blueprint_setup.url_defaults if 'defaults' in options: defaults = dict(defaults, **options.pop('defaults')) @@ -287,6 +289,13 @@ class Api(object): headers = Headers() if isinstance(e, HTTPException): + if e.response is not None: + # If HTTPException is initialized with a response, then return e.get_response(). + # This prevents specified error response from being overridden. + # eg. HTTPException(response=Response("Hello World")) + resp = e.get_response() + return resp + code = e.code default_data = { 'message': getattr(e, 'description', http_status_message(code)) diff --git a/libs/flask_restful/__version__.py b/libs/flask_restful/__version__.py index ebac6ac55..d0ecbea71 100644 --- a/libs/flask_restful/__version__.py +++ b/libs/flask_restful/__version__.py @@ -1,3 +1,3 @@ #!/usr/bin/env python -__version__ = '0.3.7' +__version__ = '0.3.9' diff --git a/libs/flask_restful/fields.py b/libs/flask_restful/fields.py index 27531d2cb..70a54060c 100644 --- a/libs/flask_restful/fields.py +++ b/libs/flask_restful/fields.py @@ -1,6 +1,4 @@ -from datetime import datetime from calendar import timegm -import pytz from decimal import Decimal as MyDecimal, ROUND_HALF_EVEN from email.utils import formatdate import six @@ -9,8 +7,7 @@ try: except ImportError: # python3 from urllib.parse import urlparse, urlunparse - -from flask_restful import inputs, marshal +from flask_restful import marshal from flask import url_for, request __all__ = ["String", "FormattedString", "Url", "DateTime", "Float", diff --git a/libs/flask_restful/inputs.py b/libs/flask_restful/inputs.py index 141fa9ad4..1b36c85e0 100644 --- a/libs/flask_restful/inputs.py +++ b/libs/flask_restful/inputs.py @@ -269,7 +269,7 @@ def datetime_from_rfc822(datetime_str): def datetime_from_iso8601(datetime_str): - """Turns an ISO8601 formatted date into a datetime object. + """Turns an ISO8601 formatted datetime into a datetime object. Example:: diff --git a/libs/flask_restful/reqparse.py b/libs/flask_restful/reqparse.py index 754f14c1e..9bb309914 100644 --- a/libs/flask_restful/reqparse.py +++ b/libs/flask_restful/reqparse.py @@ -1,6 +1,9 @@ from copy import deepcopy -import collections +try: + from collections.abc import MutableSequence +except ImportError: + from collections import MutableSequence from flask import current_app, request from werkzeug.datastructures import MultiDict, FileStorage from werkzeug import exceptions @@ -146,7 +149,7 @@ class Argument(object): except TypeError: try: if self.type is decimal.Decimal: - return self.type(str(value), self.name) + return self.type(str(value)) else: return self.type(value, self.name) except TypeError: @@ -194,7 +197,7 @@ class Argument(object): values = source.getlist(name) else: values = source.get(name) - if not (isinstance(values, collections.MutableSequence) and self.action == 'append'): + if not (isinstance(values, MutableSequence) and self.action == 'append'): values = [values] for value in values: diff --git a/libs/flask_restful/utils/__init__.py b/libs/flask_restful/utils/__init__.py index 7d6baecb0..8f267b9d2 100644 --- a/libs/flask_restful/utils/__init__.py +++ b/libs/flask_restful/utils/__init__.py @@ -1,9 +1,9 @@ import sys try: - from collections import OrderedDict + from collections.abc import OrderedDict except ImportError: - from ordereddict import OrderedDict + from collections import OrderedDict from werkzeug.http import HTTP_STATUS_CODES diff --git a/libs/future/__init__.py b/libs/future/__init__.py index 211fb43bc..ad419d67e 100644 --- a/libs/future/__init__.py +++ b/libs/future/__init__.py @@ -68,7 +68,7 @@ See: http://python-future.org Credits ------- -:Author: Ed Schofield +:Author: Ed Schofield, Jordan M. Adler, et al :Sponsor: Python Charmers Pty Ltd, Australia, and Python Charmers Pte Ltd, Singapore. http://pythoncharmers.com :Others: See docs/credits.rst or http://python-future.org/credits.html @@ -76,7 +76,7 @@ Credits Licensing --------- -Copyright 2013-2018 Python Charmers Pty Ltd, Australia. +Copyright 2013-2019 Python Charmers Pty Ltd, Australia. The software is distributed under an MIT licence. See LICENSE.txt. """ @@ -84,10 +84,10 @@ The software is distributed under an MIT licence. See LICENSE.txt. __title__ = 'future' __author__ = 'Ed Schofield' __license__ = 'MIT' -__copyright__ = 'Copyright 2013-2018 Python Charmers Pty Ltd' +__copyright__ = 'Copyright 2013-2019 Python Charmers Pty Ltd' __ver_major__ = 0 -__ver_minor__ = 17 -__ver_patch__ = 0 +__ver_minor__ = 18 +__ver_patch__ = 2 __ver_sub__ = '' __version__ = "%d.%d.%d%s" % (__ver_major__, __ver_minor__, __ver_patch__, __ver_sub__) diff --git a/libs/future/backports/__init__.py b/libs/future/backports/__init__.py index 68291141c..c71e06535 100644 --- a/libs/future/backports/__init__.py +++ b/libs/future/backports/__init__.py @@ -10,7 +10,7 @@ __future_module__ = True from future.standard_library import import_top_level_modules -if sys.version_info[0] == 3: +if sys.version_info[0] >= 3: import_top_level_modules() diff --git a/libs/future/backports/email/message.py b/libs/future/backports/email/message.py index 99715fcc6..d8d9615d7 100644 --- a/libs/future/backports/email/message.py +++ b/libs/future/backports/email/message.py @@ -800,7 +800,7 @@ class Message(object): # There was no Content-Type header, and we don't know what type # to set it to, so raise an exception. raise errors.HeaderParseError('No Content-Type header found') - newparams = [] + newparams = list() foundp = False for pk, pv in params: if pk.lower() == 'boundary': @@ -814,10 +814,10 @@ class Message(object): # instead??? newparams.append(('boundary', '"%s"' % boundary)) # Replace the existing Content-Type header with the new value - newheaders = [] + newheaders = list() for h, v in self._headers: if h.lower() == 'content-type': - parts = [] + parts = list() for k, v in newparams: if v == '': parts.append(k) diff --git a/libs/future/backports/http/client.py b/libs/future/backports/http/client.py index 5dd983d80..e663d125c 100644 --- a/libs/future/backports/http/client.py +++ b/libs/future/backports/http/client.py @@ -79,11 +79,15 @@ from future.backports.misc import create_connection as socket_create_connection import io import os import socket -import collections from future.backports.urllib.parse import urlsplit import warnings from array import array +if PY2: + from collections import Iterable +else: + from collections.abc import Iterable + __all__ = ["HTTPResponse", "HTTPConnection", "HTTPException", "NotConnected", "UnknownProtocol", "UnknownTransferEncoding", "UnimplementedFileMode", @@ -696,9 +700,19 @@ class HTTPResponse(io.RawIOBase): while total_bytes < len(b): if MAXAMOUNT < len(mvb): temp_mvb = mvb[0:MAXAMOUNT] - n = self.fp.readinto(temp_mvb) + if PY2: + data = self.fp.read(len(temp_mvb)) + n = len(data) + temp_mvb[:n] = data + else: + n = self.fp.readinto(temp_mvb) else: - n = self.fp.readinto(mvb) + if PY2: + data = self.fp.read(len(mvb)) + n = len(data) + mvb[:n] = data + else: + n = self.fp.readinto(mvb) if not n: raise IncompleteRead(bytes(mvb[0:total_bytes]), len(b)) mvb = mvb[n:] @@ -892,7 +906,7 @@ class HTTPConnection(object): try: self.sock.sendall(data) except TypeError: - if isinstance(data, collections.Iterable): + if isinstance(data, Iterable): for d in data: self.sock.sendall(d) else: diff --git a/libs/future/backports/http/cookiejar.py b/libs/future/backports/http/cookiejar.py index cad72f9b4..af3ef4151 100644 --- a/libs/future/backports/http/cookiejar.py +++ b/libs/future/backports/http/cookiejar.py @@ -33,7 +33,7 @@ from __future__ import print_function from __future__ import division from __future__ import absolute_import from future.builtins import filter, int, map, open, str -from future.utils import as_native_str +from future.utils import as_native_str, PY2 __all__ = ['Cookie', 'CookieJar', 'CookiePolicy', 'DefaultCookiePolicy', 'FileCookieJar', 'LWPCookieJar', 'LoadError', 'MozillaCookieJar'] @@ -41,7 +41,8 @@ __all__ = ['Cookie', 'CookieJar', 'CookiePolicy', 'DefaultCookiePolicy', import copy import datetime import re -re.ASCII = 0 +if PY2: + re.ASCII = 0 import time from future.backports.urllib.parse import urlparse, urlsplit, quote from future.backports.http.client import HTTP_PORT diff --git a/libs/future/backports/http/cookies.py b/libs/future/backports/http/cookies.py index ae32ed7e7..8bb61e22c 100644 --- a/libs/future/backports/http/cookies.py +++ b/libs/future/backports/http/cookies.py @@ -138,7 +138,8 @@ from future.utils import PY2, as_native_str # Import our required modules # import re -re.ASCII = 0 # for py2 compatibility +if PY2: + re.ASCII = 0 # for py2 compatibility import string __all__ = ["CookieError", "BaseCookie", "SimpleCookie"] diff --git a/libs/future/backports/misc.py b/libs/future/backports/misc.py index ef7520788..098a0667e 100644 --- a/libs/future/backports/misc.py +++ b/libs/future/backports/misc.py @@ -16,7 +16,6 @@ from __future__ import absolute_import import subprocess from math import ceil as oldceil -from collections import Mapping, MutableMapping from operator import itemgetter as _itemgetter, eq as _eq import sys @@ -25,7 +24,12 @@ from _weakref import proxy as _proxy from itertools import repeat as _repeat, chain as _chain, starmap as _starmap from socket import getaddrinfo, SOCK_STREAM, error, socket -from future.utils import iteritems, itervalues, PY26, PY3 +from future.utils import iteritems, itervalues, PY2, PY26, PY3 + +if PY2: + from collections import Mapping, MutableMapping +else: + from collections.abc import Mapping, MutableMapping def ceil(x): diff --git a/libs/future/backports/test/pystone.py b/libs/future/backports/test/pystone.py old mode 100644 new mode 100755 diff --git a/libs/future/backports/urllib/request.py b/libs/future/backports/urllib/request.py index b1545ca0f..baee5401a 100644 --- a/libs/future/backports/urllib/request.py +++ b/libs/future/backports/urllib/request.py @@ -109,11 +109,17 @@ import re import socket import sys import time -import collections import tempfile import contextlib import warnings +from future.utils import PY2 + +if PY2: + from collections import Iterable +else: + from collections.abc import Iterable + # check for SSL try: import ssl @@ -1221,7 +1227,7 @@ class AbstractHTTPHandler(BaseHandler): mv = memoryview(data) size = len(mv) * mv.itemsize except TypeError: - if isinstance(data, collections.Iterable): + if isinstance(data, Iterable): raise ValueError("Content-Length should be specified " "for iterable data of type %r %r" % (type(data), data)) diff --git a/libs/future/builtins/__init__.py b/libs/future/builtins/__init__.py index 216465a15..8bc1649d2 100644 --- a/libs/future/builtins/__init__.py +++ b/libs/future/builtins/__init__.py @@ -11,7 +11,7 @@ from future.builtins.iterators import (filter, map, zip) # The isinstance import is no longer needed. We provide it only for # backward-compatibility with future v0.8.2. It will be removed in future v1.0. from future.builtins.misc import (ascii, chr, hex, input, isinstance, next, - oct, open, pow, round, super) + oct, open, pow, round, super, max, min) from future.utils import PY3 if PY3: @@ -43,7 +43,7 @@ if not utils.PY3: __all__ = ['filter', 'map', 'zip', 'ascii', 'chr', 'hex', 'input', 'next', 'oct', 'open', 'pow', 'round', 'super', - 'bytes', 'dict', 'int', 'list', 'object', 'range', 'str', + 'bytes', 'dict', 'int', 'list', 'object', 'range', 'str', 'max', 'min' ] else: diff --git a/libs/future/builtins/misc.py b/libs/future/builtins/misc.py index 90dc384ad..f86ce5f34 100644 --- a/libs/future/builtins/misc.py +++ b/libs/future/builtins/misc.py @@ -13,6 +13,8 @@ The builtin functions are: - ``open`` (equivalent to io.open on Py2) - ``super`` (backport of Py3's magic zero-argument super() function - ``round`` (new "Banker's Rounding" behaviour from Py3) +- ``max`` (new default option from Py3.4) +- ``min`` (new default option from Py3.4) ``isinstance`` is also currently exported for backwards compatibility with v0.8.2, although this has been deprecated since v0.9. @@ -59,6 +61,8 @@ if utils.PY2: from future.builtins.newnext import newnext as next from future.builtins.newround import newround as round from future.builtins.newsuper import newsuper as super + from future.builtins.new_min_max import newmax as max + from future.builtins.new_min_max import newmin as min from future.types.newint import newint _SENTINEL = object() @@ -89,11 +93,12 @@ if utils.PY2: else: return _builtin_pow(x+0j, y, z) + # ``future`` doesn't support Py3.0/3.1. If we ever did, we'd add this: # callable = __builtin__.callable __all__ = ['ascii', 'chr', 'hex', 'input', 'isinstance', 'next', 'oct', - 'open', 'pow', 'round', 'super'] + 'open', 'pow', 'round', 'super', 'max', 'min'] else: import builtins @@ -109,8 +114,14 @@ else: pow = builtins.pow round = builtins.round super = builtins.super - - __all__ = [] + if utils.PY34_PLUS: + max = builtins.max + min = builtins.min + __all__ = [] + else: + from future.builtins.new_min_max import newmax as max + from future.builtins.new_min_max import newmin as min + __all__ = ['min', 'max'] # The callable() function was removed from Py3.0 and 3.1 and # reintroduced into Py3.2+. ``future`` doesn't support Py3.0/3.1. If we ever diff --git a/libs/future/builtins/new_min_max.py b/libs/future/builtins/new_min_max.py new file mode 100644 index 000000000..6f0c2a86f --- /dev/null +++ b/libs/future/builtins/new_min_max.py @@ -0,0 +1,59 @@ +import itertools + +from future import utils +if utils.PY2: + from __builtin__ import max as _builtin_max, min as _builtin_min +else: + from builtins import max as _builtin_max, min as _builtin_min + +_SENTINEL = object() + + +def newmin(*args, **kwargs): + return new_min_max(_builtin_min, *args, **kwargs) + + +def newmax(*args, **kwargs): + return new_min_max(_builtin_max, *args, **kwargs) + + +def new_min_max(_builtin_func, *args, **kwargs): + """ + To support the argument "default" introduced in python 3.4 for min and max + :param _builtin_func: builtin min or builtin max + :param args: + :param kwargs: + :return: returns the min or max based on the arguments passed + """ + + for key, _ in kwargs.items(): + if key not in set(['key', 'default']): + raise TypeError('Illegal argument %s', key) + + if len(args) == 0: + raise TypeError + + if len(args) != 1 and kwargs.get('default', _SENTINEL) is not _SENTINEL: + raise TypeError + + if len(args) == 1: + iterator = iter(args[0]) + try: + first = next(iterator) + except StopIteration: + if kwargs.get('default', _SENTINEL) is not _SENTINEL: + return kwargs.get('default') + else: + raise ValueError('{}() arg is an empty sequence'.format(_builtin_func.__name__)) + else: + iterator = itertools.chain([first], iterator) + if kwargs.get('key') is not None: + return _builtin_func(iterator, key=kwargs.get('key')) + else: + return _builtin_func(iterator) + + if len(args) > 1: + if kwargs.get('key') is not None: + return _builtin_func(args, key=kwargs.get('key')) + else: + return _builtin_func(args) diff --git a/libs/future/builtins/newround.py b/libs/future/builtins/newround.py index 3943ebb6e..394a2c63c 100644 --- a/libs/future/builtins/newround.py +++ b/libs/future/builtins/newround.py @@ -38,11 +38,14 @@ def newround(number, ndigits=None): if 'numpy' in repr(type(number)): number = float(number) - if not PY26: - d = Decimal.from_float(number).quantize(exponent, - rounding=ROUND_HALF_EVEN) + if isinstance(number, Decimal): + d = number else: - d = from_float_26(number).quantize(exponent, rounding=ROUND_HALF_EVEN) + if not PY26: + d = Decimal.from_float(number).quantize(exponent, + rounding=ROUND_HALF_EVEN) + else: + d = from_float_26(number).quantize(exponent, rounding=ROUND_HALF_EVEN) if return_int: return int(d) diff --git a/libs/future/moves/__init__.py b/libs/future/moves/__init__.py index 040fdcf01..0cd60d3d5 100644 --- a/libs/future/moves/__init__.py +++ b/libs/future/moves/__init__.py @@ -4,5 +4,5 @@ import sys __future_module__ = True from future.standard_library import import_top_level_modules -if sys.version_info[0] == 3: +if sys.version_info[0] >= 3: import_top_level_modules() diff --git a/libs/future/moves/copyreg.py b/libs/future/moves/copyreg.py index 21c7a42f2..9d08cdc5e 100644 --- a/libs/future/moves/copyreg.py +++ b/libs/future/moves/copyreg.py @@ -2,7 +2,11 @@ from __future__ import absolute_import from future.utils import PY3 if PY3: - from copyreg import * + import copyreg, sys + # A "*" import uses Python 3's copyreg.__all__ which does not include + # all public names in the API surface for copyreg, this avoids that + # problem by just making our module _be_ a reference to the actual module. + sys.modules['future.moves.copyreg'] = copyreg else: __future_module__ = True from copy_reg import * diff --git a/libs/future/moves/urllib/request.py b/libs/future/moves/urllib/request.py index 60e440a77..972aa4ab5 100644 --- a/libs/future/moves/urllib/request.py +++ b/libs/future/moves/urllib/request.py @@ -11,19 +11,8 @@ if PY3: proxy_bypass, quote, request_host, - splitattr, - splithost, - splitpasswd, - splitport, - splitquery, - splittag, - splittype, - splituser, - splitvalue, thishost, - to_bytes, unquote, - unwrap, url2pathname, urlcleanup, urljoin, @@ -32,6 +21,18 @@ if PY3: urlretrieve, urlsplit, urlunparse) + + from urllib.parse import (splitattr, + splithost, + splitpasswd, + splitport, + splitquery, + splittag, + splittype, + splituser, + splitvalue, + to_bytes, + unwrap) else: __future_module__ = True with suspend_hooks(): diff --git a/libs/future/tests/base.py b/libs/future/tests/base.py index 9f4607b69..4ef437baa 100644 --- a/libs/future/tests/base.py +++ b/libs/future/tests/base.py @@ -272,7 +272,11 @@ class CodeHandler(unittest.TestCase): else: headers = '' - self.compare(output, headers + reformat_code(expected), + reformatted = reformat_code(expected) + if headers in reformatted: + headers = '' + + self.compare(output, headers + reformatted, ignore_imports=ignore_imports) def unchanged(self, code, **kwargs): @@ -338,6 +342,10 @@ class CodeHandler(unittest.TestCase): '----\n%s\n----' % f.read(), ) ErrorClass = (FuturizeError if 'futurize' in script else PasteurizeError) + + if not hasattr(e, 'output'): + # The attribute CalledProcessError.output doesn't exist on Py2.6 + e.output = None raise ErrorClass(msg, e.returncode, e.cmd, output=e.output) return output diff --git a/libs/future/types/newbytes.py b/libs/future/types/newbytes.py index 2a337c864..c9d584a7c 100644 --- a/libs/future/types/newbytes.py +++ b/libs/future/types/newbytes.py @@ -5,15 +5,19 @@ Why do this? Without it, the Python 2 bytes object is a very, very different beast to the Python 3 bytes object. """ -from collections import Iterable from numbers import Integral import string import copy -from future.utils import istext, isbytes, PY3, with_metaclass +from future.utils import istext, isbytes, PY2, PY3, with_metaclass from future.types import no, issubset from future.types.newobject import newobject +if PY2: + from collections import Iterable +else: + from collections.abc import Iterable + _builtin_bytes = bytes diff --git a/libs/future/types/newint.py b/libs/future/types/newint.py index 705b8fa95..748dba9d2 100644 --- a/libs/future/types/newint.py +++ b/libs/future/types/newint.py @@ -8,7 +8,6 @@ They are very similar. The most notable difference is: from __future__ import division import struct -import collections from future.types.newbytes import newbytes from future.types.newobject import newobject @@ -17,6 +16,9 @@ from future.utils import PY3, isint, istext, isbytes, with_metaclass, native if PY3: long = int + from collections.abc import Iterable +else: + from collections import Iterable class BaseNewInt(type): @@ -356,7 +358,7 @@ class newint(with_metaclass(BaseNewInt, long)): raise TypeError("cannot convert unicode objects to bytes") # mybytes can also be passed as a sequence of integers on Py3. # Test for this: - elif isinstance(mybytes, collections.Iterable): + elif isinstance(mybytes, Iterable): mybytes = newbytes(mybytes) b = mybytes if byteorder == 'big' else mybytes[::-1] if len(b) == 0: diff --git a/libs/future/types/newmemoryview.py b/libs/future/types/newmemoryview.py index 72c6990a7..09f804dcf 100644 --- a/libs/future/types/newmemoryview.py +++ b/libs/future/types/newmemoryview.py @@ -1,14 +1,16 @@ """ A pretty lame implementation of a memoryview object for Python 2.6. """ - -from collections import Iterable from numbers import Integral import string -from future.utils import istext, isbytes, PY3, with_metaclass +from future.utils import istext, isbytes, PY2, with_metaclass from future.types import no, issubset +if PY2: + from collections import Iterable +else: + from collections.abc import Iterable # class BaseNewBytes(type): # def __instancecheck__(cls, instance): diff --git a/libs/future/types/newobject.py b/libs/future/types/newobject.py index 776d47664..31b84fc12 100644 --- a/libs/future/types/newobject.py +++ b/libs/future/types/newobject.py @@ -112,5 +112,6 @@ class newobject(object): """ return object(self) + __slots__ = [] __all__ = ['newobject'] diff --git a/libs/future/types/newrange.py b/libs/future/types/newrange.py index 9173b0509..eda01a5a5 100644 --- a/libs/future/types/newrange.py +++ b/libs/future/types/newrange.py @@ -19,7 +19,12 @@ From Dan Crosta's README: """ from __future__ import absolute_import -from collections import Sequence, Iterator +from future.utils import PY2 + +if PY2: + from collections import Sequence, Iterator +else: + from collections.abc import Sequence, Iterator from itertools import islice from future.backports.misc import count # with step parameter on Py2.6 diff --git a/libs/future/types/newstr.py b/libs/future/types/newstr.py index e6272fb90..8ca191f97 100644 --- a/libs/future/types/newstr.py +++ b/libs/future/types/newstr.py @@ -40,7 +40,6 @@ representations of your objects portably across Py3 and Py2, use the """ -from collections import Iterable from numbers import Number from future.utils import PY3, istext, with_metaclass, isnewbytes @@ -51,6 +50,9 @@ from future.types.newobject import newobject if PY3: # We'll probably never use newstr on Py3 anyway... unicode = str + from collections.abc import Iterable +else: + from collections import Iterable class BaseNewStr(type): @@ -105,6 +107,7 @@ class newstr(with_metaclass(BaseNewStr, unicode)): """ Without the u prefix """ + value = super(newstr, self).__repr__() # assert value[0] == u'u' return value[1:] @@ -290,7 +293,14 @@ class newstr(with_metaclass(BaseNewStr, unicode)): isinstance(other, bytes) and not isnewbytes(other)): return super(newstr, self).__eq__(other) else: - return False + return NotImplemented + + def __hash__(self): + if (isinstance(self, unicode) or + isinstance(self, bytes) and not isnewbytes(self)): + return super(newstr, self).__hash__() + else: + raise NotImplementedError() def __ne__(self, other): if (isinstance(other, unicode) or diff --git a/libs/future/utils/__init__.py b/libs/future/utils/__init__.py index 906f1e464..46bd96def 100644 --- a/libs/future/utils/__init__.py +++ b/libs/future/utils/__init__.py @@ -18,8 +18,10 @@ This module exports useful functions for 2/3 compatible code: * types: * text_type: unicode in Python 2, str in Python 3 - * binary_type: str in Python 2, bytes in Python 3 * string_types: basestring in Python 2, str in Python 3 + * binary_type: str in Python 2, bytes in Python 3 + * integer_types: (int, long) in Python 2, int in Python 3 + * class_types: (type, types.ClassType) in Python 2, type in Python 3 * bchr(c): Take an integer and make a 1-character byte string @@ -55,7 +57,8 @@ import copy import inspect -PY3 = sys.version_info[0] == 3 +PY3 = sys.version_info[0] >= 3 +PY34_PLUS = sys.version_info[0:2] >= (3, 4) PY35_PLUS = sys.version_info[0:2] >= (3, 5) PY36_PLUS = sys.version_info[0:2] >= (3, 6) PY2 = sys.version_info[0] == 2 @@ -405,12 +408,34 @@ if PY3: allows re-raising exceptions with the cls value and traceback on Python 2 and 3. """ - if value is not None and isinstance(tp, Exception): - raise TypeError("instance exception may not have a separate value") - if value is not None: - exc = tp(value) - else: + if isinstance(tp, BaseException): + # If the first object is an instance, the type of the exception + # is the class of the instance, the instance itself is the value, + # and the second object must be None. + if value is not None: + raise TypeError("instance exception may not have a separate value") exc = tp + elif isinstance(tp, type) and not issubclass(tp, BaseException): + # If the first object is a class, it becomes the type of the + # exception. + raise TypeError("class must derive from BaseException, not %s" % tp.__name__) + else: + # The second object is used to determine the exception value: If it + # is an instance of the class, the instance becomes the exception + # value. If the second object is a tuple, it is used as the argument + # list for the class constructor; if it is None, an empty argument + # list is used, and any other object is treated as a single argument + # to the constructor. The instance so created by calling the + # constructor is used as the exception value. + if isinstance(value, tp): + exc = value + elif isinstance(value, tuple): + exc = tp(*value) + elif value is None: + exc = tp() + else: + exc = tp(value) + if exc.__traceback__ is not tb: raise exc.with_traceback(tb) raise exc @@ -443,12 +468,14 @@ else: e.__suppress_context__ = False if isinstance(cause, type) and issubclass(cause, Exception): e.__cause__ = cause() + e.__cause__.__traceback__ = sys.exc_info()[2] e.__suppress_context__ = True elif cause is None: e.__cause__ = None e.__suppress_context__ = True elif isinstance(cause, BaseException): e.__cause__ = cause + object.__setattr__(e.__cause__, '__traceback__', sys.exc_info()[2]) e.__suppress_context__ = True else: raise TypeError("exception causes must derive from BaseException") @@ -552,15 +579,14 @@ def isbytes(obj): def isnewbytes(obj): """ - Equivalent to the result of ``isinstance(obj, newbytes)`` were - ``__instancecheck__`` not overridden on the newbytes subclass. In - other words, it is REALLY a newbytes instance, not a Py2 native str + Equivalent to the result of ``type(obj) == type(newbytes)`` + in other words, it is REALLY a newbytes instance, not a Py2 native str object? + + Note that this does not cover subclasses of newbytes, and it is not + equivalent to ininstance(obj, newbytes) """ - # TODO: generalize this so that it works with subclasses of newbytes - # Import is here to avoid circular imports: - from future.types.newbytes import newbytes - return type(obj) == newbytes + return type(obj).__name__ == 'newbytes' def isint(obj): @@ -726,16 +752,16 @@ else: __all__ = ['PY2', 'PY26', 'PY3', 'PYPY', - 'as_native_str', 'bind_method', 'bord', 'bstr', - 'bytes_to_native_str', 'encode_filename', 'ensure_new_type', - 'exec_', 'get_next', 'getexception', 'implements_iterator', - 'is_new_style', 'isbytes', 'isidentifier', 'isint', - 'isnewbytes', 'istext', 'iteritems', 'iterkeys', 'itervalues', - 'lfilter', 'listitems', 'listvalues', 'lmap', 'lrange', - 'lzip', 'native', 'native_bytes', 'native_str', + 'as_native_str', 'binary_type', 'bind_method', 'bord', 'bstr', + 'bytes_to_native_str', 'class_types', 'encode_filename', + 'ensure_new_type', 'exec_', 'get_next', 'getexception', + 'implements_iterator', 'integer_types', 'is_new_style', 'isbytes', + 'isidentifier', 'isint', 'isnewbytes', 'istext', 'iteritems', + 'iterkeys', 'itervalues', 'lfilter', 'listitems', 'listvalues', + 'lmap', 'lrange', 'lzip', 'native', 'native_bytes', 'native_str', 'native_str_to_bytes', 'old_div', 'python_2_unicode_compatible', 'raise_', - 'raise_with_traceback', 'reraise', 'text_to_native_str', - 'tobytes', 'viewitems', 'viewkeys', 'viewvalues', - 'with_metaclass' - ] + 'raise_with_traceback', 'reraise', 'string_types', + 'text_to_native_str', 'text_type', 'tobytes', 'viewitems', + 'viewkeys', 'viewvalues', 'with_metaclass' + ] diff --git a/libs/html5lib/__init__.py b/libs/html5lib/__init__.py index ba01065ef..320e0c3b4 100644 --- a/libs/html5lib/__init__.py +++ b/libs/html5lib/__init__.py @@ -32,4 +32,4 @@ __all__ = ["HTMLParser", "parse", "parseFragment", "getTreeBuilder", # this has to be at the top level, see how setup.py parses this #: Distribution version number. -__version__ = "1.0.1" +__version__ = "1.1" diff --git a/libs/html5lib/_ihatexml.py b/libs/html5lib/_ihatexml.py index 4c77717bb..3ff803c19 100644 --- a/libs/html5lib/_ihatexml.py +++ b/libs/html5lib/_ihatexml.py @@ -136,6 +136,7 @@ def normaliseCharList(charList): i += j return rv + # We don't really support characters above the BMP :( max_unicode = int("FFFF", 16) @@ -254,7 +255,7 @@ class InfosetFilter(object): nameRest = name[1:] m = nonXmlNameFirstBMPRegexp.match(nameFirst) if m: - warnings.warn("Coercing non-XML name", DataLossWarning) + warnings.warn("Coercing non-XML name: %s" % name, DataLossWarning) nameFirstOutput = self.getReplacementCharacter(nameFirst) else: nameFirstOutput = nameFirst @@ -262,7 +263,7 @@ class InfosetFilter(object): nameRestOutput = nameRest replaceChars = set(nonXmlNameBMPRegexp.findall(nameRest)) for char in replaceChars: - warnings.warn("Coercing non-XML name", DataLossWarning) + warnings.warn("Coercing non-XML name: %s" % name, DataLossWarning) replacement = self.getReplacementCharacter(char) nameRestOutput = nameRestOutput.replace(char, replacement) return nameFirstOutput + nameRestOutput diff --git a/libs/html5lib/_inputstream.py b/libs/html5lib/_inputstream.py index 177f0ab9e..0207dd211 100644 --- a/libs/html5lib/_inputstream.py +++ b/libs/html5lib/_inputstream.py @@ -1,10 +1,11 @@ from __future__ import absolute_import, division, unicode_literals -from six import text_type, binary_type +from six import text_type from six.moves import http_client, urllib import codecs import re +from io import BytesIO, StringIO import webencodings @@ -12,13 +13,6 @@ from .constants import EOF, spaceCharacters, asciiLetters, asciiUppercase from .constants import _ReparseException from . import _utils -from io import StringIO - -try: - from io import BytesIO -except ImportError: - BytesIO = StringIO - # Non-unicode versions of constants for use in the pre-parser spaceCharactersBytes = frozenset([item.encode("ascii") for item in spaceCharacters]) asciiLettersBytes = frozenset([item.encode("ascii") for item in asciiLetters]) @@ -40,13 +34,13 @@ if _utils.supports_lone_surrogates: else: invalid_unicode_re = re.compile(invalid_unicode_no_surrogate) -non_bmp_invalid_codepoints = set([0x1FFFE, 0x1FFFF, 0x2FFFE, 0x2FFFF, 0x3FFFE, - 0x3FFFF, 0x4FFFE, 0x4FFFF, 0x5FFFE, 0x5FFFF, - 0x6FFFE, 0x6FFFF, 0x7FFFE, 0x7FFFF, 0x8FFFE, - 0x8FFFF, 0x9FFFE, 0x9FFFF, 0xAFFFE, 0xAFFFF, - 0xBFFFE, 0xBFFFF, 0xCFFFE, 0xCFFFF, 0xDFFFE, - 0xDFFFF, 0xEFFFE, 0xEFFFF, 0xFFFFE, 0xFFFFF, - 0x10FFFE, 0x10FFFF]) +non_bmp_invalid_codepoints = {0x1FFFE, 0x1FFFF, 0x2FFFE, 0x2FFFF, 0x3FFFE, + 0x3FFFF, 0x4FFFE, 0x4FFFF, 0x5FFFE, 0x5FFFF, + 0x6FFFE, 0x6FFFF, 0x7FFFE, 0x7FFFF, 0x8FFFE, + 0x8FFFF, 0x9FFFE, 0x9FFFF, 0xAFFFE, 0xAFFFF, + 0xBFFFE, 0xBFFFF, 0xCFFFE, 0xCFFFF, 0xDFFFE, + 0xDFFFF, 0xEFFFE, 0xEFFFF, 0xFFFFE, 0xFFFFF, + 0x10FFFE, 0x10FFFF} ascii_punctuation_re = re.compile("[\u0009-\u000D\u0020-\u002F\u003A-\u0040\u005C\u005B-\u0060\u007B-\u007E]") @@ -367,7 +361,7 @@ class HTMLUnicodeInputStream(object): def unget(self, char): # Only one character is allowed to be ungotten at once - it must # be consumed again before any further call to unget - if char is not None: + if char is not EOF: if self.chunkOffset == 0: # unget is called quite rarely, so it's a good idea to do # more work here if it saves a bit of work in the frequently @@ -449,7 +443,7 @@ class HTMLBinaryInputStream(HTMLUnicodeInputStream): try: stream.seek(stream.tell()) - except: # pylint:disable=bare-except + except Exception: stream = BufferedStream(stream) return stream @@ -461,7 +455,7 @@ class HTMLBinaryInputStream(HTMLUnicodeInputStream): if charEncoding[0] is not None: return charEncoding - # If we've been overriden, we've been overriden + # If we've been overridden, we've been overridden charEncoding = lookupEncoding(self.override_encoding), "certain" if charEncoding[0] is not None: return charEncoding @@ -664,9 +658,7 @@ class EncodingBytes(bytes): """Look for a sequence of bytes at the start of a string. If the bytes are found return True and advance the position to the byte after the match. Otherwise return False and leave the position alone""" - p = self.position - data = self[p:p + len(bytes)] - rv = data.startswith(bytes) + rv = self.startswith(bytes, self.position) if rv: self.position += len(bytes) return rv @@ -674,15 +666,11 @@ class EncodingBytes(bytes): def jumpTo(self, bytes): """Look for the next sequence of bytes matching a given sequence. If a match is found advance the position to the last byte of the match""" - newPosition = self[self.position:].find(bytes) - if newPosition > -1: - # XXX: This is ugly, but I can't see a nicer way to fix this. - if self._position == -1: - self._position = 0 - self._position += (newPosition + len(bytes) - 1) - return True - else: + try: + self._position = self.index(bytes, self.position) + len(bytes) - 1 + except ValueError: raise StopIteration + return True class EncodingParser(object): @@ -694,6 +682,9 @@ class EncodingParser(object): self.encoding = None def getEncoding(self): + if b"= (3, 7): + attributeMap = dict +else: + attributeMap = OrderedDict + class HTMLTokenizer(object): """ This class takes care of tokenizing HTML. @@ -228,6 +234,14 @@ class HTMLTokenizer(object): # Add token to the queue to be yielded if (token["type"] in tagTokenTypes): token["name"] = token["name"].translate(asciiUpper2Lower) + if token["type"] == tokenTypes["StartTag"]: + raw = token["data"] + data = attributeMap(raw) + if len(raw) > len(data): + # we had some duplicated attribute, fix so first wins + data.update(raw[::-1]) + token["data"] = data + if token["type"] == tokenTypes["EndTag"]: if token["data"]: self.tokenQueue.append({"type": tokenTypes["ParseError"], diff --git a/libs/html5lib/_trie/__init__.py b/libs/html5lib/_trie/__init__.py index a5ba4bf12..07bad5d31 100644 --- a/libs/html5lib/_trie/__init__.py +++ b/libs/html5lib/_trie/__init__.py @@ -1,14 +1,5 @@ from __future__ import absolute_import, division, unicode_literals -from .py import Trie as PyTrie +from .py import Trie -Trie = PyTrie - -# pylint:disable=wrong-import-position -try: - from .datrie import Trie as DATrie -except ImportError: - pass -else: - Trie = DATrie -# pylint:enable=wrong-import-position +__all__ = ["Trie"] diff --git a/libs/html5lib/_trie/_base.py b/libs/html5lib/_trie/_base.py index a1158bbbf..6b71975f0 100644 --- a/libs/html5lib/_trie/_base.py +++ b/libs/html5lib/_trie/_base.py @@ -1,6 +1,9 @@ from __future__ import absolute_import, division, unicode_literals -from collections import Mapping +try: + from collections.abc import Mapping +except ImportError: # Python 2.7 + from collections import Mapping class Trie(Mapping): diff --git a/libs/html5lib/_trie/datrie.py b/libs/html5lib/_trie/datrie.py deleted file mode 100644 index 51f3d046a..000000000 --- a/libs/html5lib/_trie/datrie.py +++ /dev/null @@ -1,44 +0,0 @@ -from __future__ import absolute_import, division, unicode_literals - -from datrie import Trie as DATrie -from six import text_type - -from ._base import Trie as ABCTrie - - -class Trie(ABCTrie): - def __init__(self, data): - chars = set() - for key in data.keys(): - if not isinstance(key, text_type): - raise TypeError("All keys must be strings") - for char in key: - chars.add(char) - - self._data = DATrie("".join(chars)) - for key, value in data.items(): - self._data[key] = value - - def __contains__(self, key): - return key in self._data - - def __len__(self): - return len(self._data) - - def __iter__(self): - raise NotImplementedError() - - def __getitem__(self, key): - return self._data[key] - - def keys(self, prefix=None): - return self._data.keys(prefix) - - def has_keys_with_prefix(self, prefix): - return self._data.has_keys_with_prefix(prefix) - - def longest_prefix(self, prefix): - return self._data.longest_prefix(prefix) - - def longest_prefix_item(self, prefix): - return self._data.longest_prefix_item(prefix) diff --git a/libs/html5lib/_utils.py b/libs/html5lib/_utils.py index 91252f2c0..9ea579421 100644 --- a/libs/html5lib/_utils.py +++ b/libs/html5lib/_utils.py @@ -2,12 +2,20 @@ from __future__ import absolute_import, division, unicode_literals from types import ModuleType -from six import text_type - try: - import xml.etree.cElementTree as default_etree + from collections.abc import Mapping except ImportError: + from collections import Mapping + +from six import text_type, PY3 + +if PY3: import xml.etree.ElementTree as default_etree +else: + try: + import xml.etree.cElementTree as default_etree + except ImportError: + import xml.etree.ElementTree as default_etree __all__ = ["default_etree", "MethodDispatcher", "isSurrogatePair", @@ -27,7 +35,7 @@ try: # We need this with u"" because of http://bugs.jython.org/issue2039 _x = eval('u"\\uD800"') # pylint:disable=eval-used assert isinstance(_x, text_type) -except: # pylint:disable=bare-except +except Exception: supports_lone_surrogates = False else: supports_lone_surrogates = True @@ -47,9 +55,6 @@ class MethodDispatcher(dict): """ def __init__(self, items=()): - # Using _dictEntries instead of directly assigning to self is about - # twice as fast. Please do careful performance testing before changing - # anything here. _dictEntries = [] for name, value in items: if isinstance(name, (list, tuple, frozenset, set)): @@ -64,6 +69,36 @@ class MethodDispatcher(dict): def __getitem__(self, key): return dict.get(self, key, self.default) + def __get__(self, instance, owner=None): + return BoundMethodDispatcher(instance, self) + + +class BoundMethodDispatcher(Mapping): + """Wraps a MethodDispatcher, binding its return values to `instance`""" + def __init__(self, instance, dispatcher): + self.instance = instance + self.dispatcher = dispatcher + + def __getitem__(self, key): + # see https://docs.python.org/3/reference/datamodel.html#object.__get__ + # on a function, __get__ is used to bind a function to an instance as a bound method + return self.dispatcher[key].__get__(self.instance) + + def get(self, key, default): + if key in self.dispatcher: + return self[key] + else: + return default + + def __iter__(self): + return iter(self.dispatcher) + + def __len__(self): + return len(self.dispatcher) + + def __contains__(self, key): + return key in self.dispatcher + # Some utility functions to deal with weirdness around UCS2 vs UCS4 # python builds diff --git a/libs/html5lib/constants.py b/libs/html5lib/constants.py index 1ff804190..fe3e237cd 100644 --- a/libs/html5lib/constants.py +++ b/libs/html5lib/constants.py @@ -519,8 +519,8 @@ adjustForeignAttributes = { "xmlns:xlink": ("xmlns", "xlink", namespaces["xmlns"]) } -unadjustForeignAttributes = dict([((ns, local), qname) for qname, (prefix, local, ns) in - adjustForeignAttributes.items()]) +unadjustForeignAttributes = {(ns, local): qname for qname, (prefix, local, ns) in + adjustForeignAttributes.items()} spaceCharacters = frozenset([ "\t", @@ -544,8 +544,7 @@ asciiLetters = frozenset(string.ascii_letters) digits = frozenset(string.digits) hexDigits = frozenset(string.hexdigits) -asciiUpper2Lower = dict([(ord(c), ord(c.lower())) - for c in string.ascii_uppercase]) +asciiUpper2Lower = {ord(c): ord(c.lower()) for c in string.ascii_uppercase} # Heading elements need to be ordered headingElements = ( @@ -2934,7 +2933,7 @@ tagTokenTypes = frozenset([tokenTypes["StartTag"], tokenTypes["EndTag"], tokenTypes["EmptyTag"]]) -prefixes = dict([(v, k) for k, v in namespaces.items()]) +prefixes = {v: k for k, v in namespaces.items()} prefixes["http://www.w3.org/1998/Math/MathML"] = "math" diff --git a/libs/html5lib/filters/sanitizer.py b/libs/html5lib/filters/sanitizer.py index e852f53be..70ef90665 100644 --- a/libs/html5lib/filters/sanitizer.py +++ b/libs/html5lib/filters/sanitizer.py @@ -1,6 +1,15 @@ +"""Deprecated from html5lib 1.1. + +See `here `_ for +information about its deprecation; `Bleach `_ +is recommended as a replacement. Please let us know in the aforementioned issue +if Bleach is unsuitable for your needs. + +""" from __future__ import absolute_import, division, unicode_literals import re +import warnings from xml.sax.saxutils import escape, unescape from six.moves import urllib_parse as urlparse @@ -11,6 +20,14 @@ from ..constants import namespaces, prefixes __all__ = ["Filter"] +_deprecation_msg = ( + "html5lib's sanitizer is deprecated; see " + + "https://github.com/html5lib/html5lib-python/issues/443 and please let " + + "us know if Bleach is unsuitable for your needs" +) + +warnings.warn(_deprecation_msg, DeprecationWarning) + allowed_elements = frozenset(( (namespaces['html'], 'a'), (namespaces['html'], 'abbr'), @@ -750,6 +767,9 @@ class Filter(base.Filter): """ super(Filter, self).__init__(source) + + warnings.warn(_deprecation_msg, DeprecationWarning) + self.allowed_elements = allowed_elements self.allowed_attributes = allowed_attributes self.allowed_css_properties = allowed_css_properties diff --git a/libs/html5lib/html5parser.py b/libs/html5lib/html5parser.py index 9d39b9d41..74d829d98 100644 --- a/libs/html5lib/html5parser.py +++ b/libs/html5lib/html5parser.py @@ -2,7 +2,6 @@ from __future__ import absolute_import, division, unicode_literals from six import with_metaclass, viewkeys import types -from collections import OrderedDict from . import _inputstream from . import _tokenizer @@ -119,8 +118,8 @@ class HTMLParser(object): self.tree = tree(namespaceHTMLElements) self.errors = [] - self.phases = dict([(name, cls(self, self.tree)) for name, cls in - getPhases(debug).items()]) + self.phases = {name: cls(self, self.tree) for name, cls in + getPhases(debug).items()} def _parse(self, stream, innerHTML=False, container="div", scripting=False, **kwargs): @@ -202,7 +201,7 @@ class HTMLParser(object): DoctypeToken = tokenTypes["Doctype"] ParseErrorToken = tokenTypes["ParseError"] - for token in self.normalizedTokens(): + for token in self.tokenizer: prev_token = None new_token = token while new_token is not None: @@ -260,10 +259,6 @@ class HTMLParser(object): if reprocess: assert self.phase not in phases - def normalizedTokens(self): - for token in self.tokenizer: - yield self.normalizeToken(token) - def parse(self, stream, *args, **kwargs): """Parse a HTML document into a well-formed tree @@ -325,17 +320,6 @@ class HTMLParser(object): if self.strict: raise ParseError(E[errorcode] % datavars) - def normalizeToken(self, token): - # HTML5 specific normalizations to the token stream - if token["type"] == tokenTypes["StartTag"]: - raw = token["data"] - token["data"] = OrderedDict(raw) - if len(raw) > len(token["data"]): - # we had some duplicated attribute, fix so first wins - token["data"].update(raw[::-1]) - - return token - def adjustMathMLAttributes(self, token): adjust_attributes(token, adjustMathMLAttributes) @@ -413,16 +397,12 @@ class HTMLParser(object): def getPhases(debug): def log(function): """Logger that records which phase processes each token""" - type_names = dict((value, key) for key, value in - tokenTypes.items()) + type_names = {value: key for key, value in tokenTypes.items()} def wrapped(self, *args, **kwargs): if function.__name__.startswith("process") and len(args) > 0: token = args[0] - try: - info = {"type": type_names[token['type']]} - except: - raise + info = {"type": type_names[token['type']]} if token['type'] in tagTokenTypes: info["name"] = token['name'] @@ -446,10 +426,13 @@ def getPhases(debug): class Phase(with_metaclass(getMetaclass(debug, log))): """Base class for helper object that implements each phase of processing """ + __slots__ = ("parser", "tree", "__startTagCache", "__endTagCache") def __init__(self, parser, tree): self.parser = parser self.tree = tree + self.__startTagCache = {} + self.__endTagCache = {} def processEOF(self): raise NotImplementedError @@ -469,7 +452,21 @@ def getPhases(debug): self.tree.insertText(token["data"]) def processStartTag(self, token): - return self.startTagHandler[token["name"]](token) + # Note the caching is done here rather than BoundMethodDispatcher as doing it there + # requires a circular reference to the Phase, and this ends up with a significant + # (CPython 2.7, 3.8) GC cost when parsing many short inputs + name = token["name"] + # In Py2, using `in` is quicker in general than try/except KeyError + # In Py3, `in` is quicker when there are few cache hits (typically short inputs) + if name in self.__startTagCache: + func = self.__startTagCache[name] + else: + func = self.__startTagCache[name] = self.startTagHandler[name] + # bound the cache size in case we get loads of unknown tags + while len(self.__startTagCache) > len(self.startTagHandler) * 1.1: + # this makes the eviction policy random on Py < 3.7 and FIFO >= 3.7 + self.__startTagCache.pop(next(iter(self.__startTagCache))) + return func(token) def startTagHtml(self, token): if not self.parser.firstStartTag and token["name"] == "html": @@ -482,9 +479,25 @@ def getPhases(debug): self.parser.firstStartTag = False def processEndTag(self, token): - return self.endTagHandler[token["name"]](token) + # Note the caching is done here rather than BoundMethodDispatcher as doing it there + # requires a circular reference to the Phase, and this ends up with a significant + # (CPython 2.7, 3.8) GC cost when parsing many short inputs + name = token["name"] + # In Py2, using `in` is quicker in general than try/except KeyError + # In Py3, `in` is quicker when there are few cache hits (typically short inputs) + if name in self.__endTagCache: + func = self.__endTagCache[name] + else: + func = self.__endTagCache[name] = self.endTagHandler[name] + # bound the cache size in case we get loads of unknown tags + while len(self.__endTagCache) > len(self.endTagHandler) * 1.1: + # this makes the eviction policy random on Py < 3.7 and FIFO >= 3.7 + self.__endTagCache.pop(next(iter(self.__endTagCache))) + return func(token) class InitialPhase(Phase): + __slots__ = tuple() + def processSpaceCharacters(self, token): pass @@ -613,6 +626,8 @@ def getPhases(debug): return True class BeforeHtmlPhase(Phase): + __slots__ = tuple() + # helper methods def insertHtmlElement(self): self.tree.insertRoot(impliedTagToken("html", "StartTag")) @@ -648,19 +663,7 @@ def getPhases(debug): return token class BeforeHeadPhase(Phase): - def __init__(self, parser, tree): - Phase.__init__(self, parser, tree) - - self.startTagHandler = _utils.MethodDispatcher([ - ("html", self.startTagHtml), - ("head", self.startTagHead) - ]) - self.startTagHandler.default = self.startTagOther - - self.endTagHandler = _utils.MethodDispatcher([ - (("head", "body", "html", "br"), self.endTagImplyHead) - ]) - self.endTagHandler.default = self.endTagOther + __slots__ = tuple() def processEOF(self): self.startTagHead(impliedTagToken("head", "StartTag")) @@ -693,28 +696,19 @@ def getPhases(debug): self.parser.parseError("end-tag-after-implied-root", {"name": token["name"]}) + startTagHandler = _utils.MethodDispatcher([ + ("html", startTagHtml), + ("head", startTagHead) + ]) + startTagHandler.default = startTagOther + + endTagHandler = _utils.MethodDispatcher([ + (("head", "body", "html", "br"), endTagImplyHead) + ]) + endTagHandler.default = endTagOther + class InHeadPhase(Phase): - def __init__(self, parser, tree): - Phase.__init__(self, parser, tree) - - self.startTagHandler = _utils.MethodDispatcher([ - ("html", self.startTagHtml), - ("title", self.startTagTitle), - (("noframes", "style"), self.startTagNoFramesStyle), - ("noscript", self.startTagNoscript), - ("script", self.startTagScript), - (("base", "basefont", "bgsound", "command", "link"), - self.startTagBaseLinkCommand), - ("meta", self.startTagMeta), - ("head", self.startTagHead) - ]) - self.startTagHandler.default = self.startTagOther - - self.endTagHandler = _utils.MethodDispatcher([ - ("head", self.endTagHead), - (("br", "html", "body"), self.endTagHtmlBodyBr) - ]) - self.endTagHandler.default = self.endTagOther + __slots__ = tuple() # the real thing def processEOF(self): @@ -796,22 +790,27 @@ def getPhases(debug): def anythingElse(self): self.endTagHead(impliedTagToken("head")) + startTagHandler = _utils.MethodDispatcher([ + ("html", startTagHtml), + ("title", startTagTitle), + (("noframes", "style"), startTagNoFramesStyle), + ("noscript", startTagNoscript), + ("script", startTagScript), + (("base", "basefont", "bgsound", "command", "link"), + startTagBaseLinkCommand), + ("meta", startTagMeta), + ("head", startTagHead) + ]) + startTagHandler.default = startTagOther + + endTagHandler = _utils.MethodDispatcher([ + ("head", endTagHead), + (("br", "html", "body"), endTagHtmlBodyBr) + ]) + endTagHandler.default = endTagOther + class InHeadNoscriptPhase(Phase): - def __init__(self, parser, tree): - Phase.__init__(self, parser, tree) - - self.startTagHandler = _utils.MethodDispatcher([ - ("html", self.startTagHtml), - (("basefont", "bgsound", "link", "meta", "noframes", "style"), self.startTagBaseLinkCommand), - (("head", "noscript"), self.startTagHeadNoscript), - ]) - self.startTagHandler.default = self.startTagOther - - self.endTagHandler = _utils.MethodDispatcher([ - ("noscript", self.endTagNoscript), - ("br", self.endTagBr), - ]) - self.endTagHandler.default = self.endTagOther + __slots__ = tuple() def processEOF(self): self.parser.parseError("eof-in-head-noscript") @@ -860,23 +859,21 @@ def getPhases(debug): # Caller must raise parse error first! self.endTagNoscript(impliedTagToken("noscript")) - class AfterHeadPhase(Phase): - def __init__(self, parser, tree): - Phase.__init__(self, parser, tree) + startTagHandler = _utils.MethodDispatcher([ + ("html", startTagHtml), + (("basefont", "bgsound", "link", "meta", "noframes", "style"), startTagBaseLinkCommand), + (("head", "noscript"), startTagHeadNoscript), + ]) + startTagHandler.default = startTagOther - self.startTagHandler = _utils.MethodDispatcher([ - ("html", self.startTagHtml), - ("body", self.startTagBody), - ("frameset", self.startTagFrameset), - (("base", "basefont", "bgsound", "link", "meta", "noframes", "script", - "style", "title"), - self.startTagFromHead), - ("head", self.startTagHead) - ]) - self.startTagHandler.default = self.startTagOther - self.endTagHandler = _utils.MethodDispatcher([(("body", "html", "br"), - self.endTagHtmlBodyBr)]) - self.endTagHandler.default = self.endTagOther + endTagHandler = _utils.MethodDispatcher([ + ("noscript", endTagNoscript), + ("br", endTagBr), + ]) + endTagHandler.default = endTagOther + + class AfterHeadPhase(Phase): + __slots__ = tuple() def processEOF(self): self.anythingElse() @@ -927,80 +924,30 @@ def getPhases(debug): self.parser.phase = self.parser.phases["inBody"] self.parser.framesetOK = True + startTagHandler = _utils.MethodDispatcher([ + ("html", startTagHtml), + ("body", startTagBody), + ("frameset", startTagFrameset), + (("base", "basefont", "bgsound", "link", "meta", "noframes", "script", + "style", "title"), + startTagFromHead), + ("head", startTagHead) + ]) + startTagHandler.default = startTagOther + endTagHandler = _utils.MethodDispatcher([(("body", "html", "br"), + endTagHtmlBodyBr)]) + endTagHandler.default = endTagOther + class InBodyPhase(Phase): # http://www.whatwg.org/specs/web-apps/current-work/#parsing-main-inbody # the really-really-really-very crazy mode - def __init__(self, parser, tree): - Phase.__init__(self, parser, tree) + __slots__ = ("processSpaceCharacters",) + def __init__(self, *args, **kwargs): + super(InBodyPhase, self).__init__(*args, **kwargs) # Set this to the default handler self.processSpaceCharacters = self.processSpaceCharactersNonPre - self.startTagHandler = _utils.MethodDispatcher([ - ("html", self.startTagHtml), - (("base", "basefont", "bgsound", "command", "link", "meta", - "script", "style", "title"), - self.startTagProcessInHead), - ("body", self.startTagBody), - ("frameset", self.startTagFrameset), - (("address", "article", "aside", "blockquote", "center", "details", - "dir", "div", "dl", "fieldset", "figcaption", "figure", - "footer", "header", "hgroup", "main", "menu", "nav", "ol", "p", - "section", "summary", "ul"), - self.startTagCloseP), - (headingElements, self.startTagHeading), - (("pre", "listing"), self.startTagPreListing), - ("form", self.startTagForm), - (("li", "dd", "dt"), self.startTagListItem), - ("plaintext", self.startTagPlaintext), - ("a", self.startTagA), - (("b", "big", "code", "em", "font", "i", "s", "small", "strike", - "strong", "tt", "u"), self.startTagFormatting), - ("nobr", self.startTagNobr), - ("button", self.startTagButton), - (("applet", "marquee", "object"), self.startTagAppletMarqueeObject), - ("xmp", self.startTagXmp), - ("table", self.startTagTable), - (("area", "br", "embed", "img", "keygen", "wbr"), - self.startTagVoidFormatting), - (("param", "source", "track"), self.startTagParamSource), - ("input", self.startTagInput), - ("hr", self.startTagHr), - ("image", self.startTagImage), - ("isindex", self.startTagIsIndex), - ("textarea", self.startTagTextarea), - ("iframe", self.startTagIFrame), - ("noscript", self.startTagNoscript), - (("noembed", "noframes"), self.startTagRawtext), - ("select", self.startTagSelect), - (("rp", "rt"), self.startTagRpRt), - (("option", "optgroup"), self.startTagOpt), - (("math"), self.startTagMath), - (("svg"), self.startTagSvg), - (("caption", "col", "colgroup", "frame", "head", - "tbody", "td", "tfoot", "th", "thead", - "tr"), self.startTagMisplaced) - ]) - self.startTagHandler.default = self.startTagOther - - self.endTagHandler = _utils.MethodDispatcher([ - ("body", self.endTagBody), - ("html", self.endTagHtml), - (("address", "article", "aside", "blockquote", "button", "center", - "details", "dialog", "dir", "div", "dl", "fieldset", "figcaption", "figure", - "footer", "header", "hgroup", "listing", "main", "menu", "nav", "ol", "pre", - "section", "summary", "ul"), self.endTagBlock), - ("form", self.endTagForm), - ("p", self.endTagP), - (("dd", "dt", "li"), self.endTagListItem), - (headingElements, self.endTagHeading), - (("a", "b", "big", "code", "em", "font", "i", "nobr", "s", "small", - "strike", "strong", "tt", "u"), self.endTagFormatting), - (("applet", "marquee", "object"), self.endTagAppletMarqueeObject), - ("br", self.endTagBr), - ]) - self.endTagHandler.default = self.endTagOther - def isMatchingFormattingElement(self, node1, node2): return (node1.name == node2.name and node1.namespace == node2.namespace and @@ -1650,14 +1597,73 @@ def getPhases(debug): self.parser.parseError("unexpected-end-tag", {"name": token["name"]}) break + startTagHandler = _utils.MethodDispatcher([ + ("html", Phase.startTagHtml), + (("base", "basefont", "bgsound", "command", "link", "meta", + "script", "style", "title"), + startTagProcessInHead), + ("body", startTagBody), + ("frameset", startTagFrameset), + (("address", "article", "aside", "blockquote", "center", "details", + "dir", "div", "dl", "fieldset", "figcaption", "figure", + "footer", "header", "hgroup", "main", "menu", "nav", "ol", "p", + "section", "summary", "ul"), + startTagCloseP), + (headingElements, startTagHeading), + (("pre", "listing"), startTagPreListing), + ("form", startTagForm), + (("li", "dd", "dt"), startTagListItem), + ("plaintext", startTagPlaintext), + ("a", startTagA), + (("b", "big", "code", "em", "font", "i", "s", "small", "strike", + "strong", "tt", "u"), startTagFormatting), + ("nobr", startTagNobr), + ("button", startTagButton), + (("applet", "marquee", "object"), startTagAppletMarqueeObject), + ("xmp", startTagXmp), + ("table", startTagTable), + (("area", "br", "embed", "img", "keygen", "wbr"), + startTagVoidFormatting), + (("param", "source", "track"), startTagParamSource), + ("input", startTagInput), + ("hr", startTagHr), + ("image", startTagImage), + ("isindex", startTagIsIndex), + ("textarea", startTagTextarea), + ("iframe", startTagIFrame), + ("noscript", startTagNoscript), + (("noembed", "noframes"), startTagRawtext), + ("select", startTagSelect), + (("rp", "rt"), startTagRpRt), + (("option", "optgroup"), startTagOpt), + (("math"), startTagMath), + (("svg"), startTagSvg), + (("caption", "col", "colgroup", "frame", "head", + "tbody", "td", "tfoot", "th", "thead", + "tr"), startTagMisplaced) + ]) + startTagHandler.default = startTagOther + + endTagHandler = _utils.MethodDispatcher([ + ("body", endTagBody), + ("html", endTagHtml), + (("address", "article", "aside", "blockquote", "button", "center", + "details", "dialog", "dir", "div", "dl", "fieldset", "figcaption", "figure", + "footer", "header", "hgroup", "listing", "main", "menu", "nav", "ol", "pre", + "section", "summary", "ul"), endTagBlock), + ("form", endTagForm), + ("p", endTagP), + (("dd", "dt", "li"), endTagListItem), + (headingElements, endTagHeading), + (("a", "b", "big", "code", "em", "font", "i", "nobr", "s", "small", + "strike", "strong", "tt", "u"), endTagFormatting), + (("applet", "marquee", "object"), endTagAppletMarqueeObject), + ("br", endTagBr), + ]) + endTagHandler.default = endTagOther + class TextPhase(Phase): - def __init__(self, parser, tree): - Phase.__init__(self, parser, tree) - self.startTagHandler = _utils.MethodDispatcher([]) - self.startTagHandler.default = self.startTagOther - self.endTagHandler = _utils.MethodDispatcher([ - ("script", self.endTagScript)]) - self.endTagHandler.default = self.endTagOther + __slots__ = tuple() def processCharacters(self, token): self.tree.insertText(token["data"]) @@ -1683,30 +1689,15 @@ def getPhases(debug): self.tree.openElements.pop() self.parser.phase = self.parser.originalPhase + startTagHandler = _utils.MethodDispatcher([]) + startTagHandler.default = startTagOther + endTagHandler = _utils.MethodDispatcher([ + ("script", endTagScript)]) + endTagHandler.default = endTagOther + class InTablePhase(Phase): # http://www.whatwg.org/specs/web-apps/current-work/#in-table - def __init__(self, parser, tree): - Phase.__init__(self, parser, tree) - self.startTagHandler = _utils.MethodDispatcher([ - ("html", self.startTagHtml), - ("caption", self.startTagCaption), - ("colgroup", self.startTagColgroup), - ("col", self.startTagCol), - (("tbody", "tfoot", "thead"), self.startTagRowGroup), - (("td", "th", "tr"), self.startTagImplyTbody), - ("table", self.startTagTable), - (("style", "script"), self.startTagStyleScript), - ("input", self.startTagInput), - ("form", self.startTagForm) - ]) - self.startTagHandler.default = self.startTagOther - - self.endTagHandler = _utils.MethodDispatcher([ - ("table", self.endTagTable), - (("body", "caption", "col", "colgroup", "html", "tbody", "td", - "tfoot", "th", "thead", "tr"), self.endTagIgnore) - ]) - self.endTagHandler.default = self.endTagOther + __slots__ = tuple() # helper methods def clearStackToTableContext(self): @@ -1828,9 +1819,32 @@ def getPhases(debug): self.parser.phases["inBody"].processEndTag(token) self.tree.insertFromTable = False + startTagHandler = _utils.MethodDispatcher([ + ("html", Phase.startTagHtml), + ("caption", startTagCaption), + ("colgroup", startTagColgroup), + ("col", startTagCol), + (("tbody", "tfoot", "thead"), startTagRowGroup), + (("td", "th", "tr"), startTagImplyTbody), + ("table", startTagTable), + (("style", "script"), startTagStyleScript), + ("input", startTagInput), + ("form", startTagForm) + ]) + startTagHandler.default = startTagOther + + endTagHandler = _utils.MethodDispatcher([ + ("table", endTagTable), + (("body", "caption", "col", "colgroup", "html", "tbody", "td", + "tfoot", "th", "thead", "tr"), endTagIgnore) + ]) + endTagHandler.default = endTagOther + class InTableTextPhase(Phase): - def __init__(self, parser, tree): - Phase.__init__(self, parser, tree) + __slots__ = ("originalPhase", "characterTokens") + + def __init__(self, *args, **kwargs): + super(InTableTextPhase, self).__init__(*args, **kwargs) self.originalPhase = None self.characterTokens = [] @@ -1875,23 +1889,7 @@ def getPhases(debug): class InCaptionPhase(Phase): # http://www.whatwg.org/specs/web-apps/current-work/#in-caption - def __init__(self, parser, tree): - Phase.__init__(self, parser, tree) - - self.startTagHandler = _utils.MethodDispatcher([ - ("html", self.startTagHtml), - (("caption", "col", "colgroup", "tbody", "td", "tfoot", "th", - "thead", "tr"), self.startTagTableElement) - ]) - self.startTagHandler.default = self.startTagOther - - self.endTagHandler = _utils.MethodDispatcher([ - ("caption", self.endTagCaption), - ("table", self.endTagTable), - (("body", "col", "colgroup", "html", "tbody", "td", "tfoot", "th", - "thead", "tr"), self.endTagIgnore) - ]) - self.endTagHandler.default = self.endTagOther + __slots__ = tuple() def ignoreEndTagCaption(self): return not self.tree.elementInScope("caption", variant="table") @@ -1944,23 +1942,24 @@ def getPhases(debug): def endTagOther(self, token): return self.parser.phases["inBody"].processEndTag(token) + startTagHandler = _utils.MethodDispatcher([ + ("html", Phase.startTagHtml), + (("caption", "col", "colgroup", "tbody", "td", "tfoot", "th", + "thead", "tr"), startTagTableElement) + ]) + startTagHandler.default = startTagOther + + endTagHandler = _utils.MethodDispatcher([ + ("caption", endTagCaption), + ("table", endTagTable), + (("body", "col", "colgroup", "html", "tbody", "td", "tfoot", "th", + "thead", "tr"), endTagIgnore) + ]) + endTagHandler.default = endTagOther + class InColumnGroupPhase(Phase): # http://www.whatwg.org/specs/web-apps/current-work/#in-column - - def __init__(self, parser, tree): - Phase.__init__(self, parser, tree) - - self.startTagHandler = _utils.MethodDispatcher([ - ("html", self.startTagHtml), - ("col", self.startTagCol) - ]) - self.startTagHandler.default = self.startTagOther - - self.endTagHandler = _utils.MethodDispatcher([ - ("colgroup", self.endTagColgroup), - ("col", self.endTagCol) - ]) - self.endTagHandler.default = self.endTagOther + __slots__ = tuple() def ignoreEndTagColgroup(self): return self.tree.openElements[-1].name == "html" @@ -2010,26 +2009,21 @@ def getPhases(debug): if not ignoreEndTag: return token + startTagHandler = _utils.MethodDispatcher([ + ("html", Phase.startTagHtml), + ("col", startTagCol) + ]) + startTagHandler.default = startTagOther + + endTagHandler = _utils.MethodDispatcher([ + ("colgroup", endTagColgroup), + ("col", endTagCol) + ]) + endTagHandler.default = endTagOther + class InTableBodyPhase(Phase): # http://www.whatwg.org/specs/web-apps/current-work/#in-table0 - def __init__(self, parser, tree): - Phase.__init__(self, parser, tree) - self.startTagHandler = _utils.MethodDispatcher([ - ("html", self.startTagHtml), - ("tr", self.startTagTr), - (("td", "th"), self.startTagTableCell), - (("caption", "col", "colgroup", "tbody", "tfoot", "thead"), - self.startTagTableOther) - ]) - self.startTagHandler.default = self.startTagOther - - self.endTagHandler = _utils.MethodDispatcher([ - (("tbody", "tfoot", "thead"), self.endTagTableRowGroup), - ("table", self.endTagTable), - (("body", "caption", "col", "colgroup", "html", "td", "th", - "tr"), self.endTagIgnore) - ]) - self.endTagHandler.default = self.endTagOther + __slots__ = tuple() # helper methods def clearStackToTableBodyContext(self): @@ -2108,26 +2102,26 @@ def getPhases(debug): def endTagOther(self, token): return self.parser.phases["inTable"].processEndTag(token) + startTagHandler = _utils.MethodDispatcher([ + ("html", Phase.startTagHtml), + ("tr", startTagTr), + (("td", "th"), startTagTableCell), + (("caption", "col", "colgroup", "tbody", "tfoot", "thead"), + startTagTableOther) + ]) + startTagHandler.default = startTagOther + + endTagHandler = _utils.MethodDispatcher([ + (("tbody", "tfoot", "thead"), endTagTableRowGroup), + ("table", endTagTable), + (("body", "caption", "col", "colgroup", "html", "td", "th", + "tr"), endTagIgnore) + ]) + endTagHandler.default = endTagOther + class InRowPhase(Phase): # http://www.whatwg.org/specs/web-apps/current-work/#in-row - def __init__(self, parser, tree): - Phase.__init__(self, parser, tree) - self.startTagHandler = _utils.MethodDispatcher([ - ("html", self.startTagHtml), - (("td", "th"), self.startTagTableCell), - (("caption", "col", "colgroup", "tbody", "tfoot", "thead", - "tr"), self.startTagTableOther) - ]) - self.startTagHandler.default = self.startTagOther - - self.endTagHandler = _utils.MethodDispatcher([ - ("tr", self.endTagTr), - ("table", self.endTagTable), - (("tbody", "tfoot", "thead"), self.endTagTableRowGroup), - (("body", "caption", "col", "colgroup", "html", "td", "th"), - self.endTagIgnore) - ]) - self.endTagHandler.default = self.endTagOther + __slots__ = tuple() # helper methods (XXX unify this with other table helper methods) def clearStackToTableRowContext(self): @@ -2197,23 +2191,26 @@ def getPhases(debug): def endTagOther(self, token): return self.parser.phases["inTable"].processEndTag(token) + startTagHandler = _utils.MethodDispatcher([ + ("html", Phase.startTagHtml), + (("td", "th"), startTagTableCell), + (("caption", "col", "colgroup", "tbody", "tfoot", "thead", + "tr"), startTagTableOther) + ]) + startTagHandler.default = startTagOther + + endTagHandler = _utils.MethodDispatcher([ + ("tr", endTagTr), + ("table", endTagTable), + (("tbody", "tfoot", "thead"), endTagTableRowGroup), + (("body", "caption", "col", "colgroup", "html", "td", "th"), + endTagIgnore) + ]) + endTagHandler.default = endTagOther + class InCellPhase(Phase): # http://www.whatwg.org/specs/web-apps/current-work/#in-cell - def __init__(self, parser, tree): - Phase.__init__(self, parser, tree) - self.startTagHandler = _utils.MethodDispatcher([ - ("html", self.startTagHtml), - (("caption", "col", "colgroup", "tbody", "td", "tfoot", "th", - "thead", "tr"), self.startTagTableOther) - ]) - self.startTagHandler.default = self.startTagOther - - self.endTagHandler = _utils.MethodDispatcher([ - (("td", "th"), self.endTagTableCell), - (("body", "caption", "col", "colgroup", "html"), self.endTagIgnore), - (("table", "tbody", "tfoot", "thead", "tr"), self.endTagImply) - ]) - self.endTagHandler.default = self.endTagOther + __slots__ = tuple() # helper def closeCell(self): @@ -2273,26 +2270,22 @@ def getPhases(debug): def endTagOther(self, token): return self.parser.phases["inBody"].processEndTag(token) + startTagHandler = _utils.MethodDispatcher([ + ("html", Phase.startTagHtml), + (("caption", "col", "colgroup", "tbody", "td", "tfoot", "th", + "thead", "tr"), startTagTableOther) + ]) + startTagHandler.default = startTagOther + + endTagHandler = _utils.MethodDispatcher([ + (("td", "th"), endTagTableCell), + (("body", "caption", "col", "colgroup", "html"), endTagIgnore), + (("table", "tbody", "tfoot", "thead", "tr"), endTagImply) + ]) + endTagHandler.default = endTagOther + class InSelectPhase(Phase): - def __init__(self, parser, tree): - Phase.__init__(self, parser, tree) - - self.startTagHandler = _utils.MethodDispatcher([ - ("html", self.startTagHtml), - ("option", self.startTagOption), - ("optgroup", self.startTagOptgroup), - ("select", self.startTagSelect), - (("input", "keygen", "textarea"), self.startTagInput), - ("script", self.startTagScript) - ]) - self.startTagHandler.default = self.startTagOther - - self.endTagHandler = _utils.MethodDispatcher([ - ("option", self.endTagOption), - ("optgroup", self.endTagOptgroup), - ("select", self.endTagSelect) - ]) - self.endTagHandler.default = self.endTagOther + __slots__ = tuple() # http://www.whatwg.org/specs/web-apps/current-work/#in-select def processEOF(self): @@ -2373,21 +2366,25 @@ def getPhases(debug): self.parser.parseError("unexpected-end-tag-in-select", {"name": token["name"]}) + startTagHandler = _utils.MethodDispatcher([ + ("html", Phase.startTagHtml), + ("option", startTagOption), + ("optgroup", startTagOptgroup), + ("select", startTagSelect), + (("input", "keygen", "textarea"), startTagInput), + ("script", startTagScript) + ]) + startTagHandler.default = startTagOther + + endTagHandler = _utils.MethodDispatcher([ + ("option", endTagOption), + ("optgroup", endTagOptgroup), + ("select", endTagSelect) + ]) + endTagHandler.default = endTagOther + class InSelectInTablePhase(Phase): - def __init__(self, parser, tree): - Phase.__init__(self, parser, tree) - - self.startTagHandler = _utils.MethodDispatcher([ - (("caption", "table", "tbody", "tfoot", "thead", "tr", "td", "th"), - self.startTagTable) - ]) - self.startTagHandler.default = self.startTagOther - - self.endTagHandler = _utils.MethodDispatcher([ - (("caption", "table", "tbody", "tfoot", "thead", "tr", "td", "th"), - self.endTagTable) - ]) - self.endTagHandler.default = self.endTagOther + __slots__ = tuple() def processEOF(self): self.parser.phases["inSelect"].processEOF() @@ -2412,7 +2409,21 @@ def getPhases(debug): def endTagOther(self, token): return self.parser.phases["inSelect"].processEndTag(token) + startTagHandler = _utils.MethodDispatcher([ + (("caption", "table", "tbody", "tfoot", "thead", "tr", "td", "th"), + startTagTable) + ]) + startTagHandler.default = startTagOther + + endTagHandler = _utils.MethodDispatcher([ + (("caption", "table", "tbody", "tfoot", "thead", "tr", "td", "th"), + endTagTable) + ]) + endTagHandler.default = endTagOther + class InForeignContentPhase(Phase): + __slots__ = tuple() + breakoutElements = frozenset(["b", "big", "blockquote", "body", "br", "center", "code", "dd", "div", "dl", "dt", "em", "embed", "h1", "h2", "h3", @@ -2422,9 +2433,6 @@ def getPhases(debug): "span", "strong", "strike", "sub", "sup", "table", "tt", "u", "ul", "var"]) - def __init__(self, parser, tree): - Phase.__init__(self, parser, tree) - def adjustSVGTagNames(self, token): replacements = {"altglyph": "altGlyph", "altglyphdef": "altGlyphDef", @@ -2478,7 +2486,7 @@ def getPhases(debug): currentNode = self.tree.openElements[-1] if (token["name"] in self.breakoutElements or (token["name"] == "font" and - set(token["data"].keys()) & set(["color", "face", "size"]))): + set(token["data"].keys()) & {"color", "face", "size"})): self.parser.parseError("unexpected-html-element-in-foreign-content", {"name": token["name"]}) while (self.tree.openElements[-1].namespace != @@ -2528,16 +2536,7 @@ def getPhases(debug): return new_token class AfterBodyPhase(Phase): - def __init__(self, parser, tree): - Phase.__init__(self, parser, tree) - - self.startTagHandler = _utils.MethodDispatcher([ - ("html", self.startTagHtml) - ]) - self.startTagHandler.default = self.startTagOther - - self.endTagHandler = _utils.MethodDispatcher([("html", self.endTagHtml)]) - self.endTagHandler.default = self.endTagOther + __slots__ = tuple() def processEOF(self): # Stop parsing @@ -2574,23 +2573,17 @@ def getPhases(debug): self.parser.phase = self.parser.phases["inBody"] return token + startTagHandler = _utils.MethodDispatcher([ + ("html", startTagHtml) + ]) + startTagHandler.default = startTagOther + + endTagHandler = _utils.MethodDispatcher([("html", endTagHtml)]) + endTagHandler.default = endTagOther + class InFramesetPhase(Phase): # http://www.whatwg.org/specs/web-apps/current-work/#in-frameset - def __init__(self, parser, tree): - Phase.__init__(self, parser, tree) - - self.startTagHandler = _utils.MethodDispatcher([ - ("html", self.startTagHtml), - ("frameset", self.startTagFrameset), - ("frame", self.startTagFrame), - ("noframes", self.startTagNoframes) - ]) - self.startTagHandler.default = self.startTagOther - - self.endTagHandler = _utils.MethodDispatcher([ - ("frameset", self.endTagFrameset) - ]) - self.endTagHandler.default = self.endTagOther + __slots__ = tuple() def processEOF(self): if self.tree.openElements[-1].name != "html": @@ -2631,21 +2624,22 @@ def getPhases(debug): self.parser.parseError("unexpected-end-tag-in-frameset", {"name": token["name"]}) + startTagHandler = _utils.MethodDispatcher([ + ("html", Phase.startTagHtml), + ("frameset", startTagFrameset), + ("frame", startTagFrame), + ("noframes", startTagNoframes) + ]) + startTagHandler.default = startTagOther + + endTagHandler = _utils.MethodDispatcher([ + ("frameset", endTagFrameset) + ]) + endTagHandler.default = endTagOther + class AfterFramesetPhase(Phase): # http://www.whatwg.org/specs/web-apps/current-work/#after3 - def __init__(self, parser, tree): - Phase.__init__(self, parser, tree) - - self.startTagHandler = _utils.MethodDispatcher([ - ("html", self.startTagHtml), - ("noframes", self.startTagNoframes) - ]) - self.startTagHandler.default = self.startTagOther - - self.endTagHandler = _utils.MethodDispatcher([ - ("html", self.endTagHtml) - ]) - self.endTagHandler.default = self.endTagOther + __slots__ = tuple() def processEOF(self): # Stop parsing @@ -2668,14 +2662,19 @@ def getPhases(debug): self.parser.parseError("unexpected-end-tag-after-frameset", {"name": token["name"]}) - class AfterAfterBodyPhase(Phase): - def __init__(self, parser, tree): - Phase.__init__(self, parser, tree) + startTagHandler = _utils.MethodDispatcher([ + ("html", Phase.startTagHtml), + ("noframes", startTagNoframes) + ]) + startTagHandler.default = startTagOther - self.startTagHandler = _utils.MethodDispatcher([ - ("html", self.startTagHtml) - ]) - self.startTagHandler.default = self.startTagOther + endTagHandler = _utils.MethodDispatcher([ + ("html", endTagHtml) + ]) + endTagHandler.default = endTagOther + + class AfterAfterBodyPhase(Phase): + __slots__ = tuple() def processEOF(self): pass @@ -2706,15 +2705,13 @@ def getPhases(debug): self.parser.phase = self.parser.phases["inBody"] return token - class AfterAfterFramesetPhase(Phase): - def __init__(self, parser, tree): - Phase.__init__(self, parser, tree) + startTagHandler = _utils.MethodDispatcher([ + ("html", startTagHtml) + ]) + startTagHandler.default = startTagOther - self.startTagHandler = _utils.MethodDispatcher([ - ("html", self.startTagHtml), - ("noframes", self.startTagNoFrames) - ]) - self.startTagHandler.default = self.startTagOther + class AfterAfterFramesetPhase(Phase): + __slots__ = tuple() def processEOF(self): pass @@ -2741,6 +2738,13 @@ def getPhases(debug): def processEndTag(self, token): self.parser.parseError("expected-eof-but-got-end-tag", {"name": token["name"]}) + + startTagHandler = _utils.MethodDispatcher([ + ("html", startTagHtml), + ("noframes", startTagNoFrames) + ]) + startTagHandler.default = startTagOther + # pylint:enable=unused-argument return { @@ -2774,8 +2778,8 @@ def getPhases(debug): def adjust_attributes(token, replacements): needs_adjustment = viewkeys(token['data']) & viewkeys(replacements) if needs_adjustment: - token['data'] = OrderedDict((replacements.get(k, k), v) - for k, v in token['data'].items()) + token['data'] = type(token['data'])((replacements.get(k, k), v) + for k, v in token['data'].items()) def impliedTagToken(name, type="EndTag", attributes=None, diff --git a/libs/html5lib/serializer.py b/libs/html5lib/serializer.py index d6b7105d4..c66df6839 100644 --- a/libs/html5lib/serializer.py +++ b/libs/html5lib/serializer.py @@ -274,7 +274,7 @@ class HTMLSerializer(object): if token["systemId"]: if token["systemId"].find('"') >= 0: if token["systemId"].find("'") >= 0: - self.serializeError("System identifer contains both single and double quote characters") + self.serializeError("System identifier contains both single and double quote characters") quote_char = "'" else: quote_char = '"' diff --git a/libs/html5lib/tests/sanitizer-testdata/tests1.dat b/libs/html5lib/tests/sanitizer-testdata/tests1.dat new file mode 100644 index 000000000..74e883368 --- /dev/null +++ b/libs/html5lib/tests/sanitizer-testdata/tests1.dat @@ -0,0 +1,433 @@ +[ + { + "name": "IE_Comments", + "input": "", + "output": "" + }, + + { + "name": "IE_Comments_2", + "input": "", + "output": "<script>alert('XSS');</script>" + }, + + { + "name": "allow_colons_in_path_component", + "input": "foo", + "output": "foo" + }, + + { + "name": "background_attribute", + "input": "
", + "output": "
" + }, + + { + "name": "bgsound", + "input": "", + "output": "<bgsound src=\"javascript:alert('XSS');\"></bgsound>" + }, + + { + "name": "div_background_image_unicode_encoded", + "input": "
foo
", + "output": "
foo
" + }, + + { + "name": "div_expression", + "input": "
foo
", + "output": "
foo
" + }, + + { + "name": "double_open_angle_brackets", + "input": "", + "output": "" + }, + + { + "name": "img_dynsrc_lowsrc", + "input": "", + "output": "" + }, + + { + "name": "img_vbscript", + "input": "", + "output": "" + }, + + { + "name": "input_image", + "input": "", + "output": "" + }, + + { + "name": "link_stylesheets", + "input": "", + "output": "<link href=\"javascript:alert('XSS');\" rel=\"stylesheet\">" + }, + + { + "name": "link_stylesheets_2", + "input": "", + "output": "<link href=\"http://ha.ckers.org/xss.css\" rel=\"stylesheet\">" + }, + + { + "name": "list_style_image", + "input": "
  • foo
  • ", + "output": "
  • foo
  • " + }, + + { + "name": "no_closing_script_tags", + "input": "", + "output": "<script src=\"http://ha.ckers.org/xss.js\" xss=\"\"></script>" + }, + + { + "name": "non_alpha_non_digit_2", + "input": "foo", + "output": "foo" + }, + + { + "name": "non_alpha_non_digit_3", + "input": "", + "output": "" + }, + + { + "name": "non_alpha_non_digit_II", + "input": "foo", + "output": "foo" + }, + + { + "name": "non_alpha_non_digit_III", + "input": "foo", + "output": "foo" + }, + + { + "name": "platypus", + "input": "never trust your upstream platypus", + "output": "never trust your upstream platypus" + }, + + { + "name": "protocol_resolution_in_script_tag", + "input": "", + "output": "<script src=\"//ha.ckers.org/.j\"></script>" + }, + + { + "name": "should_allow_anchors", + "input": "", + "output": "<script>baz</script>" + }, + + { + "name": "should_allow_image_alt_attribute", + "input": "foo", + "output": "foo" + }, + + { + "name": "should_allow_image_height_attribute", + "input": "", + "output": "" + }, + + { + "name": "should_allow_image_src_attribute", + "input": "", + "output": "" + }, + + { + "name": "should_allow_image_width_attribute", + "input": "", + "output": "" + }, + + { + "name": "should_handle_blank_text", + "input": "", + "output": "" + }, + + { + "name": "should_handle_malformed_image_tags", + "input": "\">", + "output": "<script>alert(\"XSS\")</script>\">" + }, + + { + "name": "should_handle_non_html", + "input": "abc", + "output": "abc" + }, + + { + "name": "should_not_fall_for_ridiculous_hack", + "input": "", + "output": "" + }, + + { + "name": "should_not_fall_for_xss_image_hack_0", + "input": "", + "output": "" + }, + + { + "name": "should_not_fall_for_xss_image_hack_1", + "input": "", + "output": "" + }, + + { + "name": "should_not_fall_for_xss_image_hack_10", + "input": "", + "output": "" + }, + + { + "name": "should_not_fall_for_xss_image_hack_11", + "input": "", + "output": "" + }, + + { + "name": "should_not_fall_for_xss_image_hack_12", + "input": "", + "output": "" + }, + + { + "name": "should_not_fall_for_xss_image_hack_13", + "input": "", + "output": "" + }, + + { + "name": "should_not_fall_for_xss_image_hack_14", + "input": "", + "output": "" + }, + + { + "name": "should_not_fall_for_xss_image_hack_2", + "input": "", + "output": "" + }, + + { + "name": "should_not_fall_for_xss_image_hack_3", + "input": "", + "output": "" + }, + + { + "name": "should_not_fall_for_xss_image_hack_4", + "input": "", + "output": "" + }, + + { + "name": "should_not_fall_for_xss_image_hack_5", + "input": "", + "output": "" + }, + + { + "name": "should_not_fall_for_xss_image_hack_6", + "input": "", + "output": "" + }, + + { + "name": "should_not_fall_for_xss_image_hack_7", + "input": "", + "output": "" + }, + + { + "name": "should_not_fall_for_xss_image_hack_8", + "input": "", + "output": "" + }, + + { + "name": "should_not_fall_for_xss_image_hack_9", + "input": "", + "output": "" + }, + + { + "name": "should_sanitize_half_open_scripts", + "input": "", + "output": "<script src=\"http://ha.ckers.org/xss.js\" xss=\"\"></script>" + }, + + { + "name": "should_sanitize_script_tag_with_multiple_open_brackets", + "input": "<", + "output": "<<script>alert(\"XSS\");//<</script>" + }, + + { + "name": "should_sanitize_script_tag_with_multiple_open_brackets_2", + "input": " -#errors -(1,9): expected-doctype-but-got-end-tag -(1,9): unexpected-end-tag-before-html -(1,13): unexpected-end-tag-before-html -(1,18): unexpected-end-tag-before-html -(1,22): unexpected-end-tag-before-html -(1,26): unexpected-end-tag-before-html -(1,35): unexpected-end-tag-before-html -(1,39): unexpected-end-tag-before-html -(1,47): unexpected-end-tag-before-html -(1,52): unexpected-end-tag-before-html -(1,58): unexpected-end-tag-before-html -(1,64): unexpected-end-tag-before-html -(1,72): unexpected-end-tag-before-html -(1,79): unexpected-end-tag-before-html -(1,88): unexpected-end-tag-before-html -(1,93): unexpected-end-tag-before-html -(1,98): unexpected-end-tag-before-html -(1,103): unexpected-end-tag-before-html -(1,108): unexpected-end-tag-before-html -(1,113): unexpected-end-tag-before-html -(1,118): unexpected-end-tag-before-html -(1,130): unexpected-end-tag-after-body -(1,130): unexpected-end-tag-treated-as -(1,134): unexpected-end-tag -(1,140): unexpected-end-tag -(1,148): unexpected-end-tag -(1,155): unexpected-end-tag -(1,163): unexpected-end-tag -(1,172): unexpected-end-tag -(1,180): unexpected-end-tag -(1,185): unexpected-end-tag -(1,190): unexpected-end-tag -(1,195): unexpected-end-tag -(1,203): unexpected-end-tag -(1,210): unexpected-end-tag -(1,217): unexpected-end-tag -(1,225): unexpected-end-tag -(1,230): unexpected-end-tag -(1,238): unexpected-end-tag -(1,244): unexpected-end-tag -(1,251): unexpected-end-tag -(1,258): unexpected-end-tag -(1,269): unexpected-end-tag -(1,279): unexpected-end-tag -(1,287): unexpected-end-tag -(1,296): unexpected-end-tag -(1,300): unexpected-end-tag -(1,305): unexpected-end-tag -(1,310): unexpected-end-tag -(1,320): unexpected-end-tag -(1,331): unexpected-end-tag -(1,339): unexpected-end-tag -(1,347): unexpected-end-tag -(1,355): unexpected-end-tag -(1,365): end-tag-too-early -(1,378): end-tag-too-early -(1,387): end-tag-too-early -(1,393): end-tag-too-early -(1,399): end-tag-too-early -(1,404): end-tag-too-early -(1,415): end-tag-too-early -(1,425): end-tag-too-early -(1,432): end-tag-too-early -(1,437): end-tag-too-early -(1,442): end-tag-too-early -(1,447): unexpected-end-tag -(1,454): unexpected-end-tag -(1,460): unexpected-end-tag -(1,467): unexpected-end-tag -(1,476): end-tag-too-early -(1,486): end-tag-too-early -(1,495): end-tag-too-early -(1,513): expected-eof-but-got-end-tag -(1,513): unexpected-end-tag -(1,520): unexpected-end-tag -(1,529): unexpected-end-tag -(1,537): unexpected-end-tag -(1,547): unexpected-end-tag -(1,557): unexpected-end-tag -(1,568): unexpected-end-tag -(1,579): unexpected-end-tag -(1,590): unexpected-end-tag -(1,599): unexpected-end-tag -(1,611): unexpected-end-tag -(1,622): unexpected-end-tag -#document -| -| -| -|
    -|

    - -#data -

    -#errors -(1,7): expected-doctype-but-got-start-tag -(1,20): unexpected-end-tag-implies-table-voodoo -(1,20): unexpected-end-tag -(1,24): unexpected-end-tag-implies-table-voodoo -(1,24): unexpected-end-tag -(1,29): unexpected-end-tag-implies-table-voodoo -(1,29): unexpected-end-tag -(1,33): unexpected-end-tag-implies-table-voodoo -(1,33): unexpected-end-tag -(1,37): unexpected-end-tag-implies-table-voodoo -(1,37): unexpected-end-tag -(1,46): unexpected-end-tag-implies-table-voodoo -(1,46): unexpected-end-tag -(1,50): unexpected-end-tag-implies-table-voodoo -(1,50): unexpected-end-tag -(1,58): unexpected-end-tag-implies-table-voodoo -(1,58): unexpected-end-tag -(1,63): unexpected-end-tag-implies-table-voodoo -(1,63): unexpected-end-tag -(1,69): unexpected-end-tag-implies-table-voodoo -(1,69): end-tag-too-early -(1,75): unexpected-end-tag-implies-table-voodoo -(1,75): unexpected-end-tag -(1,83): unexpected-end-tag-implies-table-voodoo -(1,83): unexpected-end-tag -(1,90): unexpected-end-tag-implies-table-voodoo -(1,90): unexpected-end-tag -(1,99): unexpected-end-tag-implies-table-voodoo -(1,99): unexpected-end-tag -(1,104): unexpected-end-tag-implies-table-voodoo -(1,104): end-tag-too-early -(1,109): unexpected-end-tag-implies-table-voodoo -(1,109): end-tag-too-early -(1,114): unexpected-end-tag-implies-table-voodoo -(1,114): end-tag-too-early -(1,119): unexpected-end-tag-implies-table-voodoo -(1,119): end-tag-too-early -(1,124): unexpected-end-tag-implies-table-voodoo -(1,124): end-tag-too-early -(1,129): unexpected-end-tag-implies-table-voodoo -(1,129): end-tag-too-early -(1,136): unexpected-end-tag-in-table-row -(1,141): unexpected-end-tag-implies-table-voodoo -(1,141): unexpected-end-tag-treated-as -(1,145): unexpected-end-tag-implies-table-voodoo -(1,145): unexpected-end-tag -(1,151): unexpected-end-tag-implies-table-voodoo -(1,151): unexpected-end-tag -(1,159): unexpected-end-tag-implies-table-voodoo -(1,159): unexpected-end-tag -(1,166): unexpected-end-tag-implies-table-voodoo -(1,166): unexpected-end-tag -(1,174): unexpected-end-tag-implies-table-voodoo -(1,174): unexpected-end-tag -(1,183): unexpected-end-tag-implies-table-voodoo -(1,183): unexpected-end-tag -(1,196): unexpected-end-tag -(1,201): unexpected-end-tag -(1,206): unexpected-end-tag -(1,214): unexpected-end-tag -(1,221): unexpected-end-tag -(1,228): unexpected-end-tag -(1,236): unexpected-end-tag -(1,241): unexpected-end-tag -(1,249): unexpected-end-tag -(1,255): unexpected-end-tag -(1,262): unexpected-end-tag -(1,269): unexpected-end-tag -(1,280): unexpected-end-tag -(1,290): unexpected-end-tag -(1,298): unexpected-end-tag -(1,307): unexpected-end-tag -(1,311): unexpected-end-tag -(1,316): unexpected-end-tag -(1,321): unexpected-end-tag -(1,331): unexpected-end-tag -(1,342): unexpected-end-tag -(1,350): unexpected-end-tag -(1,358): unexpected-end-tag -(1,366): unexpected-end-tag -(1,376): end-tag-too-early -(1,389): end-tag-too-early -(1,398): end-tag-too-early -(1,404): end-tag-too-early -(1,410): end-tag-too-early -(1,415): end-tag-too-early -(1,426): end-tag-too-early -(1,436): end-tag-too-early -(1,443): end-tag-too-early -(1,448): end-tag-too-early -(1,453): end-tag-too-early -(1,458): unexpected-end-tag -(1,465): unexpected-end-tag -(1,471): unexpected-end-tag -(1,478): unexpected-end-tag -(1,487): end-tag-too-early -(1,497): end-tag-too-early -(1,506): end-tag-too-early -(1,524): expected-eof-but-got-end-tag -(1,524): unexpected-end-tag -(1,531): unexpected-end-tag -(1,540): unexpected-end-tag -(1,548): unexpected-end-tag -(1,558): unexpected-end-tag -(1,568): unexpected-end-tag -(1,579): unexpected-end-tag -(1,590): unexpected-end-tag -(1,601): unexpected-end-tag -(1,610): unexpected-end-tag -(1,622): unexpected-end-tag -(1,633): unexpected-end-tag -#document -| -| -| -|
    -| -| -| -|

    - -#data - -#errors -(1,10): expected-doctype-but-got-start-tag -(1,10): eof-in-frameset -#document -| -| -| diff --git a/libs/html5lib/tests/testdata/tree-construction/tests10.dat b/libs/html5lib/tests/testdata/tree-construction/tests10.dat deleted file mode 100644 index 3e9a9f19b..000000000 --- a/libs/html5lib/tests/testdata/tree-construction/tests10.dat +++ /dev/null @@ -1,847 +0,0 @@ -#data - -#errors -#document -| -| -| -| -| - -#data -a -#errors -(1,28) expected-dashes-or-doctype -#document -| -| -| -| -| -| - -#data - -#errors -#document -| -| -| -| -| - -#data - -#errors -(1,34) unexpected-start-tag-in-select -(1,40) unexpected-end-tag-in-select -#document -| -| -| -| -| -#errors -(1,42) unexpected-start-tag-in-select -(1,48) unexpected-end-tag-in-select -#document -| -| -| -| -|

    -#errors -(1,33) foster-parenting-start-tag -#document -| -| -| -| -| -| - -#data -
    foo
    -#errors -(1,33) foster-parenting-start-tag -#document -| -| -| -| -| -| -| "foo" -| - -#data -
    foobar
    -#errors -(1,33) foster-parenting-start-tag -#document -| -| -| -| -| -| -| "foo" -| -| "bar" -| - -#data -
    foobar
    -#errors -(1,40) foster-parenting-start-tag -#document -| -| -| -| -| -| -| "foo" -| -| "bar" -| -| - -#data -
    foobar
    -#errors -(1,44) foster-parenting-start-tag -#document -| -| -| -| -| -| -| "foo" -| -| "bar" -| -| -| - -#data -
    foobar
    -#errors -#document -| -| -| -| -| -| -| -|
    -| -| -| "foo" -| -| "bar" - -#data -
    foobar

    baz

    -#errors -#document -| -| -| -| -| -| -| -|
    -| -| -| "foo" -| -| "bar" -|

    -| "baz" - -#data -
    foobar

    baz

    -#errors -#document -| -| -| -| -| -|
    -| -| -| "foo" -| -| "bar" -|

    -| "baz" - -#data -
    foobar

    baz

    quux -#errors -(1,65) unexpected-html-element-in-foreign-content -#document -| -| -| -| -| -|
    -| -| -| "foo" -| -| "bar" -|

    -| "baz" -|

    -| "quux" - -#data -
    foobarbaz

    quux -#errors -(1,73) unexpected-end-tag -(1,73) expected-one-end-tag-but-got-another -#document -| -| -| -| -| -|
    -| -| -| "foo" -| -| "bar" -| "baz" -|

    -| "quux" - -#data -foobar

    baz

    quux -#errors -(1,43) foster-parenting-start-tag svg -(1,66) unexpected HTML-like start tag token in foreign content -(1,66) foster-parenting-start-tag -(1,67) foster-parenting-character -(1,68) foster-parenting-character -(1,69) foster-parenting-character -#document -| -| -| -| -| -| -| "foo" -| -| "bar" -|

    -| "baz" -| -| -|

    -| "quux" - -#data -

    quux -#errors -(1,49) unexpected-start-tag-in-select -(1,52) unexpected-start-tag-in-select -(1,59) unexpected-end-tag-in-select -(1,62) unexpected-start-tag-in-select -(1,69) unexpected-end-tag-in-select -(1,72) unexpected-start-tag-in-select -(1,83) unexpected-table-element-end-tag-in-select-in-table -#document -| -| -| -| -| -| -| -|
    -|

    quux -#errors -(1,36) unexpected-start-tag-implies-table-voodoo -(1,41) unexpected-start-tag-in-select -(1,44) unexpected-start-tag-in-select -(1,51) unexpected-end-tag-in-select -(1,54) unexpected-start-tag-in-select -(1,61) unexpected-end-tag-in-select -(1,64) unexpected-start-tag-in-select -(1,75) unexpected-table-element-end-tag-in-select-in-table -#document -| -| -| -| -| -|

    -| "quux" - -#data -foobar

    baz -#errors -(1,40) expected-eof-but-got-start-tag -(1,63) unexpected-html-element-in-foreign-content -#document -| -| -| -| -| -| -| "foo" -| -| "bar" -|

    -| "baz" - -#data -foobar

    baz -#errors -(1,33) unexpected-start-tag-after-body -(1,56) unexpected-html-element-in-foreign-content -#document -| -| -| -| -| -| -| "foo" -| -| "bar" -|

    -| "baz" - -#data -

    -#errors -(1,30) unexpected-start-tag-in-frameset -(1,33) unexpected-start-tag-in-frameset -(1,37) unexpected-end-tag-in-frameset -(1,40) unexpected-start-tag-in-frameset -(1,44) unexpected-end-tag-in-frameset -(1,47) unexpected-start-tag-in-frameset -(1,53) unexpected-start-tag-in-frameset -(1,53) eof-in-frameset -#document -| -| -| -| - -#data -

    -#errors -(1,41) unexpected-start-tag-after-frameset -(1,44) unexpected-start-tag-after-frameset -(1,48) unexpected-end-tag-after-frameset -(1,51) unexpected-start-tag-after-frameset -(1,55) unexpected-end-tag-after-frameset -(1,58) unexpected-start-tag-after-frameset -(1,64) unexpected-start-tag-after-frameset -#document -| -| -| -| - -#data - -#errors -#document -| -| -| -| -| xlink:href="foo" -| -| xlink href="foo" - -#data - -#errors -#document -| -| -| -| -| xlink:href="foo" -| xml:lang="en" -| -| -| xlink href="foo" -| xml lang="en" - -#data - -#errors -#document -| -| -| -| -| xlink:href="foo" -| xml:lang="en" -| -| -| xlink href="foo" -| xml lang="en" - -#data -bar -#errors -#document -| -| -| -| -| xlink:href="foo" -| xml:lang="en" -| -| -| xlink href="foo" -| xml lang="en" -| "bar" - -#data - -#errors -(1,5) expected-doctype-but-got-start-tag -(1,12) unexpected-end-tag -(1,12) unexpected-end-tag -(1,12) expected-closing-tag-but-got-eof -#document -| -| -| -| - -#data -

    a -#errors -(1,5) expected-doctype-but-got-start-tag -(1,16) unexpected-end-tag -(1,16) end-tag-too-early -#document -| -| -| -|
    -| -| "a" - -#data -
    a -#errors -(1,5) expected-doctype-but-got-start-tag -(1,22) unexpected-end-tag -(1,22) end-tag-too-early -#document -| -| -| -|
    -| -| -| "a" - -#data -
    -#errors -(1,5) expected-doctype-but-got-start-tag -(1,22) unexpected-end-tag -(1,28) expected-closing-tag-but-got-eof -#document -| -| -| -|
    -| -| -| - -#data -
    a -#errors -(1,5) expected-doctype-but-got-start-tag -(1,43) unexpected-end-tag -(1,43) end-tag-too-early -(1,44) expected-closing-tag-but-got-eof -#document -| -| -| -|
    -| -| -| -| -| "a" - -#data -

    a -#errors -(1,5) expected-doctype-but-got-start-tag -(1,40) end-tag-too-early -(1,41) expected-closing-tag-but-got-eof -#document -| -| -| -|

    -| -| -| -|

    -| "a" - -#data -
      a -#errors -(1,40) unexpected-html-element-in-foreign-content -(1,41) expected-closing-tag-but-got-eof -#document -| -| -| -| -| -| -|
      -| -|
        -| "a" - -#data -
          a -#errors -(1,35) unexpected-html-element-in-foreign-content -(1,36) expected-closing-tag-but-got-eof -#document -| -| -| -| -| -| -| -|
            -| "a" - -#data -

            -#errors -(1,32) expected-closing-tag-but-got-eof -#document -| -| -| -| -|

            -| -| -|

            - -#data -

            -#errors -(1,33) expected-closing-tag-but-got-eof -#document -| -| -| -| -|

            -| -| -|

            - -#data -

            -#errors -(1,5) expected-doctype-but-got-start-tag -(1,50) unexpected-end-tag -(1,53) expected-closing-tag-but-got-eof -#document -| -| -| -|

            -| -| -| -|

            -|

            - -#data -
            -#errors -(1,6) expected-doctype-but-got-start-tag -(1,71) expected-closing-tag-but-got-eof -#document -| -| -| -| -| -|
            -| -|
            -| -| - -#data -
            -#errors -(1,6) expected-doctype-but-got-start-tag -(1,83) expected-closing-tag-but-got-eof -#document -| -| -| -| -| -| -| -|
            -|
            -| - -#data - -#errors -(1,5) expected-doctype-but-got-start-tag -(1,28) expected-closing-tag-but-got-eof -#document -| -| -| -| -| -| - -#data -

    -#errors -(1,7) expected-doctype-but-got-start-tag -(1,12) unexpected-start-tag-implies-table-voodoo -(1,22) eof-in-table -#document -| -| -| -| -|
    -| -| - -#data - -#errors -(1,6) expected-doctype-but-got-start-tag -(1,18) expected-closing-tag-but-got-eof -#document -| -| -| -| -| -| - -#data - -#errors -(1,6) expected-doctype-but-got-start-tag -(1,22) expected-closing-tag-but-got-eof -#document -| -| -| -| -| -| - -#data - -#errors -(1,6) expected-doctype-but-got-start-tag -(1,18) expected-closing-tag-but-got-eof -#document -| -| -| -| -| -| - -#data - -#errors -(1,6) expected-doctype-but-got-start-tag -(1,22) expected-closing-tag-but-got-eof -#document -| -| -| -| -| -| - -#data - -#errors -(1,6) expected-doctype-but-got-start-tag -(1,18) expected-closing-tag-but-got-eof -#document -| -| -| -| -| -| - -#data - -#errors -(1,6) expected-doctype-but-got-start-tag -(1,22) expected-closing-tag-but-got-eof -#document -| -| -| -| -| -| - -#data - -#errors -(1,6) expected-doctype-but-got-start-tag -(1,18) expected-closing-tag-but-got-eof -#document -| -| -| -| -| -| - -#data - -#errors -(1,6) expected-doctype-but-got-start-tag -(1,22) expected-closing-tag-but-got-eof -#document -| -| -| -| -| -| - -#data - -#errors -(1,6) expected-doctype-but-got-start-tag -(1,21) expected-closing-tag-but-got-eof -#document -| -| -| -| -| -| - -#data - -#errors -(1,6) expected-doctype-but-got-start-tag -(1,25) expected-closing-tag-but-got-eof -#document -| -| -| -| -| -| - -#data - -#errors -(1,6) expected-doctype-but-got-start-tag -(1,54) expected-closing-tag-but-got-eof -#document -| -| -| -| -| -| -| - -#data -
    -#errors -(1,6) expected-doctype-but-got-start-tag -(1,144) expected-closing-tag-but-got-eof -#document -| -| -| -| -| -| -| -|
    -| -| -| -| -| - -#data - -#errors -(1,6) expected-doctype-but-got-start-tag -(1,153) expected-closing-tag-but-got-eof -#document -| -| -| -| -| -| -| -| -| -| -| -| -| -| diff --git a/libs/html5lib/tests/testdata/tree-construction/tests11.dat b/libs/html5lib/tests/testdata/tree-construction/tests11.dat deleted file mode 100644 index b9901e79e..000000000 --- a/libs/html5lib/tests/testdata/tree-construction/tests11.dat +++ /dev/null @@ -1,523 +0,0 @@ -#data - -#errors -#document -| -| -| -| -| -| attributeName="" -| attributeType="" -| baseFrequency="" -| baseProfile="" -| calcMode="" -| clipPathUnits="" -| diffuseConstant="" -| edgeMode="" -| filterUnits="" -| glyphRef="" -| gradientTransform="" -| gradientUnits="" -| kernelMatrix="" -| kernelUnitLength="" -| keyPoints="" -| keySplines="" -| keyTimes="" -| lengthAdjust="" -| limitingConeAngle="" -| markerHeight="" -| markerUnits="" -| markerWidth="" -| maskContentUnits="" -| maskUnits="" -| numOctaves="" -| pathLength="" -| patternContentUnits="" -| patternTransform="" -| patternUnits="" -| pointsAtX="" -| pointsAtY="" -| pointsAtZ="" -| preserveAlpha="" -| preserveAspectRatio="" -| primitiveUnits="" -| refX="" -| refY="" -| repeatCount="" -| repeatDur="" -| requiredExtensions="" -| requiredFeatures="" -| specularConstant="" -| specularExponent="" -| spreadMethod="" -| startOffset="" -| stdDeviation="" -| stitchTiles="" -| surfaceScale="" -| systemLanguage="" -| tableValues="" -| targetX="" -| targetY="" -| textLength="" -| viewBox="" -| viewTarget="" -| xChannelSelector="" -| yChannelSelector="" -| zoomAndPan="" - -#data - -#errors -#document -| -| -| -| -| -| attributeName="" -| attributeType="" -| baseFrequency="" -| baseProfile="" -| calcMode="" -| clipPathUnits="" -| diffuseConstant="" -| edgeMode="" -| filterUnits="" -| glyphRef="" -| gradientTransform="" -| gradientUnits="" -| kernelMatrix="" -| kernelUnitLength="" -| keyPoints="" -| keySplines="" -| keyTimes="" -| lengthAdjust="" -| limitingConeAngle="" -| markerHeight="" -| markerUnits="" -| markerWidth="" -| maskContentUnits="" -| maskUnits="" -| numOctaves="" -| pathLength="" -| patternContentUnits="" -| patternTransform="" -| patternUnits="" -| pointsAtX="" -| pointsAtY="" -| pointsAtZ="" -| preserveAlpha="" -| preserveAspectRatio="" -| primitiveUnits="" -| refX="" -| refY="" -| repeatCount="" -| repeatDur="" -| requiredExtensions="" -| requiredFeatures="" -| specularConstant="" -| specularExponent="" -| spreadMethod="" -| startOffset="" -| stdDeviation="" -| stitchTiles="" -| surfaceScale="" -| systemLanguage="" -| tableValues="" -| targetX="" -| targetY="" -| textLength="" -| viewBox="" -| viewTarget="" -| xChannelSelector="" -| yChannelSelector="" -| zoomAndPan="" - -#data - -#errors -#document -| -| -| -| -| -| attributeName="" -| attributeType="" -| baseFrequency="" -| baseProfile="" -| calcMode="" -| clipPathUnits="" -| diffuseConstant="" -| edgeMode="" -| filterUnits="" -| filterres="" -| glyphRef="" -| gradientTransform="" -| gradientUnits="" -| kernelMatrix="" -| kernelUnitLength="" -| keyPoints="" -| keySplines="" -| keyTimes="" -| lengthAdjust="" -| limitingConeAngle="" -| markerHeight="" -| markerUnits="" -| markerWidth="" -| maskContentUnits="" -| maskUnits="" -| numOctaves="" -| pathLength="" -| patternContentUnits="" -| patternTransform="" -| patternUnits="" -| pointsAtX="" -| pointsAtY="" -| pointsAtZ="" -| preserveAlpha="" -| preserveAspectRatio="" -| primitiveUnits="" -| refX="" -| refY="" -| repeatCount="" -| repeatDur="" -| requiredExtensions="" -| requiredFeatures="" -| specularConstant="" -| specularExponent="" -| spreadMethod="" -| startOffset="" -| stdDeviation="" -| stitchTiles="" -| surfaceScale="" -| systemLanguage="" -| tableValues="" -| targetX="" -| targetY="" -| textLength="" -| viewBox="" -| viewTarget="" -| xChannelSelector="" -| yChannelSelector="" -| zoomAndPan="" - -#data - -#errors -#document -| -| -| -| -| -| attributename="" -| attributetype="" -| basefrequency="" -| baseprofile="" -| calcmode="" -| clippathunits="" -| diffuseconstant="" -| edgemode="" -| filterunits="" -| glyphref="" -| gradienttransform="" -| gradientunits="" -| kernelmatrix="" -| kernelunitlength="" -| keypoints="" -| keysplines="" -| keytimes="" -| lengthadjust="" -| limitingconeangle="" -| markerheight="" -| markerunits="" -| markerwidth="" -| maskcontentunits="" -| maskunits="" -| numoctaves="" -| pathlength="" -| patterncontentunits="" -| patterntransform="" -| patternunits="" -| pointsatx="" -| pointsaty="" -| pointsatz="" -| preservealpha="" -| preserveaspectratio="" -| primitiveunits="" -| refx="" -| refy="" -| repeatcount="" -| repeatdur="" -| requiredextensions="" -| requiredfeatures="" -| specularconstant="" -| specularexponent="" -| spreadmethod="" -| startoffset="" -| stddeviation="" -| stitchtiles="" -| surfacescale="" -| systemlanguage="" -| tablevalues="" -| targetx="" -| targety="" -| textlength="" -| viewbox="" -| viewtarget="" -| xchannelselector="" -| ychannelselector="" -| zoomandpan="" - -#data - -#errors -#document -| -| -| -| -| -| contentscripttype="" -| contentstyletype="" -| externalresourcesrequired="" -| filterres="" - -#data - -#errors -#document -| -| -| -| -| -| contentscripttype="" -| contentstyletype="" -| externalresourcesrequired="" -| filterres="" - -#data - -#errors -#document -| -| -| -| -| -| contentscripttype="" -| contentstyletype="" -| externalresourcesrequired="" -| filterres="" - -#data - -#errors -#document -| -| -| -| -| -| contentscripttype="" -| contentstyletype="" -| externalresourcesrequired="" -| filterres="" - -#data - -#errors -#document -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| - -#data - -#errors -#document -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| - -#data - -#errors -#document -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| - -#data - -#errors -#document -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| - -#data - -#errors -#document -| -| -| -| -| -| diff --git a/libs/html5lib/tests/testdata/tree-construction/tests12.dat b/libs/html5lib/tests/testdata/tree-construction/tests12.dat deleted file mode 100644 index 63107d277..000000000 --- a/libs/html5lib/tests/testdata/tree-construction/tests12.dat +++ /dev/null @@ -1,62 +0,0 @@ -#data -

    foobazeggs

    spam

    quuxbar -#errors -#document -| -| -| -| -|

    -| "foo" -| -| -| -| "baz" -| -| -| -| -| "eggs" -| -| -|

    -| "spam" -| -| -| -|
    -| -| -| "quux" -| "bar" - -#data -foobazeggs

    spam
    quuxbar -#errors -#document -| -| -| -| -| "foo" -| -| -| -| "baz" -| -| -| -| -| "eggs" -| -| -|

    -| "spam" -| -| -| -|
    -| -| -| "quux" -| "bar" diff --git a/libs/html5lib/tests/testdata/tree-construction/tests14.dat b/libs/html5lib/tests/testdata/tree-construction/tests14.dat deleted file mode 100644 index a08b7649e..000000000 --- a/libs/html5lib/tests/testdata/tree-construction/tests14.dat +++ /dev/null @@ -1,75 +0,0 @@ -#data - -#errors -#document -| -| -| -| -| - -#data - -#errors -#document -| -| -| -| -| -| - -#data - -#errors -(1,38): non-html-root -#document -| -| -| abc:def="gh" -| -| -| - -#data - -#errors -(1,53): non-html-root -#document -| -| -| xml:lang="bar" -| -| - -#data - -#errors -#document -| -| -| 123="456" -| -| - -#data - -#errors -(1,43): non-html-root -#document -| -| -| 123="456" -| 789="012" -| -| - -#data - -#errors -#document -| -| -| -| -| 789="012" diff --git a/libs/html5lib/tests/testdata/tree-construction/tests15.dat b/libs/html5lib/tests/testdata/tree-construction/tests15.dat deleted file mode 100644 index 93d06a871..000000000 --- a/libs/html5lib/tests/testdata/tree-construction/tests15.dat +++ /dev/null @@ -1,216 +0,0 @@ -#data -

    X -#errors -(1,31): unexpected-end-tag -(1,36): expected-closing-tag-but-got-eof -#document -| -| -| -| -|

    -| -| -| -| -| -| -| " " -|

    -| "X" - -#data -

    -

    X -#errors -(1,3): expected-doctype-but-got-start-tag -(1,16): unexpected-end-tag -(2,4): expected-closing-tag-but-got-eof -#document -| -| -| -|

    -| -| -| -| -| -| -| " -" -|

    -| "X" - -#data - -#errors -(1,29): expected-eof-but-got-start-tag -(1,29): unexpected-start-tag-ignored -#document -| -| -| -| -| " " - -#data - -#errors -(1,28): unexpected-start-tag-after-body -#document -| -| -| -| -| - -#data - -#errors -(1,6): expected-doctype-but-got-start-tag -#document -| -| -| -| - -#data -X -#errors -(1,29): unexpected-start-tag-after-body -#document -| -| -| -| -| -| "X" - -#data -<!doctype html><table> X<meta></table> -#errors -(1,23): foster-parenting-character -(1,24): foster-parenting-character -(1,30): foster-parenting-start-character -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| " X" -| <meta> -| <table> - -#data -<!doctype html><table> x</table> -#errors -(1,23): foster-parenting-character -(1,24): foster-parenting-character -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| " x" -| <table> - -#data -<!doctype html><table> x </table> -#errors -(1,23): foster-parenting-character -(1,24): foster-parenting-character -(1,25): foster-parenting-character -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| " x " -| <table> - -#data -<!doctype html><table><tr> x</table> -#errors -(1,27): foster-parenting-character -(1,28): foster-parenting-character -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| " x" -| <table> -| <tbody> -| <tr> - -#data -<!doctype html><table>X<style> <tr>x </style> </table> -#errors -(1,23): foster-parenting-character -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| "X" -| <table> -| <style> -| " <tr>x " -| " " - -#data -<!doctype html><div><table><a>foo</a> <tr><td>bar</td> </tr></table></div> -#errors -(1,30): foster-parenting-start-tag -(1,31): foster-parenting-character -(1,32): foster-parenting-character -(1,33): foster-parenting-character -(1,37): foster-parenting-end-tag -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <div> -| <a> -| "foo" -| <table> -| " " -| <tbody> -| <tr> -| <td> -| "bar" -| " " - -#data -<frame></frame></frame><frameset><frame><frameset><frame></frameset><noframes></frameset><noframes> -#errors -(1,7): expected-doctype-but-got-start-tag -(1,7): unexpected-start-tag-ignored -(1,15): unexpected-end-tag -(1,23): unexpected-end-tag -(1,33): unexpected-start-tag -(1,99): expected-named-closing-tag-but-got-eof -(1,99): eof-in-frameset -#document -| <html> -| <head> -| <frameset> -| <frame> -| <frameset> -| <frame> -| <noframes> -| "</frameset><noframes>" - -#data -<!DOCTYPE html><object></html> -#errors -(1,30): expected-body-in-scope -(1,30): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <object> diff --git a/libs/html5lib/tests/testdata/tree-construction/tests16.dat b/libs/html5lib/tests/testdata/tree-construction/tests16.dat deleted file mode 100644 index 8d9631fa9..000000000 --- a/libs/html5lib/tests/testdata/tree-construction/tests16.dat +++ /dev/null @@ -1,2460 +0,0 @@ -#data -<!doctype html><script> -#errors -(1,23): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| <body> - -#data -<!doctype html><script>a -#errors -(1,24): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "a" -| <body> - -#data -<!doctype html><script>< -#errors -(1,24): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<" -| <body> - -#data -<!doctype html><script></ -#errors -(1,25): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "</" -| <body> - -#data -<!doctype html><script></S -#errors -(1,26): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "</S" -| <body> - -#data -<!doctype html><script></SC -#errors -(1,27): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "</SC" -| <body> - -#data -<!doctype html><script></SCR -#errors -(1,28): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "</SCR" -| <body> - -#data -<!doctype html><script></SCRI -#errors -(1,29): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "</SCRI" -| <body> - -#data -<!doctype html><script></SCRIP -#errors -(1,30): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "</SCRIP" -| <body> - -#data -<!doctype html><script></SCRIPT -#errors -(1,31): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "</SCRIPT" -| <body> - -#data -<!doctype html><script></SCRIPT -#errors -(1,32): expected-attribute-name-but-got-eof -(1,32): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| <body> - -#data -<!doctype html><script></s -#errors -(1,26): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "</s" -| <body> - -#data -<!doctype html><script></sc -#errors -(1,27): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "</sc" -| <body> - -#data -<!doctype html><script></scr -#errors -(1,28): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "</scr" -| <body> - -#data -<!doctype html><script></scri -#errors -(1,29): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "</scri" -| <body> - -#data -<!doctype html><script></scrip -#errors -(1,30): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "</scrip" -| <body> - -#data -<!doctype html><script></script -#errors -(1,31): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "</script" -| <body> - -#data -<!doctype html><script></script -#errors -(1,32): expected-attribute-name-but-got-eof -(1,32): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| <body> - -#data -<!doctype html><script><! -#errors -(1,25): expected-script-data-but-got-eof -(1,25): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!" -| <body> - -#data -<!doctype html><script><!a -#errors -(1,26): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!a" -| <body> - -#data -<!doctype html><script><!- -#errors -(1,26): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!-" -| <body> - -#data -<!doctype html><script><!-a -#errors -(1,27): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!-a" -| <body> - -#data -<!doctype html><script><!-- -#errors -(1,27): expected-named-closing-tag-but-got-eof -(1,27): unexpected-eof-in-text-mode -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--" -| <body> - -#data -<!doctype html><script><!--a -#errors -(1,28): expected-named-closing-tag-but-got-eof -(1,28): unexpected-eof-in-text-mode -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--a" -| <body> - -#data -<!doctype html><script><!--< -#errors -(1,28): expected-named-closing-tag-but-got-eof -(1,28): unexpected-eof-in-text-mode -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<" -| <body> - -#data -<!doctype html><script><!--<a -#errors -(1,29): expected-named-closing-tag-but-got-eof -(1,29): unexpected-eof-in-text-mode -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<a" -| <body> - -#data -<!doctype html><script><!--</ -#errors -(1,29): expected-named-closing-tag-but-got-eof -(1,29): unexpected-eof-in-text-mode -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--</" -| <body> - -#data -<!doctype html><script><!--</script -#errors -(1,35): expected-named-closing-tag-but-got-eof -(1,35): unexpected-eof-in-text-mode -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--</script" -| <body> - -#data -<!doctype html><script><!--</script -#errors -(1,36): expected-attribute-name-but-got-eof -(1,36): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--" -| <body> - -#data -<!doctype html><script><!--<s -#errors -(1,29): expected-named-closing-tag-but-got-eof -(1,29): unexpected-eof-in-text-mode -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<s" -| <body> - -#data -<!doctype html><script><!--<script -#errors -(1,34): expected-named-closing-tag-but-got-eof -(1,34): unexpected-eof-in-text-mode -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<script" -| <body> - -#data -<!doctype html><script><!--<script -#errors -(1,35): eof-in-script-in-script -(1,35): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<script " -| <body> - -#data -<!doctype html><script><!--<script < -#errors -(1,36): eof-in-script-in-script -(1,36): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<script <" -| <body> - -#data -<!doctype html><script><!--<script <a -#errors -(1,37): eof-in-script-in-script -(1,37): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<script <a" -| <body> - -#data -<!doctype html><script><!--<script </ -#errors -(1,37): eof-in-script-in-script -(1,37): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<script </" -| <body> - -#data -<!doctype html><script><!--<script </s -#errors -(1,38): eof-in-script-in-script -(1,38): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<script </s" -| <body> - -#data -<!doctype html><script><!--<script </script -#errors -(1,43): eof-in-script-in-script -(1,43): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<script </script" -| <body> - -#data -<!doctype html><script><!--<script </scripta -#errors -(1,44): eof-in-script-in-script -(1,44): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<script </scripta" -| <body> - -#data -<!doctype html><script><!--<script </script -#errors -(1,44): expected-named-closing-tag-but-got-eof -(1,44): unexpected-eof-in-text-mode -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<script </script " -| <body> - -#data -<!doctype html><script><!--<script </script> -#errors -(1,44): expected-named-closing-tag-but-got-eof -(1,44): unexpected-eof-in-text-mode -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<script </script>" -| <body> - -#data -<!doctype html><script><!--<script </script/ -#errors -(1,44): expected-named-closing-tag-but-got-eof -(1,44): unexpected-eof-in-text-mode -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<script </script/" -| <body> - -#data -<!doctype html><script><!--<script </script < -#errors -(1,45): expected-named-closing-tag-but-got-eof -(1,45): unexpected-eof-in-text-mode -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<script </script <" -| <body> - -#data -<!doctype html><script><!--<script </script <a -#errors -(1,46): expected-named-closing-tag-but-got-eof -(1,46): unexpected-eof-in-text-mode -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<script </script <a" -| <body> - -#data -<!doctype html><script><!--<script </script </ -#errors -(1,46): expected-named-closing-tag-but-got-eof -(1,46): unexpected-eof-in-text-mode -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<script </script </" -| <body> - -#data -<!doctype html><script><!--<script </script </script -#errors -(1,52): expected-named-closing-tag-but-got-eof -(1,52): unexpected-eof-in-text-mode -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<script </script </script" -| <body> - -#data -<!doctype html><script><!--<script </script </script -#errors -(1,53): expected-attribute-name-but-got-eof -(1,53): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<script </script " -| <body> - -#data -<!doctype html><script><!--<script </script </script/ -#errors -(1,53): unexpected-EOF-after-solidus-in-tag -(1,53): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<script </script " -| <body> - -#data -<!doctype html><script><!--<script </script </script> -#errors -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<script </script " -| <body> - -#data -<!doctype html><script><!--<script - -#errors -(1,36): eof-in-script-in-script -(1,36): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<script -" -| <body> - -#data -<!doctype html><script><!--<script -a -#errors -(1,37): eof-in-script-in-script -(1,37): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<script -a" -| <body> - -#data -<!doctype html><script><!--<script -< -#errors -(1,37): eof-in-script-in-script -(1,37): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<script -<" -| <body> - -#data -<!doctype html><script><!--<script -- -#errors -(1,37): eof-in-script-in-script -(1,37): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<script --" -| <body> - -#data -<!doctype html><script><!--<script --a -#errors -(1,38): eof-in-script-in-script -(1,38): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<script --a" -| <body> - -#data -<!doctype html><script><!--<script --< -#errors -(1,38): eof-in-script-in-script -(1,38): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<script --<" -| <body> - -#data -<!doctype html><script><!--<script --> -#errors -(1,38): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<script -->" -| <body> - -#data -<!doctype html><script><!--<script -->< -#errors -(1,39): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<script --><" -| <body> - -#data -<!doctype html><script><!--<script --></ -#errors -(1,40): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<script --></" -| <body> - -#data -<!doctype html><script><!--<script --></script -#errors -(1,46): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<script --></script" -| <body> - -#data -<!doctype html><script><!--<script --></script -#errors -(1,47): expected-attribute-name-but-got-eof -(1,47): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<script -->" -| <body> - -#data -<!doctype html><script><!--<script --></script/ -#errors -(1,47): unexpected-EOF-after-solidus-in-tag -(1,47): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<script -->" -| <body> - -#data -<!doctype html><script><!--<script --></script> -#errors -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<script -->" -| <body> - -#data -<!doctype html><script><!--<script><\/script>--></script> -#errors -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<script><\/script>-->" -| <body> - -#data -<!doctype html><script><!--<script></scr'+'ipt>--></script> -#errors -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<script></scr'+'ipt>-->" -| <body> - -#data -<!doctype html><script><!--<script></script><script></script></script> -#errors -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<script></script><script></script>" -| <body> - -#data -<!doctype html><script><!--<script></script><script></script>--><!--</script> -#errors -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<script></script><script></script>--><!--" -| <body> - -#data -<!doctype html><script><!--<script></script><script></script>-- ></script> -#errors -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<script></script><script></script>-- >" -| <body> - -#data -<!doctype html><script><!--<script></script><script></script>- -></script> -#errors -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<script></script><script></script>- ->" -| <body> - -#data -<!doctype html><script><!--<script></script><script></script>- - ></script> -#errors -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<script></script><script></script>- - >" -| <body> - -#data -<!doctype html><script><!--<script></script><script></script>-></script> -#errors -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<script></script><script></script>->" -| <body> - -#data -<!doctype html><script><!--<script>--!></script>X -#errors -(1,49): expected-named-closing-tag-but-got-eof -(1,49): unexpected-EOF-in-text-mode -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<script>--!></script>X" -| <body> - -#data -<!doctype html><script><!--<scr'+'ipt></script>--></script> -#errors -(1,59): unexpected-end-tag -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<scr'+'ipt>" -| <body> -| "-->" - -#data -<!doctype html><script><!--<script></scr'+'ipt></script>X -#errors -(1,57): expected-named-closing-tag-but-got-eof -(1,57): unexpected-eof-in-text-mode -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| "<!--<script></scr'+'ipt></script>X" -| <body> - -#data -<!doctype html><style><!--<style></style>--></style> -#errors -(1,52): unexpected-end-tag -#document -| <!DOCTYPE html> -| <html> -| <head> -| <style> -| "<!--<style>" -| <body> -| "-->" - -#data -<!doctype html><style><!--</style>X -#errors -#document -| <!DOCTYPE html> -| <html> -| <head> -| <style> -| "<!--" -| <body> -| "X" - -#data -<!doctype html><style><!--...</style>...--></style> -#errors -(1,51): unexpected-end-tag -#document -| <!DOCTYPE html> -| <html> -| <head> -| <style> -| "<!--..." -| <body> -| "...-->" - -#data -<!doctype html><style><!--<br><html xmlns:v="urn:schemas-microsoft-com:vml"><!--[if !mso]><style></style>X -#errors -#document -| <!DOCTYPE html> -| <html> -| <head> -| <style> -| "<!--<br><html xmlns:v="urn:schemas-microsoft-com:vml"><!--[if !mso]><style>" -| <body> -| "X" - -#data -<!doctype html><style><!--...<style><!--...--!></style>--></style> -#errors -(1,66): unexpected-end-tag -#document -| <!DOCTYPE html> -| <html> -| <head> -| <style> -| "<!--...<style><!--...--!>" -| <body> -| "-->" - -#data -<!doctype html><style><!--...</style><!-- --><style>@import ...</style> -#errors -#document -| <!DOCTYPE html> -| <html> -| <head> -| <style> -| "<!--..." -| <!-- --> -| <style> -| "@import ..." -| <body> - -#data -<!doctype html><style>...<style><!--...</style><!-- --></style> -#errors -(1,63): unexpected-end-tag -#document -| <!DOCTYPE html> -| <html> -| <head> -| <style> -| "...<style><!--..." -| <!-- --> -| <body> - -#data -<!doctype html><style>...<!--[if IE]><style>...</style>X -#errors -#document -| <!DOCTYPE html> -| <html> -| <head> -| <style> -| "...<!--[if IE]><style>..." -| <body> -| "X" - -#data -<!doctype html><title><!--<title>--> -#errors -(1,52): unexpected-end-tag -#document -| -| -| -| -| "<!--<title>" -| <body> -| "-->" - -#data -<!doctype html><title></title> -#errors -#document -| -| -| -| -| "" -| - -#data -foo/title><link></head><body>X -#errors -(1,52): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <title> -| "foo/title><link></head><body>X" -| <body> - -#data -<!doctype html><noscript><!--<noscript></noscript>--></noscript> -#errors -(1,64): unexpected-end-tag -#script-on -#document -| <!DOCTYPE html> -| <html> -| <head> -| <noscript> -| "<!--<noscript>" -| <body> -| "-->" - -#data -<!doctype html><noscript><!--<noscript></noscript>--></noscript> -#errors -#script-off -#document -| <!DOCTYPE html> -| <html> -| <head> -| <noscript> -| <!-- <noscript></noscript> --> -| <body> - -#data -<!doctype html><noscript><!--</noscript>X<noscript>--></noscript> -#errors -#script-on -#document -| <!DOCTYPE html> -| <html> -| <head> -| <noscript> -| "<!--" -| <body> -| "X" -| <noscript> -| "-->" - -#data -<!doctype html><noscript><!--</noscript>X<noscript>--></noscript> -#errors -#script-off -#document -| <!DOCTYPE html> -| <html> -| <head> -| <noscript> -| <!-- </noscript>X<noscript> --> -| <body> - -#data -<!doctype html><noscript><iframe></noscript>X -#errors -#script-on -#document -| <!DOCTYPE html> -| <html> -| <head> -| <noscript> -| "<iframe>" -| <body> -| "X" - -#data -<!doctype html><noscript><iframe></noscript>X -#errors - * (1,34) unexpected token in head noscript - * (1,46) unexpected EOF -#script-off -#document -| <!DOCTYPE html> -| <html> -| <head> -| <noscript> -| <body> -| <iframe> -| "</noscript>X" - -#data -<!doctype html><noframes><!--<noframes></noframes>--></noframes> -#errors -(1,64): unexpected-end-tag -#document -| <!DOCTYPE html> -| <html> -| <head> -| <noframes> -| "<!--<noframes>" -| <body> -| "-->" - -#data -<!doctype html><noframes><body><script><!--...</script></body></noframes></html> -#errors -#document -| <!DOCTYPE html> -| <html> -| <head> -| <noframes> -| "<body><script><!--...</script></body>" -| <body> - -#data -<!doctype html><textarea><!--<textarea></textarea>--></textarea> -#errors -(1,64): unexpected-end-tag -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <textarea> -| "<!--<textarea>" -| "-->" - -#data -<!doctype html><textarea></textarea></textarea> -#errors -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <textarea> -| "</textarea>" - -#data -<!doctype html><textarea><</textarea> -#errors -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <textarea> -| "<" - -#data -<!doctype html><textarea>a<b</textarea> -#errors -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <textarea> -| "a<b" - -#data -<!doctype html><iframe><!--<iframe></iframe>--></iframe> -#errors -(1,56): unexpected-end-tag -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <iframe> -| "<!--<iframe>" -| "-->" - -#data -<!doctype html><iframe>...<!--X->...<!--/X->...</iframe> -#errors -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <iframe> -| "...<!--X->...<!--/X->..." - -#data -<!doctype html><xmp><!--<xmp></xmp>--></xmp> -#errors -(1,44): unexpected-end-tag -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <xmp> -| "<!--<xmp>" -| "-->" - -#data -<!doctype html><noembed><!--<noembed></noembed>--></noembed> -#errors -(1,60): unexpected-end-tag -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <noembed> -| "<!--<noembed>" -| "-->" - -#data -<script> -#errors -(1,8): expected-doctype-but-got-start-tag -(1,8): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| <body> - -#data -<script>a -#errors -(1,8): expected-doctype-but-got-start-tag -(1,9): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| "a" -| <body> - -#data -<script>< -#errors -(1,8): expected-doctype-but-got-start-tag -(1,9): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| "<" -| <body> - -#data -<script></ -#errors -(1,8): expected-doctype-but-got-start-tag -(1,10): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| "</" -| <body> - -#data -<script></S -#errors -(1,8): expected-doctype-but-got-start-tag -(1,11): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| "</S" -| <body> - -#data -<script></SC -#errors -(1,8): expected-doctype-but-got-start-tag -(1,12): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| "</SC" -| <body> - -#data -<script></SCR -#errors -(1,8): expected-doctype-but-got-start-tag -(1,13): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| "</SCR" -| <body> - -#data -<script></SCRI -#errors -(1,8): expected-doctype-but-got-start-tag -(1,14): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| "</SCRI" -| <body> - -#data -<script></SCRIP -#errors -(1,8): expected-doctype-but-got-start-tag -(1,15): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| "</SCRIP" -| <body> - -#data -<script></SCRIPT -#errors -(1,8): expected-doctype-but-got-start-tag -(1,16): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| "</SCRIPT" -| <body> - -#data -<script></SCRIPT -#errors -(1,8): expected-doctype-but-got-start-tag -(1,17): expected-attribute-name-but-got-eof -(1,17): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| <body> - -#data -<script></s -#errors -(1,8): expected-doctype-but-got-start-tag -(1,11): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| "</s" -| <body> - -#data -<script></sc -#errors -(1,8): expected-doctype-but-got-start-tag -(1,12): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| "</sc" -| <body> - -#data -<script></scr -#errors -(1,8): expected-doctype-but-got-start-tag -(1,13): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| "</scr" -| <body> - -#data -<script></scri -#errors -(1,8): expected-doctype-but-got-start-tag -(1,14): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| "</scri" -| <body> - -#data -<script></scrip -#errors -(1,8): expected-doctype-but-got-start-tag -(1,15): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| "</scrip" -| <body> - -#data -<script></script -#errors -(1,8): expected-doctype-but-got-start-tag -(1,16): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| "</script" -| <body> - -#data -<script></script -#errors -(1,8): expected-doctype-but-got-start-tag -(1,17): expected-attribute-name-but-got-eof -(1,17): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| <body> - -#data -<script><! -#errors -(1,8): expected-doctype-but-got-start-tag -(1,10): expected-script-data-but-got-eof -(1,10): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| "<!" -| <body> - -#data -<script><!a -#errors -(1,8): expected-doctype-but-got-start-tag -(1,11): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| "<!a" -| <body> - -#data -<script><!- -#errors -(1,8): expected-doctype-but-got-start-tag -(1,11): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| "<!-" -| <body> - -#data -<script><!-a -#errors -(1,8): expected-doctype-but-got-start-tag -(1,12): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| "<!-a" -| <body> - -#data -<script><!-- -#errors -(1,8): expected-doctype-but-got-start-tag -(1,12): expected-named-closing-tag-but-got-eof -(1,12): unexpected-eof-in-text-mode -#document -| <html> -| <head> -| <script> -| "<!--" -| <body> - -#data -<script><!--a -#errors -(1,8): expected-doctype-but-got-start-tag -(1,13): expected-named-closing-tag-but-got-eof -(1,13): unexpected-eof-in-text-mode -#document -| <html> -| <head> -| <script> -| "<!--a" -| <body> - -#data -<script><!--< -#errors -(1,8): expected-doctype-but-got-start-tag -(1,13): expected-named-closing-tag-but-got-eof -(1,13): unexpected-eof-in-text-mode -#document -| <html> -| <head> -| <script> -| "<!--<" -| <body> - -#data -<script><!--<a -#errors -(1,8): expected-doctype-but-got-start-tag -(1,14): expected-named-closing-tag-but-got-eof -(1,14): unexpected-eof-in-text-mode -#document -| <html> -| <head> -| <script> -| "<!--<a" -| <body> - -#data -<script><!--</ -#errors -(1,8): expected-doctype-but-got-start-tag -(1,14): expected-named-closing-tag-but-got-eof -(1,14): unexpected-eof-in-text-mode -#document -| <html> -| <head> -| <script> -| "<!--</" -| <body> - -#data -<script><!--</script -#errors -(1,8): expected-doctype-but-got-start-tag -(1,20): expected-named-closing-tag-but-got-eof -(1,20): unexpected-eof-in-text-mode -#document -| <html> -| <head> -| <script> -| "<!--</script" -| <body> - -#data -<script><!--</script -#errors -(1,8): expected-doctype-but-got-start-tag -(1,21): expected-attribute-name-but-got-eof -(1,21): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| "<!--" -| <body> - -#data -<script><!--<s -#errors -(1,8): expected-doctype-but-got-start-tag -(1,14): expected-named-closing-tag-but-got-eof -(1,14): unexpected-eof-in-text-mode -#document -| <html> -| <head> -| <script> -| "<!--<s" -| <body> - -#data -<script><!--<script -#errors -(1,8): expected-doctype-but-got-start-tag -(1,19): expected-named-closing-tag-but-got-eof -(1,19): unexpected-eof-in-text-mode -#document -| <html> -| <head> -| <script> -| "<!--<script" -| <body> - -#data -<script><!--<script -#errors -(1,8): expected-doctype-but-got-start-tag -(1,20): eof-in-script-in-script -(1,20): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| "<!--<script " -| <body> - -#data -<script><!--<script < -#errors -(1,8): expected-doctype-but-got-start-tag -(1,21): eof-in-script-in-script -(1,21): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| "<!--<script <" -| <body> - -#data -<script><!--<script <a -#errors -(1,8): expected-doctype-but-got-start-tag -(1,22): eof-in-script-in-script -(1,22): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| "<!--<script <a" -| <body> - -#data -<script><!--<script </ -#errors -(1,8): expected-doctype-but-got-start-tag -(1,22): eof-in-script-in-script -(1,22): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| "<!--<script </" -| <body> - -#data -<script><!--<script </s -#errors -(1,8): expected-doctype-but-got-start-tag -(1,23): eof-in-script-in-script -(1,23): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| "<!--<script </s" -| <body> - -#data -<script><!--<script </script -#errors -(1,8): expected-doctype-but-got-start-tag -(1,28): eof-in-script-in-script -(1,28): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| "<!--<script </script" -| <body> - -#data -<script><!--<script </scripta -#errors -(1,8): expected-doctype-but-got-start-tag -(1,29): eof-in-script-in-script -(1,29): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| "<!--<script </scripta" -| <body> - -#data -<script><!--<script </script -#errors -(1,8): expected-doctype-but-got-start-tag -(1,29): expected-named-closing-tag-but-got-eof -(1,29): unexpected-eof-in-text-mode -#document -| <html> -| <head> -| <script> -| "<!--<script </script " -| <body> - -#data -<script><!--<script </script> -#errors -(1,8): expected-doctype-but-got-start-tag -(1,29): expected-named-closing-tag-but-got-eof -(1,29): unexpected-eof-in-text-mode -#document -| <html> -| <head> -| <script> -| "<!--<script </script>" -| <body> - -#data -<script><!--<script </script/ -#errors -(1,8): expected-doctype-but-got-start-tag -(1,29): expected-named-closing-tag-but-got-eof -(1,29): unexpected-eof-in-text-mode -#document -| <html> -| <head> -| <script> -| "<!--<script </script/" -| <body> - -#data -<script><!--<script </script < -#errors -(1,8): expected-doctype-but-got-start-tag -(1,30): expected-named-closing-tag-but-got-eof -(1,30): unexpected-eof-in-text-mode -#document -| <html> -| <head> -| <script> -| "<!--<script </script <" -| <body> - -#data -<script><!--<script </script <a -#errors -(1,8): expected-doctype-but-got-start-tag -(1,31): expected-named-closing-tag-but-got-eof -(1,31): unexpected-eof-in-text-mode -#document -| <html> -| <head> -| <script> -| "<!--<script </script <a" -| <body> - -#data -<script><!--<script </script </ -#errors -(1,8): expected-doctype-but-got-start-tag -(1,31): expected-named-closing-tag-but-got-eof -(1,31): unexpected-eof-in-text-mode -#document -| <html> -| <head> -| <script> -| "<!--<script </script </" -| <body> - -#data -<script><!--<script </script </script -#errors -(1,8): expected-doctype-but-got-start-tag -(1,37): expected-named-closing-tag-but-got-eof -(1,37): unexpected-eof-in-text-mode -#document -| <html> -| <head> -| <script> -| "<!--<script </script </script" -| <body> - -#data -<script><!--<script </script </script -#errors -(1,8): expected-doctype-but-got-start-tag -(1,38): expected-attribute-name-but-got-eof -(1,38): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| "<!--<script </script " -| <body> - -#data -<script><!--<script </script </script/ -#errors -(1,8): expected-doctype-but-got-start-tag -(1,38): unexpected-EOF-after-solidus-in-tag -(1,38): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| "<!--<script </script " -| <body> - -#data -<script><!--<script </script </script> -#errors -(1,8): expected-doctype-but-got-start-tag -#document -| <html> -| <head> -| <script> -| "<!--<script </script " -| <body> - -#data -<script><!--<script - -#errors -(1,8): expected-doctype-but-got-start-tag -(1,21): eof-in-script-in-script -(1,21): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| "<!--<script -" -| <body> - -#data -<script><!--<script -a -#errors -(1,8): expected-doctype-but-got-start-tag -(1,22): eof-in-script-in-script -(1,22): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| "<!--<script -a" -| <body> - -#data -<script><!--<script -- -#errors -(1,8): expected-doctype-but-got-start-tag -(1,22): eof-in-script-in-script -(1,22): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| "<!--<script --" -| <body> - -#data -<script><!--<script --a -#errors -(1,8): expected-doctype-but-got-start-tag -(1,23): eof-in-script-in-script -(1,23): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| "<!--<script --a" -| <body> - -#data -<script><!--<script --> -#errors -(1,8): expected-doctype-but-got-start-tag -(1,23): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| "<!--<script -->" -| <body> - -#data -<script><!--<script -->< -#errors -(1,8): expected-doctype-but-got-start-tag -(1,24): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| "<!--<script --><" -| <body> - -#data -<script><!--<script --></ -#errors -(1,8): expected-doctype-but-got-start-tag -(1,25): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| "<!--<script --></" -| <body> - -#data -<script><!--<script --></script -#errors -(1,8): expected-doctype-but-got-start-tag -(1,31): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| "<!--<script --></script" -| <body> - -#data -<script><!--<script --></script -#errors -(1,8): expected-doctype-but-got-start-tag -(1,32): expected-attribute-name-but-got-eof -(1,32): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| "<!--<script -->" -| <body> - -#data -<script><!--<script --></script/ -#errors -(1,8): expected-doctype-but-got-start-tag -(1,32): unexpected-EOF-after-solidus-in-tag -(1,32): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| "<!--<script -->" -| <body> - -#data -<script><!--<script --></script> -#errors -(1,8): expected-doctype-but-got-start-tag -#document -| <html> -| <head> -| <script> -| "<!--<script -->" -| <body> - -#data -<script><!--<script><\/script>--></script> -#errors -(1,8): expected-doctype-but-got-start-tag -#document -| <html> -| <head> -| <script> -| "<!--<script><\/script>-->" -| <body> - -#data -<script><!--<script></scr'+'ipt>--></script> -#errors -(1,8): expected-doctype-but-got-start-tag -#document -| <html> -| <head> -| <script> -| "<!--<script></scr'+'ipt>-->" -| <body> - -#data -<script><!--<script></script><script></script></script> -#errors -(1,8): expected-doctype-but-got-start-tag -#document -| <html> -| <head> -| <script> -| "<!--<script></script><script></script>" -| <body> - -#data -<script><!--<script></script><script></script>--><!--</script> -#errors -(1,8): expected-doctype-but-got-start-tag -#document -| <html> -| <head> -| <script> -| "<!--<script></script><script></script>--><!--" -| <body> - -#data -<script><!--<script></script><script></script>-- ></script> -#errors -(1,8): expected-doctype-but-got-start-tag -#document -| <html> -| <head> -| <script> -| "<!--<script></script><script></script>-- >" -| <body> - -#data -<script><!--<script></script><script></script>- -></script> -#errors -(1,8): expected-doctype-but-got-start-tag -#document -| <html> -| <head> -| <script> -| "<!--<script></script><script></script>- ->" -| <body> - -#data -<script><!--<script></script><script></script>- - ></script> -#errors -(1,8): expected-doctype-but-got-start-tag -#document -| <html> -| <head> -| <script> -| "<!--<script></script><script></script>- - >" -| <body> - -#data -<script><!--<script></script><script></script>-></script> -#errors -(1,8): expected-doctype-but-got-start-tag -#document -| <html> -| <head> -| <script> -| "<!--<script></script><script></script>->" -| <body> - -#data -<script><!--<script>--!></script>X -#errors -(1,8): expected-doctype-but-got-start-tag -(1,34): expected-named-closing-tag-but-got-eof -(1,34): unexpected-eof-in-text-mode -#document -| <html> -| <head> -| <script> -| "<!--<script>--!></script>X" -| <body> - -#data -<script><!--<scr'+'ipt></script>--></script> -#errors -(1,8): expected-doctype-but-got-start-tag -(1,44): unexpected-end-tag -#document -| <html> -| <head> -| <script> -| "<!--<scr'+'ipt>" -| <body> -| "-->" - -#data -<script><!--<script></scr'+'ipt></script>X -#errors -(1,8): expected-doctype-but-got-start-tag -(1,42): expected-named-closing-tag-but-got-eof -(1,42): unexpected-eof-in-text-mode -#document -| <html> -| <head> -| <script> -| "<!--<script></scr'+'ipt></script>X" -| <body> - -#data -<style><!--<style></style>--></style> -#errors -(1,7): expected-doctype-but-got-start-tag -(1,37): unexpected-end-tag -#document -| <html> -| <head> -| <style> -| "<!--<style>" -| <body> -| "-->" - -#data -<style><!--</style>X -#errors -(1,7): expected-doctype-but-got-start-tag -#document -| <html> -| <head> -| <style> -| "<!--" -| <body> -| "X" - -#data -<style><!--...</style>...--></style> -#errors -(1,7): expected-doctype-but-got-start-tag -(1,36): unexpected-end-tag -#document -| <html> -| <head> -| <style> -| "<!--..." -| <body> -| "...-->" - -#data -<style><!--<br><html xmlns:v="urn:schemas-microsoft-com:vml"><!--[if !mso]><style></style>X -#errors -(1,7): expected-doctype-but-got-start-tag -#document -| <html> -| <head> -| <style> -| "<!--<br><html xmlns:v="urn:schemas-microsoft-com:vml"><!--[if !mso]><style>" -| <body> -| "X" - -#data -<style><!--...<style><!--...--!></style>--></style> -#errors -(1,7): expected-doctype-but-got-start-tag -(1,51): unexpected-end-tag -#document -| <html> -| <head> -| <style> -| "<!--...<style><!--...--!>" -| <body> -| "-->" - -#data -<style><!--...</style><!-- --><style>@import ...</style> -#errors -(1,7): expected-doctype-but-got-start-tag -#document -| <html> -| <head> -| <style> -| "<!--..." -| <!-- --> -| <style> -| "@import ..." -| <body> - -#data -<style>...<style><!--...</style><!-- --></style> -#errors -(1,7): expected-doctype-but-got-start-tag -(1,48): unexpected-end-tag -#document -| <html> -| <head> -| <style> -| "...<style><!--..." -| <!-- --> -| <body> - -#data -<style>...<!--[if IE]><style>...</style>X -#errors -(1,7): expected-doctype-but-got-start-tag -#document -| <html> -| <head> -| <style> -| "...<!--[if IE]><style>..." -| <body> -| "X" - -#data -<title><!--<title>--> -#errors -(1,7): expected-doctype-but-got-start-tag -(1,37): unexpected-end-tag -#document -| -| -| -| "<!--<title>" -| <body> -| "-->" - -#data -<title></title> -#errors -(1,7): expected-doctype-but-got-start-tag -#document -| -| -| -| "" -| - -#data -foo/title><link></head><body>X -#errors -(1,7): expected-doctype-but-got-start-tag -(1,37): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <title> -| "foo/title><link></head><body>X" -| <body> - -#data -<noscript><!--<noscript></noscript>--></noscript> -#errors -(1,10): expected-doctype-but-got-start-tag -(1,49): unexpected-end-tag -#script-on -#document -| <html> -| <head> -| <noscript> -| "<!--<noscript>" -| <body> -| "-->" - -#data -<noscript><!--<noscript></noscript>--></noscript> -#errors - * (1,11) missing DOCTYPE -#script-off -#document -| <html> -| <head> -| <noscript> -| <!-- <noscript></noscript> --> -| <body> - -#data -<noscript><!--</noscript>X<noscript>--></noscript> -#errors -(1,10): expected-doctype-but-got-start-tag -#script-on -#document -| <html> -| <head> -| <noscript> -| "<!--" -| <body> -| "X" -| <noscript> -| "-->" - -#data -<noscript><!--</noscript>X<noscript>--></noscript> -#errors -(1,10): expected-doctype-but-got-start-tag -#script-off -#document -| <html> -| <head> -| <noscript> -| <!-- </noscript>X<noscript> --> -| <body> - -#data -<noscript><iframe></noscript>X -#errors -(1,10): expected-doctype-but-got-start-tag -#script-on -#document -| <html> -| <head> -| <noscript> -| "<iframe>" -| <body> -| "X" - -#data -<noscript><iframe></noscript>X -#errors - * (1,11) missing DOCTYPE - * (1,19) unexpected token in head noscript - * (1,31) unexpected EOF -#script-off -#document -| <html> -| <head> -| <noscript> -| <body> -| <iframe> -| "</noscript>X" - -#data -<noframes><!--<noframes></noframes>--></noframes> -#errors -(1,10): expected-doctype-but-got-start-tag -(1,49): unexpected-end-tag -#document -| <html> -| <head> -| <noframes> -| "<!--<noframes>" -| <body> -| "-->" - -#data -<noframes><body><script><!--...</script></body></noframes></html> -#errors -(1,10): expected-doctype-but-got-start-tag -#document -| <html> -| <head> -| <noframes> -| "<body><script><!--...</script></body>" -| <body> - -#data -<textarea><!--<textarea></textarea>--></textarea> -#errors -(1,10): expected-doctype-but-got-start-tag -(1,49): unexpected-end-tag -#document -| <html> -| <head> -| <body> -| <textarea> -| "<!--<textarea>" -| "-->" - -#data -<textarea></textarea></textarea> -#errors -(1,10): expected-doctype-but-got-start-tag -#document -| <html> -| <head> -| <body> -| <textarea> -| "</textarea>" - -#data -<iframe><!--<iframe></iframe>--></iframe> -#errors -(1,8): expected-doctype-but-got-start-tag -(1,41): unexpected-end-tag -#document -| <html> -| <head> -| <body> -| <iframe> -| "<!--<iframe>" -| "-->" - -#data -<iframe>...<!--X->...<!--/X->...</iframe> -#errors -(1,8): expected-doctype-but-got-start-tag -#document -| <html> -| <head> -| <body> -| <iframe> -| "...<!--X->...<!--/X->..." - -#data -<xmp><!--<xmp></xmp>--></xmp> -#errors -(1,5): expected-doctype-but-got-start-tag -(1,29): unexpected-end-tag -#document -| <html> -| <head> -| <body> -| <xmp> -| "<!--<xmp>" -| "-->" - -#data -<noembed><!--<noembed></noembed>--></noembed> -#errors -(1,9): expected-doctype-but-got-start-tag -(1,45): unexpected-end-tag -#document -| <html> -| <head> -| <body> -| <noembed> -| "<!--<noembed>" -| "-->" - -#data -<!doctype html><table> - -#errors -(2,0): eof-in-table -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <table> -| " -" - -#data -<!doctype html><table><td><span><font></span><span> -#errors -(1,26): unexpected-cell-in-table-body -(1,45): unexpected-end-tag -(1,51): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <table> -| <tbody> -| <tr> -| <td> -| <span> -| <font> -| <font> -| <span> - -#data -<!doctype html><form><table></form><form></table></form> -#errors -(1,35): unexpected-end-tag-implies-table-voodoo -(1,35): unexpected-end-tag -(1,41): unexpected-form-in-table -(1,56): unexpected-end-tag -(1,56): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <form> -| <table> -| <form> diff --git a/libs/html5lib/tests/testdata/tree-construction/tests17.dat b/libs/html5lib/tests/testdata/tree-construction/tests17.dat deleted file mode 100644 index e49bcf031..000000000 --- a/libs/html5lib/tests/testdata/tree-construction/tests17.dat +++ /dev/null @@ -1,179 +0,0 @@ -#data -<!doctype html><table><tbody><select><tr> -#errors -(1,37): unexpected-start-tag-implies-table-voodoo -(1,41): unexpected-table-element-start-tag-in-select-in-table -(1,41): eof-in-table -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <select> -| <table> -| <tbody> -| <tr> - -#data -<!doctype html><table><tr><select><td> -#errors -(1,34): unexpected-start-tag-implies-table-voodoo -(1,38): unexpected-table-element-start-tag-in-select-in-table -(1,38): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <select> -| <table> -| <tbody> -| <tr> -| <td> - -#data -<!doctype html><table><tr><td><select><td> -#errors -(1,42): unexpected-table-element-start-tag-in-select-in-table -(1,42): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <table> -| <tbody> -| <tr> -| <td> -| <select> -| <td> - -#data -<!doctype html><table><tr><th><select><td> -#errors -(1,42): unexpected-table-element-start-tag-in-select-in-table -(1,42): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <table> -| <tbody> -| <tr> -| <th> -| <select> -| <td> - -#data -<!doctype html><table><caption><select><tr> -#errors -(1,43): unexpected-table-element-start-tag-in-select-in-table -(1,43): eof-in-table -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <table> -| <caption> -| <select> -| <tbody> -| <tr> - -#data -<!doctype html><select><tr> -#errors -(1,27): unexpected-start-tag-in-select -(1,27): eof-in-select -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <select> - -#data -<!doctype html><select><td> -#errors -(1,27): unexpected-start-tag-in-select -(1,27): eof-in-select -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <select> - -#data -<!doctype html><select><th> -#errors -(1,27): unexpected-start-tag-in-select -(1,27): eof-in-select -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <select> - -#data -<!doctype html><select><tbody> -#errors -(1,30): unexpected-start-tag-in-select -(1,30): eof-in-select -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <select> - -#data -<!doctype html><select><thead> -#errors -(1,30): unexpected-start-tag-in-select -(1,30): eof-in-select -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <select> - -#data -<!doctype html><select><tfoot> -#errors -(1,30): unexpected-start-tag-in-select -(1,30): eof-in-select -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <select> - -#data -<!doctype html><select><caption> -#errors -(1,32): unexpected-start-tag-in-select -(1,32): eof-in-select -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <select> - -#data -<!doctype html><table><tr></table>a -#errors -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <table> -| <tbody> -| <tr> -| "a" diff --git a/libs/html5lib/tests/testdata/tree-construction/tests18.dat b/libs/html5lib/tests/testdata/tree-construction/tests18.dat deleted file mode 100644 index 926bccb38..000000000 --- a/libs/html5lib/tests/testdata/tree-construction/tests18.dat +++ /dev/null @@ -1,322 +0,0 @@ -#data -<!doctype html><plaintext></plaintext> -#errors -(1,38): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <plaintext> -| "</plaintext>" - -#data -<!doctype html><table><plaintext></plaintext> -#errors -(1,33): foster-parenting-start-tag -(1,34): foster-parenting-character -(1,35): foster-parenting-character -(1,36): foster-parenting-character -(1,37): foster-parenting-character -(1,38): foster-parenting-character -(1,39): foster-parenting-character -(1,40): foster-parenting-character -(1,41): foster-parenting-character -(1,42): foster-parenting-character -(1,43): foster-parenting-character -(1,44): foster-parenting-character -(1,45): foster-parenting-character -(1,45): eof-in-table -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <plaintext> -| "</plaintext>" -| <table> - -#data -<!doctype html><table><tbody><plaintext></plaintext> -#errors -(1,40): foster-parenting-start-tag -(1,41): foster-parenting-character -(1,41): foster-parenting-character -(1,41): foster-parenting-character -(1,41): foster-parenting-character -(1,41): foster-parenting-character -(1,41): foster-parenting-character -(1,41): foster-parenting-character -(1,41): foster-parenting-character -(1,41): foster-parenting-character -(1,41): foster-parenting-character -(1,41): foster-parenting-character -(1,41): foster-parenting-character -(1,52): eof-in-table -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <plaintext> -| "</plaintext>" -| <table> -| <tbody> - -#data -<!doctype html><table><tbody><tr><plaintext></plaintext> -#errors -(1,44): foster-parenting-start-tag -(1,45): foster-parenting-character -(1,46): foster-parenting-character -(1,47): foster-parenting-character -(1,48): foster-parenting-character -(1,49): foster-parenting-character -(1,50): foster-parenting-character -(1,51): foster-parenting-character -(1,52): foster-parenting-character -(1,53): foster-parenting-character -(1,54): foster-parenting-character -(1,55): foster-parenting-character -(1,56): foster-parenting-character -(1,56): eof-in-table -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <plaintext> -| "</plaintext>" -| <table> -| <tbody> -| <tr> - -#data -<!doctype html><table><td><plaintext></plaintext> -#errors -(1,26): unexpected-cell-in-table-body -(1,49): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <table> -| <tbody> -| <tr> -| <td> -| <plaintext> -| "</plaintext>" - -#data -<!doctype html><table><caption><plaintext></plaintext> -#errors -(1,54): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <table> -| <caption> -| <plaintext> -| "</plaintext>" - -#data -<!doctype html><table><tr><style></script></style>abc -#errors -(1,51): foster-parenting-character -(1,52): foster-parenting-character -(1,53): foster-parenting-character -(1,53): eof-in-table -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| "abc" -| <table> -| <tbody> -| <tr> -| <style> -| "</script>" - -#data -<!doctype html><table><tr><script></style></script>abc -#errors -(1,52): foster-parenting-character -(1,53): foster-parenting-character -(1,54): foster-parenting-character -(1,54): eof-in-table -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| "abc" -| <table> -| <tbody> -| <tr> -| <script> -| "</style>" - -#data -<!doctype html><table><caption><style></script></style>abc -#errors -(1,58): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <table> -| <caption> -| <style> -| "</script>" -| "abc" - -#data -<!doctype html><table><td><style></script></style>abc -#errors -(1,26): unexpected-cell-in-table-body -(1,53): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <table> -| <tbody> -| <tr> -| <td> -| <style> -| "</script>" -| "abc" - -#data -<!doctype html><select><script></style></script>abc -#errors -(1,51): eof-in-select -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <select> -| <script> -| "</style>" -| "abc" - -#data -<!doctype html><table><select><script></style></script>abc -#errors -(1,30): unexpected-start-tag-implies-table-voodoo -(1,58): eof-in-select -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <select> -| <script> -| "</style>" -| "abc" -| <table> - -#data -<!doctype html><table><tr><select><script></style></script>abc -#errors -(1,34): unexpected-start-tag-implies-table-voodoo -(1,62): eof-in-select -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <select> -| <script> -| "</style>" -| "abc" -| <table> -| <tbody> -| <tr> - -#data -<!doctype html><frameset></frameset><noframes>abc -#errors -(1,49): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <frameset> -| <noframes> -| "abc" - -#data -<!doctype html><frameset></frameset><noframes>abc</noframes><!--abc--> -#errors -#document -| <!DOCTYPE html> -| <html> -| <head> -| <frameset> -| <noframes> -| "abc" -| <!-- abc --> - -#data -<!doctype html><frameset></frameset></html><noframes>abc -#errors -(1,56): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <frameset> -| <noframes> -| "abc" - -#data -<!doctype html><frameset></frameset></html><noframes>abc</noframes><!--abc--> -#errors -#document -| <!DOCTYPE html> -| <html> -| <head> -| <frameset> -| <noframes> -| "abc" -| <!-- abc --> - -#data -<!doctype html><table><tr></tbody><tfoot> -#errors -(1,41): eof-in-table -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <table> -| <tbody> -| <tr> -| <tfoot> - -#data -<!doctype html><table><td><svg></svg>abc<td> -#errors -(1,26): unexpected-cell-in-table-body -(1,44): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <table> -| <tbody> -| <tr> -| <td> -| <svg svg> -| "abc" -| <td> diff --git a/libs/html5lib/tests/testdata/tree-construction/tests19.dat b/libs/html5lib/tests/testdata/tree-construction/tests19.dat deleted file mode 100644 index a1897774d..000000000 --- a/libs/html5lib/tests/testdata/tree-construction/tests19.dat +++ /dev/null @@ -1,1454 +0,0 @@ -#data -<!doctype html><math><mn DefinitionUrl="foo"> -#errors -(1,45): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <math math> -| <math mn> -| definitionURL="foo" - -#data -<!doctype html><html></p><!--foo--> -#errors -(1,25): end-tag-after-implied-root -#document -| <!DOCTYPE html> -| <html> -| <!-- foo --> -| <head> -| <body> - -#data -<!doctype html><head></head></p><!--foo--> -#errors -(1,32): unexpected-end-tag -#document -| <!DOCTYPE html> -| <html> -| <head> -| <!-- foo --> -| <body> - -#data -<!doctype html><body><p><pre> -#errors -(1,29): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <p> -| <pre> - -#data -<!doctype html><body><p><listing> -#errors -(1,33): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <p> -| <listing> - -#data -<!doctype html><p><plaintext> -#errors -(1,29): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <p> -| <plaintext> - -#data -<!doctype html><p><h1> -#errors -(1,22): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <p> -| <h1> - -#data -<!doctype html><isindex type="hidden"> -#errors -(1,38): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <isindex> -| type="hidden" - -#data -<!doctype html><ruby><p><rp> -#errors -(1,28): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <ruby> -| <p> -| <rp> - -#data -<!doctype html><ruby><div><span><rp> -#errors -(1,36): XXX-undefined-error -(1,36): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <ruby> -| <div> -| <span> -| <rp> - -#data -<!doctype html><ruby><div><p><rp> -#errors -(1,33): XXX-undefined-error -(1,33): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <ruby> -| <div> -| <p> -| <rp> - -#data -<!doctype html><ruby><p><rt> -#errors -(1,28): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <ruby> -| <p> -| <rt> - -#data -<!doctype html><ruby><div><span><rt> -#errors -(1,36): XXX-undefined-error -(1,36): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <ruby> -| <div> -| <span> -| <rt> - -#data -<!doctype html><ruby><div><p><rt> -#errors -(1,33): XXX-undefined-error -(1,33): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <ruby> -| <div> -| <p> -| <rt> - -#data -<html><ruby>a<rb>b<rt></ruby></html> -#errors -(1,6): expected-doctype-but-got-start-tag -#document -| <html> -| <head> -| <body> -| <ruby> -| "a" -| <rb> -| "b" -| <rt> - -#data -<html><ruby>a<rp>b<rt></ruby></html> -#errors -(1,6): expected-doctype-but-got-start-tag -#document -| <html> -| <head> -| <body> -| <ruby> -| "a" -| <rp> -| "b" -| <rt> - -#data -<html><ruby>a<rt>b<rt></ruby></html> -#errors -(1,6): expected-doctype-but-got-start-tag -#document -| <html> -| <head> -| <body> -| <ruby> -| "a" -| <rt> -| "b" -| <rt> - -#data -<html><ruby>a<rtc>b<rt>c<rb>d</ruby></html> -#errors -(1,6): expected-doctype-but-got-start-tag -#document -| <html> -| <head> -| <body> -| <ruby> -| "a" -| <rtc> -| "b" -| <rt> -| "c" -| <rb> -| "d" - -#data -<!doctype html><math/><foo> -#errors -(1,27): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <math math> -| <foo> - -#data -<!doctype html><svg/><foo> -#errors -(1,26): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <svg svg> -| <foo> - -#data -<!doctype html><div></body><!--foo--> -#errors -(1,27): expected-one-end-tag-but-got-another -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <div> -| <!-- foo --> - -#data -<!doctype html><h1><div><h3><span></h1>foo -#errors -(1,39): end-tag-too-early -(1,42): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <h1> -| <div> -| <h3> -| <span> -| "foo" - -#data -<!doctype html><p></h3>foo -#errors -(1,23): end-tag-too-early -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <p> -| "foo" - -#data -<!doctype html><h3><li>abc</h2>foo -#errors -(1,31): end-tag-too-early -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <h3> -| <li> -| "abc" -| "foo" - -#data -<!doctype html><table>abc<!--foo--> -#errors -(1,23): foster-parenting-character -(1,24): foster-parenting-character -(1,25): foster-parenting-character -(1,35): eof-in-table -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| "abc" -| <table> -| <!-- foo --> - -#data -<!doctype html><table> <!--foo--> -#errors -(1,34): eof-in-table -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <table> -| " " -| <!-- foo --> - -#data -<!doctype html><table> b <!--foo--> -#errors -(1,23): foster-parenting-character -(1,24): foster-parenting-character -(1,25): foster-parenting-character -(1,35): eof-in-table -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| " b " -| <table> -| <!-- foo --> - -#data -<!doctype html><select><option><option> -#errors -(1,39): eof-in-select -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <select> -| <option> -| <option> - -#data -<!doctype html><select><option></optgroup> -#errors -(1,42): unexpected-end-tag-in-select -(1,42): eof-in-select -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <select> -| <option> - -#data -<!doctype html><select><option></optgroup> -#errors -(1,42): unexpected-end-tag-in-select -(1,42): eof-in-select -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <select> -| <option> - -#data -<!doctype html><dd><optgroup><dd> -#errors -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <dd> -| <optgroup> -| <dd> - -#data -<!doctype html><p><math><mi><p><h1> -#errors -(1,35): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <p> -| <math math> -| <math mi> -| <p> -| <h1> - -#data -<!doctype html><p><math><mo><p><h1> -#errors -(1,35): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <p> -| <math math> -| <math mo> -| <p> -| <h1> - -#data -<!doctype html><p><math><mn><p><h1> -#errors -(1,35): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <p> -| <math math> -| <math mn> -| <p> -| <h1> - -#data -<!doctype html><p><math><ms><p><h1> -#errors -(1,35): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <p> -| <math math> -| <math ms> -| <p> -| <h1> - -#data -<!doctype html><p><math><mtext><p><h1> -#errors -(1,38): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <p> -| <math math> -| <math mtext> -| <p> -| <h1> - -#data -<!doctype html><frameset></noframes> -#errors -(1,36): unexpected-end-tag-in-frameset -(1,36): eof-in-frameset -#document -| <!DOCTYPE html> -| <html> -| <head> -| <frameset> - -#data -<!doctype html><html c=d><body></html><html a=b> -#errors -(1,48): non-html-root -#document -| <!DOCTYPE html> -| <html> -| a="b" -| c="d" -| <head> -| <body> - -#data -<!doctype html><html c=d><frameset></frameset></html><html a=b> -#errors -(1,63): non-html-root -#document -| <!DOCTYPE html> -| <html> -| a="b" -| c="d" -| <head> -| <frameset> - -#data -<!doctype html><html><frameset></frameset></html><!--foo--> -#errors -#document -| <!DOCTYPE html> -| <html> -| <head> -| <frameset> -| <!-- foo --> - -#data -<!doctype html><html><frameset></frameset></html> -#errors -#document -| <!DOCTYPE html> -| <html> -| <head> -| <frameset> -| " " - -#data -<!doctype html><html><frameset></frameset></html>abc -#errors -(1,50): expected-eof-but-got-char -(1,51): expected-eof-but-got-char -(1,52): expected-eof-but-got-char -#document -| <!DOCTYPE html> -| <html> -| <head> -| <frameset> - -#data -<!doctype html><html><frameset></frameset></html><p> -#errors -(1,52): expected-eof-but-got-start-tag -#document -| <!DOCTYPE html> -| <html> -| <head> -| <frameset> - -#data -<!doctype html><html><frameset></frameset></html></p> -#errors -(1,53): expected-eof-but-got-end-tag -#document -| <!DOCTYPE html> -| <html> -| <head> -| <frameset> - -#data -<html><frameset></frameset></html><!doctype html> -#errors -(1,6): expected-doctype-but-got-start-tag -(1,49): unexpected-doctype -#document -| <html> -| <head> -| <frameset> - -#data -<!doctype html><body><frameset> -#errors -(1,31): unexpected-start-tag -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> - -#data -<!doctype html><p><frameset><frame> -#errors -(1,28): unexpected-start-tag -(1,35): eof-in-frameset -#document -| <!DOCTYPE html> -| <html> -| <head> -| <frameset> -| <frame> - -#data -<!doctype html><p>a<frameset> -#errors -(1,29): unexpected-start-tag -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <p> -| "a" - -#data -<!doctype html><p> <frameset><frame> -#errors -(1,29): unexpected-start-tag -(1,36): eof-in-frameset -#document -| <!DOCTYPE html> -| <html> -| <head> -| <frameset> -| <frame> - -#data -<!doctype html><pre><frameset> -#errors -(1,30): unexpected-start-tag -(1,30): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <pre> - -#data -<!doctype html><listing><frameset> -#errors -(1,34): unexpected-start-tag -(1,34): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <listing> - -#data -<!doctype html><li><frameset> -#errors -(1,29): unexpected-start-tag -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <li> - -#data -<!doctype html><dd><frameset> -#errors -(1,29): unexpected-start-tag -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <dd> - -#data -<!doctype html><dt><frameset> -#errors -(1,29): unexpected-start-tag -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <dt> - -#data -<!doctype html><button><frameset> -#errors -(1,33): unexpected-start-tag -(1,33): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <button> - -#data -<!doctype html><applet><frameset> -#errors -(1,33): unexpected-start-tag -(1,33): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <applet> - -#data -<!doctype html><marquee><frameset> -#errors -(1,34): unexpected-start-tag -(1,34): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <marquee> - -#data -<!doctype html><object><frameset> -#errors -(1,33): unexpected-start-tag -(1,33): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <object> - -#data -<!doctype html><table><frameset> -#errors -(1,32): unexpected-start-tag-implies-table-voodoo -(1,32): unexpected-start-tag -(1,32): eof-in-table -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <table> - -#data -<!doctype html><area><frameset> -#errors -(1,31): unexpected-start-tag -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <area> - -#data -<!doctype html><basefont><frameset> -#errors -(1,35): eof-in-frameset -#document -| <!DOCTYPE html> -| <html> -| <head> -| <basefont> -| <frameset> - -#data -<!doctype html><bgsound><frameset> -#errors -(1,34): eof-in-frameset -#document -| <!DOCTYPE html> -| <html> -| <head> -| <bgsound> -| <frameset> - -#data -<!doctype html><br><frameset> -#errors -(1,29): unexpected-start-tag -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <br> - -#data -<!doctype html><embed><frameset> -#errors -(1,32): unexpected-start-tag -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <embed> - -#data -<!doctype html><img><frameset> -#errors -(1,30): unexpected-start-tag -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <img> - -#data -<!doctype html><input><frameset> -#errors -(1,32): unexpected-start-tag -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <input> - -#data -<!doctype html><keygen><frameset> -#errors -(1,33): unexpected-start-tag -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <keygen> - -#data -<!doctype html><wbr><frameset> -#errors -(1,30): unexpected-start-tag -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <wbr> - -#data -<!doctype html><hr><frameset> -#errors -(1,29): unexpected-start-tag -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <hr> - -#data -<!doctype html><textarea></textarea><frameset> -#errors -(1,46): unexpected-start-tag -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <textarea> - -#data -<!doctype html><xmp></xmp><frameset> -#errors -(1,36): unexpected-start-tag -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <xmp> - -#data -<!doctype html><iframe></iframe><frameset> -#errors -(1,42): unexpected-start-tag -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <iframe> - -#data -<!doctype html><select></select><frameset> -#errors -(1,42): unexpected-start-tag -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <select> - -#data -<!doctype html><svg></svg><frameset><frame> -#errors -(1,36): unexpected-start-tag -(1,43): eof-in-frameset -#document -| <!DOCTYPE html> -| <html> -| <head> -| <frameset> -| <frame> - -#data -<!doctype html><math></math><frameset><frame> -#errors -(1,38): unexpected-start-tag -(1,45): eof-in-frameset -#document -| <!DOCTYPE html> -| <html> -| <head> -| <frameset> -| <frame> - -#data -<!doctype html><svg><foreignObject><div> <frameset><frame> -#errors -(1,51): unexpected-start-tag -(1,58): eof-in-frameset -#document -| <!DOCTYPE html> -| <html> -| <head> -| <frameset> -| <frame> - -#data -<!doctype html><svg>a</svg><frameset><frame> -#errors -(1,37): unexpected-start-tag -(1,44): unexpected-start-tag-ignored -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <svg svg> -| "a" - -#data -<!doctype html><svg> </svg><frameset><frame> -#errors -(1,37): unexpected-start-tag -(1,44): eof-in-frameset -#document -| <!DOCTYPE html> -| <html> -| <head> -| <frameset> -| <frame> - -#data -<html>aaa<frameset></frameset> -#errors -(1,6): expected-doctype-but-got-start-tag -(1,19): unexpected-start-tag -(1,30): unexpected-end-tag -#document -| <html> -| <head> -| <body> -| "aaa" - -#data -<html> a <frameset></frameset> -#errors -(1,6): expected-doctype-but-got-start-tag -(1,19): unexpected-start-tag -(1,30): unexpected-end-tag -#document -| <html> -| <head> -| <body> -| "a " - -#data -<!doctype html><div><frameset> -#errors -(1,30): unexpected-start-tag -(1,30): eof-in-frameset -#document -| <!DOCTYPE html> -| <html> -| <head> -| <frameset> - -#data -<!doctype html><div><body><frameset> -#errors -(1,26): unexpected-start-tag -(1,36): unexpected-start-tag -(1,36): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <div> - -#data -<!doctype html><p><math></p>a -#errors -(1,28): unexpected-end-tag -(1,28): unexpected-end-tag -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <p> -| <math math> -| "a" - -#data -<!doctype html><p><math><mn><span></p>a -#errors -(1,38): unexpected-end-tag -(1,39): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <p> -| <math math> -| <math mn> -| <span> -| <p> -| "a" - -#data -<!doctype html><math></html> -#errors -(1,28): unexpected-end-tag -(1,28): expected-one-end-tag-but-got-another -(1,28): unexpected-end-tag -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <math math> - -#data -<!doctype html><meta charset="ascii"> -#errors -#document -| <!DOCTYPE html> -| <html> -| <head> -| <meta> -| charset="ascii" -| <body> - -#data -<!doctype html><meta http-equiv="content-type" content="text/html;charset=ascii"> -#errors -#document -| <!DOCTYPE html> -| <html> -| <head> -| <meta> -| content="text/html;charset=ascii" -| http-equiv="content-type" -| <body> - -#data -<!doctype html><head><!--aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa--><meta charset="utf8"> -#errors -#document -| <!DOCTYPE html> -| <html> -| <head> -| <!-- aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa --> -| <meta> -| charset="utf8" -| <body> - -#data -<!doctype html><html a=b><head></head><html c=d> -#errors -(1,48): non-html-root -#document -| <!DOCTYPE html> -| <html> -| a="b" -| c="d" -| <head> -| <body> - -#data -<!doctype html><image/> -#errors -(1,23): image-start-tag -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <img> - -#data -<!doctype html>a<i>b<table>c<b>d</i>e</b>f -#errors -(1,28): foster-parenting-character -(1,31): foster-parenting-start-tag -(1,32): foster-parenting-character -(1,36): foster-parenting-end-tag -(1,36): adoption-agency-1.3 -(1,37): foster-parenting-character -(1,41): foster-parenting-end-tag -(1,42): foster-parenting-character -(1,42): eof-in-table -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| "a" -| <i> -| "bc" -| <b> -| "de" -| "f" -| <table> - -#data -<!doctype html><table><i>a<b>b<div>c<a>d</i>e</b>f -#errors -(1,25): foster-parenting-start-tag -(1,26): foster-parenting-character -(1,29): foster-parenting-start-tag -(1,30): foster-parenting-character -(1,35): foster-parenting-start-tag -(1,36): foster-parenting-character -(1,39): foster-parenting-start-tag -(1,40): foster-parenting-character -(1,44): foster-parenting-end-tag -(1,44): adoption-agency-1.3 -(1,44): adoption-agency-1.3 -(1,45): foster-parenting-character -(1,49): foster-parenting-end-tag -(1,49): adoption-agency-1.3 -(1,49): adoption-agency-1.3 -(1,50): foster-parenting-character -(1,50): eof-in-table -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <i> -| "a" -| <b> -| "b" -| <b> -| <div> -| <b> -| <i> -| "c" -| <a> -| "d" -| <a> -| "e" -| <a> -| "f" -| <table> - -#data -<!doctype html><i>a<b>b<div>c<a>d</i>e</b>f -#errors -(1,37): adoption-agency-1.3 -(1,37): adoption-agency-1.3 -(1,42): adoption-agency-1.3 -(1,42): adoption-agency-1.3 -(1,43): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <i> -| "a" -| <b> -| "b" -| <b> -| <div> -| <b> -| <i> -| "c" -| <a> -| "d" -| <a> -| "e" -| <a> -| "f" - -#data -<!doctype html><table><i>a<b>b<div>c</i> -#errors -(1,25): foster-parenting-start-tag -(1,26): foster-parenting-character -(1,29): foster-parenting-start-tag -(1,30): foster-parenting-character -(1,35): foster-parenting-start-tag -(1,36): foster-parenting-character -(1,40): foster-parenting-end-tag -(1,40): adoption-agency-1.3 -(1,40): eof-in-table -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <i> -| "a" -| <b> -| "b" -| <b> -| <div> -| <i> -| "c" -| <table> - -#data -<!doctype html><table><i>a<b>b<div>c<a>d</i>e</b>f -#errors -(1,25): foster-parenting-start-tag -(1,26): foster-parenting-character -(1,29): foster-parenting-start-tag -(1,30): foster-parenting-character -(1,35): foster-parenting-start-tag -(1,36): foster-parenting-character -(1,39): foster-parenting-start-tag -(1,40): foster-parenting-character -(1,44): foster-parenting-end-tag -(1,44): adoption-agency-1.3 -(1,44): adoption-agency-1.3 -(1,45): foster-parenting-character -(1,49): foster-parenting-end-tag -(1,44): adoption-agency-1.3 -(1,44): adoption-agency-1.3 -(1,50): foster-parenting-character -(1,50): eof-in-table -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <i> -| "a" -| <b> -| "b" -| <b> -| <div> -| <b> -| <i> -| "c" -| <a> -| "d" -| <a> -| "e" -| <a> -| "f" -| <table> - -#data -<!doctype html><table><i>a<div>b<tr>c<b>d</i>e -#errors -(1,25): foster-parenting-start-tag -(1,26): foster-parenting-character -(1,31): foster-parenting-start-tag -(1,32): foster-parenting-character -(1,37): foster-parenting-character -(1,40): foster-parenting-start-tag -(1,41): foster-parenting-character -(1,45): foster-parenting-end-tag -(1,45): adoption-agency-1.3 -(1,46): foster-parenting-character -(1,46): eof-in-table -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <i> -| "a" -| <div> -| "b" -| <i> -| "c" -| <b> -| "d" -| <b> -| "e" -| <table> -| <tbody> -| <tr> - -#data -<!doctype html><table><td><table><i>a<div>b<b>c</i>d -#errors -(1,26): unexpected-cell-in-table-body -(1,36): foster-parenting-start-tag -(1,37): foster-parenting-character -(1,42): foster-parenting-start-tag -(1,43): foster-parenting-character -(1,46): foster-parenting-start-tag -(1,47): foster-parenting-character -(1,51): foster-parenting-end-tag -(1,51): adoption-agency-1.3 -(1,51): adoption-agency-1.3 -(1,52): foster-parenting-character -(1,52): eof-in-table -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <table> -| <tbody> -| <tr> -| <td> -| <i> -| "a" -| <div> -| <i> -| "b" -| <b> -| "c" -| <b> -| "d" -| <table> - -#data -<!doctype html><body><bgsound> -#errors -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <bgsound> - -#data -<!doctype html><body><basefont> -#errors -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <basefont> - -#data -<!doctype html><a><b></a><basefont> -#errors -(1,25): adoption-agency-1.3 -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <a> -| <b> -| <basefont> - -#data -<!doctype html><a><b></a><bgsound> -#errors -(1,25): adoption-agency-1.3 -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <a> -| <b> -| <bgsound> - -#data -<!doctype html><figcaption><article></figcaption>a -#errors -(1,49): end-tag-too-early -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <figcaption> -| <article> -| "a" - -#data -<!doctype html><summary><article></summary>a -#errors -(1,43): end-tag-too-early -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <summary> -| <article> -| "a" - -#data -<!doctype html><p><a><plaintext>b -#errors -(1,32): unexpected-end-tag -(1,33): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <p> -| <a> -| <plaintext> -| <a> -| "b" - -#data -<!DOCTYPE html><div>a<a></div>b<p>c</p>d -#errors -(1,30): end-tag-too-early -(1,40): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <div> -| "a" -| <a> -| <a> -| "b" -| <p> -| "c" -| "d" diff --git a/libs/html5lib/tests/testdata/tree-construction/tests2.dat b/libs/html5lib/tests/testdata/tree-construction/tests2.dat deleted file mode 100644 index bd2d11d9d..000000000 --- a/libs/html5lib/tests/testdata/tree-construction/tests2.dat +++ /dev/null @@ -1,780 +0,0 @@ -#data -<!DOCTYPE html>Test -#errors -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| "Test" - -#data -<textarea>test</div>test -#errors -(1,10): expected-doctype-but-got-start-tag -(1,24): expected-closing-tag-but-got-eof -#document -| <html> -| <head> -| <body> -| <textarea> -| "test</div>test" - -#data -<table><td> -#errors -(1,7): expected-doctype-but-got-start-tag -(1,11): unexpected-cell-in-table-body -(1,11): expected-closing-tag-but-got-eof -#document -| <html> -| <head> -| <body> -| <table> -| <tbody> -| <tr> -| <td> - -#data -<table><td>test</tbody></table> -#errors -(1,7): expected-doctype-but-got-start-tag -(1,11): unexpected-cell-in-table-body -#document -| <html> -| <head> -| <body> -| <table> -| <tbody> -| <tr> -| <td> -| "test" - -#data -<frame>test -#errors -(1,7): expected-doctype-but-got-start-tag -(1,7): unexpected-start-tag-ignored -#document -| <html> -| <head> -| <body> -| "test" - -#data -<!DOCTYPE html><frameset>test -#errors -(1,29): unexpected-char-in-frameset -(1,29): unexpected-char-in-frameset -(1,29): unexpected-char-in-frameset -(1,29): unexpected-char-in-frameset -(1,29): eof-in-frameset -#document -| <!DOCTYPE html> -| <html> -| <head> -| <frameset> - -#data -<!DOCTYPE html><frameset> te st -#errors -(1,29): unexpected-char-in-frameset -(1,29): unexpected-char-in-frameset -(1,29): unexpected-char-in-frameset -(1,29): unexpected-char-in-frameset -(1,29): eof-in-frameset -#document -| <!DOCTYPE html> -| <html> -| <head> -| <frameset> -| " " - -#data -<!DOCTYPE html><frameset></frameset> te st -#errors -(1,29): unexpected-char-after-frameset -(1,29): unexpected-char-after-frameset -(1,29): unexpected-char-after-frameset -(1,29): unexpected-char-after-frameset -#document -| <!DOCTYPE html> -| <html> -| <head> -| <frameset> -| " " - -#data -<!DOCTYPE html><frameset><!DOCTYPE html> -#errors -(1,40): unexpected-doctype -(1,40): eof-in-frameset -#document -| <!DOCTYPE html> -| <html> -| <head> -| <frameset> - -#data -<!DOCTYPE html><font><p><b>test</font> -#errors -(1,38): adoption-agency-1.3 -(1,38): adoption-agency-1.3 -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <font> -| <p> -| <font> -| <b> -| "test" - -#data -<!DOCTYPE html><dt><div><dd> -#errors -(1,28): end-tag-too-early -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <dt> -| <div> -| <dd> - -#data -<script></x -#errors -(1,8): expected-doctype-but-got-start-tag -(1,11): expected-named-closing-tag-but-got-eof -#document -| <html> -| <head> -| <script> -| "</x" -| <body> - -#data -<table><plaintext><td> -#errors -(1,7): expected-doctype-but-got-start-tag -(1,18): unexpected-start-tag-implies-table-voodoo -(1,22): foster-parenting-character-in-table -(1,22): foster-parenting-character-in-table -(1,22): foster-parenting-character-in-table -(1,22): foster-parenting-character-in-table -(1,22): eof-in-table -#document -| <html> -| <head> -| <body> -| <plaintext> -| "<td>" -| <table> - -#data -<plaintext></plaintext> -#errors -(1,11): expected-doctype-but-got-start-tag -(1,23): expected-closing-tag-but-got-eof -#document -| <html> -| <head> -| <body> -| <plaintext> -| "</plaintext>" - -#data -<!DOCTYPE html><table><tr>TEST -#errors -(1,30): foster-parenting-character-in-table -(1,30): foster-parenting-character-in-table -(1,30): foster-parenting-character-in-table -(1,30): foster-parenting-character-in-table -(1,30): eof-in-table -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| "TEST" -| <table> -| <tbody> -| <tr> - -#data -<!DOCTYPE html><body t1=1><body t2=2><body t3=3 t4=4> -#errors -(1,37): unexpected-start-tag -(1,53): unexpected-start-tag -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| t1="1" -| t2="2" -| t3="3" -| t4="4" - -#data -</b test -#errors -(1,8): eof-in-attribute-name -(1,8): expected-doctype-but-got-eof -#document -| <html> -| <head> -| <body> - -#data -<!DOCTYPE html></b test<b &=&>X -#errors -(1,24): invalid-character-in-attribute-name -(1,32): named-entity-without-semicolon -(1,33): attributes-in-end-tag -(1,33): unexpected-end-tag-before-html -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| "X" - -#data -<!doctypehtml><scrIPt type=text/x-foobar;baz>X</SCRipt -#errors -(1,9): need-space-after-doctype -(1,54): expected-named-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <script> -| type="text/x-foobar;baz" -| "X</SCRipt" -| <body> - -#data -& -#errors -(1,1): expected-doctype-but-got-chars -#document -| <html> -| <head> -| <body> -| "&" - -#data -&# -#errors -(1,2): expected-numeric-entity -(1,2): expected-doctype-but-got-chars -#document -| <html> -| <head> -| <body> -| "&#" - -#data -&#X -#errors -(1,3): expected-numeric-entity -(1,3): expected-doctype-but-got-chars -#document -| <html> -| <head> -| <body> -| "&#X" - -#data -&#x -#errors -(1,3): expected-numeric-entity -(1,3): expected-doctype-but-got-chars -#document -| <html> -| <head> -| <body> -| "&#x" - -#data -- -#errors -(1,4): numeric-entity-without-semicolon -(1,4): expected-doctype-but-got-chars -#document -| <html> -| <head> -| <body> -| "-" - -#data -&x-test -#errors -(1,2): expected-doctype-but-got-chars -#document -| <html> -| <head> -| <body> -| "&x-test" - -#data -<!doctypehtml><p><li> -#errors -(1,9): need-space-after-doctype -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <p> -| <li> - -#data -<!doctypehtml><p><dt> -#errors -(1,9): need-space-after-doctype -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <p> -| <dt> - -#data -<!doctypehtml><p><dd> -#errors -(1,9): need-space-after-doctype -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <p> -| <dd> - -#data -<!doctypehtml><p><form> -#errors -(1,9): need-space-after-doctype -(1,23): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <p> -| <form> - -#data -<!DOCTYPE html><p></P>X -#errors -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <p> -| "X" - -#data -& -#errors -(1,4): named-entity-without-semicolon -(1,4): expected-doctype-but-got-chars -#document -| <html> -| <head> -| <body> -| "&" - -#data -&AMp; -#errors -(1,3): expected-named-entity -(1,3): expected-doctype-but-got-chars -#document -| <html> -| <head> -| <body> -| "&AMp;" - -#data -<!DOCTYPE html><html><head></head><body><thisISasillyTESTelementNameToMakeSureCrazyTagNamesArePARSEDcorrectLY> -#errors -(1,110): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <thisisasillytestelementnametomakesurecrazytagnamesareparsedcorrectly> - -#data -<!DOCTYPE html>X</body>X -#errors -(1,24): unexpected-char-after-body -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| "XX" - -#data -<!DOCTYPE html><!-- X -#errors -(1,21): eof-in-comment -#document -| <!DOCTYPE html> -| <!-- X --> -| <html> -| <head> -| <body> - -#data -<!DOCTYPE html><table><caption>test TEST</caption><td>test -#errors -(1,54): unexpected-cell-in-table-body -(1,58): expected-closing-tag-but-got-eof -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <table> -| <caption> -| "test TEST" -| <tbody> -| <tr> -| <td> -| "test" - -#data -<!DOCTYPE html><select><option><optgroup> -#errors -(1,41): eof-in-select -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <select> -| <option> -| <optgroup> - -#data -<!DOCTYPE html><select><optgroup><option></optgroup><option><select><option> -#errors -(1,68): unexpected-select-in-select -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <select> -| <optgroup> -| <option> -| <option> -| <option> - -#data -<!DOCTYPE html><select><optgroup><option><optgroup> -#errors -(1,51): eof-in-select -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <select> -| <optgroup> -| <option> -| <optgroup> - -#data -<!DOCTYPE html><datalist><option>foo</datalist>bar -#errors -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <datalist> -| <option> -| "foo" -| "bar" - -#data -<!DOCTYPE html><font><input><input></font> -#errors -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <font> -| <input> -| <input> - -#data -<!DOCTYPE html><!-- XXX - XXX --> -#errors -#document -| <!DOCTYPE html> -| <!-- XXX - XXX --> -| <html> -| <head> -| <body> - -#data -<!DOCTYPE html><!-- XXX - XXX -#errors -(1,29): eof-in-comment -#document -| <!DOCTYPE html> -| <!-- XXX - XXX --> -| <html> -| <head> -| <body> - -#data -<!DOCTYPE html><!-- XXX - XXX - XXX --> -#errors -#document -| <!DOCTYPE html> -| <!-- XXX - XXX - XXX --> -| <html> -| <head> -| <body> - -#data -test -test -#errors -(2,4): expected-doctype-but-got-chars -#document -| <html> -| <head> -| <body> -| "test -test" - -#data -<!DOCTYPE html><body><title>test</body> -#errors -#document -| -| -| -| -| -| "test</body>" - -#data -<!DOCTYPE html><body><title>X -#errors -#document -| -| -| -| -| -| "X" -| <meta> -| name="z" -| <link> -| rel="foo" -| <style> -| " -x { content:"</style" } " - -#data -<!DOCTYPE html><select><optgroup></optgroup></select> -#errors -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> -| <select> -| <optgroup> - -#data - - -#errors -(2,1): expected-doctype-but-got-eof -#document -| <html> -| <head> -| <body> - -#data -<!DOCTYPE html> <html> -#errors -#document -| <!DOCTYPE html> -| <html> -| <head> -| <body> - -#data -<!DOCTYPE html><script> -</script> <title>x -#errors -#document -| -| -| -| -#errors -(1,6): expected-doctype-but-got-start-tag -(1,21): unexpected-start-tag-out-of-my-head -#document -| -| -| -#errors -(1,6): expected-doctype-but-got-start-tag -(1,28): unexpected-start-tag-out-of-my-head -(1,52): unexpected-start-tag-out-of-my-head -#document -| -| -| -#errors -(1,6): expected-doctype-but-got-start-tag -#document -| -| -| -| -| "x" -| x -#errors -(1,7): expected-doctype-but-got-start-tag -#document -| -| -| --> x -#errors -(1,7): expected-doctype-but-got-start-tag -(1,34): unexpected-end-tag -#document -| -| -| x -#errors -(1,7): expected-doctype-but-got-start-tag -#document -| -| -| x -#errors -(1,7): expected-doctype-but-got-start-tag -#document -| -| -| x -#errors -(1,7): expected-doctype-but-got-start-tag -#document -| -| -|

    -#errors -#document -| -| -| -| -| -| ddd -#errors -(1,6): expected-doctype-but-got-start-tag -(1,21): unexpected-start-tag-out-of-my-head -#document -| -| -| -#errors -(1,3): expected-doctype-but-got-start-tag -(1,41): adoption-agency-1.3 -#document -| -| -| -| -|
  • -| -|