GameSentenceMiner 2.16.5__py3-none-any.whl → 2.16.7__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -181,8 +181,99 @@
181
181
  </div>
182
182
  </div>
183
183
 
184
+ <!-- Goal Progress Chart -->
185
+ <div class="dashboard-card goal-progress-chart" id="goalProgressChart" style="margin-bottom: 30px;">
186
+ <div class="dashboard-card-header">
187
+ <h3 class="dashboard-card-title">
188
+ <span class="dashboard-card-icon">🎯</span>
189
+ Goal Progress Chart
190
+ </h3>
191
+ <p class="dashboard-card-subtitle">Track your reading goals and projected completion dates</p>
192
+ </div>
193
+
194
+ <div class="goal-progress-grid">
195
+ <!-- Reading Hours Goal -->
196
+ <div class="goal-progress-item">
197
+ <div class="goal-progress-header">
198
+ <div class="goal-progress-label">
199
+ <span class="goal-icon">⏱️</span>
200
+ Reading Hours
201
+ </div>
202
+ <div class="goal-progress-values">
203
+ <span class="goal-current" id="goalHoursCurrent">-</span>
204
+ <span class="goal-separator">/</span>
205
+ <span class="goal-target" id="goalHoursTarget">-</span>
206
+ </div>
207
+ </div>
208
+ <div class="goal-progress-bar">
209
+ <div class="goal-progress-fill" id="goalHoursProgress" data-percentage="0"></div>
210
+ </div>
211
+ <div class="goal-progress-info">
212
+ <span class="goal-percentage" id="goalHoursPercentage">0%</span>
213
+ <span class="goal-projection" id="goalHoursProjection">-</span>
214
+ </div>
215
+ </div>
216
+
217
+ <!-- Character Count Goal -->
218
+ <div class="goal-progress-item">
219
+ <div class="goal-progress-header">
220
+ <div class="goal-progress-label">
221
+ <span class="goal-icon">📖</span>
222
+ Characters Read
223
+ </div>
224
+ <div class="goal-progress-values">
225
+ <span class="goal-current" id="goalCharsCurrent">-</span>
226
+ <span class="goal-separator">/</span>
227
+ <span class="goal-target" id="goalCharsTarget">-</span>
228
+ </div>
229
+ </div>
230
+ <div class="goal-progress-bar">
231
+ <div class="goal-progress-fill" id="goalCharsProgress" data-percentage="0"></div>
232
+ </div>
233
+ <div class="goal-progress-info">
234
+ <span class="goal-percentage" id="goalCharsPercentage">0%</span>
235
+ <span class="goal-projection" id="goalCharsProjection">-</span>
236
+ </div>
237
+ </div>
238
+
239
+ <!-- Games Goal -->
240
+ <div class="goal-progress-item">
241
+ <div class="goal-progress-header">
242
+ <div class="goal-progress-label">
243
+ <span class="goal-icon">🎮</span>
244
+ Games
245
+ </div>
246
+ <div class="goal-progress-values">
247
+ <span class="goal-current" id="goalGamesCurrent">-</span>
248
+ <span class="goal-separator">/</span>
249
+ <span class="goal-target" id="goalGamesTarget">-</span>
250
+ </div>
251
+ </div>
252
+ <div class="goal-progress-bar">
253
+ <div class="goal-progress-fill" id="goalGamesProgress" data-percentage="0"></div>
254
+ </div>
255
+ <div class="goal-progress-info">
256
+ <span class="goal-percentage" id="goalGamesPercentage">0%</span>
257
+ <span class="goal-projection" id="goalGamesProjection">-</span>
258
+ </div>
259
+ </div>
260
+ </div>
261
+
262
+ <!-- Loading/Error states -->
263
+ <div class="goal-progress-loading" id="goalProgressLoading" style="display: none;">
264
+ <div class="spinner"></div>
265
+ <span>Loading goal progress...</span>
266
+ </div>
267
+
268
+ <div class="goal-progress-error" id="goalProgressError" style="display: none;">
269
+ <div class="goal-progress-error-icon">⚠️</div>
270
+ <div class="goal-progress-error-message">Failed to load goal progress</div>
271
+ <button class="retry-btn" onclick="loadGoalProgress()">Retry</button>
272
+ </div>
273
+ </div>
274
+
184
275
  <div class="chart-container">
185
- <h2>Reading Activity Heatmap</h2>
276
+ <h2>Activity Heatmap</h2>
186
277
  <div id="heatmapContainer"></div>
187
278
  </div>
