Init Electrin-Vite

This commit is contained in:
Ali Zemani 2024-07-25 19:50:15 +03:30
parent a4483fcb48
commit 73dc8bd1d6
No known key found for this signature in database
GPG key ID: C4B2B4E8E201F714
32 changed files with 238 additions and 0 deletions

74
src/main/index.ts Normal file
View file

@ -0,0 +1,74 @@
import { app, shell, BrowserWindow, ipcMain } from 'electron'
import { join } from 'path'
import { electronApp, optimizer, is } from '@electron-toolkit/utils'
import icon from '../../resources/icon.png?asset'
function createWindow(): void {
// Create the browser window.
const mainWindow = new BrowserWindow({
width: 900,
height: 670,
show: false,
autoHideMenuBar: true,
...(process.platform === 'linux' ? { icon } : {}),
webPreferences: {
preload: join(__dirname, '../preload/index.js'),
sandbox: false
}
})
mainWindow.on('ready-to-show', () => {
mainWindow.show()
})
mainWindow.webContents.setWindowOpenHandler((details) => {
shell.openExternal(details.url)
return { action: 'deny' }
})
// HMR for renderer base on electron-vite cli.
// Load the remote URL for development or the local html file for production.
if (is.dev && process.env['ELECTRON_RENDERER_URL']) {
mainWindow.loadURL(process.env['ELECTRON_RENDERER_URL'])
} else {
mainWindow.loadFile(join(__dirname, '../renderer/index.html'))
}
}
// This method will be called when Electron has finished
// initialization and is ready to create browser windows.
// Some APIs can only be used after this event occurs.
app.whenReady().then(() => {
// Set app user model id for windows
electronApp.setAppUserModelId('com.electron')
// Default open or close DevTools by F12 in development
// and ignore CommandOrControl + R in production.
// see https://github.com/alex8088/electron-toolkit/tree/master/packages/utils
app.on('browser-window-created', (_, window) => {
optimizer.watchWindowShortcuts(window)
})
// IPC test
ipcMain.on('ping', () => console.log('pong'))
createWindow()
app.on('activate', function () {
// On macOS it's common to re-create a window in the app when the
// dock icon is clicked and there are no other windows open.
if (BrowserWindow.getAllWindows().length === 0) createWindow()
})
})
// Quit when all windows are closed, except on macOS. There, it's common
// for applications and their menu bar to stay active until the user quits
// explicitly with Cmd + Q.
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit()
}
})
// In this file you can include the rest of your app"s specific main process
// code. You can also put them in separate files and require them here.

8
src/preload/index.d.ts vendored Normal file
View file

@ -0,0 +1,8 @@
import { ElectronAPI } from '@electron-toolkit/preload'
declare global {
interface Window {
electron: ElectronAPI
api: unknown
}
}

22
src/preload/index.ts Normal file
View file

@ -0,0 +1,22 @@
import { contextBridge } from 'electron'
import { electronAPI } from '@electron-toolkit/preload'
// Custom APIs for renderer
const api = {}
// Use `contextBridge` APIs to expose Electron APIs to
// renderer only if context isolation is enabled, otherwise
// just add to the DOM global.
if (process.contextIsolated) {
try {
contextBridge.exposeInMainWorld('electron', electronAPI)
contextBridge.exposeInMainWorld('api', api)
} catch (error) {
console.error(error)
}
} else {
// @ts-ignore (define in dts)
window.electron = electronAPI
// @ts-ignore (define in dts)
window.api = api
}

191
src/renderer/index.html Normal file
View file

