This commit is contained in:
krille-chan 2024-05-19 12:56:22 +00:00
parent 3b00d38846
commit c861a5704a
9 changed files with 5607 additions and 5177 deletions

View file

@ -1 +1 @@
)assets/banner.png  assetassets/banner.pngassets/banner_transparent.png  assetassets/banner_transparent.pngassets/favicon.png  assetassets/favicon.pngassets/info-logo.png  assetassets/info-logo.pngassets/js/package/olm.js  assetassets/js/package/olm.jsassets/js/package/olm.wasm  assetassets/js/package/olm.wasmassets/js/package/olm_legacy.js  assetassets/js/package/olm_legacy.jsassets/login_wallpaper.png  assetassets/login_wallpaper.pngassets/logo.png  assetassets/logo.pngassets/logo.svg  assetassets/logo.svgassets/sas-emoji.json  assetassets/sas-emoji.jsonassets/sounds/call.ogg  assetassets/sounds/call.oggassets/sounds/notification.ogg  assetassets/sounds/notification.oggassets/sounds/phone.ogg  assetassets/sounds/phone.oggfonts/Roboto/Roboto-Bold.ttf  assetfonts/Roboto/Roboto-Bold.ttffonts/Roboto/Roboto-Italic.ttf  assetfonts/Roboto/Roboto-Italic.ttffonts/Roboto/Roboto-Regular.ttf  assetfonts/Roboto/Roboto-Regular.ttf#fonts/Roboto/RobotoMono-Regular.ttf  asset#fonts/Roboto/RobotoMono-Regular.ttf2packages/cupertino_icons/assets/CupertinoIcons.ttf  asset2packages/cupertino_icons/assets/CupertinoIcons.ttf4packages/flutter_map/lib/assets/flutter_map_logo.png  asset4packages/flutter_map/lib/assets/flutter_map_logo.pngFpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_AMS-Regular.ttf  assetFpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_AMS-Regular.ttfKpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Caligraphic-Bold.ttf  assetKpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Caligraphic-Bold.ttfNpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Caligraphic-Regular.ttf  assetNpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Caligraphic-Regular.ttfGpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Fraktur-Bold.ttf  assetGpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Fraktur-Bold.ttfJpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Fraktur-Regular.ttf  assetJpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Fraktur-Regular.ttfDpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Bold.ttf  assetDpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Bold.ttfJpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-BoldItalic.ttf  assetJpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-BoldItalic.ttfFpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Italic.ttf  assetFpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Italic.ttfGpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Regular.ttf  assetGpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Regular.ttfJpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Math-BoldItalic.ttf  assetJpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Math-BoldItalic.ttfFpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Math-Italic.ttf  assetFpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Math-Italic.ttfIpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Bold.ttf  assetIpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Bold.ttfKpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Italic.ttf  assetKpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Italic.ttfLpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Regular.ttf  assetLpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Regular.ttfIpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Script-Regular.ttf  assetIpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Script-Regular.ttfHpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size1-Regular.ttf  assetHpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size1-Regular.ttfHpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size2-Regular.ttf  assetHpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size2-Regular.ttfHpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size3-Regular.ttf  assetHpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size3-Regular.ttfHpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size4-Regular.ttf  assetHpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size4-Regular.ttfMpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Typewriter-Regular.ttf  assetMpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Typewriter-Regular.ttf)packages/wakelock_plus/assets/no_sleep.js  asset)packages/wakelock_plus/assets/no_sleep.js
*assets/banner.png  assetassets/banner.pngassets/banner_transparent.png  assetassets/banner_transparent.pngassets/favicon.png  assetassets/favicon.pngassets/info-logo.png  assetassets/info-logo.pngassets/js/package/olm.js  assetassets/js/package/olm.jsassets/js/package/olm.wasm  assetassets/js/package/olm.wasmassets/js/package/olm_legacy.js  assetassets/js/package/olm_legacy.jsassets/login_wallpaper.png  assetassets/login_wallpaper.pngassets/logo.png  assetassets/logo.pngassets/logo.svg  assetassets/logo.svgassets/sas-emoji.json  assetassets/sas-emoji.jsonassets/sounds/call.ogg  assetassets/sounds/call.oggassets/sounds/notification.ogg  assetassets/sounds/notification.oggassets/sounds/phone.ogg  assetassets/sounds/phone.oggfonts/Roboto/Roboto-Bold.ttf  assetfonts/Roboto/Roboto-Bold.ttffonts/Roboto/Roboto-Italic.ttf  assetfonts/Roboto/Roboto-Italic.ttffonts/Roboto/Roboto-Regular.ttf  assetfonts/Roboto/Roboto-Regular.ttf#fonts/Roboto/RobotoMono-Regular.ttf  asset#fonts/Roboto/RobotoMono-Regular.ttf2packages/cupertino_icons/assets/CupertinoIcons.ttf  asset2packages/cupertino_icons/assets/CupertinoIcons.ttf4packages/flutter_map/lib/assets/flutter_map_logo.png  asset4packages/flutter_map/lib/assets/flutter_map_logo.pngFpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_AMS-Regular.ttf  assetFpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_AMS-Regular.ttfKpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Caligraphic-Bold.ttf  assetKpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Caligraphic-Bold.ttfNpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Caligraphic-Regular.ttf  assetNpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Caligraphic-Regular.ttfGpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Fraktur-Bold.ttf  assetGpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Fraktur-Bold.ttfJpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Fraktur-Regular.ttf  assetJpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Fraktur-Regular.ttfDpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Bold.ttf  assetDpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Bold.ttfJpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-BoldItalic.ttf  assetJpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-BoldItalic.ttfFpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Italic.ttf  assetFpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Italic.ttfGpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Regular.ttf  assetGpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Regular.ttfJpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Math-BoldItalic.ttf  assetJpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Math-BoldItalic.ttfFpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Math-Italic.ttf  assetFpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Math-Italic.ttfIpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Bold.ttf  assetIpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Bold.ttfKpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Italic.ttf  assetKpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Italic.ttfLpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Regular.ttf  assetLpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Regular.ttfIpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Script-Regular.ttf  assetIpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Script-Regular.ttfHpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size1-Regular.ttf  assetHpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size1-Regular.ttfHpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size2-Regular.ttf  assetHpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size2-Regular.ttfHpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size3-Regular.ttf  assetHpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size3-Regular.ttfHpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size4-Regular.ttf  assetHpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size4-Regular.ttfMpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Typewriter-Regular.ttf  assetMpackages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Typewriter-Regular.ttf/packages/record_web/assets/js/record.worklet.js  asset/packages/record_web/assets/js/record.worklet.js)packages/wakelock_plus/assets/no_sleep.js  asset)packages/wakelock_plus/assets/no_sleep.js