188
279
 
@@ -251,13 +342,11 @@
251
342
  type="number"
252
343
  id="afkTimer"
253
344
  name="afk_timer_seconds"
254
- min="30"
255
- max="600"
256
- style="width: 100%; padding: 10px; border: 1px solid var(--border-color); border-radius: 5px; background: var(--bg-tertiary); color: var(--text-primary); font-size: 14px;"
345
+ style="width: 90%; padding: 10px; border: 1px solid var(--border-color); border-radius: 5px; background: var(--bg-tertiary); color: var(--text-primary); font-size: 14px;"
257
346
  placeholder="120"
258
347
  >
259
348
  <small style="color: var(--text-tertiary); font-size: 12px; margin-top: 4px; display: block;">
260
- Maximum time between activities that still counts as active reading (30-600 seconds)
349
+ Maximum time between activities that still counts as active reading
261
350
  </small>
262
351
  </div>
263
352
 
@@ -269,13 +358,11 @@
269
358
  type="number"
270
359
  id="sessionGap"
271
360
  name="session_gap_seconds"
272
- min="300"
273
- max="7200"
274
- style="width: 100%; padding: 10px; border: 1px solid var(--border-color); border-radius: 5px; background: var(--bg-tertiary); color: var(--text-primary); font-size: 14px;"
361
+ style="width: 90%; padding: 10px; border: 1px solid var(--border-color); border-radius: 5px; background: var(--bg-tertiary); color: var(--text-primary); font-size: 14px;"
275
362
  placeholder="3600"
276
363
  >
277
364
  <small style="color: var(--text-tertiary); font-size: 12px; margin-top: 4px; display: block;">
278
- Time gap that triggers a new reading session (5 minutes to 2 hours)
365
+ Time gap that triggers a new reading session
279
366
  </small>
280
367
  </div>
281
368
 
@@ -306,7 +393,7 @@
306
393
  min="0.01"
307
394
  max="24"
308
395
  step="0.01"
309
- style="width: 100%; padding: 10px; border: 1px solid var(--border-color); border-radius: 5px; background: var(--bg-tertiary); color: var(--text-primary); font-size: 14px;"
396
+ style="width: 90%; padding: 10px; border: 1px solid var(--border-color); border-radius: 5px; background: var(--bg-tertiary); color: var(--text-primary); font-size: 14px;"
310
397
  placeholder="1.0"
311
398
  >
312
399
  <small style="color: var(--text-tertiary); font-size: 12px; margin-top: 4px; display: block;">
@@ -314,6 +401,70 @@
314
401
  </small>
315
402
  </div>
316
403
 
404
+ <!-- Reading Goals Section -->
405
+ <div style="margin-bottom: 20px; padding-top: 20px; border-top: 1px solid var(--border-color);">
406
+ <label style="display: block; font-weight: 600; margin-bottom: 8px; color: var(--text-primary);">
407
+ Reading Goals Configuration
408
+ </label>
409
+ <p style="color: var(--text-secondary); margin-bottom: 20px; font-size: 14px;">
410
+ Set your long-term reading targets for tracking progress and projections.
411
+ </p>
412
+
413
+ <div style="margin-bottom: 15px;">
414
+ <label for="readingHoursTarget" style="display: block; font-weight: 600; margin-bottom: 8px; color: var(--text-primary);">
415
+ Reading Hours Target
416
+ </label>
417
+ <input
418
+ type="number"
419
+ id="readingHoursTarget"
420
+ name="reading_hours_target"
421
+ min="1"
422
+ max="10000"
423
+ style="width: 90%; padding: 10px; border: 1px solid var(--border-color); border-radius: 5px; background: var(--bg-tertiary); color: var(--text-primary); font-size: 14px;"
424
+ placeholder="1500"
425
+ >
426
+ <small style="color: var(--text-tertiary); font-size: 12px; margin-top: 4px; display: block;">
427
+ Total reading hours goal (1-10,000 hours) - Default: 1500 hours based on TMW N1 achievement
428
+ </small>
429
+ </div>
430
+
431
+ <div style="margin-bottom: 15px;">
432
+ <label for="characterCountTarget" style="display: block; font-weight: 600; margin-bottom: 8px; color: var(--text-primary);">
433
+ Character Count Target
434
+ </label>
435
+ <input
436
+ type="number"
437
+ id="characterCountTarget"
438
+ name="character_count_target"
439
+ min="1000"
440
+ max="1000000000"
441
+ style="width: 90%; padding: 10px; border: 1px solid var(--border-color); border-radius: 5px; background: var(--bg-tertiary); color: var(--text-primary); font-size: 14px;"
442
+ placeholder="25000000"
443
+ >
444
+ <small style="color: var(--text-tertiary); font-size: 12px; margin-top: 4px; display: block;">
445
+ Total characters read goal (1,000-1,000,000,000) - Default: 25 million characters
446
+ </small>
447
+ </div>
448
+
449
+ <div style="margin-bottom: 15px;">
450
+ <label for="gamesTarget" style="display: block; font-weight: 600; margin-bottom: 8px; color: var(--text-primary);">
451
+ Games/Visual Novels Target
452
+ </label>
453
+ <input
454
+ type="number"
455
+ id="gamesTarget"
456
+ name="games_target"
457
+ min="1"
458
+ max="1000"
459
+ style="width: 90%; padding: 10px; border: 1px solid var(--border-color); border-radius: 5px; background: var(--bg-tertiary); color: var(--text-primary); font-size: 14px;"
460
+ placeholder="100"
461
+ >
462
+ <small style="color: var(--text-tertiary); font-size: 12px; margin-top: 4px; display: block;">
463
+ Number of games/visual novels to complete (1-1,000) - Default: 100 based on Refold standards
464
+ </small>
465
+ </div>
466
+ </div>
467
+
317
468
  <!-- Import ExStatic Lines Section -->
318
469
  <div style="margin-bottom: 20px; padding-top: 20px; border-top: 1px solid var(--border-color);">
319
470
  <label style="display: block; font-weight: 600; margin-bottom: 8px; color: var(--text-primary);">
@@ -324,7 +475,7 @@
324
475
  type="file"
325
476
  id="exstaticFile"
326
477
  accept=".csv"
327
- style="width: 100%; padding: 10px; border: 1px solid var(--border-color); border-radius: 5px; background: var(--bg-tertiary); color: var(--text-primary); font-size: 14px;"
478
+ style="width: 90%; padding: 10px; border: 1px solid var(--border-color); border-radius: 5px; background: var(--bg-tertiary); color: var(--text-primary); font-size: 14px;"
328
479
  >
329
480
  <small style="color: var(--text-tertiary); font-size: 12px; margin-top: 4px; display: block;">
330
481
  Select an ExStatic CSV file to import reading data into GSM
@@ -333,7 +484,7 @@
333
484
  <button
334
485
  type="button"
335
486
  id="importExstaticBtn"
336
- style="width: 100%; padding: 10px; background: #666; color: white; border: none; border-radius: 5px; font-size: 14px; cursor: not-allowed; margin-bottom: 10px;"
487
+ style="width: 90%; padding: 10px; background: #666; color: white; border: none; border-radius: 5px; font-size: 14px; cursor: not-allowed; margin-bottom: 10px;"
337
488
  disabled
338
489
  >
339
490
  Import ExStatic Lines
@@ -27,7 +27,7 @@ from GameSentenceMiner.web.stats import (
27
27
  calculate_actual_reading_time, calculate_daily_reading_time, calculate_time_based_streak,
28
28
  format_time_human_readable, calculate_current_game_stats, calculate_all_games_stats
29
29
  )
