# Technical Kotlin literals explicitly excluded from translation.
# schema-version: 1
# Format: <count>\t<category>\t<relative path>\t<content with \t/\n escaped>
# category empty: Empty literal; no user-visible text.
# category assertion: Reviewed developer-only assertion text.
# category log: Developer diagnostic or log tag.
# category regex: Regular-expression syntax.
# category sql: Database query or schema syntax.
# category json: JSON field or protocol key.
# category uri: URI parameter or addressing key.
# category preference-key: Stable persisted preference key.
# category file-path: Filesystem path or segment.
# category room-schema: Room table, index, or column identifier.
# category compiler: Compiler or lint directive.
# category performance: Developer performance marker.
# category locale: Locale or Android resource identifier.
# category mime: MIME protocol value.
# category url: URL or URI address.
# category protocol: Stable protocol or comparison identifier.
# category technical: Reviewed non-user-facing technical literal.

2	empty	core/src/main/java/tv/own/owntv/core/CoreBuildInfo.kt	\0
2	file-path	core/src/main/java/tv/own/owntv/core/backup/BackupContainer.kt	..
1	technical	core/src/main/java/tv/own/owntv/core/backup/BackupContainer.kt	Corrupt backup header
2	technical	core/src/main/java/tv/own/owntv/core/backup/BackupContainer.kt	Not an OwnTV backup file
1	technical	core/src/main/java/tv/own/owntv/core/backup/BackupContainer.kt	OWNTVBK1
1	technical	core/src/main/java/tv/own/owntv/core/backup/BackupContainer.kt	Truncated backup file
1	technical	core/src/main/java/tv/own/owntv/core/backup/BackupContainer.kt	backup.json
1	technical	core/src/main/java/tv/own/owntv/core/backup/BackupContainer.kt	container-aes-gcm
1	technical	core/src/main/java/tv/own/owntv/core/backup/BackupContainer.kt	scheme
1	file-path	core/src/main/java/tv/own/owntv/core/backup/BackupContainer.kt	subtitles/
1	technical	core/src/main/java/tv/own/owntv/core/backup/BackupContainer.kt	wallpaper/
1	technical	core/src/main/java/tv/own/owntv/core/backup/BackupCrypto.kt	AES
4	technical	core/src/main/java/tv/own/owntv/core/backup/BackupCrypto.kt	AES/GCM/NoPadding
1	technical	core/src/main/java/tv/own/owntv/core/backup/BackupCrypto.kt	PBKDF2WithHmacSHA256
1	technical	core/src/main/java/tv/own/owntv/core/backup/BackupCrypto.kt	Truncated encrypted backup
3	json	core/src/main/java/tv/own/owntv/core/backup/BackupCrypto.kt	ct
1	technical	core/src/main/java/tv/own/owntv/core/backup/BackupCrypto.kt	field-aes-gcm
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupCrypto.kt	iterations
3	json	core/src/main/java/tv/own/owntv/core/backup/BackupCrypto.kt	iv
1	json	core/src/main/java/tv/own/owntv/core/backup/BackupCrypto.kt	kdf
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupCrypto.kt	salt
1	json	core/src/main/java/tv/own/owntv/core/backup/BackupCrypto.kt	scheme
2	empty	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	\0
1	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	$LOCAL_SUB_PREFIX$mapped
1	technical	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	$base|${normalizeMacForMatch(mac)}
1	technical	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	$mapped:${k.substringAfter(':')}
1	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	$mapped:${key.substringAfter(':')}
1	technical	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	$type|${url.trim()}|${username.orEmpty()}
1	technical	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	${file.name} · ${sections.joinToString(", ") { it.name }}
1	file-path	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	${file.name}$BAK_SUFFIX
1	technical	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	${parts[0]}:$it:${parts[2]}
1	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	${parts[0]}:$mapped:${parts[2]}
1	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	${row.id}_${File(row.fileName).name}
1	file-path	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	${target.name}$BAK_SUFFIX
1	file-path	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	${target.name}$TMP_SUFFIX
2	technical	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	,
1	technical	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	.bak
1	technical	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	.tmp
1	log	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	BackupManager
1	protocol	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	LOCAL
1	protocol	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	MOVIE
1	log	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	Restore done items=$count skippedSources=$skippedSources invalidLocale=$invalidLocale
1	log	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	Restore start file=${file.name} sections=${sections.joinToString(",") { it.name }}
1	log	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	Restore: skipping source '${o.optString("name")}' — unknown type '${o.optString("type")}'
1	log	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	Wallpaper restore failed: ${it.message}
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	a
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	activeProfileId
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	avatarColor
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	avatarId
1	file-path	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	background_${System.currentTimeMillis()}.$ext
1	technical	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	backup_finalize_failed
1	technical	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	backup_invalid
5	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	c
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	cache
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	compatMode
4	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	createdAt
3	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	crypto
3	technical	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	cust_
1	technical	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	cust_${pid}_${body.substringAfter('_')}
4	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	customizations
4	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	customizePins
3	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	defaultSourceId
1	log	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	encrypted=${crypto != null} key=${key != null} profiles=${fileProfiles.length()} sources=${fileSources.length()}
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	epgAutoRefresh
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	epgSources
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	epgUrl
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	epgUseLogos
3	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	fav
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	file
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	fileName
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	format
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	hearingImpaired
3	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	hideNewCategories
3	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	his
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	hlsSupported
3	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	homeConfigs
6	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	id
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	isKids
1	technical	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	json
6	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	k
4	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	kind
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	language
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	languageName
3	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	lastSyncAt
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	lastUsedAt
4	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	links
3	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	liveEnginePreference
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	liveExoUrls
3	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	liveLatencyCustomSecs
3	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	liveLatencyMode
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	liveMpvUrls
3	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	livePrerollSecs
1	protocol	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	local:
4	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	mac
3	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	member
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	n
6	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	name
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	o
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	off
3	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	openSubFileId
3	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	openSubtitles
3	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	order
1	technical	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	own
1	technical	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	owntv-backup.json
1	technical	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	owntv-backup.own
13	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	p
4	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	password
4	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	pinHash
1	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	pinLocked
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	playbackPrefs
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	playlistAutoRefresh
1	technical	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	png
3	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	preferHls
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	profileId
5	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	profiles
3	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	prog
4	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	proxy_pass_enc
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	releaseName
1	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	restored_${System.currentTimeMillis()}_${File(fileName).name}
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	s
1	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	sections
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	selections
3	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	session
7	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	settings
3	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	sort
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	source
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	sourceId
7	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	sources
6	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	src
4	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	stalkerDeviceId
4	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	stalkerDeviceId2
4	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	stalkerSerialNumber
4	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	stalkerSignature
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	startupChannels
3	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	startupModes
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	subtitles
4	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	syncLive
4	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	syncMovies
4	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	syncSeries
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	t
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	timings
3	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	tmdbOverrides
4	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	tmdb_key_enc
3	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	tombstones
3	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	type
4	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	u
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	url
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	userAgent
4	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	userData
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	username
3	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	v
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	version
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	vodExoUrls
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	vodMpvUrls
1	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	wallpaper
2	json	core/src/main/java/tv/own/owntv/core/backup/BackupManager.kt	z
9	json	core/src/main/java/tv/own/owntv/core/backup/UserDataResolver.kt	at
12	json	core/src/main/java/tv/own/owntv/core/backup/UserDataResolver.kt	ctx
3	json	core/src/main/java/tv/own/owntv/core/backup/UserDataResolver.kt	dur
3	json	core/src/main/java/tv/own/owntv/core/backup/UserDataResolver.kt	edesc
1	json	core/src/main/java/tv/own/owntv/core/backup/UserDataResolver.kt	entries
6	json	core/src/main/java/tv/own/owntv/core/backup/UserDataResolver.kt	ep
12	json	core/src/main/java/tv/own/owntv/core/backup/UserDataResolver.kt	fav
12	json	core/src/main/java/tv/own/owntv/core/backup/UserDataResolver.kt	his
16	json	core/src/main/java/tv/own/owntv/core/backup/UserDataResolver.kt	kind
12	json	core/src/main/java/tv/own/owntv/core/backup/UserDataResolver.kt	member
12	json	core/src/main/java/tv/own/owntv/core/backup/UserDataResolver.kt	name
6	json	core/src/main/java/tv/own/owntv/core/backup/UserDataResolver.kt	oid
9	json	core/src/main/java/tv/own/owntv/core/backup/UserDataResolver.kt	order
1	json	core/src/main/java/tv/own/owntv/core/backup/UserDataResolver.kt	owntv_pending_userdata
14	json	core/src/main/java/tv/own/owntv/core/backup/UserDataResolver.kt	p
9	json	core/src/main/java/tv/own/owntv/core/backup/UserDataResolver.kt	pos
13	json	core/src/main/java/tv/own/owntv/core/backup/UserDataResolver.kt	prog
12	json	core/src/main/java/tv/own/owntv/core/backup/UserDataResolver.kt	rid
3	json	core/src/main/java/tv/own/owntv/core/backup/UserDataResolver.kt	sdesc
6	json	core/src/main/java/tv/own/owntv/core/backup/UserDataResolver.kt	season
5	json	core/src/main/java/tv/own/owntv/core/backup/UserDataResolver.kt	sname
9	json	core/src/main/java/tv/own/owntv/core/backup/UserDataResolver.kt	sort
12	json	core/src/main/java/tv/own/owntv/core/backup/UserDataResolver.kt	src
5	json	core/src/main/java/tv/own/owntv/core/backup/UserDataResolver.kt	srid
16	json	core/src/main/java/tv/own/owntv/core/backup/UserDataResolver.kt	t
1	json	core/src/main/java/tv/own/owntv/core/backup/UserDataWriter.kt	fav
4	json	core/src/main/java/tv/own/owntv/core/backup/UserDataWriter.kt	his
1	json	core/src/main/java/tv/own/owntv/core/backup/UserDataWriter.kt	member
3	json	core/src/main/java/tv/own/owntv/core/backup/UserDataWriter.kt	prog
7	empty	core/src/main/java/tv/own/owntv/core/catalog/ProviderCatalogMetadata.kt	\0
1	regex	core/src/main/java/tv/own/owntv/core/catalog/ProviderCatalogMetadata.kt	(?i)(?:\\b5[._ ]1\\b|\\bDDP?\\s*5[._ ]1\\b|\\bAC-?3\\s*5[._ ]1\\b)
1	regex	core/src/main/java/tv/own/owntv/core/catalog/ProviderCatalogMetadata.kt	(?i)(?:\\b7[._ ]1\\b|\\bDDP?\\s*7[._ ]1\\b)
1	regex	core/src/main/java/tv/own/owntv/core/catalog/ProviderCatalogMetadata.kt	(?i)[|\\[({]\\s*($LANGUAGE_CODES)\\s*[|\\])}]
1	regex	core/src/main/java/tv/own/owntv/core/catalog/ProviderCatalogMetadata.kt	(?i)\\b(?:(?:DOLBY\\s*)?ATMOS|DDP?\\s*[57][._ ]1|AC-?3\\s*5[._ ]1|[257][._ ]0|[57][._ ]1)\\b
1	regex	core/src/main/java/tv/own/owntv/core/catalog/ProviderCatalogMetadata.kt	(?i)\\b(?:4K|UHD|2160P|3840P)\\b
1	regex	core/src/main/java/tv/own/owntv/core/catalog/ProviderCatalogMetadata.kt	(?i)\\b(?:8K|4K|UHD|2160P|3840P|FHD|1080P|HD|720P|SD)\\b
1	regex	core/src/main/java/tv/own/owntv/core/catalog/ProviderCatalogMetadata.kt	(?i)\\b(?:DOLBY\\s*)?ATMOS\\b
1	regex	core/src/main/java/tv/own/owntv/core/catalog/ProviderCatalogMetadata.kt	(?i)\\b(?:DOLBY\\s*VISION|DOVI|DV)\\b
1	regex	core/src/main/java/tv/own/owntv/core/catalog/ProviderCatalogMetadata.kt	(?i)\\b(?:DOLBY\\s*VISION|DOVI|DV|HDR10\\+?|HDR)\\b
1	regex	core/src/main/java/tv/own/owntv/core/catalog/ProviderCatalogMetadata.kt	(?i)\\b(?:FHD|1080P)\\b
1	regex	core/src/main/java/tv/own/owntv/core/catalog/ProviderCatalogMetadata.kt	(?i)\\b(?:HD|720P)\\b
1	regex	core/src/main/java/tv/own/owntv/core/catalog/ProviderCatalogMetadata.kt	(?i)\\b2[._ ]0\\b
1	regex	core/src/main/java/tv/own/owntv/core/catalog/ProviderCatalogMetadata.kt	(?i)\\b8K\\b
1	regex	core/src/main/java/tv/own/owntv/core/catalog/ProviderCatalogMetadata.kt	(?i)\\bHDR10\\+(?!\\w)
1	regex	core/src/main/java/tv/own/owntv/core/catalog/ProviderCatalogMetadata.kt	(?i)\\bHDR10\\b
1	regex	core/src/main/java/tv/own/owntv/core/catalog/ProviderCatalogMetadata.kt	(?i)\\bHDR\\b
1	regex	core/src/main/java/tv/own/owntv/core/catalog/ProviderCatalogMetadata.kt	(?i)\\bSD\\b
1	regex	core/src/main/java/tv/own/owntv/core/catalog/ProviderCatalogMetadata.kt	DE|EN|FR|ES|PT|AR|NL|PL|TR|RU|BG|ZH|HR|CS|DA|ET|FI|EL|HE|HI|HU|ID|JA|KO|LV|LT|MS|NO|FA|RO|SR|SK|SL|SV|TH|UK|VI
1	technical	core/src/main/java/tv/own/owntv/core/catalog/ProviderCatalogMetadata.kt	Dolby Atmos
1	technical	core/src/main/java/tv/own/owntv/core/catalog/ProviderCatalogMetadata.kt	Dolby Vision
1	technical	core/src/main/java/tv/own/owntv/core/catalog/ProviderCatalogMetadata.kt	HDR
1	technical	core/src/main/java/tv/own/owntv/core/catalog/ProviderCatalogMetadata.kt	HDR10
1	technical	core/src/main/java/tv/own/owntv/core/catalog/ProviderCatalogMetadata.kt	HDR10+
1	regex	core/src/main/java/tv/own/owntv/core/catalog/ProviderCatalogMetadata.kt	\\s($LANGUAGE_CODES)\\s*$
1	regex	core/src/main/java/tv/own/owntv/core/catalog/ProviderCatalogMetadata.kt	^\\s*($LANGUAGE_CODES)(?=\\s*[|:_-])
1	technical	core/src/main/java/tv/own/owntv/core/catalog/ProviderCatalogMetadata.kt	__unmatchable_${rawName.hashCode().toUInt().toString(16)}
1	technical	core/src/main/java/tv/own/owntv/core/catalog/ProviderCatalogMetadata.kt	•
6	empty	core/src/main/java/tv/own/owntv/core/companion/CompanionController.kt	\0
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionController.kt	(unnamed)
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionController.kt	.$extension
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionController.kt	.json
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionController.kt	.own
1	log	core/src/main/java/tv/own/owntv/core/companion/CompanionController.kt	Companion link locked out after repeated wrong PINs
1	log	core/src/main/java/tv/own/owntv/core/companion/CompanionController.kt	CompanionController
1	log	core/src/main/java/tv/own/owntv/core/companion/CompanionController.kt	Could not load Lora for companion web form; falling back to serif
1	log	core/src/main/java/tv/own/owntv/core/companion/CompanionController.kt	Failed to persist uploaded backup
1	log	core/src/main/java/tv/own/owntv/core/companion/CompanionController.kt	Failed to persist uploaded image
1	log	core/src/main/java/tv/own/owntv/core/companion/CompanionController.kt	Failed to start companion listener
1	log	core/src/main/java/tv/own/owntv/core/companion/CompanionController.kt	Received ${payload.type} payload '${payload.name.ifBlank { "(unnamed)" }}' — forwarding to UI
1	log	core/src/main/java/tv/own/owntv/core/companion/CompanionController.kt	Received remote background image (${bytes.size} bytes) → ${file.name}
1	log	core/src/main/java/tv/own/owntv/core/companion/CompanionController.kt	Received remote backup (${file.length()} bytes) → ${file.name}
1	compiler	core/src/main/java/tv/own/owntv/core/companion/CompanionController.kt	ResourceType
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionController.kt	base64,
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionController.kt	data:
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionController.kt	owntv-remote-bg
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionController.kt	owntv-remote-restore
1	file-path	core/src/main/java/tv/own/owntv/core/companion/CompanionController.kt	remote-backup-export
1	json	core/src/main/java/tv/own/owntv/core/companion/CompanionController.kt	{}
6	empty	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	\0
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	"
2	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	%1$d
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	&
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	&amp;
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	&gt;
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	&lt;
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	&quot;
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	.own,.json,application/json,application/octet-stream
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	/background
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	/backup
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	:root{ color-scheme: dark; --bg:#040E0B; --panel:#12191700; --card:#1B211F; --card-2:#252B29; --line:#3F4945; --text:#DEE4E1; --muted:#BFC9C4; --accent:#8CEE2B; --accent-ink:#123A06; --danger:#FFB4AB; } @font-face{ font-family:'Lora'; font-style:normal; font-weight:400 700; src:url('/lora.ttf') format('truetype'); font-display:swap; } *{box-sizing:border-box} body{ margin:0; color:var(--text); font-family:system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif; background: radial-gradient(1200px 520px at 12% -12%, rgba(140,238,43,0.10) 0%, transparent 60%), radial-gradient(900px 460px at 100% 0%, rgba(140,238,43,0.06) 0%, transparent 62%), var(--bg); min-height:100vh; } h1,h2,.brand{font-family:'Lora',Georgia,'Noto Sans',system-ui,sans-serif; font-weight:700; letter-spacing:.2px} main{max-width:760px; margin:0 auto; padding:28px 20px 56px} .brandrow{display:flex; align-items:center; gap:12px; margin-bottom:22px} .dot{width:34px; height:34px; border-radius:10px; background:#52DBC8; display:grid; place-items:center; color:#003730} .dot svg{width:18px; height:18px} .brand{font-size:20px; color:var(--text)} .card{background:var(--card); border:1px solid var(--line); border-radius:20px; padding:26px 22px; box-shadow:0 24px 60px rgba(0,0,0,.45)} h1{margin:0 0 8px; font-size:24px} p{line-height:1.55; color:var(--muted); margin:0 0 16px} form{display:grid; gap:14px} label{display:grid; gap:6px; font-size:14px; color:var(--text)} input,select{border:1px solid var(--line); border-radius:12px; padding:13px 14px; background:#0C1311; color:var(--text); font-size:16px; width:100%} input:focus,select:focus{outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(140,238,43,.20)} .grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px} .checks{display:grid; gap:10px; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:2px} .check{display:flex; align-items:center; gap:9px; color:var(--muted)} .check input{width:18px; height:18px} .tabs{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-bottom:18px} .tab{border:1px solid var(--line); border-radius:12px; padding:12px 10px; background:var(--card-2); color:var(--muted); font-weight:600; font-size:15px; cursor:pointer; font-family:inherit} .tab.active{border-color:var(--accent); background:#1E2E0C; color:#EAFFD0} .panel{display:none} .panel.active{display:grid; gap:14px} button.go{border:0; border-radius:12px; padding:15px 16px; background:var(--accent); color:var(--accent-ink); font-weight:700; font-size:16px; cursor:pointer; margin-top:4px} .pin{font-family:'Lora',Georgia,'Noto Sans',system-ui,sans-serif; font-size:34px; letter-spacing:12px; text-align:center; padding:16px; caret-color:var(--accent)} .err{color:var(--danger); font-size:14px; margin:0 0 12px} .hint{font-size:13px; color:var(--muted); margin-top:6px} a{color:var(--accent)} @media (max-width:640px){.grid,.checks,.tabs{grid-template-columns:1fr}}
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	<
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	<!doctype html><html lang="${lang.h()}" dir="$dir"><head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>${title.h()}</title><style>$CSS</style> </head><body><main> <div class="brandrow"><span class="dot">$LOGO_SVG</span><span class="brand">${c.app.h()}</span></div> $inner </main></body></html>
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	<div class="card"> <h1>${c.pinHeading.h()}</h1> <p>${c.pinDescription.h()}</p> ${if (error != null) "<p class=\\"err\\">${error.h()}</p>" else ""} <form method="post" action="/"> <input class="pin" name="pin" inputmode="numeric" pattern="[0-9]*" maxlength="6" autofocus placeholder="${c.pinPlaceholder.h()}" aria-label="${c.pinAria.h()}" required> <button class="go" type="submit">${c.continueLabel.h()}</button> </form> </div>
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	<div class="card"> <h1>${c.savedHeading.h()}</h1> <p>${body.h()}</p> <p><a href="/?pin=$pin">${c.savedSendAnother.h()}</a></p> </div>
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	<div class="card"> <h1>${heading.h()}</h1> <p>${description.h()}</p> <form id="f" onsubmit="return false"> <label>${fileLabel.h()} <input id="file" type="file" accept="$accept" required></label> <button class="go" id="send" type="submit">${c.sendToTv.h()}</button> </form> <p id="status" class="hint"></p> </div> <script> var f=document.getElementById('file'), b=document.getElementById('send'), s=document.getElementById('status'); document.getElementById('f').addEventListener('submit',function(){ var file=f.files&&f.files[0]; if(!file){s.textContent=${choose.js()};return false;} ${if (!backup) "if(file.size>25*1024*1024){s.textContent=${c.imageTooLarge.js()};return false;}" else ""} b.disabled=true; s.textContent=${c.sending.js()}; var r=new FileReader(); r.onload=function(){ fetch('$endpoint?pin=$pin',{method:'POST',headers:{'Content-Type':'$contentType'},body:r.result}) .then(function(res){ if(res.ok){document.open();res.text().then(function(t){document.write(t);document.close();});} else{b.disabled=false;s.textContent=${c.uploadFailed.js()}.replace('__STATUS__',String(res.status));} }) .catch(function(){b.disabled=false;s.textContent=${c.couldNotReach.js()};}); }; r.onerror=function(){b.disabled=false;s.textContent=${c.couldNotRead.js()};}; r.readAsDataURL(file); return false; }); </script>
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	<div class="card"><h1>${c.downloadHeading.h()}</h1> <p>${c.downloadDescription.h()}</p> <a class="go" href="/backup.own?pin=$pin" download="owntv-backup.own" style="display:block;text-align:center;text-decoration:none">${c.downloadBackup.h()}</a> </div>
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	<div class="card"><h1>${c.savedHeading.h()}</h1> <p>${c.savedBackupBody.h()}</p><p><a href="/?pin=$pin">${c.savedBackupLink.h()}</a></p> </div>
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	<div class="card"><h1>${c.savedHeading.h()}</h1> <p>${c.savedImageBody.h()}</p><p><a href="/?pin=$pin">${c.savedImageLink.h()}</a></p> </div>
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	<div class="card"><h1>${context.getString(R.string.local_sync_browser_title).h()}</h1> <p>${context.getString(R.string.local_sync_browser_body).h()}</p> </div>
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	<label>${c.autoRefresh.h()} <select name="autoRefresh"> <option value="OFF" selected>${c.off.h()}</option> <option value="STARTUP">${c.refreshStartup.h()}</option> <option value="HOURS_6">${c.refresh6.h()}</option> <option value="HOURS_12">${c.refresh12.h()}</option> ${c.refreshDays.entries.joinToString("\\n ") { (days, label) ->
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	<label>${label.h()} <select name="$name"> ${option("now", c.now)}${option("later", c.later)}${option("off", c.off)} </select></label>
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	<option value="$value"${if (value == selected) " selected" else ""}>${text.h()}</option>
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	<p class="err">${error.h()}</p>
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	<svg viewBox="0 0 24 24" fill="none"><path d="M8 5v14l11-7z" fill="currentColor"/></svg>
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	>
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	MANUAL:$days
2	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	__STATUS__
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	application/json
1	locale	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	en
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	if(file.size>25*1024*1024){s.textContent=${c.imageTooLarge.js()};return false;}
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	image/*
3	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	later
1	locale	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	ltr
3	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	now
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	off
1	locale	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	rtl
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	selected
2	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	syncLive
2	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	syncMovies
2	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	syncSeries
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	text/plain
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionHtml.kt	}} </select></label>
2	empty	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	\0
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	/background
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	/backup
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	1
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	OFF
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	application/json
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	autoRefresh
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	auto_refresh
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	content-length
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	deviceId
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	deviceId2
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	device_id
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	device_id2
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	epgUrl
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	epg_url
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	isDefault
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	is_default
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	m3u
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	m3u8
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	mac
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	macAddress
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	mac_address
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	name
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	on
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	pass
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	password
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	portalUrl
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	portal_url
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	serialNumber
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	serial_number
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	server
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	signature
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	sn
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	sourceType
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	source_type
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	stalker
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	syncLive
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	syncMovies
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	syncSeries
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	sync_live
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	sync_movies
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	sync_series
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	true
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	type
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	url
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	user
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	userAgent
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	user_agent
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	username
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	yes
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpProtocol.kt	{
9	empty	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	\0
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	"
2	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	/
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	/background
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	/backup
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	/backup.json
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	/backup.own
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	/index.html
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	/lora.ttf
2	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	/m3u
2	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	/stalker
1	uri	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	/sync/hello
1	uri	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	/sync/pair
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	/xtream
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	Bad Request
2	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	Cache-Control: no-store
1	log	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	Companion accept failed
1	log	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	Companion connection refused — $MAX_IN_FLIGHT already in flight
1	log	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	Companion link locked after $attempts incorrect PIN attempts
1	log	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	CompanionServer
2	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	Connection: close
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	Content-Disposition: attachment; filename="
2	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	Content-Length:
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	Content-Type:
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	Content-Type: application/json; charset=utf-8
4	uri	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	GET
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	HTTP/1.1
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	HTTP/1.1 200 OK
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	Not Found
2	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	OK
7	uri	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	POST
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	Payload Too Large
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	Unauthorized
1	regex	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	^[A-Za-z0-9._-]{16,128}$
1	regex	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	^data:image/([a-zA-Z0-9.+-]+);base64,
1	uri	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	application/json; charset=utf-8
2	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	bmp
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	content-type
1	mime	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	font/ttf
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	jpeg
2	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	jpg
1	uri	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	name
2	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	pin
2	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	png
1	uri	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	secret
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	text/html; charset=utf-8
1	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	text/plain; charset=utf-8
2	protocol	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	webp
8	uri	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	x-companion-pin
3	uri	core/src/main/java/tv/own/owntv/core/companion/CompanionHttpServer.kt	{}
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionLink.kt	10.
2	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionLink.kt	127.0.0.1
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionLink.kt	172.
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionLink.kt	192.168.
1	url	core/src/main/java/tv/own/owntv/core/companion/CompanionLink.kt	http://$host:$port/
1	url	core/src/main/java/tv/own/owntv/core/companion/CompanionLink.kt	http://$it:$port/
14	empty	core/src/main/java/tv/own/owntv/core/companion/CompanionPayload.kt	\0
1	technical	core/src/main/java/tv/own/owntv/core/companion/CompanionPayload.kt	OFF
4	empty	core/src/main/java/tv/own/owntv/core/content/AdultCategoryClassifier.kt	\0
1	regex	core/src/main/java/tv/own/owntv/core/content/AdultCategoryClassifier.kt	(?:^|\\s)(?:18\\+|\\+18|21\\+|\\+21)(?:$|\\s)
1	regex	core/src/main/java/tv/own/owntv/core/content/AdultCategoryClassifier.kt	(?:yetiskin|для\\s+взрослых|взрослые|للكبار|بالغين|成人|成年人|성인)
1	regex	core/src/main/java/tv/own/owntv/core/content/AdultCategoryClassifier.kt	[^\\p{L}\\p{N}+]
1	regex	core/src/main/java/tv/own/owntv/core/content/AdultCategoryClassifier.kt	\\b(?:adulte|adultes|adulto|adultos|adulti|volwassenen|vuxen|voksne|aikuisille)\\b
1	regex	core/src/main/java/tv/own/owntv/core/content/AdultCategoryClassifier.kt	\\b(?:adult|adults|xxx|porn|porno|pornography|erotic|erotica|erotik|sex|sexy|playboy|hustler|redlight)\\b
1	regex	core/src/main/java/tv/own/owntv/core/content/AdultCategoryClassifier.kt	\\b(?:dla\\s+doros.ych|pro\\s+dospele|pro\\s+dospely|fur\\s+erwachsene|para\\s+adultos)\\b
1	regex	core/src/main/java/tv/own/owntv/core/content/AdultCategoryClassifier.kt	\\badult\\s+swim\\b
1	regex	core/src/main/java/tv/own/owntv/core/content/AdultCategoryClassifier.kt	\\brated\\s+r\\b
1	regex	core/src/main/java/tv/own/owntv/core/content/AdultCategoryClassifier.kt	\\p{M}+
1	regex	core/src/main/java/tv/own/owntv/core/content/AdultCategoryClassifier.kt	\\s+
1	empty	core/src/main/java/tv/own/owntv/core/content/SearchReader.kt	\0
1	sql	core/src/main/java/tv/own/owntv/core/content/SearchReader.kt	$it*
1	regex	core/src/main/java/tv/own/owntv/core/content/SearchReader.kt	\\s+
1	empty	core/src/main/java/tv/own/owntv/core/customize/BulkRenameSession.kt	\0
1	technical	core/src/main/java/tv/own/owntv/core/customize/CustomizationStore.kt	${c.sourceId}:${c.remoteId ?: c.name}
1	technical	core/src/main/java/tv/own/owntv/core/customize/CustomizationStore.kt	${ch.sourceId}:${ch.remoteId ?: ch.name}
1	technical	core/src/main/java/tv/own/owntv/core/customize/CustomizationStore.kt	${m.sourceId}:${m.remoteId ?: m.name}
1	technical	core/src/main/java/tv/own/owntv/core/customize/CustomizationStore.kt	${s.sourceId}:${s.remoteId ?: s.name}
2	json	core/src/main/java/tv/own/owntv/core/customize/CustomizationStore.kt	catNames
2	json	core/src/main/java/tv/own/owntv/core/customize/CustomizationStore.kt	catOrder
2	technical	core/src/main/java/tv/own/owntv/core/customize/CustomizationStore.kt	cust_
1	preference-key	core/src/main/java/tv/own/owntv/core/customize/CustomizationStore.kt	cust_${profileId}_${type.name}
2	json	core/src/main/java/tv/own/owntv/core/customize/CustomizationStore.kt	epgMatch
2	preference-key	core/src/main/java/tv/own/owntv/core/customize/CustomizationStore.kt	epgShift
2	json	core/src/main/java/tv/own/owntv/core/customize/CustomizationStore.kt	hiddenCats
2	json	core/src/main/java/tv/own/owntv/core/customize/CustomizationStore.kt	hiddenItems
2	json	core/src/main/java/tv/own/owntv/core/customize/CustomizationStore.kt	itemNames
1	technical	core/src/main/java/tv/own/owntv/core/customize/CustomizationStore.kt	owntv_customizations
2	room-schema	core/src/main/java/tv/own/owntv/core/database/BulkInsertHelper.kt	\0
1	room-schema	core/src/main/java/tv/own/owntv/core/database/BulkInsertHelper.kt	$msg — no canonical indexes for ${state.table}, indexes were dropped and NOT restored
1	room-schema	core/src/main/java/tv/own/owntv/core/database/BulkInsertHelper.kt	+ FTS
1	room-schema	core/src/main/java/tv/own/owntv/core/database/BulkInsertHelper.kt	+ FTS trigger
1	room-schema	core/src/main/java/tv/own/owntv/core/database/BulkInsertHelper.kt	ANALYZE `$table`
1	room-schema	core/src/main/java/tv/own/owntv/core/database/BulkInsertHelper.kt	BulkInsertHelper
1	room-schema	core/src/main/java/tv/own/owntv/core/database/BulkInsertHelper.kt	DROP INDEX IF EXISTS `$name`
1	room-schema	core/src/main/java/tv/own/owntv/core/database/BulkInsertHelper.kt	DROP TRIGGER IF EXISTS `$triggerName`
1	room-schema	core/src/main/java/tv/own/owntv/core/database/BulkInsertHelper.kt	Dropped ${indexSqls.size} indexes${if (triggerSql != null) " + FTS trigger" else ""} on $table for bulk insert
1	room-schema	core/src/main/java/tv/own/owntv/core/database/BulkInsertHelper.kt	INSERT INTO `${state.ftsTable}`(`${state.ftsTable}`) VALUES('rebuild')
1	room-schema	core/src/main/java/tv/own/owntv/core/database/BulkInsertHelper.kt	Restored $restoredIndexCount indexes${if (state.ftsTable != null) " + FTS" else ""} on ${state.table} ms=${SystemClock.elapsedRealtime() - start}
1	room-schema	core/src/main/java/tv/own/owntv/core/database/BulkInsertHelper.kt	SELECT COUNT(*) FROM `$table`
1	room-schema	core/src/main/java/tv/own/owntv/core/database/BulkInsertHelper.kt	SELECT name, sql FROM sqlite_master WHERE type='index' AND tbl_name='$table' AND sql IS NOT NULL
1	room-schema	core/src/main/java/tv/own/owntv/core/database/BulkInsertHelper.kt	SELECT sql FROM sqlite_master WHERE type='trigger' AND name='$triggerName'
1	room-schema	core/src/main/java/tv/own/owntv/core/database/BulkInsertHelper.kt	UNIQUE
1	room-schema	core/src/main/java/tv/own/owntv/core/database/BulkInsertHelper.kt	Unknown FTS table: $ftsTable
2	room-schema	core/src/main/java/tv/own/owntv/core/database/BulkInsertHelper.kt	Unknown table: $table
1	room-schema	core/src/main/java/tv/own/owntv/core/database/BulkInsertHelper.kt	categories
1	room-schema	core/src/main/java/tv/own/owntv/core/database/BulkInsertHelper.kt	channels_fts
1	room-schema	core/src/main/java/tv/own/owntv/core/database/BulkInsertHelper.kt	epg_channels
1	room-schema	core/src/main/java/tv/own/owntv/core/database/BulkInsertHelper.kt	movies_fts
1	room-schema	core/src/main/java/tv/own/owntv/core/database/BulkInsertHelper.kt	room_fts_content_sync_${it}_AFTER_INSERT
1	room-schema	core/src/main/java/tv/own/owntv/core/database/BulkInsertHelper.kt	series_fts
14	sql	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	?
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ALTER TABLE `$table` ADD COLUMN `advertisedCapabilities` TEXT
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ALTER TABLE `$table` ADD COLUMN `canonicalTitle` TEXT NOT NULL DEFAULT ''
1	sql	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ALTER TABLE `$table` ADD COLUMN `drmConfig` TEXT
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ALTER TABLE `$table` ADD COLUMN `parsedYear` INTEGER
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ALTER TABLE `$table` ADD COLUMN `providerLanguage` TEXT
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ALTER TABLE `$table` ADD COLUMN `qualityRank` INTEGER NOT NULL DEFAULT 0
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ALTER TABLE `$table` ADD COLUMN `titleSignature` TEXT NOT NULL DEFAULT ''
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ALTER TABLE `channels` ADD COLUMN `catchupDays` INTEGER NOT NULL DEFAULT 0
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ALTER TABLE `channels` ADD COLUMN `catchupSource` TEXT
1	sql	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ALTER TABLE `channels` ADD COLUMN `catchupType` TEXT
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ALTER TABLE `channels` ADD COLUMN `catchup` INTEGER NOT NULL DEFAULT 0
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ALTER TABLE `channels` ADD COLUMN `contentHash` INTEGER NOT NULL DEFAULT 0
1	sql	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ALTER TABLE `channels` ADD COLUMN `httpHeaders` TEXT
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ALTER TABLE `epg_channels` ADD COLUMN `iconUrl` TEXT
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ALTER TABLE `epg_programmes` ADD COLUMN `contentHash` INTEGER NOT NULL DEFAULT 0
1	sql	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ALTER TABLE `episodes` ADD COLUMN `httpHeaders` TEXT
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ALTER TABLE `metadata_cache` ADD COLUMN `logoPath` TEXT
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ALTER TABLE `metadata_cache` ADD COLUMN `trailerKey` TEXT
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ALTER TABLE `movies` ADD COLUMN `contentHash` INTEGER NOT NULL DEFAULT 0
1	sql	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ALTER TABLE `movies` ADD COLUMN `httpHeaders` TEXT
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ALTER TABLE `series` ADD COLUMN `addedAt` INTEGER
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ALTER TABLE `series` ADD COLUMN `contentHash` INTEGER NOT NULL DEFAULT 0
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ALTER TABLE `series` ADD COLUMN `episodesSyncedAt` INTEGER NOT NULL DEFAULT 0
1	sql	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ALTER TABLE `sources` ADD COLUMN `livePrerollSecs` INTEGER NOT NULL DEFAULT -1
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ALTER TABLE `sources` ADD COLUMN `mac` TEXT
1	sql	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ALTER TABLE `sources` ADD COLUMN `maxConnections` INTEGER NOT NULL DEFAULT 0
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ALTER TABLE `sources` ADD COLUMN `stalkerDeviceId2` TEXT
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ALTER TABLE `sources` ADD COLUMN `stalkerDeviceId` TEXT
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ALTER TABLE `sources` ADD COLUMN `stalkerSerialNumber` TEXT
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ALTER TABLE `sources` ADD COLUMN `stalkerSignature` TEXT
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ALTER TABLE `sources` ADD COLUMN `syncLive` INTEGER NOT NULL DEFAULT 1
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ALTER TABLE `sources` ADD COLUMN `syncMovies` INTEGER NOT NULL DEFAULT 1
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ALTER TABLE `sources` ADD COLUMN `syncSeries` INTEGER NOT NULL DEFAULT 1
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ALTER TABLE `trending_snapshots` ADD COLUMN `failureStage` TEXT
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ALTER TABLE `trending_snapshots` ADD COLUMN `lastAttemptAt` INTEGER NOT NULL DEFAULT 0
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ALTER TABLE `trending_snapshots` ADD COLUMN `lastAttemptStatus` TEXT NOT NULL DEFAULT 'NEVER'
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ALTER TABLE `trending_snapshots` ADD COLUMN `matchedItemCount` INTEGER NOT NULL DEFAULT 0
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_${table}_sourceId_titleSignature_parsedYear`
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_channels_categoryId_name` ON `channels` (`categoryId`, `name`)
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_channels_categoryId_sortOrder_name` ON `channels` (`categoryId`, `sortOrder`, `name`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_channels_categoryId` ON `channels` (`categoryId`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_channels_epgChannelId` ON `channels` (`epgChannelId`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_channels_name` ON `channels` (`name`)
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_channels_sourceId_name` ON `channels` (`sourceId`, `name`)
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_channels_sourceId_number` ON `channels` (`sourceId`, `number`)
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_channels_sourceId_sortOrder_name` ON `channels` (`sourceId`, `sortOrder`, `name`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_channels_sourceId` ON `channels` (`sourceId`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_content_order_profileId_mediaType_contextKey` ON `content_order` (`profileId`, `mediaType`, `contextKey`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_content_order_profileId` ON `content_order` (`profileId`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_epg_channels_sourceId` ON `epg_channels` (`sourceId`)
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_epg_programmes_epgChannelId_startMs` ON `epg_programmes` (`epgChannelId`, `startMs`)
3	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_epg_programmes_sourceId_epgChannelId` ON `epg_programmes` (`sourceId`, `epgChannelId`)
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_epg_programmes_sourceId` ON `epg_programmes` (`sourceId`)
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_epg_programmes_stopMs` ON `epg_programmes` (`stopMs`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_metadata_cache_tmdbId` ON `metadata_cache` (`tmdbId`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_metadata_cache_updatedAt` ON `metadata_cache` (`updatedAt`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_metadata_match_updatedAt` ON `metadata_match` (`updatedAt`)
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_movies_categoryId_addedAt_sortOrder` ON `movies` (`categoryId`, `addedAt`, `sortOrder`)
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_movies_categoryId_name` ON `movies` (`categoryId`, `name`)
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_movies_categoryId_rating_name` ON `movies` (`categoryId`, `rating`, `name`)
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_movies_categoryId_sortOrder_name` ON `movies` (`categoryId`, `sortOrder`, `name`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_movies_categoryId` ON `movies` (`categoryId`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_movies_name` ON `movies` (`name`)
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_movies_sourceId_addedAt_sortOrder` ON `movies` (`sourceId`, `addedAt`, `sortOrder`)
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_movies_sourceId_name` ON `movies` (`sourceId`, `name`)
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_movies_sourceId_rating_name` ON `movies` (`sourceId`, `rating`, `name`)
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_movies_sourceId_sortOrder_name` ON `movies` (`sourceId`, `sortOrder`, `name`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_movies_sourceId_titleSignature_parsedYear` ON `movies` (`sourceId`, `titleSignature`, `parsedYear`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_movies_sourceId` ON `movies` (`sourceId`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_playback_prefs_profileId` ON `playback_prefs` (`profileId`)
1	sql	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_provider_category_members_categoryId_sourceId_mediaType_remoteId` ON `provider_category_members` (`categoryId`, `sourceId`, `mediaType`, `remoteId`)
1	sql	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_provider_category_members_sourceId_mediaType_remoteId` ON `provider_category_members` (`sourceId`, `mediaType`, `remoteId`)
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_series_categoryId_addedAt_sortOrder` ON `series` (`categoryId`, `addedAt`, `sortOrder`)
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_series_categoryId_name` ON `series` (`categoryId`, `name`)
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_series_categoryId_rating_name` ON `series` (`categoryId`, `rating`, `name`)
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_series_categoryId_sortOrder_name` ON `series` (`categoryId`, `sortOrder`, `name`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_series_categoryId` ON `series` (`categoryId`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_series_name` ON `series` (`name`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_series_sort_order_profileId` ON `series_sort_order` (`profileId`)
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_series_sourceId_addedAt_sortOrder` ON `series` (`sourceId`, `addedAt`, `sortOrder`)
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_series_sourceId_name` ON `series` (`sourceId`, `name`)
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_series_sourceId_rating_name` ON `series` (`sourceId`, `rating`, `name`)
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_series_sourceId_sortOrder_name` ON `series` (`sourceId`, `sortOrder`, `name`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_series_sourceId_titleSignature_parsedYear` ON `series` (`sourceId`, `titleSignature`, `parsedYear`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_series_sourceId` ON `series` (`sourceId`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_subtitle_cache_lastUsedAt` ON `subtitle_cache` (`lastUsedAt`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_subtitle_link_cacheId` ON `subtitle_link` (`cacheId`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_subtitle_link_profileId_mediaType` ON `subtitle_link` (`profileId`, `mediaType`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_subtitle_link_profileId` ON `subtitle_link` (`profileId`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_subtitle_selection_cacheId` ON `subtitle_selection` (`cacheId`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_subtitle_selection_profileId` ON `subtitle_selection` (`profileId`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_subtitle_timing_profileId` ON `subtitle_timing` (`profileId`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_trending_items_mediaType_tmdbId`
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_trending_items_sourceId_mediaType_providerItemId`
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_tv_provider_programs_profileId` ON `tv_provider_programs` (`profileId`)
1	sql	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_user_data_tombstones_deletedAt` ON `user_data_tombstones` (`deletedAt`)
1	sql	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE INDEX IF NOT EXISTS `index_user_data_tombstones_profileId` ON `user_data_tombstones` (`profileId`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE TABLE IF NOT EXISTS `content_order` (
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE TABLE IF NOT EXISTS `epg_channels` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `sourceId` INTEGER NOT NULL, `epgChannelId` TEXT NOT NULL, `displayName` TEXT)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE TABLE IF NOT EXISTS `epg_programmes` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `sourceId` INTEGER NOT NULL, `epgChannelId` TEXT NOT NULL, `startMs` INTEGER NOT NULL, `stopMs` INTEGER NOT NULL, `title` TEXT NOT NULL, `description` TEXT)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE TABLE IF NOT EXISTS `metadata_cache` (
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE TABLE IF NOT EXISTS `metadata_match` (
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE TABLE IF NOT EXISTS `playback_prefs` (
1	sql	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE TABLE IF NOT EXISTS `provider_category_members` (`sourceId` INTEGER NOT NULL, `mediaType` TEXT NOT NULL, `remoteId` TEXT NOT NULL, `categoryId` INTEGER NOT NULL, PRIMARY KEY(`sourceId`, `mediaType`, `remoteId`, `categoryId`), FOREIGN KEY(`sourceId`) REFERENCES `sources`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE, FOREIGN KEY(`categoryId`) REFERENCES `categories`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE TABLE IF NOT EXISTS `series_sort_order` (
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE TABLE IF NOT EXISTS `subtitle_cache` (
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE TABLE IF NOT EXISTS `subtitle_link` (
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE TABLE IF NOT EXISTS `subtitle_selection` (
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE TABLE IF NOT EXISTS `subtitle_timing` (
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE TABLE IF NOT EXISTS `trending_items` (
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE TABLE IF NOT EXISTS `trending_snapshots` (
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE TABLE IF NOT EXISTS `tv_provider_programs` (
1	sql	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE TABLE IF NOT EXISTS `user_data_tombstones` (
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE UNIQUE INDEX IF NOT EXISTS `index_content_order_profileId_mediaType_contextKey_itemId` ON `content_order` (`profileId`, `mediaType`, `contextKey`, `itemId`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE UNIQUE INDEX IF NOT EXISTS `index_epg_channels_sourceId_epgChannelId` ON `epg_channels` (`sourceId`, `epgChannelId`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE UNIQUE INDEX IF NOT EXISTS `index_epg_programmes_natural_key`
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE UNIQUE INDEX IF NOT EXISTS `index_movies_sourceId_remoteId` ON `movies` (`sourceId`, `remoteId`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE UNIQUE INDEX IF NOT EXISTS `index_series_sort_order_profileId_seriesId` ON `series_sort_order` (`profileId`, `seriesId`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE UNIQUE INDEX IF NOT EXISTS `index_series_sourceId_remoteId` ON `series` (`sourceId`, `remoteId`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE UNIQUE INDEX IF NOT EXISTS `index_subtitle_cache_openSubFileId` ON `subtitle_cache` (`openSubFileId`)
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE UNIQUE INDEX IF NOT EXISTS `index_tv_provider_programs_profileId_surface_mediaType_groupId` ON `tv_provider_programs` (`profileId`, `surface`, `mediaType`, `groupId`)
1	sql	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE UNIQUE INDEX IF NOT EXISTS `index_user_data_tombstones_profileId_kind_identity`
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE VIRTUAL TABLE IF NOT EXISTS `channels_fts` USING FTS4(`name` TEXT NOT NULL, content=`channels`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE VIRTUAL TABLE IF NOT EXISTS `episodes_fts` USING FTS4(`name` TEXT NOT NULL, content=`episodes`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE VIRTUAL TABLE IF NOT EXISTS `movies_fts` USING FTS4(`name` TEXT NOT NULL, content=`movies`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	CREATE VIRTUAL TABLE IF NOT EXISTS `series_fts` USING FTS4(`name` TEXT NOT NULL, content=`series`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	DELETE FROM `epg_programmes`
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	DROP TABLE IF EXISTS `epg_channels`
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	DROP TABLE IF EXISTS `epg_programmes`
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	FOREIGN KEY(`cacheId`) REFERENCES `subtitle_cache`(`id`) ON DELETE CASCADE
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	FOREIGN KEY(`cacheId`) REFERENCES `subtitle_cache`(`id`) ON DELETE SET NULL
7	sql	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	FOREIGN KEY(`profileId`) REFERENCES `profiles`(`id`) ON DELETE CASCADE
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	FOREIGN KEY(`profileId`) REFERENCES `profiles`(`id`) ON DELETE CASCADE,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	FOREIGN KEY(`profileId`) REFERENCES `profiles`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	FOREIGN KEY(`sourceId`) REFERENCES `sources`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	FOREIGN KEY(`sourceId`) REFERENCES `trending_snapshots`(`sourceId`) ON UPDATE NO ACTION ON DELETE CASCADE
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	IF NOT EXISTS `
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	INSERT INTO `$name`(`$name`) VALUES('rebuild')
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ON `$table` (`sourceId`, `titleSignature`, `parsedYear`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ON `epg_programmes` (`sourceId`, `epgChannelId`, `startMs`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ON `trending_items` (`mediaType`, `tmdbId`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ON `trending_items` (`sourceId`, `mediaType`, `providerItemId`)
1	sql	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ON `user_data_tombstones` (`profileId`, `kind`, `identity`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	ON\\s+`([^`]+)`\\s*\\(([^)]*)\\)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	PRAGMA table_info(`$table`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	PRIMARY KEY(`key`)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	PRIMARY KEY(`localKey`)
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	PRIMARY KEY(`profileId`, `contentKey`),
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	PRIMARY KEY(`profileId`, `contentKey`, `cacheId`),
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	PRIMARY KEY(`profileId`, `contentKey`, `subtitleKey`),
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	PRIMARY KEY(`sourceId`),
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	PRIMARY KEY(`sourceId`, `position`),
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	SELECT 1 FROM sqlite_master WHERE type='table' AND name='$name'
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	SELECT COUNT(*) FROM sqlite_master WHERE name IN ($placeholders)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	UPDATE `movies` SET `addedAt` = `addedAt` * 1000
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	WHERE `addedAt` IS NOT NULL AND `addedAt` > 0 AND `addedAt` < 10000000000
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`addedAt` INTEGER NOT NULL,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`advertisedCapabilities` TEXT,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`advertisedQuality` TEXT,
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`backdropPath` TEXT,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`cacheId` INTEGER NOT NULL,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`cacheId` INTEGER,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`cachedPath` TEXT NOT NULL,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`candidateFetchedAt` INTEGER NOT NULL,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`canonicalTitle` TEXT NOT NULL,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`castJson` TEXT,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`confidence` REAL NOT NULL,
4	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`contentKey` TEXT NOT NULL,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`contentTitle` TEXT NOT NULL,
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`contextKey` TEXT NOT NULL,
1	sql	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`deletedAt` INTEGER NOT NULL,
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`durationMs` INTEGER NOT NULL,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`episodesDescending` INTEGER NOT NULL,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`fileName` TEXT NOT NULL,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`format` TEXT,
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`generationId` TEXT NOT NULL,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`genresJson` TEXT,
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`groupId` INTEGER NOT NULL,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`hearingImpaired` INTEGER NOT NULL DEFAULT 0,
7	sql	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
1	sql	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`identity` TEXT NOT NULL,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`imdbId` TEXT,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`itemCount` INTEGER NOT NULL,
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`itemId` INTEGER NOT NULL,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`key` TEXT NOT NULL,
1	sql	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`kind` TEXT NOT NULL,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`languageName` TEXT,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`language` TEXT,
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`lastEngagementAt` INTEGER NOT NULL,
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`lastPositionMs` INTEGER NOT NULL,
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`lastPublishedAt` INTEGER NOT NULL,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`lastUsedAt` INTEGER NOT NULL
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`localKey` TEXT NOT NULL,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`localizedTitle` TEXT NOT NULL,
6	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`mediaType` TEXT NOT NULL,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`metadataLanguage` TEXT NOT NULL,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`off` INTEGER NOT NULL DEFAULT 0,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`offsetMs` INTEGER NOT NULL,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`openSubFileId` INTEGER,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`originalTitle` TEXT,
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`overview` TEXT,
3	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`position` INTEGER NOT NULL,
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`posterPath` TEXT,
10	sql	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`profileId` INTEGER NOT NULL,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`providerItemId` INTEGER NOT NULL,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`providerLanguage` TEXT,
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`providerProgramId` INTEGER,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`providerRawName` TEXT NOT NULL,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`providerRemoteId` TEXT,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`providerStableKey` TEXT NOT NULL,
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`rating` REAL,
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`refreshedAt` INTEGER NOT NULL,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`releaseName` TEXT,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`seasonsDescending` INTEGER NOT NULL,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`seriesId` INTEGER NOT NULL,
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`sourceId` INTEGER NOT NULL,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`source` TEXT NOT NULL,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`status` TEXT NOT NULL,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`subtitleKey` TEXT NOT NULL,
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`surface` TEXT NOT NULL,
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`targetItemId` INTEGER NOT NULL,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`title` TEXT NOT NULL,
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`tmdbId` INTEGER NOT NULL,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`tmdbId` INTEGER,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`trailerKey` TEXT,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`trendingRank` INTEGER NOT NULL,
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`type` TEXT NOT NULL,
5	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`updatedAt` INTEGER NOT NULL,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`volumeBoost` INTEGER,
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`year` INTEGER,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	`zoomMode` TEXT,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	addedAt
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	catchup
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	catchupDays
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	catchupSource
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	catchupType
8	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	channels
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	channels_fts
4	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	contentHash
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	drmConfig
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	epg_channels
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	epg_programmes
2	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	episodes
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	episodesSyncedAt
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	episodes_fts
3	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	httpHeaders
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	iconUrl
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	livePrerollSecs
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	mac
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	maxConnections
5	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	movies
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	movies_fts
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	name
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	owntv.db
5	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	series
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	series_fts
15	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	sources
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	stalkerDeviceId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	stalkerDeviceId2
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	stalkerSerialNumber
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	stalkerSignature
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	syncLive
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	syncMovies
1	room-schema	core/src/main/java/tv/own/owntv/core/database/OwnTVDatabase.kt	syncSeries
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/CategoryDao.kt	DELETE FROM categories WHERE sourceId = :sourceId AND mediaType = :type
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/CategoryDao.kt	DELETE FROM categories WHERE sourceId = :sourceId AND mediaType = :type AND remoteId IN (:remoteIds)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/CategoryDao.kt	JOIN sources ON sources.id = categories.sourceId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/CategoryDao.kt	ORDER BY sources.createdAt ASC, categories.sortOrder ASC, categories.name ASC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/CategoryDao.kt	SELECT * FROM categories WHERE id = :id
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/CategoryDao.kt	SELECT * FROM categories WHERE sourceId = :sourceId AND mediaType = :type AND remoteId IN (:remoteIds)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/CategoryDao.kt	SELECT COUNT(*) FROM categories WHERE sourceId IN (:sourceIds) AND mediaType = :type
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/CategoryDao.kt	SELECT categories.* FROM categories
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/CategoryDao.kt	SELECT remoteId FROM categories WHERE sourceId = :sourceId AND mediaType = :type AND remoteId IS NOT NULL
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/CategoryDao.kt	WHERE categories.sourceId IN (:sourceIds) AND categories.mediaType = :type
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	) ORDER BY number ASC, name ASC LIMIT :limit
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	AND (:query = '' OR name LIKE '%' || :query || '%')
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	AND (categoryId IS NULL OR categoryId NOT IN (:excludedCategoryIds))
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	AND LOWER(TRIM(epgChannelId)) IN (
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	AND LOWER(TRIM(epgChannelId)) NOT IN (SELECT DISTINCT epgChannelId FROM epg_programmes)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	AND c.id IN (SELECT rowid FROM channels_fts WHERE channels_fts MATCH :ftsQuery)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	AND id IN (SELECT rowid FROM channels_fts WHERE channels_fts MATCH :query) ORDER BY name ASC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	DELETE FROM channels WHERE sourceId = :sourceId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	DELETE FROM channels WHERE sourceId = :sourceId AND remoteId IN (:remoteIds)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	DELETE FROM channels WHERE sourceId = :sourceId AND remoteId IS NULL
4	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	INNER JOIN favorites f ON f.itemId = c.id AND f.mediaType = 'LIVE'
4	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	INNER JOIN watch_history h ON h.itemId = c.id AND h.mediaType = 'LIVE'
2	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	LEFT JOIN categories cat ON c.categoryId = cat.id
4	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	LEFT JOIN content_order o ON o.itemId = c.id AND o.profileId = :profileId AND o.mediaType = 'LIVE' AND o.contextKey = :contextKey
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	ORDER BY (CASE WHEN o.position IS NULL THEN 1 ELSE 0 END), o.position, c.sortOrder, c.name
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	ORDER BY (CASE WHEN o.position IS NULL THEN 1 ELSE 0 END), o.position, c.sortOrder, c.name LIMIT :limit
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	ORDER BY (CASE WHEN o.position IS NULL THEN 1 ELSE 0 END), o.position, f.addedAt DESC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	ORDER BY (CASE WHEN o.position IS NULL THEN 1 ELSE 0 END), o.position, f.addedAt DESC LIMIT :limit
2	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	ORDER BY c.name ASC LIMIT :limit
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	ORDER BY h.watchedAt DESC LIMIT :limit
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	ORDER BY number ASC, name ASC LIMIT :limit
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	SELECT * FROM channels WHERE (categoryId = :categoryId OR EXISTS (SELECT 1 FROM provider_category_members pm WHERE pm.sourceId = channels.sourceId AND pm.mediaType = 'LIVE' AND pm.remoteId = channels.remoteId AND pm.categoryId = :categoryId)) AND (sortOrder < :beforeSortOrder OR (sortOrder = :beforeSortOrder AND id < :beforeId)) ORDER BY sortOrder DESC, id DESC LIMIT :limit
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	SELECT * FROM channels WHERE (categoryId = :categoryId OR EXISTS (SELECT 1 FROM provider_category_members pm WHERE pm.sourceId = channels.sourceId AND pm.mediaType = 'LIVE' AND pm.remoteId = channels.remoteId AND pm.categoryId = :categoryId)) AND (sortOrder > :afterSortOrder OR (sortOrder = :afterSortOrder AND id > :afterId)) ORDER BY sortOrder ASC, id ASC LIMIT :limit
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	SELECT * FROM channels WHERE (categoryId = :categoryId OR EXISTS (SELECT 1 FROM provider_category_members pm WHERE pm.sourceId = channels.sourceId AND pm.mediaType = 'LIVE' AND pm.remoteId = channels.remoteId AND pm.categoryId = :categoryId)) AND name LIKE '%' || :query || '%' ORDER BY sortOrder ASC, name ASC
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	SELECT * FROM channels WHERE (categoryId = :categoryId OR EXISTS (SELECT 1 FROM provider_category_members pm WHERE pm.sourceId = channels.sourceId AND pm.mediaType = 'LIVE' AND pm.remoteId = channels.remoteId AND pm.categoryId = :categoryId)) ORDER BY name ASC
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	SELECT * FROM channels WHERE (categoryId = :categoryId OR EXISTS (SELECT 1 FROM provider_category_members pm WHERE pm.sourceId = channels.sourceId AND pm.mediaType = 'LIVE' AND pm.remoteId = channels.remoteId AND pm.categoryId = :categoryId)) ORDER BY sortOrder ASC, name ASC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	SELECT * FROM channels WHERE id = :id
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	SELECT * FROM channels WHERE sourceId = :sourceId AND (sortOrder < :beforeSortOrder OR (sortOrder = :beforeSortOrder AND id < :beforeId)) ORDER BY sortOrder DESC, id DESC LIMIT :limit
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	SELECT * FROM channels WHERE sourceId = :sourceId AND (sortOrder > :afterSortOrder OR (sortOrder = :afterSortOrder AND id > :afterId)) ORDER BY sortOrder ASC, id ASC LIMIT :limit
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	SELECT * FROM channels WHERE sourceId = :sourceId AND name = :name LIMIT 1
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	SELECT * FROM channels WHERE sourceId = :sourceId AND remoteId = :remoteId LIMIT 1
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	SELECT * FROM channels WHERE sourceId = :sourceId AND remoteId IN (:remoteIds)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	SELECT * FROM channels WHERE sourceId IN (:sourceIds)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	SELECT * FROM channels WHERE sourceId IN (:sourceIds) AND catchup = 1 AND name LIKE '%' || :query || '%' ORDER BY name ASC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	SELECT * FROM channels WHERE sourceId IN (:sourceIds) AND catchup = 1 ORDER BY name ASC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	SELECT * FROM channels WHERE sourceId IN (:sourceIds) AND catchup = 1 ORDER BY sourceId ASC, sortOrder ASC, name ASC
2	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	SELECT * FROM channels WHERE sourceId IN (:sourceIds) AND epgChannelId IS NOT NULL AND epgChannelId != ''
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	SELECT * FROM channels WHERE sourceId IN (:sourceIds) AND name LIKE '%' || :query || '%' ORDER BY name ASC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	SELECT * FROM channels WHERE sourceId IN (:sourceIds) AND name LIKE '%' || :query || '%' ORDER BY name ASC LIMIT :limit
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	SELECT * FROM channels WHERE sourceId IN (:sourceIds) AND number = :number ORDER BY sourceId ASC, sortOrder ASC, name ASC, id ASC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	SELECT * FROM channels WHERE sourceId IN (:sourceIds) AND remoteId IN (:remoteIds)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	SELECT * FROM channels WHERE sourceId IN (:sourceIds) ORDER BY name ASC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	SELECT * FROM channels WHERE sourceId IN (:sourceIds) ORDER BY sourceId ASC, sortOrder ASC, name ASC
2	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	SELECT * FROM channels WHERE sourceId IN (:sourceIds) ORDER BY sourceId ASC, sortOrder ASC, name ASC LIMIT :limit
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	SELECT COALESCE(MAX(catchupDays), 0) FROM channels WHERE sourceId IN (:sourceIds) AND catchup = 1
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	SELECT COUNT(*) FROM channels WHERE (categoryId = :categoryId OR EXISTS (SELECT 1 FROM provider_category_members pm WHERE pm.sourceId = channels.sourceId AND pm.mediaType = 'LIVE' AND pm.remoteId = channels.remoteId AND pm.categoryId = :categoryId))
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	SELECT COUNT(*) FROM channels WHERE sourceId = :sourceId
2	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	SELECT COUNT(*) FROM channels WHERE sourceId IN (:sourceIds)
2	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	SELECT COUNT(*) FROM channels WHERE sourceId IN (:sourceIds) AND catchup = 1
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	SELECT COUNT(*) FROM favorites f INNER JOIN channels c ON c.id = f.itemId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	SELECT COUNT(*) FROM watch_history h INNER JOIN channels c ON c.id = h.itemId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	SELECT DISTINCT LOWER(TRIM(epgChannelId)) FROM channels
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	SELECT DISTINCT LOWER(TRIM(epgChannelId)) FROM channels WHERE epgChannelId IS NOT NULL AND epgChannelId != ''
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	SELECT DISTINCT epgChannelId FROM epg_programmes WHERE sourceId IN (:sourceIds)
8	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	SELECT c.* FROM channels c
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	SELECT c.* FROM channels c INNER JOIN favorites f ON f.itemId = c.id AND f.mediaType = 'LIVE'
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	SELECT c.* FROM channels c INNER JOIN watch_history h ON h.itemId = c.id AND h.mediaType = 'LIVE'
2	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	SELECT c.*, cat.name AS categoryName FROM channels c
2	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	SELECT c.*, h.watchedAt FROM channels c
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	SELECT remoteId FROM channels WHERE sourceId = :sourceId AND categoryId IN (:categoryIds) AND remoteId IS NOT NULL
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	SELECT remoteId FROM channels WHERE sourceId = :sourceId AND remoteId IS NOT NULL
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	SELECT remoteId FROM channels WHERE sourceId = :sourceId AND remoteId IS NOT NULL LIMIT 1
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	SELECT remoteId, id, contentHash, sortOrder FROM channels WHERE sourceId = :sourceId AND remoteId IS NOT NULL
2	sql	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	WHERE (c.categoryId = :categoryId OR EXISTS (SELECT 1 FROM provider_category_members pm WHERE pm.sourceId = c.sourceId AND pm.mediaType = 'LIVE' AND pm.remoteId = c.remoteId AND pm.categoryId = :categoryId))
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	WHERE c.sourceId IN (:sourceIds)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	WHERE c.sourceId IN (:sourceIds) AND c.name LIKE '%' || :query || '%'
2	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	WHERE f.profileId = :profileId AND c.sourceId IN (:sourceIds)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	WHERE f.profileId = :profileId AND c.sourceId IN (:sourceIds) AND c.name LIKE '%' || :query || '%' ORDER BY f.addedAt DESC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	WHERE f.profileId = :profileId AND f.mediaType = 'LIVE' AND c.sourceId IN (:sourceIds)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	WHERE f.profileId = :profileId ORDER BY LOWER(c.name) ASC, c.id ASC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	WHERE f.profileId = :profileId ORDER BY f.addedAt DESC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	WHERE h.profileId = :profileId AND c.sourceId IN (:sourceIds)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	WHERE h.profileId = :profileId AND c.sourceId IN (:sourceIds) AND c.name LIKE '%' || :query || '%' ORDER BY h.watchedAt DESC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	WHERE h.profileId = :profileId AND c.sourceId IN (:sourceIds) ORDER BY h.watchedAt DESC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	WHERE h.profileId = :profileId AND h.mediaType = 'LIVE' AND c.sourceId IN (:sourceIds)
2	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	WHERE h.profileId = :profileId ORDER BY h.watchedAt DESC LIMIT :limit
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ChannelDao.kt	WHERE sourceId = :sourceId AND epgChannelId IS NOT NULL AND TRIM(epgChannelId) != ''
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ContentOrderDao.kt	(:type = 'LIVE' AND itemId NOT IN (SELECT id FROM channels)) OR
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ContentOrderDao.kt	(:type = 'MOVIE' AND itemId NOT IN (SELECT id FROM movies)) OR
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ContentOrderDao.kt	(:type = 'SERIES' AND itemId NOT IN (SELECT id FROM series))
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ContentOrderDao.kt	(mediaType = 'LIVE' AND itemId NOT IN (SELECT id FROM channels)) OR
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ContentOrderDao.kt	(mediaType = 'MOVIE' AND itemId NOT IN (SELECT id FROM movies)) OR
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ContentOrderDao.kt	(mediaType = 'SERIES' AND itemId NOT IN (SELECT id FROM series))
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ContentOrderDao.kt	)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ContentOrderDao.kt	COALESCE(c.name, m.name, s.name) AS name
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ContentOrderDao.kt	COALESCE(c.remoteId, m.remoteId, s.remoteId) AS remoteId,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ContentOrderDao.kt	COALESCE(c.sourceId, m.sourceId, s.sourceId) AS sourceId,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ContentOrderDao.kt	DELETE FROM content_order WHERE
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ContentOrderDao.kt	DELETE FROM content_order WHERE profileId = :profileId AND mediaType = :type AND contextKey = :contextKey
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ContentOrderDao.kt	DELETE FROM content_order WHERE profileId = :profileId AND mediaType = :type AND itemId = :itemId AND (
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ContentOrderDao.kt	FROM content_order o
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ContentOrderDao.kt	LEFT JOIN channels c ON o.mediaType = 'LIVE' AND o.itemId = c.id
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ContentOrderDao.kt	LEFT JOIN movies m ON o.mediaType = 'MOVIE' AND o.itemId = m.id
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ContentOrderDao.kt	LEFT JOIN series s ON o.mediaType = 'SERIES' AND o.itemId = s.id
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ContentOrderDao.kt	SELECT * FROM content_order
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ContentOrderDao.kt	SELECT DISTINCT contextKey FROM content_order WHERE profileId = :profileId AND mediaType = :type
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/ContentOrderDao.kt	SELECT EXISTS(SELECT 1 FROM content_order WHERE profileId = :profileId AND mediaType = :type AND contextKey = :contextKey AND itemId = :itemId)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ContentOrderDao.kt	SELECT o.profileId AS profileId, o.mediaType AS mediaType, o.itemId AS itemId,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ContentOrderDao.kt	WHERE c.sourceId = :sourceId OR m.sourceId = :sourceId OR s.sourceId = :sourceId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ContentOrderDao.kt	o.contextKey AS contextKey, o.position AS position,
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/CustomCategoryDao.kt	SELECT EXISTS(SELECT 1 FROM custom_category_members WHERE profileId = :profileId AND mediaType = :type AND contextKey = :contextKey AND itemId = :itemId)
2	sql	core/src/main/java/tv/own/owntv/core/database/dao/CustomCategoryDao.kt	UNION ALL
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/CustomCategoryDao.kt	m.contextKey AS contextKey, m.position AS position,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/DownloadDao.kt	SELECT * FROM downloads WHERE id = :id
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/DownloadDao.kt	SELECT * FROM downloads WHERE profileId = :profileId ORDER BY createdAt DESC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/DownloadDao.kt	SELECT * FROM downloads WHERE status = :status ORDER BY createdAt ASC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/DownloadDao.kt	SELECT * FROM downloads WHERE status IN ('QUEUED', 'RUNNING') ORDER BY createdAt ASC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/DownloadDao.kt	SELECT COUNT(*) FROM downloads WHERE profileId = :profileId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/DownloadDao.kt	SELECT d.* FROM downloads d INNER JOIN episodes e ON e.id = d.itemId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/DownloadDao.kt	UPDATE downloads SET status = :status, downloadedBytes = :downloaded, totalBytes = :total, updatedAt = :timestamp WHERE id = :id
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/DownloadDao.kt	WHERE d.mediaType = 'EPISODE' AND e.seriesId = :seriesId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/EpgDao.kt	AND (:query = '' OR LOWER(displayName) LIKE '%' || :query || '%' OR LOWER(epgChannelId) LIKE '%' || :query || '%')
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/EpgDao.kt	AND stopMs > :from AND startMs < :to ORDER BY epgChannelId ASC, startMs ASC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/EpgDao.kt	AND stopMs > :from AND startMs < :to ORDER BY startMs ASC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/EpgDao.kt	DELETE FROM epg_channels WHERE sourceId = :sourceId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/EpgDao.kt	DELETE FROM epg_channels WHERE sourceId = :sourceId AND epgChannelId IN (:epgChannelIds)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/EpgDao.kt	DELETE FROM epg_programmes WHERE epgChannelId = :epgChannelId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/EpgDao.kt	DELETE FROM epg_programmes WHERE epgChannelId = :epgChannelId AND sourceId IN (:sourceIds)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/EpgDao.kt	DELETE FROM epg_programmes WHERE id IN (:ids)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/EpgDao.kt	DELETE FROM epg_programmes WHERE sourceId = :sourceId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/EpgDao.kt	DELETE FROM epg_programmes WHERE sourceId = :sourceId AND epgChannelId IN (:epgChannelIds)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/EpgDao.kt	DELETE FROM epg_programmes WHERE stopMs < :before
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/EpgDao.kt	FROM epg_programmes WHERE epgChannelId = :epgKey AND sourceId IN (:sourceIds)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/EpgDao.kt	FROM epg_programmes WHERE epgChannelId IN (:epgKeys) AND sourceId IN (:sourceIds)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/EpgDao.kt	FROM epg_programmes WHERE sourceId IN (:sourceIds) AND stopMs > :from AND startMs < :to
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/EpgDao.kt	GROUP BY epgChannelId ORDER BY displayName ASC LIMIT :limit
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/EpgDao.kt	ORDER BY epgChannelId ASC, startMs ASC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/EpgDao.kt	SELECT (MAX(stopMs) - MIN(startMs)) / 86400000 FROM epg_programmes WHERE epgChannelId = :epgChannelId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/EpgDao.kt	SELECT * FROM epg_channels WHERE sourceId IN (:sourceIds)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/EpgDao.kt	SELECT * FROM epg_programmes WHERE epgChannelId = :epgChannelId AND startMs <= :now AND stopMs > :now ORDER BY startMs DESC LIMIT 1
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/EpgDao.kt	SELECT * FROM epg_programmes WHERE epgChannelId = :epgChannelId AND stopMs <= :now ORDER BY stopMs DESC LIMIT 1
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/EpgDao.kt	SELECT * FROM epg_programmes WHERE epgChannelId = :epgChannelId AND stopMs > :now ORDER BY startMs ASC LIMIT :limit
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/EpgDao.kt	SELECT * FROM epg_programmes WHERE epgChannelId = :epgKey AND sourceId IN (:sourceIds) AND stopMs > :from AND startMs < :to ORDER BY startMs ASC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/EpgDao.kt	SELECT COUNT(*) FROM epg_programmes WHERE epgChannelId = :epgChannelId AND stopMs > :now
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/EpgDao.kt	SELECT COUNT(*) FROM epg_programmes WHERE sourceId = :sourceId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/EpgDao.kt	SELECT COUNT(*) FROM epg_programmes WHERE sourceId IN (:sourceIds)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/EpgDao.kt	SELECT COUNT(DISTINCT epgChannelId) FROM epg_programmes WHERE sourceId IN (:sourceIds)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/EpgDao.kt	SELECT description FROM epg_programmes WHERE id = :programmeId LIMIT 1
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/EpgDao.kt	SELECT epgChannelId FROM epg_channels WHERE sourceId = :sourceId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/EpgDao.kt	SELECT epgChannelId, iconUrl FROM epg_channels WHERE sourceId IN (:sourceIds) AND iconUrl IS NOT NULL AND iconUrl != ''
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/EpgDao.kt	SELECT id, epgChannelId, startMs, contentHash FROM epg_programmes WHERE sourceId = :sourceId AND epgChannelId = :epgChannelId
3	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/EpgDao.kt	SELECT id, sourceId, epgChannelId, startMs, stopMs, title, NULL AS description, 0 AS contentHash
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/EpgDao.kt	SELECT id, sourceId, epgChannelId, startMs, stopMs, title, NULL AS description, contentHash FROM epg_programmes WHERE sourceId IN (:sourceIds) AND stopMs > :from AND startMs < :to AND id > :afterId ORDER BY id ASC LIMIT :limit
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/FavoriteDao.kt	(:type = 'LIVE' AND itemId NOT IN (SELECT id FROM channels)) OR
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/FavoriteDao.kt	(:type = 'MOVIE' AND itemId NOT IN (SELECT id FROM movies)) OR
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/FavoriteDao.kt	(:type = 'SERIES' AND itemId NOT IN (SELECT id FROM series))
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/FavoriteDao.kt	(mediaType = 'LIVE' AND itemId NOT IN (SELECT id FROM channels)) OR
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/FavoriteDao.kt	(mediaType = 'MOVIE' AND itemId NOT IN (SELECT id FROM movies)) OR
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/FavoriteDao.kt	(mediaType = 'SERIES' AND itemId NOT IN (SELECT id FROM series))
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/FavoriteDao.kt	)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/FavoriteDao.kt	COALESCE(c.name, m.name, s.name) AS name,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/FavoriteDao.kt	COALESCE(c.remoteId, m.remoteId, s.remoteId, e.remoteId) AS remoteId,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/FavoriteDao.kt	COALESCE(c.sourceId, m.sourceId, s.sourceId, episodeSeries.sourceId) AS sourceId,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/FavoriteDao.kt	DELETE FROM favorites WHERE
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/FavoriteDao.kt	DELETE FROM favorites WHERE profileId = :profileId AND mediaType = :type AND itemId = :itemId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/FavoriteDao.kt	DELETE FROM favorites WHERE profileId = :profileId AND mediaType = :type AND itemId = :itemId AND (
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/FavoriteDao.kt	DELETE FROM favorites WHERE profileId = :profileId AND mediaType = :type AND itemId = :itemId AND addedAt <= :at
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/FavoriteDao.kt	FROM favorites f
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/FavoriteDao.kt	LEFT JOIN channels c ON f.mediaType = 'LIVE' AND f.itemId = c.id
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/FavoriteDao.kt	LEFT JOIN episodes e ON f.mediaType = 'EPISODE' AND f.itemId = e.id
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/FavoriteDao.kt	LEFT JOIN movies m ON f.mediaType = 'MOVIE' AND f.itemId = m.id
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/FavoriteDao.kt	LEFT JOIN series episodeSeries ON e.seriesId = episodeSeries.id
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/FavoriteDao.kt	LEFT JOIN series s ON f.mediaType = 'SERIES' AND f.itemId = s.id
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/FavoriteDao.kt	SELECT * FROM favorites
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/FavoriteDao.kt	SELECT COUNT(*) FROM favorites WHERE profileId = :profileId AND mediaType = :type
2	sql	core/src/main/java/tv/own/owntv/core/database/dao/FavoriteDao.kt	SELECT EXISTS(SELECT 1 FROM favorites WHERE profileId = :profileId AND mediaType = :type AND itemId = :itemId)
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/FavoriteDao.kt	SELECT addedAt FROM favorites WHERE profileId = :profileId AND mediaType = :type AND itemId = :itemId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/FavoriteDao.kt	SELECT f.profileId AS profileId, f.mediaType AS mediaType, f.itemId AS itemId,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/FavoriteDao.kt	SELECT itemId FROM favorites WHERE profileId = :profileId AND mediaType = :type
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/FavoriteDao.kt	WHERE c.sourceId = :sourceId OR m.sourceId = :sourceId OR s.sourceId = :sourceId OR episodeSeries.sourceId = :sourceId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/FavoriteDao.kt	e.seasonNumber AS seasonNumber, e.episodeNumber AS episodeNumber,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/FavoriteDao.kt	episodeSeries.remoteId AS seriesRemoteId, episodeSeries.name AS seriesName,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/FavoriteDao.kt	f.addedAt AS at, 0 AS positionMs, 0 AS durationMs
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/HistoryDao.kt	(:type = 'EPISODE' AND itemId NOT IN (SELECT id FROM episodes))
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/HistoryDao.kt	(:type = 'LIVE' AND itemId NOT IN (SELECT id FROM channels)) OR
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/HistoryDao.kt	(:type = 'MOVIE' AND itemId NOT IN (SELECT id FROM movies)) OR
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/HistoryDao.kt	(:type = 'SERIES' AND itemId NOT IN (SELECT id FROM series)) OR
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/HistoryDao.kt	(mediaType = 'LIVE' AND itemId NOT IN (SELECT id FROM channels)) OR
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/HistoryDao.kt	(mediaType = 'MOVIE' AND itemId NOT IN (SELECT id FROM movies)) OR
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/HistoryDao.kt	(mediaType = 'SERIES' AND itemId NOT IN (SELECT id FROM series))
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/HistoryDao.kt	)
2	sql	core/src/main/java/tv/own/owntv/core/database/dao/HistoryDao.kt	AND itemId IN (SELECT id FROM episodes WHERE seriesId = :seriesId)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/HistoryDao.kt	COALESCE(c.name, m.name, s.name) AS name,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/HistoryDao.kt	COALESCE(c.remoteId, m.remoteId, s.remoteId, e.remoteId) AS remoteId,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/HistoryDao.kt	COALESCE(c.sourceId, m.sourceId, s.sourceId, episodeSeries.sourceId) AS sourceId,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/HistoryDao.kt	DELETE FROM watch_history WHERE
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/HistoryDao.kt	DELETE FROM watch_history WHERE profileId = :profileId
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/HistoryDao.kt	DELETE FROM watch_history WHERE profileId = :profileId AND mediaType = 'EPISODE'
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/HistoryDao.kt	DELETE FROM watch_history WHERE profileId = :profileId AND mediaType = :type
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/HistoryDao.kt	DELETE FROM watch_history WHERE profileId = :profileId AND mediaType = :type AND itemId = :itemId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/HistoryDao.kt	DELETE FROM watch_history WHERE profileId = :profileId AND mediaType = :type AND itemId = :itemId AND (
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/HistoryDao.kt	DELETE FROM watch_history WHERE profileId = :profileId AND mediaType = :type AND itemId = :itemId AND watchedAt <= :at
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/HistoryDao.kt	DELETE FROM watch_history WHERE profileId = :profileId AND watchedAt <= :at
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/HistoryDao.kt	FROM watch_history h
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/HistoryDao.kt	LEFT JOIN channels c ON h.mediaType = 'LIVE' AND h.itemId = c.id
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/HistoryDao.kt	LEFT JOIN episodes e ON h.mediaType = 'EPISODE' AND h.itemId = e.id
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/HistoryDao.kt	LEFT JOIN movies m ON h.mediaType = 'MOVIE' AND h.itemId = m.id
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/HistoryDao.kt	LEFT JOIN series episodeSeries ON e.seriesId = episodeSeries.id
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/HistoryDao.kt	LEFT JOIN series s ON h.mediaType = 'SERIES' AND h.itemId = s.id
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/HistoryDao.kt	SELECT * FROM watch_history
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/HistoryDao.kt	SELECT * FROM watch_history WHERE profileId = :profileId
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/HistoryDao.kt	SELECT * FROM watch_history WHERE profileId = :profileId AND mediaType = :type
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/HistoryDao.kt	SELECT * FROM watch_history WHERE profileId = :profileId ORDER BY watchedAt DESC LIMIT 1
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/HistoryDao.kt	SELECT COUNT(*) FROM watch_history WHERE profileId = :profileId AND mediaType = :type
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/HistoryDao.kt	SELECT EXISTS(SELECT 1 FROM watch_history WHERE profileId = :profileId AND mediaType = :type AND itemId = :itemId)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/HistoryDao.kt	SELECT h.profileId AS profileId, h.mediaType AS mediaType, h.itemId AS itemId,
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/HistoryDao.kt	SELECT itemId FROM watch_history WHERE profileId = :profileId AND mediaType = 'EPISODE'
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/HistoryDao.kt	SELECT watchedAt FROM watch_history WHERE profileId = :profileId AND mediaType = :type AND itemId = :itemId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/HistoryDao.kt	WHERE c.sourceId = :sourceId OR m.sourceId = :sourceId OR s.sourceId = :sourceId OR episodeSeries.sourceId = :sourceId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/HistoryDao.kt	e.seasonNumber AS seasonNumber, e.episodeNumber AS episodeNumber,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/HistoryDao.kt	episodeSeries.remoteId AS seriesRemoteId, episodeSeries.name AS seriesName,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/HistoryDao.kt	h.watchedAt AS at, 0 AS positionMs, 0 AS durationMs
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MetadataDao.kt	DELETE FROM metadata_cache
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MetadataDao.kt	DELETE FROM metadata_cache WHERE key = :key
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MetadataDao.kt	DELETE FROM metadata_cache WHERE updatedAt < :cutoff
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MetadataDao.kt	DELETE FROM metadata_match
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MetadataDao.kt	DELETE FROM metadata_match WHERE localKey = :localKey
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/MetadataDao.kt	DELETE FROM metadata_match WHERE tmdbId IS NULL
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MetadataDao.kt	DELETE FROM metadata_match WHERE updatedAt < :cutoff
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MetadataDao.kt	SELECT * FROM metadata_cache WHERE key = :key LIMIT 1
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/MetadataDao.kt	SELECT * FROM metadata_cache WHERE key IN (:keys)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MetadataDao.kt	SELECT * FROM metadata_match WHERE localKey = :localKey LIMIT 1
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/MetadataDao.kt	SELECT * FROM metadata_match WHERE localKey IN (:keys)
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	(SELECT rowid FROM movies_fts WHERE movies_fts MATCH :ftsQuery)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	AND (categoryId IS NULL OR categoryId NOT IN (:excludedCategoryIds))
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	AND id IN (SELECT rowid FROM movies_fts WHERE movies_fts MATCH :ftsQuery) ORDER BY name ASC LIMIT :limit
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	AND id IN (SELECT rowid FROM movies_fts WHERE movies_fts MATCH :query) ORDER BY name ASC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	DELETE FROM movies WHERE sourceId = :sourceId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	DELETE FROM movies WHERE sourceId = :sourceId AND remoteId IN (:remoteIds)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	DELETE FROM movies WHERE sourceId = :sourceId AND remoteId IS NULL
3	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	INNER JOIN favorites f ON f.itemId = m.id AND f.mediaType = 'MOVIE'
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	INNER JOIN favorites f ON f.itemId = m.id AND f.mediaType = 'MOVIE' AND f.profileId = :profileId
3	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	INNER JOIN watch_history h ON h.itemId = m.id AND h.mediaType = 'MOVIE'
4	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	LEFT JOIN content_order o ON o.itemId = m.id AND o.profileId = :profileId AND o.mediaType = 'MOVIE' AND o.contextKey = :contextKey
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	LEFT JOIN watch_history h ON h.itemId = m.id AND h.mediaType = 'MOVIE' AND h.profileId = :profileId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	ORDER BY (CASE WHEN o.position IS NULL THEN 1 ELSE 0 END), o.position, f.addedAt DESC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	ORDER BY (CASE WHEN o.position IS NULL THEN 1 ELSE 0 END), o.position, f.addedAt DESC LIMIT :limit
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	ORDER BY (CASE WHEN o.position IS NULL THEN 1 ELSE 0 END), o.position, m.sortOrder, m.name
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	ORDER BY (CASE WHEN o.position IS NULL THEN 1 ELSE 0 END), o.position, m.sortOrder, m.name LIMIT :limit
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	ORDER BY sortOrder ASC, name ASC, id ASC
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	ORDER BY sortOrder ASC, name ASC, id ASC LIMIT :limit
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	SELECT * FROM movies WHERE (categoryId = :categoryId OR EXISTS (SELECT 1 FROM provider_category_members pm WHERE pm.sourceId = movies.sourceId AND pm.mediaType = 'MOVIE' AND pm.remoteId = movies.remoteId AND pm.categoryId = :categoryId)) AND name LIKE '%' || :query || '%' ORDER BY addedAt DESC, sortOrder DESC, id DESC
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	SELECT * FROM movies WHERE (categoryId = :categoryId OR EXISTS (SELECT 1 FROM provider_category_members pm WHERE pm.sourceId = movies.sourceId AND pm.mediaType = 'MOVIE' AND pm.remoteId = movies.remoteId AND pm.categoryId = :categoryId)) AND name LIKE '%' || :query || '%' ORDER BY sortOrder ASC, name ASC
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	SELECT * FROM movies WHERE (categoryId = :categoryId OR EXISTS (SELECT 1 FROM provider_category_members pm WHERE pm.sourceId = movies.sourceId AND pm.mediaType = 'MOVIE' AND pm.remoteId = movies.remoteId AND pm.categoryId = :categoryId)) ORDER BY addedAt DESC, sortOrder DESC, id DESC
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	SELECT * FROM movies WHERE (categoryId = :categoryId OR EXISTS (SELECT 1 FROM provider_category_members pm WHERE pm.sourceId = movies.sourceId AND pm.mediaType = 'MOVIE' AND pm.remoteId = movies.remoteId AND pm.categoryId = :categoryId)) ORDER BY name ASC
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	SELECT * FROM movies WHERE (categoryId = :categoryId OR EXISTS (SELECT 1 FROM provider_category_members pm WHERE pm.sourceId = movies.sourceId AND pm.mediaType = 'MOVIE' AND pm.remoteId = movies.remoteId AND pm.categoryId = :categoryId)) ORDER BY rating DESC, name ASC
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	SELECT * FROM movies WHERE (categoryId = :categoryId OR EXISTS (SELECT 1 FROM provider_category_members pm WHERE pm.sourceId = movies.sourceId AND pm.mediaType = 'MOVIE' AND pm.remoteId = movies.remoteId AND pm.categoryId = :categoryId)) ORDER BY sortOrder ASC, name ASC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	SELECT * FROM movies WHERE id = :id
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	SELECT * FROM movies WHERE id IN (:ids)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	SELECT * FROM movies WHERE sourceId = :sourceId AND name = :name LIMIT 1
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	SELECT * FROM movies WHERE sourceId = :sourceId AND remoteId = :remoteId LIMIT 1
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	SELECT * FROM movies WHERE sourceId = :sourceId AND remoteId IN (:remoteIds)
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	SELECT * FROM movies WHERE sourceId = :sourceId AND titleSignature = '' LIMIT :limit
2	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	SELECT * FROM movies WHERE sourceId IN (:sourceIds)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	SELECT * FROM movies WHERE sourceId IN (:sourceIds) AND name LIKE '%' || :query || '%' ORDER BY addedAt DESC, sortOrder DESC, id DESC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	SELECT * FROM movies WHERE sourceId IN (:sourceIds) AND name LIKE '%' || :query || '%' ORDER BY name ASC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	SELECT * FROM movies WHERE sourceId IN (:sourceIds) AND name LIKE '%' || :query || '%' ORDER BY name ASC LIMIT :limit
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	SELECT * FROM movies WHERE sourceId IN (:sourceIds) ORDER BY addedAt DESC, sortOrder DESC, id DESC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	SELECT * FROM movies WHERE sourceId IN (:sourceIds) ORDER BY name ASC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	SELECT * FROM movies WHERE sourceId IN (:sourceIds) ORDER BY rating DESC, name ASC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	SELECT * FROM movies WHERE sourceId IN (:sourceIds) ORDER BY sourceId ASC, sortOrder ASC, name ASC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	SELECT COUNT(*) FROM favorites f INNER JOIN movies m ON m.id = f.itemId
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	SELECT COUNT(*) FROM movies WHERE (categoryId = :categoryId OR EXISTS (SELECT 1 FROM provider_category_members pm WHERE pm.sourceId = movies.sourceId AND pm.mediaType = 'MOVIE' AND pm.remoteId = movies.remoteId AND pm.categoryId = :categoryId))
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	SELECT COUNT(*) FROM movies WHERE sourceId = :sourceId
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	SELECT COUNT(*) FROM movies WHERE sourceId = :sourceId AND titleSignature = ''
2	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	SELECT COUNT(*) FROM movies WHERE sourceId IN (:sourceIds)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	SELECT COUNT(*) FROM watch_history h INNER JOIN movies m ON m.id = h.itemId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	SELECT categoryId, COUNT(*) AS itemCount FROM movies WHERE sourceId = :sourceId AND categoryId IS NOT NULL GROUP BY categoryId
2	sql	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	SELECT id, sourceId, categoryId, name, year, remoteId, sortOrder, canonicalTitle,
9	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	SELECT m.* FROM movies m
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	SELECT m.* FROM movies m INNER JOIN favorites f ON f.itemId = m.id AND f.mediaType = 'MOVIE'
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	SELECT m.* FROM movies m INNER JOIN watch_history h ON h.itemId = m.id AND h.mediaType = 'MOVIE'
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	SELECT remoteId FROM movies WHERE sourceId = :sourceId AND categoryId = :categoryId AND remoteId IS NOT NULL
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	SELECT remoteId FROM movies WHERE sourceId = :sourceId AND categoryId IN (:categoryIds) AND remoteId IS NOT NULL
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	SELECT remoteId FROM movies WHERE sourceId = :sourceId AND remoteId IS NOT NULL
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	SELECT remoteId, id, contentHash, sortOrder FROM movies WHERE sourceId = :sourceId AND remoteId IS NOT NULL
2	sql	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	WHERE (m.categoryId = :categoryId OR EXISTS (SELECT 1 FROM provider_category_members pm WHERE pm.sourceId = m.sourceId AND pm.mediaType = 'MOVIE' AND pm.remoteId = m.remoteId AND pm.categoryId = :categoryId))
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	WHERE f.profileId = :profileId AND f.mediaType = 'MOVIE' AND m.sourceId IN (:sourceIds)
2	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	WHERE f.profileId = :profileId AND m.sourceId IN (:sourceIds)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	WHERE f.profileId = :profileId AND m.sourceId IN (:sourceIds) AND m.name LIKE '%' || :query || '%' ORDER BY f.addedAt DESC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	WHERE f.profileId = :profileId ORDER BY f.addedAt DESC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	WHERE h.profileId = :profileId AND h.mediaType = 'MOVIE' AND m.sourceId IN (:sourceIds)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	WHERE h.profileId = :profileId AND m.sourceId IN (:sourceIds) AND m.name LIKE '%' || :query || '%' ORDER BY h.watchedAt DESC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	WHERE h.profileId = :profileId AND m.sourceId IN (:sourceIds) ORDER BY h.watchedAt DESC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	WHERE h.profileId = :profileId AND m.sourceId IN (:sourceIds) ORDER BY h.watchedAt DESC LIMIT :limit
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	WHERE h.profileId = :profileId ORDER BY h.watchedAt DESC LIMIT :limit
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	WHERE m.sourceId IN (:sourceIds) AND h.itemId IS NULL ORDER BY f.addedAt DESC LIMIT :limit
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	WHERE sourceId = :sourceId AND id IN
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	WHERE sourceId = :sourceId AND titleSignature IN (:titleSignatures)
2	sql	core/src/main/java/tv/own/owntv/core/database/dao/MovieDao.kt	titleSignature, parsedYear, providerLanguage, qualityRank, advertisedCapabilities FROM movies
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/PlaybackPrefsDao.kt	SELECT * FROM playback_prefs
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/PlaybackPrefsDao.kt	SELECT * FROM playback_prefs WHERE profileId = :profileId AND contentKey = :contentKey LIMIT 1
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/PlaybackPrefsDao.kt	SELECT COUNT(*) FROM playback_prefs WHERE volumeBoost IS NOT NULL
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/PlaybackPrefsDao.kt	SELECT COUNT(*) FROM playback_prefs WHERE zoomMode IS NOT NULL
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/PlaybackPrefsDao.kt	UPDATE playback_prefs SET volumeBoost = NULL
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/PlaybackPrefsDao.kt	UPDATE playback_prefs SET zoomMode = NULL
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ProfileDao.kt	DELETE FROM profiles
2	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ProfileDao.kt	SELECT * FROM profiles ORDER BY createdAt ASC
2	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ProfileDao.kt	SELECT * FROM profiles WHERE id = :id
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ProfileDao.kt	SELECT COUNT(*) FROM profiles
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ProfileDao.kt	UPDATE profiles SET avatarId = :avatarId WHERE id = :id
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ProfileDao.kt	UPDATE profiles SET pinHash = :pinHash WHERE id = :id
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/ProgressDao.kt	(:type = 'EPISODE' AND itemId NOT IN (SELECT id FROM episodes))
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ProgressDao.kt	(:type = 'LIVE' AND itemId NOT IN (SELECT id FROM channels)) OR
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ProgressDao.kt	(:type = 'MOVIE' AND itemId NOT IN (SELECT id FROM movies)) OR
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/ProgressDao.kt	(:type = 'SERIES' AND itemId NOT IN (SELECT id FROM series)) OR
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ProgressDao.kt	(mediaType = 'LIVE' AND itemId NOT IN (SELECT id FROM channels)) OR
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ProgressDao.kt	(mediaType = 'MOVIE' AND itemId NOT IN (SELECT id FROM movies)) OR
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ProgressDao.kt	(mediaType = 'SERIES' AND itemId NOT IN (SELECT id FROM series))
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ProgressDao.kt	)
4	sql	core/src/main/java/tv/own/owntv/core/database/dao/ProgressDao.kt	AND itemId IN (SELECT id FROM episodes WHERE seriesId = :seriesId)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ProgressDao.kt	COALESCE(c.name, m.name, s.name) AS name,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ProgressDao.kt	COALESCE(c.remoteId, m.remoteId, s.remoteId, e.remoteId) AS remoteId,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ProgressDao.kt	COALESCE(c.sourceId, m.sourceId, s.sourceId, episodeSeries.sourceId) AS sourceId,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ProgressDao.kt	DELETE FROM playback_progress WHERE
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ProgressDao.kt	DELETE FROM playback_progress WHERE profileId = :profileId
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/ProgressDao.kt	DELETE FROM playback_progress WHERE profileId = :profileId AND mediaType = 'EPISODE'
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ProgressDao.kt	DELETE FROM playback_progress WHERE profileId = :profileId AND mediaType = :type
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ProgressDao.kt	DELETE FROM playback_progress WHERE profileId = :profileId AND mediaType = :type AND itemId = :itemId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ProgressDao.kt	DELETE FROM playback_progress WHERE profileId = :profileId AND mediaType = :type AND itemId = :itemId AND (
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/ProgressDao.kt	DELETE FROM playback_progress WHERE profileId = :profileId AND mediaType = :type AND itemId = :itemId AND updatedAt <= :at
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/ProgressDao.kt	DELETE FROM playback_progress WHERE profileId = :profileId AND updatedAt <= :at
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ProgressDao.kt	FROM playback_progress p
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ProgressDao.kt	LEFT JOIN channels c ON p.mediaType = 'LIVE' AND p.itemId = c.id
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ProgressDao.kt	LEFT JOIN episodes e ON p.mediaType = 'EPISODE' AND p.itemId = e.id
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ProgressDao.kt	LEFT JOIN movies m ON p.mediaType = 'MOVIE' AND p.itemId = m.id
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ProgressDao.kt	LEFT JOIN series episodeSeries ON e.seriesId = episodeSeries.id
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ProgressDao.kt	LEFT JOIN series s ON p.mediaType = 'SERIES' AND p.itemId = s.id
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ProgressDao.kt	ORDER BY updatedAt DESC LIMIT 1
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ProgressDao.kt	SELECT * FROM playback_progress
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/ProgressDao.kt	SELECT * FROM playback_progress WHERE profileId = :profileId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ProgressDao.kt	SELECT * FROM playback_progress WHERE profileId = :profileId AND mediaType = 'EPISODE'
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ProgressDao.kt	SELECT * FROM playback_progress WHERE profileId = :profileId AND mediaType = 'MOVIE'
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/ProgressDao.kt	SELECT * FROM playback_progress WHERE profileId = :profileId AND mediaType = :type
2	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ProgressDao.kt	SELECT * FROM playback_progress WHERE profileId = :profileId AND mediaType = :type AND itemId = :itemId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ProgressDao.kt	SELECT itemId FROM playback_progress
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/ProgressDao.kt	SELECT itemId FROM playback_progress WHERE profileId = :profileId AND mediaType = 'EPISODE'
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ProgressDao.kt	SELECT p.profileId AS profileId, p.mediaType AS mediaType, p.itemId AS itemId,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ProgressDao.kt	WHERE c.sourceId = :sourceId OR m.sourceId = :sourceId OR s.sourceId = :sourceId OR episodeSeries.sourceId = :sourceId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ProgressDao.kt	WHERE profileId = :profileId AND mediaType = 'EPISODE'
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ProgressDao.kt	e.seasonNumber AS seasonNumber, e.episodeNumber AS episodeNumber,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ProgressDao.kt	episodeSeries.remoteId AS seriesRemoteId, episodeSeries.name AS seriesName,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/ProgressDao.kt	p.updatedAt AS at, p.positionMs AS positionMs, p.durationMs AS durationMs
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/ProviderCategoryDao.kt	DELETE FROM provider_category_members WHERE sourceId=:source AND mediaType=:type
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/ProviderCategoryDao.kt	SELECT categoryId FROM provider_category_members WHERE sourceId=:source AND mediaType=:type AND remoteId=:remote
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	(SELECT rowid FROM series_fts WHERE series_fts MATCH :ftsQuery)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	AND (categoryId IS NULL OR categoryId NOT IN (:excludedCategoryIds))
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	AND id IN (SELECT rowid FROM series_fts WHERE series_fts MATCH :ftsQuery) ORDER BY name ASC LIMIT :limit
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	AND id IN (SELECT rowid FROM series_fts WHERE series_fts MATCH :query) ORDER BY name ASC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	DELETE FROM episodes WHERE id IN (:ids)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	DELETE FROM episodes WHERE seriesId = :seriesId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	DELETE FROM seasons WHERE seriesId = :seriesId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	DELETE FROM series WHERE sourceId = :sourceId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	DELETE FROM series WHERE sourceId = :sourceId AND remoteId IN (:remoteIds)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	DELETE FROM series WHERE sourceId = :sourceId AND remoteId IS NULL
3	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	INNER JOIN favorites f ON f.itemId = s.id AND f.mediaType = 'SERIES'
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	INNER JOIN favorites f ON f.itemId = s.id AND f.mediaType = 'SERIES' AND f.profileId = :profileId
4	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	LEFT JOIN content_order o ON o.itemId = s.id AND o.profileId = :profileId AND o.mediaType = 'SERIES' AND o.contextKey = :contextKey
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	LEFT JOIN watch_history h ON h.itemId = s.id AND h.mediaType = 'SERIES' AND h.profileId = :profileId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	ORDER BY (CASE WHEN o.position IS NULL THEN 1 ELSE 0 END), o.position, f.addedAt DESC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	ORDER BY (CASE WHEN o.position IS NULL THEN 1 ELSE 0 END), o.position, f.addedAt DESC LIMIT :limit
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	ORDER BY (CASE WHEN o.position IS NULL THEN 1 ELSE 0 END), o.position, s.sortOrder, s.name
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	ORDER BY (CASE WHEN o.position IS NULL THEN 1 ELSE 0 END), o.position, s.sortOrder, s.name LIMIT :limit
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	ORDER BY sortOrder ASC, name ASC, id ASC
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	ORDER BY sortOrder ASC, name ASC, id ASC LIMIT :limit
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT * FROM episodes WHERE id = :id
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT * FROM episodes WHERE seasonId = :seasonId ORDER BY episodeNumber ASC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT * FROM episodes WHERE seriesId = :seriesId AND remoteId = :remoteId LIMIT 1
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT * FROM episodes WHERE seriesId = :seriesId AND seasonNumber = :season AND episodeNumber = :episode LIMIT 1
2	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT * FROM episodes WHERE seriesId = :seriesId ORDER BY seasonNumber ASC, episodeNumber ASC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT * FROM seasons WHERE seriesId = :seriesId ORDER BY seasonNumber ASC
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT * FROM series WHERE (categoryId = :categoryId OR EXISTS (SELECT 1 FROM provider_category_members pm WHERE pm.sourceId = series.sourceId AND pm.mediaType = 'SERIES' AND pm.remoteId = series.remoteId AND pm.categoryId = :categoryId)) AND name LIKE '%' || :query || '%' ORDER BY addedAt DESC, sortOrder DESC, id DESC
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT * FROM series WHERE (categoryId = :categoryId OR EXISTS (SELECT 1 FROM provider_category_members pm WHERE pm.sourceId = series.sourceId AND pm.mediaType = 'SERIES' AND pm.remoteId = series.remoteId AND pm.categoryId = :categoryId)) AND name LIKE '%' || :query || '%' ORDER BY sortOrder ASC, name ASC
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT * FROM series WHERE (categoryId = :categoryId OR EXISTS (SELECT 1 FROM provider_category_members pm WHERE pm.sourceId = series.sourceId AND pm.mediaType = 'SERIES' AND pm.remoteId = series.remoteId AND pm.categoryId = :categoryId)) ORDER BY addedAt DESC, sortOrder DESC, id DESC
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT * FROM series WHERE (categoryId = :categoryId OR EXISTS (SELECT 1 FROM provider_category_members pm WHERE pm.sourceId = series.sourceId AND pm.mediaType = 'SERIES' AND pm.remoteId = series.remoteId AND pm.categoryId = :categoryId)) ORDER BY name ASC
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT * FROM series WHERE (categoryId = :categoryId OR EXISTS (SELECT 1 FROM provider_category_members pm WHERE pm.sourceId = series.sourceId AND pm.mediaType = 'SERIES' AND pm.remoteId = series.remoteId AND pm.categoryId = :categoryId)) ORDER BY rating DESC, name ASC
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT * FROM series WHERE (categoryId = :categoryId OR EXISTS (SELECT 1 FROM provider_category_members pm WHERE pm.sourceId = series.sourceId AND pm.mediaType = 'SERIES' AND pm.remoteId = series.remoteId AND pm.categoryId = :categoryId)) ORDER BY sortOrder ASC, name ASC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT * FROM series WHERE id = :id
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT * FROM series WHERE id IN (:ids)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT * FROM series WHERE sourceId = :sourceId AND name = :name LIMIT 1
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT * FROM series WHERE sourceId = :sourceId AND remoteId = :remoteId LIMIT 1
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT * FROM series WHERE sourceId = :sourceId AND remoteId IN (:remoteIds)
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT * FROM series WHERE sourceId = :sourceId AND titleSignature = '' LIMIT :limit
2	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT * FROM series WHERE sourceId IN (:sourceIds)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT * FROM series WHERE sourceId IN (:sourceIds) AND name LIKE '%' || :query || '%' ORDER BY addedAt DESC, sortOrder DESC, id DESC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT * FROM series WHERE sourceId IN (:sourceIds) AND name LIKE '%' || :query || '%' ORDER BY name ASC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT * FROM series WHERE sourceId IN (:sourceIds) AND name LIKE '%' || :query || '%' ORDER BY name ASC LIMIT :limit
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT * FROM series WHERE sourceId IN (:sourceIds) ORDER BY addedAt DESC, sortOrder ASC, id DESC LIMIT :limit
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT * FROM series WHERE sourceId IN (:sourceIds) ORDER BY addedAt DESC, sortOrder DESC, id DESC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT * FROM series WHERE sourceId IN (:sourceIds) ORDER BY name ASC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT * FROM series WHERE sourceId IN (:sourceIds) ORDER BY rating DESC, name ASC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT * FROM series WHERE sourceId IN (:sourceIds) ORDER BY sourceId ASC, sortOrder ASC, name ASC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT COUNT(*) FROM episodes WHERE seriesId = :seriesId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT COUNT(*) FROM favorites f INNER JOIN series s ON s.id = f.itemId
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT COUNT(*) FROM series WHERE (categoryId = :categoryId OR EXISTS (SELECT 1 FROM provider_category_members pm WHERE pm.sourceId = series.sourceId AND pm.mediaType = 'SERIES' AND pm.remoteId = series.remoteId AND pm.categoryId = :categoryId))
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT COUNT(*) FROM series WHERE sourceId = :sourceId
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT COUNT(*) FROM series WHERE sourceId = :sourceId AND titleSignature = ''
2	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT COUNT(*) FROM series WHERE sourceId IN (:sourceIds)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT COUNT(*) FROM watch_history h INNER JOIN series s ON s.id = h.itemId
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT COUNT(DISTINCT seasonNumber) FROM episodes WHERE seriesId = :seriesId AND seasonNumber > 0
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT categoryId, COUNT(*) AS itemCount FROM series WHERE sourceId = :sourceId AND categoryId IS NOT NULL GROUP BY categoryId
2	sql	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT id, sourceId, categoryId, name, year, remoteId, sortOrder, canonicalTitle,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT remoteId FROM series WHERE sourceId = :sourceId AND categoryId = :categoryId AND remoteId IS NOT NULL
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT remoteId FROM series WHERE sourceId = :sourceId AND categoryId IN (:categoryIds) AND remoteId IS NOT NULL
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT remoteId FROM series WHERE sourceId = :sourceId AND remoteId IS NOT NULL
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT remoteId, id, contentHash, sortOrder FROM series WHERE sourceId = :sourceId AND remoteId IS NOT NULL
6	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT s.* FROM series s
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT s.* FROM series s INNER JOIN favorites f ON f.itemId = s.id AND f.mediaType = 'SERIES'
3	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT s.* FROM series s INNER JOIN watch_history h ON h.itemId = s.id AND h.mediaType = 'SERIES'
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	SELECT seriesId, COUNT(DISTINCT seasonNumber) AS seasonCount FROM episodes
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	UPDATE series SET episodesSyncedAt = 0 WHERE sourceId = :sourceId AND episodesSyncedAt != 0
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	UPDATE series SET episodesSyncedAt = :at WHERE id = :seriesId
2	sql	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	WHERE (s.categoryId = :categoryId OR EXISTS (SELECT 1 FROM provider_category_members pm WHERE pm.sourceId = s.sourceId AND pm.mediaType = 'SERIES' AND pm.remoteId = s.remoteId AND pm.categoryId = :categoryId))
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	WHERE f.profileId = :profileId AND f.mediaType = 'SERIES' AND s.sourceId IN (:sourceIds)
2	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	WHERE f.profileId = :profileId AND s.sourceId IN (:sourceIds)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	WHERE f.profileId = :profileId AND s.sourceId IN (:sourceIds) AND s.name LIKE '%' || :query || '%' ORDER BY f.addedAt DESC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	WHERE f.profileId = :profileId ORDER BY f.addedAt DESC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	WHERE h.profileId = :profileId AND h.mediaType = 'SERIES' AND s.sourceId IN (:sourceIds)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	WHERE h.profileId = :profileId AND s.sourceId IN (:sourceIds) AND s.name LIKE '%' || :query || '%' ORDER BY h.watchedAt DESC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	WHERE h.profileId = :profileId AND s.sourceId IN (:sourceIds) ORDER BY h.watchedAt DESC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	WHERE h.profileId = :profileId AND s.sourceId IN (:sourceIds) ORDER BY h.watchedAt DESC LIMIT :limit
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	WHERE s.sourceId IN (:sourceIds) AND h.itemId IS NULL ORDER BY f.addedAt DESC LIMIT :limit
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	WHERE seriesId IN (:seriesIds) AND seasonNumber > 0 GROUP BY seriesId
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	WHERE sourceId = :sourceId AND id IN
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	WHERE sourceId = :sourceId AND titleSignature IN (:titleSignatures)
2	sql	core/src/main/java/tv/own/owntv/core/database/dao/SeriesDao.kt	titleSignature, parsedYear, providerLanguage, qualityRank, advertisedCapabilities FROM series
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesSortOrderDao.kt	AND seriesId NOT IN (SELECT id FROM series)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesSortOrderDao.kt	DELETE FROM series_sort_order WHERE profileId = :profileId AND seriesId = :seriesId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesSortOrderDao.kt	DELETE FROM series_sort_order WHERE seriesId NOT IN (SELECT id FROM series)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesSortOrderDao.kt	FROM series_sort_order o JOIN series s ON o.seriesId = s.id WHERE s.sourceId = :sourceId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesSortOrderDao.kt	SELECT * FROM series_sort_order
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesSortOrderDao.kt	SELECT * FROM series_sort_order WHERE profileId = :profileId AND seriesId = :seriesId
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/SeriesSortOrderDao.kt	SELECT id FROM series_sort_order WHERE profileId = :profileId AND seriesId = :seriesId LIMIT 1
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesSortOrderDao.kt	SELECT o.profileId AS profileId, o.seriesId AS seriesId,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesSortOrderDao.kt	o.seasonsDescending AS seasonsDescending, o.episodesDescending AS episodesDescending,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SeriesSortOrderDao.kt	s.sourceId AS sourceId, s.remoteId AS remoteId, s.name AS name
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SourceDao.kt	AND (:hlsSupported = 1 OR hlsSupported != 1)
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SourceDao.kt	DELETE FROM profile_source WHERE profileId = :profileId AND sourceId = :sourceId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SourceDao.kt	DELETE FROM sources
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SourceDao.kt	INNER JOIN profile_source ps ON ps.sourceId = s.id
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SourceDao.kt	SELECT * FROM profile_source
2	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SourceDao.kt	SELECT * FROM sources ORDER BY createdAt ASC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SourceDao.kt	SELECT * FROM sources WHERE id = :id
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SourceDao.kt	SELECT id FROM sources
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SourceDao.kt	SELECT profileId FROM profile_source WHERE sourceId = :sourceId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SourceDao.kt	SELECT s.* FROM sources s
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SourceDao.kt	SELECT sourceId FROM profile_source WHERE profileId = :profileId
2	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SourceDao.kt	UPDATE sources SET hlsSupported = :hlsSupported WHERE id = :id
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SourceDao.kt	UPDATE sources SET lastSyncAt = :timestamp WHERE id = :id
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/SourceDao.kt	UPDATE sources SET livePrerollSecs = :secs WHERE id = :id
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/SourceDao.kt	UPDATE sources SET maxConnections = :maxConnections WHERE id = :id
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SourceDao.kt	WHERE ps.profileId = :profileId ORDER BY s.createdAt ASC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SubtitleDao.kt	DELETE FROM subtitle_cache WHERE id = :id
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SubtitleDao.kt	DELETE FROM subtitle_link WHERE profileId = :profileId AND cacheId = :cacheId
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/SubtitleDao.kt	DELETE FROM subtitle_link WHERE profileId = :profileId AND cacheId = :cacheId AND mediaType = :mediaType
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SubtitleDao.kt	DELETE FROM subtitle_selection WHERE profileId = :profileId AND contentKey = :contentKey
2	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SubtitleDao.kt	FROM subtitle_link l JOIN subtitle_cache c ON c.id = l.cacheId
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/SubtitleDao.kt	SELECT * FROM subtitle_cache
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SubtitleDao.kt	SELECT * FROM subtitle_cache WHERE id = :id LIMIT 1
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SubtitleDao.kt	SELECT * FROM subtitle_cache WHERE openSubFileId = :fileId LIMIT 1
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SubtitleDao.kt	SELECT * FROM subtitle_cache WHERE source = 'LOCAL' AND fileName = :fileName LIMIT 1
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/SubtitleDao.kt	SELECT * FROM subtitle_link
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/SubtitleDao.kt	SELECT * FROM subtitle_selection
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SubtitleDao.kt	SELECT * FROM subtitle_selection WHERE profileId = :profileId AND contentKey = :contentKey LIMIT 1
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/SubtitleDao.kt	SELECT * FROM subtitle_timing
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SubtitleDao.kt	SELECT COUNT(*) FROM subtitle_link WHERE cacheId = :cacheId AND profileId != :profileId
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/SubtitleDao.kt	SELECT COUNT(*) FROM subtitle_link WHERE cacheId = :cacheId AND profileId = :profileId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SubtitleDao.kt	SELECT COUNT(*) FROM subtitle_link WHERE profileId = :profileId AND contentKey = :contentKey
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SubtitleDao.kt	SELECT DISTINCT cacheId FROM subtitle_link WHERE profileId = :profileId AND mediaType = :mediaType
2	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SubtitleDao.kt	SELECT c.id AS cacheId, l.contentKey AS contentKey, l.contentTitle AS contentTitle,
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SubtitleDao.kt	SELECT offsetMs FROM subtitle_timing WHERE profileId = :profileId AND contentKey = :contentKey AND subtitleKey = :subtitleKey LIMIT 1
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SubtitleDao.kt	UPDATE subtitle_cache SET lastUsedAt = :now WHERE id = :id
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SubtitleDao.kt	UPDATE subtitle_selection SET cacheId = NULL WHERE profileId = :profileId AND cacheId = :cacheId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SubtitleDao.kt	WHERE l.profileId = :profileId AND l.contentKey = :contentKey ORDER BY l.addedAt DESC
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SubtitleDao.kt	WHERE l.profileId = :profileId AND l.mediaType = :mediaType ORDER BY l.contentTitle, c.languageName
2	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SubtitleDao.kt	c.cachedPath AS cachedPath, c.openSubFileId AS openSubFileId, l.addedAt AS addedAt
2	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SubtitleDao.kt	c.releaseName AS releaseName, c.format AS format, c.fileName AS fileName,
2	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/SubtitleDao.kt	l.mediaType AS mediaType, c.language AS language, c.languageName AS languageName,
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/TombstoneDao.kt	(SELECT id FROM user_data_tombstones ORDER BY deletedAt DESC LIMIT :keep)
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/TombstoneDao.kt	DELETE FROM user_data_tombstones WHERE id NOT IN
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/TombstoneDao.kt	INSERT INTO user_data_tombstones (profileId, kind, identity, deletedAt) VALUES (:profileId, :kind, :identity, :deletedAt)
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/TombstoneDao.kt	ON CONFLICT(profileId, kind, identity) DO UPDATE SET deletedAt = MAX(deletedAt, :deletedAt)
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/TombstoneDao.kt	SELECT * FROM user_data_tombstones
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/TombstoneDao.kt	SELECT COUNT(*) FROM user_data_tombstones
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/TombstoneDao.kt	SELECT deletedAt FROM user_data_tombstones WHERE profileId = :profileId AND kind = :kind AND identity = :identity
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/TrendingDao.kt	DELETE FROM trending_items WHERE sourceId = :sourceId
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/TrendingDao.kt	DELETE FROM trending_snapshots WHERE sourceId = :sourceId
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/TrendingDao.kt	SELECT * FROM trending_items ORDER BY sourceId, position
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/TrendingDao.kt	SELECT * FROM trending_items WHERE sourceId = :sourceId ORDER BY position
2	sql	core/src/main/java/tv/own/owntv/core/database/dao/TrendingDao.kt	SELECT * FROM trending_items WHERE sourceId IN (:sourceIds) ORDER BY sourceId, position
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/TrendingDao.kt	SELECT * FROM trending_snapshots WHERE sourceId = :sourceId LIMIT 1
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/TrendingDao.kt	SELECT * FROM trending_snapshots WHERE sourceId IN (:sourceIds) ORDER BY sourceId
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/TrendingDao.kt	UPDATE trending_snapshots SET lastAttemptAt = :attemptAt, lastAttemptStatus = 'FAILED',
1	sql	core/src/main/java/tv/own/owntv/core/database/dao/TrendingDao.kt	failureStage = :stage WHERE sourceId = :sourceId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/TvProviderProgramDao.kt	AND mediaType = :mediaType AND groupId = :groupId LIMIT 1
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/TvProviderProgramDao.kt	DELETE FROM tv_provider_programs WHERE profileId = :profileId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/TvProviderProgramDao.kt	DELETE FROM tv_provider_programs WHERE profileId = :profileId AND surface = :surface AND mediaType = :mediaType AND groupId = :groupId
2	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/TvProviderProgramDao.kt	SELECT * FROM tv_provider_programs WHERE profileId = :profileId AND surface = :surface
1	room-schema	core/src/main/java/tv/own/owntv/core/database/dao/TvProviderProgramDao.kt	SELECT * FROM tv_provider_programs WHERE profileId = :profileId ORDER BY surface ASC, lastPublishedAt DESC
4	empty	core/src/main/java/tv/own/owntv/core/database/entity/ContentEntities.kt	\0
4	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/ContentEntities.kt	''
6	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/ContentEntities.kt	0
4	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/ContentEntities.kt	addedAt
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/ContentEntities.kt	categories
16	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/ContentEntities.kt	categoryId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/ContentEntities.kt	channels
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/ContentEntities.kt	epgChannelId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/ContentEntities.kt	episodes
10	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/ContentEntities.kt	id
2	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/ContentEntities.kt	mediaType
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/ContentEntities.kt	movies
20	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/ContentEntities.kt	name
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/ContentEntities.kt	number
2	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/ContentEntities.kt	parsedYear
4	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/ContentEntities.kt	rating
5	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/ContentEntities.kt	remoteId
2	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/ContentEntities.kt	seasonId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/ContentEntities.kt	seasons
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/ContentEntities.kt	series
5	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/ContentEntities.kt	seriesId
10	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/ContentEntities.kt	sortOrder
26	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/ContentEntities.kt	sourceId
2	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/ContentEntities.kt	titleSignature
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/EpgEntities.kt	0
4	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/EpgEntities.kt	epgChannelId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/EpgEntities.kt	epg_channels
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/EpgEntities.kt	epg_programmes
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/EpgEntities.kt	index_epg_programmes_natural_key
5	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/EpgEntities.kt	sourceId
2	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/EpgEntities.kt	startMs
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/EpgEntities.kt	stopMs
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/FtsEntities.kt	channels_fts
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/FtsEntities.kt	episodes_fts
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/FtsEntities.kt	movies_fts
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/FtsEntities.kt	series_fts
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/MetadataEntities.kt	metadata_cache
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/MetadataEntities.kt	metadata_match
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/MetadataEntities.kt	tmdbId
2	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/MetadataEntities.kt	updatedAt
2	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/ProfileEntities.kt	id
2	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/ProfileEntities.kt	profileId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/ProfileEntities.kt	profile_source
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/ProfileEntities.kt	profiles
3	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/ProfileEntities.kt	sourceId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/ProfileEntities.kt	sources
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/ProfileEntities.kt	type
3	json	core/src/main/java/tv/own/owntv/core/database/entity/ProviderCategoryMemberEntity.kt	categoryId
2	json	core/src/main/java/tv/own/owntv/core/database/entity/ProviderCategoryMemberEntity.kt	id
3	json	core/src/main/java/tv/own/owntv/core/database/entity/ProviderCategoryMemberEntity.kt	mediaType
1	json	core/src/main/java/tv/own/owntv/core/database/entity/ProviderCategoryMemberEntity.kt	provider_category_members
3	json	core/src/main/java/tv/own/owntv/core/database/entity/ProviderCategoryMemberEntity.kt	remoteId
4	json	core/src/main/java/tv/own/owntv/core/database/entity/ProviderCategoryMemberEntity.kt	sourceId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/SubtitleEntities.kt	0
5	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/SubtitleEntities.kt	cacheId
3	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/SubtitleEntities.kt	contentKey
5	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/SubtitleEntities.kt	id
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/SubtitleEntities.kt	lastUsedAt
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/SubtitleEntities.kt	mediaType
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/SubtitleEntities.kt	openSubFileId
10	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/SubtitleEntities.kt	profileId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/SubtitleEntities.kt	subtitleKey
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/SubtitleEntities.kt	subtitle_cache
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/SubtitleEntities.kt	subtitle_link
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/SubtitleEntities.kt	subtitle_selection
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/SubtitleEntities.kt	subtitle_timing
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/TrendingEntities.kt	'NEVER'
2	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/TrendingEntities.kt	0
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/TrendingEntities.kt	id
2	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/TrendingEntities.kt	mediaType
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/TrendingEntities.kt	position
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/TrendingEntities.kt	providerItemId
6	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/TrendingEntities.kt	sourceId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/TrendingEntities.kt	tmdbId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/TrendingEntities.kt	trending_items
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/TrendingEntities.kt	trending_snapshots
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/TvProviderEntities.kt	groupId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/TvProviderEntities.kt	id
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/TvProviderEntities.kt	mediaType
3	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/TvProviderEntities.kt	profileId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/TvProviderEntities.kt	surface
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/TvProviderEntities.kt	tv_provider_programs
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/UserDataEntities.kt	__fav__
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/UserDataEntities.kt	contentKey
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/UserDataEntities.kt	content_order
4	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/UserDataEntities.kt	contextKey
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/UserDataEntities.kt	deletedAt
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/UserDataEntities.kt	downloads
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/UserDataEntities.kt	favorites
9	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/UserDataEntities.kt	id
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/UserDataEntities.kt	identity
6	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/UserDataEntities.kt	itemId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/UserDataEntities.kt	kind
8	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/UserDataEntities.kt	mediaType
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/UserDataEntities.kt	playback_prefs
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/UserDataEntities.kt	playback_progress
30	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/UserDataEntities.kt	profileId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/UserDataEntities.kt	seriesId
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/UserDataEntities.kt	series_sort_order
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/UserDataEntities.kt	status
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/UserDataEntities.kt	user_data_tombstones
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/UserDataEntities.kt	watch_history
1	room-schema	core/src/main/java/tv/own/owntv/core/database/entity/UserDataEntities.kt	watchedAt
1	url	core/src/main/java/tv/own/owntv/core/di/DataModule.kt	/player_api.php
1	url	core/src/main/java/tv/own/owntv/core/di/DataModule.kt	127.0.0.1
2	technical	core/src/main/java/tv/own/owntv/core/di/DataModule.kt	User-Agent
1	file-path	core/src/main/java/tv/own/owntv/core/di/DataModule.kt	backgrounds
1	json	core/src/main/java/tv/own/owntv/core/di/DataModule.kt	subtitles
1	sql	core/src/main/java/tv/own/owntv/core/di/DatabaseModule.kt	PRAGMA cache_size=-8000
1	sql	core/src/main/java/tv/own/owntv/core/di/DatabaseModule.kt	PRAGMA synchronous=NORMAL
1	technical	core/src/main/java/tv/own/owntv/core/di/DatabaseModule.kt	db-heal(clean)
1	technical	core/src/main/java/tv/own/owntv/core/di/DatabaseModule.kt	db-heal(repaired)
1	log	core/src/main/java/tv/own/owntv/core/download/DownloadEngine.kt	DownloadManager
1	log	core/src/main/java/tv/own/owntv/core/download/DownloadEngine.kt	Range
1	log	core/src/main/java/tv/own/owntv/core/download/DownloadEngine.kt	User-Agent
1	log	core/src/main/java/tv/own/owntv/core/download/DownloadEngine.kt	bytes=$existing-
1	log	core/src/main/java/tv/own/owntv/core/download/DownloadEngine.kt	download attempt $attempt/$MAX_ATTEMPTS failed id=$id: ${e.message}
1	log	core/src/main/java/tv/own/owntv/core/download/DownloadEngine.kt	download target unavailable id=$id path=${d.filePath}
1	technical	core/src/main/java/tv/own/owntv/core/download/DownloadNotifications.kt	$effectiveLocale:${localized.getString(R.string.common_nav_downloads)}
1	technical	core/src/main/java/tv/own/owntv/core/download/DownloadNotifications.kt	owntv_downloads
1	log	core/src/main/java/tv/own/owntv/core/download/DownloadWorker.kt	owntv-downloads
1	protocol	core/src/main/java/tv/own/owntv/core/drm/DrmConfig.kt	B
1	protocol	core/src/main/java/tv/own/owntv/core/drm/DrmConfig.kt	R
1	protocol	core/src/main/java/tv/own/owntv/core/drm/DrmConfig.kt	R{SSM}
1	technical	core/src/main/java/tv/own/owntv/core/drm/DrmConfig.kt	UTF-8
1	protocol	core/src/main/java/tv/own/owntv/core/drm/DrmConfig.kt	b{SSM}
2	protocol	core/src/main/java/tv/own/owntv/core/drm/DrmConfig.kt	clearkey
1	json	core/src/main/java/tv/own/owntv/core/drm/DrmConfig.kt	headers
1	protocol	core/src/main/java/tv/own/owntv/core/drm/DrmConfig.kt	http://
1	protocol	core/src/main/java/tv/own/owntv/core/drm/DrmConfig.kt	https://
1	json	core/src/main/java/tv/own/owntv/core/drm/DrmConfig.kt	license
1	protocol	core/src/main/java/tv/own/owntv/core/drm/DrmConfig.kt	license_key
1	protocol	core/src/main/java/tv/own/owntv/core/drm/DrmConfig.kt	license_type
1	json	core/src/main/java/tv/own/owntv/core/drm/DrmConfig.kt	scheme
2	protocol	core/src/main/java/tv/own/owntv/core/drm/DrmConfig.kt	widevine
2	empty	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	\0
1	uri	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	$base&$body
1	uri	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	$base?$body
1	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	${g[1]}/streaming/timeshift.php?username=${g[2]}&password=${g[3]}&stream=${g[4]}
1	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	${g[1]}/streaming/timeshift.php?username=${g[2]}&password=${g[3]}&stream=${g[6]}&start=${g[5]}&duration=${g[4]}
1	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	${prefix}archive-$startS-$durationS.ts$query
1	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	${prefix}timeshift_abs-$startS.m3u8$query
1	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	&
1	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	&start=$start&duration=$durationMin
1	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	.m3u8
1	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	.ts
1	uri	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	?
1	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	?$it
1	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	?utc={utc}&lutc={lutc}
1	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	H
1	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	M
1	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	S
2	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	UTC
1	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	Y
1	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	\\$?\\{([A-Za-z_][A-Za-z0-9_-]*)\\}
1	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	^(.+?)/timeshift/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/.]+)\\.(?:ts|m3u8)$
1	regex	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	^(https?://[^/]+)/(?:live/)?([^/]+)/([^/]+)/(\\d+)(?:\\.[A-Za-z0-9]+)?$
1	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	append
1	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	currenttime
3	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	d
1	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	duration
1	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	end
1	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	end-timestamp
1	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	flussonic
2	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	h
1	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	lutc
3	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	m
2	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	min
1	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	mpegts
1	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	now
1	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	offset
2	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	s
1	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	shift
1	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	start
1	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	start-timestamp
1	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	stop
1	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	timenow
1	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	timeshift
1	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	timestamp
1	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	ts
1	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	utc
1	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	utcend
1	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	utcstart
1	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	xc
1	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	xtream
2	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	y
1	protocol	core/src/main/java/tv/own/owntv/core/epg/CatchupUrl.kt	yyyy-MM-dd:HH-mm
5	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	\0
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	0
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	1
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	10
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	1080
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	1080p
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	2
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	2160p
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	3
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	4
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	480p
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	4k
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	5
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	540p
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	6
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	7
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	720
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	720p
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	8
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	8k
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	9
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	[._\\-:|/+]
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	[\\[(\\{][^\\])}]*[\\])}]
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	[^\\p{L}\\p{N} ]
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	\\p{N}+
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	\\s+
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	ae
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	alt
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	america
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	ar
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	arabia
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	arabic
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	argentina
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	at
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	au
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	australia
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	austria
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	backup
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	be
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	belgium
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	bg
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	br
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	brasil
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	brazil
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	bulgaria
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	ca
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	canada
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	ch
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	chile
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	cl
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	co
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	colombia
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	croatia
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	cz
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	czech
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	czechia
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	de
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	denmark
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	deutschland
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	dk
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	ee
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	eg
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	egypt
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	eight
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	england
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	es
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	espana
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	feed
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	fhd
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	fi
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	finland
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	five
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	four
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	fps
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	fr
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	france
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	fullhd
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	germany
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	gr
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	greece
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	h264
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	h265
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	hd
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	hevc
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	holland
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	hq
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	hr
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	hu
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	hungary
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	iceland
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	ie
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	in
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	ireland
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	is
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	it
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	italia
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	italy
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	latino
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	lq
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	lt
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	lu
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	lv
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	mexico
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	multi
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	multisub
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	mx
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	netherlands
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	nine
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	nl
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	no
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	norway
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	nz
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	one
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	pe
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	peru
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	pk
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	pl
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	poland
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	polska
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	portugal
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	pt
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	qa
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	raw
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	ro
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	romania
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	rs
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	ru
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	russia
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	sa
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	scotland
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	sd
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	se
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	serbia
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	seven
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	si
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	six
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	sk
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	slovakia
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	slovenia
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	spain
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	sweden
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	switzerland
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	ten
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	three
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	tr
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	turkey
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	turkiye
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	two
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	ua
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	uhd
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	uk
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	ukraine
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	us
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	usa
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	ve
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	venezuela
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	vip
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	wales
1	protocol	core/src/main/java/tv/own/owntv/core/epg/EpgMatcher.kt	za
1	technical	core/src/main/java/tv/own/owntv/core/epg/EpgSourceStore.kt	EPG
1	technical	core/src/main/java/tv/own/owntv/core/epg/EpgSourceStore.kt	[]
3	json	core/src/main/java/tv/own/owntv/core/epg/EpgSourceStore.kt	at
2	json	core/src/main/java/tv/own/owntv/core/epg/EpgSourceStore.kt	err
2	json	core/src/main/java/tv/own/owntv/core/epg/EpgSourceStore.kt	id
1	preference-key	core/src/main/java/tv/own/owntv/core/epg/EpgSourceStore.kt	migrated_v1
2	json	core/src/main/java/tv/own/owntv/core/epg/EpgSourceStore.kt	name
1	preference-key	core/src/main/java/tv/own/owntv/core/epg/EpgSourceStore.kt	next_id
1	technical	core/src/main/java/tv/own/owntv/core/epg/EpgSourceStore.kt	owntv_epg_sources
1	preference-key	core/src/main/java/tv/own/owntv/core/epg/EpgSourceStore.kt	sources
2	json	core/src/main/java/tv/own/owntv/core/epg/EpgSourceStore.kt	ua
2	json	core/src/main/java/tv/own/owntv/core/epg/EpgSourceStore.kt	url
1	protocol	core/src/main/java/tv/own/owntv/core/home/HomeFeed.kt	${snapshot.mediaType.name}:${snapshot.tmdbId}
1	protocol	core/src/main/java/tv/own/owntv/core/home/HomeFeed.kt	1080p FHD
1	protocol	core/src/main/java/tv/own/owntv/core/home/HomeFeed.kt	4K
1	protocol	core/src/main/java/tv/own/owntv/core/home/HomeFeed.kt	4K UHD
1	protocol	core/src/main/java/tv/own/owntv/core/home/HomeFeed.kt	720p HD
1	protocol	core/src/main/java/tv/own/owntv/core/home/HomeFeed.kt	8K
2	locale	core/src/main/java/tv/own/owntv/core/home/HomeFeed.kt	EN
1	protocol	core/src/main/java/tv/own/owntv/core/home/HomeFeed.kt	FHD
1	protocol	core/src/main/java/tv/own/owntv/core/home/HomeFeed.kt	HD
1	protocol	core/src/main/java/tv/own/owntv/core/home/HomeFeed.kt	SD
1	locale	core/src/main/java/tv/own/owntv/core/home/HomeFeed.kt	en
1	technical	core/src/main/java/tv/own/owntv/core/home/HomeFeed.kt	episode:${episode.id}
1	technical	core/src/main/java/tv/own/owntv/core/home/HomeFeed.kt	live:${channel.id}
1	technical	core/src/main/java/tv/own/owntv/core/home/HomeFeed.kt	movie:${movie.id}
1	empty	core/src/main/java/tv/own/owntv/core/i18n/AppLocale.kt	\0
1	empty	core/src/main/java/tv/own/owntv/core/i18n/LocaleStore.kt	\0
1	technical	core/src/main/java/tv/own/owntv/core/i18n/LocaleStore.kt	Failed to persist application locale
1	assertion	core/src/main/java/tv/own/owntv/core/i18n/LocaleStore.kt	Unsupported application locale: ${tag.trim()}
1	technical	core/src/main/java/tv/own/owntv/core/i18n/LocaleStore.kt	owntv_locale
1	preference-key	core/src/main/java/tv/own/owntv/core/i18n/LocaleStore.kt	ui_language
3	uri	core/src/main/java/tv/own/owntv/core/launcher/LauncherDeepLink.kt	episode
2	uri	core/src/main/java/tv/own/owntv/core/launcher/LauncherDeepLink.kt	episodeRemoteId
6	uri	core/src/main/java/tv/own/owntv/core/launcher/LauncherDeepLink.kt	itemId
2	protocol	core/src/main/java/tv/own/owntv/core/launcher/LauncherDeepLink.kt	live
1	protocol	core/src/main/java/tv/own/owntv/core/launcher/LauncherDeepLink.kt	movie
4	uri	core/src/main/java/tv/own/owntv/core/launcher/LauncherDeepLink.kt	name
1	protocol	core/src/main/java/tv/own/owntv/core/launcher/LauncherDeepLink.kt	open
1	protocol	core/src/main/java/tv/own/owntv/core/launcher/LauncherDeepLink.kt	owntv
1	protocol	core/src/main/java/tv/own/owntv/core/launcher/LauncherDeepLink.kt	owntv://open/live
1	protocol	core/src/main/java/tv/own/owntv/core/launcher/LauncherDeepLink.kt	owntv://play/episode
1	protocol	core/src/main/java/tv/own/owntv/core/launcher/LauncherDeepLink.kt	owntv://play/live
1	protocol	core/src/main/java/tv/own/owntv/core/launcher/LauncherDeepLink.kt	owntv://play/movie
1	protocol	core/src/main/java/tv/own/owntv/core/launcher/LauncherDeepLink.kt	play
4	uri	core/src/main/java/tv/own/owntv/core/launcher/LauncherDeepLink.kt	remoteId
2	uri	core/src/main/java/tv/own/owntv/core/launcher/LauncherDeepLink.kt	season
2	uri	core/src/main/java/tv/own/owntv/core/launcher/LauncherDeepLink.kt	seriesId
2	uri	core/src/main/java/tv/own/owntv/core/launcher/LauncherDeepLink.kt	seriesName
2	uri	core/src/main/java/tv/own/owntv/core/launcher/LauncherDeepLink.kt	seriesRemoteId
2	uri	core/src/main/java/tv/own/owntv/core/launcher/LauncherDeepLink.kt	seriesSourceId
4	uri	core/src/main/java/tv/own/owntv/core/launcher/LauncherDeepLink.kt	sourceId
1	technical	core/src/main/java/tv/own/owntv/core/launcher/LauncherRecommendationPlanner.kt	${episode.seasonNumber}-${episode.episodeNumber}
1	technical	core/src/main/java/tv/own/owntv/core/launcher/LauncherRecommendationPlanner.kt	SHA-256
1	technical	core/src/main/java/tv/own/owntv/core/launcher/LauncherRecommendationPlanner.kt	episode:${show.sourceId}:${show.remoteId ?: show.name}:${episode.remoteId ?: "${episode.seasonNumber}-${episode.episodeNumber}"}
1	technical	core/src/main/java/tv/own/owntv/core/launcher/LauncherRecommendationPlanner.kt	live:${channel.sourceId}:${channel.remoteId ?: channel.name}
1	technical	core/src/main/java/tv/own/owntv/core/launcher/LauncherRecommendationPlanner.kt	movie:${movie.sourceId}:${movie.remoteId ?: movie.name}
1	log	core/src/main/java/tv/own/owntv/core/live/LiveEpgReader.kt	OwnTVHome
1	log	core/src/main/java/tv/own/owntv/core/live/LiveEpgReader.kt	OwnTVPerf
1	log	core/src/main/java/tv/own/owntv/core/live/LiveEpgReader.kt	Stalker catch-up resolve failed channelId=${ch.id}
1	log	core/src/main/java/tv/own/owntv/core/live/LiveEpgReader.kt	Stalker rewind resolve failed channelId=${ch.id}
1	log	core/src/main/java/tv/own/owntv/core/live/LiveEpgReader.kt	epg_picker scanned=${all.size} ranked=${ranked.size}
1	log	core/src/main/java/tv/own/owntv/core/live/LiveEpgReader.kt	queryMs=${fetchedAt - startedAt} rankMs=${done - fetchedAt} totalMs=${done - startedAt}
1	uri	core/src/main/java/tv/own/owntv/core/live/LiveEpgReader.kt	ts
2	preference-key	core/src/main/java/tv/own/owntv/core/live/LiveKey.kt	ALL
2	preference-key	core/src/main/java/tv/own/owntv/core/live/LiveKey.kt	CATCHUP
2	preference-key	core/src/main/java/tv/own/owntv/core/live/LiveKey.kt	CUSTOM:
1	preference-key	core/src/main/java/tv/own/owntv/core/live/LiveKey.kt	CUSTOM:$id
2	preference-key	core/src/main/java/tv/own/owntv/core/live/LiveKey.kt	FAV
2	preference-key	core/src/main/java/tv/own/owntv/core/live/LiveKey.kt	FOLDER:
1	preference-key	core/src/main/java/tv/own/owntv/core/live/LiveKey.kt	FOLDER:$id
2	preference-key	core/src/main/java/tv/own/owntv/core/live/LiveKey.kt	HIST
1	empty	core/src/main/java/tv/own/owntv/core/live/LiveQueries.kt	\0
1	preference-key	core/src/main/java/tv/own/owntv/core/menu/ContentMenus.kt	catchup
2	preference-key	core/src/main/java/tv/own/owntv/core/menu/ContentMenus.kt	delete_subtitles
3	preference-key	core/src/main/java/tv/own/owntv/core/menu/ContentMenus.kt	download
1	preference-key	core/src/main/java/tv/own/owntv/core/menu/ContentMenus.kt	epg_offset
3	preference-key	core/src/main/java/tv/own/owntv/core/menu/ContentMenus.kt	favourite
3	preference-key	core/src/main/java/tv/own/owntv/core/menu/ContentMenus.kt	hide
2	preference-key	core/src/main/java/tv/own/owntv/core/menu/ContentMenus.kt	mark_watched
1	preference-key	core/src/main/java/tv/own/owntv/core/menu/ContentMenus.kt	match_epg
3	preference-key	core/src/main/java/tv/own/owntv/core/menu/ContentMenus.kt	move
3	preference-key	core/src/main/java/tv/own/owntv/core/menu/ContentMenus.kt	move_to_category
3	preference-key	core/src/main/java/tv/own/owntv/core/menu/ContentMenus.kt	play_external
2	preference-key	core/src/main/java/tv/own/owntv/core/menu/ContentMenus.kt	play_trailer
3	preference-key	core/src/main/java/tv/own/owntv/core/menu/ContentMenus.kt	refetch_tmdb
3	preference-key	core/src/main/java/tv/own/owntv/core/menu/ContentMenus.kt	remove_history
1	preference-key	core/src/main/java/tv/own/owntv/core/menu/ContentMenus.kt	rename
2	preference-key	core/src/main/java/tv/own/owntv/core/menu/ContentMenus.kt	set_tmdb_name
3	preference-key	core/src/main/java/tv/own/owntv/core/menu/ContentMenus.kt	tmdb_details
4	url	core/src/main/java/tv/own/owntv/core/metadata/MetadataImages.kt	${TmdbProvider.IMAGE_BASE}/$size${it.ensureLeadingSlash()}
1	url	core/src/main/java/tv/own/owntv/core/metadata/MetadataImages.kt	/
1	url	core/src/main/java/tv/own/owntv/core/metadata/MetadataImages.kt	/$this
2	url	core/src/main/java/tv/own/owntv/core/metadata/MetadataImages.kt	w500
1	url	core/src/main/java/tv/own/owntv/core/metadata/MetadataImages.kt	w780
1	empty	core/src/main/java/tv/own/owntv/core/metadata/MetadataOverrideStore.kt	\0
1	preference-key	core/src/main/java/tv/own/owntv/core/metadata/MetadataOverrideStore.kt	overrides
1	technical	core/src/main/java/tv/own/owntv/core/metadata/MetadataOverrideStore.kt	owntv_tmdb_overrides
2	json	core/src/main/java/tv/own/owntv/core/metadata/MetadataOverrideStore.kt	t
2	json	core/src/main/java/tv/own/owntv/core/metadata/MetadataOverrideStore.kt	y
5	empty	core/src/main/java/tv/own/owntv/core/metadata/MetadataProvider.kt	\0
1	locale	core/src/main/java/tv/own/owntv/core/metadata/MetadataProvider.kt	$lang-${l.country}
1	locale	core/src/main/java/tv/own/owntv/core/metadata/MetadataProvider.kt	auto
1	protocol	core/src/main/java/tv/own/owntv/core/metadata/MetadataRepository.kt	$TYPE_MOVIE:$tmdbId
1	protocol	core/src/main/java/tv/own/owntv/core/metadata/MetadataRepository.kt	$TYPE_MOVIE:${movie.sourceId}:${movie.remoteId ?: movie.name}
1	json	core/src/main/java/tv/own/owntv/core/metadata/MetadataRepository.kt	$TYPE_TV:$lang:$tvId:s$season:fetched
1	protocol	core/src/main/java/tv/own/owntv/core/metadata/MetadataRepository.kt	$TYPE_TV:$tmdbId
1	json	core/src/main/java/tv/own/owntv/core/metadata/MetadataRepository.kt	$TYPE_TV:$tvId:s$season:fetched
1	protocol	core/src/main/java/tv/own/owntv/core/metadata/MetadataRepository.kt	$TYPE_TV:$tvId:s${season}e$episode
1	protocol	core/src/main/java/tv/own/owntv/core/metadata/MetadataRepository.kt	$TYPE_TV:${series.sourceId}:${series.remoteId ?: series.name}
1	preference-key	core/src/main/java/tv/own/owntv/core/metadata/MetadataRepository.kt	$localKey:kids
1	protocol	core/src/main/java/tv/own/owntv/core/metadata/MetadataRepository.kt	MetadataRepository
1	protocol	core/src/main/java/tv/own/owntv/core/metadata/MetadataRepository.kt	episode
1	protocol	core/src/main/java/tv/own/owntv/core/metadata/MetadataRepository.kt	movie
1	log	core/src/main/java/tv/own/owntv/core/metadata/MetadataRepository.kt	negative-match heal failed: ${it.message}
1	protocol	core/src/main/java/tv/own/owntv/core/metadata/MetadataRepository.kt	resolveMovie search failed: ${it.message}
1	protocol	core/src/main/java/tv/own/owntv/core/metadata/MetadataRepository.kt	resolveSeries search failed: ${it.message}
1	json	core/src/main/java/tv/own/owntv/core/metadata/MetadataRepository.kt	season_fetched
1	protocol	core/src/main/java/tv/own/owntv/core/metadata/MetadataRepository.kt	tv
1	preference-key	core/src/main/java/tv/own/owntv/core/metadata/OwnTVClientId.kt	client_id
1	preference-key	core/src/main/java/tv/own/owntv/core/metadata/OwnTVClientId.kt	owntv_client_id
1	regex	core/src/main/java/tv/own/owntv/core/metadata/TitleMatchScorer.kt	\\s+
10	empty	core/src/main/java/tv/own/owntv/core/metadata/TitleNormalizer.kt	\0
1	technical	core/src/main/java/tv/own/owntv/core/metadata/TitleNormalizer.kt	(?:\\s*(?:e|ep|episode|x)\\s*\\d{1,4})?\\s*$
1	regex	core/src/main/java/tv/own/owntv/core/metadata/TitleNormalizer.kt	(?i)[\\s\\-–—:._]*(?:(?:season|saison|temporada|staffel)\\s*\\d{1,2}|s\\d{1,2})
1	regex	core/src/main/java/tv/own/owntv/core/metadata/TitleNormalizer.kt	(?i)\\b(4k|uhd|fhd|hd|sd|hevc|h\\.?265|h\\.?264|x265|x264|hdr10?\\+?|dolby|atmos|
1	technical	core/src/main/java/tv/own/owntv/core/metadata/TitleNormalizer.kt	10bit|8bit|60fps|50fps|aac|e?ac3|dts|ddp?|[257]\\.1|hdtc|hdcam|camrip)\\b
1	regex	core/src/main/java/tv/own/owntv/core/metadata/TitleNormalizer.kt	[\\[(]?\\b(19\\d{2}|20\\d{2})\\b[\\])]?
1	regex	core/src/main/java/tv/own/owntv/core/metadata/TitleNormalizer.kt	[\\[{(][^\\[\\]{}()]*[\\]})]
1	regex	core/src/main/java/tv/own/owntv/core/metadata/TitleNormalizer.kt	[🇦-🇿]
1	regex	core/src/main/java/tv/own/owntv/core/metadata/TitleNormalizer.kt	\\s+(?:FR|EN|DE|ES|PT|NL|PL|TR|AR|RU|LAT|SUB|DUB|MULTI)$
1	regex	core/src/main/java/tv/own/owntv/core/metadata/TitleNormalizer.kt	\\s{2,}
1	regex	core/src/main/java/tv/own/owntv/core/metadata/TitleNormalizer.kt	^[\\s\\-–—|:._]+|[\\s\\-–—|:._]+$
1	regex	core/src/main/java/tv/own/owntv/core/metadata/TitleNormalizer.kt	^\\s*([0-9A-Z][0-9A-Z+\\-]*(?:\\s+[0-9A-Z+\\-]+)*)\\s+-\\s+
1	regex	core/src/main/java/tv/own/owntv/core/metadata/TitleNormalizer.kt	^\\s*[A-Z0-9+]{1,8}\\s*[|:]\\s*
1	technical	core/src/main/java/tv/own/owntv/core/metadata/TitleNormalizer.kt	imax|extended|uncut|remastered|vip|
1	technical	core/src/main/java/tv/own/owntv/core/metadata/TitleNormalizer.kt	multi[- ]?sub|multisub|dual[- ]?audio|remux|web[- ]?dl|webrip|bluray|bdrip|dvdrip|hdrip|
1	technical	core/src/main/java/tv/own/owntv/core/metadata/TitleNormalizer.kt	vostfr|vost|vf|subbed|dubbed|dublado|legendado|castellano|truefrench|hdlight|
3	empty	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	\0
1	protocol	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	$base,en,null
5	protocol	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	&api_key=
1	protocol	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	&first_air_date_year=$year
1	protocol	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	&include_adult=
1	protocol	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	&include_image_language=
2	protocol	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	&language=
1	protocol	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	&year=$year
1	protocol	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	.svg
1	protocol	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	/3/movie/
1	protocol	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	/3/search/movie
1	protocol	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	/3/search/tv
1	url	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	/3/trending/
2	protocol	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	/3/tv/
1	url	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	/day
3	protocol	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	?
1	url	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	?append_to_response=
2	protocol	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	?append_to_response=credits,external_ids,videos,images
1	url	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	?page=
1	protocol	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	?query=
1	log	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	OwnTVSpend
1	log	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	TMDB Trending parse failed type=$type page=$page
1	protocol	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	Teaser
1	log	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	TmdbProvider
1	protocol	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	Trailer
3	protocol	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	UTF-8
1	protocol	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	YouTube
1	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	adult
1	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	air_date
2	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	backdrop_path
1	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	cast
1	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	credits
3	locale	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	en
1	protocol	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	en,null
1	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	episode_number
1	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	episodes
2	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	external_ids
1	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	file_path
2	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	first_air_date
2	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	genres
1	url	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	https://api.themoviedb.org
1	url	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	https://image.tmdb.org/t/p
1	url	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	https://owntv-tmdb-meta.xiannero.workers.dev
1	url	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	https://tmdb.owntv.me
3	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	id
1	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	images
3	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	imdb_id
1	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	iso_639_1
1	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	key
1	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	logos
1	protocol	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	movie
6	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	name
14	protocol	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	null
1	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	official
1	technical	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	original_name
1	technical	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	original_title
4	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	overview
1	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	popularity
3	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	poster_path
2	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	release_date
2	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	results
1	log	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	season bundle tv=$tvId seasons=${wanted.firstOrNull()}..${wanted.lastOrNull()}
1	url	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	season/$it
1	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	season/$season
1	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	season_number
1	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	site
1	log	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	spend: $label
1	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	still_path
2	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	title
1	protocol	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	tv
1	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	type
1	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	videos
3	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	vote_average
1	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	width
1	protocol	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	x-owntv-client
1	protocol	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	x-owntv-key
1	protocol	core/src/main/java/tv/own/owntv/core/metadata/TmdbProvider.kt	x-owntv-version
1	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbTrendingParser.kt	backdrop_path
1	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbTrendingParser.kt	first_air_date
1	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbTrendingParser.kt	id
1	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbTrendingParser.kt	name
1	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbTrendingParser.kt	null
1	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbTrendingParser.kt	original_name
1	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbTrendingParser.kt	original_title
1	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbTrendingParser.kt	overview
1	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbTrendingParser.kt	page
1	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbTrendingParser.kt	popularity
1	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbTrendingParser.kt	poster_path
1	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbTrendingParser.kt	release_date
1	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbTrendingParser.kt	results
1	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbTrendingParser.kt	title
1	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbTrendingParser.kt	total_pages
1	json	core/src/main/java/tv/own/owntv/core/metadata/TmdbTrendingParser.kt	vote_average
2	preference-key	core/src/main/java/tv/own/owntv/core/model/HomeRow.kt	favoriteLiveMode
1	technical	core/src/main/java/tv/own/owntv/core/model/HomeRow.kt	heroIncludeLive
1	technical	core/src/main/java/tv/own/owntv/core/model/HomeRow.kt	heroIncludeMovies
1	technical	core/src/main/java/tv/own/owntv/core/model/HomeRow.kt	heroIncludeSeries
2	preference-key	core/src/main/java/tv/own/owntv/core/model/HomeRow.kt	heroLive
2	preference-key	core/src/main/java/tv/own/owntv/core/model/HomeRow.kt	heroMovies
2	preference-key	core/src/main/java/tv/own/owntv/core/model/HomeRow.kt	heroSeries
3	json	core/src/main/java/tv/own/owntv/core/model/HomeRow.kt	hidden
2	json	core/src/main/java/tv/own/owntv/core/model/HomeRow.kt	order
2	preference-key	core/src/main/java/tv/own/owntv/core/model/HomeRow.kt	recentLiveMode
2	json	core/src/main/java/tv/own/owntv/core/model/HomeRow.kt	trendingStyle
1	log	core/src/main/java/tv/own/owntv/core/network/DnsConfig.kt	DoH lookup failed for $hostname, falling back to system DNS
1	log	core/src/main/java/tv/own/owntv/core/network/DnsConfig.kt	DoH lookup returned no addresses for $hostname, falling back to system DNS
1	log	core/src/main/java/tv/own/owntv/core/network/DnsConfig.kt	UDP DNS lookup failed for $hostname via $server:$port, falling back to system DNS
1	log	core/src/main/java/tv/own/owntv/core/network/DnsConfig.kt	UDP DNS timeout for $hostname via $server:$port, falling back to system DNS
1	log	core/src/main/java/tv/own/owntv/core/network/HttpClient.kt	\0
1	log	core/src/main/java/tv/own/owntv/core/network/HttpClient.kt	$1***@
2	log	core/src/main/java/tv/own/owntv/core/network/HttpClient.kt	$1=***
1	regex	core/src/main/java/tv/own/owntv/core/network/HttpClient.kt	$1•••
1	regex	core/src/main/java/tv/own/owntv/core/network/HttpClient.kt	$1•••/•••
1	log	core/src/main/java/tv/own/owntv/core/network/HttpClient.kt	$1•••/•••/
1	regex	core/src/main/java/tv/own/owntv/core/network/HttpClient.kt	(?i)(/playback/hls/)[^/?#\\s]+/[^/?#\\s]+
1	regex	core/src/main/java/tv/own/owntv/core/network/HttpClient.kt	(?i)(/playback/stream/)[^/?#\\s]+
1	log	core/src/main/java/tv/own/owntv/core/network/HttpClient.kt	(?i)(://)([^/@:]+)(:[^/@]*)?@
1	log	core/src/main/java/tv/own/owntv/core/network/HttpClient.kt	(?i)(://[^/]+/(?:live|movie|series|vod|timeshift)/)([^/]+)/([^/]+)/
1	log	core/src/main/java/tv/own/owntv/core/network/HttpClient.kt	(?i)(username|password|user|pass|token)=[^&]*
1	technical	core/src/main/java/tv/own/owntv/core/network/HttpClient.kt	(?i)(username|password|user|pass|token|data|auth|signature|sig|key)=[^&]*
1	log	core/src/main/java/tv/own/owntv/core/network/HttpClient.kt	Content-Encoding
1	log	core/src/main/java/tv/own/owntv/core/network/HttpClient.kt	GET body done url=$safeUrl totalMs=${SystemClock.elapsedRealtime() - startedAt}
1	log	core/src/main/java/tv/own/owntv/core/network/HttpClient.kt	GET body progress url=$label bytes=$bytesRead total=${totalBytes ?: -1}
1	log	core/src/main/java/tv/own/owntv/core/network/HttpClient.kt	GET failed for $safeUrl
1	log	core/src/main/java/tv/own/owntv/core/network/HttpClient.kt	GET failed url=$safeUrl attempt=$attempt/$attempts totalMs=${SystemClock.elapsedRealtime() - startedAt}
1	log	core/src/main/java/tv/own/owntv/core/network/HttpClient.kt	GET headers url=$safeUrl code=${response.code} contentLength=${totalBytes ?: -1}
1	log	core/src/main/java/tv/own/owntv/core/network/HttpClient.kt	GET start url=$safeUrl ua=${ua.take(48)} attempt=$attempt/$attempts
1	log	core/src/main/java/tv/own/owntv/core/network/HttpClient.kt	HTTP ${response.code} for ${redact(url)}
2	log	core/src/main/java/tv/own/owntv/core/network/HttpClient.kt	HttpClient
1	log	core/src/main/java/tv/own/owntv/core/network/HttpClient.kt	User-Agent
1	log	core/src/main/java/tv/own/owntv/core/network/HttpClient.kt	VLC/3.0.20 LibVLC/3.0.20
1	log	core/src/main/java/tv/own/owntv/core/network/HttpClient.kt	contentEncoding=${response.header("Content-Encoding").orEmpty()} headersMs=${headersAt - startedAt}
1	log	core/src/main/java/tv/own/owntv/core/network/HttpClient.kt	deltaBytes=$bytesDelta deltaMs=$timeDelta kbps=$kbps
1	log	core/src/main/java/tv/own/owntv/core/network/HttpClient.kt	elapsedMs=${now - startedAt}
1	log	core/src/main/java/tv/own/owntv/core/network/HttpClient.kt	message=${e.message}${if (retrying) " retrying" else ""}
1	log	core/src/main/java/tv/own/owntv/core/network/HttpClient.kt	readCalls=$readCalls readBlockedMs=$readBlockedMs maxReadMs=$maxReadMs
1	log	core/src/main/java/tv/own/owntv/core/network/HttpClient.kt	retrying
4	log	core/src/main/java/tv/own/owntv/core/network/ProxyConfig.kt	\0
1	log	core/src/main/java/tv/own/owntv/core/network/ProxyConfig.kt	$u:$p@
2	log	core/src/main/java/tv/own/owntv/core/network/ProxyConfig.kt	Proxy-Authorization
2	log	core/src/main/java/tv/own/owntv/core/network/ProxyConfig.kt	UTF-8
1	log	core/src/main/java/tv/own/owntv/core/network/ProxyConfig.kt	http://$auth${c.host}:${c.port}
1	empty	core/src/main/java/tv/own/owntv/core/network/StreamHeaders.kt	\0
1	protocol	core/src/main/java/tv/own/owntv/core/network/StreamHeaders.kt	$name: $value
1	protocol	core/src/main/java/tv/own/owntv/core/network/StreamHeaders.kt	${it.key}: ${it.value}
1	protocol	core/src/main/java/tv/own/owntv/core/network/StreamHeaders.kt	,
1	protocol	core/src/main/java/tv/own/owntv/core/network/StreamHeaders.kt	Authorization
1	protocol	core/src/main/java/tv/own/owntv/core/network/StreamHeaders.kt	Cookie
1	protocol	core/src/main/java/tv/own/owntv/core/network/StreamHeaders.kt	Origin
2	protocol	core/src/main/java/tv/own/owntv/core/network/StreamHeaders.kt	Referer
3	protocol	core/src/main/java/tv/own/owntv/core/network/StreamHeaders.kt	User-Agent
1	protocol	core/src/main/java/tv/own/owntv/core/network/StreamHeaders.kt	X-Forwarded-For
1	protocol	core/src/main/java/tv/own/owntv/core/network/StreamHeaders.kt	authorization
1	protocol	core/src/main/java/tv/own/owntv/core/network/StreamHeaders.kt	connection
1	protocol	core/src/main/java/tv/own/owntv/core/network/StreamHeaders.kt	content-length
1	protocol	core/src/main/java/tv/own/owntv/core/network/StreamHeaders.kt	cookie
1	protocol	core/src/main/java/tv/own/owntv/core/network/StreamHeaders.kt	host
1	protocol	core/src/main/java/tv/own/owntv/core/network/StreamHeaders.kt	origin
1	protocol	core/src/main/java/tv/own/owntv/core/network/StreamHeaders.kt	range
1	protocol	core/src/main/java/tv/own/owntv/core/network/StreamHeaders.kt	referer
1	protocol	core/src/main/java/tv/own/owntv/core/network/StreamHeaders.kt	referrer
1	protocol	core/src/main/java/tv/own/owntv/core/network/StreamHeaders.kt	transfer-encoding
1	protocol	core/src/main/java/tv/own/owntv/core/network/StreamHeaders.kt	user-agent
1	protocol	core/src/main/java/tv/own/owntv/core/network/StreamHeaders.kt	x-forwarded-for
1	empty	core/src/main/java/tv/own/owntv/core/parser/M3uParser.kt	\0
1	protocol	core/src/main/java/tv/own/owntv/core/parser/M3uParser.kt	#
1	technical	core/src/main/java/tv/own/owntv/core/parser/M3uParser.kt	#EXTHTTP:
1	protocol	core/src/main/java/tv/own/owntv/core/parser/M3uParser.kt	#EXTINF
1	protocol	core/src/main/java/tv/own/owntv/core/parser/M3uParser.kt	#EXTM3U
1	technical	core/src/main/java/tv/own/owntv/core/parser/M3uParser.kt	#EXTVLCOPT:
1	technical	core/src/main/java/tv/own/owntv/core/parser/M3uParser.kt	#KODIPROP:
1	technical	core/src/main/java/tv/own/owntv/core/parser/M3uParser.kt	.manifest_headers
1	technical	core/src/main/java/tv/own/owntv/core/parser/M3uParser.kt	.stream_header
1	technical	core/src/main/java/tv/own/owntv/core/parser/M3uParser.kt	.stream_headers
1	technical	core/src/main/java/tv/own/owntv/core/parser/M3uParser.kt	://
2	protocol	core/src/main/java/tv/own/owntv/core/parser/M3uParser.kt	="
1	protocol	core/src/main/java/tv/own/owntv/core/parser/M3uParser.kt	M3uParser
1	technical	core/src/main/java/tv/own/owntv/core/parser/M3uParser.kt	UTF-8
1	protocol	core/src/main/java/tv/own/owntv/core/parser/M3uParser.kt	catchup
1	protocol	core/src/main/java/tv/own/owntv/core/parser/M3uParser.kt	catchup-days
1	protocol	core/src/main/java/tv/own/owntv/core/parser/M3uParser.kt	catchup-source
1	protocol	core/src/main/java/tv/own/owntv/core/parser/M3uParser.kt	catchup-type
1	protocol	core/src/main/java/tv/own/owntv/core/parser/M3uParser.kt	group-title
2	technical	core/src/main/java/tv/own/owntv/core/parser/M3uParser.kt	http-
2	protocol	core/src/main/java/tv/own/owntv/core/parser/M3uParser.kt	movie
1	protocol	core/src/main/java/tv/own/owntv/core/parser/M3uParser.kt	parse end entries=$entries totalMs=${SystemClock.elapsedRealtime() - startedAt}
1	protocol	core/src/main/java/tv/own/owntv/core/parser/M3uParser.kt	parse progress entries=$entries deltaMs=${now - lastLogAt}
1	protocol	core/src/main/java/tv/own/owntv/core/parser/M3uParser.kt	parse start
1	protocol	core/src/main/java/tv/own/owntv/core/parser/M3uParser.kt	parseOrReadMs=$parseOrReadDelta callbackMs=$callbackDelta
2	protocol	core/src/main/java/tv/own/owntv/core/parser/M3uParser.kt	series
1	protocol	core/src/main/java/tv/own/owntv/core/parser/M3uParser.kt	totalMs=${now - startedAt}
1	protocol	core/src/main/java/tv/own/owntv/core/parser/M3uParser.kt	totalParseOrReadMs=${metrics.parseOrReadMs} totalCallbackMs=${metrics.callbackMs}
1	protocol	core/src/main/java/tv/own/owntv/core/parser/M3uParser.kt	tvg-chno
1	protocol	core/src/main/java/tv/own/owntv/core/parser/M3uParser.kt	tvg-id
1	protocol	core/src/main/java/tv/own/owntv/core/parser/M3uParser.kt	tvg-logo
1	protocol	core/src/main/java/tv/own/owntv/core/parser/M3uParser.kt	tvg-type
1	protocol	core/src/main/java/tv/own/owntv/core/parser/M3uParser.kt	type
1	protocol	core/src/main/java/tv/own/owntv/core/parser/M3uParser.kt	url-tvg
2	protocol	core/src/main/java/tv/own/owntv/core/parser/M3uParser.kt	vod
1	protocol	core/src/main/java/tv/own/owntv/core/parser/M3uParser.kt	x-tvg-url
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XmltvParser.kt	\0
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XmltvParser.kt	Skipping malformed <channel> element
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XmltvParser.kt	Skipping malformed <programme> element
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XmltvParser.kt	XmltvParser
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XmltvParser.kt	callbackMs=${metrics.callbackMs} totalMs=${SystemClock.elapsedRealtime() - startedAt}
3	protocol	core/src/main/java/tv/own/owntv/core/parser/XmltvParser.kt	channel
2	protocol	core/src/main/java/tv/own/owntv/core/parser/XmltvParser.kt	channelFilterHit=${metrics.channelFilterHit} channelFilterMiss=${metrics.channelFilterMiss}
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XmltvParser.kt	deltaMs=${now - lastLogAt}
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XmltvParser.kt	desc
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XmltvParser.kt	display-name
2	protocol	core/src/main/java/tv/own/owntv/core/parser/XmltvParser.kt	duplicateChannelsSkipped=${metrics.duplicateChannelsSkipped}
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XmltvParser.kt	http://
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XmltvParser.kt	http://xmlpull.org/v1/doc/features.html#relaxed
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XmltvParser.kt	https://
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XmltvParser.kt	icon
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XmltvParser.kt	id
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XmltvParser.kt	parse end channels=$channels programmes=$programmes skipped=${metrics.skippedProgrammes}
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XmltvParser.kt	parse progress items=$items channels=$channels programmes=$programmes skipped=${metrics.skippedProgrammes}
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XmltvParser.kt	parse start channelFilterSize=${normalizedFilter?.size ?: 0}
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XmltvParser.kt	parseOrReadMs=$parseOrReadDelta callbackMs=$callbackDelta
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XmltvParser.kt	parseOrReadMs=${metrics.parseOrReadMs}
2	protocol	core/src/main/java/tv/own/owntv/core/parser/XmltvParser.kt	programme
2	protocol	core/src/main/java/tv/own/owntv/core/parser/XmltvParser.kt	programmeFilterHit=${metrics.programmeFilterHit} programmeFilterMiss=${metrics.programmeFilterMiss}
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XmltvParser.kt	src
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XmltvParser.kt	start
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XmltvParser.kt	stop
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XmltvParser.kt	title
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XmltvParser.kt	totalMs=${now - startedAt}
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XmltvParser.kt	totalParseOrReadMs=${metrics.parseOrReadMs} totalCallbackMs=${metrics.callbackMs}
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XmltvParser.kt	—
2	protocol	core/src/main/java/tv/own/owntv/core/parser/XmltvTime.kt	\0
7	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	\0
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	#EXTM3U
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	${base(s)}/live/${s.username}/${s.password}/$streamId.m3u8
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	${base(s)}/live/${s.username}/${s.password}/$streamId.ts
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	${base(s)}/movie/${s.username}/${s.password}/$streamId.${ext ?: "mp4"}
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	${base(s)}/player_api.php?username=$u&password=$p
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	${base(s)}/player_api.php?username=$u&password=$p&action=$action$extra
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	${base(s)}/series/${s.username}/${s.password}/$episodeId.${ext ?: "mp4"}
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	${base(s)}/xmltv.php?username=$u&password=$p
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	&category_id=$it
1	technical	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	&series_id=${URLEncoder.encode(seriesId, "UTF-8")}
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	&stream_id=$streamId&limit=$limit
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	0
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	1
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	Stream truncated after $count items label=$label — partial list kept
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	UTC
7	technical	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	UTF-8
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	XtreamClient
1	json	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	active_cons
2	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	added
1	json	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	auth
4	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	category_id
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	category_name
2	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	container_extension
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	cover
2	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	description
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	epg_channel_id
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	epg_listings
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	episode_num
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	episodes
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	exp_date
1	log	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	firstLiveStreamId failed for source ${s.id}
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	get_live_categories
2	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	get_live_streams
2	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	get_series
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	get_series_categories
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	get_series_info
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	get_short_epg
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	get_vod_categories
2	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	get_vod_streams
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	id
1	json	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	is_trial
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	last_modified
1	technical	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	max_connections
2	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	mp4
3	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	name
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	num
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	objects
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	parseOrReadMs=$parseOrReadDelta callbackMs=$callbackDelta
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	parseOrReadMs=${metrics.parseOrReadMs} callbackMs=${metrics.callbackMs}
2	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	plot
1	log	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	probeHls failed for source ${s.id}
1	log	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	probeTsPlayable failed for source ${s.id}
2	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	rating
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	season
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	series_id
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	start_timestamp
1	json	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	status
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	stop_timestamp
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	streamArray end count=$count label=$label totalMs=${SystemClock.elapsedRealtime() - startedAt}
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	streamArray non-array label=$label totalMs=${SystemClock.elapsedRealtime() - startedAt}
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	streamArray parsed count=$count label=$label deltaMs=${now - lastLogAt}
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	streamArray start label=$label
2	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	stream_icon
2	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	stream_id
2	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	title
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	totalMs=${SystemClock.elapsedRealtime() - startedAt}
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	totalMs=${now - startedAt}
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	totalParseOrReadMs=${metrics.parseOrReadMs} totalCallbackMs=${metrics.callbackMs}
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	tv_archive
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	tv_archive_duration
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	user_info
2	json	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	year
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	yyyy-MM-dd:HH-mm
1	protocol	core/src/main/java/tv/own/owntv/core/parser/XtreamClient.kt	—
1	preference-key	core/src/main/java/tv/own/owntv/core/player/ArchiveDecodeStore.kt	owntv_archive_decode
1	preference-key	core/src/main/java/tv/own/owntv/core/player/ArchiveDecodeStore.kt	software_archive_hosts
1	preference-key	core/src/main/java/tv/own/owntv/core/player/AudioOnlyStore.kt	keys
1	preference-key	core/src/main/java/tv/own/owntv/core/player/AudioOnlyStore.kt	owntv_audio_only
1	technical	core/src/main/java/tv/own/owntv/core/player/EnginePinKey.kt	$sourceId:$mediaType:$it
2	empty	core/src/main/java/tv/own/owntv/core/player/ExternalPlayerLauncher.kt	\0
1	protocol	core/src/main/java/tv/own/owntv/core/player/ExternalPlayerLauncher.kt	.fileprovider
1	protocol	core/src/main/java/tv/own/owntv/core/player/ExternalPlayerLauncher.kt	3gp
3	protocol	core/src/main/java/tv/own/owntv/core/player/ExternalPlayerLauncher.kt	User-Agent
1	protocol	core/src/main/java/tv/own/owntv/core/player/ExternalPlayerLauncher.kt	android.media.intent.extra.HTTP_HEADERS
1	mime	core/src/main/java/tv/own/owntv/core/player/ExternalPlayerLauncher.kt	application/x-mpegURL
1	protocol	core/src/main/java/tv/own/owntv/core/player/ExternalPlayerLauncher.kt	headers
1	protocol	core/src/main/java/tv/own/owntv/core/player/ExternalPlayerLauncher.kt	http
1	protocol	core/src/main/java/tv/own/owntv/core/player/ExternalPlayerLauncher.kt	https
1	url	core/src/main/java/tv/own/owntv/core/player/ExternalPlayerLauncher.kt	https://example.com/video.mp4
1	protocol	core/src/main/java/tv/own/owntv/core/player/ExternalPlayerLauncher.kt	m2t
1	protocol	core/src/main/java/tv/own/owntv/core/player/ExternalPlayerLauncher.kt	m3u
1	protocol	core/src/main/java/tv/own/owntv/core/player/ExternalPlayerLauncher.kt	m3u8
1	protocol	core/src/main/java/tv/own/owntv/core/player/ExternalPlayerLauncher.kt	m4v
1	protocol	core/src/main/java/tv/own/owntv/core/player/ExternalPlayerLauncher.kt	mms
1	protocol	core/src/main/java/tv/own/owntv/core/player/ExternalPlayerLauncher.kt	mov
1	protocol	core/src/main/java/tv/own/owntv/core/player/ExternalPlayerLauncher.kt	mp4
1	protocol	core/src/main/java/tv/own/owntv/core/player/ExternalPlayerLauncher.kt	mts
1	protocol	core/src/main/java/tv/own/owntv/core/player/ExternalPlayerLauncher.kt	rtmp
1	protocol	core/src/main/java/tv/own/owntv/core/player/ExternalPlayerLauncher.kt	rtsp
1	protocol	core/src/main/java/tv/own/owntv/core/player/ExternalPlayerLauncher.kt	ts
1	protocol	core/src/main/java/tv/own/owntv/core/player/ExternalPlayerLauncher.kt	udp
2	protocol	core/src/main/java/tv/own/owntv/core/player/ExternalPlayerLauncher.kt	video/*
1	mime	core/src/main/java/tv/own/owntv/core/player/ExternalPlayerLauncher.kt	video/mp2t
2	mime	core/src/main/java/tv/own/owntv/core/player/ExternalPlayerLauncher.kt	video/mp4
1	preference-key	core/src/main/java/tv/own/owntv/core/player/ForceMpvStore.kt	exo_urls
1	technical	core/src/main/java/tv/own/owntv/core/player/ForceMpvStore.kt	owntv_force_mpv
1	preference-key	core/src/main/java/tv/own/owntv/core/player/ForceMpvStore.kt	urls
1	technical	core/src/main/java/tv/own/owntv/core/player/PlayerBudget.kt	10
1	technical	core/src/main/java/tv/own/owntv/core/player/PlayerBudget.kt	120
1	technical	core/src/main/java/tv/own/owntv/core/player/PlayerBudget.kt	128MiB
1	technical	core/src/main/java/tv/own/owntv/core/player/PlayerBudget.kt	16MiB
1	technical	core/src/main/java/tv/own/owntv/core/player/PlayerBudget.kt	24MiB
1	technical	core/src/main/java/tv/own/owntv/core/player/PlayerBudget.kt	256MiB
2	technical	core/src/main/java/tv/own/owntv/core/player/PlayerBudget.kt	30
1	technical	core/src/main/java/tv/own/owntv/core/player/PlayerBudget.kt	32MiB
1	technical	core/src/main/java/tv/own/owntv/core/player/PlayerBudget.kt	48MiB
2	technical	core/src/main/java/tv/own/owntv/core/player/PlayerBudget.kt	60
1	technical	core/src/main/java/tv/own/owntv/core/player/PlayerBudget.kt	64MiB
1	preference-key	core/src/main/java/tv/own/owntv/core/player/VodEngineStore.kt	exo_urls
1	preference-key	core/src/main/java/tv/own/owntv/core/player/VodEngineStore.kt	mpv_urls
1	technical	core/src/main/java/tv/own/owntv/core/player/VodEngineStore.kt	owntv_vod_engine
1	compiler	core/src/main/java/tv/own/owntv/core/repository/ActiveSources.kt	OPT_IN_USAGE
1	technical	core/src/main/java/tv/own/owntv/core/repository/EpgCacheFiles.kt	.xmltv
1	technical	core/src/main/java/tv/own/owntv/core/repository/EpgCacheFiles.kt	.xmltv.tmp
1	technical	core/src/main/java/tv/own/owntv/core/repository/EpgCacheFiles.kt	epg_
1	technical	core/src/main/java/tv/own/owntv/core/repository/EpgRepository.kt	${it.name}:${it.length()}:${it.lastModified()}
1	technical	core/src/main/java/tv/own/owntv/core/repository/EpgRepository.kt	${missing.size}|${missing.hashCode()}|${cacheFingerprint()}
1	technical	core/src/main/java/tv/own/owntv/core/repository/EpgRepository.kt	,
1	log	core/src/main/java/tv/own/owntv/core/repository/EpgRepository.kt	Cached EPG channel filter ids=${keys.size} files=${files.size}
1	log	core/src/main/java/tv/own/owntv/core/repository/EpgRepository.kt	EPG analyze sourceId=$storeId ms=${SystemClock.elapsedRealtime() - analyzeStartedAt}
1	log	core/src/main/java/tv/own/owntv/core/repository/EpgRepository.kt	EPG batch store sourceId=$storeId rows=${batch.size} writeMs=${SystemClock.elapsedRealtime() - startedAt}
1	log	core/src/main/java/tv/own/owntv/core/repository/EpgRepository.kt	EPG cache promote failed storeId=$storeId — cache skipped this run
1	log	core/src/main/java/tv/own/owntv/core/repository/EpgRepository.kt	EPG channel filter sourceId=$storeId ids=${needed?.size ?: 0} active=${needed != null}
1	log	core/src/main/java/tv/own/owntv/core/repository/EpgRepository.kt	EPG channel prune sourceId=$sourceId stale=${staleIds.size} ms=${SystemClock.elapsedRealtime() - startedAt}
2	log	core/src/main/java/tv/own/owntv/core/repository/EpgRepository.kt	EPG channels store sourceId=$storeId rows=${channels.size} ms=${SystemClock.elapsedRealtime() - channelsStartedAt}
1	log	core/src/main/java/tv/own/owntv/core/repository/EpgRepository.kt	EPG hash tracker cap ($maxEntries) reached for sourceId=$sourceId — further channels sync write-through
1	log	core/src/main/java/tv/own/owntv/core/repository/EpgRepository.kt	EPG incremental sync sourceId=$storeId inserted=$inserted updated=$updated skipped=$skipped removedProgrammes=$removedProgrammes removedChannels=$removedChannels
1	log	core/src/main/java/tv/own/owntv/core/repository/EpgRepository.kt	EPG programme prune sourceId=$sourceId stale=${staleIds.size} overflowed=${tracker.overflowed} ms=${SystemClock.elapsedRealtime() - startedAt}
1	log	core/src/main/java/tv/own/owntv/core/repository/EpgRepository.kt	EPG prune sourceId=$storeId ms=${SystemClock.elapsedRealtime() - pruneStartedAt}
1	log	core/src/main/java/tv/own/owntv/core/repository/EpgRepository.kt	EPG sync incomplete — keeping partial (written=$writtenCount accepted=$processedCount inserted=$inserted updated=$updated skipped=$skipped)
23	log	core/src/main/java/tv/own/owntv/core/repository/EpgRepository.kt	EpgRepository
1	log	core/src/main/java/tv/own/owntv/core/repository/EpgRepository.kt	Unable to analyze EPG tables
1	log	core/src/main/java/tv/own/owntv/core/repository/EpgRepository.kt	Unable to create EPG guide index
1	log	core/src/main/java/tv/own/owntv/core/repository/EpgRepository.kt	Unable to read channel EPG ids — using unfiltered guide sync
1	log	core/src/main/java/tv/own/owntv/core/repository/EpgRepository.kt	Unable to read custom EPG matches — using unfiltered guide sync
1	log	core/src/main/java/tv/own/owntv/core/repository/EpgRepository.kt	accepted=$processedCount written=$writtenCount ms=${SystemClock.elapsedRealtime() - startedAt}
1	log	core/src/main/java/tv/own/owntv/core/repository/EpgRepository.kt	cacheFill parse failed storeId=$storeId (other sources unaffected)
1	log	core/src/main/java/tv/own/owntv/core/repository/EpgRepository.kt	ensureEpgIndexes ms=${SystemClock.elapsedRealtime() - startedAt}
1	file-path	core/src/main/java/tv/own/owntv/core/repository/EpgRepository.kt	epg_$storeId$EPG_CACHE_SUFFIX
1	file-path	core/src/main/java/tv/own/owntv/core/repository/EpgRepository.kt	epg_$storeId$EPG_CACHE_TEMP_SUFFIX
1	technical	core/src/main/java/tv/own/owntv/core/repository/EpgRepository.kt	epg_channels
5	technical	core/src/main/java/tv/own/owntv/core/repository/EpgRepository.kt	epg_programmes
1	log	core/src/main/java/tv/own/owntv/core/repository/EpgRepository.kt	guide gap fill done sourceId=$sourceId repaired=$repaired stillMissing=$remaining
1	log	core/src/main/java/tv/own/owntv/core/repository/EpgRepository.kt	guide gap fill failed sourceId=$sourceId
1	log	core/src/main/java/tv/own/owntv/core/repository/EpgRepository.kt	guide gap fill sourceId=$sourceId channelsWithoutProgrammes=${missing.size}
1	log	core/src/main/java/tv/own/owntv/core/repository/EpgRepository.kt	guide gap fill sourceId=$sourceId skipped — same gap and same cache as the last empty attempt
1	technical	core/src/main/java/tv/own/owntv/core/repository/EpisodeMerge.kt	s${seasonNumber}e$episodeNumber
1	technical	core/src/main/java/tv/own/owntv/core/repository/SeriesRepository.kt	\0
1	technical	core/src/main/java/tv/own/owntv/core/repository/SeriesRepository.kt	${season.id}:$epNo
1	log	core/src/main/java/tv/own/owntv/core/repository/SeriesRepository.kt	SeriesRepository
1	log	core/src/main/java/tv/own/owntv/core/repository/SeriesRepository.kt	episodes seriesId=$seriesId fetched=${fetched.size} new=${plan.inserts.size}
1	log	core/src/main/java/tv/own/owntv/core/repository/SeriesRepository.kt	stalker episode load failed seriesId=${series.id}
1	log	core/src/main/java/tv/own/owntv/core/repository/SeriesRepository.kt	stalker episodes seriesId=${series.id} remoteId=$remoteId seasons=${seasons.size} episodes=${episodes.size}
1	log	core/src/main/java/tv/own/owntv/core/repository/SeriesRepository.kt	updated=${plan.updates.size} removed=${plan.deleteIds.size}
1	log	core/src/main/java/tv/own/owntv/core/repository/SeriesRepository.kt	xtream episode load failed seriesId=${series.id}
1	technical	core/src/main/java/tv/own/owntv/core/repository/SourceRepository.kt	Cancelled
1	technical	core/src/main/java/tv/own/owntv/core/repository/SourceRepository.kt	Failed
1	log	core/src/main/java/tv/own/owntv/core/repository/SourceRepository.kt	SourceRepository
1	technical	core/src/main/java/tv/own/owntv/core/repository/SourceRepository.kt	Success
1	log	core/src/main/java/tv/own/owntv/core/repository/SourceRepository.kt	core sync sourceId=${source.id} result=${result.name()} ms=${SystemClock.elapsedRealtime() - coreStartedAt}
1	log	core/src/main/java/tv/own/owntv/core/repository/SourceRepository.kt	episode cache invalidate failed sourceId=${source.id}
1	log	core/src/main/java/tv/own/owntv/core/repository/SourceRepository.kt	sync wrapper end sourceId=${source.id} result=${result.name()} totalMs=${SystemClock.elapsedRealtime() - startedAt}
1	log	core/src/main/java/tv/own/owntv/core/repository/SourceRepository.kt	sync wrapper start sourceId=${source.id} type=${source.type} contentTypes=$contentTypes
1	technical	core/src/main/java/tv/own/owntv/core/repository/SourceRepository.kt	t
1	technical	core/src/main/java/tv/own/owntv/core/repository/SourceRepository.kt	types=$counts
1	log	core/src/main/java/tv/own/owntv/core/repository/SourceRepository.kt	userData export failed sourceId=${source.id} ms=${SystemClock.elapsedRealtime() - snapshotStartedAt}
1	log	core/src/main/java/tv/own/owntv/core/repository/SourceRepository.kt	userData export sourceId=${source.id} rows=${it.length()} ${it.typeCounts()} ms=${SystemClock.elapsedRealtime() - snapshotStartedAt}
1	log	core/src/main/java/tv/own/owntv/core/repository/SourceRepository.kt	userData relink after cancellation sourceId=${source.id}
1	log	core/src/main/java/tv/own/owntv/core/repository/SourceRepository.kt	userData relink failed sourceId=${source.id} ms=${SystemClock.elapsedRealtime() - relinkStartedAt}
1	log	core/src/main/java/tv/own/owntv/core/repository/SourceRepository.kt	userData relink sourceId=${source.id} rows=${snapshot?.length() ?: 0} purge=$purge ms=${SystemClock.elapsedRealtime() - relinkStartedAt}
1	protocol	core/src/main/java/tv/own/owntv/core/repository/SourceTester.kt	#EXTM3U
1	protocol	core/src/main/java/tv/own/owntv/core/repository/SourceTester.kt	Expired
1	log	core/src/main/java/tv/own/owntv/core/repository/SourceTester.kt	SourceTester
1	protocol	core/src/main/java/tv/own/owntv/core/repository/SourceTester.kt	http
1	json	core/src/main/java/tv/own/owntv/core/repository/SourceTester.kt	max_connections
1	json	core/src/main/java/tv/own/owntv/core/repository/SourceTester.kt	max_online
1	json	core/src/main/java/tv/own/owntv/core/repository/SourceTester.kt	num_of_devices
1	json	core/src/main/java/tv/own/owntv/core/repository/SourceTester.kt	status
1	log	core/src/main/java/tv/own/owntv/core/repository/SourceTester.kt	test sourceId=${source.id} type=${source.type} -> ${result::class.simpleName}
1	protocol	core/src/main/java/tv/own/owntv/core/settings/RemoteShortcuts.kt	$keyCode:${press.name}
1	protocol	core/src/main/java/tv/own/owntv/core/settings/RemoteShortcuts.kt	${it.keyCode}$SEPARATOR${it.press.name}$SEPARATOR${it.action.name}
32	empty	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	\0
1	protocol	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	${mode.name}$SEPARATOR$manualDays
3	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	,
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	ALL
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	CUSTOM:
1	protocol	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	DAYS_7
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	FAV
1	technical	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	FIT
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	HIST
1	protocol	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	HOURS_24
1	protocol	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	HOURS_48
1	regex	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	^[0-9a-fA-F]{16}:[0-9a-fA-F]{64}$
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	accent_color
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	accent_custom
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	active_profile_id
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	ambient_glow_enabled
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	ambient_glow_pulse
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	android_tv_home
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	animation_level
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	audio_delay_ms
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	audio_on_mobile_data
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	audio_on_screen_off
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	audio_per_channel
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	auto_frame_rate
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	auto_frame_rate_prompted
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	auto_frame_rate_reset_pre12
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	auto_play_next
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	avatar_id
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	background_playback
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	bg_image_path
1	technical	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	catchup
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	catchup_offset_minutes
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	catchup_player
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	catchup_timezone
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	ch_nav_down_skip
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	ch_nav_enabled
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	ch_nav_up_skip
1	technical	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	customize_pin_
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	customize_pin_$pid
2	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	customize_pin_$profileId
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	data_saver
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	default_source_id
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	default_volume
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	default_zoom
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	deinterlace
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	detailed_diagnostics
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	direct_tune
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	download_root
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	downloads_wifi_only
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	epg_auto_refresh
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	epg_offset_minutes
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	epg_refill_checked
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	epg_use_logos
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	episode_view_mode
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	external_player
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	external_player_live
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	external_player_movies
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	external_player_series
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	font_size_percent
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	gesture_sensitivity_pct
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	glass_allow_full_transparency
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	glass_alpha
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	glass_blur
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	glass_depth_effects
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	glass_glint
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	glass_highlight
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	glass_preset
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	glass_scope
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	guide_density_pct
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	guide_view
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	guide_width_channels
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	guide_width_epg
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	guide_width_on
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	hdr_enabled
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	hero_preview
1	technical	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	hide_new_categories_
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	hide_new_categories_$pid
2	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	hide_new_categories_$profileId
1	technical	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	home_config_
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	home_config_$profileId
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	hw_decoding
2	json	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	itemId
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	last_live_category
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	last_live_channel
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	last_movies_category
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	last_series_category
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	live_engine
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	live_latency_custom_secs
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	live_latency_mode
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	live_preroll_secs
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	live_preview
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	live_preview_audio
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	live_rewind_step_sec
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	live_tune_timeout_secs
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	main_font_family
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	measured_stream_stats
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	metadata_enabled
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	metadata_language
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	metadata_match_heal_version
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	metadata_mode
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	metadata_server_url
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	mini_player_position
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	mini_player_size_pct
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	mini_player_style
2	json	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	name
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	nav_menu_hidden
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	nav_menu_mode
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	open_subtitles_api_key
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	open_subtitles_server_url
1	technical	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	owntv_settings
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	panel_w_live_cat
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	panel_w_live_list
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	panel_w_live_on
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	panel_w_live_preview
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	panel_w_movies_cat
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	panel_w_movies_list
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	panel_w_movies_on
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	panel_w_movies_preview
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	panel_w_series_cat
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	panel_w_series_list
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	panel_w_series_on
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	panel_w_series_preview
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	pip_enabled
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	pip_on_back
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	pip_size
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	pip_snap
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	playlist_auto_refresh
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	popup_font_family
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	popup_font_size_percent
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	popup_size_percent
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	pref_audio_lang
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	pref_sub_lang
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	proxy_enabled
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	proxy_host
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	proxy_pass
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	proxy_port
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	proxy_user
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	quick_autoplay
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	quick_channel_numbers
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	quick_check_update
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	quick_hdr
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	quick_live_preview
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	quick_preview_sound
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	recent_searches
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	refresh_migration_done
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	refresh_source_ids
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	remember_cat_live
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	remember_cat_movies
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	remember_cat_series
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	remember_last_live
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	remember_last_movies
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	remember_last_series
2	json	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	remoteId
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	remote_shortcut_bindings
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	restore_in_progress
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	resume_last_channel
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	resume_mode
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	seek_step_sec
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	settings_menu_order_$menu
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	settings_quick_pinned
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	sort_guide
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	sort_live
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	sort_movies
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	sort_series
2	json	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	sourceId
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	startup_channel_
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	startup_channel_$pid
4	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	startup_channel_$profileId
1	technical	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	startup_mode_
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	startup_mode_$pid
4	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	startup_mode_$profileId
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	sub_font
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	sub_scale
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	sub_scale_exo
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	sub_scale_mpv
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	sub_search_filter
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	sub_search_langs
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	surround_mode
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	surround_sound
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	theme_mode
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	tmdb_api_key
1	technical	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	ui_language
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	ui_zoom_percent
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	update_check_on_start
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	vod_engine
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	vod_grid_columns
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	vod_prefer_exo
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	vod_view_mode
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	weather_enabled
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	weather_fahrenheit
1	preference-key	core/src/main/java/tv/own/owntv/core/settings/SettingsRepository.kt	weather_location
1	empty	core/src/main/java/tv/own/owntv/core/setup/SetupText.kt	\0
1	protocol	core/src/main/java/tv/own/owntv/core/setup/SetupText.kt	Mozilla/5.0 (QtEmbedded; U; Linux; C) AppleWebKit/533.3 (KHTML, like Gecko) MAG250 stbapp ver: 2 rev: 250 Safari/533.3
1	protocol	core/src/main/java/tv/own/owntv/core/setup/SetupText.kt	Mozilla/5.0 (QtEmbedded; U; Linux; C) AppleWebKit/533.3 (KHTML, like Gecko) MAG254 stbapp ver: 2 rev: 250 Safari/533.3
1	protocol	core/src/main/java/tv/own/owntv/core/setup/SetupText.kt	Mozilla/5.0 (QtEmbedded; U; Linux; C) AppleWebKit/533.3 (KHTML, like Gecko) MAG270 stbapp ver: 2 rev: 250 Safari/533.3
1	protocol	core/src/main/java/tv/own/owntv/core/setup/SetupText.kt	Mozilla/5.0 (QtEmbedded; U; Linux; C) AppleWebKit/601.1 (KHTML, like Gecko) MAG420 stbapp ver: 4 rev: 2721 Safari/601.1
10	empty	core/src/main/java/tv/own/owntv/core/setup/SourceImporter.kt	\0
1	file-path	core/src/main/java/tv/own/owntv/core/setup/SourceImporter.kt	/
1	technical	core/src/main/java/tv/own/owntv/core/setup/SourceImporter.kt	add_remainder
1	url	core/src/main/java/tv/own/owntv/core/setup/SourceImporter.kt	content://
1	url	core/src/main/java/tv/own/owntv/core/setup/SourceImporter.kt	file://
1	technical	core/src/main/java/tv/own/owntv/core/setup/SourceImporter.kt	fresh_add
2	technical	core/src/main/java/tv/own/owntv/core/stalker/StalkerAuthManager.kt	?
1	log	core/src/main/java/tv/own/owntv/core/stalker/StalkerAuthManager.kt	StalkerAuth
1	log	core/src/main/java/tv/own/owntv/core/stalker/StalkerAuthManager.kt	auth expired sourceId=${creds.sourceId} (${e.message}) — re-handshaking once
1	log	core/src/main/java/tv/own/owntv/core/stalker/StalkerAuthManager.kt	profileFields=${profile.size} status=${profile["status"] ?: "?"}
1	log	core/src/main/java/tv/own/owntv/core/stalker/StalkerAuthManager.kt	session open sourceId=${creds.sourceId} apiBase=${handshake.apiBase}
1	technical	core/src/main/java/tv/own/owntv/core/stalker/StalkerAuthManager.kt	status
1	log	core/src/main/java/tv/own/owntv/core/stalker/StalkerAuthManager.kt	watchdog=${profile["watchdog_timeout"] ?: "?"} ms=${SystemClock.elapsedRealtime() - startedAt}
1	technical	core/src/main/java/tv/own/owntv/core/stalker/StalkerAuthManager.kt	watchdog_timeout
5	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	\0
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	$1=***
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	$apiBase?type=${enc(type)}&action=create_link&cmd=${enc(cmd)}$seriesParam&forced_storage=0&disable_ad=0&JsHttpRequest=1-xml
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	$apiBase?type=account_info&action=get_main_info&JsHttpRequest=1-xml
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	$apiBase?type=itv&action=get_all_channels&JsHttpRequest=1-xml
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	$apiBase?type=itv&action=get_genres&JsHttpRequest=1-xml
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	$apiBase?type=itv&action=get_ordered_list&genre=${enc(genreId)}&p=$page&JsHttpRequest=1-xml
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	$apiBase?type=itv&action=get_short_epg&ch_id=${enc(channelId)}&size=$size&JsHttpRequest=1-xml
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	$apiBase?type=series&action=get_categories&JsHttpRequest=1-xml
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	$apiBase?type=series&action=get_ordered_list$cat&movie_id=${enc(movieId)}&p=$page&JsHttpRequest=1-xml
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	$apiBase?type=series&action=get_ordered_list&category=${enc(categoryId)}&sortby=added&p=$page&JsHttpRequest=1-xml
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	$apiBase?type=stb&action=handshake&token=&JsHttpRequest=1-xml
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	$apiBase?type=vod&action=get_categories&JsHttpRequest=1-xml
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	$apiBase?type=vod&action=get_ordered_list&category=${enc(categoryId)}&sortby=added&p=$page&JsHttpRequest=1-xml
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	$root/portal.php
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	$root/server/load.php
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	$root/stalker_portal/server/load.php
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	${portalRoot(url.substringBefore('?'))}/c/
1	url	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	&JsHttpRequest=1-xml
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	&category=${enc(it)}
1	url	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	&device_id2=${URLEncoder.encode(it, "UTF-8")}
1	url	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	&device_id=${URLEncoder.encode(it, "UTF-8")}
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	&series=$it
1	url	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	&signature=${URLEncoder.encode(it, "UTF-8")}
1	url	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	&sn=${URLEncoder.encode(it, "UTF-8")}
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	(?i)(token|password|pass)=[^&]*
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	(\\d+)\\s*$
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	(\\d{4})-(\\d{2})-(\\d{2})(?:[ T](\\d{2}):(\\d{2})(?::(\\d{2}))?)?
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	*
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	.
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	.php
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	/c
2	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	0
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	127.0.0.1
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	:
1	url	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	?type=stb&action=get_profile&hd=1&auth_second_step=
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	Authorization
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	Bearer $token
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	Cookie
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	GET done url=$safeUrl action=$action totalMs=${SystemClock.elapsedRealtime() - startedAt}
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	GET start url=$safeUrl action=$action
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	HTTP ${response.code} for $safeUrl
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	Model: MAG250; Link: WiFi
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	Mozilla/5.0 (QtEmbedded; U; Linux; C) AppleWebKit/533.3 (KHTML, like Gecko) MAG200 stbapp ver: 4 rev: 2721 Safari/533.3
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	No portal API endpoint candidates for $portalUrl
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	Portal accepted the handshake but returned an empty profile — the MAC may not be authorized
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	Portal create_link returned no cmd — token may have expired
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	Portal handshake returned no token
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	Portal rejected the request (HTTP ${response.code})
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	Portal response has no "js" payload
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	Portal response is not JSON (got ${reader.peek()})
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	Portal returned an empty payload — token expired or MAC not authorized
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	Referer
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	StalkerClient
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	UNCHECKED_CAST
6	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	UTF-8
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	User-Agent
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	X-User-Agent
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	[:\\-. ]
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	\\d{4}
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	action=
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	added
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	auto
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	category
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	category_id
4	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	cmd
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	cover
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	create_link inCmd=${redactForLog(cmd)} rawOut=${redactForLog(raw)} resolved=${redactForLog(resolved)}
5	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	data
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	descr
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	description
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	ffmpeg
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	ffrt
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	ffrt2
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	ffrt3
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	handshake candidate failed apiBase=$apiBase message=${e.message}
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	handshake ok apiBase=$apiBase
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	http://
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	https://
4	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	id
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	itv
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	js
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	localhost
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	logo
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	mac=${URLEncoder.encode(mac, "UTF-8")}; stb_lang=en; timezone=${TimeZone.getDefault().id}
3	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	max_page_items
6	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	name
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	number
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	o_name
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	poster
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	rating
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	rating_imdb
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	screenshot_uri
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	series
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	start_timestamp
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	stop_timestamp
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	time
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	time_to
2	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	title
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	token
3	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	total_items
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	tv_archive
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	tv_archive_duration
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	tv_genre_id
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	xmltv_id
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	year
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StalkerClient.kt	yyyy-MM-dd HH:mm:ss
1	json	core/src/main/java/tv/own/owntv/core/stalker/StalkerExpiry.kt	0
1	json	core/src/main/java/tv/own/owntv/core/stalker/StalkerExpiry.kt	0000
1	regex	core/src/main/java/tv/own/owntv/core/stalker/StalkerExpiry.kt	\\d{4}|\\d{1,2}[./-]\\d{1,2}
1	json	core/src/main/java/tv/own/owntv/core/stalker/StalkerExpiry.kt	end_date
1	json	core/src/main/java/tv/own/owntv/core/stalker/StalkerExpiry.kt	exp_date
1	json	core/src/main/java/tv/own/owntv/core/stalker/StalkerExpiry.kt	expire_billing_date
1	json	core/src/main/java/tv/own/owntv/core/stalker/StalkerExpiry.kt	expire_date
1	json	core/src/main/java/tv/own/owntv/core/stalker/StalkerExpiry.kt	null
1	json	core/src/main/java/tv/own/owntv/core/stalker/StalkerExpiry.kt	phone
1	json	core/src/main/java/tv/own/owntv/core/stalker/StalkerExpiry.kt	tariff_expired_date
2	protocol	core/src/main/java/tv/own/owntv/core/stalker/StreamUrlResolver.kt	Stalker source ${source.id} has no valid MAC
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StreamUrlResolver.kt	auto /media/${channelRemoteId}_${startS}_${durationS}.mpg
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StreamUrlResolver.kt	itv
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StreamUrlResolver.kt	resolveCatchup is Stalker-only
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StreamUrlResolver.kt	shortEpg is Stalker-only
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StreamUrlResolver.kt	tv_archive
1	protocol	core/src/main/java/tv/own/owntv/core/stalker/StreamUrlResolver.kt	vod
3	empty	core/src/main/java/tv/own/owntv/core/storage/StorageAccess.kt	\0
2	file-path	core/src/main/java/tv/own/owntv/core/storage/StorageAccess.kt	OwnTV
1	regex	core/src/main/java/tv/own/owntv/core/storage/StorageAccess.kt	[\\\\/:*?"<>|]
1	technical	core/src/main/java/tv/own/owntv/core/storage/StorageAccess.kt	mp4
1	technical	core/src/main/java/tv/own/owntv/core/storage/StorageAccess.kt	package:${context.packageName}
1	technical	core/src/main/java/tv/own/owntv/core/storage/StorageAccess.kt	untitled
1	technical	core/src/main/java/tv/own/owntv/core/subtitles/MovieHash.kt	%016x
1	technical	core/src/main/java/tv/own/owntv/core/subtitles/MovieHash.kt	r
1	log	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesAccountManager.kt	OpenSubtitles
1	log	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesAccountManager.kt	silent re-login failed — manual sign-in needed
1	log	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesAccountManager.kt	token expired, no stored password (Stay signed in off) — manual sign-in needed
1	technical	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesAuthStore.kt	$iv:$body
1	technical	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesAuthStore.kt	AES/GCM/NoPadding
1	technical	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesAuthStore.kt	AndroidKeyStore
1	log	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesAuthStore.kt	OpenSubtitles
3	json	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesAuthStore.kt	alw
1	log	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesAuthStore.kt	could not store session for profile $profileId: ${it.javaClass.simpleName}
2	json	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesAuthStore.kt	h
3	json	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesAuthStore.kt	lvl
1	technical	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesAuthStore.kt	malformed sealed blob
1	technical	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesAuthStore.kt	opensub_auth
1	preference-key	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesAuthStore.kt	owntv_opensub_auth
3	json	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesAuthStore.kt	p
1	technical	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesAuthStore.kt	profile_$profileId
3	json	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesAuthStore.kt	rem
3	json	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesAuthStore.kt	rst
1	log	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesAuthStore.kt	stored session unreadable for profile $profileId — erasing (signed out)
2	json	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesAuthStore.kt	t
2	json	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesAuthStore.kt	u
2	json	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesAuthStore.kt	vip
1	url	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	$base/api/v1$pathAndQuery
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	${it.key}=${java.net.URLEncoder.encode(it.value, "UTF-8")}
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	&
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	/download
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	/infos/user
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	/login
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	/logout
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	/subtitles?$qs
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	Accept
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	Api-Key
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	Authorization
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	Bearer $token
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	DELETE
2	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	GET
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	Login response had no token
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	OpenSubtitles
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	OpenSubtitles HTTP ${resp.code}
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	OpenSubtitles returned malformed JSON for $pathAndQuery
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	OwnTV
2	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	POST
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	UTF-8
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	User-Agent
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	X-OS-Host
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	allowed_downloads
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	api.opensubtitles.com
2	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	application/json
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	base_url
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	data
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	file_id
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	force_download
1	url	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	https://$host
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	https://my-owntv-opensub.xiannero.workers.dev
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	level
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	logout call failed (ignored): ${it.message}
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	password
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	remaining_downloads
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	reset_time
1	json	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	reset_time_utc
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	srt
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	sub_format
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	token
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	user
2	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	username
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	vip
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	x-owntv-client
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	x-owntv-key
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/OpenSubtitlesClient.kt	x-owntv-version
1	empty	core/src/main/java/tv/own/owntv/core/subtitles/SubtitleCharset.kt	\0
1	technical	core/src/main/java/tv/own/owntv/core/subtitles/SubtitleCharset.kt	windows-1252
1	technical	core/src/main/java/tv/own/owntv/core/subtitles/SubtitleRepository.kt	LOCAL
1	technical	core/src/main/java/tv/own/owntv/core/subtitles/SubtitleRepository.kt	OPENSUB
1	log	core/src/main/java/tv/own/owntv/core/subtitles/SubtitleRepository.kt	OpenSubtitles
1	technical	core/src/main/java/tv/own/owntv/core/subtitles/SubtitleRepository.kt	ass
1	log	core/src/main/java/tv/own/owntv/core/subtitles/SubtitleRepository.kt	cached subtitle file missing for file_id=$fileId — re-downloading
1	log	core/src/main/java/tv/own/owntv/core/subtitles/SubtitleRepository.kt	download token expired — attempting the silent re-login
1	json	core/src/main/java/tv/own/owntv/core/subtitles/SubtitleRepository.kt	file_name
1	json	core/src/main/java/tv/own/owntv/core/subtitles/SubtitleRepository.kt	link
1	technical	core/src/main/java/tv/own/owntv/core/subtitles/SubtitleRepository.kt	local:$cacheId
1	file-path	core/src/main/java/tv/own/owntv/core/subtitles/SubtitleRepository.kt	local_${now()}_${file.nameWithoutExtension}.$format
1	technical	core/src/main/java/tv/own/owntv/core/subtitles/SubtitleRepository.kt	opensub:$it
1	file-path	core/src/main/java/tv/own/owntv/core/subtitles/SubtitleRepository.kt	opensub_${fileId}.$format
1	json	core/src/main/java/tv/own/owntv/core/subtitles/SubtitleRepository.kt	remaining
1	json	core/src/main/java/tv/own/owntv/core/subtitles/SubtitleRepository.kt	reset_time
3	technical	core/src/main/java/tv/own/owntv/core/subtitles/SubtitleRepository.kt	srt
1	technical	core/src/main/java/tv/own/owntv/core/subtitles/SubtitleRepository.kt	ssa
1	assertion	core/src/main/java/tv/own/owntv/core/subtitles/SubtitleRepository.kt	subtitle exceeded $MAX_SUBTITLE_BYTES bytes
1	assertion	core/src/main/java/tv/own/owntv/core/subtitles/SubtitleRepository.kt	subtitle too large: ${body.contentLength()} bytes
1	file-path	core/src/main/java/tv/own/owntv/core/subtitles/SubtitleRepository.kt	subtitles
2	technical	core/src/main/java/tv/own/owntv/core/subtitles/SubtitleRepository.kt	vtt
1	technical	core/src/main/java/tv/own/owntv/core/subtitles/SubtitleRepository.kt	webvtt
2	protocol	core/src/main/java/tv/own/owntv/core/subtitles/SubtitleTrackLabel.kt	$label $n
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/SubtitleTrackLabel.kt	${prefix}_$name
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/SubtitleTrackLabel.kt	LOCAL
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/SubtitleTrackLabel.kt	OS
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/SubtitleTrackLabel.kt	·
1	protocol	core/src/main/java/tv/own/owntv/core/subtitles/SubtitleTrackLabel.kt	…
1	log	core/src/main/java/tv/own/owntv/core/sync/ImportFinalizer.kt	ImportFinalizer
1	log	core/src/main/java/tv/own/owntv/core/sync/ImportFinalizer.kt	Metadata eviction: cache=$cache matches=$matches
1	technical	core/src/main/java/tv/own/owntv/core/sync/ImportFinalizer.kt	categories
2	technical	core/src/main/java/tv/own/owntv/core/sync/ImportFinalizer.kt	channels
1	log	core/src/main/java/tv/own/owntv/core/sync/ImportFinalizer.kt	ensureContentIndexes analyze ms=${SystemClock.elapsedRealtime() - analyzeStartedAt}
1	log	core/src/main/java/tv/own/owntv/core/sync/ImportFinalizer.kt	ensureContentIndexes create indexes ms=${SystemClock.elapsedRealtime() - indexesStartedAt}
1	log	core/src/main/java/tv/own/owntv/core/sync/ImportFinalizer.kt	ensureContentIndexes end ms=${SystemClock.elapsedRealtime() - startedAt}
1	log	core/src/main/java/tv/own/owntv/core/sync/ImportFinalizer.kt	ensureContentIndexes failed ms=${SystemClock.elapsedRealtime() - startedAt}
1	log	core/src/main/java/tv/own/owntv/core/sync/ImportFinalizer.kt	ensureContentIndexes start
2	technical	core/src/main/java/tv/own/owntv/core/sync/ImportFinalizer.kt	movies
2	technical	core/src/main/java/tv/own/owntv/core/sync/ImportFinalizer.kt	series
1	preference-key	core/src/main/java/tv/own/owntv/core/sync/M3uSyncer.kt	
1	technical	core/src/main/java/tv/own/owntv/core/sync/M3uSyncer.kt	$base$KEY_SEPARATOR#$n
1	log	core/src/main/java/tv/own/owntv/core/sync/M3uSyncer.kt	$label hash map loaded sourceId=$sourceId size=${it.size} ms=${SystemClock.elapsedRealtime() - start}
1	technical	core/src/main/java/tv/own/owntv/core/sync/M3uSyncer.kt	$name$KEY_SEPARATOR${group.orEmpty()}
1	technical	core/src/main/java/tv/own/owntv/core/sync/M3uSyncer.kt	${show.name}$KEY_SEPARATOR${show.group.orEmpty()}
1	regex	core/src/main/java/tv/own/owntv/core/sync/M3uSyncer.kt	(?i)\\b(\\d{1,2})x(\\d{1,3})\\b
1	regex	core/src/main/java/tv/own/owntv/core/sync/M3uSyncer.kt	(?i)\\bS(\\d{1,2})\\s*[.\\-_ ]?\\s*E(\\d{1,3})\\b
3	technical	core/src/main/java/tv/own/owntv/core/sync/M3uSyncer.kt	/
1	log	core/src/main/java/tv/own/owntv/core/sync/M3uSyncer.kt	M3U categories flush sourceId=${s.id} rows=${pendingCategories.size} ms=${SystemClock.elapsedRealtime() - start}
1	log	core/src/main/java/tv/own/owntv/core/sync/M3uSyncer.kt	M3U channel flush sourceId=${s.id} rows=${channels.size} dbInserted=${upsert.inserted}
3	technical	core/src/main/java/tv/own/owntv/core/sync/M3uSyncer.kt	M3U live
1	log	core/src/main/java/tv/own/owntv/core/sync/M3uSyncer.kt	M3U movie flush sourceId=${s.id} rows=${movies.size} dbInserted=${upsert.inserted}
3	technical	core/src/main/java/tv/own/owntv/core/sync/M3uSyncer.kt	M3U movies
1	log	core/src/main/java/tv/own/owntv/core/sync/M3uSyncer.kt	M3U phase end sourceId=${s.id} processed=$processed movies=$moviesProcessed series=$seriesProcessed ms=${SystemClock.elapsedRealtime() - elapsedStart}
1	log	core/src/main/java/tv/own/owntv/core/sync/M3uSyncer.kt	M3U phase start sourceId=${s.id} local=$isLocal fresh=$freshSource bytesTotal=${localBytes ?: -1}
3	technical	core/src/main/java/tv/own/owntv/core/sync/M3uSyncer.kt	M3U series
1	log	core/src/main/java/tv/own/owntv/core/sync/M3uSyncer.kt	M3U series flush sourceId=${s.id} final=$final shows=${shows.size} dbInserted=${inserts.size}
3	technical	core/src/main/java/tv/own/owntv/core/sync/M3uSyncer.kt	channels
1	technical	core/src/main/java/tv/own/owntv/core/sync/M3uSyncer.kt	channels_fts
3	url	core/src/main/java/tv/own/owntv/core/sync/M3uSyncer.kt	content://
1	log	core/src/main/java/tv/own/owntv/core/sync/M3uSyncer.kt	dbUpdated=${changed.size} dbAppended=${appended.size} dbSkipped=$skipped episodes=$episodesWritten
1	log	core/src/main/java/tv/own/owntv/core/sync/M3uSyncer.kt	dbUpdated=${upsert.updated} dbSkipped=${upsert.skippedUnchanged} processed=$moviesProcessed
1	log	core/src/main/java/tv/own/owntv/core/sync/M3uSyncer.kt	dbUpdated=${upsert.updated} dbSkipped=${upsert.skippedUnchanged} processed=$processed
3	url	core/src/main/java/tv/own/owntv/core/sync/M3uSyncer.kt	file://
1	technical	core/src/main/java/tv/own/owntv/core/sync/M3uSyncer.kt	movies
2	log	core/src/main/java/tv/own/owntv/core/sync/M3uSyncer.kt	ms=${SystemClock.elapsedRealtime() - start}
2	protocol	core/src/main/java/tv/own/owntv/core/sync/M3uSyncer.kt	playlist_file_unavailable
1	protocol	core/src/main/java/tv/own/owntv/core/sync/M3uSyncer.kt	playlist_path_unsupported
1	technical	core/src/main/java/tv/own/owntv/core/sync/M3uSyncer.kt	r
1	technical	core/src/main/java/tv/own/owntv/core/sync/M3uSyncer.kt	series
1	log	core/src/main/java/tv/own/owntv/core/sync/M3uSyncer.kt	totalShows=$seriesProcessed ms=${SystemClock.elapsedRealtime() - start}
1	empty	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	\0
1	log	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	$label bulk fast path sourceId=${s.id} count=${bulk.items.size} single-dump=true
1	log	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	$label bulk probe failed (${e.message}) — using per-category paging
1	log	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	$label bulk probe not a single-dump (items=${bulk?.items?.size ?: 0} total=${bulk?.totalItems ?: 0}) — per-category paging
1	log	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	$label bulk verification probe failed (${e.message}) — accepting dump unverified
1	technical	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	$label cat=$catId page=$p
1	log	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	$label cat=$catId page=$p failed (${e.message})
1	log	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	$label cat=${cat.id} page1 failed (${e.message})
1	technical	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	$label cat=${cat.id} page=1
1	log	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	$label categories sourceId=${s.id} count=${cats.size}
1	log	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	$label delta-skip sourceId=${s.id} unchangedCategories=${skippedCatDbIds.size}
1	log	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	$label fetch done sourceId=${s.id} pages=${pagesFetched.get()} failures=${pageFailures.get()} emitted=$emitted fetchMs=${SystemClock.elapsedRealtime() - fetchStart}
1	log	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	$label fieldDiff sourceId=$sourceId remoteId=${c.remoteId} hash=${c.computeContentHash()}
1	log	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	$label genre ${gi + 1}/${genres.size} id=${genre.id} '${genre.title}' total=${first.totalItems} maxPer=$maxPer pages=$pages
1	log	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	$label genre=${genre.id} page1 failed (${e.message})
1	log	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	$label genre=${genre.id} page=$p failed (${e.message})
1	log	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	$label genres sourceId=${s.id} count=${genres.size}
1	log	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	$label get_all_channels failed (${e.message}) — falling back to per-genre paging
1	log	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	$label get_all_channels ok count=${bulk.size} declaredTotal=$declaredTotal ms=${SystemClock.elapsedRealtime() - bulkStart}
1	log	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	$label get_all_channels truncated count=${bulk.size} declaredTotal=$declaredTotal — falling back to per-genre paging
1	log	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	$label page-plan sourceId=${s.id} cats=${cats.size} itemsPerPage~=$maxPerSeen extraPages=${pageTasks.size} concurrency=adaptive(${budget.currentLimit}..${budget.max})
1	log	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	$label per-genre fallback begin genres=${genres.size}
2	log	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	$label phase end sourceId=${s.id} unique=${total[0]} ms=${SystemClock.elapsedRealtime() - elapsedStart}
2	log	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	$label phase start sourceId=${s.id} fresh=$freshSource
2	log	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	$label prune skipped sourceId=${s.id} reason=page_failures failures=${pageFailures.get()}
1	log	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	$phase import failed — keeping the rest of the import
1	log	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	$what transient $reason — retrying (attempt $attempt/${PAGE_ATTEMPTS - 1})
1	technical	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	${SyncPhase.LIVE.name} genre=$genreId page=$page
1	log	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	${e.javaClass.simpleName}: ${e.message}
4	technical	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	*
1	log	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	HTTP ${it.code}
1	technical	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	Stalker source ${s.id} has no valid MAC address
1	log	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	adopting portal-advertised XMLTV url for sourceId=${s.id}
1	log	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	catchupSource=${c.catchupSource.hashCode()} sortOrder=${c.sortOrder}
1	log	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	categoryId=${c.categoryId} name=${c.name.hashCode()} logoUrl=${c.logoUrl.hashCode()}
3	technical	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	channels
1	technical	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	channels_fts
1	technical	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	epg_url
1	technical	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	guide_url
1	url	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	http://
1	url	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	https://
3	technical	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	movies
1	technical	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	movies_fts
1	log	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	number=${c.number} catchup=${c.catchup} catchupDays=${c.catchupDays}
1	log	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	portal XMLTV probe failed sourceId=${s.id}: ${it.message}
3	technical	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	series
1	technical	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	series_fts
1	log	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	streamUrl=${c.streamUrl.hashCode()} epgChannelId=${c.epgChannelId.hashCode()}
1	technical	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	tv_guide_url
1	technical	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	unknown
1	technical	core/src/main/java/tv/own/owntv/core/sync/StalkerSyncer.kt	xmltv_url
2	technical	core/src/main/java/tv/own/owntv/core/sync/SyncManager.kt	${it.key}=${it.value}
1	technical	core/src/main/java/tv/own/owntv/core/sync/SyncManager.kt	${it.key}=${it.value}ms
1	technical	core/src/main/java/tv/own/owntv/core/sync/SyncManager.kt	Cancelled
1	log	core/src/main/java/tv/own/owntv/core/sync/SyncManager.kt	Counts: ${stats.processedCounts.entries.joinToString { "${it.key}=${it.value}" }}
1	technical	core/src/main/java/tv/own/owntv/core/sync/SyncManager.kt	Failed: ${stats.result.message}
1	log	core/src/main/java/tv/own/owntv/core/sync/SyncManager.kt	Phase errors: ${stats.phaseErrors.entries.joinToString { "${it.key}=${it.value}" }}
1	log	core/src/main/java/tv/own/owntv/core/sync/SyncManager.kt	Phases: ${stats.phaseTiming.entries.joinToString { "${it.key}=${it.value}ms" }}
1	log	core/src/main/java/tv/own/owntv/core/sync/SyncManager.kt	Result: $result | Duration: ${duration}ms | Fallback: ${stats.usedFallback}
1	technical	core/src/main/java/tv/own/owntv/core/sync/SyncManager.kt	Success
1	technical	core/src/main/java/tv/own/owntv/core/sync/SyncManager.kt	Success with ${stats.result.warnings.size} warning(s)
1	log	core/src/main/java/tv/own/owntv/core/sync/SyncManager.kt	SyncManager
1	log	core/src/main/java/tv/own/owntv/core/sync/SyncManager.kt	markSynced sourceId=${source.id} ms=${SystemClock.elapsedRealtime() - markStartedAt}
1	log	core/src/main/java/tv/own/owntv/core/sync/SyncManager.kt	requestedContentTypes=$contentTypes effective=$effective target=$target forcePrune=$forcePrune
1	log	core/src/main/java/tv/own/owntv/core/sync/SyncManager.kt	sync end sourceId=${source.id} totalElapsedMs=${SystemClock.elapsedRealtime() - syncStartedAt}
1	log	core/src/main/java/tv/own/owntv/core/sync/SyncManager.kt	sync no-op empty effective sourceId=${source.id}
1	log	core/src/main/java/tv/own/owntv/core/sync/SyncManager.kt	sync start sourceId=${source.id} name=${source.name} type=${source.type}
1	log	core/src/main/java/tv/own/owntv/core/sync/SyncManager.kt	── Sync stats for source ${stats.sourceId} ──
1	technical	core/src/main/java/tv/own/owntv/core/sync/SyncStatus.kt	\0
1	technical	core/src/main/java/tv/own/owntv/core/sync/SyncStatus.kt	0
1	technical	core/src/main/java/tv/own/owntv/core/sync/SyncStatus.kt	1
1	technical	core/src/main/java/tv/own/owntv/core/sync/SyncStatus.kt	false
1	technical	core/src/main/java/tv/own/owntv/core/sync/SyncStatus.kt	later
1	technical	core/src/main/java/tv/own/owntv/core/sync/SyncStatus.kt	no
1	technical	core/src/main/java/tv/own/owntv/core/sync/SyncStatus.kt	now
1	technical	core/src/main/java/tv/own/owntv/core/sync/SyncStatus.kt	off
1	technical	core/src/main/java/tv/own/owntv/core/sync/SyncStatus.kt	on
1	technical	core/src/main/java/tv/own/owntv/core/sync/SyncStatus.kt	true
1	technical	core/src/main/java/tv/own/owntv/core/sync/SyncStatus.kt	yes
1	technical	core/src/main/java/tv/own/owntv/core/sync/SyncSupport.kt	$label categories
1	log	core/src/main/java/tv/own/owntv/core/sync/SyncSupport.kt	$label category prune sourceId=$sourceId type=$type stale=${stale.size} ms=${SystemClock.elapsedRealtime() - start}
1	technical	core/src/main/java/tv/own/owntv/core/sync/SyncSupport.kt	$label chunk applied phase=${phase.name} chunk=$chunkIndex raw=$rawCount accepted=${rows.size}
1	technical	core/src/main/java/tv/own/owntv/core/sync/SyncSupport.kt	$label chunk skipped phase=${phase.name} chunk=$chunkIndex raw=$rawCount skipped=$skipped
1	log	core/src/main/java/tv/own/owntv/core/sync/SyncSupport.kt	$label content prune sourceId=$sourceId stale=${stale.size} ms=${SystemClock.elapsedRealtime() - start}
1	log	core/src/main/java/tv/own/owntv/core/sync/SyncSupport.kt	$label hash map loaded sourceId=$sourceId size=${it.size} ms=${SystemClock.elapsedRealtime() - start}
1	log	core/src/main/java/tv/own/owntv/core/sync/SyncSupport.kt	$label prune skipped sourceId=$sourceId reason=catalog_shrink stored=$stored stale=$stale
1	technical	core/src/main/java/tv/own/owntv/core/sync/SyncSupport.kt	$label stream done phase=${phase.name} chunks=$chunkIndex totalUnique=${total[0]}
1	log	core/src/main/java/tv/own/owntv/core/sync/SyncSupport.kt	SyncManager
1	technical	core/src/main/java/tv/own/owntv/core/sync/SyncSupport.kt	categoriesAdded
1	technical	core/src/main/java/tv/own/owntv/core/sync/SyncSupport.kt	categoriesRemoved
1	log	core/src/main/java/tv/own/owntv/core/sync/SyncSupport.kt	dbInserted=${upsert.stats.inserted} dbUpdated=${upsert.stats.updated}
1	log	core/src/main/java/tv/own/owntv/core/sync/SyncSupport.kt	dbInserted=${upsertStats.inserted} dbUpdated=${upsertStats.updated} dbSkipped=${upsertStats.skippedUnchanged}
1	log	core/src/main/java/tv/own/owntv/core/sync/SyncSupport.kt	dbSkipped=${upsert.stats.skippedUnchanged} ms=${SystemClock.elapsedRealtime() - upsertStart}
1	log	core/src/main/java/tv/own/owntv/core/sync/SyncSupport.kt	dedupeSkipped=$skipped totalDedupeSkipped=$skippedDuplicates totalUnique=${total[0]}
1	log	core/src/main/java/tv/own/owntv/core/sync/SyncSupport.kt	filterMs=$filterMs applyMs=$insertMs elapsedMs=${SystemClock.elapsedRealtime() - chunkRunStart}
1	log	core/src/main/java/tv/own/owntv/core/sync/SyncSupport.kt	refreshCategories end sourceId=${s.id} type=$type mapped=${it.idsByRemoteId.size} totalMs=${SystemClock.elapsedRealtime() - start}
1	log	core/src/main/java/tv/own/owntv/core/sync/SyncSupport.kt	refreshCategories start sourceId=${s.id} type=$type count=${parsed.size}
1	log	core/src/main/java/tv/own/owntv/core/sync/SyncSupport.kt	refreshCategories upsert sourceId=${s.id} type=$type rows=${entities.size}
1	log	core/src/main/java/tv/own/owntv/core/sync/SyncSupport.kt	skippedDuplicates=$skippedDuplicates elapsedMs=${SystemClock.elapsedRealtime() - chunkRunStart}
1	log	core/src/main/java/tv/own/owntv/core/sync/SyncSupport.kt	totalSkipped=$skippedDuplicates totalUnique=${total[0]} filterMs=$filterMs elapsedMs=${SystemClock.elapsedRealtime() - chunkRunStart}
1	log	core/src/main/java/tv/own/owntv/core/sync/XtreamSyncer.kt	$label bulk end sourceId=${s.id} complete=$done unique=${total[0]} ms=${SystemClock.elapsedRealtime() - bulkStart}
1	log	core/src/main/java/tv/own/owntv/core/sync/XtreamSyncer.kt	$label bulk fetch failed (${e.message}) — falling back to per-category requests
1	log	core/src/main/java/tv/own/owntv/core/sync/XtreamSyncer.kt	$label bulk start sourceId=${s.id}
1	log	core/src/main/java/tv/own/owntv/core/sync/XtreamSyncer.kt	$label categories fetched sourceId=${s.id} count=${cats.size} ms=${SystemClock.elapsedRealtime() - categoriesStart}
1	log	core/src/main/java/tv/own/owntv/core/sync/XtreamSyncer.kt	$label categories refreshed sourceId=${s.id} mapped=${categories.idsByRemoteId.size} ms=${SystemClock.elapsedRealtime() - refreshStart}
1	technical	core/src/main/java/tv/own/owntv/core/sync/XtreamSyncer.kt	$label fallback
1	log	core/src/main/java/tv/own/owntv/core/sync/XtreamSyncer.kt	$label fallback categories begin count=${categories.size} bulkPartial=$bulkPartial currentUnique=${total[0]}
1	log	core/src/main/java/tv/own/owntv/core/sync/XtreamSyncer.kt	$label fallback categories end totalUnique=${total[0]} truncations=$truncations
1	log	core/src/main/java/tv/own/owntv/core/sync/XtreamSyncer.kt	$label fallback category end index=${index + 1}/${categories.size} id=${cat.id}
1	log	core/src/main/java/tv/own/owntv/core/sync/XtreamSyncer.kt	$label fallback category start index=${index + 1}/${categories.size} id=${cat.id} name=${cat.name} beforeUnique=$before
1	log	core/src/main/java/tv/own/owntv/core/sync/XtreamSyncer.kt	$label fallback end sourceId=${s.id} unique=${total[0]} ms=${SystemClock.elapsedRealtime() - fallbackStart}
1	log	core/src/main/java/tv/own/owntv/core/sync/XtreamSyncer.kt	$label fallback prune scope sourceId=${s.id} categories=${categoryIds.size}/${outcome.attempted} complete=${outcome.complete}
1	log	core/src/main/java/tv/own/owntv/core/sync/XtreamSyncer.kt	$label fallback start sourceId=${s.id} categories=${cats.size} bulkPartial=${total[0]}
1	log	core/src/main/java/tv/own/owntv/core/sync/XtreamSyncer.kt	$label phase end sourceId=${s.id} unique=${total[0]} ms=${SystemClock.elapsedRealtime() - elapsedStart}
1	log	core/src/main/java/tv/own/owntv/core/sync/XtreamSyncer.kt	$label phase start sourceId=${s.id} fresh=$freshSource
1	log	core/src/main/java/tv/own/owntv/core/sync/XtreamSyncer.kt	$label prune skipped sourceId=${s.id} reason=fallback_no_complete_category
1	log	core/src/main/java/tv/own/owntv/core/sync/XtreamSyncer.kt	$label prune skipped sourceId=${s.id} reason=incomplete_bulk
1	log	core/src/main/java/tv/own/owntv/core/sync/XtreamSyncer.kt	$label: category ${cat.id} failed (${e.message}) — ${if (isServerError) "skipping category" else "ABORTING fallback"}
1	log	core/src/main/java/tv/own/owntv/core/sync/XtreamSyncer.kt	$label: per-category fetch still truncating (panel likely ignores category_id) — stopping fallback after ${total[0]} items
1	log	core/src/main/java/tv/own/owntv/core/sync/XtreamSyncer.kt	$phase import failed — keeping the rest of the import
1	technical	core/src/main/java/tv/own/owntv/core/sync/XtreamSyncer.kt	ABORTING fallback
1	protocol	core/src/main/java/tv/own/owntv/core/sync/XtreamSyncer.kt	CATALOG_INCOMPLETE
1	technical	core/src/main/java/tv/own/owntv/core/sync/XtreamSyncer.kt	HTTP
4	log	core/src/main/java/tv/own/owntv/core/sync/XtreamSyncer.kt	SyncManager
1	technical	core/src/main/java/tv/own/owntv/core/sync/XtreamSyncer.kt	Xtream sync scheduling sourceId=${s.id} contentTypes=$contentTypes concurrency=2 hlsSupported=${details?.hlsSupported} maxConnections=${details?.maxConnections}
2	technical	core/src/main/java/tv/own/owntv/core/sync/XtreamSyncer.kt	channels
1	technical	core/src/main/java/tv/own/owntv/core/sync/XtreamSyncer.kt	channels_fts
1	log	core/src/main/java/tv/own/owntv/core/sync/XtreamSyncer.kt	complete=$complete newUnique=$delta totalUnique=${total[0]} ms=${SystemClock.elapsedRealtime() - categoryStart}
1	url	core/src/main/java/tv/own/owntv/core/sync/XtreamSyncer.kt	http://127.0.0.1:
1	technical	core/src/main/java/tv/own/owntv/core/sync/XtreamSyncer.kt	live
3	technical	core/src/main/java/tv/own/owntv/core/sync/XtreamSyncer.kt	movies
1	technical	core/src/main/java/tv/own/owntv/core/sync/XtreamSyncer.kt	movies_fts
3	technical	core/src/main/java/tv/own/owntv/core/sync/XtreamSyncer.kt	series
1	technical	core/src/main/java/tv/own/owntv/core/sync/XtreamSyncer.kt	series_fts
1	technical	core/src/main/java/tv/own/owntv/core/sync/XtreamSyncer.kt	skipping category
1	log	core/src/main/java/tv/own/owntv/core/sync/XtreamSyncer.kt	succeeded=${outcome.succeededCategoryRemoteIds.size} aborted=${outcome.aborted} stoppedEarly=${outcome.stoppedEarly}
1	log	core/src/main/java/tv/own/owntv/core/sync/XtreamSyncer.kt	succeeded=${succeeded.size}/${categories.size} aborted=$aborted stoppedEarly=$stoppedEarly
1	technical	core/src/main/java/tv/own/owntv/core/sync/XtreamSyncer.kt	unknown
1	protocol	core/src/main/java/tv/own/owntv/core/sync/local/LocalSyncClient.kt	/backup
1	protocol	core/src/main/java/tv/own/owntv/core/sync/local/LocalSyncClient.kt	/backup.own
1	protocol	core/src/main/java/tv/own/owntv/core/sync/local/LocalSyncClient.kt	/sync/hello
1	protocol	core/src/main/java/tv/own/owntv/core/sync/local/LocalSyncClient.kt	/sync/pair
1	protocol	core/src/main/java/tv/own/owntv/core/sync/local/LocalSyncClient.kt	Content-Type
1	log	core/src/main/java/tv/own/owntv/core/sync/local/LocalSyncClient.kt	Empty payload
1	protocol	core/src/main/java/tv/own/owntv/core/sync/local/LocalSyncClient.kt	GET
1	protocol	core/src/main/java/tv/own/owntv/core/sync/local/LocalSyncClient.kt	HTTP $code
1	log	core/src/main/java/tv/own/owntv/core/sync/local/LocalSyncClient.kt	Local sync request to ${connection.url.path} failed with HTTP $code
1	log	core/src/main/java/tv/own/owntv/core/sync/local/LocalSyncClient.kt	LocalSyncClient
1	log	core/src/main/java/tv/own/owntv/core/sync/local/LocalSyncClient.kt	No secret in pairing response
1	protocol	core/src/main/java/tv/own/owntv/core/sync/local/LocalSyncClient.kt	POST
1	protocol	core/src/main/java/tv/own/owntv/core/sync/local/LocalSyncClient.kt	X-Companion-Pin
1	protocol	core/src/main/java/tv/own/owntv/core/sync/local/LocalSyncClient.kt	app
1	protocol	core/src/main/java/tv/own/owntv/core/sync/local/LocalSyncClient.kt	application/x-www-form-urlencoded
1	protocol	core/src/main/java/tv/own/owntv/core/sync/local/LocalSyncClient.kt	data:application/octet-stream;base64,$encoded
1	protocol	core/src/main/java/tv/own/owntv/core/sync/local/LocalSyncClient.kt	http://
1	protocol	core/src/main/java/tv/own/owntv/core/sync/local/LocalSyncClient.kt	http://$host:$port$path
1	protocol	core/src/main/java/tv/own/owntv/core/sync/local/LocalSyncClient.kt	https://
1	protocol	core/src/main/java/tv/own/owntv/core/sync/local/LocalSyncClient.kt	name
1	protocol	core/src/main/java/tv/own/owntv/core/sync/local/LocalSyncClient.kt	name=
1	protocol	core/src/main/java/tv/own/owntv/core/sync/local/LocalSyncClient.kt	payload
1	protocol	core/src/main/java/tv/own/owntv/core/sync/local/LocalSyncClient.kt	secret
1	protocol	core/src/main/java/tv/own/owntv/core/sync/local/LocalSyncClient.kt	text/plain
1	log	core/src/main/java/tv/own/owntv/core/sync/local/LocalSyncDiscovery.kt	Could not announce this device for local sync (error $errorCode)
1	compiler	core/src/main/java/tv/own/owntv/core/sync/local/LocalSyncDiscovery.kt	DEPRECATION
1	log	core/src/main/java/tv/own/owntv/core/sync/local/LocalSyncDiscovery.kt	Local sync announcement failed
1	log	core/src/main/java/tv/own/owntv/core/sync/local/LocalSyncDiscovery.kt	Local sync discovery could not start (error $errorCode)
1	log	core/src/main/java/tv/own/owntv/core/sync/local/LocalSyncDiscovery.kt	Local sync discovery failed
1	log	core/src/main/java/tv/own/owntv/core/sync/local/LocalSyncDiscovery.kt	LocalSyncDiscovery
1	protocol	core/src/main/java/tv/own/owntv/core/sync/local/LocalSyncDiscovery.kt	_owntv._tcp.
1	protocol	core/src/main/java/tv/own/owntv/core/sync/local/LocalSyncManager.kt	${Build.MANUFACTURER} ${Build.MODEL}
1	protocol	core/src/main/java/tv/own/owntv/core/sync/local/LocalSyncManager.kt	LocalSyncManager
1	protocol	core/src/main/java/tv/own/owntv/core/sync/local/LocalSyncManager.kt	OwnTV
1	protocol	core/src/main/java/tv/own/owntv/core/sync/local/LocalSyncManager.kt	Pairing failed on the host side
1	protocol	core/src/main/java/tv/own/owntv/core/sync/local/LocalSyncManager.kt	app
1	protocol	core/src/main/java/tv/own/owntv/core/sync/local/LocalSyncManager.kt	incoming-${System.currentTimeMillis()}.own
1	protocol	core/src/main/java/tv/own/owntv/core/sync/local/LocalSyncManager.kt	local-sync
1	protocol	core/src/main/java/tv/own/owntv/core/sync/local/LocalSyncManager.kt	name
2	file-path	core/src/main/java/tv/own/owntv/core/sync/local/LocalSyncManager.kt	outgoing
1	protocol	core/src/main/java/tv/own/owntv/core/sync/local/LocalSyncManager.kt	payload
1	empty	core/src/main/java/tv/own/owntv/core/sync/local/PairedDeviceStore.kt	\0
1	json	core/src/main/java/tv/own/owntv/core/sync/local/PairedDeviceStore.kt	%02x
2	json	core/src/main/java/tv/own/owntv/core/sync/local/PairedDeviceStore.kt	address
1	json	core/src/main/java/tv/own/owntv/core/sync/local/PairedDeviceStore.kt	devices
2	json	core/src/main/java/tv/own/owntv/core/sync/local/PairedDeviceStore.kt	id
2	json	core/src/main/java/tv/own/owntv/core/sync/local/PairedDeviceStore.kt	lastSyncAt
2	json	core/src/main/java/tv/own/owntv/core/sync/local/PairedDeviceStore.kt	name
1	json	core/src/main/java/tv/own/owntv/core/sync/local/PairedDeviceStore.kt	owntv_paired_devices
2	json	core/src/main/java/tv/own/owntv/core/sync/local/PairedDeviceStore.kt	pairedAt
2	json	core/src/main/java/tv/own/owntv/core/sync/local/PairedDeviceStore.kt	port
2	json	core/src/main/java/tv/own/owntv/core/sync/local/PairedDeviceStore.kt	secret
1	log	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncScheduler.kt	catalog-sync
1	technical	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncScheduler.kt	catalog-sync-source-$sourceId
1	technical	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncScheduler.kt	fresh_sync
1	technical	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncScheduler.kt	manual
1	technical	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncScheduler.kt	source-$sourceId
1	protocol	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncScheduler.kt	trending-source-$sourceId
1	technical	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncWorker.kt	Cancelled
1	log	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncWorker.kt	CatalogSyncWorker
1	technical	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncWorker.kt	Failed
1	log	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncWorker.kt	Guide gap fill failed sourceId=${source.id}
1	log	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncWorker.kt	Guide gap fill sourceId=${source.id} channels=$it ms=${SystemClock.elapsedRealtime() - gapFillStartedAt}
1	log	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncWorker.kt	Import finalizer failed sourceId=${source.id} ms=${SystemClock.elapsedRealtime() - finalizeStartedAt}
1	log	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncWorker.kt	Import finalizer sourceId=${source.id} counts=$it ms=${SystemClock.elapsedRealtime() - finalizeStartedAt}
1	log	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncWorker.kt	Launcher refresh failed profileId=$profileId sourceId=${source.id} ms=${SystemClock.elapsedRealtime() - launcherStartedAt}
1	log	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncWorker.kt	Launcher refresh profileId=$profileId sourceId=${source.id} ms=${SystemClock.elapsedRealtime() - launcherStartedAt}
1	log	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncWorker.kt	Progress emit total=${stage.totalProcessed} live=${stage.liveProcessed}
1	log	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncWorker.kt	Source $sourceId not found — skipping ($reason)
1	log	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncWorker.kt	SourceRepository.sync finished sourceId=${source.id} result=${result.name()} ms=${SystemClock.elapsedRealtime() - syncStartedAt}
1	log	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncWorker.kt	Staged initial sync complete — markSynced sourceId=${source.id}
1	log	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncWorker.kt	Starting sync for source ${source.id} (${source.name}) reason=$reason
1	technical	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncWorker.kt	Success
1	log	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncWorker.kt	Sync failed for source ${source.id}: ${result.message}
1	log	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncWorker.kt	Sync failed transiently for source ${source.id} attempt=$runAttemptCount — will retry: ${result.message}
1	log	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncWorker.kt	Sync no-op empty effective sourceId=${source.id} reason=$reason
1	log	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncWorker.kt	Sync succeeded for source ${source.id} (${source.name}) warnings=$warningText
1	log	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncWorker.kt	Trending Home visibility read failed sourceId=${source.id}; skip enqueue
1	log	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncWorker.kt	Trending refresh enqueued sourceId=${source.id}
1	log	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncWorker.kt	Trending settings read failed sourceId=${source.id}; skip enqueue
1	preference-key	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncWorker.kt	baseItemCount
1	preference-key	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncWorker.kt	completesInitialSync
1	log	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncWorker.kt	contentTypes=$contentTypes effective=$effective baseItemCount=$baseItemCount forcePrune=$forcePrune
1	preference-key	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncWorker.kt	forcePrune
1	technical	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncWorker.kt	fresh_sync
1	preference-key	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncWorker.kt	live
1	preference-key	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncWorker.kt	liveActive
1	preference-key	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncWorker.kt	liveProcessed
1	preference-key	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncWorker.kt	movies
1	log	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncWorker.kt	movies=${stage.moviesProcessed} series=${stage.seriesProcessed}
1	preference-key	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncWorker.kt	moviesActive
1	preference-key	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncWorker.kt	moviesProcessed
1	preference-key	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncWorker.kt	reason
1	preference-key	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncWorker.kt	series
1	preference-key	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncWorker.kt	seriesActive
1	preference-key	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncWorker.kt	seriesProcessed
1	log	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncWorker.kt	sinceLastMs=${now - lastEmitAtMs}
1	preference-key	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncWorker.kt	sourceId
1	technical	core/src/main/java/tv/own/owntv/core/sync/work/CatalogSyncWorker.kt	unknown
1	log	core/src/main/java/tv/own/owntv/core/sync/work/ContentIndexWorker.kt	Content index build finished reason=$reason ms=${SystemClock.elapsedRealtime() - startedAt}
1	log	core/src/main/java/tv/own/owntv/core/sync/work/ContentIndexWorker.kt	ContentIndexWorker
1	log	core/src/main/java/tv/own/owntv/core/sync/work/ContentIndexWorker.kt	Starting content index build reason=$reason
1	technical	core/src/main/java/tv/own/owntv/core/sync/work/ContentIndexWorker.kt	content-index-build
1	preference-key	core/src/main/java/tv/own/owntv/core/sync/work/ContentIndexWorker.kt	reason
1	technical	core/src/main/java/tv/own/owntv/core/sync/work/ContentIndexWorker.kt	unknown
1	technical	core/src/main/java/tv/own/owntv/core/sync/work/EpgSyncScheduler.kt	epg-source-$sourceId
1	log	core/src/main/java/tv/own/owntv/core/sync/work/EpgSyncScheduler.kt	epg-sync
1	technical	core/src/main/java/tv/own/owntv/core/sync/work/EpgSyncScheduler.kt	epg-sync-source-$sourceId
1	log	core/src/main/java/tv/own/owntv/core/sync/work/EpgSyncWorker.kt	EPG sync cancelled sourceId=${source.id} reason=$reason
1	log	core/src/main/java/tv/own/owntv/core/sync/work/EpgSyncWorker.kt	EPG sync failed sourceId=${source.id} reason=$reason
1	log	core/src/main/java/tv/own/owntv/core/sync/work/EpgSyncWorker.kt	EPG sync failed transiently sourceId=${source.id} reason=$reason attempt=$runAttemptCount — will retry
1	log	core/src/main/java/tv/own/owntv/core/sync/work/EpgSyncWorker.kt	EPG sync finished sourceId=${source.id} reason=$reason programmes=$programmes ms=${SystemClock.elapsedRealtime() - startedAt}
1	log	core/src/main/java/tv/own/owntv/core/sync/work/EpgSyncWorker.kt	EpgSyncWorker
1	log	core/src/main/java/tv/own/owntv/core/sync/work/EpgSyncWorker.kt	Skipping stale EPG sync sourceId=$sourceId reason=$reason
1	log	core/src/main/java/tv/own/owntv/core/sync/work/EpgSyncWorker.kt	Starting EPG sync sourceId=${source.id} reason=$reason
1	preference-key	core/src/main/java/tv/own/owntv/core/sync/work/EpgSyncWorker.kt	baseProgrammes
1	preference-key	core/src/main/java/tv/own/owntv/core/sync/work/EpgSyncWorker.kt	channels
1	preference-key	core/src/main/java/tv/own/owntv/core/sync/work/EpgSyncWorker.kt	programmes
1	preference-key	core/src/main/java/tv/own/owntv/core/sync/work/EpgSyncWorker.kt	reason
1	preference-key	core/src/main/java/tv/own/owntv/core/sync/work/EpgSyncWorker.kt	sourceId
1	technical	core/src/main/java/tv/own/owntv/core/sync/work/EpgSyncWorker.kt	unknown
1	log	core/src/main/java/tv/own/owntv/core/sync/work/TrendingRefreshWorker.kt	Finished sourceId=$sourceId outcome=${outcome.diagnosticName()}
1	log	core/src/main/java/tv/own/owntv/core/sync/work/TrendingRefreshWorker.kt	TrendingRefreshWorker
1	log	core/src/main/java/tv/own/owntv/core/sync/work/TrendingRefreshWorker.kt	Unexpected refresh failure sourceId=$sourceId; preserving snapshot
1	log	core/src/main/java/tv/own/owntv/core/sync/work/TrendingRefreshWorker.kt	enriching final Now Trending itemCount=$itemCount
1	log	core/src/main/java/tv/own/owntv/core/sync/work/TrendingRefreshWorker.kt	fetching latest Trending candidates
1	protocol	core/src/main/java/tv/own/owntv/core/sync/work/TrendingRefreshWorker.kt	force
1	log	core/src/main/java/tv/own/owntv/core/sync/work/TrendingRefreshWorker.kt	home-row-hidden
1	log	core/src/main/java/tv/own/owntv/core/sync/work/TrendingRefreshWorker.kt	loading provider seasons processed=$processed/$total
1	log	core/src/main/java/tv/own/owntv/core/sync/work/TrendingRefreshWorker.kt	movie candidate checked=$checked/$candidates matched=$matched/$target
1	log	core/src/main/java/tv/own/owntv/core/sync/work/TrendingRefreshWorker.kt	no-vod
1	log	core/src/main/java/tv/own/owntv/core/sync/work/TrendingRefreshWorker.kt	preparing indexed provider titles processed=$processed/$total
1	log	core/src/main/java/tv/own/owntv/core/sync/work/TrendingRefreshWorker.kt	preserved-$stage
1	log	core/src/main/java/tv/own/owntv/core/sync/work/TrendingRefreshWorker.kt	provider-mode
1	log	core/src/main/java/tv/own/owntv/core/sync/work/TrendingRefreshWorker.kt	publishing complete Now Trending itemCount=$itemCount
1	log	core/src/main/java/tv/own/owntv/core/sync/work/TrendingRefreshWorker.kt	received candidates total=$total movies=$movies series=$series
1	log	core/src/main/java/tv/own/owntv/core/sync/work/TrendingRefreshWorker.kt	replaced-$itemCount
1	log	core/src/main/java/tv/own/owntv/core/sync/work/TrendingRefreshWorker.kt	series candidate checked=$checked/$candidates matched=$matched/$target
1	log	core/src/main/java/tv/own/owntv/core/sync/work/TrendingRefreshWorker.kt	source-missing
1	protocol	core/src/main/java/tv/own/owntv/core/sync/work/TrendingRefreshWorker.kt	sourceId
1	log	core/src/main/java/tv/own/owntv/core/sync/work/TrendingRefreshWorker.kt	sourceId=$sourceId ${progress.diagnosticText()}
1	log	core/src/main/java/tv/own/owntv/core/sync/work/TrendingRefreshWorker.kt	sourceId=$sourceId catalog sync finished; building Now Trending force=$force
1	protocol	core/src/main/java/tv/own/owntv/core/sync/work/TrendingRefreshWorker.kt	trending-refresh
1	protocol	core/src/main/java/tv/own/owntv/core/sync/work/TrendingRefreshWorker.kt	trending-refresh-source-$sourceId
1	technical	core/src/main/java/tv/own/owntv/core/theme/Palette.kt	#
1	protocol	core/src/main/java/tv/own/owntv/core/trending/TrendingAvailability.kt	no VOD content
1	empty	core/src/main/java/tv/own/owntv/core/trending/TrendingMatcher.kt	\0
1	sql	core/src/main/java/tv/own/owntv/core/trending/TrendingMatcher.kt	$it*
1	technical	core/src/main/java/tv/own/owntv/core/trending/TrendingMatcher.kt	1080p FHD
1	technical	core/src/main/java/tv/own/owntv/core/trending/TrendingMatcher.kt	4K UHD
1	technical	core/src/main/java/tv/own/owntv/core/trending/TrendingMatcher.kt	720p HD
1	technical	core/src/main/java/tv/own/owntv/core/trending/TrendingMatcher.kt	8K
1	locale	core/src/main/java/tv/own/owntv/core/trending/TrendingMatcher.kt	EN
1	technical	core/src/main/java/tv/own/owntv/core/trending/TrendingMatcher.kt	SD
1	regex	core/src/main/java/tv/own/owntv/core/trending/TrendingMatcher.kt	\\s+
1	locale	core/src/main/java/tv/own/owntv/core/trending/TrendingMatcher.kt	en
2	technical	core/src/main/java/tv/own/owntv/core/trending/TrendingMatcher.kt	•
1	empty	core/src/main/java/tv/own/owntv/core/trending/TrendingRepository.kt	\0
1	log	core/src/main/java/tv/own/owntv/core/trending/TrendingRepository.kt	${(dueAt - now) / 3_600_000}
2	log	core/src/main/java/tv/own/owntv/core/trending/TrendingRepository.kt	-
1	log	core/src/main/java/tv/own/owntv/core/trending/TrendingRepository.kt	Preserve old snapshot sourceId=$sourceId failedStage=$stage totalMs=${SystemClock.elapsedRealtime() - startedAt}
2	log	core/src/main/java/tv/own/owntv/core/trending/TrendingRepository.kt	TV candidates
1	log	core/src/main/java/tv/own/owntv/core/trending/TrendingRepository.kt	TrendingRepository
1	protocol	core/src/main/java/tv/own/owntv/core/trending/TrendingRepository.kt	below-threshold
1	log	core/src/main/java/tv/own/owntv/core/trending/TrendingRepository.kt	dueInHours=${if (dueAt == 0L) "never" else "${(dueAt - now) / 3_600_000}"}
1	log	core/src/main/java/tv/own/owntv/core/trending/TrendingRepository.kt	lang='$language' storedLang='${storedRaw?.language ?: "-"}' snapLang='${state?.metadataLanguage ?: "-"}'
2	log	core/src/main/java/tv/own/owntv/core/trending/TrendingRepository.kt	movie candidates
1	log	core/src/main/java/tv/own/owntv/core/trending/TrendingRepository.kt	never
1	protocol	core/src/main/java/tv/own/owntv/core/trending/TrendingRepository.kt	no VOD content
1	protocol	core/src/main/java/tv/own/owntv/core/trending/TrendingRepository.kt	published
1	log	core/src/main/java/tv/own/owntv/core/trending/TrendingRepository.kt	seriesId=$seriesId loaded=$loaded seasons=$seasonCount
1	log	core/src/main/java/tv/own/owntv/core/trending/TrendingRepository.kt	sourceId=$sourceId candidates=$movieCandidates/$seriesCandidates matches=${movies.selections.size}/${series.selections.size} final=$finalCount decision=$decision
1	log	core/src/main/java/tv/own/owntv/core/trending/TrendingRepository.kt	sourceId=$sourceId detail fallback count=$detailFailures networkAllowed=$gateOpen
1	log	core/src/main/java/tv/own/owntv/core/trending/TrendingRepository.kt	sourceId=$sourceId gate open=$gateOpen network=$useNetwork force=$force built=$alreadyBuilt
1	log	core/src/main/java/tv/own/owntv/core/trending/TrendingRepository.kt	sourceId=$sourceId nextFetchInDays=${((nextFetchAt - completedAt).coerceAtLeast(0)) / TrendingScheduleStore.DAY_MS}
1	log	core/src/main/java/tv/own/owntv/core/trending/TrendingRepository.kt	sourceId=$sourceId provider metadata backfilled movies=$backfilledMovies series=$backfilledSeries ms=$preparationMs
1	log	core/src/main/java/tv/own/owntv/core/trending/TrendingRepository.kt	sourceId=$sourceId provider season load failed seriesId=$seriesId
1	log	core/src/main/java/tv/own/owntv/core/trending/TrendingRepository.kt	sourceId=$sourceId provider seasons checked=${index + 1}/${selectedSeries.size}
1	log	core/src/main/java/tv/own/owntv/core/trending/TrendingRepository.kt	sourceId=$sourceId timing fetchMs=$fetchMs preparationMs=$preparationMs exactMs=${movies.exactLookupMs + series.exactLookupMs} ftsMs=${movies.ftsLookupMs + series.ftsLookupMs} ftsFallbacks=${movies.ftsFallbacks + series.ftsFallbacks} enrichmentMs=$enrichmentMs snapshotWriteMs=$writeMs totalMs=${SystemClock.elapsedRealtime() - startedAt}
1	log	core/src/main/java/tv/own/owntv/core/trending/TrendingRepository.kt	storedAgeHours=${stored?.let { (now - it.fetchedAt) / 3_600_000 } ?: -1}
1	protocol	core/src/main/java/tv/own/owntv/core/trending/TrendingRepository.kt	unexpected error
1	technical	core/src/main/java/tv/own/owntv/core/trending/TrendingRepository.kt	•
2	json	core/src/main/java/tv/own/owntv/core/trending/TrendingScheduleStore.kt	at
2	json	core/src/main/java/tv/own/owntv/core/trending/TrendingScheduleStore.kt	b
2	json	core/src/main/java/tv/own/owntv/core/trending/TrendingScheduleStore.kt	d
2	json	core/src/main/java/tv/own/owntv/core/trending/TrendingScheduleStore.kt	days
1	preference-key	core/src/main/java/tv/own/owntv/core/trending/TrendingScheduleStore.kt	fetch_deadlines
2	json	core/src/main/java/tv/own/owntv/core/trending/TrendingScheduleStore.kt	fetchedAt
2	json	core/src/main/java/tv/own/owntv/core/trending/TrendingScheduleStore.kt	id
2	json	core/src/main/java/tv/own/owntv/core/trending/TrendingScheduleStore.kt	language
2	json	core/src/main/java/tv/own/owntv/core/trending/TrendingScheduleStore.kt	moviePagesLoaded
2	json	core/src/main/java/tv/own/owntv/core/trending/TrendingScheduleStore.kt	movieTotalPages
2	json	core/src/main/java/tv/own/owntv/core/trending/TrendingScheduleStore.kt	movies
2	json	core/src/main/java/tv/own/owntv/core/trending/TrendingScheduleStore.kt	o
1	preference-key	core/src/main/java/tv/own/owntv/core/trending/TrendingScheduleStore.kt	owntv_trending_schedule
2	json	core/src/main/java/tv/own/owntv/core/trending/TrendingScheduleStore.kt	p
2	json	core/src/main/java/tv/own/owntv/core/trending/TrendingScheduleStore.kt	pop
3	json	core/src/main/java/tv/own/owntv/core/trending/TrendingScheduleStore.kt	r
2	json	core/src/main/java/tv/own/owntv/core/trending/TrendingScheduleStore.kt	rank
2	json	core/src/main/java/tv/own/owntv/core/trending/TrendingScheduleStore.kt	series
2	json	core/src/main/java/tv/own/owntv/core/trending/TrendingScheduleStore.kt	seriesPagesLoaded
2	json	core/src/main/java/tv/own/owntv/core/trending/TrendingScheduleStore.kt	seriesTotalPages
1	preference-key	core/src/main/java/tv/own/owntv/core/trending/TrendingScheduleStore.kt	shared_candidates
2	json	core/src/main/java/tv/own/owntv/core/trending/TrendingScheduleStore.kt	t
3	json	core/src/main/java/tv/own/owntv/core/trending/TrendingScheduleStore.kt	y
1	json	core/src/main/java/tv/own/owntv/core/trending/TrendingScheduleStore.kt	{}
1	empty	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	\0
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	$profileId|${mediaType.name}|$stableKey
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	${surface.name}:${mediaType.name}:$groupId
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	%02x
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	OwnTVHome
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	RestrictedApi
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	SHA-256
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	android.resource://${context.packageName}/$resId
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	clearProfile profile=$profileId done
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	clearProfile profile=$profileId rows=${rows.size}
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	eligible=$eligible complete=$isComplete currentIndex=$currentIndex force=$force
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	eligible=$eligible force=$force
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	ensureRecentLiveChannel existing row missing from platform profile=$profileId providerId=${existing.providerProgramId}
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	ensureRecentLiveChannel publish failed profile=$profileId result=$channelId
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	ensureRecentLiveChannel publish profile=$profileId ownChannelCount=$ownChannelCount allowBrowsable=$allowBrowsableRequest result=$channelId
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	ensureRecentLiveChannel read failed profile=$profileId channelId=${existing.providerProgramId}
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	ensureRecentLiveChannel requestBrowsable profile=$profileId channelId=${existing.providerProgramId}
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	ensureRecentLiveChannel reuse profile=$profileId channelId=${existing.providerProgramId}
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	ensureRecentLiveChannel stored profile=$profileId channelId=$channelId row=${row.describe()}
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	ensureRecentLiveChannel update profile=$profileId channelId=${existing.providerProgramId} allowBrowsable=$allowBrowsableRequest
1	url	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	http://
1	url	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	https://
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	owntv:${surface.name.lowercase()}:${sha256Hex("$profileId|${mediaType.name}|$stableKey")}
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	persistRecentLive insert failed profile=${row.profileId} row=${row.describe()}
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	persistRecentLive insert profile=${row.profileId} programId=$providerId row=${row.describe()}
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	persistRecentLive insert returned null profile=${row.profileId} row=${row.describe()}
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	persistRecentLive profile=$profileId channelId=$channelId index=$index label=$label row=${row.describe()}
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	persistRecentLive update failed profile=${row.profileId} programId=$existing row=${row.describe()}
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	persistRecentLive update profile=${row.profileId} programId=$existing updated=$updated row=${row.describe()}
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	persistWatchNext episode profile=${row.profileId} row=${row.describe()} watchNextType=$watchNextType
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	persistWatchNext insert failed profile=${row.profileId} row=${row.describe()}
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	persistWatchNext insert profile=${row.profileId} programId=$providerId row=${row.describe()}
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	persistWatchNext insert returned null profile=${row.profileId} row=${row.describe()}
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	persistWatchNext movie profile=${row.profileId} stableKey=$stableKey row=${row.describe()}
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	persistWatchNext update failed profile=${row.profileId} programId=$programId row=${row.describe()}
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	persistWatchNext update profile=${row.profileId} programId=$programId updated=$updated row=${row.describe()}
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	providerId=${providerProgramId ?: -1} surface=$surface mediaType=$mediaType groupId=$groupId targetItemId=$targetItemId lastPositionMs=$lastPositionMs durationMs=$durationMs lastPublishedAt=$lastPublishedAt
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	publishEpisodeProgress profile=$profileId episodeId=$episodeId positionMs=$positionMs durationMs=$durationMs
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	publishEpisodeProgress skip profile=$profileId enabled=$enabled episodeId=$episodeId positionMs=$positionMs durationMs=$durationMs
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	publishMovieProgress profile=$profileId movieId=$movieId positionMs=$positionMs durationMs=$durationMs
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	publishMovieProgress skip profile=$profileId enabled=$enabled movieId=$movieId positionMs=$positionMs durationMs=$durationMs
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	recent-live
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	refreshProfile profile=$profileId clearing platform rows because Android TV home is disabled
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	refreshProfile profile=$profileId done
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	refreshProfile profile=$profileId enabled=$enabled allowBrowsable=$allowBrowsableRequest
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	refreshProfile profile=$profileId publishing Watch Next and Recent Live rows
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	refreshRecentLive profile=$profileId allowBrowsable=$allowBrowsableRequest
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	refreshRecentLive profile=$profileId channelId=$channelId recent=${recentChannels.size}
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	refreshRecentLive profile=$profileId updated channel bookkeeping
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	refreshRecentLive skip profile=$profileId enabled=$enabled allowBrowsable=$allowBrowsableRequest
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	refreshWatchNext deleting stale ${row.describe()}
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	refreshWatchNext profile=$profileId desired=${desired.size} existing=${existing.size}
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	row=${row.describe()}
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	sourceCount=${liveSourceIds.size} existing=${existingRows.size}
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	syncEpisode delete profile=$profileId episodeId=$episodeId groupId=$currentGroupId reason=ineligible
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	syncEpisode delete profile=$profileId episodeId=$episodeId groupId=$currentGroupId reason=show-complete-last-episode
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	syncEpisode profile=$profileId episodeId=$episodeId showId=${show.id} groupId=$currentGroupId existing=${existingCurrent?.providerProgramId ?: -1}
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	syncEpisode publish profile=$profileId episodeId=$episodeId targetId=${target.id} watchNextType=$watchNextType
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	syncEpisode skip hidden profile=$profileId episodeId=$episodeId showId=${show.id} sourceId=${show.sourceId}
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	syncEpisode skip user-hidden profile=$profileId episodeId=$episodeId showId=${show.id}
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	syncMovie delete profile=$profileId movieId=$movieId groupId=$groupId reason=ineligible
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	syncMovie profile=$profileId movieId=$movieId groupId=$groupId existing=${existing?.providerProgramId ?: -1}
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	syncMovie skip hidden profile=$profileId movieId=$movieId sourceId=${movie.sourceId}
1	log	core/src/main/java/tv/own/owntv/core/tv/TvHomeRepository.kt	syncMovie skip user-hidden profile=$profileId movieId=$movieId groupId=$groupId
1	technical	core/src/main/java/tv/own/owntv/core/update/MadarRelease.kt	.apk
1	technical	core/src/main/java/tv/own/owntv/core/update/MadarRelease.kt	/tv/
1	technical	core/src/main/java/tv/own/owntv/core/update/MadarRelease.kt	[0-9]+\\.[0-9]+\\.[0-9]+
1	technical	core/src/main/java/tv/own/owntv/core/update/MadarRelease.kt	[a-f0-9]{64}
1	technical	core/src/main/java/tv/own/owntv/core/update/MadarRelease.kt	apkUrl
1	technical	core/src/main/java/tv/own/owntv/core/update/MadarRelease.kt	bytes
1	technical	core/src/main/java/tv/own/owntv/core/update/MadarRelease.kt	https
1	technical	core/src/main/java/tv/own/owntv/core/update/MadarRelease.kt	https://madar.fun/tv/native-release.json
1	technical	core/src/main/java/tv/own/owntv/core/update/MadarRelease.kt	madar.fun
1	technical	core/src/main/java/tv/own/owntv/core/update/MadarRelease.kt	madar.show
1	technical	core/src/main/java/tv/own/owntv/core/update/MadarRelease.kt	minSdk
1	technical	core/src/main/java/tv/own/owntv/core/update/MadarRelease.kt	notes
1	technical	core/src/main/java/tv/own/owntv/core/update/MadarRelease.kt	packageName
1	technical	core/src/main/java/tv/own/owntv/core/update/MadarRelease.kt	sha256
1	technical	core/src/main/java/tv/own/owntv/core/update/MadarRelease.kt	versionCode
1	technical	core/src/main/java/tv/own/owntv/core/update/MadarRelease.kt	versionName
1	technical	core/src/main/java/tv/own/owntv/core/update/UpdateManager.kt	\0
1	technical	core/src/main/java/tv/own/owntv/core/update/UpdateManager.kt	%02x
1	technical	core/src/main/java/tv/own/owntv/core/update/UpdateManager.kt	.apk
1	technical	core/src/main/java/tv/own/owntv/core/update/UpdateManager.kt	Accept
1	technical	core/src/main/java/tv/own/owntv/core/update/UpdateManager.kt	Cache-Control
1	technical	core/src/main/java/tv/own/owntv/core/update/UpdateManager.kt	Checksum mismatch
1	technical	core/src/main/java/tv/own/owntv/core/update/UpdateManager.kt	DEPRECATION
1	technical	core/src/main/java/tv/own/owntv/core/update/UpdateManager.kt	MADAR
1	technical	core/src/main/java/tv/own/owntv/core/update/UpdateManager.kt	Oversized APK
1	technical	core/src/main/java/tv/own/owntv/core/update/UpdateManager.kt	OwnTV
1	technical	core/src/main/java/tv/own/owntv/core/update/UpdateManager.kt	Release identity mismatch
1	technical	core/src/main/java/tv/own/owntv/core/update/UpdateManager.kt	SHA-256
1	technical	core/src/main/java/tv/own/owntv/core/update/UpdateManager.kt	UTF-8
1	technical	core/src/main/java/tv/own/owntv/core/update/UpdateManager.kt	Untrusted redirect
1	log	core/src/main/java/tv/own/owntv/core/update/UpdateManager.kt	UpdateManager
2	technical	core/src/main/java/tv/own/owntv/core/update/UpdateManager.kt	User-Agent
1	technical	core/src/main/java/tv/own/owntv/core/update/UpdateManager.kt	ahXN00/OwnTV
1	mime	core/src/main/java/tv/own/owntv/core/update/UpdateManager.kt	application/vnd.github+json
1	json	core/src/main/java/tv/own/owntv/core/update/UpdateManager.kt	assets
1	json	core/src/main/java/tv/own/owntv/core/update/UpdateManager.kt	body
1	json	core/src/main/java/tv/own/owntv/core/update/UpdateManager.kt	browser_download_url
1	url	core/src/main/java/tv/own/owntv/core/update/UpdateManager.kt	https://api.github.com/repos/$REPO/releases/latest
1	log	core/src/main/java/tv/own/owntv/core/update/UpdateManager.kt	install cancelled by user
1	log	core/src/main/java/tv/own/owntv/core/update/UpdateManager.kt	install refused status=$status message=$message
1	technical	core/src/main/java/tv/own/owntv/core/update/UpdateManager.kt	madar-update.apk
1	json	core/src/main/java/tv/own/owntv/core/update/UpdateManager.kt	name
1	technical	core/src/main/java/tv/own/owntv/core/update/UpdateManager.kt	no-cache
1	file-path	core/src/main/java/tv/own/owntv/core/update/UpdateManager.kt	owntv-update
1	json	core/src/main/java/tv/own/owntv/core/update/UpdateManager.kt	tag_name
1	log	core/src/main/java/tv/own/owntv/core/update/UpdateManager.kt	truncated: got $copied of $total bytes
1	uri	core/src/main/java/tv/own/owntv/core/update/UpdateManager.kt	tv.own.owntv.UPDATE_INSTALL_STATUS
1	log	core/src/main/java/tv/own/owntv/core/update/UpdateManager.kt	unparseable APK (${apk.length()} bytes)
1	log	core/src/main/java/tv/own/owntv/core/update/UpdateManager.kt	update check failed: ${error.message}
1	log	core/src/main/java/tv/own/owntv/core/update/UpdateManager.kt	update download failed: ${error.message}
1	log	core/src/main/java/tv/own/owntv/core/update/UpdateManager.kt	update installed
1	file-path	core/src/main/java/tv/own/owntv/core/update/UpdateManager.kt	updates
1	technical	core/src/main/java/tv/own/owntv/core/update/UpdateManager.kt	v
1	log	core/src/main/java/tv/own/owntv/core/update/UpdateManager.kt	wrong package ${info.packageName}
2	technical	core/src/main/java/tv/own/owntv/core/update/UpdateManager.kt	x86_64
1	technical	core/src/main/java/tv/own/owntv/core/util/CrashRecorder.kt	Crashed $stamp on thread "${thread.name}"
1	technical	core/src/main/java/tv/own/owntv/core/util/CrashRecorder.kt	OwnTV ${CoreBuildInfo.versionName} (${CoreBuildInfo.versionCode})
1	file-path	core/src/main/java/tv/own/owntv/core/util/CrashRecorder.kt	diagnostics
1	file-path	core/src/main/java/tv/own/owntv/core/util/CrashRecorder.kt	last_crash.txt
1	technical	core/src/main/java/tv/own/owntv/core/util/CrashRecorder.kt	yyyy-MM-dd HH:mm:ss
1	protocol	core/src/main/java/tv/own/owntv/core/util/ErrorMessages.kt	CertPath
1	protocol	core/src/main/java/tv/own/owntv/core/util/ErrorMessages.kt	CertificateException
2	protocol	core/src/main/java/tv/own/owntv/core/util/ErrorMessages.kt	Connection refused
2	protocol	core/src/main/java/tv/own/owntv/core/util/ErrorMessages.kt	Connection reset
2	protocol	core/src/main/java/tv/own/owntv/core/util/ErrorMessages.kt	ECONNREFUSED
1	protocol	core/src/main/java/tv/own/owntv/core/util/ErrorMessages.kt	END_TAG
2	protocol	core/src/main/java/tv/own/owntv/core/util/ErrorMessages.kt	Failed to connect
1	protocol	core/src/main/java/tv/own/owntv/core/util/ErrorMessages.kt	HTTP 401
1	protocol	core/src/main/java/tv/own/owntv/core/util/ErrorMessages.kt	HTTP 403
1	protocol	core/src/main/java/tv/own/owntv/core/util/ErrorMessages.kt	HTTP 404
1	protocol	core/src/main/java/tv/own/owntv/core/util/ErrorMessages.kt	HTTP 429
2	protocol	core/src/main/java/tv/own/owntv/core/util/ErrorMessages.kt	HTTP 500
2	protocol	core/src/main/java/tv/own/owntv/core/util/ErrorMessages.kt	HTTP 502
2	protocol	core/src/main/java/tv/own/owntv/core/util/ErrorMessages.kt	HTTP 503
2	protocol	core/src/main/java/tv/own/owntv/core/util/ErrorMessages.kt	HTTP 504
1	protocol	core/src/main/java/tv/own/owntv/core/util/ErrorMessages.kt	MAC may not be authorized
1	protocol	core/src/main/java/tv/own/owntv/core/util/ErrorMessages.kt	MAC not authorized
2	protocol	core/src/main/java/tv/own/owntv/core/util/ErrorMessages.kt	No address associated
2	protocol	core/src/main/java/tv/own/owntv/core/util/ErrorMessages.kt	PROTOCOL_ERROR
1	protocol	core/src/main/java/tv/own/owntv/core/util/ErrorMessages.kt	ParserException
1	protocol	core/src/main/java/tv/own/owntv/core/util/ErrorMessages.kt	Portal handshake
1	protocol	core/src/main/java/tv/own/owntv/core/util/ErrorMessages.kt	Portal rejected
1	protocol	core/src/main/java/tv/own/owntv/core/util/ErrorMessages.kt	PullParser
1	protocol	core/src/main/java/tv/own/owntv/core/util/ErrorMessages.kt	SSLHandshake
1	protocol	core/src/main/java/tv/own/owntv/core/util/ErrorMessages.kt	START_TAG
1	protocol	core/src/main/java/tv/own/owntv/core/util/ErrorMessages.kt	Software caused connection abort
2	protocol	core/src/main/java/tv/own/owntv/core/util/ErrorMessages.kt	StreamReset
2	protocol	core/src/main/java/tv/own/owntv/core/util/ErrorMessages.kt	Unable to resolve host
2	protocol	core/src/main/java/tv/own/owntv/core/util/ErrorMessages.kt	UnknownHost
1	protocol	core/src/main/java/tv/own/owntv/core/util/ErrorMessages.kt	XmlPull
1	protocol	core/src/main/java/tv/own/owntv/core/util/ErrorMessages.kt	no valid MAC
1	protocol	core/src/main/java/tv/own/owntv/core/util/ErrorMessages.kt	playlist_file_unavailable
1	protocol	core/src/main/java/tv/own/owntv/core/util/ErrorMessages.kt	playlist_path_unsupported
1	protocol	core/src/main/java/tv/own/owntv/core/util/ErrorMessages.kt	portal API endpoint
1	protocol	core/src/main/java/tv/own/owntv/core/util/ErrorMessages.kt	returned no cmd
2	protocol	core/src/main/java/tv/own/owntv/core/util/ErrorMessages.kt	stream was reset
2	protocol	core/src/main/java/tv/own/owntv/core/util/ErrorMessages.kt	timed out
2	protocol	core/src/main/java/tv/own/owntv/core/util/ErrorMessages.kt	timeout
1	protocol	core/src/main/java/tv/own/owntv/core/util/ErrorMessages.kt	token may have expired
1	protocol	core/src/main/java/tv/own/owntv/core/util/ErrorMessages.kt	trust anchor
1	protocol	core/src/main/java/tv/own/owntv/core/util/ErrorMessages.kt	unexpected end of stream
1	log	core/src/main/java/tv/own/owntv/core/util/Perf.kt	$label @${SystemClock.elapsedRealtime() - base}ms
1	log	core/src/main/java/tv/own/owntv/core/util/Perf.kt	OwnTVPerf
1	log	core/src/main/java/tv/own/owntv/core/util/Perf.kt	process-begin @0ms
1	empty	core/src/main/java/tv/own/owntv/core/util/Pin.kt	\0
1	technical	core/src/main/java/tv/own/owntv/core/util/Pin.kt	${salt.toHex()}:${digest(salt, pin)}
1	technical	core/src/main/java/tv/own/owntv/core/util/Pin.kt	%02x
1	technical	core/src/main/java/tv/own/owntv/core/util/Pin.kt	:
1	technical	core/src/main/java/tv/own/owntv/core/util/Pin.kt	SHA-256
1	protocol	core/src/main/java/tv/own/owntv/core/weather/WeatherData.kt	clearNight
2	protocol	core/src/main/java/tv/own/owntv/core/weather/WeatherData.kt	cloudy
1	protocol	core/src/main/java/tv/own/owntv/core/weather/WeatherData.kt	drizzle
1	protocol	core/src/main/java/tv/own/owntv/core/weather/WeatherData.kt	fog
1	protocol	core/src/main/java/tv/own/owntv/core/weather/WeatherData.kt	partlyDay
1	protocol	core/src/main/java/tv/own/owntv/core/weather/WeatherData.kt	partlyNight
1	protocol	core/src/main/java/tv/own/owntv/core/weather/WeatherData.kt	rain
1	protocol	core/src/main/java/tv/own/owntv/core/weather/WeatherData.kt	snow
1	protocol	core/src/main/java/tv/own/owntv/core/weather/WeatherData.kt	sunny
1	protocol	core/src/main/java/tv/own/owntv/core/weather/WeatherData.kt	thunder
3	log	core/src/main/java/tv/own/owntv/core/weather/WeatherRepository.kt	\0
1	log	core/src/main/java/tv/own/owntv/core/weather/WeatherRepository.kt	&current=temperature_2m,weather_code,is_day
1	log	core/src/main/java/tv/own/owntv/core/weather/WeatherRepository.kt	&timezone=auto
1	log	core/src/main/java/tv/own/owntv/core/weather/WeatherRepository.kt	,
1	log	core/src/main/java/tv/own/owntv/core/weather/WeatherRepository.kt	?latitude=$lat&longitude=$lon
1	log	core/src/main/java/tv/own/owntv/core/weather/WeatherRepository.kt	OwnTV/1.0
1	log	core/src/main/java/tv/own/owntv/core/weather/WeatherRepository.kt	UTF-8
1	log	core/src/main/java/tv/own/owntv/core/weather/WeatherRepository.kt	User-Agent
1	log	core/src/main/java/tv/own/owntv/core/weather/WeatherRepository.kt	Weather fetch failed: $msg
1	log	core/src/main/java/tv/own/owntv/core/weather/WeatherRepository.kt	city
1	log	core/src/main/java/tv/own/owntv/core/weather/WeatherRepository.kt	current
1	log	core/src/main/java/tv/own/owntv/core/weather/WeatherRepository.kt	geo no match
1	log	core/src/main/java/tv/own/owntv/core/weather/WeatherRepository.kt	https://api.open-meteo.com/v1/forecast
1	log	core/src/main/java/tv/own/owntv/core/weather/WeatherRepository.kt	https://geocoding-api.open-meteo.com/v1/search?name=$name&count=1&language=en&format=json
1	log	core/src/main/java/tv/own/owntv/core/weather/WeatherRepository.kt	https://ipapi.co/json/
1	log	core/src/main/java/tv/own/owntv/core/weather/WeatherRepository.kt	is_day
2	log	core/src/main/java/tv/own/owntv/core/weather/WeatherRepository.kt	latitude
2	log	core/src/main/java/tv/own/owntv/core/weather/WeatherRepository.kt	longitude
1	log	core/src/main/java/tv/own/owntv/core/weather/WeatherRepository.kt	name
1	log	core/src/main/java/tv/own/owntv/core/weather/WeatherRepository.kt	region
1	log	core/src/main/java/tv/own/owntv/core/weather/WeatherRepository.kt	results
1	log	core/src/main/java/tv/own/owntv/core/weather/WeatherRepository.kt	temperature_2m
1	log	core/src/main/java/tv/own/owntv/core/weather/WeatherRepository.kt	weather_code
1	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	,
2	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	MOVIE
1	log	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	OpenSubtitles
2	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	SERIES
1	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	[a-z]{2}-[a-z]{2}
1	locale	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	ar
1	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	ara
1	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	ben
1	locale	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	bn
1	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	ces
1	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	chi
1	locale	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	cs
1	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	cze
1	locale	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	da
1	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	dan
1	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	data
1	locale	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	de
1	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	deu
1	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	dut
1	locale	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	en
1	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	eng
1	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	episode
1	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	episode:${show.sourceId}:${show.remoteId ?: show.name}:S${ep.seasonNumber}E${ep.episodeNumber}
1	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	episode_number
1	locale	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	es
1	locale	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	fr
1	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	fra
1	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	fre
1	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	ger
1	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	hi
1	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	hin
1	locale	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	it
1	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	ita
1	locale	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	ja
1	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	jpn
1	locale	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	ko
1	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	kor
1	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	languages
1	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	mal
1	locale	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	ml
1	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	movie
1	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	movie:${movie.sourceId}:${movie.remoteId ?: movie.name}
1	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	moviehash
1	locale	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	nl
1	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	nld
1	locale	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	no
1	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	nob
1	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	nor
1	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	parent_tmdb_id
2	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	path:
1	locale	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	pl
1	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	pol
1	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	por
1	locale	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	pt
2	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	query
1	locale	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	ru
1	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	rus
1	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	season_number
1	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	spa
1	log	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	subtitle search by TMDB id failed — retrying by title
1	locale	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	sv
1	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	swe
1	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	tmdb_id
1	locale	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	tr
1	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	tur
2	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	type
1	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	year
1	locale	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	zh
1	technical	player-core/src/main/java/tv/own/owntv/core/subtitles/SubtitleController.kt	zho
1	empty	player-core/src/main/java/tv/own/owntv/player/AudioOutputPolicy.kt	\0
1	technical	player-core/src/main/java/tv/own/owntv/player/AudioOutputPolicy.kt	${f.channelCount}ch
1	technical	player-core/src/main/java/tv/own/owntv/player/AudioOutputPolicy.kt	${f.sampleRate / 1000}kHz
1	technical	player-core/src/main/java/tv/own/owntv/player/AudioOutputPolicy.kt	?
7	technical	player-core/src/main/java/tv/own/owntv/player/AudioOutputPolicy.kt	AudioOutputPolicy
1	compiler	player-core/src/main/java/tv/own/owntv/player/AudioOutputPolicy.kt	DEPRECATION
1	technical	player-core/src/main/java/tv/own/owntv/player/AudioOutputPolicy.kt	audio
1	log	player-core/src/main/java/tv/own/owntv/player/AudioOutputPolicy.kt	audio decoder: $decoderName (init ${initializationDurationMs}ms, passthrough=$passthrough)
1	log	player-core/src/main/java/tv/own/owntv/player/AudioOutputPolicy.kt	audio format -> ${format.sampleMimeType} ${format.channelCount}ch ${format.sampleRate}Hz
1	technical	player-core/src/main/java/tv/own/owntv/player/AudioOutputPolicy.kt	audio output underran ${AudioOutputPolicy.UNDERRUN_LIMIT}× in ${AudioOutputPolicy.UNDERRUN_WINDOW_MS / 1000}s
1	log	player-core/src/main/java/tv/own/owntv/player/AudioOutputPolicy.kt	audio path: passthrough — the TV is decoding this stream
1	technical	player-core/src/main/java/tv/own/owntv/player/AudioOutputPolicy.kt	audio sink error: ${audioSinkError.message ?: audioSinkError.javaClass.simpleName}
1	log	player-core/src/main/java/tv/own/owntv/player/AudioOutputPolicy.kt	audio timestamp discontinuity: ${audioSinkError.actualPresentationTimeUs - audioSinkError.expectedPresentationTimeUs}us
1	log	player-core/src/main/java/tv/own/owntv/player/AudioOutputPolicy.kt	audio underrun: buffer=${bufferSize}B/${bufferSizeMs}ms, ${elapsedSinceLastFeedMs}ms since last feed
1	technical	player-core/src/main/java/tv/own/owntv/player/AudioOutputPolicy.kt	audio.passthrough
1	technical	player-core/src/main/java/tv/own/owntv/player/AudioOutputPolicy.kt	audio.raw
1	technical	player-core/src/main/java/tv/own/owntv/player/AudioOutputPolicy.kt	decoded
1	log	player-core/src/main/java/tv/own/owntv/player/AudioOutputPolicy.kt	forcing stereo for this session: $reason
1	log	player-core/src/main/java/tv/own/owntv/player/AudioOutputPolicy.kt	lang=${format.language} reuse=${decoderReuseEvaluation?.result}
1	technical	player-core/src/main/java/tv/own/owntv/player/AudioOutputPolicy.kt	no sound from the audio output after ${AudioOutputPolicy.NO_AUDIO_GRACE_MS / 1000}s ($what)
1	log	player-core/src/main/java/tv/own/owntv/player/AudioOutputPolicy.kt	off expected — the sink resyncs itself, not treating this as an output failure
1	technical	player-core/src/main/java/tv/own/owntv/player/AudioOutputPolicy.kt	passthrough
1	log	player-core/src/main/java/tv/own/owntv/player/AudioOutputPolicy.kt	stereo-only sink unavailable, using device capabilities
1	technical	player-core/src/main/java/tv/own/owntv/player/AudioOutputPolicy.kt	·
1	protocol	player-core/src/main/java/tv/own/owntv/player/DecoderNames.kt	.sw.
1	protocol	player-core/src/main/java/tv/own/owntv/player/DecoderNames.kt	arc.
1	protocol	player-core/src/main/java/tv/own/owntv/player/DecoderNames.kt	c2.
1	protocol	player-core/src/main/java/tv/own/owntv/player/DecoderNames.kt	c2.android.
1	protocol	player-core/src/main/java/tv/own/owntv/player/DecoderNames.kt	c2.google.
1	protocol	player-core/src/main/java/tv/own/owntv/player/DecoderNames.kt	omx.
1	protocol	player-core/src/main/java/tv/own/owntv/player/DecoderNames.kt	omx.ffmpeg.
1	protocol	player-core/src/main/java/tv/own/owntv/player/DecoderNames.kt	omx.google.
2	empty	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	\0
1	technical	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	$path|$offsetMs
1	log	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	${when (hardware) { true -> "hardware"; false -> "software"; null -> "kind unknown" }}
1	log	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	(decodedDrops=${currentDroppedFrames(player) - dropsBaseline} format=${player?.videoFormat?.sampleMimeType})
1	log	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	, requested=${if (softwarePreferred) "software" else "hardware"})
1	technical	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	AV1
1	technical	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	ExoPlayer
1	log	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	ExoPlayer error: ${error.errorCodeName}
2	log	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	ExoSubtitleEngine
1	technical	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	H.264
1	technical	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	HEVC
1	technical	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	MPEG-2
1	technical	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	MPEG-4
1	technical	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	User-Agent
1	technical	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	VP9
1	technical	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	ass
1	technical	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	audio mode: video track ${if (disabled) "off" else "back on"}
1	log	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	audio track -> id=$id lang=${f?.language}
1	log	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	audio watchdog: $reason — forcing stereo for this session
1	technical	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	av01
1	technical	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	avc
1	technical	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	back on
1	log	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	codec=${f?.sampleMimeType} ch=${f?.channelCount} rate=${f?.sampleRate}
1	technical	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	device
1	technical	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	exo/vod: $reason
3	technical	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	hardware
1	technical	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	hevc
1	technical	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	kind unknown
1	technical	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	mp4v-es
1	technical	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	mpeg2
1	log	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	no text track matches the picked subtitle (index=$pendingSubTypeIndex lang=$pendingSubLang) — leaving subtitles off
1	log	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	no video frame after ${noVideoTimeoutMs()}ms — falling back
1	log	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	no video track in this file — audio-only, no-video watchdog disarmed
5	protocol	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	off
1	log	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	passthrough audio: re-priming the output after the track change
1	log	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	rebuilding ExoPlayer for ${if (softwarePreferred) "software" else "hardware"} decode, ${if (wantStereo) "stereo" else "device"} audio
3	technical	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	software
1	technical	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	software rescue declined: ${height}p is above the software-decode ceiling
1	technical	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	software rescue: ${error.errorCodeName} on the hardware decoder, restarting in software decode
1	technical	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	software rescue: no frame on the hardware decoder, restarting in software decode
1	technical	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	ssa
1	technical	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	stereo
1	technical	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	subshift_
1	log	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	video decoder: $decoderName (init ${initializationDurationMs}ms,
1	log	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	video input format: ${format.sampleMimeType} ${format.width}x${format.height} fps=${format.frameRate}
1	technical	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	vp9
1	technical	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	vtt
1	technical	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	webvtt
1	technical	player-core/src/main/java/tv/own/owntv/player/ExoSubtitleEngine.kt	x-vnd.on2.vp9
1	log	player-core/src/main/java/tv/own/owntv/player/HeroPreviewEngine.kt	Hero preview error: ${error.errorCodeName}
1	log	player-core/src/main/java/tv/own/owntv/player/HeroPreviewEngine.kt	Hero preview play failed for ${HttpClient.redactUrl(url)}
1	log	player-core/src/main/java/tv/own/owntv/player/HeroPreviewEngine.kt	Hero preview produced no frame in ${NO_FRAME_TIMEOUT_MS}ms — falling back to the poster
1	log	player-core/src/main/java/tv/own/owntv/player/HeroPreviewEngine.kt	HeroPreviewEngine
1	technical	player-core/src/main/java/tv/own/owntv/player/HeroPreviewEngine.kt	User-Agent
4	empty	player-core/src/main/java/tv/own/owntv/player/LiveDiagnosticsLog.kt	\0
1	log	player-core/src/main/java/tv/own/owntv/player/LiveDiagnosticsLog.kt	${timeFmt.format(Date())} $message
1	log	player-core/src/main/java/tv/own/owntv/player/LiveDiagnosticsLog.kt	MM-dd HH:mm:ss.SSS
1	log	player-core/src/main/java/tv/own/owntv/player/LiveDiagnosticsLog.kt	OwnTV-LivePreviewEngine
1	file-path	player-core/src/main/java/tv/own/owntv/player/LiveDiagnosticsLog.kt	diagnostics
1	file-path	player-core/src/main/java/tv/own/owntv/player/LiveDiagnosticsLog.kt	live_diagnostics.log
1	log	player-core/src/main/java/tv/own/owntv/player/LiveLadder.kt	ExoPlayer + HLS
1	log	player-core/src/main/java/tv/own/owntv/player/LiveLadder.kt	ExoPlayer + TS
1	log	player-core/src/main/java/tv/own/owntv/player/LiveLadder.kt	ExoPlayer + normalized HLS
1	log	player-core/src/main/java/tv/own/owntv/player/LiveLadder.kt	mpv + HLS
1	log	player-core/src/main/java/tv/own/owntv/player/LiveLadder.kt	mpv + TS
16	empty	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	\0
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	#extm3u
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	$idx@${LiveStreamQuirks.hostKey(abs)}${HttpClient.redactUrl(abs.substringAfter("://").substringAfter('/')).takeLast(28)}
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	$kind codec: ${e.message ?: e.javaClass.simpleName}
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	$kind codec: ${it.diagnosticInfo}
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	$name=${v.second}
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	${Math.round(it)} FPS
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	${buffered}ms buffered (needs ${startMs}ms) after ${waitedMs}ms, no frame,
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	${f.width}x${f.height}
1	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	${tune.flapCount} re-buffers in ${now - tune.flapWindowStartMs}ms, position advanced ${advancedMs}ms
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	${videoSize.height}p
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	%.1f Mbps
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	%.2f:1
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	(?i)/(?:live|movie|series|vod|timeshift)/([^/]+)/([^/]+)/
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	***
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	, $it
1	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	, init ${initializationDurationMs}ms)
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	.
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	.key
3	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	.m3u8
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	.m4s
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	.mp4
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	.ts
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	16:10
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	16:9
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	21:9
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	4:3
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	5.1
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	7.1
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	: $it
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	://
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	<!doctype
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	<[^>]*>
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	<html
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	AV1
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	Age
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	Authorization
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	BUFFERING
3	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	Content-Type
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	Cookie
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	ENDED
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	EXO
5	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	ExoPlayer
1	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	ExoPlayer error: ${error.errorCodeName}
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	H.264
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	HEVC
1	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	HTTP $HTTP_TOO_MANY_REQUESTS with Retry-After ${secs}s — waiting it out and retrying automatically
1	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	HTTP 458 while the previous engine's session was still open — waiting and retrying once
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	IDLE
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	MONO
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	MPEG-2
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	MPEG-4
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	READY
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	Range
2	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	Retry-After
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	STATE_ENDED before first play — no action
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	STATE_ENDED mid-live — treating as stall, reconnecting
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	STATE_IDLE before first play — no action
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	STATE_IDLE unexpected mid-live — treating as stall, reconnecting
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	STATE_IDLE — clean cancellation (stop/release/back)
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	STEREO
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	Server
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	Set-Cookie
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	UHD channel left — full decoder release+rebuild
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	UNKNOWN($playbackState)
2	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	User-Agent
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	VP9
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	X-Cache
2	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	[
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	\\s+
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	]
1	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	age=${response.header("Age").orEmpty()} retryAfter=${response.header("Retry-After").orEmpty()}
1	mime	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	application/vnd.apple.mpegurl
1	mime	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	application/x-mpegurl
2	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	audio
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	audio: ${audioSinkError.message ?: audioSinkError.javaClass.simpleName}
1	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	audioWatchdog: $reason — forcing stereo for this session
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	av01
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	avc
1	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	buffer stopped growing at ${buffered}ms
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	buffered but never started playing ($detail)
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	buffering stalled
1	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	connection pool evict failed: ${it.javaClass.simpleName}
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	dataType=${mediaLoadData.dataType} canceled=$wasCanceled
1	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	decoder failure before first frame — rebuild + retry once
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	discontinuitySeq=${manifest.mediaPlaylist.discontinuitySequence}
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	distinct segments on this load
2	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	elapsedMs=${android.os.SystemClock.elapsedRealtime() - startedAt}
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	empty
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	ended mid-live
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	error ${error.errorCodeName}
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	exo/live: $reason
1	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	first frame after ${android.os.SystemClock.elapsedRealtime() - tune.playStartedMs}ms
1	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	frame hook NOT wired — no video renderer found; picture-freeze detection falls back to the no-progress backstop
1	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	frame hook send FAILED (${it.message}) — picture-freeze detection falls back to the no-progress backstop
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	frames=$frames dropped=$dropped isPlaying=${p.isPlaying}
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	ftyp
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	hardware
1	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	hardware decoding is ON but '$decoderName' is a software decoder —
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	health posMs=$pos bufferMs=${p.totalBufferedDuration} liveOffsetMs=${liveOffset ?: -1}
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	hevc
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	hls
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	hls-manifest
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	hls_playlist ($reason) mediaSeq=${playlist.mediaSequence} segs=${playlist.segments.size}
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	hls_shape $it
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	hosts=${hosts.groupingBy { it }.eachCount()} newest=$tail
2	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	html
1	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	http_failure type=${t.javaClass.simpleName} message=${HttpClient.redactUrl(t.message.orEmpty())}
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	http_response role=${requestRole(requested)} code=${response.code}
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	id3/audio
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	idle mid-live
1	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	isLiveContent=$isLiveContent buffering=${_buffering.value} reconnect=${tune.retryCount}/$MAX_RECONNECTS
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	json
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	key
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	kind unknown
1	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	latencySec=${LiveBuffer.resolveTargetOffset(liveBufferOverride, liveBufferSecs) ?: -1}
1	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	length=${response.body.contentLength()} signature=${mediaSignature(prefix)}
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	liveOffsetMs=${p.currentLiveOffset.takeUnless { it == C.TIME_UNSET } ?: -1}
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	live_buffer preroll=${effectivePrerollSecs()}s start=${lc.bufferForPlaybackMs}ms
1	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	load_completed dataType=${mediaLoadData.dataType} durationMs=${loadEventInfo.loadDurationMs} bytes=${loadEventInfo.bytesLoaded}
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	load_control min=${lc.minBufferMs} max=${lc.maxBufferMs} start=${lc.bufferForPlaybackMs}
1	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	load_control stale (was=$builtLoadControl want=$wanted) — rebuilding player
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	load_error status=${code ?: -1} type=${error.javaClass.simpleName}
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	matroska
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	media_source inferred=${if (isHls) "hls" else "progressive"} knownHlsHost=$knownHlsHost
1	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	min=${lc.minBufferMs}ms max=${lc.maxBufferMs}ms latency=${LiveBuffer.resolveTargetOffset(liveBufferOverride, liveBufferSecs) ?: -1}
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	mp4
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	mp4v-es
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	mpeg-ps
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	mpeg-ts
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	mpeg2
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	muxedCaptions=${mv.muxedCaptionFormats?.size ?: 0}
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	network restored
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	network restored — resuming the channel the ladder gave up on
2	protocol	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	off
1	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	open stalled
1	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	open stalled — $detail
1	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	open stalled: $detail — the stream is buffered but unplayable here
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	owntv-http-evict
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	panel to mpv
1	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	passthrough audio: re-priming the output after the track change
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	pdt=${playlist.hasProgramDateTime} startOffsetUs=${playlist.startOffsetUs}
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	picture frozen
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	play() failed: ${it.message}
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	play() url=${HttpClient.redactUrl(url)} muted=$muted
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	playback healthy for ${HEALTHY_MS}ms — reconnect ladder reset
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	playback kept re-buffering ($detail)
1	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	player_error code=${error.errorCodeName} hasPlayed=${tune.hasPlayed}
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	playing — READY, spinner cleared, stallWatchdog cancelled
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	playlist
1	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	pos=${p?.currentPosition} buffered=${p?.bufferedPosition} hasPlayed=${tune.hasPlayed}
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	pre-buffer unreachable ($why of ${targetMs}ms) — reopening this stream without one
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	preroll defeated — $why of ${targetMs}ms, reopening without pre-buffer
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	preroll defeated — reopening without pre-buffer ($detail)
1	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	preview play() failed for ${HttpClient.redactUrl(url)}
1	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	progressWatchdog: no video frame after ${now - tune.readySinceMs}ms (pos=$pos advancing, video track present)
1	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	progressWatchdog: no-progress detected for ${noProgressMs}ms (pos=$pos, state=READY, frameHook=${tune.everRendered})
1	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	progressWatchdog: picture frozen, frames stuck at $frames for ${tune.frozenChecks} polls (pos still advancing), decoderRendered=$decoderFrames
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	progressive
1	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	provider asked for ${secs}s (HTTP $HTTP_TOO_MANY_REQUESTS Retry-After) — waiting, then retrying the
1	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	provider back-off elapsed — retrying the same URL on the same engine
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	provider refused $status on ${refusedSegments.size} signed segment URLs
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	provider refused with HTTP 458 (account session still in use) uri=${HttpClient.redactUrl(uri)}
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	provider refuses its own signed segment URLs — ExoPlayer cannot re-sign them; handing this
1	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	provider still refusing after ${tune.providerBackOffs} waits — letting the failure through
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	re-buffer flap ($detail) with no pre-buffer — giving up on ExoPlayer for this stream
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	re-buffer flap ($detail) — this stream can't reach its pre-buffer, reopening without one
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	ready
1	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	reconnect attempt ${tune.retryCount}/$MAX_RECONNECTS reason=$reason
1	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	reconnect exhausted ($reason) at ${tune.retryCount}/$MAX_RECONNECTS — giving up
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	reconnect fresh-url failed: ${it.message}
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	reconnect re-resolved expiring URL (${HttpClient.redactUrl(fresh)})
1	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	redirected .ts response is HLS — retrying with HlsMediaSource
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	release() — intentional
1	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	releaseDecoderForUhd(): releasing the 4K decoder + surface
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	renderers=unreported
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	reqCookie=${request.header("Cookie") != null} reqAuth=${request.header("Authorization") != null}
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	reqRange=${request.header("Range") != null} ua=${request.header("User-Agent").orEmpty()}
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	requested=${HttpClient.redactUrl(requested)}
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	restart=${lc.bufferForPlaybackAfterRebufferMs} preroll=${effectivePrerollSecs()}s
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	retry fresh-url failed: ${it.message}
1	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	same URL on the same engine (${tune.providerBackOffs}/$MAX_PROVIDER_BACKOFFS)
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	segment
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	segment HTTP $status
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	segment refused (HTTP $status) ${refusedSegments.size}/${LiveStreamQuirks.REFUSALS_BEFORE_HANDOFF}
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	server=${response.header("Server").orEmpty()} xcache=${response.header("X-Cache").orEmpty()}
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	setCookie=${response.headers("Set-Cookie").size}
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	software
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	stallWatchdog armed (${STALL_MS}ms)
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	state_changed state=$name playWhenReady=${p?.playWhenReady} isPlaying=${p?.isPlaying}
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	stop() — intentional
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	stream
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	stream frozen — no progress ${noProgressMs}ms
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	targetDurSec=${playlist.targetDurationUs / 1_000_000.0} windowSec=${playlist.durationUs / 1_000_000.0}
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	targetOffsetSec=${targetOffsetSecs ?: -1}
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	text
1	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	the renderer fell back after the hardware one failed
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	tracks: audio=${audio.size} text=${text.size}
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	type${v.first}
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	type=${response.header("Content-Type").orEmpty()}
2	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	und
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	unknown
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	uri=${HttpClient.redactUrl(loadEventInfo.uri.toString())}
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	url=${HttpClient.redactUrl(finalUrl)}$via$body
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	url=${HttpClient.redactUrl(request.url.toString())}
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	url=${HttpClient.redactUrl(url)}
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	variants=${mv.variants.size} audios=${mv.audios.size} subs=${mv.subtitles.size}
2	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	video
1	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	video decoder: $decoderName (
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	videos=${mv.videos.size} muxedAudio=${mv.muxedAudioFormat != null}
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	vp9
1	log	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	waiting ${SESSION_RELEASE_MS}ms for the provider to free the account session, then retrying
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	x-vnd.on2.vp9
1	technical	player-core/src/main/java/tv/own/owntv/player/LivePreviewEngine.kt	{
2	empty	player-core/src/main/java/tv/own/owntv/player/LiveStreamQuirks.kt	\0
1	protocol	player-core/src/main/java/tv/own/owntv/player/LiveStreamQuirks.kt	$rewritten?$query
6	protocol	player-core/src/main/java/tv/own/owntv/player/LiveStreamQuirks.kt	.m3u8
4	protocol	player-core/src/main/java/tv/own/owntv/player/LiveStreamQuirks.kt	.ts
1	technical	player-core/src/main/java/tv/own/owntv/player/LiveStreamQuirks.kt	127.0.0.1
1	protocol	player-core/src/main/java/tv/own/owntv/player/LiveStreamQuirks.kt	://
1	technical	player-core/src/main/java/tv/own/owntv/player/LiveStreamQuirks.kt	::1
1	technical	player-core/src/main/java/tv/own/owntv/player/LiveStreamQuirks.kt	[::1]
1	protocol	player-core/src/main/java/tv/own/owntv/player/LiveStreamQuirks.kt	\\.(ts|m3u8)$
1	technical	player-core/src/main/java/tv/own/owntv/player/LiveStreamQuirks.kt	localhost
13	empty	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	\0
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	$STREAM_RECONNECT_OPTIONS,reconnect_at_eof=1
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	$reason — archive rescue: reopening mid-GOP catch-up in software decode
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	$reason — rescue rung 1: hwdec=mediacodec-copy (GL compositing)
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	$reason — rescue rung 2: software decode
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	$what must be called on the main thread, was ${Thread.currentThread().name}
2	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	${Math.round(it)} FPS
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	${d.refreshRate}Hz@modeId=${d.mode?.modeId}
1	file-path	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	${font.name.lowercase(Locale.US)}.ttf
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	${h}p
2	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	${load.currentWidthPx}x${load.currentHeightPx}
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	${prefix.trim().trimEnd(':')}: $t
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	${width}x$height
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	%.1f
2	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	%.1f Mbps
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	%.2f:1
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	+discardcorrupt+genpts
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	+nobuffer+genpts
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	+nobuffer+genpts+discardcorrupt
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	,
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	.m3u8
2	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	.ts
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	/sdk_
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	/timeshift/
4	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	0
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	1
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	1.0
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	10
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	1000000
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	12
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	150
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	16:10
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	16:9
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	21:9
2	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	30
2	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	48000
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	4:3
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	5.1
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	5000000
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	60
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	7.1
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	8MiB
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	Android SDK built for
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	CC software-decode override ${if (on) "ON" else "OFF"} (height=${load.currentHeightPx}px)
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	CC track selected but software decode not viable (height=${load.currentHeightPx}px, gl=${!glUnsupported}) — captions may stay empty
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	Could not prepare subtitle fonts: ${it.message}
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	Decode guard TRIPPED: ${h}px on software decoder
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	END_FILE before FILE_LOADED — demuxer rejected file, hard-resetting
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	EXO
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	Emulator
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	Exo codec gate: audio codec='$codec' mime=$mime deviceDecoder=$ok
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	Exo codec gate: audio codec='$codec' → safe (allowlist)
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	FILE_LOADED with pendingStopEndFiles=$pendingStops generation=$loadGeneration
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	Genymotion
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	HTTP error (4\\d\\d)
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	HUD engine toggle: ExoPlayer → mpv
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	HUD engine toggle: mpv → ExoPlayer
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	MONO
2	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	MPV
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	No playable data received before timeout
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	OFF
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	OMX.google
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	ON
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	OwnTVPlayer
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	PlayerBudget: $budget
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	STEREO
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	VOD ended mid-stream again at ${pos}ms of ${dur}ms — surfacing error
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	VOD ended mid-stream at ${pos}ms of ${dur}ms — reloading once from position
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	VOD failed on BOTH engines — exo first: '$exoErr' / mpv: '$mpvMsg'
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	VOD failed on BOTH engines — mpv: '$mpvFailureBeforeFallback' / exo: '$exoError'
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	VOD failed on ExoPlayer ($exoError) and the engine setting is ExoPlayer-only
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	VOD failed on mpv but audio codec unsafe for ExoPlayer — no fallback
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	VOD failed on mpv but the engine setting is mpv-only — no fallback
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	VOD starting on ExoPlayer (preferred engine setting)
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	VOD terminally failed on ExoPlayer ($exoError) — falling back to mpv
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	VOD terminally failed on mpv ($mpvError) — falling back to ExoPlayer
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	aac
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	absolute
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	ac-3
2	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	ac3
2	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	aid
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	alac
2	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	alang
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	all=warn
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	all=warn,vd=v,vo=v
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	android
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	android-display=${androidDisplayHz()}
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	android-surface-size
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	ao
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	archive didn't start on hardware
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	attachSurface
2	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	audio
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	audio drained ${"%.1f".format(vfps / cfps)}× too fast
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	audio output produced no sound
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	audio-bitrate
3	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	audio-channels
2	protocol	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	audio-codec-name
2	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	audio-delay
3	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	audio-format
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	audio-out-params/channel-count
2	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	audio-params/channel-count
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	audio-params/samplerate
2	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	audio-pts
3	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	audio-samplerate
1	mime	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	audio/ac3
1	mime	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	audio/eac3
1	mime	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	audio/true-hd
1	mime	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	audio/vnd.dts
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	audiotrack
3	protocol	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	auto
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	auto-safe
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	av1
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	avc
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	c2.android
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	cache
3	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	cache-pause-initial
3	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	cache-pause-wait
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	cache-secs
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	cache=${getPropertyString("demuxer-cache-duration")}s
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	catch-up path URL rejected — trying timeshift.php fallback
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	clip
7	protocol	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	container-fps
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	correct-pts
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	custom
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	cycle
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	decode check: hwdec-current='$hw' height=${h}px direct=${_directRender.value}
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	decodeGuard
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	decoder failure with no rescue rung left — surfacing decode error
2	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	decoder+vo
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	decoder-drops=${getPropertyString("decoder-frame-drop-count")}
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	decoder-frame-drop-count
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	default
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	deinterlace
4	protocol	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	demuxer-cache-duration
2	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	demuxer-lavf-analyzeduration
2	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	demuxer-lavf-o
2	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	demuxer-lavf-probesize
2	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	demuxer-max-back-bytes
3	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	demuxer-max-bytes
4	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	demuxer-readahead-secs
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	demuxerLavfO="$demuxerOptions" streamLavfO="${streamLavfOptionsFor(url, isLiveContent, effectiveHls)}"
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	demuxerLavfO="$trimmedOptions"
2	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	desync
2	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	detachSurface
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	direct decoder never engaged on archive
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	direct failed after retries
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	direct failed — retries exhausted, showing error
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	direct failed — retry ${item.autoRetries}/${maxRetries()} (full probe)
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	display timing: mpv display-fps=${getPropertyString("display-fps")}
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	display-fps
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	display-resample
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	dts
2	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	duration
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	dvb_subtitle
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	dvbsub
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	dvd_subtitle
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	dvdsub
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	e-ac-3
2	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	eac3
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	eia
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	emb:${sub.typeIndex}:${sub.lang ?: ""}
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	emb:${t.typeIndex}:${t.lang ?: ""}
2	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	emulator
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	err_detect=ignore_err
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	est-vf-fps=${getPropertyString("estimated-vf-fps")}
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	estimated-display-fps
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	estimated-display-fps=${getPropertyString("estimated-display-fps")}
3	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	estimated-vf-fps
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	exo primary vod
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	exo vod fallback
2	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	exoplayer
1	regex	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	failed to open|opening failed|could not open|loading failed|was aborted|finished playback
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	false
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	fast
2	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	fbo-format
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	fbo=${getPropertyString("fbo-format")} cache=${getPropertyString("demuxer-max-bytes")}
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	fflags=$fflags
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	flac
4	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	force-window
2	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	frame-drop-count
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	frame-drops=${getPropertyString("frame-drop-count")}
3	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	framedrop
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	freeze-frame PixelCopy result=$result (SUCCESS=${android.view.PixelCopy.SUCCESS})
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	freeze-frame skipped: bitmap alloc failed ${cw}x$ch
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	freeze-frame skipped: surface=${surface != null} size=${w}x$h sdk=${android.os.Build.VERSION.SDK_INT}
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	generic
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	goldfish
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	google_sdk
2	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	gpu
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	gpu-context
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	h264
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	h265
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	handoff to exo
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	hardReset thrash guard — $consecutiveHardResets consecutive resets, aborting
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	hardReset: old mpv instance destroyed — core unblocked
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	hardware can't decode ${load.currentVideoCodec} at ${load.currentWidthPx}x${load.currentHeightPx}
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	hardware decoder produced no usable video on ExoPlayer
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	hdmv_pgs_subtitle
5	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	height
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	hevc
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	hlg
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	http-header-fields
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	http-proxy
1	regex	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	http|error|fail|refus|timed out|unrecogn|cannot|no such|invalid|denied|forbidden|not found|
3	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	hwdec
4	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	hwdec-current
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	hwdec-current='$value' (height=${load.currentHeightPx}px, setting=${if (hwDecoding) "on" else "off"})
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	idle
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	invalid video timestamp|non-monotonic|desynchroni
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	keepaspect
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	live died mid-play — reconnect attempt ${item.liveStallReconnects}/$MAX_LIVE_RECONNECTS
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	live died mid-play — reconnect budget exhausted after $MAX_LIVE_RECONNECTS attempts, surfacing error
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	live open timeout
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	live playback resumed (mpv, Live) after stall/reconnect
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	live stall (mpv, Live) — frozen ~${frozenMs}ms but offline; showing spinner, waiting for network
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	live stall (mpv, Live) — no progress for ~${frozenMs}ms, reconnect attempt ${item.liveStallReconnects}/$MAX_LIVE_RECONNECTS
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	live stall (mpv, Live) — reconnect budget exhausted after $MAX_LIVE_RECONNECTS attempts, surfacing error
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	live stall after ${item.liveStallReconnects} reconnects
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	live stream didn't start — trying format fallback -> ${altFormat.substringAfterLast('.')}
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	live=$isLiveContent; awaiting their END_FILEs
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	live_buffer preroll=${prerollSecs}s readahead=${liveReadahead ?: budgetReadahead} latency=${effectiveLiveBufferSecs() ?: -1}
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	load#=$mpvLoadCount freshSurface=$usedFreshSurface
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	loadfile
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	manual engine toggle
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	measured fps: est-vf-fps=$second -> ${snapped}fps (no container-fps)
3	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	mediacodec
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	mediacodec-copy
4	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	mediacodec_embed
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	mediacodec|omx\\.|c2\\.|hwdec|hardware decod|could not open codec|decoder|0x8000|0xfffffff
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	mistimed-frame-count
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	mistimed=${getPropertyString("mistimed-frame-count")}
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	mlp
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	mp2
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	mp3
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	mpeg2
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	mpeg4
6	protocol	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	mpv
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	mpv $why — reopening with tolerant demuxing (discardcorrupt/genpts/ignore_err)
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	mpv level=$level $safe
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	mpv live mid-play reconnects exhausted ($MAX_LIVE_RECONNECTS) — surfacing error
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	mpv live open timed out after ${openingMs}ms — surfacing error
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	mpv ready: lowSpec=${budget.lowSpec} direct=${useDirect()} hwdec=${getPropertyString("hwdec")}
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	mpv reported ${load.brokenPtsHits} broken video timestamps — switching to free-running video timing
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	mpv-cmd
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	mpv: $reason
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	mpv_load live=$isLive url=${HttpClient.redactUrl(url)}
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	mpv_open hls=$effectiveHls live=$isLiveContent probe=full tolerant=$tolerant
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	mpv_open hls=$effectiveHls live=$isLiveContent probe=trimmed tolerant=$tolerant
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	msg-level
2	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	mute
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	network-timeout
27	protocol	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	no
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	no-video (mpv, Live) — audio progressing but no video frame after ~${elapsedMs}ms
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	no-video (mpv, Live) — reconnect attempt ${item.liveStallReconnects}/$MAX_LIVE_RECONNECTS
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	no-video (mpv, Live) — reconnect budget exhausted, surfacing error
5	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	null
4	protocol	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	off
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	on
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	opus
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	owntv-mpv-destroy
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	panel answered HTTP 458; this panel is now opened one stream at a time
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	panscan
3	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	path:$path
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	path:${extSelect.path}
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	path:${it.path}
8	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	pause
3	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	paused-for-cache
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	paused-for-cache=${getPropertyString("paused-for-cache")}
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	pcm
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	pendingStopEndFiles at cap $MAX_PENDING_STOP_CREDITS ($reason)
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	pgssub
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	playback didn't start after retries
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	playback didn't start on hardware
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	playback didn't start — auto-retry ${item.autoRetries}/${maxRetries()} (full probe)
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	playback didn't start — decoder failure
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	playback didn't start — offline, skipping retries
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	playback stats: container-fps=${getPropertyString("container-fps")}
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	pq
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	profile
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	queue item resolve failed: ${e.message}
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	ranchu
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	reconnect=1,reconnect_streamed=1,reconnect_delay_max=8,reconnect_on_http_error=5xx
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	relative
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	replacement loadfile
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	rgba8
2	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	s16
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	sans-serif
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	sdk
2	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	seek
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	seekable=1
4	protocol	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	seeking
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	select
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	setSurfaceSize
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	setZoomMode: mode=$mode direct=${_directRender.value} aspect=${_videoAspect.value} live=$isLiveContent
11	protocol	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	sid
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	simulator
2	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	slang
3	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	speed
2	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	stereo
2	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	stop
3	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	stream-lavf-o
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	streamLavfO="${streamLavfOptionsFor(url, isLiveContent, effectiveHls)}"
5	protocol	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	sub
2	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	sub-add
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	sub-create-cc-track
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	sub-delay
2	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	sub-font
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	sub-fonts-dir
2	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	sub-scale
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	sub-scale-with-window
3	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	sub-text
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	sub-text (direct=${_directRender.value}): $line
5	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	sub-visibility
2	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	subs-with-matching-audio
1	file-path	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	subtitle-fonts
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	surround failsafe: $reason (est-vf-fps=$vfps container-fps=$cfps) — falling back to stereo
2	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	target-colorspace-hint
4	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	time-pos
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	tone-mapping
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	track-list/$i/codec
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	track-list/$i/id
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	track-list/$i/lang
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	track-list/$i/selected
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	track-list/$i/title
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	track-list/$i/type
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	track-list/count
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	trimmed probe found no audio — re-probing fully
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	truehd
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	ua=${if (currentUserAgent.isNullOrBlank()) "default" else "custom"}
3	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	unknown
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	unsupported|connection|reset|4\\d\\d|5\\d\\d
2	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	user-agent
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	vc-1
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	vc1
2	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	vid
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	video-aspect-override
4	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	video-bitrate
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	video-bitrate=${getPropertyString("video-bitrate")}
4	protocol	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	video-codec
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	video-params/gamma
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	video-params/h
2	protocol	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	video-params/par
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	video-params/pixelformat
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	video-params/w
3	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	video-sync
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	video-sync=${getPropertyString("video-sync")}
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	video-unscaled
1	mime	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	video/av01
1	mime	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	video/avc
1	mime	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	video/hevc
1	mime	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	video/mp4v-es
1	mime	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	video/mpeg2
1	mime	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	video/wvc1
1	mime	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	video/x-vnd.on2.vp8
1	mime	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	video/x-vnd.on2.vp9
11	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	vo
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	vo-delayed-frame-count
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	vo-delayed=${getPropertyString("vo-delayed-frame-count")}
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	vo=${getPropertyString("vo")}
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	vobsub
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	volume
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	volume-max
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	vorbis
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	vp8
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	vp9
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	vsync-jitter
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	vsync-jitter=${getPropertyString("vsync-jitter")}
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	watchdog MOOV-AT-END but decoder failed ('$decoderErr')
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	watchdog MOOV-AT-END — FILE_LOADED but no bitrate/height after ${elapsed}ms, aborting (server lacks Range support)
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	watchdog T_DECODE — FILE_LOADED but no frame after ${elapsed}ms, HARD-RESETTING mpv
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	watchdog T_DECODE — archive produced no frame after ${elapsed}ms
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	watchdog T_OPEN — archive never opened on mpv after ${elapsed}ms, handing to ExoPlayer
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	watchdog T_OPEN — no FILE_LOADED after ${elapsed}ms, HARD-RESETTING mpv
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	watchdog T_OPEN — no FILE_LOADED after ${elapsed}ms, silent hard-reset + retry
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	watchdog — item has no video track and audio is playing; standing down
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	watchdog: archive decoder failed ('$decoderErr')
1	log	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	watchdog: archive loaded but produced no video
4	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	width
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	xsub
24	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	yes
1	technical	player-core/src/main/java/tv/own/owntv/player/OwnTVPlayer.kt	ytdl
6	empty	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	\0
2	file-path	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	$relativePath$EXPORT_NAME
1	technical	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	${Build.MANUFACTURER} ${Build.MODEL}
1	technical	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	${Build.MANUFACTURER} ${Build.MODEL} · Android ${Build.VERSION.RELEASE} (API ${Build.VERSION.SDK_INT})
1	file-path	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	${Environment.DIRECTORY_DOWNLOADS}/
1	file-path	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	${Environment.DIRECTORY_DOWNLOADS}/$EXPORT_NAME
1	sql	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	${MediaStore.MediaColumns.DISPLAY_NAME}=? AND ${MediaStore.MediaColumns.RELATIVE_PATH}=?
1	sql	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	${MediaStore.MediaColumns._ID} DESC
1	technical	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	--- last crash ---
1	technical	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	--- live diagnostics (most recent) ---
1	protocol	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	:direct
1	protocol	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	:gpu
2	protocol	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	:hardware
1	technical	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	Android ${Build.VERSION.RELEASE} (API ${Build.VERSION.SDK_INT})
1	protocol	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	Audio output error — the device couldn't play this audio format
1	assertion	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	Could not create the Download folder
1	assertion	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	Could not create the playback report
1	assertion	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	Could not open the existing playback report
1	assertion	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	Could not open the playback report
1	protocol	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	DRM / secure-decoder error
1	protocol	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	Device ran out of memory for the decoder — try closing other apps
1	technical	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	Exported ${stamp.format(java.util.Date())}
1	protocol	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	Hardware video decoder error — transient, try again
1	protocol	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	Hardware video decoder is busy or can't handle this stream
1	compiler	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	InlinedApi
1	protocol	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	Network problem reaching the provider
1	technical	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	OwnTV playback report
1	log	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	PlaybackErrorLog
1	protocol	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	Provider blocked the connection — too many streams at once (HTTP 509)
1	protocol	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	Provider denied access (HTTP 403) — credentials, subscription, or IP block
1	protocol	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	Provider rejected the request (HTTP 400) — bad or expired link
1	protocol	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	Provider rejected your login (HTTP 401)
1	protocol	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	Provider's SSL certificate is invalid or expired
1	protocol	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	Stream format not recognized (bad or partial stream)
1	protocol	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	Stream not found on the provider (HTTP 404)
1	protocol	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	This device's decoder doesn't support this video format/profile (e.g. HEVC 10-bit)
1	technical	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	[${stamp.format(java.util.Date(e.atMs))}] ${e.kind} · ${e.engine} · ${if (e.live) "live" else "vod"}
2	json	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	android
2	json	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	atMs
2	json	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	codec
2	json	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	decoderDirect
2	json	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	decoderHardware
2	json	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	decoderKind
2	json	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	decoderName
2	json	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	engine
1	protocol	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	hardware
1	protocol	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	hardware:direct
2	technical	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	kind
3	json	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	live
2	json	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	model
1	technical	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	owntv-errorlog
1	file-path	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	owntv-playback-report.txt
1	log	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	playback error log unreadable — starting a new one
1	technical	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	playback_errors.json
2	json	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	raw
1	technical	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	raw : $it
2	json	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	reason
1	technical	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	reason: $it
2	json	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	resolution
1	protocol	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	software
1	protocol	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	software:gpu
2	json	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	spec
1	technical	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	spec : $it
1	mime	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	text/plain
1	technical	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	vod
1	protocol	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	w
1	protocol	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	wt
1	file-path	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	yyyy-MM-dd HH:mm:ss
1	technical	player-core/src/main/java/tv/own/owntv/player/PlaybackErrorLog.kt	•
1	technical	player-core/src/main/java/tv/own/owntv/player/PlaybackSession.kt	OwnTV
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	${e.tag}: ${e.text}
1	regex	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	(?:\\bhttp(?: error)? |\\bresponse code[:= ]+|\\bstatus(?: code)?[:= ]+)(\\d{3})\\b
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	*:S
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	-T
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	-v
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	0x80001000
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	0x80001001
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	0x80001100
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	0xffffffea
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	0xfffffff3
1	regex	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	0xfffffff4
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	1
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	400
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	401
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	403
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	404
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	509
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	ACodec:E
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	AudioFlinger:E
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	AudioSink:E
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	AudioTrack:W
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	C2PlatformStore:E
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	CCodec:E
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	Codec2Client:E
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	MediaCodec:E
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	MediaCodecAudioRenderer:E
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	MediaCodecRenderer:E
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	MediaCodecVideoRenderer:E
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	OMXClient:E
1	regex	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	\\b(?:err(?:or)?|status|code)\\s*[:=]?\\s*(?:-12|0xfffffff4)\\b
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	audio codec
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	audioflinger
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	audiosink
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	audiotrack
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	cert_
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	certif
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	certificate verify failed
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	connection refused
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	connection reset
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	cryptoinfo
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	drm
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	enomem
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	error
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	error_key
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	format_unsupported
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	insufficient
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	invalid data found
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	logcat
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	no memory
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	omx_errorformat
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	out of memory
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	owntv-logcat
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	ssl
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	tag
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	timed out
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	timeout
1	log	player-core/src/main/java/tv/own/owntv/player/PlayerDiagnostics.kt	unrecognized file format
1	technical	player-core/src/main/java/tv/own/owntv/player/ResolutionLabel.kt	${height}p
1	technical	player-core/src/main/java/tv/own/owntv/player/ResolutionLabel.kt	1080p
1	technical	player-core/src/main/java/tv/own/owntv/player/ResolutionLabel.kt	1440p
1	technical	player-core/src/main/java/tv/own/owntv/player/ResolutionLabel.kt	480p
1	technical	player-core/src/main/java/tv/own/owntv/player/ResolutionLabel.kt	4K
1	technical	player-core/src/main/java/tv/own/owntv/player/ResolutionLabel.kt	720p
1	technical	player-core/src/main/java/tv/own/owntv/player/StreamInfo.kt	$width×$height
1	technical	player-core/src/main/java/tv/own/owntv/player/StreamInfo.kt	5.1
1	technical	player-core/src/main/java/tv/own/owntv/player/StreamInfo.kt	7.1
1	technical	player-core/src/main/java/tv/own/owntv/player/SubtitleFonts.kt	Dancing Script
1	technical	player-core/src/main/java/tv/own/owntv/player/SubtitleFonts.kt	Lora
1	technical	player-core/src/main/java/tv/own/owntv/player/SubtitleFonts.kt	Playfair Display
1	technical	player-core/src/main/java/tv/own/owntv/player/SubtitleFonts.kt	Poppins
1	technical	player-core/src/main/java/tv/own/owntv/player/SubtitleFonts.kt	monospace
1	technical	player-core/src/main/java/tv/own/owntv/player/SubtitleFonts.kt	sans-serif
2	empty	player-core/src/main/java/tv/own/owntv/player/SubtitleShift.kt	\0
1	technical	player-core/src/main/java/tv/own/owntv/player/SubtitleShift.kt	%02d:%02d:%02d%c%03d
1	technical	player-core/src/main/java/tv/own/owntv/player/SubtitleShift.kt	%d:%02d:%02d.%02d
1	regex	player-core/src/main/java/tv/own/owntv/player/SubtitleShift.kt	(\\d+):(\\d{2}):(\\d{2})\\.(\\d{2})
1	regex	player-core/src/main/java/tv/own/owntv/player/SubtitleShift.kt	(\\d{2}):(\\d{2}):(\\d{2})[,.](\\d{3})
1	technical	player-core/src/main/java/tv/own/owntv/player/SubtitleShift.kt	-->
1	technical	player-core/src/main/java/tv/own/owntv/player/SubtitleShift.kt	Dialogue:
1	technical	player-core/src/main/java/tv/own/owntv/player/SubtitleShift.kt	ass
1	technical	player-core/src/main/java/tv/own/owntv/player/SubtitleShift.kt	ssa
1	file-path	player-core/src/main/java/tv/own/owntv/player/SubtitleShift.kt	subshift_${(source.path).hashCode()}_${offsetMs}_${source.name}
1	technical	player-core/src/main/java/tv/own/owntv/player/SubtitleShift.kt	vtt
1	technical	player-core/src/main/java/tv/own/owntv/player/SubtitleShift.kt	webvtt
1	log	player-core/src/main/java/tv/own/owntv/player/VolumeBoost.kt	volume boost failed: ${it.javaClass.simpleName}
1	log	player-core/src/main/java/tv/own/owntv/player/VolumeBoost.kt	volume boost unavailable: ${it.javaClass.simpleName}