File diff suppressed because one or more lines are too long

View file

@ -1 +1 @@
{"assets/banner.png":["assets/banner.png"],"assets/banner_transparent.png":["assets/banner_transparent.png"],"assets/favicon.png":["assets/favicon.png"],"assets/info-logo.png":["assets/info-logo.png"],"assets/js/package/olm.js":["assets/js/package/olm.js"],"assets/js/package/olm.wasm":["assets/js/package/olm.wasm"],"assets/js/package/olm_legacy.js":["assets/js/package/olm_legacy.js"],"assets/login_wallpaper.png":["assets/login_wallpaper.png"],"assets/logo.png":["assets/logo.png"],"assets/logo.svg":["assets/logo.svg"],"assets/sas-emoji.json":["assets/sas-emoji.json"],"assets/sounds/call.ogg":["assets/sounds/call.ogg"],"assets/sounds/notification.ogg":["assets/sounds/notification.ogg"],"assets/sounds/phone.ogg":["assets/sounds/phone.ogg"],"fonts/Roboto/Roboto-Bold.ttf":["fonts/Roboto/Roboto-Bold.ttf"],"fonts/Roboto/Roboto-Italic.ttf":["fonts/Roboto/Roboto-Italic.ttf"],"fonts/Roboto/Roboto-Regular.ttf":["fonts/Roboto/Roboto-Regular.ttf"],"fonts/Roboto/RobotoMono-Regular.ttf":["fonts/Roboto/RobotoMono-Regular.ttf"],"packages/cupertino_icons/assets/CupertinoIcons.ttf":["packages/cupertino_icons/assets/CupertinoIcons.ttf"],"packages/flutter_map/lib/assets/flutter_map_logo.png":["packages/flutter_map/lib/assets/flutter_map_logo.png"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_AMS-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_AMS-Regular.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Caligraphic-Bold.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Caligraphic-Bold.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Caligraphic-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Caligraphic-Regular.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Fraktur-Bold.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Fraktur-Bold.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Fraktur-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Fraktur-Regular.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Bold.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Bold.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-BoldItalic.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-BoldItalic.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Italic.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Italic.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Regular.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Math-BoldItalic.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Math-BoldItalic.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Math-Italic.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Math-Italic.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Bold.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Bold.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Italic.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Italic.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Regular.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Script-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Script-Regular.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size1-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size1-Regular.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size2-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size2-Regular.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size3-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size3-Regular.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size4-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size4-Regular.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Typewriter-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Typewriter-Regular.ttf"],"packages/wakelock_plus/assets/no_sleep.js":["packages/wakelock_plus/assets/no_sleep.js"]}
{"assets/banner.png":["assets/banner.png"],"assets/banner_transparent.png":["assets/banner_transparent.png"],"assets/favicon.png":["assets/favicon.png"],"assets/info-logo.png":["assets/info-logo.png"],"assets/js/package/olm.js":["assets/js/package/olm.js"],"assets/js/package/olm.wasm":["assets/js/package/olm.wasm"],"assets/js/package/olm_legacy.js":["assets/js/package/olm_legacy.js"],"assets/login_wallpaper.png":["assets/login_wallpaper.png"],"assets/logo.png":["assets/logo.png"],"assets/logo.svg":["assets/logo.svg"],"assets/sas-emoji.json":["assets/sas-emoji.json"],"assets/sounds/call.ogg":["assets/sounds/call.ogg"],"assets/sounds/notification.ogg":["assets/sounds/notification.ogg"],"assets/sounds/phone.ogg":["assets/sounds/phone.ogg"],"fonts/Roboto/Roboto-Bold.ttf":["fonts/Roboto/Roboto-Bold.ttf"],"fonts/Roboto/Roboto-Italic.ttf":["fonts/Roboto/Roboto-Italic.ttf"],"fonts/Roboto/Roboto-Regular.ttf":["fonts/Roboto/Roboto-Regular.ttf"],"fonts/Roboto/RobotoMono-Regular.ttf":["fonts/Roboto/RobotoMono-Regular.ttf"],"packages/cupertino_icons/assets/CupertinoIcons.ttf":["packages/cupertino_icons/assets/CupertinoIcons.ttf"],"packages/flutter_map/lib/assets/flutter_map_logo.png":["packages/flutter_map/lib/assets/flutter_map_logo.png"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_AMS-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_AMS-Regular.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Caligraphic-Bold.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Caligraphic-Bold.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Caligraphic-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Caligraphic-Regular.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Fraktur-Bold.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Fraktur-Bold.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Fraktur-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Fraktur-Regular.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Bold.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Bold.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-BoldItalic.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-BoldItalic.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Italic.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Italic.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-Regular.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Math-BoldItalic.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Math-BoldItalic.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Math-Italic.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Math-Italic.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Bold.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Bold.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Italic.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Italic.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_SansSerif-Regular.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Script-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Script-Regular.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size1-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size1-Regular.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size2-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size2-Regular.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size3-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size3-Regular.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size4-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Size4-Regular.ttf"],"packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Typewriter-Regular.ttf":["packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Typewriter-Regular.ttf"],"packages/record_web/assets/js/record.worklet.js":["packages/record_web/assets/js/record.worklet.js"],"packages/wakelock_plus/assets/no_sleep.js":["packages/wakelock_plus/assets/no_sleep.js"]}

View file

@ -38616,8 +38616,8 @@ receive_sharing_intent
--------------------------------------------------------------------------------
record
record_android
record_linux
record_macos
record_platform_interface
record_web
record_windows
@ -38650,6 +38650,36 @@ record_windows
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--------------------------------------------------------------------------------
record_darwin
// Copyright 2022 openapi4j authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of openapi4j nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--------------------------------------------------------------------------------
remove_emoji
Copyright (c) 2023 Muhammed Nazeem

View file

@ -0,0 +1,400 @@
class RecorderProcessor extends AudioWorkletProcessor {
static get parameterDescriptors() {
return [
{
name: 'numChannels',
defaultValue: 1,
minValue: 1,
maxValue: 16
},
{
name: 'sampleRate',
defaultValue: 48000,
minValue: 8000,
maxValue: 96000
}
];
}
// Buffer size compromise between size and process call frequency
_bufferSize = 4096
// The current buffer fill level
_bytesWritten = 0
// Buffer per channel
_buffers = []
// Resampler (passthrough, down or up)
_resampler = null
// Config
_numChannels = 1
_sampleRate = 48000
constructor(options) {
super(options)
this._numChannels = options.parameterData.numChannels
this._sampleRate = options.parameterData.sampleRate
// Resampler(current context sample rate, desired sample rate, num channels, buffer size)
// num channels is always 1 since we resample after interleaving channels
this._resampler = new Resampler(sampleRate, this._sampleRate, 1, this._bufferSize * this._numChannels)
this.initBuffers()
}
initBuffers() {
this._bytesWritten = 0
this._buffers = []
for (let channel = 0; channel < this._numChannels; channel++) {
this._buffers[channel] = []
}
}
/**
* @returns {boolean}
*/
isBufferEmpty() {
return this._bytesWritten === 0
}
/**
* @returns {boolean}
*/
isBufferFull() {
return this._bytesWritten >= this._bufferSize
}
/**
* @param {Float32Array[][]} inputs
* @returns {boolean}
*/
process(inputs) {
if (this.isBufferFull()) {
this.flush()
}
const input = inputs[0]
if (input.length == 0) {
// Sometimes, Firefox doesn't give any input. Skip this frame to not fail.
return true
}
for (let channel = 0; channel < this._numChannels; channel++) {
// Push a copy of the array.
// The underlying implementation may reuse it which will break the recording.
this._buffers[channel].push([...input[channel]])
}
this._bytesWritten += input[0].length
return true
}
flush() {
let channels = []
for (let channel = 0; channel < this._numChannels; channel++) {
channels.push(this.mergeFloat32Arrays(this._buffers[channel], this._bytesWritten))
}
let interleaved = this.interleave(channels)
let resampled = this._resampler.resample(interleaved)
this.port.postMessage(this.floatTo16BitPCM(resampled))
this.initBuffers()
}
mergeFloat32Arrays(arrays, bytesWritten) {
let result = new Float32Array(bytesWritten)
var offset = 0
for (let i = 0; i < arrays.length; i++) {
result.set(arrays[i], offset)
offset += arrays[i].length
}
return result
}
// Interleave data from channels from LLLLRRRR to LRLRLRLR
interleave(channels) {
if (channels === 1) {
return channels[0]
}
var length = 0
for (let i = 0; i < channels.length; i++) {
length += channels[i].length
}
let result = new Float32Array(length)
var index = 0
var inputIndex = 0
while (index < length) {
for (let i = 0; i < channels.length; i++) {
result[index] = channels[i][inputIndex]
index++
}
inputIndex++
}
return result
}
floatTo16BitPCM(input) {
let output = new DataView(new ArrayBuffer(input.length * 2))
for (let i = 0; i < input.length; i++) {
let s = Math.max(-1, Math.min(1, input[i]))
let s16 = s < 0 ? s * 0x8000 : s * 0x7FFF
output.setInt16(i * 2, s16, true)
}
return new Int16Array(output.buffer)
}
}
class Resampler {
constructor(fromSampleRate, toSampleRate, channels, inputBufferSize) {
if (!fromSampleRate || !toSampleRate || !channels) {
throw (new Error("Invalid settings specified for the resampler."));
}
this.resampler = null;
this.fromSampleRate = fromSampleRate;
this.toSampleRate = toSampleRate;
this.channels = channels || 0;
this.inputBufferSize = inputBufferSize;
this.initialize()
}
initialize() {
if (this.fromSampleRate == this.toSampleRate) {
// Setup resampler bypass - Resampler just returns what was passed through
this.resampler = (buffer) => {
return buffer
};
this.ratioWeight = 1;
} else {
if (this.fromSampleRate < this.toSampleRate) {
// Use generic linear interpolation if upsampling,
// as linear interpolation produces a gradient that we want
// and works fine with two input sample points per output in this case.
this.linearInterpolation();
this.lastWeight = 1;
} else {
// Custom resampler I wrote that doesn't skip samples
// like standard linear interpolation in high downsampling.
// This is more accurate than linear interpolation on downsampling.
this.multiTap();
this.tailExists = false;
this.lastWeight = 0;
}
// Initialize the internal buffer:
this.initializeBuffers();
this.ratioWeight = this.fromSampleRate / this.toSampleRate;
}
}
bufferSlice(sliceAmount) {
//Typed array and normal array buffer section referencing:
try {
return this.outputBuffer.subarray(0, sliceAmount);
}
catch (error) {
try {
//Regular array pass:
this.outputBuffer.length = sliceAmount;
return this.outputBuffer;
}
catch (error) {
//Nightly Firefox 4 used to have the subarray function named as slice:
return this.outputBuffer.slice(0, sliceAmount);
}
}
}
initializeBuffers() {
this.outputBufferSize = (Math.ceil(this.inputBufferSize * this.toSampleRate / this.fromSampleRate / this.channels * 1.000000476837158203125) + this.channels) + this.channels;
try {
this.outputBuffer = new Float32Array(this.outputBufferSize);
this.lastOutput = new Float32Array(this.channels);
}
catch (error) {
this.outputBuffer = [];
this.lastOutput = [];
}
}
linearInterpolation() {
this.resampler = (buffer) => {
let bufferLength = buffer.length,
channels = this.channels,
outLength,
ratioWeight,
weight,
firstWeight,
secondWeight,
sourceOffset,
outputOffset,
outputBuffer,
channel;
if ((bufferLength % channels) !== 0) {
throw (new Error("Buffer was of incorrect sample length."));
}
if (bufferLength <= 0) {
return [];
}
outLength = this.outputBufferSize;
ratioWeight = this.ratioWeight;
weight = this.lastWeight;
firstWeight = 0;
secondWeight = 0;
sourceOffset = 0;
outputOffset = 0;
outputBuffer = this.outputBuffer;
for (; weight < 1; weight += ratioWeight) {
secondWeight = weight % 1;
firstWeight = 1 - secondWeight;
this.lastWeight = weight % 1;
for (channel = 0; channel < this.channels; ++channel) {
outputBuffer[outputOffset++] = (this.lastOutput[channel] * firstWeight) + (buffer[channel] * secondWeight);
}
}
weight -= 1;
for (bufferLength -= channels, sourceOffset = Math.floor(weight) * channels; outputOffset < outLength && sourceOffset < bufferLength;) {
secondWeight = weight % 1;
firstWeight = 1 - secondWeight;
for (channel = 0; channel < this.channels; ++channel) {
outputBuffer[outputOffset++] = (buffer[sourceOffset + ((channel > 0) ? (channel) : 0)] * firstWeight) + (buffer[sourceOffset + (channels + channel)] * secondWeight);
}
weight += ratioWeight;
sourceOffset = Math.floor(weight) * channels;
}
for (channel = 0; channel < channels; ++channel) {
this.lastOutput[channel] = buffer[sourceOffset++];
}
return this.bufferSlice(outputOffset);
};
}
multiTap() {
this.resampler = (buffer) => {
let bufferLength = buffer.length,
outLength,
output_variable_list,
channels = this.channels,
ratioWeight,
weight,
channel,
actualPosition,
amountToNext,
alreadyProcessedTail,
outputBuffer,
outputOffset,
currentPosition;
if ((bufferLength % channels) !== 0) {
throw (new Error("Buffer was of incorrect sample length."));
}
if (bufferLength <= 0) {
return [];
}
outLength = this.outputBufferSize;
output_variable_list = [];
ratioWeight = this.ratioWeight;
weight = 0;
actualPosition = 0;
amountToNext = 0;
alreadyProcessedTail = !this.tailExists;
this.tailExists = false;
outputBuffer = this.outputBuffer;
outputOffset = 0;
currentPosition = 0;
for (channel = 0; channel < channels; ++channel) {
output_variable_list[channel] = 0;
}
do {
if (alreadyProcessedTail) {
weight = ratioWeight;
for (channel = 0; channel < channels; ++channel) {
output_variable_list[channel] = 0;
}
} else {
weight = this.lastWeight;
for (channel = 0; channel < channels; ++channel) {
output_variable_list[channel] = this.lastOutput[channel];
}
alreadyProcessedTail = true;
}
while (weight > 0 && actualPosition < bufferLength) {
amountToNext = 1 + actualPosition - currentPosition;
if (weight >= amountToNext) {
for (channel = 0; channel < channels; ++channel) {
output_variable_list[channel] += buffer[actualPosition++] * amountToNext;
}
currentPosition = actualPosition;
weight -= amountToNext;
} else {
for (channel = 0; channel < channels; ++channel) {
output_variable_list[channel] += buffer[actualPosition + ((channel > 0) ? channel : 0)] * weight;
}
currentPosition += weight;
weight = 0;
break;
}
}
if (weight === 0) {
for (channel = 0; channel < channels; ++channel) {
outputBuffer[outputOffset++] = output_variable_list[channel] / ratioWeight;
}
} else {
this.lastWeight = weight;
for (channel = 0; channel < channels; ++channel) {
this.lastOutput[channel] = output_variable_list[channel];
}
this.tailExists = true;
break;
}
} while (actualPosition < bufferLength && outputOffset < outLength);
return this.bufferSlice(outputOffset);
};
}
resample(buffer) {
if (this.fromSampleRate == this.toSampleRate) {
this.ratioWeight = 1;
} else {
if (this.fromSampleRate < this.toSampleRate) {
this.lastWeight = 1;
} else {
this.tailExists = false;
this.lastWeight = 0;
}
this.initializeBuffers();
this.ratioWeight = this.fromSampleRate / this.toSampleRate;
}
return this.resampler(buffer)
}
}
registerProcessor("recorder.worklet", RecorderProcessor)

View file

@ -19,10 +19,11 @@ const RESOURCES = {"canvaskit/skwasm.worker.js": "bfb704a6c714a75da9ef320991e88b
"manifest.json": "cc4b6aa791018840b65fd0b0e325b201",
"favicon.png": "a409751f0ecf6dee76fb350d7402f9be",
"version.json": "d332b47693702f4203b900f5037f2601",
"index.html": "86ad7cd6c4c472268cc6b5fe3d15ee54",
"/": "86ad7cd6c4c472268cc6b5fe3d15ee54",
"main.dart.js": "c3e11d1fe2005a9570ce0f7d8c115993",
"assets/AssetManifest.json": "82ec42c015f9ef74ebf074e3ff172126",
"index.html": "ad702d82e839c1c2a48cd6448ed43abe",
"/": "ad702d82e839c1c2a48cd6448ed43abe",
"main.dart.js": "8f260a2a624a3e70050426392e0095b2",
"assets/AssetManifest.json": "e1032ff80e247703f47777bf468c3ae3",
"assets/packages/record_web/assets/js/record.worklet.js": "356bcfeddb8a625e3e2ba43ddf1cc13e",
"assets/packages/flutter_map/lib/assets/flutter_map_logo.png": "208d63cc917af9713fc9572bd5c09362",
"assets/packages/cupertino_icons/assets/CupertinoIcons.ttf": "8c441277cf711d83016dede9fc441928",
"assets/packages/wakelock_plus/assets/no_sleep.js": "7748a45cd593f33280669b29c2c8919a",
@ -47,7 +48,7 @@ const RESOURCES = {"canvaskit/skwasm.worker.js": "bfb704a6c714a75da9ef320991e88b
"assets/packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Main-BoldItalic.ttf": "e3c361ea8d1c215805439ce0941a1c8d",
"assets/packages/flutter_math_fork/lib/katex_fonts/fonts/KaTeX_Math-BoldItalic.ttf": "946a26954ab7fbd7ea78df07795a6cbc",
"assets/shaders/ink_sparkle.frag": "ecc85a2e95f5e9f53123dcaf8cb9b6ce",
"assets/AssetManifest.bin.json": "923efaa0f2d032aba343b39f5332dc70",
"assets/AssetManifest.bin.json": "5932dc08fb182037da23edd1fc95a477",
"assets/fonts/MaterialIcons-Regular.otf": "68441989aeec601ddc07066e3b77b2c2",
"assets/fonts/Roboto/Roboto-Regular.ttf": "8a36205bd9b83e03af0591a004bc97f4",
"assets/fonts/Roboto/Roboto-Bold.ttf": "b8e42971dec8d49207a8c8e2b919a6ac",
@ -67,8 +68,8 @@ const RESOURCES = {"canvaskit/skwasm.worker.js": "bfb704a6c714a75da9ef320991e88b
"assets/assets/sounds/notification.ogg": "d928d619828e6dbccf6e9e40f1c99d83",
"assets/assets/sounds/phone.ogg": "5c8fb947eb92ca55229cb6bbf533c40f",
"assets/assets/sounds/call.ogg": "7e8c646f83fba83bfb9084dc1bfec31e",
"assets/NOTICES": "0cd6b989fcd6e196479279ad18a18d67",
"assets/AssetManifest.bin": "cb64b3e3fe1a7dc2c2439d73711985c0",
"assets/NOTICES": "26b8d64f433c121709f6718efaddf2c4",
"assets/AssetManifest.bin": "77bc633ffb9de5b46d66c547ad5a8ba5",
"assets/FontManifest.json": "6a590c591cb18c7ac3b63b1fcaa45b57",
"splash/img/light-2x.png": "9371a9e18df59f2bbe9b32e04c3fc5d4",
"splash/img/light-1x.png": "db5b72b7f4b38640c974f20d9c90f464",

View file

@ -36,7 +36,7 @@
<script>
// The value below is injected by flutter build, do not touch.
const serviceWorkerVersion = "2505800023";
const serviceWorkerVersion = "1761107771";
</script>
<!-- This script adds the flutter initialization JS code -->
<script src="flutter.js" defer></script>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long