30
- from GameSentenceMiner.web.websockets import (
30
+ from GameSentenceMiner.web.gsm_websocket import (
31
31
  WebsocketServerThread, websocket_queue, paused, websocket_server_thread,
32
32
  plaintext_websocket_server_thread, overlay_server_thread, websocket_server_threads,
33
33
  handle_exit_signal
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: GameSentenceMiner
3
- Version: 2.16.5
3
+ Version: 2.16.7
4
4
  Summary: A tool for mining sentences from games. Update: Overlay?
5
5
  Author-email: Beangate <bpwhelan95@gmail.com>
6
6
  License: MIT License
@@ -1,6 +1,6 @@
1
1
  GameSentenceMiner/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- GameSentenceMiner/anki.py,sha256=rm9JuRP-1Eba2wcVQ2PZUMB5P9UMEZ99Fh371K0Qfhk,26319
3
- GameSentenceMiner/config_gui.py,sha256=HKg4aEhLMdfVaOAlof3kroklrIOD3rGQKUqgzMVD_0c,141888
2
+ GameSentenceMiner/anki.py,sha256=Qq03nxYCA0bXS8IR1vnEB9cv2vxo6Ruy-UuiojC4ad0,26518
3
+ GameSentenceMiner/config_gui.py,sha256=GnRlD07wGL6aQOWUxo3frki5GzLuu3yQssmNP2hYaNg,142530
4
4
  GameSentenceMiner/gametext.py,sha256=fgBgLchezpauWELE9Y5G3kVCLfAneD0X4lJFoI3FYbs,10351
5
5
  GameSentenceMiner/gsm.py,sha256=CcXGZI8K7cYB9FJfCRaOujlWDk08sQGQXhTiMewMhFg,31889
6
6
  GameSentenceMiner/obs.py,sha256=EyAYhaLvMjoeC-3j7fuvkqZN5logFFanPfb8Wn1C6m0,27296
@@ -15,9 +15,9 @@ GameSentenceMiner/assets/icon32.png,sha256=Kww0hU_qke9_22wBuO_Nq0Dv2SfnOLwMhCyGg
15
15
  GameSentenceMiner/assets/icon512.png,sha256=HxUj2GHjyQsk8NV433256UxU9phPhtjCY-YB_7W4sqs,192487
16
16
  GameSentenceMiner/assets/icon64.png,sha256=N8xgdZXvhqVQP9QUK3wX5iqxX9LxHljD7c-Bmgim6tM,9301
17
17
  GameSentenceMiner/assets/pickaxe.png,sha256=VfIGyXyIZdzEnVcc4PmG3wszPMO1W4KCT7Q_nFK6eSE,1403829
18
- GameSentenceMiner/locales/en_us.json,sha256=Wc2sOs5JoWB3_oqA5yVmvslPa60Ud-lpGm5g4Mkp8QE,26969
19
- GameSentenceMiner/locales/ja_jp.json,sha256=q923lIhVrofKM9ff1puwagGLvIGoV6LRvD_smoAnZn8,28809
20
- GameSentenceMiner/locales/zh_cn.json,sha256=8f94Jy66ox7XCLYIbdbBjLSBgSBA3fV3a1meTxutCOw,25062
18
+ GameSentenceMiner/locales/en_us.json,sha256=VZ2RblOdRLUaTyofcJtc-urmW88vFL1G7DMG7wKbw9k,27184
19
+ GameSentenceMiner/locales/ja_jp.json,sha256=X00lVjbxEhH3NVBxFMqqWMMh388DDGUvDECXGyf8T0k,29014
20
+ GameSentenceMiner/locales/zh_cn.json,sha256=EYbNwLffCyrBw9AEiIObo6mZw9G_nsEkRDiN1QrFhoc,25259
21
21
  GameSentenceMiner/ocr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
22
  GameSentenceMiner/ocr/gsm_ocr_config.py,sha256=Ov04c-nKzh3sADxO-5JyZWVe4DlrHM9edM9tc7-97Jo,5970
23
23
  GameSentenceMiner/ocr/ocrconfig.py,sha256=_tY8mjnzHMJrLS8E5pHqYXZjMuLoGKYgJwdhYgN-ny4,6466
@@ -37,7 +37,7 @@ GameSentenceMiner/tools/furigana_filter_preview.py,sha256=BXv7FChPEJW_VeG5XYt6su
37
37
  GameSentenceMiner/tools/ss_selector.py,sha256=cbjMxiKOCuOfbRvLR_PCRlykBrGtm1LXd6u5czPqkmc,4793
38
38
  GameSentenceMiner/tools/window_transparency.py,sha256=GtbxbmZg0-UYPXhfHff-7IKZyY2DKe4B9GdyovfmpeM,8166
39
39
  GameSentenceMiner/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
40
- GameSentenceMiner/util/configuration.py,sha256=XANq-FJ_9tNFQSQvozHnn7fGnRiiKH82_aPHwyUfd8g,40528
40
+ GameSentenceMiner/util/configuration.py,sha256=-1I7fn-IWEb2SKyJzL5-9Ydgawt4msrb-Tr90DZbiT0,42247
41
41
  GameSentenceMiner/util/db.py,sha256=p_oRoj7p_vRlZq1srtZUxpHPlaJcWOhNLC7z9Dclo7A,18052
42
42
  GameSentenceMiner/util/electron_config.py,sha256=KfeJToeFFVw0IR5MKa-gBzpzaGrU-lyJbR9z-sDEHYU,8767
43
43
  GameSentenceMiner/util/ffmpeg.py,sha256=FEGr2eD_dR9HDMJW9s8KQ1nY1TSrp0ExhM5Yh98gDQ0,28784
@@ -56,12 +56,12 @@ GameSentenceMiner/util/downloader/oneocr_dl.py,sha256=l3s9Z-x1b57GX048o5h-MVv0UT
56
56
  GameSentenceMiner/util/win10toast/__init__.py,sha256=6TL2w6rzNmpJEp6_v2cAJP_7ExA3UsKzwdM08pNcVfE,5341
57
57
  GameSentenceMiner/util/win10toast/__main__.py,sha256=5MYnBcFj8y_6Dyc1kiPd0_FsUuh4yl1cv5wsleU6V4w,668
58
58
  GameSentenceMiner/web/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
59
- GameSentenceMiner/web/database_api.py,sha256=kIFD1vQ-j1RWRn_I1WtVsSJIa0hm5a7otPrtA1C1qZ0,44000
59
+ GameSentenceMiner/web/database_api.py,sha256=yz06Y3DZGGsfeMQzCOUalTqj-expK_hMr6oZhplOUeM,50937
60
60
  GameSentenceMiner/web/events.py,sha256=6Vyz5c9MdpMIa7Zqljqhap2XFQnAVYJ0CdQV64TSZsA,5119
61
+ GameSentenceMiner/web/gsm_websocket.py,sha256=IwwQo6VtgPqeOuc-datgfJyLpX3LwB2MISDqA6EkiSA,4131
61
62
  GameSentenceMiner/web/service.py,sha256=YZchmScTn7AX_GkwV1ULEK6qjdOnJcpc3qfMwDf7cUE,5363
62
- GameSentenceMiner/web/stats.py,sha256=daSSxWlumAyqVVtX10qHESF-tZYwCcFMp8qZA5AE0nI,22066
63
- GameSentenceMiner/web/texthooking_page.py,sha256=BaYteQHNRvXgxjRUdHVf5Bt8pdPULEThmU4c0yn9fOU,13228
64
- GameSentenceMiner/web/websockets.py,sha256=IwwQo6VtgPqeOuc-datgfJyLpX3LwB2MISDqA6EkiSA,4131
63
+ GameSentenceMiner/web/stats.py,sha256=VM4PwQRVjuwDcFAz08_7yWC0T7fGAfmVUDuxYuyiswA,22078
64
+ GameSentenceMiner/web/texthooking_page.py,sha256=gB2i3X7DQ9kEML6ak4PFSKMi6zd6nPEa_ob-XG4guBo,13231
65
65
  GameSentenceMiner/web/static/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
66
66
  GameSentenceMiner/web/static/apple-touch-icon.png,sha256=OcMI8af_68DA_tweOsQ5LytTyMwm7-hPW07IfrOVgEs,46132
67
67
  GameSentenceMiner/web/static/favicon-96x96.png,sha256=lOePzjiKl1JY2J1kT_PMdyEnrlJmi5GWbmXJunM12B4,16502
@@ -74,25 +74,25 @@ GameSentenceMiner/web/static/web-app-manifest-512x512.png,sha256=wyqgCWCrLEUxSRX
74
74
  GameSentenceMiner/web/static/css/kanji-grid.css,sha256=FjgoZW77Uy8mTM6lHGO85tjzoNhkAS6cdXzLDcLLMh8,2449
75
75
  GameSentenceMiner/web/static/css/search.css,sha256=x06xsErfThUpE1NAG4CA2sCPSZ-ofNWEI_ekV2Ok5hY,253
76
76
  GameSentenceMiner/web/static/css/shared.css,sha256=66kQvgoyBhw3AFNUpGhTJDRvb7T3b7hO63lMealCqnk,17198
77
- GameSentenceMiner/web/static/css/stats.css,sha256=UEaRk8k2LrhiMIfuwwFwx26txzRV1w76pOhT-4WoREM,9558
77
+ GameSentenceMiner/web/static/css/stats.css,sha256=Ybjm_XzEqo0A0tnQtdPvGgdfz9o8Gy2ghJSKzQ2a0TQ,14418
78
78
  GameSentenceMiner/web/static/js/anki_stats.js,sha256=wZfr9vXGF--OTXOszjB3XX1pI2RrMBxGHoGwGvJ20xg,3171
79
79
  GameSentenceMiner/web/static/js/database.js,sha256=-SjMmhXzU8a3QNGrwGtJCu55ZXXfkBxlYSkySEBdclU,22097
80
80
  GameSentenceMiner/web/static/js/kanji-grid.js,sha256=rUa8_TGFm4Z8CtURoAlZjCN032PLe0YmHvN52S4_sE0,7181
81
- GameSentenceMiner/web/static/js/search.js,sha256=nXvHZelCQQlTWJwaF_j3RnU5v_JFVIDQSEtnauDy8lg,9484
82
- GameSentenceMiner/web/static/js/shared.js,sha256=HdQWRToX9U09h0x35K00RrHFw6mBkCPRf7JoLwN0l0c,18410
83
- GameSentenceMiner/web/static/js/stats.js,sha256=EOyM6ZyTQu1IubBQwjnB4mE9vVH7LJwsiUl5Q6LiRCo,66673
81
+ GameSentenceMiner/web/static/js/search.js,sha256=WG6gUOhK7ajMvqqpwYOrPAnpWw7-EhkJWYPsA5fimUE,10405
82
+ GameSentenceMiner/web/static/js/shared.js,sha256=UL7wDJ5FsqeIspkCcC4s_jOv6a93I2gxFi57gQT8Bn0,21001
83
+ GameSentenceMiner/web/static/js/stats.js,sha256=zwrddDtrmHABxrqpGz9Y-FBUCnMMI6z1wcE8o85yCCM,81640
84
84
  GameSentenceMiner/web/templates/anki_stats.html,sha256=FdIMl-kY0-3as9Wn0i-wKIIkl1xXn4nWMbWPypN_1T0,10955
85
85
  GameSentenceMiner/web/templates/database.html,sha256=Gd54rgZmfcV7ufoJ69COeMncs5Q5u-rSJcsIvROVCEo,13732
86
86
  GameSentenceMiner/web/templates/index.html,sha256=7ChQ1j602MOiYU95wXAKP_Ezsh_JgdlGz2uXIzS2j0g,227894
87
- GameSentenceMiner/web/templates/search.html,sha256=OGfzhNc4QP_kmJdCnEnLm5pzgW6XKERoin0oQZxvg5s,3851
88
- GameSentenceMiner/web/templates/stats.html,sha256=sV1nea99Z6oo5ZtVChqAo3dttoU38FaUEpW9SXEv-Bs,19395
87
+ GameSentenceMiner/web/templates/search.html,sha256=nao3M_hAbm5ftzThi91NtQ3ZiINMPUNx4ngFmqLnLQ4,4060
88
+ GameSentenceMiner/web/templates/stats.html,sha256=1dS31wP6aAvsX3Ygz0luFrUDzACP7LD0-bIWYfg_NXQ,27783
89
89
  GameSentenceMiner/web/templates/utility.html,sha256=KtqnZUMAYs5XsEdC9Tlsd40NKAVic0mu6sh-ReMDJpU,16940
90
90
  GameSentenceMiner/web/templates/components/navigation.html,sha256=6y9PvM3nh8LY6JWrZb6zVOm0vqkBLDc6d3gB9X5lT_w,1055
91
91
  GameSentenceMiner/web/templates/components/theme-styles.html,sha256=hiq3zdJljpRjQO1iUA7gfFKwXebltG-IWW-gnKS4GHA,3439
92
92
  GameSentenceMiner/wip/__init___.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
93
- gamesentenceminer-2.16.5.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
94
- gamesentenceminer-2.16.5.dist-info/METADATA,sha256=Te2pmeBZqnpGZOgpv0QpodKkLpyxN3tFrU7RS75MTJg,7348
95
- gamesentenceminer-2.16.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
96
- gamesentenceminer-2.16.5.dist-info/entry_points.txt,sha256=2APEP25DbfjSxGeHtwBstMH8mulVhLkqF_b9bqzU6vQ,65
97
- gamesentenceminer-2.16.5.dist-info/top_level.txt,sha256=V1hUY6xVSyUEohb0uDoN4UIE6rUZ_JYx8yMyPGX4PgQ,18
98
- gamesentenceminer-2.16.5.dist-info/RECORD,,
93
+ gamesentenceminer-2.16.7.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
94
+ gamesentenceminer-2.16.7.dist-info/METADATA,sha256=YVoiDIvmBYF-EZikzbgl-84q2Q2hD-GZeCvBMvb4iWs,7348
95
+ gamesentenceminer-2.16.7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
96
+ gamesentenceminer-2.16.7.dist-info/entry_points.txt,sha256=2APEP25DbfjSxGeHtwBstMH8mulVhLkqF_b9bqzU6vQ,65
97
+ gamesentenceminer-2.16.7.dist-info/top_level.txt,sha256=V1hUY6xVSyUEohb0uDoN4UIE6rUZ_JYx8yMyPGX4PgQ,18
98
+ gamesentenceminer-2.16.7.dist-info/RECORD,,