@ -0,0 +1,191 @@
<!DOCTYPE html>
<!--
This is free and unencumbered software released into the public domain.
Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any
means.
In jurisdictions that recognize copyright laws, the author or authors
of this software dedicate any and all copyright interest in the
software to the public domain. We make this dedication for the benefit
of the public at large and to the detriment of our heirs and
successors. We intend this dedication to be an overt act of
relinquishment in perpetuity of all present and future rights to this
software under copyright law.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
For more information, please refer to <http://unlicense.org>
-->
<html lang="en">
<head>
<meta charset="utf-8">
<title>Bandersnatch Interactive Player</title>
<meta name="description"
content="Stand-alone open-source interactive HTML player for Black Mirror - Bandersnatch" />
<meta name="keywords" content="Bandersnatch,Bandersnatch Interactive Player,Interactive Player,watch," />
<script src="assets/bandersnatch.js"></script>
<script src="assets/choices/ru.js"></script>
<script src="assets/choices/en.js"></script>
<script src="assets/choices/fr.js"></script>
<script src="assets/SegmentMap.js"></script>
<script src="assets/scripts.js"></script>
<script>
// keep localizable strings out of scripts.js
function askReset() {
if (confirm('Are you sure you want to reset all choices, breadcrumbs, and watched scenes?'))
reset();
}
</script>
<link rel="stylesheet" type="text/css" href="assets/styles.css">
</head>
<body>
<div>
<div id="c">
<section role="banner">
<div id="file-selector">
<div class="file-area">
<div class="contact">
<div>
<span class="default">You can select translation of choices: </span>
<select id="choice-translation">
<option value="ru">Russian</option>
<option value="en" selected>English</option>
<option value="fr">French</option>
</select>
<br>
This player remembers your choices and watch history: <a
href="javascript:askReset()">Reset all</a>
</div>
<p>
Authors:
<a href="https://github.com/joric/bandersnatch/">Original version</a> - <a
href="https://github.com/joric/">joric</a> |
Web page, subtitles - <a href="https://github.com/mehotkhan">Mehotkhan</a> |
Many fixes, improvements, and everything else - <a
href="https://github.com/CyberShadow">CyberShadow</a>
</p>
</div>
<input id="fileinput" type="file">
<div class="file-dummy">
<h2>Bandersnatch Interactive Player</h2>
<span class="default">Select Bandersnatch video file ( 5:12:14 ) </span>
<span class="success">Great, your file is selected</span>
<ul class="file-tips">
<li>This player is known to work only on Google Chrome or Chromium.</li>
<li>Obtain the Bandersnatch video file (duration should be 5:12:14).<br>
Tested with <code>Black.Mirror.Bandersnatch.2018.720p.WEB-DL.x264.DUAL.mkv</code>,<br>
<code>Black.Mirror.Bandersnatch.2018.MULTi.1080p.NF.WEB-DL.x264-NSP.mkv</code>,<br>
<code>Black.Mirror.Bandersnatch.2018.MULTi.720p.NF.WEB-DL.x264-NSP.mkv</code>.
</li>
<li>Drag it on top of this box (or click here to select it).</li>
<li>Subtitles in many languages are available. If you the french audio you can chose French Forced Subtitle</li>
<li>To change the subtitle:
<ol>
<li>Right click on the video</li>
<li>Enable "Show controls"</li>
<li>Click on the <span class="menu-item"></span> in the bottom-right</li>
<li>Select the desired subtitle</li>
<li>You can now hide the player controls in the same way as step 1-2.</li>
</ol>
</li>
<li>Note: do not use the "full screen" button in the video player if you enable "Show
controls".
Choice selection interface will not be visible if you do this.</li>
</ul>
<ul class="controls-tips">
<h6>Keyboard controls</h6>
<li><kbd>F</kbd> - Toggle fullscreen</li>
<li><kbd>R</kbd> - Restart video</li>
<li><kbd></kbd> / <kbd></kbd> - Jump to the next / previous segment (or interaction
zone)</li>
<li><kbd></kbd> / <kbd></kbd> - Speed up / slow down playback</li>
<li><kbd>Space</kbd> - Toggle play and pause</li>
</ul>
</div>
</div>
</div>
<div id="wrapper-video">
<video id="video" preload="metadata">
<source id="video-source" src="">
<track label="English" kind="subtitles" srclang="en"
src="subtitle/Black.Mirror.Bandersnatch.2018.WEBRip.x264-NoGRP.vtt" default>
<track label="Persian" kind="subtitles" srclang="en"
src="subtitle/Black.Mirror.Bandersnatch.2018.WEBRip.x264-NoGRP-persian-vtt-sharp.vtt">
<track label="Arabic" kind="subtitles" srclang="en"
src="subtitle/Black.Mirror.Bandersnatch.2018-arabic.vtt">
<track label="Spanish" kind="subtitles" srclang="en"
src="subtitle/Black.Mirror.Bandersnatch.2018.720p.espanish.vtt">
<track label="Hebrew" kind="subtitles" srclang="en"
src="subtitle/Black.Mirror.Bandersnatch.2018.Web-05.12.14-NF-UniHebSubs-hebrew.vtt">
<track label="Portuguese" kind="subtitles" srclang="en"
src="subtitle/Black.Mirror.Bandersnatch.2018.WEBRip.720p.portuguese.vtt">
<track label="Greek" kind="subtitles" srclang="en"
src="subtitle/black-mirror-bandersnatch-2018-nf-web-dl-720p-greek.vtt">
<track label="Turkish" kind="subtitles" srclang="en"
src="subtitle/BlackMirror.Bandersnatch-Turkish.vtt">
<track label="Polish" kind="subtitles" srclang="en"
src="subtitle/Czarne.lustro_.Bandersnatch.WEBRip.Netflix.pl.vtt">
<track label="Indonesian" kind="subtitles" srclang="en"
src="subtitle/Black.Mirror.Bandersnatch.2018.WEBRip.x264-NoGRP-Indonesian-vtt-sharp.vtt">
<track label="Russian" kind="subtitles" srclang="ru"
src="subtitle/BlackMirror.Bandersnatch-russian.vtt">
<track label="French" kind="subtitles" srclang="fr"
src="subtitle/Black.Mirror_.Bandersnatch.French.WEBRip.Netflix.vtt">
<track label="French Forced" kind="subtitles" srclang="de"
src="subtitle/Black.Mirror.Bandersnatch.2018.MULTi.1080p.NF.WEB-DL.x264-NSP_track9_[fre].vtt">
<track label="Hungarian" kind="subtitles" srclang="hu"
src="subtitle/Black.Mirror.Bandersnatch.2018.720p.WEBRip.XviD.AC3-FGT-Hungarian.vtt">
<track label="Korean" kind="subtitles" srclang="kr"
src="subtitle/[SubtitleTools.com] Black.Mirror.Bandersnatch.2018.REPACK.1080p.WEB.X264-DEFLATE.Korean.vtt">
<track label="German" kind="subtitles" srclang="de"
src="subtitle/Black.Mirror.Bandersnatch.2018.WEBRip.Netflix.German.vtt">
</video>
<div class="controls">
<div id="choiceCaption"></div>
<div id="progress"></div>
<div class="buttons">
<ul id="choices"></ul>
<ul id="interactionZones"></ul>
<ul id="nextSegments"></ul>
<ul id="nextSegment"></ul>
</div>
</div>
</div>
</div>
</section>
</div>
</body>
<script>
var select = document.getElementById('choice-translation');
select.addEventListener('change',(e)=>{
translated_choices = window[select.value];
console.log(select.value);
momentsBySegment = switch_choices();
})
</script>
</html>

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,927 @@
WEBVTT
00:00:05.440 --> 00:00:08.360
UNE SÉRIE ORIGINALE NETFLIX
00:00:32.280 --> 00:00:36.320
9 JUILLET 1984
00:05:39.280 --> 00:05:40.320
ENTRÉE
00:05:58.320 --> 00:05:59.440
ERREUR PARAMÈTRE
00:06:42.760 --> 00:06:44.600
MISÉRABLE HUMAIN! IDOLÂTRE-MOI.
00:06:47.640 --> 00:06:49.920
REFUSER IDOLÂTRER PAX
00:07:11.480 --> 00:07:12.320
IDOLÂTRER PAX
00:07:13.040 --> 00:07:13.880
HORS LIMITES
00:08:33.480 --> 00:08:37.480
CINQ MOIS PLUS TARD
00:09:34.280 --> 00:09:36.720
9 JUILLET 1984
00:10:25.600 --> 00:10:26.640
ENTRÉE
00:10:52.520 --> 00:10:54.200
MISÉRABLE HUMAIN! IDOLÂTRE-MOI.
00:10:54.280 --> 00:10:55.360
REFUSER IDOLÂTRER PAX
00:11:12.920 --> 00:11:13.760
IDOLÂTRER PAX
00:14:56.320 --> 00:14:58.760
REGARDER PORTE, TROUVER CLÉ
00:14:58.840 --> 00:15:02.040
GUIDE POUR CODER DES JEUX
D'AVENTURE
00:20:34.240 --> 00:20:38.320
LES VIES DE JEROME F. DAVIES
00:20:59.320 --> 00:21:01.640
LES VIES DE JEROME F. DAVIES
00:21:08.360 --> 00:21:11.440
THÉORIES DU COMPLOT:
MANIPULATION MENTALE
00:21:46.520 --> 00:21:49.720
JUILLET 1984
00:21:49.800 --> 00:21:51.640
SCIENTIFIQUES FONCTIONNAIRES
00:21:56.720 --> 00:21:58.040
CROISEMENT TU ES GELÉ
00:22:00.440 --> 00:22:03.440
17 JUILLET
00:22:14.760 --> 00:22:17.640
3 AOÛT
00:22:23.400 --> 00:22:26.320
20 AOÛT
00:22:32.160 --> 00:22:33.040
COMBAT CONSEILS
00:22:33.120 --> 00:22:34.040
PAVÉS JAUNES CHEMIN ROUGE
00:22:34.120 --> 00:22:35.000
COMBAT? OUI NON
00:22:35.080 --> 00:22:36.000
DROITE GAUCHE FIN
00:23:12.240 --> 00:23:13.280
ENTRÉE
00:23:30.840 --> 00:23:32.600
FONCTION NON DÉFINIE
00:24:23.200 --> 00:24:24.040
ENTRÉE
00:24:42.760 --> 00:24:44.520
FONCTION NON DÉFINIE
00:28:08.120 --> 00:28:09.680
SALLE 3 DR R. HAYNES
00:29:09.040 --> 00:29:11.960
QUATRE MOIS PLUS TARD
00:31:13.160 --> 00:31:17.160
TROIS SEMAINES PLUS TARD
00:31:38.760 --> 00:31:40.440
12 SEPTEMBRE
00:31:40.520 --> 00:31:42.240
JOUR DE LIVRAISON
00:31:42.320 --> 00:31:44.320
SHUTLYBR
00:31:52.920 --> 00:31:54.360
L'AGENT A DES SOUPÇONS
00:31:54.440 --> 00:31:55.560
S'ENFUIR TUER L'AGENT
00:33:10.760 --> 00:33:13.080
REGARDER PORTE, TROUVER CLÉ
00:33:13.160 --> 00:33:15.240
LES VIES DE JEROME F. DAVIES
00:33:42.480 --> 00:33:44.480
DANS L'ESPRIT DE:
JEROME F. DAVIES
00:34:54.080 --> 00:34:55.440
MÉMOIRE SATURÉE
00:36:19.520 --> 00:36:20.360
MÉMOIRE SATURÉE
00:36:50.680 --> 00:36:51.920
CODE PORTE VERROUILLÉE? OUI NON
00:37:16.960 --> 00:37:18.320
REGARDER PORTE, TROUVER CLÉ
00:37:18.400 --> 00:37:20.160
GUIDE POUR CODER DES JEUX
D'AVENTURE
00:39:50.720 --> 00:39:53.840
FONCTION NON DÉFINIE
00:40:49.000 --> 00:40:51.200
JE TE REGARDE SUR NETFLIX.
00:40:53.320 --> 00:40:56.760
JE PRENDS LES DÉCISIONS
À TA PLACE.
00:41:17.560 --> 00:41:19.920
C'EST UNE PLATE-FORME
DE DIVERTISSEMENT
00:41:20.000 --> 00:41:23.280
DU DÉBUT DU 21E SIÈCLE.
00:41:41.600 --> 00:41:44.560
COMME LA TÉLÉ, MAIS EN LIGNE.
00:41:44.640 --> 00:41:47.360
JE CONTRÔLE TOUT.
00:41:55.400 --> 00:41:56.280
VALEUR HORS LIMITES
00:54:40.520 --> 00:54:44.520
QUATRE MOIS PLUS TARD
00:54:46.320 --> 00:54:48.320
REPARTEZ À ZÉRO!
00:57:57.160 --> 00:57:58.640
SHUTLYBR
00:58:44.120 --> 00:58:46.000
REGARDER PORTE, TROUVER CLÉ
LES VIES DE JEROME F. DAVIES
00:58:56.600 --> 00:58:57.720
REGARDER PORTE, TROUVER CLÉ
00:58:57.800 --> 00:58:59.240
GUIDE POUR CODER DES JEUX
D'AVENTURE
01:05:53.000 --> 01:05:53.840
ENTRÉE
01:07:06.760 --> 01:07:09.920
CODEUR MEURTRIER
01:10:43.560 --> 01:10:44.400
ENTRÉE
01:11:43.640 --> 01:11:46.000
L'AGENT A DES SOUPÇONS
01:12:38.640 --> 01:12:41.120
JOURNALISTE
01:12:55.720 --> 01:12:58.120
PRODUCTEUR DE JEUX
01:13:02.960 --> 01:13:05.320
LA FIN
01:13:33.280 --> 01:13:34.440
CAPTURÉ PAR PAX
PAR LE GOUVERNEMENT
01:13:38.600 --> 01:13:39.600
FIN OUI NON
01:13:58.240 --> 01:14:02.760
9 JUILLET 1984
01:14:20.280 --> 01:14:23.000
ÉVALUATION AVANCÉE
01:15:59.640 --> 01:16:00.880
REGARDER PORTE, TROUVER CLÉ
01:16:00.960 --> 01:16:02.640
GUIDE POUR CODER DES JEUX
D'AVENTURE
01:17:43.800 --> 01:17:48.680
ENTRER MOT DE PASSE
01:18:03.040 --> 01:18:04.720
JOUET
01:18:04.800 --> 01:18:05.720
PORTE DÉVERROUILLÉE
01:21:16.040 --> 01:21:18.360
ENTRER MOT DE PASSE
01:22:01.440 --> 01:22:03.480
REGARDER PORTE, TROUVER CLÉ
01:22:31.480 --> 01:22:34.520
ENTRER MOT DE PASSE
01:22:34.600 --> 01:22:35.440
PORTE DÉVERROUILLÉE
01:22:45.040 --> 01:22:47.400
PRÉNOM STEFAN
NOM DE FAMILLE BUTLER
01:22:51.880 --> 01:22:53.960
P.A.C.S
ÉTUDE PROGRAM AND CONTROL
01:22:58.880 --> 01:23:00.880
DOSSIER PATIENT CONFIDENTIEL
01:23:08.600 --> 01:23:09.720
3 JUILLET 1984
01:23:22.000 --> 01:23:24.120
DOSE 100 ML
01:23:40.440 --> 01:23:41.560
"ORIGINE TRAUMATISME"
01:23:41.640 --> 01:23:42.760
ORIGINE TRAUMATISME
01:26:22.840 --> 01:26:25.240
P.A.C.S. ÉTUDE PROGRAM AND CONTROL
01:33:50.880 --> 01:33:51.920
ENTRÉE
01:34:09.920 --> 01:34:11.040
ERREUR PARAMÈTRE
01:34:54.160 --> 01:34:56.200
MISÉRABLE HUMAIN! IDOLÂTRE-MOI.
REFUSER IDOLÂTRER PAX
01:35:23.080 --> 01:35:23.920
IDOLÂTRER PAX
01:35:24.640 --> 01:35:25.480
HORS LIMITES
01:36:16.000 --> 01:36:18.400
9 JUILLET 1984
01:37:08.000 --> 01:37:09.040
ENTRÉE
01:37:34.560 --> 01:37:37.760
MISÉRABLE HUMAIN! IDOLÂTRE-MOI.
REFUSER IDOLÂTRER PAX
01:37:55.280 --> 01:37:56.120
IDOLÂTRER PAX
01:41:38.720 --> 01:41:41.120
REGARDER PORTE, TROUVER CLÉ
01:41:41.200 --> 01:41:44.400
GUIDE POUR CODER DES JEUX
D'AVENTURE
01:44:40.720 --> 01:44:44.720
TROIS SEMAINES PLUS TARD
01:45:06.520 --> 01:45:07.960
12 SEPTEMBRE
01:45:08.040 --> 01:45:10.600
JOUR DE LIVRAISON
01:45:13.160 --> 01:45:15.160
SHUTLYBR
01:45:49.600 --> 01:45:51.280
L'AGENT A DES SOUPÇONS
01:45:51.360 --> 01:45:52.520
S'ENFUIR TUER L'AGENT
01:47:04.800 --> 01:47:07.800
REGARDER PORTE, TROUVER CLÉ
01:47:07.880 --> 01:47:10.040
LES VIES DE JEROME F. DAVIES
01:47:37.000 --> 01:47:39.280
DANS L'ESPRIT DE:
JEROME F. DAVIES
01:48:48.800 --> 01:48:50.240
MÉMOIRE SATURÉE
01:51:28.400 --> 01:51:31.520
FONCTION NON DÉFINIE
01:54:32.640 --> 01:54:33.480
LES VIES DE JEROME F. DAVIES
01:54:44.000 --> 01:54:44.880
ENTRÉE
01:55:02.600 --> 01:55:04.360
FONCTION NON DÉFINIE
01:55:09.760 --> 01:55:12.200
9 JUILLET 1984
01:56:14.880 --> 01:56:16.240
MISÉRABLE HUMAIN! IDOLÂTRE-MOI.
01:56:16.320 --> 01:56:17.840
REFUSER IDOLÂTRER PAX
01:56:29.640 --> 01:56:30.480
IDOLÂTRER PAX
01:57:06.600 --> 01:57:07.600
LES VIES DE JEROME F. DAVIES
01:57:56.240 --> 01:57:57.600
S'ENFUIR TUER L'AGENT
01:58:10.520 --> 01:58:11.880
MÉMOIRE SATURÉE
01:58:43.720 --> 01:58:44.840
REGARDER PORTE, TROUVER CLÉ
01:58:44.920 --> 01:58:46.360
GUIDE POUR CODER DES JEUX
D'AVENTURE
01:58:58.480 --> 01:58:59.720
REGARDER PORTE, TROUVER CLÉ
01:58:59.800 --> 01:59:01.480
GUIDE POUR CODER DES JEUX
D'AVENTURE
02:00:42.640 --> 02:00:45.360
ENTRER MOT DE PASSE
02:01:01.520 --> 02:01:02.360
MOT DE PASSE ERRONÉ
02:01:40.200 --> 02:01:43.320
FONCTION NON DÉFINIE
02:02:34.760 --> 02:02:36.160
P.A.C.S. ÉTUDE PROGRAM AND CONTROL
02:04:35.000 --> 02:04:35.840
ENTRÉE
02:08:23.440 --> 02:08:24.280
ENTRÉE
02:08:40.880 --> 02:08:42.640
FONCTION NON DÉFINIE
02:14:56.160 --> 02:14:57.920
FONCTION NON DÉFINIE
02:18:08.680 --> 02:18:12.720
TROIS SEMAINES PLUS TARD
02:18:34.320 --> 02:18:35.800
12 SEPTEMBRE
02:18:35.880 --> 02:18:37.760
JOUR DE LIVRAISON
02:18:37.840 --> 02:18:39.840
SHUTLYBR
02:18:48.480 --> 02:18:49.760
L'AGENT A DES SOUPÇONS
02:18:49.840 --> 02:18:51.120
S'ENFUIR TUER L'AGENT
02:20:06.600 --> 02:20:08.760
REGARDER PORTE, TROUVER CLÉ
02:20:08.840 --> 02:20:10.760
LES VIES DE JEROME F. DAVIES
02:20:38.000 --> 02:20:40.000
DANS L'ESPRIT DE:
JEROME F. DAVIES
02:21:49.600 --> 02:21:50.960
MÉMOIRE SATURÉE
02:22:10.960 --> 02:22:14.960
TROIS SEMAINES PLUS TARD
02:22:36.680 --> 02:22:38.040
12 SEPTEMBRE
02:22:38.120 --> 02:22:40.040
JOUR DE LIVRAISON
02:22:40.120 --> 02:22:42.120
SHUTLYBR
02:22:50.720 --> 02:22:52.040
L'AGENT A DES SOUPÇONS
02:22:52.120 --> 02:22:53.360
S'ENFUIR TUER L'AGENT
02:24:08.600 --> 02:24:10.600
REGARDER PORTE, TROUVER CLÉ
02:24:10.680 --> 02:24:13.040
LES VIES DE JEROME F. DAVIES
02:24:40.280 --> 02:24:42.280
DANS L'ESPRIT DE:
JEROME F. DAVIES
02:25:51.880 --> 02:25:53.240
MÉMOIRE SATURÉE
02:26:13.280 --> 02:26:17.240
TROIS SEMAINES PLUS TARD
02:26:38.880 --> 02:26:40.280
12 SEPTEMBRE
02:26:40.360 --> 02:26:42.320
JOUR DE LIVRAISON
02:26:42.400 --> 02:26:44.400
SHUTLYBR
02:26:53.000 --> 02:26:54.320
L'AGENT A DES SOUPÇONS
02:26:54.400 --> 02:26:55.720
S'ENFUIR TUER L'AGENT
02:28:10.920 --> 02:28:12.920
REGARDER PORTE, TROUVER CLÉ
02:28:13.000 --> 02:28:15.320
LES VIES DE JEROME F. DAVIES
02:28:43.160 --> 02:28:44.560
DANS L'ESPRIT DE:
JEROME F. DAVIES
02:29:54.160 --> 02:29:55.520
MÉMOIRE SATURÉE
02:30:15.520 --> 02:30:19.520
TROIS SEMAINES PLUS TARD
02:30:41.360 --> 02:30:42.760
12 SEPTEMBRE
02:30:42.840 --> 02:30:45.440
JOUR DE LIVRAISON
02:30:48.000 --> 02:30:50.000
SHUTLYBR
02:31:24.560 --> 02:31:26.080
L'AGENT A DES SOUPÇONS
02:31:26.160 --> 02:31:27.320
S'ENFUIR TUER L'AGENT
02:32:40.320 --> 02:32:42.320
REGARDER PORTE, TROUVER CLÉ
02:32:42.400 --> 02:32:44.840
LES VIES DE JEROME F. DAVIES
02:33:13.080 --> 02:33:14.080
DANS L'ESPRIT DE:
JEROME F. DAVIES
02:34:23.680 --> 02:34:25.040
MÉMOIRE SATURÉE
02:34:45.040 --> 02:34:49.040
TROIS SEMAINES PLUS TARD
02:35:10.960 --> 02:35:12.280
12 SEPTEMBRE
02:35:12.360 --> 02:35:15.240
JOUR DE LIVRAISON
02:35:17.480 --> 02:35:19.480
SHUTLYBR
02:35:53.920 --> 02:35:55.600
L'AGENT A DES SOUPÇONS
02:35:55.680 --> 02:35:56.840
S'ENFUIR TUER L'AGENT
02:37:09.120 --> 02:37:12.120
REGARDER PORTE, TROUVER CLÉ
02:37:12.200 --> 02:37:14.360
LES VIES DE JEROME F. DAVIES
02:37:41.600 --> 02:37:43.600
DANS L'ESPRIT DE:
JEROME F. DAVIES
02:38:53.200 --> 02:38:54.560
MÉMOIRE SATURÉE
02:39:17.760 --> 02:39:21.760
TROIS SEMAINES PLUS TARD
02:39:43.640 --> 02:39:45.120
12 SEPTEMBRE
02:39:45.200 --> 02:39:48.080
JOUR DE LIVRAISON
02:39:50.240 --> 02:39:52.240
SHUTLYBR
02:40:26.600 --> 02:40:28.320
L'AGENT A DES SOUPÇONS
02:40:28.400 --> 02:40:29.560
S'ENFUIR TUER L'AGENT
02:41:42.440 --> 02:41:44.800
REGARDER PORTE, TROUVER CLÉ
02:41:44.880 --> 02:41:47.080
LES VIES DE JEROME F. DAVIES
02:42:14.760 --> 02:42:16.320
DANS L'ESPRIT DE:
JEROME F. DAVIES
02:43:25.920 --> 02:43:27.280
MÉMOIRE SATURÉE
02:44:57.800 --> 02:45:00.920
FONCTION NON DÉFINIE
02:45:08.480 --> 02:45:10.560
REGARDER PORTE, TROUVER CLÉ
02:45:46.760 --> 02:45:49.960
ENTRER MOT DE PASSE
02:45:50.440 --> 02:45:51.400
MOT DE PASSE ERRONÉ
02:46:29.160 --> 02:46:32.280
FONCTION NON DÉFINIE
02:46:39.840 --> 02:46:41.920
REGARDER PORTE, TROUVER CLÉ
02:47:16.000 --> 02:47:17.240
REGARDER PORTE, TROUVER CLÉ
02:47:17.320 --> 02:47:18.960
GUIDE POUR CODER DES JEUX
D'AVENTURE
02:49:00.120 --> 02:49:02.440
ENTRER MOT DE PASSE
03:01:56.200 --> 03:01:57.840
SHUTLYBR
03:02:02.400 --> 03:02:04.440
L'AGENT A DES SOUPÇONS
03:02:40.040 --> 03:02:41.680
REGARDER PORTE, TROUVER CLÉ
LES VIES DE JEROME F. DAVIES
03:02:52.320 --> 03:02:53.440
REGARDER PORTE, TROUVER CLÉ
03:02:53.520 --> 03:02:54.960
GUIDE POUR CODER DES JEUX
D'AVENTURE
03:04:43.680 --> 03:04:46.800
FONCTION NON DÉFINIE
03:08:04.520 --> 03:08:06.560
REGARDER PORTE, TROUVER CLÉ
03:08:42.440 --> 03:08:44.920
ENTRER MOT DE PASSE
03:08:45.160 --> 03:08:46.000
MOT DE PASSE ERRONÉ
03:09:37.800 --> 03:09:39.280
SHUTLYBR
03:10:18.600 --> 03:10:19.600
MÉMOIRE SATURÉE
03:11:18.760 --> 03:11:20.480
FONCTION NON DÉFINIE
03:12:07.520 --> 03:12:09.240
FONCTION NON DÉFINIE
03:15:00.840 --> 03:15:03.560
LES VIES DE JEROME F. DAVIES
03:15:24.840 --> 03:15:27.200
LES VIES DE JEROME F. DAVIES
03:15:33.920 --> 03:15:37.000
THÉORIES DU COMPLOT:
MANIPULATION MENTALE
03:16:10.520 --> 03:16:14.560
JUILLET 1984
03:16:14.640 --> 03:16:16.480
SCIENTIFIQUES FONCTIONNAIRES
03:16:21.600 --> 03:16:22.880
CROISEMENT TU ES GELÉ
03:16:25.520 --> 03:16:28.280
17 JUILLET
03:16:39.560 --> 03:16:42.520
3 AOÛT
03:16:48.200 --> 03:16:51.160
20 AOÛT
03:16:57.000 --> 03:16:57.880
COMBAT CONSEILS
03:16:57.960 --> 03:16:58.880
PAVÉS JAUNES CHEMIN ROUGE
03:16:58.960 --> 03:16:59.840
COMBAT? OUI NON
03:16:59.920 --> 03:17:00.840
DROITE GAUCHE FIN
03:17:55.680 --> 03:17:57.440
FONCTION NON DÉFINIE
03:18:02.080 --> 03:18:05.240
ENTRER MOT DE PASSE
03:18:05.720 --> 03:18:06.680
MOT DE PASSE ERRONÉ
03:18:51.440 --> 03:18:54.080
ENTRER MOT DE PASSE
03:18:54.160 --> 03:18:55.000
MOT DE PASSE ERRONÉ
03:19:40.000 --> 03:19:43.040
ENTRER MOT DE PASSE
03:19:43.120 --> 03:19:43.960
PORTE DÉVERROUILLÉE
03:19:53.600 --> 03:19:55.920
PRÉNOM STEFAN
NOM DE FAMILLE BUTLER
03:20:00.400 --> 03:20:02.520
P.A.C.S.
ÉTUDE PROGRAM AND CONTROL
03:20:07.400 --> 03:20:09.400
DOSSIER PATIENT CONFIDENTIEL
03:20:17.120 --> 03:20:18.240
3 JUILLET 1984
03:20:30.640 --> 03:20:32.640
DOSE 100 ML
03:20:49.000 --> 03:20:50.080
"ORIGINE TRAUMATISME"
03:20:50.160 --> 03:20:51.280
ORIGINE TRAUMATISME
03:23:30.080 --> 03:23:33.240
ENTRER MOT DE PASSE
03:23:33.720 --> 03:23:34.680
MOT DE PASSE ERRONÉ
03:25:01.800 --> 03:25:04.840
ENTRER MOT DE PASSE
03:25:04.920 --> 03:25:05.760
PORTE DÉVERROUILLÉE
03:25:15.360 --> 03:25:17.720
PRÉNOM STEFAN
NOM DE FAMILLE BUTLER
03:25:22.200 --> 03:25:24.280
P.A.C.S
ÉTUDE PROGRAM AND CONTROL
03:25:29.200 --> 03:25:31.200
DOSSIER PATIENT CONFIDENTIEL
03:25:38.920 --> 03:25:40.040
3 JUILLET 1984
03:25:52.440 --> 03:25:54.440
DOSE 100 ML
03:26:10.760 --> 03:26:11.880
"ORIGINE TRAUMATISME"
03:26:11.960 --> 03:26:13.080
ORIGINE TRAUMATISME
03:28:44.520 --> 03:28:47.640
FONCTION NON DÉFINIE
03:29:53.960 --> 03:29:55.960
SHUTLYBR
03:30:23.000 --> 03:30:24.360
MÉMOIRE SATURÉE
03:31:48.520 --> 03:31:49.600
REGARDER PORTE, TROUVER CLÉ
03:31:49.680 --> 03:31:51.120
GUIDE POUR CODER DES JEUX
D'AVENTURE
03:33:47.400 --> 03:33:49.960
ENTRER MOT DE PASSE
03:35:01.280 --> 03:35:03.680
9 JUILLET 1984
03:36:05.640 --> 03:36:07.480
MISÉRABLE HUMAIN! IDOLÂTRE-MOI.
03:36:07.560 --> 03:36:08.680
REFUSER IDOLÂTRER PAX
03:36:20.480 --> 03:36:21.320
IDOLÂTRER PAX
03:39:49.120 --> 03:39:50.480
L'AGENT A DES SOUPÇONS
03:39:50.560 --> 03:39:51.480
S'ENFUIR TUER L'AGENT
03:42:16.360 --> 03:42:17.800
L'AGENT A DES SOUPÇONS
03:42:17.880 --> 03:42:18.720
S'ENFUIR TUER L'AGENT
03:43:54.040 --> 03:43:54.880
ENTRÉE
03:44:54.160 --> 03:44:55.600
L'AGENT A DES SOUPÇONS
03:44:55.680 --> 03:44:56.520
S'ENFUIR TUER L'AGENT
03:52:47.280 --> 03:52:50.840
CODEUR MEURTRIER
03:56:05.760 --> 03:56:08.160
CODEUR MEURTRIER
03:58:30.280 --> 03:58:32.520
CODEUR MEURTRIER
04:00:05.000 --> 04:00:06.680
REGARDER PORTE, TROUVER CLÉ
04:02:44.520 --> 04:02:45.360
ENTRÉE
04:03:58.280 --> 04:04:00.560
CODEUR MEURTRIER
04:08:27.880 --> 04:08:30.440
CODEUR MEURTRIER
04:09:53.680 --> 04:09:55.920
CODEUR MEURTRIER
04:15:46.760 --> 04:15:49.160
CODEUR MEURTRIER
04:17:50.000 --> 04:17:51.640
SALLE 3 DR R. HAYNES
04:20:11.360 --> 04:20:12.560
ENTRÉE
04:20:28.640 --> 04:20:30.400
FONCTION NON DÉFINIE
04:22:17.240 --> 04:22:18.600
MÉMOIRE SATURÉE
04:23:04.280 --> 04:23:05.640
MÉMOIRE SATURÉE
04:24:04.200 --> 04:24:05.280
REGARDER PORTE, TROUVER CLÉ
04:24:05.360 --> 04:24:06.800
GUIDE POUR CODER DES JEUX
D'AVENTURE
04:25:05.320 --> 04:25:06.400
REGARDER PORTE, TROUVER CLÉ
04:25:06.480 --> 04:25:07.920
GUIDE POUR CODER DES JEUX
D'AVENTURE
04:26:50.400 --> 04:26:52.040
REGARDER PORTE, TROUVER CLÉ
04:35:26.000 --> 04:35:27.840
ENTRER MOT DE PASSE
04:40:33.440 --> 04:40:35.120
REGARDER PORTE, TROUVER CLÉ
04:46:53.400 --> 04:46:55.960
ENTRER MOT DE PASSE
04:47:53.640 --> 04:47:56.200
ENTRER MOT DE PASSE
05:07:24.520 --> 05:07:27.680
DÉMO DE BANDERSNATCH
05:12:05.600 --> 05:12:09.080
Sous-titres: Céline Van der Cam

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff