Compare commits
71 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 687b1187d1 | |||
| a467e74a78 | |||
| e889a54e55 | |||
| f501955dfd | |||
| cfd1fe2b18 | |||
| c80ea840d7 | |||
| 6e590d0764 | |||
| 9f72e62db7 | |||
| f3bf8dbd2f | |||
| 739218116d | |||
| bdeab6428b | |||
| 619fa00967 | |||
| 9f0b8852f6 | |||
| e87a088842 | |||
| 4c60aed563 | |||
| f4ebf4a2d5 | |||
| 14c17bce8f | |||
| 7058c872f3 | |||
| 0ee0ac07dc | |||
| d20dc4c610 | |||
| f1ca56b875 | |||
| 76d59d433a | |||
| b5da065bbd | |||
| 15a6bc17b5 | |||
| b48b0efe5c | |||
| 904339370b | |||
| e6ca2541e1 | |||
| 11ad0e0933 | |||
| cf75bb0db2 | |||
| 190379c626 | |||
| f18d9f6ed1 | |||
| 50b9f3219c | |||
| 4597c61c57 | |||
| ebfcc81894 | |||
| 36fed73c71 | |||
| 7d5b8d642f | |||
| e890e77483 | |||
| 8071760d81 | |||
| f9ec428950 | |||
| e1d80acba8 | |||
| 4aaac8545b | |||
| 3e15baa251 | |||
| 69515d702d | |||
| 89b95eb134 | |||
| ff5db151b4 | |||
| 59088071eb | |||
| c76252b79c | |||
| 176579b868 | |||
| 9e5068180b | |||
| 07d746feb5 | |||
| 3e0be7979c | |||
| 3947a0bfea | |||
| 24f060906e | |||
| b98e87284e | |||
| 6a22fbf7a3 | |||
| f4461c4eda | |||
| 018bbdc190 | |||
| 76de12852e | |||
| 444d4f9ff3 | |||
| 31a04f47de | |||
| 484af68693 | |||
| 855dafb959 | |||
| ca6cf0326f | |||
| 79a87f52ba | |||
| 81b766aefa | |||
| ec29e20d79 | |||
| e2ef291add | |||
| efeb4d190a | |||
| 58ef23c0cd | |||
| 2180d5d0b5 | |||
| b2edc2735b |
@@ -0,0 +1,23 @@
|
|||||||
|
---
|
||||||
|
name: Bug report
|
||||||
|
about: Create a report to help us improve
|
||||||
|
title: ''
|
||||||
|
labels: bug
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Describe the bug**
|
||||||
|
A clear and concise description of what the bug is.
|
||||||
|
|
||||||
|
**To Reproduce**
|
||||||
|
Steps to reproduce the behavior:
|
||||||
|
1. Go to '...'
|
||||||
|
2. Tap on '....'
|
||||||
|
3.
|
||||||
|
|
||||||
|
**Expected behavior**
|
||||||
|
A clear and concise description of what you expected to happen.
|
||||||
|
|
||||||
|
**Additional**
|
||||||
|
If the bug is difficult to explain, additionally to the text please include images and videos.
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
---
|
||||||
|
name: Feature request
|
||||||
|
about: Suggest an idea for this project
|
||||||
|
title: ''
|
||||||
|
labels: enhancement
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Is your feature request related to a problem? Please describe.**
|
||||||
|
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
||||||
|
|
||||||
|
**Describe the solution you'd like**
|
||||||
|
A clear and concise description of what you want to happen. Remember that adding stuff is always possible, but time is a limited resource for everyone. Check the wiki for more information how to compile the firmware and try to explore modifying the code yourself.
|
||||||
|
|
||||||
|
**Describe alternatives you've considered**
|
||||||
|
A clear and concise description of any alternative solutions or features you've considered.
|
||||||
|
|
||||||
|
**Additional**
|
||||||
|
If the suggestion is difficult to explain, additionally to the text please include images and videos.
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
---
|
||||||
|
name: Problem upgrading the firmware
|
||||||
|
about: Deal with the firmware upgrade problems
|
||||||
|
title: Problem upgrading the firmware
|
||||||
|
labels: ''
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**What is happening?**
|
||||||
|
Describe here why you are unable to upgrade the firmware. Before describing your problems, please read: https://github.com/eried/portapack-havoc/wiki/Update-firmware.
|
||||||
|
|
||||||
|
**Were you able to update the firmware before?**
|
||||||
|
Things might be confusing the first time, please check the video available on the link above if this is your first time.
|
||||||
|
|
||||||
|
**Can you try the upgrade with a different PC/Portapack/HackRF?**
|
||||||
|
If is possible, swap hardware and try again. Also, try different USB cables, even if the one you are using works fine for other purposes.
|
||||||
|
|
||||||
|
**Additional**
|
||||||
|
Add photos and videos of your procedure.
|
||||||
@@ -13,7 +13,6 @@
|
|||||||
/sdcard/FREQMAN/BHT*
|
/sdcard/FREQMAN/BHT*
|
||||||
/sdcard/FREQMAN/R.TXT
|
/sdcard/FREQMAN/R.TXT
|
||||||
/sdcard/FREQMAN/XXX.TXT
|
/sdcard/FREQMAN/XXX.TXT
|
||||||
/sdcard/WAV/*
|
|
||||||
|
|
||||||
# Compiled Object files
|
# Compiled Object files
|
||||||
*.slo
|
*.slo
|
||||||
@@ -61,7 +60,6 @@ CMakeFiles/
|
|||||||
*.sublime-project
|
*.sublime-project
|
||||||
*.sublime-workspace
|
*.sublime-workspace
|
||||||
|
|
||||||
# Host OS turds
|
# Host OS leftovers
|
||||||
.DS_Store
|
.DS_Store
|
||||||
/firmware/CMakeCache.txt
|
/firmware/CMakeCache.txt
|
||||||
/sdcard/ADSB/airlines.txt
|
|
||||||
@@ -17,17 +17,6 @@ env:
|
|||||||
- ARTEFACT_BASE=$TRAVIS_BUILD_DIR/artefacts/
|
- ARTEFACT_BASE=$TRAVIS_BUILD_DIR/artefacts/
|
||||||
- ARTEFACT_PATH=$ARTEFACT_BASE/$BUILD_NAME
|
- ARTEFACT_PATH=$ARTEFACT_BASE/$BUILD_NAME
|
||||||
|
|
||||||
notifications:
|
|
||||||
irc:
|
|
||||||
channels:
|
|
||||||
- "chat.freenode.net#portapack"
|
|
||||||
template:
|
|
||||||
- "%{repository}#%{build_number} (%{branch} - %{commit} : %{author}): %{message}"
|
|
||||||
- "Change view : %{compare_url}"
|
|
||||||
- "Build details : %{build_url}"
|
|
||||||
# TODO: The "build_number.1" in this URL is almost certainly wrong, but correct value not available from Travis?
|
|
||||||
- "Firmware download : https://jboone.github.io/portapack-havoc-nightly/"
|
|
||||||
|
|
||||||
before_install:
|
before_install:
|
||||||
- sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa -y
|
- sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa -y
|
||||||
- sudo apt-get update -q
|
- sudo apt-get update -q
|
||||||
@@ -65,9 +54,3 @@ addons:
|
|||||||
- cmake
|
- cmake
|
||||||
- dfu-util
|
- dfu-util
|
||||||
|
|
||||||
deploy:
|
|
||||||
provider: script
|
|
||||||
skip-cleanup: true
|
|
||||||
script: bash $TRAVIS_BUILD_DIR/tools/deploy-nightly.sh
|
|
||||||
on:
|
|
||||||
branch: master
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ Keeping the latest release files and all features I found, and possible my own f
|
|||||||
[](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=CBPQA4HRRPJQ6&source=url)
|
[](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=CBPQA4HRRPJQ6&source=url)
|
||||||
|
|
||||||
I only have this [Portapack H2+HackRF+battery](https://s.click.aliexpress.com/e/_dSMPvNo), so that's the version I'll be using for testing the releases before I post them here. BTW, if you have the same H2 (I know... I know it is a *dirty* clone) you could print my case:
|
I only have this [Portapack H2+HackRF+battery](https://s.click.aliexpress.com/e/_dSMPvNo), so that's the version I'll be using for testing the releases before I post them here. BTW, if you have the same H2 (I know... I know it is a *dirty* clone) you could print my case:
|
||||||
[](https://www.thingiverse.com/thing:4260973)
|
[](https://www.thingiverse.com/thing:4260973)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>More details about the H2 case</summary>
|
<summary>More details about the H2 case</summary>
|
||||||
@@ -18,7 +18,7 @@ I only have this [Portapack H2+HackRF+battery](https://s.click.aliexpress.com/e/
|
|||||||
<details>
|
<details>
|
||||||
<summary>Printed magnetic cover for the H2 case</summary>
|
<summary>Printed magnetic cover for the H2 case</summary>
|
||||||
|
|
||||||
[](https://www.thingiverse.com/thing:4278961)
|
[](https://www.thingiverse.com/thing:4278961)
|
||||||
|
|
||||||
[STL files](https://www.thingiverse.com/thing:4278961)
|
[STL files](https://www.thingiverse.com/thing:4278961)
|
||||||
|
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 59 KiB |
|
Before Width: | Height: | Size: 191 KiB |
|
Before Width: | Height: | Size: 114 KiB |
|
Before Width: | Height: | Size: 137 KiB |
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 47 KiB |
|
Before Width: | Height: | Size: 62 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 261 KiB |
|
Before Width: | Height: | Size: 245 B |
|
Before Width: | Height: | Size: 20 KiB |
@@ -1,171 +0,0 @@
|
|||||||
~ Pretty ugly PortaPack H1 (+HAVOC) UI widget documentation ~
|
|
||||||
by @furrtek - v0.1 - 2017/02/02
|
|
||||||
Not approved at all by @Sharebrained
|
|
||||||
|
|
||||||
The display is 240 x 320 pixels.
|
|
||||||
|
|
||||||
A View is basically a rectangular zone on the screen.
|
|
||||||
Widgets (aka controls, UI elements...) go into Views.
|
|
||||||
|
|
||||||
Views can be pushed to/popped from a stack.
|
|
||||||
The main menu view is at the bottom of the stack and can't be popped.
|
|
||||||
The title bar view is a special case, it (normally) can't be hidden by pushed Views.
|
|
||||||
Since the title bar is 16 pixel high, a regular full-screen view is 240 x 304 pixels.
|
|
||||||
|
|
||||||
If the current View can be popped (removed), an arrow shows on the left of the title bar.
|
|
||||||
|
|
||||||
Kind of widgets:
|
|
||||||
|
|
||||||
==== Rectangle ====
|
|
||||||
|
|
||||||
A simple filled or outlined rectangle. No interactivity.
|
|
||||||
|
|
||||||
Constructors:
|
|
||||||
- Empty
|
|
||||||
- Rectangle(Rect, Color)
|
|
||||||
|
|
||||||
Methods:
|
|
||||||
- set_color(Color)
|
|
||||||
- set_outline(bool): Default is filled, set to true for outline only
|
|
||||||
|
|
||||||
==== Text ====
|
|
||||||
|
|
||||||
A simple text label. No interactivity.
|
|
||||||
|
|
||||||
Constructors:
|
|
||||||
- Empty
|
|
||||||
- Text(Rect)
|
|
||||||
- Text(Rect, std::string)
|
|
||||||
|
|
||||||
Methods:
|
|
||||||
- set(std::string): Updates text
|
|
||||||
|
|
||||||
==== BigFrequency (HAVOC) ====
|
|
||||||
|
|
||||||
Displays a big 7-segment style frequency value in the XXXX.xxxMHz format.
|
|
||||||
If the value is 0, ----.--- is displayed. No leading zeros. No interactivity.
|
|
||||||
|
|
||||||
Constructors:
|
|
||||||
- BigFrequency(Rect, rf::Frequency)
|
|
||||||
|
|
||||||
Methods:
|
|
||||||
- set(rf::Frequency): Updates value
|
|
||||||
|
|
||||||
==== ProgressBar (HAVOC) ====
|
|
||||||
|
|
||||||
Displays progress as an horizontal progress bar with value and maximum value.
|
|
||||||
No interactivity.
|
|
||||||
|
|
||||||
Constructors:
|
|
||||||
- ProgressBar(Rect)
|
|
||||||
|
|
||||||
Methods:
|
|
||||||
- set_max(uint32_t): Updates maximum value
|
|
||||||
- set_value(uint32_t): Updates current value
|
|
||||||
|
|
||||||
The maximum value is set by default to 100.
|
|
||||||
|
|
||||||
==== Console ====
|
|
||||||
|
|
||||||
Displays a scrolling text console. No interactivity.
|
|
||||||
|
|
||||||
Constructors:
|
|
||||||
- Console(Rect)
|
|
||||||
|
|
||||||
Methods:
|
|
||||||
- clear(): Clears text and resets cursor to top-left
|
|
||||||
- write(std::string): Adds text
|
|
||||||
- writeln(std::string): Adds text and CR + LF
|
|
||||||
|
|
||||||
==== Checkbox (HAVOC) ====
|
|
||||||
|
|
||||||
A toggle option shown as a tickable box with a text label.
|
|
||||||
Interactive: select and touch.
|
|
||||||
|
|
||||||
Constructors:
|
|
||||||
- Empty
|
|
||||||
- Checkbox(Point, size_t, std::string)
|
|
||||||
- Checkbox(Point, size_t, std::string, bool)
|
|
||||||
|
|
||||||
(Position, length of text label, text, regular size/small)
|
|
||||||
|
|
||||||
Methods:
|
|
||||||
- bool value(): Returns state
|
|
||||||
- set_text(std::string): Updates text label
|
|
||||||
- set_value(bool): Sets state
|
|
||||||
|
|
||||||
Callbacks:
|
|
||||||
- on_select: Select key press or touch. Returns state
|
|
||||||
|
|
||||||
==== Button ====
|
|
||||||
|
|
||||||
A momentary push-button. Interactive: select and touch.
|
|
||||||
|
|
||||||
Constructors:
|
|
||||||
- Empty
|
|
||||||
- Button(Rect, std::string)
|
|
||||||
|
|
||||||
Methods:
|
|
||||||
- std::string text(): Returns text
|
|
||||||
- set_text(std::string): Updates text
|
|
||||||
|
|
||||||
Callbacks:
|
|
||||||
- on_select: Select key press or touch
|
|
||||||
- on_dir: Direction keys press
|
|
||||||
- on_highlight: Focus get
|
|
||||||
|
|
||||||
==== Image ====
|
|
||||||
|
|
||||||
Shows a 1-bit bitmap. No interactivity.
|
|
||||||
|
|
||||||
Constructors:
|
|
||||||
- Empty
|
|
||||||
- Image(Rect, Bitmap*, Color, Color)
|
|
||||||
|
|
||||||
(Rect, pointer to bitmap (see bitmap.hpp), foreground, background)
|
|
||||||
|
|
||||||
Methods:
|
|
||||||
- set_bitmap(Bitmap*): Updates bitmap
|
|
||||||
- set_foreground(Color): Changes foreground color
|
|
||||||
- set_background(Color): Changes background color
|
|
||||||
- invert_colors(): Flip foreground color with background
|
|
||||||
|
|
||||||
==== ImageButton ====
|
|
||||||
|
|
||||||
Same as the Image widget, except interactive (select and touch). No methods.
|
|
||||||
|
|
||||||
Constructors:
|
|
||||||
- Empty
|
|
||||||
- ImageButton(Rect, Bitmap*, Color, Color)
|
|
||||||
|
|
||||||
(Rect, pointer to bitmap (see bitmap.hpp), foreground, background)
|
|
||||||
|
|
||||||
Callbacks:
|
|
||||||
- on_select: Select key press or touch
|
|
||||||
|
|
||||||
==== ImageOptionsField (HAVOC) ====
|
|
||||||
|
|
||||||
Options list displayed as images.
|
|
||||||
Interactive: change (jog wheel) and focus.
|
|
||||||
|
|
||||||
Constructors:
|
|
||||||
- Empty
|
|
||||||
- ImageOptionsField(Rect, options_t)
|
|
||||||
|
|
||||||
options_t is a std::vector of std::pair of unsigned char pointers to color bitmap data and an int32_t
|
|
||||||
|
|
||||||
Methods:
|
|
||||||
- set_options(options_t)
|
|
||||||
- size_t selected_index()
|
|
||||||
- size_t selected_index_value()
|
|
||||||
- set_selected_index(size_t)
|
|
||||||
- set_by_value(value_t)
|
|
||||||
|
|
||||||
Callbacks:
|
|
||||||
- on_change: Option was changed
|
|
||||||
- on_show_options: Focus get
|
|
||||||
|
|
||||||
==== OptionsField ====
|
|
||||||
==== NumberField ====
|
|
||||||
==== SymField (HAVOC) ====
|
|
||||||
==== Waveform (HAVOC) ====
|
|
||||||
@@ -14,10 +14,20 @@ COPY ./ /havocsrc
|
|||||||
|
|
||||||
#Fetch dependencies from APT
|
#Fetch dependencies from APT
|
||||||
RUN apt-get update && \
|
RUN apt-get update && \
|
||||||
apt-get install -y tar wget dfu-util cmake python python-pip && \
|
apt-get install -y tar wget dfu-util cmake python bzip2 curl && \
|
||||||
apt-get -qy autoremove
|
apt-get -qy autoremove
|
||||||
|
|
||||||
|
#Install current pip from PyPa
|
||||||
|
RUN curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && \
|
||||||
|
python get-pip.py
|
||||||
|
|
||||||
#Fetch additional dependencies from Python 2.x pip
|
#Fetch additional dependencies from Python 2.x pip
|
||||||
RUN pip install pyyaml
|
RUN pip install pyyaml
|
||||||
|
RUN ln -s /usr/bin/python3 /usr/bin/python && \
|
||||||
|
ln -s /usr/bin/pip3 /usr/bin/pip
|
||||||
|
|
||||||
|
ENV LANG C.UTF-8
|
||||||
|
ENV LC_ALL C.UTF-8
|
||||||
|
|
||||||
#Grab the GNU ARM toolchain from arm.com
|
#Grab the GNU ARM toolchain from arm.com
|
||||||
#Then extract contents to /opt/build/armbin/
|
#Then extract contents to /opt/build/armbin/
|
||||||
|
|||||||
@@ -1,27 +1,41 @@
|
|||||||
FROM ubuntu:latest
|
FROM ubuntu:xenial
|
||||||
|
|
||||||
# Set location to download ARM toolkit from.
|
# Set location to download ARM toolkit from.
|
||||||
# This will need to be changed over time or replaced with a static link to the latest release.
|
# This will need to be changed over time or replaced with a static link to the latest release.
|
||||||
ENV ARMBINURL=https://developer.arm.com/-/media/Files/downloads/gnu-rm/9-2019q4/gcc-arm-none-eabi-9-2019-q4-major-x86_64-linux.tar.bz2?revision=108bd959-44bd-4619-9c19-26187abf5225&la=en&hash=E788CE92E5DFD64B2A8C246BBA91A249CB8E2D2D \
|
ENV ARMBINURL=https://developer.arm.com/-/media/Files/downloads/gnu-rm/9-2019q4/gcc-arm-none-eabi-9-2019-q4-major-x86_64-linux.tar.bz2?revision=108bd959-44bd-4619-9c19-26187abf5225&la=en&hash=E788CE92E5DFD64B2A8C246BBA91A249CB8E2D2D \
|
||||||
PATH=$PATH:/opt/build/armbin/bin
|
PATH=$HOME/bin:$PATH:/opt/build/armbin/bin
|
||||||
|
|
||||||
#Create volume /havoc/bin for compiled firmware binaries
|
#Create volume /havoc/bin for compiled firmware binaries
|
||||||
VOLUME /havoc
|
VOLUME /havoc
|
||||||
WORKDIR /havoc/firmware
|
WORKDIR /havoc/firmware
|
||||||
|
|
||||||
# Fetch dependencies from APT
|
# Fetch dependencies from APT
|
||||||
RUN apt-get update && \
|
RUN apt-get update && \
|
||||||
apt-get install -y git tar wget dfu-util cmake python3 python-pip && \
|
apt-get install -y git tar wget dfu-util cmake python3 ccache bzip2 curl && \
|
||||||
apt-get -qy autoremove
|
apt-get -qy autoremove
|
||||||
|
|
||||||
RUN pip install pyyaml
|
#Install current pip from PyPa
|
||||||
|
RUN curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && \
|
||||||
# Grab the GNU ARM toolchain from arm.com
|
python3 get-pip.py
|
||||||
# Then extract contents to /opt/build/armbin/
|
|
||||||
RUN mkdir /opt/build && cd /opt/build && \
|
#Fetch additional dependencies from Python 3.x pip
|
||||||
wget -O gcc-arm-none-eabi $ARMBINURL && \
|
RUN pip install pyyaml
|
||||||
mkdir armbin && \
|
RUN ln -s /usr/bin/python3 /usr/bin/python && \
|
||||||
tar --strip=1 -xjvf gcc-arm-none-eabi -C armbin
|
ln -s /usr/bin/pip3 /usr/bin/pip
|
||||||
|
|
||||||
CMD cd .. && cd build && \
|
ENV LANG C.UTF-8
|
||||||
|
ENV LC_ALL C.UTF-8
|
||||||
|
|
||||||
|
# Grab the GNU ARM toolchain from arm.com
|
||||||
|
# Then extract contents to /opt/build/armbin/
|
||||||
|
RUN mkdir /opt/build && cd /opt/build && \
|
||||||
|
wget -O gcc-arm-none-eabi $ARMBINURL && \
|
||||||
|
mkdir armbin && \
|
||||||
|
tar --strip=1 -xjvf gcc-arm-none-eabi -C armbin
|
||||||
|
|
||||||
|
# Configure CCACHE
|
||||||
|
RUN mkdir ~/bin && cd ~/bin && \
|
||||||
|
for tool in gcc g++ cpp c++;do ln -s $(which ccache) arm-none-eabi-$tool;done
|
||||||
|
|
||||||
|
CMD cd .. && cd build && \
|
||||||
cmake .. && make firmware
|
cmake .. && make firmware
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
portapack.ried.cl
|
||||||
|
After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 150 KiB After Width: | Height: | Size: 150 KiB |
@@ -0,0 +1,6 @@
|
|||||||
|
<head>
|
||||||
|
<meta http-equiv="refresh" content="0; URL=https://github.com/eried/portapack-havoc/releases" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>If you are not redirected, <a href="https://github.com/eried/portapack-havoc/releases">click here</a>.</p>
|
||||||
|
</body>
|
||||||
@@ -29,7 +29,7 @@ set(EXTRACT_CPLD_DATA ${PROJECT_SOURCE_DIR}/tools/extract_cpld_data.py)
|
|||||||
set(MAKE_SPI_IMAGE ${PROJECT_SOURCE_DIR}/tools/make_spi_image.py)
|
set(MAKE_SPI_IMAGE ${PROJECT_SOURCE_DIR}/tools/make_spi_image.py)
|
||||||
set(MAKE_IMAGE_CHUNK ${PROJECT_SOURCE_DIR}/tools/make_image_chunk.py)
|
set(MAKE_IMAGE_CHUNK ${PROJECT_SOURCE_DIR}/tools/make_image_chunk.py)
|
||||||
|
|
||||||
set(FIRMWARE_NAME portapack-h1-havoc)
|
set(FIRMWARE_NAME portapack-h1_h2-mayhem)
|
||||||
set(FIRMWARE_FILENAME ${FIRMWARE_NAME}.bin)
|
set(FIRMWARE_FILENAME ${FIRMWARE_NAME}.bin)
|
||||||
|
|
||||||
add_subdirectory(application)
|
add_subdirectory(application)
|
||||||
|
|||||||
@@ -154,6 +154,7 @@ AnalogAudioView::AnalogAudioView(
|
|||||||
audio::output::start();
|
audio::output::start();
|
||||||
|
|
||||||
update_modulation(static_cast<ReceiverModel::Mode>(modulation));
|
update_modulation(static_cast<ReceiverModel::Mode>(modulation));
|
||||||
|
on_modulation_changed(static_cast<ReceiverModel::Mode>(modulation));
|
||||||
}
|
}
|
||||||
|
|
||||||
AnalogAudioView::~AnalogAudioView() {
|
AnalogAudioView::~AnalogAudioView() {
|
||||||
@@ -161,6 +162,7 @@ AnalogAudioView::~AnalogAudioView() {
|
|||||||
// both?
|
// both?
|
||||||
audio::output::stop();
|
audio::output::stop();
|
||||||
|
|
||||||
|
receiver_model.set_sampling_rate(3072000); // Just a hack to avoid hanging other apps if the last modulation was SPEC
|
||||||
receiver_model.disable();
|
receiver_model.disable();
|
||||||
|
|
||||||
baseband::shutdown();
|
baseband::shutdown();
|
||||||
|
|||||||
@@ -46,6 +46,12 @@ CaptureAppView::CaptureAppView(NavigationView& nav) {
|
|||||||
&waterfall,
|
&waterfall,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Hack for initialization
|
||||||
|
// TODO: This should be included in a more global section so apps dont need to do it
|
||||||
|
receiver_model.set_sampling_rate(3072000);
|
||||||
|
receiver_model.set_baseband_bandwidth(1750000);
|
||||||
|
//-------------------
|
||||||
|
|
||||||
field_frequency.set_value(receiver_model.tuning_frequency());
|
field_frequency.set_value(receiver_model.tuning_frequency());
|
||||||
field_frequency.set_step(receiver_model.frequency_step());
|
field_frequency.set_step(receiver_model.frequency_step());
|
||||||
field_frequency.on_change = [this](rf::Frequency f) {
|
field_frequency.on_change = [this](rf::Frequency f) {
|
||||||
@@ -87,6 +93,14 @@ CaptureAppView::CaptureAppView(NavigationView& nav) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
CaptureAppView::~CaptureAppView() {
|
CaptureAppView::~CaptureAppView() {
|
||||||
|
|
||||||
|
// Hack for preventing halting other apps
|
||||||
|
// TODO: This should be also part of something global
|
||||||
|
receiver_model.set_sampling_rate(3072000);
|
||||||
|
receiver_model.set_baseband_bandwidth(1750000);
|
||||||
|
receiver_model.set_modulation(ReceiverModel::Mode::WidebandFMAudio);
|
||||||
|
// ----------------------------
|
||||||
|
|
||||||
receiver_model.disable();
|
receiver_model.disable();
|
||||||
baseband::shutdown();
|
baseband::shutdown();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ void GpsSimAppView::on_file_changed(std::filesystem::path new_file_path) {
|
|||||||
auto file_size = data_file.size();
|
auto file_size = data_file.size();
|
||||||
auto duration = (file_size * 1000) / (1 * 2 * sample_rate);
|
auto duration = (file_size * 1000) / (1 * 2 * sample_rate);
|
||||||
|
|
||||||
progressbar.set_max(file_size);
|
progressbar.set_max(file_size / 1024);
|
||||||
text_filename.set(file_path.filename().string().substr(0, 12));
|
text_filename.set(file_path.filename().string().substr(0, 12));
|
||||||
text_duration.set(to_string_time_ms(duration));
|
text_duration.set(to_string_time_ms(duration));
|
||||||
|
|
||||||
|
|||||||
@@ -69,6 +69,7 @@ POCSAGAppView::POCSAGAppView(NavigationView& nav) {
|
|||||||
&field_vga,
|
&field_vga,
|
||||||
&field_frequency,
|
&field_frequency,
|
||||||
&options_bitrate,
|
&options_bitrate,
|
||||||
|
&options_phase,
|
||||||
&check_log,
|
&check_log,
|
||||||
&check_ignore,
|
&check_ignore,
|
||||||
&sym_ignore,
|
&sym_ignore,
|
||||||
@@ -99,10 +100,13 @@ POCSAGAppView::POCSAGAppView(NavigationView& nav) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
options_bitrate.on_change = [this](size_t, OptionsField::value_t v) {
|
options_bitrate.on_change = [this](size_t, OptionsField::value_t v) {
|
||||||
on_bitrate_changed(v);
|
on_config_changed(v, options_phase.selected_index_value());
|
||||||
};
|
};
|
||||||
options_bitrate.set_selected_index(1); // 1200bps
|
options_bitrate.set_selected_index(1); // 1200bps
|
||||||
|
|
||||||
|
options_phase.on_change = [this](size_t, OptionsField::value_t v) {
|
||||||
|
on_config_changed(options_bitrate.selected_index_value(),v);
|
||||||
|
};
|
||||||
check_ignore.set_value(ignore);
|
check_ignore.set_value(ignore);
|
||||||
check_ignore.on_select = [this](Checkbox&, bool v) {
|
check_ignore.on_select = [this](Checkbox&, bool v) {
|
||||||
ignore = v;
|
ignore = v;
|
||||||
@@ -197,8 +201,8 @@ void POCSAGAppView::on_packet(const POCSAGPacketMessage * message) {
|
|||||||
logger->log_raw_data(message->packet, target_frequency());
|
logger->log_raw_data(message->packet, target_frequency());
|
||||||
}
|
}
|
||||||
|
|
||||||
void POCSAGAppView::on_bitrate_changed(const uint32_t new_bitrate) {
|
void POCSAGAppView::on_config_changed(const uint32_t new_bitrate, bool new_phase) {
|
||||||
baseband::set_pocsag(pocsag_bitrates[new_bitrate]);
|
baseband::set_pocsag(pocsag_bitrates[new_bitrate], new_phase);
|
||||||
}
|
}
|
||||||
|
|
||||||
void POCSAGAppView::set_target_frequency(const uint32_t new_value) {
|
void POCSAGAppView::set_target_frequency(const uint32_t new_value) {
|
||||||
|
|||||||
@@ -93,6 +93,14 @@ private:
|
|||||||
{ "2400bps", 2 }
|
{ "2400bps", 2 }
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
OptionsField options_phase {
|
||||||
|
{ 6 * 8, 21 },
|
||||||
|
1,
|
||||||
|
{
|
||||||
|
{ "P", 0 },
|
||||||
|
{ "N", 1 },
|
||||||
|
}
|
||||||
|
};
|
||||||
Checkbox check_log {
|
Checkbox check_log {
|
||||||
{ 22 * 8, 21 },
|
{ 22 * 8, 21 },
|
||||||
3,
|
3,
|
||||||
@@ -124,7 +132,7 @@ private:
|
|||||||
|
|
||||||
void on_packet(const POCSAGPacketMessage * message);
|
void on_packet(const POCSAGPacketMessage * message);
|
||||||
|
|
||||||
void on_bitrate_changed(const uint32_t new_bitrate);
|
void on_config_changed(const uint32_t new_bitrate, const bool phase);
|
||||||
|
|
||||||
uint32_t target_frequency() const;
|
uint32_t target_frequency() const;
|
||||||
void set_target_frequency(const uint32_t new_value);
|
void set_target_frequency(const uint32_t new_value);
|
||||||
|
|||||||
@@ -207,8 +207,8 @@ SoundBoardView::SoundBoardView(
|
|||||||
&menu_view,
|
&menu_view,
|
||||||
&text_empty,
|
&text_empty,
|
||||||
&options_tone_key,
|
&options_tone_key,
|
||||||
&text_title,
|
//&text_title,
|
||||||
&text_duration,
|
//&text_duration,
|
||||||
&progressbar,
|
&progressbar,
|
||||||
&check_loop,
|
&check_loop,
|
||||||
&check_random,
|
&check_random,
|
||||||
@@ -217,7 +217,7 @@ SoundBoardView::SoundBoardView(
|
|||||||
|
|
||||||
refresh_list();
|
refresh_list();
|
||||||
|
|
||||||
text_title.set(to_string_dec_uint(file_list.size()));
|
//text_title.set(to_string_dec_uint(file_list.size()));
|
||||||
|
|
||||||
tone_keys_populate(options_tone_key);
|
tone_keys_populate(options_tone_key);
|
||||||
options_tone_key.set_selected_index(0);
|
options_tone_key.set_selected_index(0);
|
||||||
|
|||||||
@@ -80,12 +80,12 @@ private:
|
|||||||
void on_select_entry();
|
void on_select_entry();
|
||||||
|
|
||||||
Labels labels {
|
Labels labels {
|
||||||
{ { 0, 20 * 8 + 4 }, "Title:", Color::light_grey() },
|
//{ { 0, 20 * 8 + 4 }, "Title:", Color::light_grey() },
|
||||||
{ { 0, 23 * 8 }, "Key:", Color::light_grey() }
|
{ { 0, 180 }, "Key:", Color::light_grey() }
|
||||||
};
|
};
|
||||||
|
|
||||||
MenuView menu_view {
|
MenuView menu_view {
|
||||||
{ 0, 2 * 8, 240, 20 * 8 },
|
{ 0, 0, 240, 175 },
|
||||||
true
|
true
|
||||||
};
|
};
|
||||||
Text text_empty {
|
Text text_empty {
|
||||||
@@ -93,22 +93,22 @@ private:
|
|||||||
"Empty directory !",
|
"Empty directory !",
|
||||||
};
|
};
|
||||||
|
|
||||||
Text text_title {
|
/*Text text_title {
|
||||||
{ 6 * 8, 20 * 8 + 4, 15 * 8, 16 }
|
{ 6 * 8, 20 * 8 + 4, 15 * 8, 16 }
|
||||||
};
|
};*/
|
||||||
|
|
||||||
Text text_duration {
|
/*Text text_duration {
|
||||||
{ 22 * 8, 20 * 8 + 4, 6 * 8, 16 }
|
{ 22 * 8, 20 * 8 + 4, 6 * 8, 16 }
|
||||||
};
|
};*/
|
||||||
|
|
||||||
OptionsField options_tone_key {
|
OptionsField options_tone_key {
|
||||||
{ 4 * 8, 23 * 8 },
|
{ 32 , 180 },
|
||||||
18,
|
18,
|
||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
|
|
||||||
Checkbox check_loop {
|
Checkbox check_loop {
|
||||||
{ 8, 25 * 8 + 4 },
|
{ 0, 25 * 8 + 4 },
|
||||||
4,
|
4,
|
||||||
"Loop"
|
"Loop"
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -72,10 +72,11 @@ private:
|
|||||||
int32_t delay;
|
int32_t delay;
|
||||||
} credits_t;
|
} credits_t;
|
||||||
|
|
||||||
|
// TODO: Make this dinamically centered and parse \n as the delay value so it is easy to maintain
|
||||||
const credits_t credits[26] = {
|
const credits_t credits[26] = {
|
||||||
// 012345678901234567890123456789
|
// 012345678901234567890123456789
|
||||||
|
{ 60, "PortaPack Mayhem", 0 },
|
||||||
{ 60, "PortaPack|HAVOC", 0 },
|
{ 60, "PortaPack|HAVOC", 0 },
|
||||||
{ 4 * 8, "Version " VERSION_STRING, 16 },
|
|
||||||
{ 11 * 8, "Gurus J. Boone", 0 },
|
{ 11 * 8, "Gurus J. Boone", 0 },
|
||||||
{ 18 * 8, "M. Ossmann", 16 },
|
{ 18 * 8, "M. Ossmann", 16 },
|
||||||
{ 11 * 8, "HAVOC Furrtek", 16 },
|
{ 11 * 8, "HAVOC Furrtek", 16 },
|
||||||
|
|||||||
@@ -346,7 +346,7 @@ DebugPeripheralsMenuView::DebugPeripheralsMenuView(NavigationView& nav) {
|
|||||||
DebugMenuView::DebugMenuView(NavigationView& nav) {
|
DebugMenuView::DebugMenuView(NavigationView& nav) {
|
||||||
add_items({
|
add_items({
|
||||||
{ "Memory", ui::Color::white(), nullptr, [&nav](){ nav.push<DebugMemoryView>(); } },
|
{ "Memory", ui::Color::white(), nullptr, [&nav](){ nav.push<DebugMemoryView>(); } },
|
||||||
{ "Radio State", ui::Color::white(), nullptr, [&nav](){ nav.push<NotImplementedView>(); } },
|
//{ "Radio State", ui::Color::white(), nullptr, [&nav](){ nav.push<NotImplementedView>(); } },
|
||||||
{ "SD Card", ui::Color::white(), nullptr, [&nav](){ nav.push<SDCardDebugView>(); } },
|
{ "SD Card", ui::Color::white(), nullptr, [&nav](){ nav.push<SDCardDebugView>(); } },
|
||||||
{ "Peripherals", ui::Color::white(), nullptr, [&nav](){ nav.push<DebugPeripheralsMenuView>(); } },
|
{ "Peripherals", ui::Color::white(), nullptr, [&nav](){ nav.push<DebugPeripheralsMenuView>(); } },
|
||||||
{ "Temperature", ui::Color::white(), nullptr, [&nav](){ nav.push<TemperatureView>(); } },
|
{ "Temperature", ui::Color::white(), nullptr, [&nav](){ nav.push<TemperatureView>(); } },
|
||||||
|
|||||||
@@ -71,6 +71,7 @@ bool POCSAGTXView::start_tx() {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
MessageType phase = (MessageType)options_phase.selected_index_value();
|
||||||
|
|
||||||
pocsag_encode(type, BCH_code, options_function.selected_index_value(), message, address, codewords);
|
pocsag_encode(type, BCH_code, options_function.selected_index_value(), message, address, codewords);
|
||||||
|
|
||||||
@@ -79,6 +80,9 @@ bool POCSAGTXView::start_tx() {
|
|||||||
progressbar.set_max(total_frames);
|
progressbar.set_max(total_frames);
|
||||||
|
|
||||||
transmitter_model.set_sampling_rate(2280000);
|
transmitter_model.set_sampling_rate(2280000);
|
||||||
|
transmitter_model.set_rf_amp(true);
|
||||||
|
transmitter_model.set_lna(40);
|
||||||
|
transmitter_model.set_vga(40);
|
||||||
transmitter_model.set_baseband_bandwidth(1750000);
|
transmitter_model.set_baseband_bandwidth(1750000);
|
||||||
transmitter_model.enable();
|
transmitter_model.enable();
|
||||||
|
|
||||||
@@ -86,7 +90,11 @@ bool POCSAGTXView::start_tx() {
|
|||||||
|
|
||||||
bi = 0;
|
bi = 0;
|
||||||
for (i = 0; i < codewords.size(); i++) {
|
for (i = 0; i < codewords.size(); i++) {
|
||||||
|
if (phase == 0)
|
||||||
|
codeword = ~(codewords[i]);
|
||||||
|
else
|
||||||
codeword = codewords[i];
|
codeword = codewords[i];
|
||||||
|
|
||||||
data_ptr[bi++] = (codeword >> 24) & 0xFF;
|
data_ptr[bi++] = (codeword >> 24) & 0xFF;
|
||||||
data_ptr[bi++] = (codeword >> 16) & 0xFF;
|
data_ptr[bi++] = (codeword >> 16) & 0xFF;
|
||||||
data_ptr[bi++] = (codeword >> 8) & 0xFF;
|
data_ptr[bi++] = (codeword >> 8) & 0xFF;
|
||||||
@@ -126,6 +134,7 @@ POCSAGTXView::POCSAGTXView(
|
|||||||
&field_address,
|
&field_address,
|
||||||
&options_type,
|
&options_type,
|
||||||
&options_function,
|
&options_function,
|
||||||
|
&options_phase,
|
||||||
&text_message,
|
&text_message,
|
||||||
&button_message,
|
&button_message,
|
||||||
&progressbar,
|
&progressbar,
|
||||||
|
|||||||
@@ -71,6 +71,7 @@ private:
|
|||||||
{ { 3 * 8, 6 * 8 }, "Address:", Color::light_grey() },
|
{ { 3 * 8, 6 * 8 }, "Address:", Color::light_grey() },
|
||||||
{ { 6 * 8, 8 * 8 }, "Type:", Color::light_grey() },
|
{ { 6 * 8, 8 * 8 }, "Type:", Color::light_grey() },
|
||||||
{ { 2 * 8, 10 * 8 }, "Function:", Color::light_grey() },
|
{ { 2 * 8, 10 * 8 }, "Function:", Color::light_grey() },
|
||||||
|
{ { 5 * 8, 12 * 8 }, "Phase:", Color::light_grey() },
|
||||||
{ { 0 * 8, 14 * 8 }, "Message:", Color::light_grey() }
|
{ { 0 * 8, 14 * 8 }, "Message:", Color::light_grey() }
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -110,6 +111,15 @@ private:
|
|||||||
{ "D", 3 }
|
{ "D", 3 }
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
OptionsField options_phase {
|
||||||
|
{ 11 * 8, 12 * 8 },
|
||||||
|
1,
|
||||||
|
{
|
||||||
|
{ "P", 0 },
|
||||||
|
{ "N", 1 },
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
Text text_message {
|
Text text_message {
|
||||||
{ 0 * 8, 16 * 8, 16 * 8, 16 },
|
{ 0 * 8, 16 * 8, 16 * 8, 16 },
|
||||||
|
|||||||
@@ -183,6 +183,7 @@ SetFrequencyCorrectionModel SetRadioView::form_collect() {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
SetPlayDeadView::SetPlayDeadView(NavigationView& nav) {
|
SetPlayDeadView::SetPlayDeadView(NavigationView& nav) {
|
||||||
add_children({
|
add_children({
|
||||||
&text_sequence,
|
&text_sequence,
|
||||||
@@ -234,10 +235,11 @@ SetPlayDeadView::SetPlayDeadView(NavigationView& nav) {
|
|||||||
void SetPlayDeadView::focus() {
|
void SetPlayDeadView::focus() {
|
||||||
button_cancel.focus();
|
button_cancel.focus();
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
SetUIView::SetUIView(NavigationView& nav) {
|
SetUIView::SetUIView(NavigationView& nav) {
|
||||||
add_children({
|
add_children({
|
||||||
&checkbox_login,
|
//&checkbox_login,
|
||||||
&checkbox_bloff,
|
&checkbox_bloff,
|
||||||
&options_bloff,
|
&options_bloff,
|
||||||
&checkbox_showsplash,
|
&checkbox_showsplash,
|
||||||
@@ -245,7 +247,7 @@ SetUIView::SetUIView(NavigationView& nav) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
checkbox_showsplash.set_value(persistent_memory::config_splash());
|
checkbox_showsplash.set_value(persistent_memory::config_splash());
|
||||||
checkbox_login.set_value(persistent_memory::config_login());
|
//checkbox_login.set_value(persistent_memory::config_login());
|
||||||
|
|
||||||
uint32_t backlight_timer = persistent_memory::config_backlight_timer();
|
uint32_t backlight_timer = persistent_memory::config_backlight_timer();
|
||||||
|
|
||||||
@@ -263,13 +265,13 @@ SetUIView::SetUIView(NavigationView& nav) {
|
|||||||
persistent_memory::set_config_backlight_timer(0);
|
persistent_memory::set_config_backlight_timer(0);
|
||||||
|
|
||||||
persistent_memory::set_config_splash(checkbox_showsplash.value());
|
persistent_memory::set_config_splash(checkbox_showsplash.value());
|
||||||
persistent_memory::set_config_login(checkbox_login.value());
|
//persistent_memory::set_config_login(checkbox_login.value());
|
||||||
nav.pop();
|
nav.pop();
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
void SetUIView::focus() {
|
void SetUIView::focus() {
|
||||||
checkbox_login.focus();
|
button_ok.focus();
|
||||||
}
|
}
|
||||||
|
|
||||||
SetAudioView::SetAudioView(NavigationView& nav) {
|
SetAudioView::SetAudioView(NavigationView& nav) {
|
||||||
@@ -478,7 +480,7 @@ SettingsMenuView::SettingsMenuView(NavigationView& nav) {
|
|||||||
//{ "SD card modules", ui::Color::dark_cyan(), [&nav](){ nav.push<ModInfoView>(); } },
|
//{ "SD card modules", ui::Color::dark_cyan(), [&nav](){ nav.push<ModInfoView>(); } },
|
||||||
{ "Date/Time", ui::Color::dark_cyan(), nullptr, [&nav](){ nav.push<SetDateTimeView>(); } },
|
{ "Date/Time", ui::Color::dark_cyan(), nullptr, [&nav](){ nav.push<SetDateTimeView>(); } },
|
||||||
{ "Touch screen", ui::Color::dark_cyan(), nullptr, [&nav](){ nav.push<TouchCalibrationView>(); } },
|
{ "Touch screen", ui::Color::dark_cyan(), nullptr, [&nav](){ nav.push<TouchCalibrationView>(); } },
|
||||||
{ "Play dead", ui::Color::dark_cyan(), &bitmap_icon_playdead, [&nav](){ nav.push<SetPlayDeadView>(); } }
|
//{ "Play dead", ui::Color::dark_cyan(), &bitmap_icon_playdead, [&nav](){ nav.push<SetPlayDeadView>(); } }
|
||||||
});
|
});
|
||||||
set_max_rows(2); // allow wider buttons
|
set_max_rows(2); // allow wider buttons
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -101,11 +101,11 @@ private:
|
|||||||
|
|
||||||
Button button_done {
|
Button button_done {
|
||||||
{ 2 * 8, 16 * 16, 12 * 8, 32 },
|
{ 2 * 8, 16 * 16, 12 * 8, 32 },
|
||||||
"Done"
|
"Save"
|
||||||
};
|
};
|
||||||
Button button_cancel {
|
Button button_cancel {
|
||||||
{ 16 * 8, 16 * 16, 12 * 8, 32 },
|
{ 16 * 8, 16 * 16, 12 * 8, 32 },
|
||||||
"Cancel",
|
"Cancel"
|
||||||
};
|
};
|
||||||
|
|
||||||
void form_init(const SetDateTimeModel& model);
|
void form_init(const SetDateTimeModel& model);
|
||||||
@@ -174,7 +174,7 @@ private:
|
|||||||
|
|
||||||
Button button_done {
|
Button button_done {
|
||||||
{ 2 * 8, 16 * 16, 12 * 8, 32 },
|
{ 2 * 8, 16 * 16, 12 * 8, 32 },
|
||||||
"Done"
|
"Save"
|
||||||
};
|
};
|
||||||
Button button_cancel {
|
Button button_cancel {
|
||||||
{ 16 * 8, 16 * 16, 12 * 8, 32 },
|
{ 16 * 8, 16 * 16, 12 * 8, 32 },
|
||||||
@@ -194,11 +194,11 @@ public:
|
|||||||
std::string title() const override { return "UI settings"; };
|
std::string title() const override { return "UI settings"; };
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Checkbox checkbox_login {
|
/*Checkbox checkbox_login {
|
||||||
{ 3 * 8, 2 * 16 },
|
{ 3 * 8, 2 * 16 },
|
||||||
20,
|
20,
|
||||||
"Login with play dead"
|
"Login with play dead"
|
||||||
};
|
};*/
|
||||||
|
|
||||||
Checkbox checkbox_bloff {
|
Checkbox checkbox_bloff {
|
||||||
{ 3 * 8, 5 * 16 },
|
{ 3 * 8, 5 * 16 },
|
||||||
@@ -212,7 +212,9 @@ private:
|
|||||||
{
|
{
|
||||||
{ "5 seconds", 5 },
|
{ "5 seconds", 5 },
|
||||||
{ "15 seconds", 15 },
|
{ "15 seconds", 15 },
|
||||||
|
{ "30 seconds", 30 },
|
||||||
{ "1 minute", 60 },
|
{ "1 minute", 60 },
|
||||||
|
{ "3 minutes", 180 },
|
||||||
{ "5 minutes", 300 },
|
{ "5 minutes", 300 },
|
||||||
{ "10 minutes", 600 }
|
{ "10 minutes", 600 }
|
||||||
}
|
}
|
||||||
@@ -226,7 +228,7 @@ private:
|
|||||||
|
|
||||||
Button button_ok {
|
Button button_ok {
|
||||||
{ 2 * 8, 16 * 16, 12 * 8, 32 },
|
{ 2 * 8, 16 * 16, 12 * 8, 32 },
|
||||||
"OK"
|
"Save"
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -253,10 +255,11 @@ private:
|
|||||||
|
|
||||||
Button button_ok {
|
Button button_ok {
|
||||||
{ 2 * 8, 16 * 16, 12 * 8, 32 },
|
{ 2 * 8, 16 * 16, 12 * 8, 32 },
|
||||||
"OK"
|
"Save"
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
class SetPlayDeadView : public View {
|
class SetPlayDeadView : public View {
|
||||||
public:
|
public:
|
||||||
SetPlayDeadView(NavigationView& nav);
|
SetPlayDeadView(NavigationView& nav);
|
||||||
@@ -284,7 +287,7 @@ private:
|
|||||||
{ 128, 192, 96, 24 },
|
{ 128, 192, 96, 24 },
|
||||||
"Cancel"
|
"Cancel"
|
||||||
};
|
};
|
||||||
};
|
};*/
|
||||||
|
|
||||||
/*class ModInfoView : public View {
|
/*class ModInfoView : public View {
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ public:
|
|||||||
|
|
||||||
void focus() override;
|
void focus() override;
|
||||||
|
|
||||||
std::string title() const override { return "Touch calibration"; };
|
std::string title() const override { return "Calibration"; };
|
||||||
|
|
||||||
private:
|
private:
|
||||||
enum class Phase {
|
enum class Phase {
|
||||||
|
|||||||
@@ -224,9 +224,10 @@ void set_fsk_data(const uint32_t stream_length, const uint32_t samples_per_bit,
|
|||||||
send_message(&message);
|
send_message(&message);
|
||||||
}
|
}
|
||||||
|
|
||||||
void set_pocsag(const pocsag::BitRate bitrate) {
|
void set_pocsag(const pocsag::BitRate bitrate, bool phase) {
|
||||||
const POCSAGConfigureMessage message {
|
const POCSAGConfigureMessage message {
|
||||||
bitrate
|
bitrate,
|
||||||
|
phase
|
||||||
};
|
};
|
||||||
send_message(&message);
|
send_message(&message);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ void set_ook_data(const uint32_t stream_length, const uint32_t samples_per_bit,
|
|||||||
const uint32_t pause_symbols);
|
const uint32_t pause_symbols);
|
||||||
void set_fsk_data(const uint32_t stream_length, const uint32_t samples_per_bit, const uint32_t shift,
|
void set_fsk_data(const uint32_t stream_length, const uint32_t samples_per_bit, const uint32_t shift,
|
||||||
const uint32_t progress_notice);
|
const uint32_t progress_notice);
|
||||||
void set_pocsag(const pocsag::BitRate bitrate);
|
void set_pocsag(const pocsag::BitRate bitrate, bool phase);
|
||||||
void set_adsb();
|
void set_adsb();
|
||||||
void set_jammer(const bool run, const jammer::JammerType type, const uint32_t speed);
|
void set_jammer(const bool run, const jammer::JammerType type, const uint32_t speed);
|
||||||
void set_rds_data(const uint16_t message_length);
|
void set_rds_data(const uint16_t message_length);
|
||||||
|
|||||||
@@ -1,946 +0,0 @@
|
|||||||
const unsigned char fox_bmp[] = {
|
|
||||||
0x42, 0x4d, 0xee, 0x2b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xba, 0x00,
|
|
||||||
0x00, 0x00, 0x6c, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xa0, 0x00,
|
|
||||||
0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x78, 0x2b,
|
|
||||||
0x00, 0x00, 0x13, 0x0b, 0x00, 0x00, 0x13, 0x0b, 0x00, 0x00, 0x10, 0x00,
|
|
||||||
0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x42, 0x47, 0x52, 0x73, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x06, 0x04, 0x00, 0x17, 0x2a, 0x3c, 0x00, 0x21, 0x3d,
|
|
||||||
0x70, 0x00, 0x2f, 0x48, 0x59, 0x00, 0x1f, 0x48, 0x62, 0x00, 0x44, 0x63,
|
|
||||||
0x7b, 0x00, 0x33, 0x64, 0x86, 0x00, 0x48, 0x7e, 0xa9, 0x00, 0x62, 0x84,
|
|
||||||
0x9f, 0x00, 0x65, 0xa2, 0xd0, 0x00, 0x87, 0xa9, 0xc2, 0x00, 0x83, 0xc5,
|
|
||||||
0xef, 0x00, 0xa7, 0xca, 0xdc, 0x00, 0xb8, 0xc7, 0xe6, 0x00, 0xbf, 0xe4,
|
|
||||||
0xf8, 0x00, 0xf9, 0xfe, 0xfd, 0x00, 0x00, 0x0c, 0xcc, 0xcc, 0xab, 0xca,
|
|
||||||
0xac, 0xaa, 0x0c, 0xca, 0x00, 0x3a, 0xcd, 0xcd, 0xca, 0xcc, 0xdc, 0xdc,
|
|
||||||
0xcc, 0xda, 0xcc, 0xac, 0xdc, 0xcc, 0xcd, 0xce, 0xdc, 0xed, 0xee, 0xcf,
|
|
||||||
0xce, 0xcc, 0xfc, 0xcc, 0xfc, 0xec, 0xfc, 0xcc, 0xcc, 0xfc, 0xec, 0x00,
|
|
||||||
0x08, 0xcc, 0x00, 0x0e, 0xec, 0xcc, 0xcc, 0xfc, 0xcc, 0xcc, 0xcd, 0x00,
|
|
||||||
0x08, 0xcc, 0x00, 0x10, 0xcf, 0xcc, 0xcd, 0xce, 0xcd, 0xec, 0xcc, 0xfe,
|
|
||||||
0x06, 0xcf, 0x00, 0x1a, 0xcc, 0xcc, 0xfc, 0xcf, 0xce, 0xce, 0xdc, 0xee,
|
|
||||||
0xcf, 0xce, 0xcc, 0xfc, 0xec, 0x00, 0x06, 0xce, 0x0a, 0xcc, 0x00, 0x08,
|
|
||||||
0xce, 0xcc, 0xcc, 0xcd, 0x08, 0xcc, 0x00, 0x0e, 0xce, 0xcc, 0xec, 0xcc,
|
|
||||||
0xce, 0xcc, 0xec, 0x00, 0x22, 0xcc, 0x00, 0x00, 0x02, 0xcc, 0x0a, 0xac,
|
|
||||||
0x02, 0xaa, 0x06, 0xca, 0x00, 0x8c, 0xcc, 0xcc, 0xdc, 0xcc, 0xcc, 0xcd,
|
|
||||||
0xcc, 0xcc, 0xcd, 0xcc, 0xcd, 0xcc, 0xcc, 0xcd, 0xcc, 0xcc, 0xce, 0xcc,
|
|
||||||
0xcc, 0xdc, 0xcc, 0xdc, 0xec, 0xde, 0xcd, 0xcc, 0xde, 0xcf, 0xcc, 0xce,
|
|
||||||
0xcd, 0xec, 0xec, 0xfc, 0xcc, 0xcc, 0xcf, 0xcc, 0xce, 0xce, 0xcc, 0xfc,
|
|
||||||
0xce, 0xcc, 0xfc, 0xcc, 0xed, 0xec, 0xfc, 0xec, 0xde, 0xcc, 0xcf, 0xcc,
|
|
||||||
0xdc, 0xcc, 0xcd, 0xcc, 0xfc, 0xcc, 0xec, 0xde, 0xcd, 0xce, 0xcd, 0xcc,
|
|
||||||
0xcc, 0xec, 0xce, 0xce, 0x10, 0xcc, 0x02, 0xec, 0x08, 0xcc, 0x00, 0x06,
|
|
||||||
0xdc, 0xcc, 0xcf, 0x00, 0x10, 0xcc, 0x00, 0x08, 0xcd, 0xcc, 0xcc, 0xcd,
|
|
||||||
0x18, 0xcc, 0x00, 0x00, 0x00, 0x4e, 0xca, 0xcc, 0x9c, 0xaa, 0xca, 0xac,
|
|
||||||
0xac, 0xaa, 0xcc, 0xad, 0xca, 0xcc, 0xac, 0xca, 0xcd, 0xcc, 0xcc, 0xcd,
|
|
||||||
0xca, 0xca, 0xcc, 0xac, 0xcd, 0xcc, 0xdc, 0xcf, 0xcd, 0xec, 0xfc, 0xec,
|
|
||||||
0xfc, 0xec, 0xcc, 0xcc, 0xce, 0xcc, 0xec, 0xee, 0xcf, 0x00, 0x08, 0xcc,
|
|
||||||
0x00, 0x32, 0xdc, 0xcf, 0xcc, 0xec, 0xce, 0xcc, 0xcc, 0xce, 0xcc, 0xcc,
|
|
||||||
0xec, 0xec, 0xfd, 0xcc, 0xcc, 0xdc, 0xcc, 0xec, 0xcf, 0xcc, 0xce, 0xcc,
|
|
||||||
0xdc, 0xcc, 0xdc, 0x00, 0x0a, 0xcc, 0x00, 0x08, 0xcd, 0xcc, 0xcc, 0xce,
|
|
||||||
0x0c, 0xcc, 0x02, 0xac, 0x0e, 0xcc, 0x00, 0x18, 0xac, 0xda, 0xcc, 0xdc,
|
|
||||||
0xcc, 0xcc, 0xcd, 0xcc, 0xdc, 0xcc, 0xcc, 0xdc, 0x06, 0xcc, 0x00, 0x1c,
|
|
||||||
0xcd, 0xcc, 0xcc, 0xca, 0xcc, 0xac, 0xac, 0xca, 0xcc, 0xcc, 0xca, 0xcc,
|
|
||||||
0xca, 0xcc, 0x00, 0x00, 0x02, 0xca, 0x02, 0xc9, 0x08, 0xca, 0x00, 0x0e,
|
|
||||||
0xac, 0xac, 0xca, 0xcc, 0xac, 0xcd, 0xcd, 0x00, 0x06, 0xcc, 0x00, 0x38,
|
|
||||||
0xdc, 0xcc, 0xac, 0xdc, 0xda, 0xdc, 0xdc, 0xcc, 0xdc, 0xcd, 0xcc, 0xcc,
|
|
||||||
0xdc, 0xec, 0xde, 0xcd, 0xcf, 0xcc, 0xcc, 0xdc, 0xfc, 0xcd, 0xcc, 0xcc,
|
|
||||||
0xfc, 0xcf, 0xcc, 0xec, 0x18, 0xcc, 0x00, 0x08, 0xec, 0xfc, 0xec, 0xfc,
|
|
||||||
0x06, 0xcc, 0x00, 0x08, 0xfc, 0xcd, 0xcc, 0xcc, 0x06, 0xcd, 0x02, 0xfa,
|
|
||||||
0x0c, 0xcc, 0x02, 0xec, 0x0c, 0xcc, 0x00, 0x06, 0xca, 0xcc, 0xac, 0x00,
|
|
||||||
0x06, 0xcc, 0x00, 0x0e, 0xec, 0xcc, 0xcc, 0xcd, 0xcc, 0xcc, 0xdc, 0x00,
|
|
||||||
0x08, 0xcc, 0x00, 0x08, 0xcd, 0xcc, 0xcc, 0xcd, 0x06, 0xcc, 0x00, 0x18,
|
|
||||||
0xdc, 0xca, 0xca, 0xcc, 0xaa, 0xca, 0xcc, 0xca, 0xcc, 0xcc, 0xac, 0xcc,
|
|
||||||
0x00, 0x00, 0x00, 0x08, 0xac, 0xcc, 0xac, 0xaa, 0x08, 0xca, 0x00, 0x28,
|
|
||||||
0xac, 0xac, 0xdc, 0xca, 0xcc, 0xcc, 0xdc, 0xdc, 0xcc, 0xda, 0xdc, 0xac,
|
|
||||||
0xac, 0xcc, 0xad, 0xcd, 0xcd, 0xcc, 0xcc, 0xfc, 0x0c, 0xcc, 0x00, 0x0e,
|
|
||||||
0xfc, 0xec, 0xed, 0xce, 0xcf, 0xce, 0xdc, 0x00, 0x06, 0xcc, 0x00, 0x30,
|
|
||||||
0xcf, 0xcc, 0xcf, 0xcc, 0xcf, 0xcf, 0xdc, 0xcf, 0xcc, 0xfc, 0xcf, 0xce,
|
|
||||||
0xdc, 0xce, 0xdc, 0xed, 0xcf, 0xec, 0xfc, 0xed, 0xcc, 0xcc, 0xfd, 0xce,
|
|
||||||
0x06, 0xcc, 0x00, 0x06, 0xec, 0xce, 0xcc, 0x00, 0x06, 0xec, 0x1e, 0xcc,
|
|
||||||
0x06, 0xec, 0x00, 0x0c, 0xcc, 0xcc, 0xdc, 0xce, 0xdc, 0xcf, 0x06, 0xcc,
|
|
||||||
0x00, 0x06, 0xce, 0xcc, 0xcd, 0x00, 0x0e, 0xcc, 0x02, 0xca, 0x06, 0xcc,
|
|
||||||
0x02, 0xce, 0x02, 0xcc, 0x00, 0x00, 0x00, 0x0a, 0xcc, 0xaa, 0xac, 0xab,
|
|
||||||
0xaa, 0x00, 0x06, 0xac, 0x08, 0xcc, 0x00, 0x34, 0xdc, 0xcd, 0xcc, 0xac,
|
|
||||||
0xcd, 0xca, 0xdc, 0xcd, 0xcd, 0xac, 0xdc, 0xcd, 0xcd, 0xcc, 0xdc, 0xcd,
|
|
||||||
0xcf, 0xcf, 0xce, 0xdc, 0xfc, 0xcc, 0xcd, 0xcc, 0xcc, 0xec, 0x08, 0xcc,
|
|
||||||
0x00, 0x18, 0xcf, 0xcc, 0xcc, 0xce, 0xcc, 0xcc, 0xfc, 0xcc, 0xec, 0xec,
|
|
||||||
0xcc, 0xce, 0x06, 0xcc, 0x00, 0x1a, 0xcd, 0xcc, 0xec, 0xcc, 0xcd, 0xec,
|
|
||||||
0xdc, 0xec, 0xfc, 0xcc, 0xcc, 0xde, 0xce, 0x00, 0x1e, 0xcc, 0x02, 0xac,
|
|
||||||
0x08, 0xcc, 0x00, 0x24, 0xce, 0xce, 0xcc, 0xce, 0xcc, 0xce, 0xfc, 0xce,
|
|
||||||
0xcc, 0xce, 0xcd, 0xce, 0xcf, 0xcc, 0xec, 0xcc, 0xcc, 0xce, 0x18, 0xcc,
|
|
||||||
0x00, 0x00, 0x00, 0x06, 0xca, 0xbc, 0xcc, 0x00, 0x0a, 0xac, 0x00, 0x0a,
|
|
||||||
0xaa, 0xca, 0xcc, 0xdc, 0xcc, 0x00, 0x06, 0xdc, 0x00, 0x12, 0xda, 0xdc,
|
|
||||||
0xca, 0xda, 0xca, 0xda, 0xca, 0xdc, 0xcc, 0x00, 0x06, 0xdc, 0x00, 0x2e,
|
|
||||||
0xcc, 0xcc, 0xdc, 0xcc, 0xec, 0xcf, 0xcc, 0xcc, 0xfc, 0xcc, 0xcf, 0xcc,
|
|
||||||
0xfc, 0xcf, 0xcc, 0xdc, 0xfc, 0xcc, 0xcf, 0xce, 0xcc, 0xce, 0xdc, 0x00,
|
|
||||||
0x08, 0xcc, 0x00, 0x18, 0xfc, 0xcf, 0xce, 0xed, 0xec, 0xcf, 0xcc, 0xcc,
|
|
||||||
0xce, 0xcd, 0xcc, 0xdc, 0x32, 0xcc, 0x00, 0x0e, 0xce, 0xcc, 0xcc, 0xec,
|
|
||||||
0xcc, 0xec, 0xcf, 0x00, 0x08, 0xce, 0x06, 0xcc, 0x02, 0xfc, 0x0a, 0xcc,
|
|
||||||
0x02, 0xca, 0x0e, 0xcc, 0x00, 0x00, 0x00, 0x06, 0xcc, 0xac, 0xaa, 0x00,
|
|
||||||
0x08, 0xca, 0x00, 0x22, 0xcc, 0xcc, 0xcd, 0xcc, 0xdc, 0xcd, 0xcc, 0xdc,
|
|
||||||
0xac, 0xac, 0xca, 0xda, 0xcc, 0xda, 0xcc, 0xdd, 0xcc, 0x00, 0x08, 0xdc,
|
|
||||||
0x00, 0x14, 0xfc, 0xdf, 0xcc, 0xfc, 0xed, 0xec, 0xcc, 0xfc, 0xcd, 0xcf,
|
|
||||||
0x06, 0xcc, 0x00, 0x34, 0xec, 0xec, 0xcc, 0xcc, 0xcf, 0xcc, 0xec, 0xde,
|
|
||||||
0xcc, 0xcc, 0xcf, 0xcc, 0xfc, 0xcd, 0xce, 0xde, 0xcc, 0xdc, 0xcc, 0xfc,
|
|
||||||
0xde, 0xfc, 0xef, 0xcc, 0xcc, 0xec, 0x16, 0xcc, 0x02, 0xac, 0x06, 0xcc,
|
|
||||||
0x00, 0x06, 0xac, 0xcb, 0xac, 0x00, 0x10, 0xcc, 0x00, 0x1a, 0xce, 0xce,
|
|
||||||
0xcc, 0xec, 0xce, 0xcd, 0xec, 0xcd, 0xec, 0xcc, 0xcc, 0xfc, 0xce, 0x00,
|
|
||||||
0x0a, 0xcc, 0x00, 0x08, 0xac, 0xcc, 0xcc, 0xca, 0x0a, 0xcc, 0x00, 0x00,
|
|
||||||
0x00, 0x0c, 0xac, 0xcc, 0xcc, 0xca, 0xca, 0xac, 0x06, 0xca, 0x00, 0x10,
|
|
||||||
0xcc, 0xdc, 0xcd, 0xcd, 0xdc, 0xca, 0xda, 0xda, 0x0a, 0xad, 0x02, 0xac,
|
|
||||||
0x02, 0xad, 0x08, 0xcd, 0x00, 0x06, 0xcc, 0xdc, 0xdc, 0x00, 0x06, 0xcc,
|
|
||||||
0x00, 0x26, 0xce, 0xcc, 0xec, 0xec, 0xdc, 0xcc, 0xec, 0xed, 0xcc, 0xfc,
|
|
||||||
0xcc, 0xfc, 0xcc, 0xce, 0xcc, 0xcf, 0xcc, 0xce, 0xdc, 0x00, 0x06, 0xcc,
|
|
||||||
0x00, 0x18, 0xce, 0xcf, 0xec, 0xfe, 0xdc, 0xce, 0xed, 0xcc, 0xcf, 0xcd,
|
|
||||||
0xcc, 0xdc, 0x10, 0xcc, 0x00, 0x1a, 0xbc, 0xcc, 0xbc, 0xca, 0xca, 0xcb,
|
|
||||||
0xcc, 0xac, 0xcb, 0xac, 0xab, 0xcc, 0xc9, 0x00, 0x06, 0xcc, 0x00, 0x06,
|
|
||||||
0xce, 0xcc, 0xcc, 0x00, 0x0a, 0xec, 0x00, 0x12, 0xee, 0xcc, 0xcf, 0xce,
|
|
||||||
0xcc, 0xcc, 0xce, 0xcc, 0xfc, 0x00, 0x06, 0xcc, 0x00, 0x08, 0xac, 0xcc,
|
|
||||||
0xcc, 0xca, 0x08, 0xcc, 0x00, 0x00, 0x00, 0x06, 0xcc, 0xca, 0xcc, 0x00,
|
|
||||||
0x0a, 0xac, 0x00, 0x10, 0xcc, 0xcd, 0xca, 0xdc, 0xcd, 0xca, 0xda, 0xdc,
|
|
||||||
0x06, 0xad, 0x00, 0x08, 0xaa, 0xda, 0xad, 0xad, 0x0c, 0xcd, 0x00, 0x10,
|
|
||||||
0xcc, 0xcc, 0xfc, 0xcf, 0xcc, 0xfc, 0xdc, 0xdc, 0x06, 0xcc, 0x02, 0xdc,
|
|
||||||
0x06, 0xcc, 0x00, 0x28, 0xef, 0xcc, 0xee, 0xfc, 0xcc, 0xfc, 0xec, 0xfc,
|
|
||||||
0xcc, 0xcd, 0xcf, 0xce, 0xfc, 0xcc, 0xde, 0xcc, 0xde, 0xfc, 0xcd, 0xef,
|
|
||||||
0x0a, 0xcc, 0x02, 0xdc, 0x0e, 0xcc, 0x06, 0xac, 0x00, 0x10, 0xcc, 0xca,
|
|
||||||
0xca, 0xcc, 0xac, 0xcc, 0xcc, 0xca, 0x0c, 0xcc, 0x00, 0x14, 0xec, 0xcc,
|
|
||||||
0xec, 0xce, 0xcc, 0xec, 0xcc, 0xde, 0xfc, 0xcc, 0x06, 0xec, 0x0e, 0xcc,
|
|
||||||
0x02, 0xac, 0x0a, 0xcc, 0x00, 0x00, 0x00, 0x2e, 0xcc, 0xcc, 0xca, 0xcc,
|
|
||||||
0xba, 0xca, 0xca, 0xcc, 0xaa, 0xca, 0xdc, 0xdc, 0xda, 0xcd, 0xcd, 0xaa,
|
|
||||||
0xda, 0xda, 0xaa, 0xda, 0xaa, 0xda, 0xaa, 0x00, 0x06, 0xda, 0x08, 0xdc,
|
|
||||||
0x00, 0x06, 0xfc, 0xdc, 0xce, 0x00, 0x06, 0xcc, 0x00, 0x1a, 0xec, 0xcd,
|
|
||||||
0xed, 0xcd, 0xcc, 0xdc, 0xcc, 0xce, 0xdc, 0xcc, 0xcc, 0xdc, 0xfc, 0x00,
|
|
||||||
0x06, 0xcc, 0x00, 0x24, 0xdc, 0xfc, 0xec, 0xcc, 0xcc, 0xcf, 0xcc, 0xcf,
|
|
||||||
0xec, 0xec, 0xfc, 0xed, 0xcc, 0xdc, 0xcd, 0xcc, 0xdc, 0xec, 0x08, 0xcc,
|
|
||||||
0x00, 0x18, 0xac, 0xcc, 0xac, 0xcc, 0xcc, 0xcb, 0xab, 0xaa, 0xca, 0xba,
|
|
||||||
0xc9, 0xca, 0x08, 0xac, 0x00, 0x24, 0xcc, 0xbc, 0xcc, 0xce, 0xcc, 0xec,
|
|
||||||
0xec, 0xce, 0xce, 0xcc, 0xfe, 0xce, 0xcc, 0xec, 0xec, 0xcc, 0xcc, 0xce,
|
|
||||||
0x0a, 0xcc, 0x02, 0xac, 0x0c, 0xcc, 0x00, 0x00, 0x00, 0x08, 0xcc, 0xca,
|
|
||||||
0xcc, 0xca, 0x06, 0xac, 0x00, 0x0c, 0xaa, 0xcc, 0xdc, 0xdc, 0xca, 0xcd,
|
|
||||||
0x06, 0xad, 0x08, 0xda, 0x02, 0xad, 0x02, 0xaa, 0x06, 0xda, 0x0a, 0xdc,
|
|
||||||
0x02, 0xcd, 0x0c, 0xcc, 0x00, 0x36, 0xce, 0xcc, 0xcc, 0xce, 0xcc, 0xcc,
|
|
||||||
0xdc, 0xce, 0xcf, 0xcf, 0xcc, 0xec, 0xef, 0xcf, 0xcf, 0xcc, 0xcc, 0xcd,
|
|
||||||
0xef, 0xcc, 0xfc, 0xec, 0xfc, 0xcc, 0xfc, 0xcc, 0xfc, 0x00, 0x08, 0xcc,
|
|
||||||
0x00, 0x0c, 0xce, 0xcc, 0xdc, 0xcc, 0xcc, 0xca, 0x06, 0xcc, 0x02, 0xca,
|
|
||||||
0x02, 0xba, 0x06, 0xca, 0x00, 0x12, 0xba, 0xaa, 0xaa, 0xca, 0xbc, 0xba,
|
|
||||||
0xbc, 0xbc, 0xac, 0x00, 0x0c, 0xcc, 0x00, 0x08, 0xec, 0xce, 0xce, 0xcc,
|
|
||||||
0x06, 0xec, 0x02, 0xcc, 0x06, 0xec, 0x00, 0x18, 0xcc, 0xec, 0xcc, 0xcc,
|
|
||||||
0xac, 0xcc, 0xcd, 0xcc, 0xcc, 0xca, 0xcc, 0xcc, 0x00, 0x00, 0x00, 0x0a,
|
|
||||||
0xcc, 0xcb, 0xcc, 0xac, 0xcc, 0x00, 0x06, 0xac, 0x00, 0x0e, 0xca, 0xcd,
|
|
||||||
0xcc, 0xda, 0xda, 0xaa, 0xda, 0x00, 0x12, 0xaa, 0x08, 0xad, 0x02, 0xcc,
|
|
||||||
0x02, 0xdc, 0x0c, 0xcc, 0x02, 0xcd, 0x06, 0xcc, 0x02, 0xec, 0x06, 0xcc,
|
|
||||||
0x06, 0xce, 0x00, 0x5e, 0xde, 0xcf, 0xdc, 0xce, 0xcc, 0xcf, 0xcf, 0xcc,
|
|
||||||
0xed, 0xce, 0xdc, 0xde, 0xce, 0xcf, 0xcc, 0xfc, 0xed, 0xcc, 0xfc, 0xdc,
|
|
||||||
0xcc, 0xcc, 0xdc, 0xec, 0xcc, 0xcc, 0xac, 0xcc, 0xac, 0xab, 0xcc, 0xcc,
|
|
||||||
0xab, 0xca, 0xba, 0xca, 0xba, 0xba, 0xab, 0xaa, 0xaa, 0xca, 0xca, 0xbc,
|
|
||||||
0xca, 0xcc, 0xbc, 0x00, 0x08, 0xcc, 0x02, 0xce, 0x02, 0xcc, 0x0c, 0xec,
|
|
||||||
0x00, 0x06, 0xcc, 0xcc, 0xec, 0x00, 0x0e, 0xcc, 0x02, 0xac, 0x06, 0xcc,
|
|
||||||
0x00, 0x00, 0x02, 0xac, 0x02, 0xaa, 0x06, 0xca, 0x08, 0xac, 0x00, 0x1a,
|
|
||||||
0xca, 0xca, 0xda, 0xaa, 0xda, 0xaa, 0xaa, 0xad, 0xaa, 0xad, 0xaa, 0xaa,
|
|
||||||
0x8d, 0x00, 0x08, 0xaa, 0x00, 0x10, 0xad, 0xac, 0xca, 0xcc, 0xca, 0xcc,
|
|
||||||
0xcc, 0xca, 0x06, 0xcc, 0x00, 0x06, 0xcb, 0xcc, 0xbc, 0x00, 0x08, 0xcc,
|
|
||||||
0x00, 0x18, 0xcd, 0xcd, 0xec, 0xec, 0xed, 0xec, 0xfc, 0xcf, 0xcc, 0xcc,
|
|
||||||
0xcf, 0xcd, 0x06, 0xec, 0x00, 0x16, 0xed, 0xce, 0xce, 0xdc, 0xec, 0xcc,
|
|
||||||
0xdc, 0xcc, 0xcd, 0xfc, 0xce, 0x00, 0x08, 0xcc, 0x00, 0x0a, 0xca, 0xcc,
|
|
||||||
0xac, 0xca, 0xcc, 0x00, 0x06, 0xac, 0x00, 0x1a, 0xab, 0xaa, 0xac, 0xab,
|
|
||||||
0xaa, 0xba, 0xba, 0xab, 0xac, 0xab, 0xcc, 0xcc, 0xca, 0x00, 0x08, 0xcc,
|
|
||||||
0x00, 0x12, 0xce, 0xce, 0xcc, 0xee, 0xcc, 0xec, 0xcc, 0xec, 0xec, 0x00,
|
|
||||||
0x0c, 0xcc, 0x02, 0xca, 0x0a, 0xcc, 0x00, 0x00, 0x00, 0x2e, 0xaa, 0xba,
|
|
||||||
0xca, 0xa9, 0xaa, 0xaa, 0x9a, 0xca, 0xac, 0xac, 0xad, 0xaa, 0xda, 0xaa,
|
|
||||||
0xa8, 0xaa, 0xa8, 0xaa, 0xa8, 0xaa, 0x8a, 0xa8, 0xa8, 0x00, 0x0c, 0xaa,
|
|
||||||
0x00, 0x52, 0xac, 0xac, 0xcc, 0xca, 0xcc, 0xcc, 0xcb, 0xcc, 0xcc, 0xca,
|
|
||||||
0xdd, 0xbc, 0xca, 0xba, 0xca, 0xce, 0xce, 0xcc, 0xed, 0xec, 0xee, 0xce,
|
|
||||||
0xde, 0xcc, 0xcf, 0xce, 0xce, 0xcd, 0xec, 0xec, 0xde, 0xec, 0xcc, 0xec,
|
|
||||||
0xcc, 0xce, 0xcc, 0xcd, 0xce, 0xcc, 0xec, 0x00, 0x08, 0xcc, 0x00, 0x2c,
|
|
||||||
0xac, 0xca, 0xbc, 0xac, 0xca, 0xc9, 0xca, 0xc9, 0xca, 0xc9, 0xca, 0x9a,
|
|
||||||
0xaa, 0x9a, 0xaa, 0x9c, 0xa9, 0xca, 0xbc, 0xac, 0xcc, 0xcb, 0x08, 0xcc,
|
|
||||||
0x00, 0x0c, 0xce, 0xce, 0xcc, 0xce, 0xcc, 0xce, 0x06, 0xcc, 0x02, 0xec,
|
|
||||||
0x06, 0xcc, 0x00, 0x0e, 0xac, 0xcc, 0xcc, 0xcd, 0xca, 0xcc, 0xcc, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x0c, 0xa9, 0x8a, 0xa9, 0xa8, 0xaa, 0x9a, 0x0e, 0xaa,
|
|
||||||
0x02, 0x88, 0x02, 0x8a, 0x08, 0x88, 0x02, 0xa8, 0x0a, 0x88, 0x02, 0x8a,
|
|
||||||
0x02, 0x8a, 0x0a, 0xaa, 0x00, 0x3c, 0xca, 0xaa, 0xba, 0xbc, 0xcb, 0x9b,
|
|
||||||
0x9b, 0xbb, 0xba, 0xb9, 0xab, 0xac, 0xcb, 0xcc, 0xeb, 0xce, 0xce, 0xcc,
|
|
||||||
0xde, 0xce, 0xde, 0xde, 0xed, 0xed, 0xec, 0xec, 0xdc, 0xec, 0xcc, 0xec,
|
|
||||||
0x08, 0xcc, 0x0a, 0xec, 0x08, 0xcc, 0x00, 0x2c, 0xac, 0xac, 0xcc, 0xbc,
|
|
||||||
0xbc, 0xca, 0xbc, 0xcc, 0xbc, 0xaa, 0xab, 0xab, 0xa9, 0xa9, 0xaa, 0x9a,
|
|
||||||
0xc9, 0xca, 0xbc, 0xab, 0xca, 0xca, 0x0a, 0xcc, 0x0e, 0xec, 0x0c, 0xcc,
|
|
||||||
0x02, 0xcd, 0x02, 0xca, 0x06, 0xcc, 0x00, 0x00, 0x00, 0x10, 0x88, 0xa8,
|
|
||||||
0x98, 0xa9, 0x87, 0xa8, 0x98, 0x88, 0x08, 0xaa, 0x00, 0x06, 0x8a, 0x8a,
|
|
||||||
0x88, 0x00, 0x06, 0x55, 0x02, 0x58, 0x06, 0x55, 0x06, 0x85, 0x02, 0x58,
|
|
||||||
0x02, 0x58, 0x06, 0x88, 0x00, 0x12, 0xa8, 0xaa, 0xaa, 0x9a, 0x9c, 0xab,
|
|
||||||
0x9b, 0xbb, 0xbb, 0x00, 0x06, 0xb9, 0x00, 0x12, 0x99, 0x9b, 0xab, 0xdb,
|
|
||||||
0xad, 0xcd, 0xcc, 0xde, 0xcb, 0x00, 0x06, 0xce, 0x00, 0x0a, 0xdc, 0xec,
|
|
||||||
0xec, 0xcc, 0xce, 0x00, 0x10, 0xcc, 0x00, 0x0a, 0xec, 0xce, 0xcc, 0xcc,
|
|
||||||
0xce, 0x00, 0x0a, 0xcc, 0x00, 0x18, 0xac, 0xca, 0xca, 0xba, 0xcc, 0xcc,
|
|
||||||
0xac, 0xac, 0xba, 0xaa, 0x9a, 0xaa, 0x06, 0x9a, 0x00, 0x10, 0xab, 0xab,
|
|
||||||
0xac, 0xab, 0xca, 0xcc, 0xac, 0xac, 0x1a, 0xcc, 0x00, 0x08, 0xcd, 0xca,
|
|
||||||
0xcc, 0xcd, 0x06, 0xcc, 0x00, 0x00, 0x00, 0x10, 0x87, 0x87, 0xa7, 0xa7,
|
|
||||||
0x89, 0x87, 0x88, 0x87, 0x0c, 0x88, 0x02, 0x85, 0x08, 0x55, 0x00, 0x26,
|
|
||||||
0x35, 0x53, 0x55, 0x55, 0x54, 0x34, 0x34, 0x43, 0x54, 0x55, 0x58, 0x86,
|
|
||||||
0x88, 0x87, 0xa9, 0xa9, 0xb9, 0xbb, 0x9b, 0x00, 0x0c, 0x99, 0x00, 0x16,
|
|
||||||
0x9b, 0xb9, 0xb9, 0xbb, 0x9b, 0xab, 0xae, 0xde, 0xec, 0xde, 0xce, 0x00,
|
|
||||||
0x06, 0xcc, 0x00, 0x0e, 0xbc, 0xcc, 0xcc, 0xca, 0xbc, 0xab, 0xcb, 0x00,
|
|
||||||
0x1a, 0xcc, 0x02, 0xca, 0x0a, 0xcc, 0x00, 0x24, 0xca, 0xac, 0x9c, 0xaa,
|
|
||||||
0xb9, 0xa9, 0xa9, 0xab, 0xa9, 0xaa, 0xab, 0xaa, 0xca, 0xba, 0xbc, 0xcc,
|
|
||||||
0xcc, 0xac, 0x1a, 0xcc, 0x00, 0x0a, 0xcd, 0xac, 0xcc, 0xac, 0xac, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x0a, 0x88, 0x88, 0x78, 0x98, 0x98, 0x00, 0x06, 0x78,
|
|
||||||
0x06, 0x88, 0x00, 0x06, 0x58, 0x88, 0x85, 0x00, 0x06, 0x55, 0x02, 0x45,
|
|
||||||
0x06, 0x33, 0x00, 0x0a, 0x43, 0x34, 0x34, 0x14, 0x14, 0x00, 0x08, 0x44,
|
|
||||||
0x00, 0x14, 0x45, 0x65, 0x79, 0x89, 0x99, 0xba, 0xbb, 0x9b, 0x99, 0xb9,
|
|
||||||
0x10, 0x99, 0x00, 0x18, 0xb9, 0xdb, 0xae, 0xbc, 0xcc, 0xee, 0xce, 0xcc,
|
|
||||||
0xdc, 0xdd, 0xdc, 0xca, 0x06, 0xcc, 0x00, 0x0e, 0xca, 0xaa, 0xab, 0xab,
|
|
||||||
0xac, 0xcb, 0xac, 0x00, 0x08, 0xcc, 0x02, 0xdc, 0x08, 0xcc, 0x00, 0x06,
|
|
||||||
0xbc, 0xcc, 0xec, 0x00, 0x06, 0xcc, 0x00, 0x08, 0xbc, 0xac, 0xab, 0xaa,
|
|
||||||
0x08, 0xa9, 0x00, 0x10, 0xab, 0xa9, 0xaa, 0xba, 0xac, 0xaa, 0xac, 0xac,
|
|
||||||
0x08, 0xcc, 0x02, 0xbc, 0x0e, 0xcc, 0x00, 0x0e, 0xca, 0xcd, 0xcc, 0xcc,
|
|
||||||
0xac, 0xcc, 0xcc, 0x00, 0x00, 0x00, 0x02, 0x55, 0x02, 0x65, 0x06, 0x88,
|
|
||||||
0x00, 0x0a, 0x78, 0x78, 0x68, 0x68, 0x85, 0x00, 0x08, 0x55, 0x02, 0x35,
|
|
||||||
0x02, 0x34, 0x0c, 0x33, 0x02, 0x31, 0x08, 0x41, 0x06, 0x44, 0x00, 0x0a,
|
|
||||||
0x43, 0x45, 0x77, 0xa9, 0x9b, 0x00, 0x06, 0xbb, 0x02, 0x9b, 0x08, 0x99,
|
|
||||||
0x02, 0x97, 0x08, 0x99, 0x00, 0x24, 0x9b, 0xbb, 0xbb, 0xde, 0xbd, 0xed,
|
|
||||||
0xec, 0xcd, 0xca, 0x99, 0x99, 0x77, 0x77, 0x79, 0x99, 0x77, 0x78, 0x9a,
|
|
||||||
0x06, 0xaa, 0x00, 0x08, 0xcc, 0xcb, 0xcc, 0xcc, 0x06, 0xce, 0x02, 0xcc,
|
|
||||||
0x02, 0xcb, 0x10, 0xcc, 0x02, 0xcb, 0x02, 0xac, 0x0c, 0xa9, 0x00, 0x10,
|
|
||||||
0xaa, 0x9a, 0xaa, 0xa9, 0xc9, 0xcc, 0xbc, 0xac, 0x1a, 0xcc, 0x00, 0x0a,
|
|
||||||
0xac, 0xac, 0xdc, 0xac, 0xac, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x34, 0x55,
|
|
||||||
0x65, 0x86, 0x66, 0x68, 0x68, 0x00, 0x08, 0x88, 0x02, 0x85, 0x02, 0x55,
|
|
||||||
0x0a, 0x33, 0x00, 0x0e, 0x31, 0x33, 0x33, 0x31, 0x41, 0x11, 0x11, 0x00,
|
|
||||||
0x0a, 0x14, 0x00, 0x44, 0x44, 0x46, 0x88, 0x99, 0x9b, 0xab, 0xbb, 0x9b,
|
|
||||||
0x9b, 0xbb, 0xb9, 0x9b, 0x99, 0x97, 0x77, 0x99, 0x99, 0x9b, 0x99, 0xbb,
|
|
||||||
0x9b, 0xeb, 0xec, 0xee, 0xee, 0xbd, 0xba, 0x99, 0x77, 0x77, 0x66, 0x64,
|
|
||||||
0x64, 0x44, 0x06, 0x66, 0x00, 0x12, 0x77, 0x77, 0xa9, 0xaa, 0xac, 0xcc,
|
|
||||||
0xce, 0xcc, 0xec, 0x00, 0x08, 0xcc, 0x00, 0x14, 0xec, 0xec, 0xce, 0xce,
|
|
||||||
0xcc, 0xcc, 0xca, 0xca, 0xab, 0xaa, 0x06, 0x9a, 0x00, 0x08, 0xba, 0xab,
|
|
||||||
0xa9, 0xab, 0x08, 0xaa, 0x00, 0x06, 0xbc, 0xca, 0xcb, 0x00, 0x08, 0xcc,
|
|
||||||
0x02, 0xac, 0x0a, 0xcc, 0x00, 0x0c, 0xdc, 0xac, 0xdc, 0xca, 0xda, 0xcc,
|
|
||||||
0x00, 0x00, 0x00, 0x08, 0x34, 0x43, 0x56, 0x86, 0x08, 0x55, 0x06, 0x85,
|
|
||||||
0x00, 0x12, 0x55, 0x33, 0x33, 0x31, 0x33, 0x33, 0x31, 0x13, 0x13, 0x00,
|
|
||||||
0x0e, 0x11, 0x00, 0x1a, 0x14, 0x14, 0x41, 0x43, 0x44, 0x77, 0x99, 0x99,
|
|
||||||
0x9b, 0x9b, 0xbb, 0xb9, 0xb9, 0x00, 0x08, 0x99, 0x00, 0x22, 0x97, 0x77,
|
|
||||||
0x99, 0xbb, 0x9b, 0xbb, 0xee, 0xee, 0xeb, 0xde, 0xee, 0xeb, 0xa9, 0x77,
|
|
||||||
0x77, 0x26, 0x22, 0x00, 0x06, 0x42, 0x00, 0x1a, 0x44, 0x46, 0x66, 0x67,
|
|
||||||
0x67, 0x77, 0x78, 0x9a, 0xca, 0xce, 0xee, 0xec, 0xec, 0x00, 0x0a, 0xcc,
|
|
||||||
0x00, 0x0e, 0xec, 0xcc, 0xce, 0xcc, 0xcb, 0xcb, 0xac, 0x00, 0x06, 0xa9,
|
|
||||||
0x00, 0x26, 0xab, 0xa9, 0xa9, 0xaa, 0xaa, 0xa9, 0xaa, 0xab, 0xaa, 0xca,
|
|
||||||
0xcb, 0xcc, 0xca, 0xca, 0xcc, 0xcc, 0xcb, 0xcc, 0xcc, 0x00, 0x08, 0xac,
|
|
||||||
0x00, 0x0a, 0xcd, 0xac, 0xad, 0xac, 0xaa, 0x00, 0x00, 0x00, 0x00, 0x10,
|
|
||||||
0x14, 0x34, 0x58, 0x55, 0x54, 0x43, 0x33, 0x53, 0x06, 0x55, 0x00, 0x06,
|
|
||||||
0x33, 0x33, 0x31, 0x00, 0x0a, 0x11, 0x08, 0x01, 0x0c, 0x11, 0x00, 0x1a,
|
|
||||||
0x14, 0x14, 0x45, 0x68, 0x7a, 0x99, 0xbb, 0xbb, 0xb9, 0xbb, 0x9b, 0xb9,
|
|
||||||
0xb9, 0x00, 0x0a, 0x99, 0x00, 0x38, 0x9b, 0xbb, 0xbb, 0xbe, 0xeb, 0xee,
|
|
||||||
0xef, 0xee, 0xea, 0xb9, 0x77, 0x77, 0x62, 0x22, 0x14, 0x24, 0x44, 0x42,
|
|
||||||
0x42, 0x66, 0x67, 0x77, 0x67, 0x77, 0x78, 0x9b, 0xcc, 0xcc, 0x06, 0xec,
|
|
||||||
0x00, 0x0e, 0xcc, 0xbc, 0xec, 0xce, 0xcc, 0xec, 0xee, 0x00, 0x06, 0xcc,
|
|
||||||
0x06, 0xab, 0x00, 0x28, 0xa9, 0xa9, 0xab, 0xab, 0xaa, 0xc9, 0xca, 0xa9,
|
|
||||||
0xaa, 0xab, 0xaa, 0xca, 0xcb, 0xac, 0xcb, 0xca, 0xba, 0xcc, 0xac, 0xac,
|
|
||||||
0x08, 0xcc, 0x00, 0x0a, 0xac, 0xad, 0xaa, 0xca, 0xca, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x0a, 0x34, 0x14, 0x45, 0x65, 0x44, 0x00, 0x0a, 0x33, 0x00, 0x08,
|
|
||||||
0x31, 0x31, 0x11, 0x10, 0x08, 0x11, 0x02, 0x01, 0x08, 0x11, 0x02, 0x01,
|
|
||||||
0x06, 0x10, 0x06, 0x11, 0x00, 0x5e, 0x14, 0x34, 0x57, 0x99, 0x99, 0xab,
|
|
||||||
0x9b, 0x9b, 0xbb, 0x9b, 0x99, 0x99, 0x9b, 0x9b, 0x99, 0x99, 0x77, 0x9e,
|
|
||||||
0xb9, 0xbe, 0xee, 0xee, 0xce, 0xee, 0xed, 0xea, 0xb9, 0x97, 0x72, 0x62,
|
|
||||||
0x22, 0x42, 0x24, 0x21, 0x44, 0x44, 0x62, 0x67, 0x66, 0x67, 0x77, 0x77,
|
|
||||||
0x7a, 0xac, 0xcc, 0xce, 0xce, 0x00, 0x0a, 0xcc, 0x00, 0x2a, 0xce, 0xce,
|
|
||||||
0xcc, 0xce, 0xcc, 0xcc, 0xab, 0xac, 0xaa, 0xab, 0xaa, 0xba, 0xaa, 0xca,
|
|
||||||
0xba, 0xaa, 0x9a, 0xaa, 0x9a, 0xac, 0xbc, 0x00, 0x08, 0xac, 0x00, 0x0a,
|
|
||||||
0xcc, 0xca, 0xcc, 0xbc, 0xca, 0x00, 0x06, 0xac, 0x00, 0x0a, 0xca, 0xca,
|
|
||||||
0xcd, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00, 0x08, 0x41, 0x34, 0x55, 0x64,
|
|
||||||
0x0e, 0x33, 0x00, 0x06, 0x30, 0x10, 0x10, 0x00, 0x06, 0x00, 0x00, 0x06,
|
|
||||||
0x10, 0x11, 0x00, 0x00, 0x06, 0x10, 0x00, 0x08, 0x11, 0x00, 0x10, 0x11,
|
|
||||||
0x06, 0x01, 0x00, 0x0a, 0x41, 0x44, 0x66, 0x79, 0x99, 0x00, 0x0a, 0xbb,
|
|
||||||
0x02, 0x9b, 0x02, 0x9b, 0x08, 0x99, 0x00, 0x0a, 0x97, 0x9b, 0xbb, 0xbb,
|
|
||||||
0xbe, 0x00, 0x06, 0xee, 0x00, 0x2a, 0xfe, 0xee, 0xb9, 0x77, 0x72, 0x22,
|
|
||||||
0x22, 0x12, 0x24, 0x41, 0x44, 0x44, 0x46, 0x66, 0x66, 0x67, 0x67, 0x77,
|
|
||||||
0x69, 0xaa, 0xbc, 0x00, 0x12, 0xcc, 0x00, 0x10, 0xec, 0xec, 0xcc, 0xcb,
|
|
||||||
0xcc, 0xca, 0xba, 0xba, 0x08, 0xab, 0x00, 0x0a, 0xca, 0xba, 0xaa, 0x9a,
|
|
||||||
0xaa, 0x00, 0x08, 0xac, 0x00, 0x08, 0xab, 0xac, 0xaa, 0xab, 0x06, 0xac,
|
|
||||||
0x06, 0xca, 0x02, 0xac, 0x02, 0xac, 0x06, 0xaa, 0x00, 0x00, 0x00, 0x10,
|
|
||||||
0x11, 0x44, 0x44, 0x43, 0x33, 0x31, 0x31, 0x33, 0x06, 0x31, 0x00, 0x08,
|
|
||||||
0x10, 0x10, 0x00, 0x00, 0x06, 0x10, 0x02, 0x00, 0x08, 0x01, 0x00, 0x2a,
|
|
||||||
0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x11, 0x11, 0x44, 0x47, 0x99, 0x9b,
|
|
||||||
0x9b, 0xbb, 0xbb, 0xb9, 0xbb, 0x9b, 0x99, 0x99, 0x9b, 0x00, 0x08, 0xbb,
|
|
||||||
0x00, 0x38, 0xeb, 0xeb, 0xbe, 0xee, 0xee, 0xef, 0xee, 0xee, 0xea, 0x97,
|
|
||||||
0x62, 0x22, 0x21, 0x22, 0x41, 0x41, 0x44, 0x44, 0x46, 0x66, 0x77, 0x76,
|
|
||||||
0x77, 0x76, 0x79, 0x99, 0xaa, 0xcb, 0x18, 0xcc, 0x00, 0x28, 0xab, 0xab,
|
|
||||||
0xaa, 0xba, 0xba, 0xca, 0xcc, 0xcc, 0xac, 0xac, 0xab, 0xaa, 0xaa, 0xab,
|
|
||||||
0xac, 0xab, 0xca, 0xba, 0xca, 0x9a, 0x0a, 0xaa, 0x00, 0x06, 0xac, 0xaa,
|
|
||||||
0xca, 0x00, 0x06, 0xaa, 0x02, 0xa8, 0x00, 0x00, 0x00, 0x18, 0x14, 0x14,
|
|
||||||
0x44, 0x33, 0x11, 0x13, 0x13, 0x11, 0x33, 0x33, 0x11, 0x01, 0x18, 0x00,
|
|
||||||
0x02, 0x10, 0x08, 0x00, 0x00, 0x0c, 0x01, 0x11, 0x14, 0x47, 0x77, 0x99,
|
|
||||||
0x08, 0xbb, 0x00, 0x08, 0xb9, 0xbb, 0x9b, 0x9b, 0x08, 0xbb, 0x00, 0x08,
|
|
||||||
0xeb, 0xeb, 0xee, 0xef, 0x06, 0xee, 0x00, 0x62, 0xef, 0xee, 0xec, 0x97,
|
|
||||||
0x76, 0x22, 0x22, 0x21, 0x44, 0x41, 0x44, 0x44, 0x46, 0x66, 0x66, 0x67,
|
|
||||||
0x77, 0x67, 0x77, 0x77, 0x79, 0x9a, 0xc9, 0xcb, 0xca, 0xbc, 0x9c, 0xaa,
|
|
||||||
0x9a, 0xba, 0xcc, 0xcb, 0xcc, 0xca, 0xbc, 0xaa, 0x9a, 0xc9, 0xca, 0xbc,
|
|
||||||
0xbc, 0xab, 0xcc, 0xbc, 0xac, 0xaa, 0xba, 0xbc, 0xab, 0x00, 0x06, 0xca,
|
|
||||||
0x00, 0x0c, 0x9a, 0xaa, 0x89, 0xaa, 0x9a, 0x9a, 0x0c, 0xaa, 0x02, 0xa8,
|
|
||||||
0x02, 0xaa, 0x00, 0x00, 0x00, 0x16, 0x14, 0x14, 0x41, 0x11, 0x11, 0x31,
|
|
||||||
0x13, 0x03, 0x11, 0x11, 0x01, 0x00, 0x20, 0x00, 0x00, 0x10, 0x10, 0x00,
|
|
||||||
0x10, 0x11, 0x11, 0x46, 0x79, 0x99, 0x06, 0xbb, 0x00, 0x14, 0xb9, 0xbb,
|
|
||||||
0xbb, 0x99, 0xb9, 0xb9, 0xbb, 0xbb, 0xbe, 0xbe, 0x08, 0xee, 0x00, 0x28,
|
|
||||||
0xde, 0xdd, 0xee, 0xed, 0xee, 0xa7, 0x72, 0x62, 0x22, 0x42, 0x44, 0x14,
|
|
||||||
0x14, 0x44, 0x46, 0x46, 0x66, 0x77, 0x77, 0x67, 0x06, 0x77, 0x02, 0x67,
|
|
||||||
0x0a, 0xaa, 0x00, 0x10, 0x8a, 0xaa, 0xaa, 0xab, 0xac, 0xac, 0xba, 0xca,
|
|
||||||
0x06, 0x9a, 0x02, 0xab, 0x06, 0xcc, 0x00, 0x08, 0xca, 0xca, 0xba, 0xac,
|
|
||||||
0x08, 0xaa, 0x00, 0x10, 0x9a, 0x9a, 0xa8, 0x87, 0x88, 0x88, 0x8a, 0xa8,
|
|
||||||
0x0c, 0xaa, 0x02, 0x8a, 0x02, 0xa8, 0x00, 0x00, 0x02, 0x11, 0x02, 0x14,
|
|
||||||
0x06, 0x11, 0x00, 0x0c, 0x03, 0x01, 0x11, 0x11, 0x01, 0x01, 0x1c, 0x00,
|
|
||||||
0x02, 0x01, 0x06, 0x00, 0x00, 0x0c, 0x10, 0x01, 0x11, 0x46, 0x77, 0x99,
|
|
||||||
0x0e, 0xbb, 0x02, 0xb9, 0x02, 0x9b, 0x06, 0xbb, 0x0a, 0xee, 0x00, 0x10,
|
|
||||||
0xd8, 0x87, 0x59, 0xae, 0xea, 0xa7, 0x67, 0x66, 0x06, 0x44, 0x02, 0x41,
|
|
||||||
0x06, 0x44, 0x00, 0x4c, 0x26, 0x26, 0x66, 0x76, 0x76, 0x77, 0x77, 0x67,
|
|
||||||
0x77, 0x67, 0x77, 0x89, 0x78, 0x77, 0x76, 0x77, 0x8a, 0x9a, 0xaa, 0xba,
|
|
||||||
0xca, 0xa9, 0xa7, 0x7a, 0x99, 0xab, 0xac, 0xca, 0xcb, 0xcc, 0xca, 0xaa,
|
|
||||||
0xa9, 0xaa, 0x98, 0x9a, 0x89, 0x8a, 0x08, 0x88, 0x00, 0x16, 0x87, 0x88,
|
|
||||||
0x78, 0xa7, 0xaa, 0xa8, 0xaa, 0x8a, 0xa8, 0xaa, 0x88, 0x00, 0x00, 0x00,
|
|
||||||
0x06, 0x11, 0x08, 0x01, 0x00, 0x06, 0x00, 0x10, 0x01, 0x00, 0x28, 0x00,
|
|
||||||
0x00, 0x0c, 0x11, 0x11, 0x44, 0x67, 0x99, 0x9b, 0x16, 0xbb, 0x08, 0xee,
|
|
||||||
0x00, 0x12, 0xd9, 0x29, 0x82, 0x22, 0x58, 0xda, 0x97, 0x76, 0x66, 0x00,
|
|
||||||
0x06, 0x44, 0x00, 0x0c, 0x41, 0x44, 0x44, 0x42, 0x62, 0x67, 0x08, 0x66,
|
|
||||||
0x00, 0x06, 0x76, 0x77, 0x66, 0x00, 0x06, 0x77, 0x02, 0x67, 0x06, 0x66,
|
|
||||||
0x00, 0x22, 0x67, 0x88, 0xa9, 0xaa, 0x9a, 0xa9, 0x87, 0x89, 0x8a, 0xaa,
|
|
||||||
0xab, 0xab, 0xcc, 0xac, 0x9a, 0xaa, 0x9a, 0x00, 0x08, 0x88, 0x00, 0x0c,
|
|
||||||
0x86, 0x88, 0x88, 0x68, 0x65, 0x85, 0x06, 0x88, 0x00, 0x0e, 0xaa, 0x7a,
|
|
||||||
0xaa, 0x8a, 0x8a, 0x88, 0x88, 0x00, 0x00, 0x00, 0x02, 0x11, 0x06, 0x01,
|
|
||||||
0x02, 0x10, 0x06, 0x01, 0x02, 0x00, 0x02, 0x10, 0x26, 0x00, 0x00, 0x0c,
|
|
||||||
0x01, 0x00, 0x11, 0x14, 0x77, 0x99, 0x18, 0xbb, 0x00, 0x1e, 0xbe, 0xee,
|
|
||||||
0xee, 0xed, 0x78, 0xad, 0xda, 0xd8, 0x22, 0x89, 0x86, 0x78, 0x66, 0x56,
|
|
||||||
0x64, 0x00, 0x0a, 0x44, 0x00, 0x1c, 0x46, 0x66, 0x66, 0x77, 0x66, 0x66,
|
|
||||||
0x67, 0x76, 0x67, 0x76, 0x67, 0x66, 0x66, 0x26, 0x06, 0x44, 0x00, 0x48,
|
|
||||||
0x66, 0x87, 0x89, 0xaa, 0x98, 0x77, 0x67, 0x77, 0x99, 0xa9, 0xaa, 0xa9,
|
|
||||||
0xaa, 0x8a, 0x98, 0x88, 0x88, 0x65, 0x68, 0x65, 0x68, 0x68, 0x56, 0x85,
|
|
||||||
0x68, 0x66, 0x85, 0x68, 0x89, 0x8a, 0xaa, 0x8a, 0x8a, 0xa8, 0x88, 0x88,
|
|
||||||
0x00, 0x00, 0x00, 0x0c, 0x01, 0x01, 0x10, 0x10, 0x00, 0x10, 0x2e, 0x00,
|
|
||||||
0x00, 0x0c, 0x01, 0x01, 0x11, 0x14, 0x77, 0x99, 0x12, 0xbb, 0x00, 0x0e,
|
|
||||||
0xbe, 0xee, 0xbe, 0xbe, 0xee, 0xee, 0xed, 0x00, 0x06, 0xdd, 0x00, 0x0a,
|
|
||||||
0xd9, 0x22, 0x57, 0x87, 0x86, 0x00, 0x06, 0x66, 0x00, 0x1a, 0x64, 0x64,
|
|
||||||
0x44, 0x46, 0x46, 0x66, 0x46, 0x76, 0x76, 0x66, 0x76, 0x77, 0x66, 0x00,
|
|
||||||
0x06, 0x76, 0x02, 0x66, 0x02, 0x66, 0x08, 0x44, 0x00, 0x24, 0x66, 0x58,
|
|
||||||
0x78, 0xa7, 0xa7, 0x76, 0x77, 0x77, 0x78, 0x78, 0xa7, 0xa8, 0x8a, 0x88,
|
|
||||||
0x58, 0x86, 0x56, 0x55, 0x08, 0x65, 0x00, 0x16, 0x66, 0x65, 0x56, 0x55,
|
|
||||||
0x56, 0x86, 0x88, 0xa7, 0xa7, 0xa8, 0xa8, 0x00, 0x06, 0x88, 0x00, 0x00,
|
|
||||||
0x00, 0x10, 0x10, 0x11, 0x00, 0x10, 0x10, 0x00, 0x10, 0x01, 0x28, 0x00,
|
|
||||||
0x00, 0x0e, 0x01, 0x00, 0x00, 0x01, 0x14, 0x67, 0x99, 0x00, 0x12, 0xbb,
|
|
||||||
0x02, 0xbe, 0x0a, 0xee, 0x02, 0xd8, 0x08, 0xdd, 0x00, 0x18, 0x82, 0x26,
|
|
||||||
0x86, 0x86, 0x66, 0x56, 0x65, 0x65, 0x46, 0x54, 0x64, 0x46, 0x08, 0x66,
|
|
||||||
0x00, 0x36, 0x77, 0x66, 0x76, 0x77, 0x77, 0x66, 0x76, 0x62, 0x64, 0x42,
|
|
||||||
0x41, 0x44, 0x44, 0x46, 0x66, 0x88, 0x78, 0x78, 0x77, 0x76, 0x78, 0x76,
|
|
||||||
0x78, 0x68, 0x88, 0x86, 0x56, 0x00, 0x06, 0x65, 0x06, 0x45, 0x00, 0x0a,
|
|
||||||
0x65, 0x56, 0x58, 0x55, 0x86, 0x00, 0x06, 0x56, 0x00, 0x08, 0x88, 0x7a,
|
|
||||||
0x88, 0xa8, 0x06, 0x88, 0x02, 0x85, 0x00, 0x00, 0x06, 0x00, 0x02, 0x10,
|
|
||||||
0x2e, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x10, 0x11, 0x14, 0x67, 0x99,
|
|
||||||
0x10, 0xbb, 0x02, 0xbe, 0x0c, 0xee, 0x00, 0x24, 0xed, 0xdd, 0xdd, 0x8d,
|
|
||||||
0xdd, 0x88, 0x25, 0x68, 0x68, 0x65, 0x66, 0x45, 0x66, 0x65, 0x65, 0x66,
|
|
||||||
0x66, 0x86, 0x0a, 0x66, 0x02, 0x77, 0x0c, 0x66, 0x02, 0x24, 0x06, 0x44,
|
|
||||||
0x00, 0x0c, 0x46, 0x66, 0x67, 0x78, 0x77, 0x76, 0x06, 0x67, 0x00, 0x06,
|
|
||||||
0x66, 0x66, 0x46, 0x00, 0x06, 0x56, 0x00, 0x0a, 0x45, 0x64, 0x34, 0x54,
|
|
||||||
0x54, 0x00, 0x06, 0x56, 0x0a, 0x65, 0x00, 0x10, 0x78, 0x68, 0x78, 0x78,
|
|
||||||
0x88, 0x88, 0x85, 0x55, 0x00, 0x00, 0x06, 0x01, 0x06, 0x00, 0x02, 0x10,
|
|
||||||
0x2e, 0x00, 0x00, 0x0a, 0x01, 0x00, 0x14, 0x67, 0x99, 0x00, 0x10, 0xbb,
|
|
||||||
0x00, 0x20, 0xee, 0xef, 0xee, 0xef, 0xee, 0xef, 0xee, 0xdd, 0xd8, 0xd2,
|
|
||||||
0xd2, 0xdd, 0xd2, 0x54, 0x56, 0x66, 0x0a, 0x65, 0x00, 0x0a, 0x68, 0x58,
|
|
||||||
0x55, 0x86, 0x86, 0x00, 0x06, 0x66, 0x00, 0x08, 0x77, 0x76, 0x66, 0x62,
|
|
||||||
0x06, 0x66, 0x00, 0x52, 0x64, 0x44, 0x44, 0x14, 0x44, 0x44, 0x66, 0x86,
|
|
||||||
0x86, 0x77, 0x67, 0x67, 0x76, 0x76, 0x56, 0x46, 0x54, 0x44, 0x46, 0x64,
|
|
||||||
0x56, 0x54, 0x54, 0x34, 0x45, 0x46, 0x56, 0x56, 0x55, 0x65, 0x55, 0x55,
|
|
||||||
0x68, 0x68, 0x78, 0x68, 0x88, 0x58, 0x85, 0x55, 0x55, 0x00, 0x00, 0x00,
|
|
||||||
0x0a, 0x00, 0x02, 0x10, 0x2e, 0x00, 0x00, 0x0c, 0x10, 0x00, 0x01, 0x14,
|
|
||||||
0x67, 0x99, 0x0e, 0xbb, 0x02, 0xbe, 0x0c, 0xee, 0x02, 0xef, 0x02, 0xcd,
|
|
||||||
0x06, 0xd8, 0x00, 0x06, 0xdd, 0xd2, 0x82, 0x00, 0x0a, 0x56, 0x00, 0x18,
|
|
||||||
0x66, 0x56, 0x58, 0x58, 0xa8, 0x88, 0x85, 0x78, 0x77, 0x77, 0x76, 0x76,
|
|
||||||
0x08, 0x66, 0x00, 0x06, 0x26, 0x62, 0x42, 0x00, 0x06, 0x44, 0x00, 0x06,
|
|
||||||
0x46, 0x65, 0x76, 0x00, 0x06, 0x87, 0x00, 0x1e, 0x67, 0x66, 0x76, 0x64,
|
|
||||||
0x64, 0x45, 0x45, 0x65, 0x46, 0x56, 0x45, 0x43, 0x45, 0x35, 0x45, 0x00,
|
|
||||||
0x06, 0x56, 0x00, 0x18, 0x55, 0x46, 0x56, 0x86, 0x86, 0x88, 0x88, 0x68,
|
|
||||||
0x68, 0x55, 0x55, 0x53, 0x00, 0x00, 0x02, 0x00, 0x02, 0x01, 0x38, 0x00,
|
|
||||||
0x00, 0x0a, 0x01, 0x01, 0x14, 0x27, 0x99, 0x00, 0x0c, 0xbb, 0x02, 0xbe,
|
|
||||||
0x02, 0xbe, 0x06, 0xee, 0x00, 0x22, 0xef, 0xef, 0xee, 0xef, 0xdd, 0xdd,
|
|
||||||
0x2d, 0x28, 0xdf, 0xd2, 0x84, 0x36, 0x66, 0x56, 0x56, 0x66, 0x85, 0x00,
|
|
||||||
0x06, 0x58, 0x00, 0x14, 0x8a, 0xa8, 0x8a, 0x8a, 0x88, 0x77, 0x86, 0x66,
|
|
||||||
0x62, 0x62, 0x06, 0x66, 0x06, 0x44, 0x00, 0x38, 0x14, 0x44, 0x65, 0x65,
|
|
||||||
0x66, 0x87, 0x77, 0x67, 0x66, 0x68, 0x66, 0x66, 0x54, 0x54, 0x44, 0x46,
|
|
||||||
0x66, 0x46, 0x66, 0x54, 0x43, 0x44, 0x54, 0x45, 0x65, 0x55, 0x55, 0x65,
|
|
||||||
0x06, 0x56, 0x00, 0x0e, 0x86, 0x86, 0x85, 0x55, 0x55, 0x53, 0x33, 0x00,
|
|
||||||
0x00, 0x00, 0x02, 0x01, 0x06, 0x00, 0x02, 0x10, 0x02, 0x01, 0x2c, 0x00,
|
|
||||||
0x00, 0x0e, 0x10, 0x00, 0x01, 0x01, 0x14, 0x67, 0x79, 0x00, 0x0e, 0xbb,
|
|
||||||
0x02, 0xbe, 0x0e, 0xee, 0x00, 0x20, 0xef, 0xdd, 0xd2, 0xd8, 0xdd, 0x82,
|
|
||||||
0x82, 0x46, 0x55, 0x65, 0x68, 0x58, 0x65, 0x68, 0x55, 0x8a, 0x08, 0xaa,
|
|
||||||
0x00, 0x36, 0xa8, 0x88, 0x79, 0x76, 0x66, 0x66, 0x62, 0x66, 0x62, 0x64,
|
|
||||||
0x24, 0x44, 0x14, 0x44, 0x44, 0x66, 0x66, 0x87, 0x68, 0x77, 0x67, 0x66,
|
|
||||||
0x66, 0x65, 0x46, 0x44, 0x46, 0x00, 0x06, 0x56, 0x06, 0x54, 0x00, 0x1c,
|
|
||||||
0x34, 0x35, 0x55, 0x45, 0x56, 0x56, 0x55, 0x65, 0x65, 0x68, 0x66, 0x85,
|
|
||||||
0x65, 0x55, 0x06, 0x33, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x10, 0x00,
|
|
||||||
0x34, 0x00, 0x00, 0x0c, 0x01, 0x00, 0x00, 0x14, 0x67, 0x99, 0x0c, 0xbb,
|
|
||||||
0x06, 0xee, 0x00, 0x30, 0xef, 0xef, 0xee, 0xef, 0xee, 0xee, 0xdd, 0xdd,
|
|
||||||
0x28, 0x28, 0xdd, 0x8d, 0x82, 0x35, 0x56, 0x65, 0x66, 0x65, 0x68, 0x55,
|
|
||||||
0x88, 0x88, 0x8a, 0xad, 0x06, 0xaa, 0x00, 0x5c, 0xca, 0xa8, 0x86, 0x66,
|
|
||||||
0x62, 0x64, 0x66, 0x26, 0x44, 0x44, 0x41, 0x44, 0x44, 0x46, 0x45, 0x66,
|
|
||||||
0x78, 0x76, 0x77, 0x66, 0x68, 0x66, 0x56, 0x66, 0x45, 0x45, 0x56, 0x66,
|
|
||||||
0x56, 0x65, 0x65, 0x54, 0x34, 0x54, 0x44, 0x55, 0x45, 0x45, 0x56, 0x55,
|
|
||||||
0x65, 0x55, 0x68, 0x56, 0x55, 0x55, 0x06, 0x33, 0x00, 0x00, 0x00, 0x08,
|
|
||||||
0x01, 0x00, 0x00, 0x01, 0x2e, 0x00, 0x02, 0x01, 0x06, 0x00, 0x00, 0x08,
|
|
||||||
0x10, 0x44, 0x67, 0x79, 0x08, 0xbb, 0x0e, 0xee, 0x00, 0x36, 0xef, 0xfe,
|
|
||||||
0xee, 0xec, 0xdf, 0xd2, 0x8d, 0xd8, 0xd2, 0xd8, 0x28, 0x23, 0x56, 0x56,
|
|
||||||
0x65, 0x86, 0x86, 0x88, 0x58, 0x8a, 0xad, 0xaa, 0xac, 0xcd, 0xaa, 0xaa,
|
|
||||||
0xa8, 0x00, 0x06, 0x66, 0x00, 0x26, 0x62, 0x62, 0x26, 0x42, 0x44, 0x41,
|
|
||||||
0x41, 0x44, 0x44, 0x65, 0x66, 0x68, 0x67, 0x76, 0x68, 0x66, 0x56, 0x56,
|
|
||||||
0x54, 0x00, 0x06, 0x56, 0x00, 0x24, 0x68, 0x66, 0x68, 0x65, 0x65, 0x56,
|
|
||||||
0x54, 0x55, 0x56, 0x55, 0x55, 0x65, 0x65, 0x56, 0x56, 0x85, 0x55, 0x55,
|
|
||||||
0x06, 0x33, 0x02, 0x11, 0x00, 0x00, 0x0c, 0x00, 0x02, 0x10, 0x30, 0x00,
|
|
||||||
0x00, 0x0a, 0x01, 0x12, 0x67, 0x9b, 0x9b, 0x00, 0x08, 0xbb, 0x0c, 0xee,
|
|
||||||
0x06, 0xfe, 0x00, 0x08, 0xed, 0xdd, 0x8d, 0x8d, 0x06, 0xdd, 0x00, 0x26,
|
|
||||||
0xd2, 0x31, 0x58, 0x54, 0x66, 0x68, 0x86, 0x85, 0x88, 0x88, 0x8a, 0xac,
|
|
||||||
0xad, 0xaa, 0xcc, 0xaa, 0x86, 0x66, 0x76, 0x00, 0x08, 0x66, 0x00, 0x18,
|
|
||||||
0x24, 0x44, 0x41, 0x41, 0x44, 0x44, 0x46, 0x56, 0x67, 0x67, 0x66, 0x86,
|
|
||||||
0x0a, 0x65, 0x00, 0x20, 0x66, 0x58, 0x66, 0x86, 0x85, 0x68, 0x56, 0x65,
|
|
||||||
0x55, 0x56, 0x54, 0x54, 0x56, 0x54, 0x55, 0x56, 0x06, 0x55, 0x00, 0x0a,
|
|
||||||
0x53, 0x33, 0x33, 0x13, 0x11, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00,
|
|
||||||
0x01, 0x00, 0x2e, 0x00, 0x02, 0x01, 0x06, 0x00, 0x00, 0x0c, 0x10, 0x10,
|
|
||||||
0x14, 0x67, 0x99, 0x9b, 0x06, 0xbb, 0x02, 0xbe, 0x02, 0xee, 0x06, 0xfe,
|
|
||||||
0x06, 0xef, 0x00, 0x38, 0xfe, 0xfe, 0xef, 0xfd, 0xdd, 0xdd, 0x8d, 0xdd,
|
|
||||||
0xd8, 0x82, 0x33, 0x58, 0x32, 0x65, 0x56, 0x58, 0x58, 0x88, 0x8a, 0xad,
|
|
||||||
0xaa, 0xaa, 0xac, 0xaa, 0xaa, 0x88, 0x87, 0x87, 0x06, 0x66, 0x00, 0x18,
|
|
||||||
0x64, 0x64, 0x44, 0x14, 0x14, 0x44, 0x44, 0x64, 0x66, 0x68, 0x67, 0x87,
|
|
||||||
0x06, 0x66, 0x06, 0x56, 0x00, 0x1e, 0x58, 0x66, 0x68, 0x68, 0x67, 0x68,
|
|
||||||
0x65, 0x85, 0x56, 0x55, 0x54, 0x55, 0x65, 0x55, 0x54, 0x00, 0x08, 0x55,
|
|
||||||
0x00, 0x0a, 0x33, 0x33, 0x13, 0x11, 0x01, 0x00, 0x00, 0x00, 0x0a, 0x00,
|
|
||||||
0x02, 0x10, 0x2e, 0x00, 0x00, 0x0c, 0x10, 0x00, 0x00, 0x11, 0x27, 0x79,
|
|
||||||
0x08, 0xbb, 0x02, 0xbe, 0x06, 0xee, 0x00, 0x10, 0xfe, 0xee, 0xee, 0xef,
|
|
||||||
0xef, 0xfe, 0xfd, 0xd8, 0x08, 0xdd, 0x00, 0x18, 0xd8, 0xd8, 0x21, 0x38,
|
|
||||||
0x84, 0x56, 0x56, 0x55, 0x58, 0x58, 0x88, 0x8a, 0x06, 0xaa, 0x00, 0x0c,
|
|
||||||
0xac, 0xaa, 0x8a, 0x88, 0x86, 0x86, 0x06, 0x66, 0x00, 0x0e, 0x44, 0x44,
|
|
||||||
0x41, 0x44, 0x14, 0x44, 0x44, 0x00, 0x0a, 0x66, 0x00, 0x06, 0x56, 0x55,
|
|
||||||
0x45, 0x00, 0x06, 0x56, 0x00, 0x06, 0x65, 0x86, 0x87, 0x00, 0x06, 0x68,
|
|
||||||
0x00, 0x06, 0x66, 0x65, 0x55, 0x00, 0x06, 0x45, 0x00, 0x10, 0x53, 0x65,
|
|
||||||
0x54, 0x55, 0x55, 0x33, 0x33, 0x31, 0x06, 0x11, 0x00, 0x00, 0x3c, 0x00,
|
|
||||||
0x06, 0x01, 0x00, 0x06, 0x47, 0x79, 0x9b, 0x00, 0x08, 0xbb, 0x00, 0x06,
|
|
||||||
0xee, 0xee, 0xff, 0x00, 0x08, 0xee, 0x00, 0x3c, 0xff, 0xfe, 0xfd, 0xa8,
|
|
||||||
0xdd, 0xdd, 0x2d, 0xdd, 0xdd, 0x2d, 0x23, 0x38, 0x85, 0x56, 0x55, 0x45,
|
|
||||||
0x55, 0x85, 0x88, 0x88, 0xaa, 0xad, 0xaa, 0xca, 0xaa, 0xa8, 0x78, 0x87,
|
|
||||||
0x66, 0x76, 0x06, 0x66, 0x00, 0x26, 0x44, 0x41, 0x41, 0x44, 0x44, 0x46,
|
|
||||||
0x66, 0x68, 0x78, 0x68, 0x65, 0x65, 0x64, 0x64, 0x56, 0x55, 0x66, 0x56,
|
|
||||||
0x86, 0x00, 0x06, 0x68, 0x00, 0x24, 0x58, 0x68, 0x55, 0x54, 0x53, 0x55,
|
|
||||||
0x54, 0x55, 0x53, 0x43, 0x53, 0x43, 0x33, 0x31, 0x11, 0x11, 0x10, 0x10,
|
|
||||||
0x00, 0x00, 0x3a, 0x00, 0x00, 0x0c, 0x01, 0x00, 0x00, 0x11, 0x27, 0x79,
|
|
||||||
0x06, 0xbb, 0x06, 0xbe, 0x00, 0x46, 0xee, 0xee, 0xef, 0xee, 0xef, 0xee,
|
|
||||||
0xfe, 0xff, 0xdd, 0x8d, 0xdd, 0xd8, 0xd8, 0xdd, 0xdd, 0x82, 0x82, 0x35,
|
|
||||||
0x88, 0x62, 0x54, 0x53, 0x55, 0x55, 0x88, 0xad, 0xaa, 0xaa, 0xca, 0xaa,
|
|
||||||
0xaa, 0x88, 0x88, 0x67, 0x86, 0x00, 0x06, 0x66, 0x00, 0x0e, 0x64, 0x44,
|
|
||||||
0x44, 0x41, 0x41, 0x44, 0x44, 0x00, 0x08, 0x66, 0x02, 0x65, 0x02, 0x64,
|
|
||||||
0x06, 0x55, 0x00, 0x0a, 0x56, 0x55, 0x56, 0x56, 0x85, 0x00, 0x06, 0x86,
|
|
||||||
0x00, 0x18, 0x85, 0x64, 0x55, 0x55, 0x44, 0x35, 0x55, 0x45, 0x53, 0x43,
|
|
||||||
0x33, 0x33, 0x06, 0x11, 0x02, 0x01, 0x02, 0x10, 0x00, 0x00, 0x36, 0x00,
|
|
||||||
0x00, 0x12, 0x10, 0x01, 0x00, 0x00, 0x10, 0x11, 0x46, 0x79, 0x9b, 0x00,
|
|
||||||
0x06, 0xbb, 0x02, 0xbe, 0x06, 0xee, 0x00, 0x30, 0xfe, 0xee, 0xfe, 0xff,
|
|
||||||
0xef, 0xef, 0xdd, 0x88, 0xdd, 0xdd, 0xd8, 0xdd, 0xd2, 0xd8, 0x88, 0x23,
|
|
||||||
0x88, 0x54, 0x54, 0x45, 0x58, 0x58, 0xad, 0xad, 0x06, 0xaa, 0x00, 0x1a,
|
|
||||||
0xad, 0xaa, 0x8a, 0x87, 0x88, 0x67, 0x86, 0x66, 0x66, 0x44, 0x44, 0x41,
|
|
||||||
0x41, 0x00, 0x06, 0x44, 0x00, 0x0c, 0x66, 0x66, 0x86, 0x66, 0x56, 0x55,
|
|
||||||
0x08, 0x54, 0x00, 0x30, 0x56, 0x55, 0x65, 0x56, 0x68, 0x68, 0x56, 0x56,
|
|
||||||
0x55, 0x65, 0x44, 0x53, 0x54, 0x34, 0x53, 0x43, 0x33, 0x31, 0x31, 0x11,
|
|
||||||
0x11, 0x10, 0x10, 0x00, 0x00, 0x00, 0x32, 0x00, 0x02, 0x01, 0x08, 0x00,
|
|
||||||
0x00, 0x0c, 0x10, 0x00, 0x11, 0x42, 0x79, 0x9b, 0x06, 0xbb, 0x00, 0x48,
|
|
||||||
0xbe, 0xee, 0xee, 0xfe, 0xfe, 0xff, 0xfe, 0xef, 0xef, 0xfe, 0xd8, 0xd8,
|
|
||||||
0xdd, 0x2d, 0x8d, 0xdd, 0xdd, 0xd8, 0x2d, 0x33, 0x5a, 0x56, 0x45, 0x65,
|
|
||||||
0x55, 0x58, 0xaa, 0xda, 0xaa, 0xca, 0xaa, 0xaa, 0x8a, 0x8a, 0xa8, 0x86,
|
|
||||||
0x0a, 0x66, 0x06, 0x44, 0x00, 0x06, 0x41, 0x44, 0x46, 0x00, 0x06, 0x66,
|
|
||||||
0x00, 0x14, 0x65, 0x64, 0x34, 0x54, 0x55, 0x55, 0x35, 0x54, 0x56, 0x55,
|
|
||||||
0x06, 0x65, 0x00, 0x0e, 0x66, 0x55, 0x45, 0x53, 0x53, 0x54, 0x34, 0x00,
|
|
||||||
0x06, 0x33, 0x02, 0x13, 0x06, 0x11, 0x06, 0x10, 0x02, 0x00, 0x00, 0x00,
|
|
||||||
0x3e, 0x00, 0x00, 0x0a, 0x01, 0x11, 0x46, 0x79, 0x9b, 0x00, 0x06, 0xbb,
|
|
||||||
0x00, 0x18, 0xee, 0xee, 0xef, 0xee, 0xef, 0xfe, 0xef, 0xef, 0xff, 0xee,
|
|
||||||
0xda, 0x8d, 0x0c, 0xdd, 0x00, 0x1a, 0x2d, 0x82, 0x3a, 0x54, 0x26, 0x55,
|
|
||||||
0x85, 0x88, 0xda, 0xcc, 0xcd, 0xaa, 0xad, 0x00, 0x06, 0xaa, 0x00, 0x06,
|
|
||||||
0x88, 0x78, 0x78, 0x00, 0x08, 0x66, 0x00, 0x0e, 0x64, 0x44, 0x41, 0x41,
|
|
||||||
0x44, 0x44, 0x66, 0x00, 0x06, 0x86, 0x00, 0x32, 0x54, 0x45, 0x43, 0x54,
|
|
||||||
0x33, 0x54, 0x55, 0x55, 0x54, 0x53, 0x55, 0x56, 0x55, 0x56, 0x55, 0x54,
|
|
||||||
0x54, 0x53, 0x43, 0x43, 0x41, 0x41, 0x31, 0x11, 0x11, 0x00, 0x06, 0x10,
|
|
||||||
0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0e, 0x10, 0x01,
|
|
||||||
0x00, 0x10, 0x14, 0x46, 0x99, 0x00, 0x08, 0xbb, 0x02, 0xee, 0x02, 0xee,
|
|
||||||
0x08, 0xef, 0x00, 0x10, 0xff, 0xfe, 0xef, 0xfd, 0xad, 0xdd, 0xdd, 0xd8,
|
|
||||||
0x08, 0xdd, 0x00, 0x30, 0x82, 0xd3, 0x38, 0x85, 0x65, 0x65, 0x55, 0x88,
|
|
||||||
0xad, 0xcf, 0xdc, 0xdc, 0xac, 0xda, 0xda, 0xaa, 0xa8, 0x88, 0x78, 0x78,
|
|
||||||
0x77, 0x66, 0x66, 0x44, 0x06, 0x41, 0x02, 0x44, 0x02, 0x44, 0x08, 0x66,
|
|
||||||
0x00, 0x14, 0x54, 0x53, 0x45, 0x43, 0x53, 0x33, 0x34, 0x33, 0x43, 0x34,
|
|
||||||
0x08, 0x43, 0x00, 0x0e, 0x44, 0x43, 0x54, 0x53, 0x43, 0x41, 0x31, 0x00,
|
|
||||||
0x06, 0x11, 0x00, 0x06, 0x10, 0x11, 0x01, 0x00, 0x06, 0x00, 0x00, 0x00,
|
|
||||||
0x36, 0x00, 0x02, 0x10, 0x06, 0x00, 0x00, 0x08, 0x10, 0x14, 0x67, 0x99,
|
|
||||||
0x08, 0xbb, 0x00, 0x06, 0xee, 0xee, 0xff, 0x00, 0x0c, 0xef, 0x00, 0x06,
|
|
||||||
0xee, 0xd8, 0x8d, 0x00, 0x06, 0xdd, 0x00, 0x2c, 0xd8, 0xdd, 0xdd, 0x28,
|
|
||||||
0xd8, 0x25, 0xa8, 0x62, 0x65, 0x58, 0x8a, 0xcc, 0xdc, 0xdc, 0xfc, 0xfc,
|
|
||||||
0xdc, 0xda, 0xa8, 0x88, 0x78, 0x76, 0x08, 0x66, 0x06, 0x44, 0x00, 0x10,
|
|
||||||
0x14, 0x44, 0x44, 0x66, 0x68, 0x68, 0x66, 0x54, 0x06, 0x53, 0x00, 0x0c,
|
|
||||||
0x35, 0x34, 0x33, 0x34, 0x33, 0x43, 0x08, 0x34, 0x02, 0x33, 0x02, 0x34,
|
|
||||||
0x06, 0x33, 0x06, 0x11, 0x08, 0x10, 0x08, 0x00, 0x00, 0x00, 0x3a, 0x00,
|
|
||||||
0x00, 0x0c, 0x10, 0x10, 0x00, 0x14, 0x67, 0x9b, 0x08, 0xbb, 0x02, 0xee,
|
|
||||||
0x0c, 0xef, 0x00, 0x0c, 0xfe, 0xfe, 0xed, 0xd8, 0xdd, 0xd8, 0x0a, 0xdd,
|
|
||||||
0x00, 0x28, 0xd2, 0x8d, 0x33, 0x88, 0x45, 0x65, 0x58, 0xac, 0xdd, 0xcc,
|
|
||||||
0xfc, 0xcd, 0xcc, 0xdc, 0xca, 0xaa, 0xa8, 0x88, 0x68, 0x76, 0x06, 0x66,
|
|
||||||
0x00, 0x0c, 0x44, 0x44, 0x41, 0x44, 0x14, 0x44, 0x06, 0x66, 0x02, 0x65,
|
|
||||||
0x02, 0x55, 0x08, 0x53, 0x00, 0x0a, 0x33, 0x34, 0x33, 0x34, 0x33, 0x00,
|
|
||||||
0x12, 0x34, 0x00, 0x0c, 0x11, 0x11, 0x01, 0x11, 0x01, 0x01, 0x0a, 0x00,
|
|
||||||
0x00, 0x00, 0x32, 0x00, 0x02, 0x01, 0x0a, 0x00, 0x00, 0x08, 0x01, 0x14,
|
|
||||||
0x47, 0x9b, 0x06, 0xbb, 0x00, 0x08, 0xbe, 0xee, 0xef, 0xef, 0x08, 0xff,
|
|
||||||
0x00, 0x3e, 0xef, 0xee, 0xed, 0xa8, 0xdd, 0xd8, 0xdd, 0xdd, 0xd8, 0xdd,
|
|
||||||
0xdd, 0xd2, 0x2d, 0x82, 0x88, 0x56, 0x65, 0x58, 0xac, 0xdc, 0xcf, 0xdc,
|
|
||||||
0xfc, 0xdf, 0xcf, 0xcd, 0xca, 0xaa, 0xaa, 0xa7, 0x88, 0x00, 0x06, 0x66,
|
|
||||||
0x02, 0x44, 0x02, 0x44, 0x06, 0x14, 0x00, 0x18, 0x44, 0x46, 0x56, 0x86,
|
|
||||||
0x85, 0x65, 0x33, 0x53, 0x53, 0x33, 0x34, 0x33, 0x08, 0x43, 0x00, 0x0c,
|
|
||||||
0x14, 0x14, 0x34, 0x14, 0x44, 0x14, 0x0a, 0x11, 0x02, 0x01, 0x02, 0x01,
|
|
||||||
0x0c, 0x00, 0x00, 0x00, 0x30, 0x00, 0x02, 0x10, 0x06, 0x00, 0x00, 0x0e,
|
|
||||||
0x10, 0x00, 0x00, 0x10, 0x04, 0x47, 0x9b, 0x00, 0x06, 0xbb, 0x06, 0xee,
|
|
||||||
0x0a, 0xef, 0x00, 0x0c, 0xff, 0xff, 0xdd, 0xad, 0xdd, 0xd2, 0x0a, 0xdd,
|
|
||||||
0x00, 0x5e, 0xd8, 0x28, 0xd2, 0x58, 0x62, 0x65, 0x88, 0xac, 0xfc, 0xcf,
|
|
||||||
0xcc, 0xdc, 0xcc, 0xdd, 0xcd, 0xdc, 0xaa, 0xaa, 0x88, 0x86, 0x76, 0x66,
|
|
||||||
0x46, 0x44, 0x44, 0x41, 0x44, 0x41, 0x44, 0x66, 0x86, 0x65, 0x86, 0x55,
|
|
||||||
0x55, 0x53, 0x53, 0x43, 0x43, 0x34, 0x35, 0x35, 0x33, 0x33, 0x43, 0x34,
|
|
||||||
0x43, 0x00, 0x08, 0x41, 0x06, 0x11, 0x02, 0x01, 0x02, 0x01, 0x0e, 0x00,
|
|
||||||
0x00, 0x00, 0x3a, 0x00, 0x00, 0x12, 0x01, 0x00, 0x10, 0x14, 0x46, 0x9b,
|
|
||||||
0xbb, 0xbb, 0xbe, 0x00, 0x06, 0xee, 0x0a, 0xff, 0x00, 0x08, 0xfe, 0xff,
|
|
||||||
0xed, 0xad, 0x0c, 0xdd, 0x00, 0x16, 0x8d, 0xdd, 0x2d, 0xd2, 0x38, 0x84,
|
|
||||||
0x66, 0x58, 0xac, 0xcf, 0xef, 0x00, 0x06, 0xcf, 0x00, 0x0e, 0xcc, 0xcd,
|
|
||||||
0xac, 0xad, 0xa8, 0xa8, 0x77, 0x00, 0x06, 0x66, 0x00, 0x20, 0x44, 0x44,
|
|
||||||
0x41, 0x41, 0x44, 0x44, 0x46, 0x66, 0x86, 0x86, 0x55, 0x53, 0x43, 0x34,
|
|
||||||
0x34, 0x33, 0x06, 0x43, 0x00, 0x0e, 0x33, 0x34, 0x33, 0x43, 0x31, 0x41,
|
|
||||||
0x41, 0x00, 0x06, 0x11, 0x00, 0x06, 0x10, 0x11, 0x01, 0x00, 0x10, 0x00,
|
|
||||||
0x00, 0x00, 0x36, 0x00, 0x02, 0x01, 0x06, 0x00, 0x00, 0x18, 0x10, 0x14,
|
|
||||||
0x67, 0x9b, 0xbb, 0xbb, 0xbe, 0xee, 0xee, 0xfe, 0xee, 0xfe, 0x06, 0xff,
|
|
||||||
0x00, 0x0c, 0xef, 0xff, 0xda, 0xdd, 0xdd, 0x88, 0x06, 0xdd, 0x00, 0x34,
|
|
||||||
0x8d, 0xdd, 0xdd, 0x28, 0xd8, 0x55, 0x86, 0x56, 0x88, 0xac, 0xfc, 0xdf,
|
|
||||||
0xcf, 0xdc, 0xcc, 0xcf, 0xdd, 0xcd, 0xaa, 0x8a, 0x87, 0x88, 0x86, 0x66,
|
|
||||||
0x66, 0x44, 0x08, 0x41, 0x00, 0x28, 0x34, 0x56, 0x86, 0x68, 0x68, 0x55,
|
|
||||||
0x55, 0x53, 0x34, 0x13, 0x33, 0x43, 0x33, 0x43, 0x34, 0x34, 0x14, 0x41,
|
|
||||||
0x44, 0x14, 0x0a, 0x11, 0x02, 0x10, 0x02, 0x01, 0x10, 0x00, 0x00, 0x00,
|
|
||||||
0x34, 0x00, 0x00, 0x1e, 0x01, 0x00, 0x00, 0x10, 0x01, 0x00, 0x14, 0x67,
|
|
||||||
0x9b, 0xbb, 0xbb, 0xeb, 0xee, 0xef, 0xef, 0x00, 0x06, 0xff, 0x00, 0x10,
|
|
||||||
0xfe, 0xff, 0xff, 0xef, 0xea, 0xad, 0xdd, 0xad, 0x06, 0xdd, 0x00, 0x34,
|
|
||||||
0x8d, 0x8d, 0xd7, 0x25, 0xdd, 0x25, 0x85, 0x66, 0x88, 0xcf, 0xcc, 0xfc,
|
|
||||||
0xcd, 0xac, 0xcd, 0xfc, 0xcd, 0xcc, 0xaa, 0xaa, 0xa8, 0xa8, 0x76, 0x76,
|
|
||||||
0x66, 0x44, 0x06, 0x41, 0x00, 0x28, 0x44, 0x44, 0x46, 0x56, 0x88, 0x58,
|
|
||||||
0x65, 0x55, 0x34, 0x33, 0x43, 0x34, 0x33, 0x43, 0x33, 0x41, 0x41, 0x14,
|
|
||||||
0x14, 0x41, 0x06, 0x11, 0x02, 0x01, 0x02, 0x01, 0x06, 0x10, 0x10, 0x00,
|
|
||||||
0x00, 0x00, 0x40, 0x00, 0x00, 0x10, 0x01, 0x67, 0x9b, 0xbb, 0xbb, 0xbe,
|
|
||||||
0xee, 0xee, 0x06, 0xfe, 0x00, 0x10, 0xfd, 0xff, 0xff, 0xef, 0xfe, 0xdd,
|
|
||||||
0xdd, 0xed, 0x0c, 0xdd, 0x00, 0x10, 0xda, 0x82, 0x28, 0x83, 0x86, 0x66,
|
|
||||||
0x5a, 0xcd, 0x06, 0xcf, 0x02, 0xdc, 0x06, 0xcf, 0x00, 0x4e, 0xcd, 0xdc,
|
|
||||||
0xca, 0xaa, 0x88, 0x77, 0x66, 0x66, 0x44, 0x44, 0x41, 0x44, 0x44, 0x34,
|
|
||||||
0x45, 0x65, 0x85, 0x88, 0x55, 0x54, 0x54, 0x34, 0x33, 0x33, 0x34, 0x43,
|
|
||||||
0x44, 0x44, 0x14, 0x11, 0x41, 0x11, 0x11, 0x01, 0x10, 0x11, 0x11, 0x01,
|
|
||||||
0x01, 0x00, 0x12, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x14, 0x10, 0x00,
|
|
||||||
0x00, 0x10, 0x11, 0x44, 0x79, 0xbb, 0xbe, 0xbe, 0x06, 0xee, 0x0a, 0xff,
|
|
||||||
0x00, 0x0c, 0xef, 0xef, 0xda, 0xdd, 0xdd, 0x8d, 0x06, 0xdd, 0x00, 0x36,
|
|
||||||
0xd2, 0xd8, 0xfd, 0x92, 0x2d, 0x82, 0x58, 0x56, 0x88, 0xcc, 0xcc, 0xcf,
|
|
||||||
0xcd, 0xcc, 0xfc, 0xdf, 0xcd, 0xcd, 0xca, 0xaa, 0x8a, 0xa7, 0x78, 0x76,
|
|
||||||
0x64, 0x44, 0x44, 0x00, 0x06, 0x14, 0x00, 0x18, 0x44, 0x45, 0x65, 0x88,
|
|
||||||
0x68, 0x55, 0x54, 0x33, 0x43, 0x34, 0x43, 0x44, 0x06, 0x41, 0x02, 0x14,
|
|
||||||
0x0a, 0x11, 0x06, 0x10, 0x02, 0x01, 0x14, 0x00, 0x00, 0x00, 0x32, 0x00,
|
|
||||||
0x02, 0x10, 0x08, 0x00, 0x00, 0x0a, 0x10, 0x00, 0x01, 0x46, 0x7b, 0x00,
|
|
||||||
0x06, 0xbb, 0x02, 0xee, 0x02, 0xee, 0x06, 0xef, 0x08, 0xff, 0x00, 0x06,
|
|
||||||
0xfd, 0xaa, 0xdf, 0x00, 0x0c, 0xdd, 0x00, 0x36, 0xd8, 0xfd, 0xd2, 0x22,
|
|
||||||
0xd5, 0x58, 0x86, 0x88, 0xcc, 0xcf, 0xfd, 0xcd, 0xcf, 0xdc, 0xfc, 0xdc,
|
|
||||||
0xdc, 0xca, 0xaa, 0xaa, 0x78, 0x78, 0x66, 0x66, 0x44, 0x41, 0x41, 0x00,
|
|
||||||
0x06, 0x44, 0x00, 0x14, 0x45, 0x56, 0x58, 0x58, 0x55, 0x45, 0x35, 0x43,
|
|
||||||
0x43, 0x14, 0x0a, 0x41, 0x08, 0x11, 0x0a, 0x01, 0x14, 0x00, 0x00, 0x00,
|
|
||||||
0x36, 0x00, 0x02, 0x10, 0x06, 0x00, 0x00, 0x0e, 0x01, 0x10, 0x14, 0x79,
|
|
||||||
0x9b, 0xbb, 0xbb, 0x00, 0x06, 0xee, 0x0a, 0xff, 0x00, 0x0a, 0xef, 0xee,
|
|
||||||
0xdd, 0xdd, 0xed, 0x00, 0x08, 0xdd, 0x00, 0x48, 0xd8, 0xd2, 0xfd, 0xa7,
|
|
||||||
0x2d, 0x85, 0x28, 0x86, 0x7a, 0xcc, 0xed, 0xcd, 0xcd, 0xca, 0xdc, 0xfc,
|
|
||||||
0xfc, 0xdc, 0xda, 0xaa, 0x8a, 0x78, 0x78, 0x66, 0x64, 0x44, 0x41, 0x44,
|
|
||||||
0x14, 0x44, 0x34, 0x55, 0x55, 0x85, 0x86, 0x55, 0x08, 0x34, 0x00, 0x0e,
|
|
||||||
0x44, 0x41, 0x41, 0x14, 0x11, 0x11, 0x01, 0x00, 0x06, 0x10, 0x00, 0x08,
|
|
||||||
0x01, 0x00, 0x10, 0x10, 0x16, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x0a,
|
|
||||||
0x10, 0x00, 0x01, 0x36, 0x69, 0x00, 0x06, 0xbb, 0x00, 0x1a, 0xeb, 0xee,
|
|
||||||
0xef, 0xef, 0xfe, 0xff, 0xff, 0xfe, 0xfe, 0xdd, 0x88, 0xdf, 0xfd, 0x00,
|
|
||||||
0x0a, 0xdd, 0x00, 0x4e, 0xd8, 0xdf, 0xdd, 0x8d, 0x88, 0x28, 0x85, 0x8a,
|
|
||||||
0xce, 0xcf, 0xdc, 0xad, 0xcd, 0xfc, 0xdf, 0xcf, 0xcd, 0xca, 0xaa, 0xaa,
|
|
||||||
0xa8, 0x86, 0x66, 0x44, 0x44, 0x14, 0x13, 0x41, 0x34, 0x34, 0x45, 0x65,
|
|
||||||
0x55, 0x85, 0x55, 0x43, 0x54, 0x34, 0x44, 0x00, 0x06, 0x14, 0x08, 0x11,
|
|
||||||
0x02, 0x10, 0x02, 0x10, 0x06, 0x01, 0x1a, 0x00, 0x00, 0x00, 0x3e, 0x00,
|
|
||||||
0x00, 0x14, 0x01, 0x01, 0x44, 0x79, 0x9b, 0xbb, 0xbb, 0xbe, 0xee, 0xee,
|
|
||||||
0x06, 0xff, 0x00, 0x2a, 0xfe, 0xee, 0xee, 0xed, 0xa8, 0xdd, 0xfd, 0xdd,
|
|
||||||
0xdd, 0xfd, 0xdd, 0xd8, 0xd2, 0xff, 0xfd, 0x2d, 0x2d, 0x25, 0x86, 0x7a,
|
|
||||||
0xcc, 0x00, 0x06, 0xcd, 0x00, 0x38, 0xcc, 0xcc, 0xdc, 0xcd, 0xcd, 0xaa,
|
|
||||||
0xaa, 0xa8, 0x88, 0x76, 0x66, 0x64, 0x44, 0x14, 0x44, 0x14, 0x44, 0x43,
|
|
||||||
0x55, 0x55, 0x58, 0x55, 0x55, 0x35, 0x43, 0x34, 0x31, 0x44, 0x08, 0x11,
|
|
||||||
0x00, 0x0a, 0x01, 0x11, 0x00, 0x10, 0x10, 0x00, 0x1e, 0x00, 0x00, 0x00,
|
|
||||||
0x42, 0x00, 0x02, 0x14, 0x02, 0x89, 0x08, 0xbb, 0x00, 0x18, 0xee, 0xee,
|
|
||||||
0xff, 0xff, 0xfe, 0xff, 0xfe, 0xee, 0xd8, 0xdd, 0x8d, 0xfd, 0x0c, 0xdd,
|
|
||||||
0x00, 0x16, 0x8f, 0xfd, 0x2d, 0xd8, 0x54, 0x87, 0x88, 0xac, 0xac, 0xcc,
|
|
||||||
0xdc, 0x00, 0x06, 0xcd, 0x00, 0x14, 0xfc, 0xdc, 0xcc, 0xaa, 0x8a, 0x86,
|
|
||||||
0x66, 0x66, 0x44, 0x44, 0x06, 0x14, 0x00, 0x06, 0x44, 0x53, 0x45, 0x00,
|
|
||||||
0x08, 0x55, 0x00, 0x0c, 0x44, 0x53, 0x44, 0x44, 0x11, 0x41, 0x08, 0x11,
|
|
||||||
0x00, 0x06, 0x01, 0x01, 0x10, 0x00, 0x20, 0x00, 0x00, 0x00, 0x3a, 0x00,
|
|
||||||
0x00, 0x2e, 0x01, 0x00, 0x10, 0x01, 0x46, 0x8b, 0xbb, 0xeb, 0xbb, 0xbe,
|
|
||||||
0xee, 0xee, 0xef, 0xff, 0xff, 0xef, 0xee, 0xee, 0xd8, 0x88, 0x8f, 0xfd,
|
|
||||||
0x2d, 0x00, 0x08, 0xdd, 0x00, 0x36, 0xd8, 0x8d, 0xfa, 0x2d, 0x28, 0x22,
|
|
||||||
0xa8, 0x88, 0xcc, 0xec, 0xcc, 0xdc, 0xdd, 0xcd, 0xdc, 0xcc, 0xdc, 0xac,
|
|
||||||
0xaa, 0xaa, 0x88, 0x66, 0x64, 0x44, 0x44, 0x14, 0x41, 0x00, 0x06, 0x43,
|
|
||||||
0x06, 0x55, 0x00, 0x1a, 0x45, 0x54, 0x53, 0x34, 0x34, 0x14, 0x14, 0x11,
|
|
||||||
0x11, 0x10, 0x11, 0x01, 0x01, 0x00, 0x24, 0x00, 0x00, 0x00, 0x40, 0x00,
|
|
||||||
0x00, 0x06, 0x01, 0x14, 0x89, 0x00, 0x08, 0xbb, 0x00, 0x1a, 0xbe, 0xee,
|
|
||||||
0xef, 0xff, 0xff, 0xee, 0xee, 0xed, 0xd8, 0x82, 0x2f, 0xfd, 0x8d, 0x00,
|
|
||||||
0x0a, 0xdd, 0x00, 0x28, 0x8d, 0xff, 0x28, 0x82, 0x82, 0x8a, 0x79, 0xac,
|
|
||||||
0xcc, 0xca, 0xca, 0xac, 0xda, 0xca, 0xaa, 0xac, 0xca, 0xaa, 0xa8, 0x76,
|
|
||||||
0x06, 0x66, 0x00, 0x06, 0x44, 0x44, 0x14, 0x00, 0x06, 0x43, 0x00, 0x12,
|
|
||||||
0x34, 0x55, 0x45, 0x55, 0x55, 0x35, 0x54, 0x41, 0x41, 0x00, 0x08, 0x11,
|
|
||||||
0x02, 0x10, 0x02, 0x11, 0x26, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x08,
|
|
||||||
0x01, 0x13, 0x68, 0x9b, 0x06, 0xbb, 0x00, 0x1a, 0xbe, 0xee, 0xef, 0xff,
|
|
||||||
0xfe, 0xee, 0xee, 0xed, 0x88, 0x82, 0x8f, 0xfd, 0x2d, 0x00, 0x08, 0xdd,
|
|
||||||
0x00, 0x1a, 0xd2, 0xdd, 0xfd, 0x82, 0x82, 0xd2, 0x8a, 0xa8, 0xaa, 0xc8,
|
|
||||||
0xaa, 0xcc, 0xca, 0x00, 0x06, 0xaa, 0x00, 0x20, 0xac, 0xac, 0xaa, 0x87,
|
|
||||||
0x66, 0x67, 0x66, 0x66, 0x45, 0x44, 0x44, 0x14, 0x34, 0x34, 0x35, 0x53,
|
|
||||||
0x06, 0x55, 0x00, 0x16, 0x35, 0x34, 0x14, 0x14, 0x11, 0x11, 0x10, 0x11,
|
|
||||||
0x01, 0x00, 0x01, 0x00, 0x24, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x0a,
|
|
||||||
0x10, 0x01, 0x01, 0x47, 0x9b, 0x00, 0x08, 0xbb, 0x00, 0x18, 0xbe, 0xef,
|
|
||||||
0xff, 0xfe, 0xee, 0xee, 0xdd, 0xd8, 0x22, 0x5d, 0xf8, 0x2d, 0x0a, 0xdd,
|
|
||||||
0x00, 0x1a, 0x8d, 0xfd, 0xd2, 0x8a, 0x22, 0x8a, 0x9a, 0xaa, 0x9a, 0xaa,
|
|
||||||
0xcc, 0xca, 0xad, 0x00, 0x06, 0xaa, 0x00, 0x08, 0xca, 0xa9, 0x77, 0x67,
|
|
||||||
0x06, 0x66, 0x00, 0x10, 0x64, 0x44, 0x34, 0x34, 0x43, 0x43, 0x34, 0x45,
|
|
||||||
0x08, 0x55, 0x02, 0x34, 0x02, 0x41, 0x08, 0x11, 0x00, 0x06, 0x10, 0x10,
|
|
||||||
0x01, 0x00, 0x26, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x06, 0x01, 0x36,
|
|
||||||
0x89, 0x00, 0x08, 0xbb, 0x0a, 0xee, 0x00, 0x0e, 0xed, 0xd8, 0x22, 0x32,
|
|
||||||
0xdd, 0xf8, 0x28, 0x00, 0x0a, 0xdd, 0x00, 0x18, 0x2d, 0xfd, 0x82, 0x28,
|
|
||||||
0x25, 0x2a, 0xa8, 0xaa, 0x88, 0xac, 0xcc, 0xca, 0x08, 0xaa, 0x00, 0x10,
|
|
||||||
0xa9, 0x77, 0x77, 0x76, 0x66, 0x66, 0x64, 0x46, 0x06, 0x44, 0x00, 0x06,
|
|
||||||
0x34, 0x43, 0x43, 0x00, 0x08, 0x55, 0x00, 0x14, 0x54, 0x44, 0x11, 0x11,
|
|
||||||
0x01, 0x11, 0x01, 0x01, 0x00, 0x10, 0x26, 0x00, 0x00, 0x00, 0x40, 0x00,
|
|
||||||
0x00, 0x08, 0x10, 0x01, 0x14, 0x79, 0x08, 0xbb, 0x00, 0x18, 0xbe, 0xbe,
|
|
||||||
0xee, 0xee, 0xeb, 0xed, 0xd5, 0x21, 0x25, 0x2f, 0xd2, 0x2d, 0x0a, 0xdd,
|
|
||||||
0x00, 0x20, 0x2d, 0xdd, 0x82, 0x28, 0x22, 0x27, 0xaa, 0x87, 0x77, 0xaa,
|
|
||||||
0xcc, 0xca, 0xaa, 0x8a, 0xa8, 0x98, 0x06, 0x77, 0x00, 0x20, 0x67, 0x66,
|
|
||||||
0x66, 0x64, 0x64, 0x44, 0x34, 0x33, 0x34, 0x43, 0x43, 0x55, 0x56, 0x58,
|
|
||||||
0x55, 0x44, 0x08, 0x11, 0x08, 0x01, 0x28, 0x00, 0x00, 0x00, 0x3c, 0x00,
|
|
||||||
0x00, 0x0e, 0x10, 0x00, 0x00, 0x01, 0x16, 0x6a, 0x9b, 0x00, 0x06, 0xbb,
|
|
||||||
0x00, 0x18, 0xbe, 0xee, 0xee, 0xde, 0xbb, 0xdd, 0x82, 0x21, 0x25, 0x2d,
|
|
||||||
0x52, 0x1d, 0x0a, 0xdd, 0x00, 0x30, 0x2d, 0xfd, 0x22, 0x12, 0x82, 0x15,
|
|
||||||
0xa8, 0x76, 0x67, 0xaa, 0xaa, 0x88, 0x88, 0x86, 0x66, 0x66, 0x67, 0x77,
|
|
||||||
0x77, 0x66, 0x26, 0x46, 0x44, 0x45, 0x06, 0x44, 0x00, 0x1e, 0x43, 0x34,
|
|
||||||
0x36, 0x56, 0x58, 0x85, 0x55, 0x11, 0x11, 0x10, 0x11, 0x01, 0x01, 0x00,
|
|
||||||
0x10, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x08, 0x01, 0x46,
|
|
||||||
0x79, 0x9b, 0x08, 0xbb, 0x00, 0x16, 0xbe, 0xee, 0xbb, 0xbd, 0xd8, 0xd8,
|
|
||||||
0x32, 0x55, 0x25, 0x21, 0x22, 0x00, 0x0a, 0xdd, 0x00, 0x06, 0xd2, 0x8d,
|
|
||||||
0x52, 0x00, 0x06, 0x22, 0x00, 0x0c, 0x77, 0x76, 0x67, 0x8a, 0x87, 0x85,
|
|
||||||
0x08, 0x66, 0x02, 0x67, 0x0a, 0x66, 0x00, 0x26, 0x46, 0x44, 0x46, 0x54,
|
|
||||||
0x43, 0x35, 0x45, 0x65, 0x85, 0x88, 0x55, 0x54, 0x41, 0x11, 0x11, 0x10,
|
|
||||||
0x10, 0x11, 0x01, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x28,
|
|
||||||
0x10, 0x10, 0x44, 0x79, 0xbb, 0xdb, 0xbb, 0x9b, 0xee, 0xec, 0xbe, 0x99,
|
|
||||||
0xda, 0x82, 0x23, 0x22, 0x82, 0x21, 0x21, 0x11, 0x08, 0xdd, 0x00, 0x20,
|
|
||||||
0xd8, 0xd2, 0x58, 0x82, 0x12, 0x82, 0x11, 0x66, 0x66, 0x67, 0x77, 0x88,
|
|
||||||
0x66, 0x64, 0x64, 0x66, 0x06, 0x26, 0x02, 0x66, 0x02, 0x62, 0x06, 0x64,
|
|
||||||
0x00, 0x1a, 0x45, 0x64, 0x44, 0x34, 0x55, 0x45, 0x58, 0x68, 0x85, 0x85,
|
|
||||||
0x44, 0x10, 0x11, 0x00, 0x06, 0x01, 0x30, 0x00, 0x00, 0x00, 0x44, 0x00,
|
|
||||||
0x00, 0x32, 0x16, 0x89, 0xab, 0xbb, 0xbb, 0xbe, 0xbb, 0xee, 0xbd, 0x99,
|
|
||||||
0xa8, 0x53, 0x32, 0xdd, 0x52, 0x22, 0x11, 0x11, 0x18, 0xd8, 0x8d, 0xdd,
|
|
||||||
0xdd, 0x83, 0x25, 0x00, 0x06, 0x22, 0x00, 0x16, 0x21, 0x26, 0x26, 0x77,
|
|
||||||
0x89, 0x86, 0x66, 0x66, 0x26, 0x62, 0x64, 0x00, 0x06, 0x26, 0x06, 0x66,
|
|
||||||
0x00, 0x1a, 0x64, 0x66, 0x65, 0x65, 0x44, 0x56, 0x68, 0x67, 0x88, 0x85,
|
|
||||||
0x54, 0x11, 0x11, 0x00, 0x06, 0x10, 0x02, 0x01, 0x30, 0x00, 0x00, 0x00,
|
|
||||||
0x3e, 0x00, 0x00, 0x0c, 0x01, 0x00, 0x01, 0x13, 0x67, 0x9b, 0x06, 0xbb,
|
|
||||||
0x00, 0x12, 0xbe, 0xbc, 0xb9, 0x99, 0x85, 0x22, 0x22, 0x52, 0x22, 0x00,
|
|
||||||
0x06, 0x11, 0x00, 0x28, 0x01, 0x21, 0x11, 0x12, 0x12, 0x11, 0x23, 0x22,
|
|
||||||
0x11, 0x21, 0x11, 0x12, 0x67, 0x67, 0x98, 0x78, 0x76, 0x62, 0x64, 0x22,
|
|
||||||
0x06, 0x42, 0x00, 0x06, 0x66, 0x62, 0x76, 0x00, 0x06, 0x66, 0x00, 0x1c,
|
|
||||||
0x56, 0x86, 0x56, 0x58, 0x87, 0x88, 0x85, 0x54, 0x44, 0x11, 0x10, 0x10,
|
|
||||||
0x11, 0x01, 0x32, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x02, 0x10, 0x06, 0x00,
|
|
||||||
0x00, 0x08, 0x12, 0x67, 0x9b, 0xbe, 0x06, 0xbb, 0x00, 0x3e, 0xed, 0xb9,
|
|
||||||
0xd8, 0x52, 0x11, 0x12, 0x22, 0x12, 0x21, 0x11, 0x10, 0x12, 0x01, 0x01,
|
|
||||||
0x11, 0x10, 0x11, 0x22, 0x22, 0x12, 0x12, 0x11, 0x24, 0x62, 0x67, 0x78,
|
|
||||||
0x97, 0x76, 0x66, 0x62, 0x64, 0x00, 0x06, 0x42, 0x02, 0x62, 0x06, 0x66,
|
|
||||||
0x02, 0x76, 0x06, 0x66, 0x00, 0x14, 0x68, 0x67, 0x86, 0x86, 0x55, 0x44,
|
|
||||||
0x11, 0x11, 0x10, 0x10, 0x36, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x7a,
|
|
||||||
0x01, 0x14, 0x66, 0x79, 0xbb, 0xbb, 0xbe, 0xbb, 0xdb, 0xbd, 0x95, 0x23,
|
|
||||||
0x21, 0x22, 0x22, 0x12, 0x11, 0x12, 0x12, 0x11, 0x02, 0x01, 0x10, 0x11,
|
|
||||||
0x10, 0x22, 0x11, 0x11, 0x01, 0x11, 0x42, 0x26, 0x67, 0x77, 0x88, 0x76,
|
|
||||||
0x26, 0x26, 0x22, 0x24, 0x22, 0x24, 0x26, 0x66, 0x66, 0x67, 0x68, 0x68,
|
|
||||||
0x78, 0x77, 0x87, 0x88, 0x88, 0x65, 0x44, 0x41, 0x11, 0x10, 0x10, 0x01,
|
|
||||||
0x01, 0x00, 0x34, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x08, 0x10, 0x11,
|
|
||||||
0x47, 0x9b, 0x06, 0xbb, 0x00, 0x20, 0xbe, 0xbb, 0xbd, 0x88, 0x11, 0x32,
|
|
||||||
0x22, 0x21, 0x21, 0x11, 0x10, 0x11, 0x21, 0x21, 0x12, 0x12, 0x08, 0x11,
|
|
||||||
0x00, 0x18, 0x01, 0x11, 0x11, 0x12, 0x66, 0x66, 0x67, 0x77, 0x77, 0x66,
|
|
||||||
0x62, 0x44, 0x06, 0x24, 0x00, 0x24, 0x62, 0x66, 0x66, 0x67, 0x87, 0x66,
|
|
||||||
0x68, 0x98, 0xa7, 0x87, 0x86, 0x54, 0x41, 0x11, 0x11, 0x01, 0x00, 0x01,
|
|
||||||
0x36, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x0a, 0x14, 0x27, 0x99, 0xbb,
|
|
||||||
0xbb, 0x00, 0x06, 0xeb, 0x00, 0x14, 0xaa, 0x28, 0x12, 0x32, 0x22, 0x21,
|
|
||||||
0x21, 0x01, 0x01, 0x22, 0x06, 0x12, 0x00, 0x06, 0x11, 0x11, 0x10, 0x00,
|
|
||||||
0x06, 0x11, 0x00, 0x22, 0x02, 0x11, 0x25, 0x66, 0x66, 0x76, 0x77, 0x77,
|
|
||||||
0x66, 0x62, 0x62, 0x24, 0x24, 0x22, 0x26, 0x26, 0x67, 0x00, 0x0c, 0x78,
|
|
||||||
0x00, 0x08, 0x88, 0x65, 0x43, 0x11, 0x0a, 0x10, 0x36, 0x00, 0x00, 0x00,
|
|
||||||
0x42, 0x00, 0x00, 0x08, 0x10, 0x14, 0x67, 0x79, 0x06, 0xbb, 0x00, 0x18,
|
|
||||||
0xbe, 0xbd, 0xba, 0x52, 0x33, 0x22, 0x22, 0x12, 0x12, 0x11, 0x01, 0x12,
|
|
||||||
0x08, 0x22, 0x00, 0x46, 0x21, 0x00, 0x11, 0x11, 0x01, 0x11, 0x11, 0x46,
|
|
||||||
0x76, 0x66, 0x66, 0x67, 0x77, 0x77, 0x66, 0x42, 0x44, 0x22, 0x42, 0x62,
|
|
||||||
0x67, 0x77, 0x67, 0x76, 0x78, 0x68, 0x88, 0x88, 0x64, 0x43, 0x31, 0x01,
|
|
||||||
0x01, 0x00, 0x10, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40,
|
|
||||||
0x10, 0x00, 0x15, 0x67, 0x99, 0x9b, 0xbb, 0xbe, 0xbe, 0xbc, 0x9a, 0x25,
|
|
||||||
0x12, 0x22, 0x12, 0x22, 0x21, 0x01, 0x11, 0x22, 0x22, 0x52, 0x22, 0x21,
|
|
||||||
0x20, 0x11, 0x11, 0x01, 0x11, 0x21, 0x12, 0x46, 0x06, 0x66, 0x00, 0x2e,
|
|
||||||
0x77, 0x66, 0x26, 0x66, 0x26, 0x22, 0x44, 0x26, 0x26, 0x66, 0x76, 0x78,
|
|
||||||
0x88, 0x87, 0x77, 0x66, 0x64, 0x41, 0x11, 0x10, 0x11, 0x01, 0x01, 0x00,
|
|
||||||
0x3c, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x26, 0x01, 0x13, 0x27, 0x79,
|
|
||||||
0xbb, 0xbe, 0xbb, 0xeb, 0xeb, 0xa8, 0x32, 0x12, 0x32, 0x22, 0x12, 0x11,
|
|
||||||
0x11, 0x00, 0x13, 0x00, 0x08, 0x22, 0x02, 0x01, 0x02, 0x10, 0x08, 0x11,
|
|
||||||
0x00, 0x2c, 0x14, 0x57, 0x88, 0x76, 0x77, 0x77, 0x67, 0x67, 0x62, 0x64,
|
|
||||||
0x24, 0x22, 0x22, 0x66, 0x76, 0x77, 0x78, 0x77, 0x77, 0x66, 0x44, 0x41,
|
|
||||||
0x06, 0x11, 0x42, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x56, 0x14, 0x66,
|
|
||||||
0x79, 0x9b, 0xbb, 0xeb, 0xee, 0xeb, 0xa8, 0x22, 0x32, 0x32, 0x22, 0x12,
|
|
||||||
0x11, 0x10, 0x11, 0x21, 0x22, 0x52, 0x22, 0x11, 0x11, 0x10, 0x20, 0x11,
|
|
||||||
0x12, 0x11, 0x15, 0x78, 0x77, 0x67, 0x68, 0x87, 0x86, 0x66, 0x76, 0x62,
|
|
||||||
0x42, 0x42, 0x46, 0x62, 0x66, 0x00, 0x06, 0x77, 0x00, 0x10, 0x66, 0x64,
|
|
||||||
0x11, 0x11, 0x01, 0x01, 0x00, 0x01, 0x40, 0x00, 0x00, 0x00, 0x42, 0x00,
|
|
||||||
0x00, 0x26, 0x01, 0x14, 0x66, 0x79, 0xbb, 0xeb, 0xbb, 0xee, 0xee, 0xda,
|
|
||||||
0x32, 0x21, 0x22, 0x21, 0x11, 0x11, 0x01, 0x11, 0x01, 0x00, 0x06, 0x22,
|
|
||||||
0x02, 0x11, 0x02, 0x10, 0x06, 0x11, 0x00, 0x08, 0x21, 0x11, 0x26, 0xa8,
|
|
||||||
0x06, 0x87, 0x00, 0x20, 0x77, 0x77, 0x76, 0x66, 0x62, 0x42, 0x42, 0x26,
|
|
||||||
0x26, 0x77, 0x66, 0x67, 0x64, 0x64, 0x44, 0x11, 0x06, 0x10, 0x02, 0x01,
|
|
||||||
0x42, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x24, 0x10, 0x01, 0x00, 0x00,
|
|
||||||
0x11, 0x67, 0x99, 0x9b, 0xbb, 0xbe, 0xee, 0xfe, 0xca, 0x21, 0x21, 0x58,
|
|
||||||
0xa2, 0x11, 0x06, 0x10, 0x06, 0x12, 0x08, 0x11, 0x00, 0x14, 0x12, 0x12,
|
|
||||||
0x11, 0x12, 0x68, 0x88, 0x98, 0x78, 0x78, 0x77, 0x06, 0x66, 0x00, 0x0a,
|
|
||||||
0x64, 0x24, 0x42, 0x46, 0x26, 0x00, 0x06, 0x66, 0x00, 0x08, 0x44, 0x41,
|
|
||||||
0x11, 0x01, 0x4a, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x0a, 0x13, 0x26,
|
|
||||||
0x79, 0xbb, 0xeb, 0x00, 0x06, 0xee, 0x00, 0x10, 0xca, 0x32, 0x21, 0xaf,
|
|
||||||
0xd5, 0x21, 0x11, 0x10, 0x06, 0x11, 0x00, 0x44, 0x12, 0x12, 0x53, 0x32,
|
|
||||||
0x11, 0x12, 0x12, 0x11, 0x32, 0x65, 0x77, 0x78, 0xa8, 0x77, 0x67, 0x67,
|
|
||||||
0x77, 0x72, 0x24, 0x26, 0x22, 0x22, 0x76, 0x76, 0x66, 0x44, 0x41, 0x11,
|
|
||||||
0x01, 0x01, 0x00, 0x01, 0x00, 0x10, 0x42, 0x00, 0x00, 0x00, 0x44, 0x00,
|
|
||||||
0x00, 0x2e, 0x11, 0x45, 0x79, 0xbe, 0xbb, 0xeb, 0xee, 0xee, 0xea, 0x32,
|
|
||||||
0x55, 0xfd, 0xd5, 0x55, 0x51, 0x11, 0x18, 0x31, 0x02, 0x11, 0x13, 0x85,
|
|
||||||
0x85, 0x00, 0x06, 0x21, 0x00, 0x28, 0x11, 0x24, 0x56, 0xaa, 0xca, 0x98,
|
|
||||||
0x87, 0x87, 0x98, 0x97, 0x66, 0x64, 0x24, 0x24, 0x26, 0x62, 0x66, 0x26,
|
|
||||||
0x44, 0x41, 0x06, 0x10, 0x02, 0x00, 0x02, 0x10, 0x46, 0x00, 0x00, 0x00,
|
|
||||||
0x44, 0x00, 0x00, 0x68, 0x11, 0x27, 0x79, 0xbb, 0xbe, 0xbb, 0xee, 0xfe,
|
|
||||||
0xea, 0x21, 0xd8, 0xcf, 0xd5, 0x25, 0x22, 0x12, 0x1d, 0x81, 0x21, 0x11,
|
|
||||||
0x25, 0x58, 0x52, 0x11, 0x22, 0x11, 0x14, 0x25, 0x58, 0xaa, 0xcc, 0xca,
|
|
||||||
0x88, 0x87, 0x89, 0x77, 0x77, 0x64, 0x24, 0x22, 0x22, 0x77, 0x76, 0x64,
|
|
||||||
0x41, 0x01, 0x01, 0x00, 0x00, 0x10, 0x00, 0x10, 0x44, 0x00, 0x00, 0x00,
|
|
||||||
0x44, 0x00, 0x00, 0x5c, 0x11, 0x46, 0x99, 0xbe, 0xdb, 0xbb, 0xee, 0xef,
|
|
||||||
0xc8, 0x35, 0xfd, 0xdd, 0xd8, 0x12, 0x11, 0x11, 0x1d, 0xa1, 0x32, 0x82,
|
|
||||||
0x32, 0x55, 0x21, 0x11, 0x11, 0x01, 0x22, 0x55, 0x58, 0x8a, 0xac, 0xac,
|
|
||||||
0x99, 0xa9, 0xa9, 0x87, 0x76, 0x42, 0x22, 0x22, 0x67, 0x66, 0x26, 0x44,
|
|
||||||
0x11, 0x01, 0x50, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x2c, 0x01, 0x12,
|
|
||||||
0x68, 0x9b, 0xbb, 0xbe, 0xbe, 0xee, 0xda, 0x53, 0xfa, 0x8f, 0xd2, 0x12,
|
|
||||||
0x11, 0x11, 0x1d, 0xd2, 0x55, 0x32, 0x22, 0x22, 0x06, 0x11, 0x00, 0x34,
|
|
||||||
0x12, 0x55, 0x55, 0x58, 0xaa, 0xcc, 0xc9, 0xa8, 0x87, 0x77, 0x77, 0x66,
|
|
||||||
0x66, 0x26, 0x26, 0x67, 0x26, 0x64, 0x24, 0x10, 0x10, 0x00, 0x01, 0x01,
|
|
||||||
0x00, 0x10, 0x46, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x2e, 0x01, 0x11,
|
|
||||||
0x46, 0x67, 0x9b, 0xeb, 0xeb, 0xbb, 0xee, 0xca, 0x55, 0xfa, 0x8d, 0xa5,
|
|
||||||
0x21, 0x11, 0x11, 0x1f, 0xd3, 0x22, 0x12, 0x21, 0x01, 0x00, 0x06, 0x11,
|
|
||||||
0x02, 0x25, 0x06, 0x55, 0x00, 0x20, 0x8a, 0xac, 0x9a, 0x77, 0x76, 0x77,
|
|
||||||
0x77, 0x66, 0x76, 0x26, 0x27, 0x62, 0x66, 0x62, 0x44, 0x10, 0x52, 0x00,
|
|
||||||
0x00, 0x00, 0x44, 0x00, 0x00, 0x26, 0x01, 0x34, 0x89, 0xa9, 0xbb, 0xbb,
|
|
||||||
0xb9, 0xcf, 0xca, 0x53, 0xfd, 0x5d, 0x81, 0x21, 0x11, 0x11, 0x3d, 0xd3,
|
|
||||||
0x22, 0x00, 0x0a, 0x11, 0x00, 0x2a, 0x35, 0x58, 0x55, 0x54, 0x26, 0x78,
|
|
||||||
0x7a, 0x9a, 0x9a, 0xa9, 0x77, 0x77, 0x76, 0x42, 0x22, 0x62, 0x67, 0x66,
|
|
||||||
0x24, 0x21, 0x11, 0x00, 0x52, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x28,
|
|
||||||
0x01, 0x11, 0x44, 0x57, 0x9b, 0xbb, 0xbb, 0x9b, 0xbd, 0xed, 0xa5, 0xfd,
|
|
||||||
0x38, 0x51, 0x11, 0x01, 0x11, 0x2d, 0xd1, 0x21, 0x08, 0x11, 0x02, 0x35,
|
|
||||||
0x06, 0x55, 0x00, 0x22, 0x62, 0x66, 0x66, 0x77, 0x79, 0xa9, 0x99, 0x97,
|
|
||||||
0x77, 0x24, 0x22, 0x66, 0x77, 0x67, 0x26, 0x64, 0x11, 0x00, 0x54, 0x00,
|
|
||||||
0x00, 0x00, 0x44, 0x00, 0x00, 0x2e, 0x01, 0x14, 0x67, 0xa9, 0xbb, 0xbb,
|
|
||||||
0x99, 0xcf, 0xcd, 0xa5, 0xff, 0xdd, 0x88, 0x1d, 0x3d, 0x31, 0x38, 0x82,
|
|
||||||
0x22, 0x32, 0x32, 0x23, 0x25, 0x00, 0x06, 0x55, 0x02, 0x54, 0x06, 0x62,
|
|
||||||
0x00, 0x1c, 0x22, 0x67, 0x79, 0x97, 0x77, 0x66, 0x42, 0x26, 0x78, 0x76,
|
|
||||||
0x67, 0x64, 0x22, 0x11, 0x54, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x2e,
|
|
||||||
0x10, 0x01, 0x01, 0x46, 0x7b, 0xcb, 0x99, 0x99, 0xcd, 0xcd, 0x88, 0xdd,
|
|
||||||
0xfd, 0xdf, 0xdd, 0xad, 0x51, 0x23, 0x25, 0x55, 0x25, 0x25, 0x35, 0x00,
|
|
||||||
0x08, 0x55, 0x00, 0x0c, 0x56, 0x27, 0x62, 0x62, 0x66, 0x67, 0x06, 0x77,
|
|
||||||
0x00, 0x12, 0x62, 0x24, 0x66, 0x66, 0x76, 0x76, 0x64, 0x41, 0x10, 0x00,
|
|
||||||
0x54, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x56, 0x11, 0x16, 0x99, 0xbb,
|
|
||||||
0x99, 0x99, 0x9f, 0xcd, 0xa8, 0x8d, 0xdd, 0xdd, 0x8d, 0x8d, 0x31, 0x35,
|
|
||||||
0x35, 0x55, 0x58, 0x55, 0x25, 0x55, 0x35, 0x55, 0x55, 0x42, 0x62, 0x66,
|
|
||||||
0x66, 0x62, 0x26, 0x66, 0x77, 0x76, 0x24, 0x26, 0x66, 0x76, 0x66, 0x76,
|
|
||||||
0x64, 0x21, 0x10, 0x00, 0x54, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x2a,
|
|
||||||
0x01, 0x00, 0x00, 0x11, 0x46, 0x89, 0xcb, 0xb9, 0x99, 0xae, 0xda, 0xaa,
|
|
||||||
0x83, 0x23, 0x58, 0x15, 0x85, 0x55, 0x85, 0x85, 0x58, 0x00, 0x06, 0x55,
|
|
||||||
0x00, 0x2a, 0x33, 0x55, 0x55, 0x32, 0x22, 0x27, 0x67, 0x62, 0x22, 0x62,
|
|
||||||
0x67, 0x77, 0x24, 0x24, 0x26, 0x67, 0x87, 0x87, 0x66, 0x42, 0x11, 0x00,
|
|
||||||
0x56, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x02, 0x01, 0x06, 0x00, 0x00, 0x56,
|
|
||||||
0x01, 0x11, 0x13, 0x69, 0xbb, 0xb9, 0x99, 0xcc, 0xfd, 0xdd, 0xd8, 0x13,
|
|
||||||
0x23, 0x38, 0xd8, 0x85, 0x55, 0x83, 0x85, 0xa8, 0x88, 0x55, 0x35, 0x53,
|
|
||||||
0x33, 0x44, 0x27, 0x77, 0x77, 0x76, 0x77, 0x26, 0x27, 0x76, 0x62, 0x62,
|
|
||||||
0x64, 0x66, 0x77, 0x77, 0x66, 0x21, 0x11, 0x00, 0x56, 0x00, 0x00, 0x00,
|
|
||||||
0x40, 0x00, 0x00, 0x5a, 0x10, 0x10, 0x11, 0x01, 0x14, 0x68, 0x9c, 0xb9,
|
|
||||||
0x99, 0xdf, 0xec, 0xda, 0x88, 0x11, 0x21, 0x8d, 0x8a, 0x8a, 0x88, 0xa8,
|
|
||||||
0xaa, 0xd8, 0xa5, 0x35, 0x33, 0x33, 0x22, 0x22, 0x27, 0x77, 0x77, 0x27,
|
|
||||||
0x26, 0x26, 0x67, 0x62, 0x62, 0x24, 0x26, 0x67, 0x87, 0x66, 0x65, 0x41,
|
|
||||||
0x10, 0x00, 0x56, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x42, 0x11, 0x34,
|
|
||||||
0x57, 0x9b, 0xbb, 0x99, 0xef, 0xfd, 0xdd, 0x53, 0x11, 0x11, 0x33, 0x88,
|
|
||||||
0x88, 0xa8, 0x5a, 0x8a, 0xd8, 0xaa, 0x83, 0x32, 0x12, 0x11, 0x22, 0x72,
|
|
||||||
0x72, 0x77, 0x77, 0x66, 0x26, 0x26, 0x42, 0x00, 0x08, 0x66, 0x00, 0x08,
|
|
||||||
0x77, 0x66, 0x54, 0x11, 0x58, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x16,
|
|
||||||
0x01, 0x11, 0x11, 0x44, 0x78, 0x99, 0x77, 0xdf, 0xdd, 0xd5, 0x31, 0x00,
|
|
||||||
0x06, 0x11, 0x00, 0x38, 0x8d, 0xda, 0xda, 0xad, 0xda, 0xda, 0xa8, 0x33,
|
|
||||||
0x21, 0x31, 0x12, 0x27, 0x77, 0x77, 0x76, 0x72, 0x76, 0x22, 0x22, 0x26,
|
|
||||||
0x24, 0x64, 0x66, 0x67, 0x88, 0x68, 0x64, 0x11, 0x08, 0x00, 0x02, 0xf0,
|
|
||||||
0x4e, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x1a, 0x11, 0x12, 0x77, 0xb9,
|
|
||||||
0x97, 0xdf, 0xff, 0xd1, 0x11, 0x12, 0x10, 0x10, 0x33, 0x00, 0x06, 0xad,
|
|
||||||
0x00, 0x30, 0xcf, 0xdd, 0xd8, 0x83, 0x11, 0x13, 0x22, 0x77, 0x27, 0x72,
|
|
||||||
0x77, 0x77, 0x62, 0x42, 0x22, 0x67, 0x76, 0x64, 0x66, 0x77, 0x87, 0x76,
|
|
||||||
0x64, 0x11, 0x08, 0x00, 0x02, 0xff, 0x4e, 0x00, 0x00, 0x00, 0x44, 0x00,
|
|
||||||
0x00, 0x22, 0x11, 0x01, 0x01, 0x14, 0x46, 0x89, 0x97, 0xdf, 0xfd, 0x33,
|
|
||||||
0x11, 0x12, 0x01, 0x11, 0x10, 0x5d, 0xdc, 0x00, 0x06, 0xdd, 0x00, 0x0e,
|
|
||||||
0xaa, 0x33, 0x11, 0x12, 0x22, 0x77, 0x77, 0x00, 0x08, 0x72, 0x00, 0x16,
|
|
||||||
0x22, 0x26, 0x76, 0x66, 0x62, 0x66, 0x77, 0x77, 0x76, 0x41, 0x10, 0x00,
|
|
||||||
0x08, 0x00, 0x02, 0xff, 0x02, 0x30, 0x4c, 0x00, 0x00, 0x00, 0x48, 0x00,
|
|
||||||
0x00, 0x50, 0x01, 0x11, 0x34, 0x67, 0x99, 0x7d, 0xff, 0xd1, 0x11, 0x13,
|
|
||||||
0x10, 0x10, 0x11, 0x03, 0xfd, 0xfc, 0xfd, 0x8a, 0x88, 0x52, 0x11, 0x22,
|
|
||||||
0x77, 0x77, 0x72, 0x77, 0x72, 0x77, 0x22, 0x22, 0x66, 0x76, 0x76, 0x66,
|
|
||||||
0x67, 0x77, 0x87, 0x65, 0x41, 0x11, 0x08, 0x00, 0x02, 0x1f, 0x02, 0xf0,
|
|
||||||
0x4c, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x2e, 0x10, 0x11, 0x46, 0x9a,
|
|
||||||
0xb9, 0x77, 0xff, 0x51, 0x11, 0x33, 0x10, 0x11, 0x10, 0x01, 0xdd, 0xff,
|
|
||||||
0xfd, 0xcd, 0x85, 0x35, 0x32, 0x67, 0x97, 0x00, 0x08, 0x77, 0x00, 0x0a,
|
|
||||||
0x72, 0x72, 0x62, 0x77, 0x76, 0x00, 0x0a, 0x66, 0x02, 0x54, 0x02, 0x31,
|
|
||||||
0x0a, 0x00, 0x02, 0x0f, 0x02, 0xf1, 0x4c, 0x00, 0x00, 0x00, 0x4a, 0x00,
|
|
||||||
0x00, 0x4e, 0x11, 0x56, 0x8b, 0xdb, 0x77, 0x9d, 0x51, 0x13, 0x35, 0x30,
|
|
||||||
0x11, 0x11, 0x05, 0xcd, 0xed, 0xff, 0xda, 0x55, 0x24, 0x26, 0x67, 0x77,
|
|
||||||
0x77, 0x72, 0x77, 0x27, 0x77, 0x22, 0x26, 0x77, 0x76, 0x76, 0x66, 0x66,
|
|
||||||
0x78, 0x88, 0x53, 0x01, 0x10, 0x00, 0x08, 0x00, 0x02, 0x0f, 0x02, 0xff,
|
|
||||||
0x4c, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x4e, 0x01, 0x33, 0x5a, 0xbc,
|
|
||||||
0xbb, 0x99, 0x77, 0x25, 0x3d, 0xdd, 0x50, 0x11, 0x11, 0x1a, 0xa8, 0x88,
|
|
||||||
0xaa, 0x88, 0x42, 0x62, 0x22, 0x27, 0x22, 0x62, 0x72, 0x72, 0x77, 0x22,
|
|
||||||
0x26, 0x77, 0x77, 0x86, 0x66, 0x77, 0x77, 0x78, 0x8a, 0x85, 0x31, 0x00,
|
|
||||||
0x0a, 0x00, 0x00, 0x06, 0x08, 0xff, 0xd0, 0x00, 0x4a, 0x00, 0x00, 0x00,
|
|
||||||
0x4a, 0x00, 0x00, 0x22, 0x38, 0xac, 0xce, 0xcc, 0x97, 0x77, 0x75, 0x33,
|
|
||||||
0x33, 0x53, 0x11, 0x05, 0xaa, 0xd8, 0x85, 0x66, 0x27, 0x00, 0x06, 0x26,
|
|
||||||
0x00, 0x0a, 0x22, 0x62, 0x22, 0x22, 0x72, 0x00, 0x06, 0x22, 0x0c, 0x77,
|
|
||||||
0x00, 0x0c, 0x7a, 0x88, 0xaa, 0x88, 0x33, 0x10, 0x06, 0x00, 0x00, 0x06,
|
|
||||||
0x01, 0xff, 0xf1, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x32,
|
|
||||||
0x03, 0x5a, 0xcc, 0xec, 0xbc, 0xb9, 0x97, 0x97, 0x23, 0x11, 0x11, 0x13,
|
|
||||||
0x59, 0xda, 0x97, 0x66, 0x77, 0x27, 0x27, 0x77, 0x27, 0x22, 0x72, 0x22,
|
|
||||||
0x27, 0x00, 0x06, 0x72, 0x02, 0x26, 0x06, 0x77, 0x00, 0x14, 0x78, 0x77,
|
|
||||||
0x77, 0x88, 0xa8, 0xa8, 0x85, 0x53, 0x30, 0x01, 0x06, 0x00, 0x02, 0xff,
|
|
||||||
0x02, 0xff, 0x4a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x52, 0x01, 0x38,
|
|
||||||
0xac, 0xcc, 0xec, 0xe9, 0x99, 0x99, 0x77, 0x27, 0x27, 0x77, 0x77, 0x79,
|
|
||||||
0x97, 0x77, 0x72, 0x72, 0x27, 0x72, 0x77, 0x72, 0x26, 0x26, 0x27, 0x77,
|
|
||||||
0x72, 0x62, 0x77, 0x78, 0x77, 0x77, 0x87, 0x77, 0x78, 0x8a, 0x8a, 0x88,
|
|
||||||
0x8a, 0xa8, 0x33, 0x00, 0x08, 0x00, 0x00, 0x06, 0xff, 0xff, 0x80, 0x00,
|
|
||||||
0x48, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x24, 0x03, 0x5a, 0xac, 0xee,
|
|
||||||
0xee, 0x9b, 0xb9, 0xd9, 0x97, 0x79, 0x77, 0x77, 0x79, 0x79, 0x77, 0x97,
|
|
||||||
0x77, 0x72, 0x06, 0x77, 0x00, 0x0e, 0x27, 0x26, 0x27, 0x22, 0x77, 0x27,
|
|
||||||
0x72, 0x00, 0x06, 0x77, 0x00, 0x14, 0x78, 0x98, 0x77, 0xa7, 0x8a, 0x8a,
|
|
||||||
0x88, 0x85, 0x55, 0x53, 0x08, 0x00, 0x00, 0x06, 0xaf, 0xff, 0xf0, 0x00,
|
|
||||||
0x48, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x54, 0x01, 0x5a, 0xce, 0xfe,
|
|
||||||
0xee, 0xee, 0xbb, 0xb9, 0x99, 0x99, 0x97, 0x77, 0x77, 0x97, 0x79, 0x77,
|
|
||||||
0x77, 0x27, 0x22, 0x77, 0x79, 0x77, 0x77, 0x72, 0x76, 0x22, 0x62, 0x77,
|
|
||||||
0x77, 0x79, 0x97, 0x98, 0x99, 0xa7, 0x87, 0xa8, 0x88, 0xa8, 0x58, 0x85,
|
|
||||||
0x53, 0x10, 0x06, 0x00, 0x00, 0x06, 0x1f, 0xff, 0xff, 0x00, 0x48, 0x00,
|
|
||||||
0x00, 0x00, 0x48, 0x00, 0x00, 0x16, 0x13, 0x8c, 0xce, 0xce, 0xee, 0xbb,
|
|
||||||
0xbe, 0xbb, 0xd9, 0x99, 0x79, 0x00, 0x06, 0x77, 0x02, 0x97, 0x06, 0x77,
|
|
||||||
0x00, 0x30, 0x27, 0x77, 0x79, 0x99, 0x89, 0x87, 0x76, 0x27, 0x77, 0x77,
|
|
||||||
0x79, 0x99, 0xa9, 0xab, 0xaa, 0x9a, 0x7a, 0x88, 0x8a, 0x85, 0x53, 0x55,
|
|
||||||
0x83, 0x30, 0x06, 0x00, 0x00, 0x08, 0x0f, 0xff, 0xff, 0x50, 0x46, 0x00,
|
|
||||||
0x00, 0x00, 0x48, 0x00, 0x00, 0x20, 0x03, 0x8c, 0xcf, 0xee, 0xee, 0xeb,
|
|
||||||
0xeb, 0xbe, 0xb9, 0x97, 0x99, 0x77, 0x79, 0x99, 0x77, 0x97, 0x08, 0x77,
|
|
||||||
0x00, 0x08, 0x99, 0x97, 0x77, 0x79, 0x06, 0x77, 0x00, 0x2c, 0x97, 0x99,
|
|
||||||
0x9a, 0x9b, 0xcb, 0xcb, 0xaa, 0x98, 0x8a, 0x88, 0x8a, 0x58, 0x55, 0x55,
|
|
||||||
0x31, 0x01, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xf0, 0x46, 0x00, 0x00, 0x00,
|
|
||||||
0x48, 0x00, 0x00, 0x18, 0x08, 0xcc, 0xfe, 0xee, 0xee, 0xbe, 0xee, 0xee,
|
|
||||||
0xbb, 0xa9, 0x99, 0x79, 0x06, 0x97, 0x00, 0x0e, 0x77, 0x79, 0x79, 0x77,
|
|
||||||
0x97, 0x99, 0x97, 0x00, 0x08, 0x77, 0x00, 0x20, 0x79, 0x79, 0x99, 0x99,
|
|
||||||
0xba, 0xbe, 0xbe, 0xbb, 0x89, 0xaa, 0x8a, 0x8a, 0x88, 0x58, 0x55, 0x33,
|
|
||||||
0x06, 0x00, 0x00, 0x08, 0x08, 0xff, 0xff, 0xfd, 0x46, 0x00, 0x00, 0x00,
|
|
||||||
0x48, 0x00, 0x00, 0x2a, 0x38, 0xac, 0xce, 0xee, 0xee, 0xbe, 0xbe, 0xeb,
|
|
||||||
0xd9, 0x99, 0x79, 0x99, 0x79, 0x77, 0x97, 0x97, 0x79, 0x77, 0x77, 0x79,
|
|
||||||
0x79, 0x00, 0x0a, 0x77, 0x00, 0x20, 0x79, 0x97, 0x99, 0x9a, 0xbb, 0xeb,
|
|
||||||
0xee, 0xcc, 0xba, 0xaa, 0xa8, 0xa8, 0x88, 0x88, 0x53, 0x31, 0x06, 0x00,
|
|
||||||
0x02, 0x03, 0x06, 0xff, 0x02, 0x30, 0x44, 0x00, 0x00, 0x00, 0x46, 0x00,
|
|
||||||
0x00, 0x08, 0x01, 0x35, 0xaa, 0xce, 0x0a, 0xee, 0x02, 0xba, 0x08, 0x99,
|
|
||||||
0x00, 0x10, 0x77, 0x79, 0x77, 0x97, 0x77, 0x97, 0x79, 0x97, 0x0c, 0x77,
|
|
||||||
0x06, 0x79, 0x00, 0x1a, 0x9b, 0xee, 0xee, 0xbe, 0xca, 0x9c, 0xaa, 0xa8,
|
|
||||||
0x85, 0x85, 0x33, 0x00, 0x10, 0x00, 0x06, 0x00, 0x06, 0xff, 0x02, 0xf0,
|
|
||||||
0x44, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x18, 0x03, 0x8c, 0xee, 0xee,
|
|
||||||
0xeb, 0xeb, 0xee, 0xbe, 0x99, 0x99, 0x97, 0x97, 0x06, 0x77, 0x00, 0x06,
|
|
||||||
0x99, 0x77, 0x97, 0x00, 0x08, 0x77, 0x00, 0x0a, 0x27, 0x77, 0x72, 0x77,
|
|
||||||
0x77, 0x00, 0x06, 0x79, 0x00, 0x18, 0x9a, 0xbb, 0xbe, 0xee, 0xbb, 0xca,
|
|
||||||
0xca, 0xaa, 0xa8, 0x55, 0x31, 0x10, 0x08, 0x00, 0x06, 0xff, 0x02, 0xfd,
|
|
||||||
0x44, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x18, 0x03, 0xac, 0xce, 0xee,
|
|
||||||
0xbe, 0xee, 0xee, 0xba, 0x9b, 0x99, 0x77, 0x72, 0x12, 0x77, 0x00, 0x06,
|
|
||||||
0x26, 0x26, 0x72, 0x00, 0x0c, 0x77, 0x00, 0x16, 0x99, 0xbd, 0xee, 0xee,
|
|
||||||
0xec, 0xc9, 0xaa, 0xaa, 0x88, 0x35, 0x31, 0x00, 0x0a, 0x00, 0x02, 0xdf,
|
|
||||||
0x06, 0xff, 0x02, 0x10, 0x42, 0x00, 0x00, 0x00, 0x48, 0x00, 0x02, 0x03,
|
|
||||||
0x02, 0x8c, 0x08, 0xee, 0x00, 0x28, 0xbc, 0xbb, 0xbb, 0x99, 0x77, 0x77,
|
|
||||||
0x72, 0x62, 0x62, 0x26, 0x66, 0x67, 0x77, 0x76, 0x62, 0x21, 0x22, 0x66,
|
|
||||||
0x67, 0x26, 0x06, 0x22, 0x00, 0x1c, 0x79, 0x99, 0x9b, 0xbe, 0xee, 0xeb,
|
|
||||||
0xcb, 0xca, 0xaa, 0xaa, 0x85, 0x53, 0x00, 0x01, 0x06, 0x00, 0x02, 0x3f,
|
|
||||||
0x06, 0xff, 0x02, 0xf0, 0x42, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x1a,
|
|
||||||
0x03, 0xac, 0xee, 0xee, 0xbe, 0xeb, 0xbe, 0xbd, 0xbb, 0x99, 0x77, 0x76,
|
|
||||||
0x25, 0x00, 0x10, 0x22, 0x02, 0x11, 0x02, 0x12, 0x0a, 0x22, 0x00, 0x1e,
|
|
||||||
0x25, 0x77, 0x99, 0x9b, 0xdb, 0xee, 0xee, 0xcc, 0xca, 0xaa, 0xaa, 0x55,
|
|
||||||
0x30, 0x00, 0x10, 0x00, 0x06, 0x00, 0x02, 0x0f, 0x06, 0xff, 0x02, 0xfd,
|
|
||||||
0x42, 0x00, 0x00, 0x00, 0x48, 0x00, 0x02, 0x03, 0x02, 0xce, 0x06, 0xee,
|
|
||||||
0x00, 0x12, 0xba, 0x9a, 0xbb, 0xbb, 0x99, 0x77, 0x68, 0x22, 0x21, 0x00,
|
|
||||||
0x0a, 0x11, 0x00, 0x2e, 0x21, 0x10, 0x10, 0x01, 0x12, 0x22, 0x11, 0x21,
|
|
||||||
0x11, 0x11, 0x27, 0x89, 0x99, 0xbb, 0xee, 0xee, 0xec, 0xcc, 0xca, 0xad,
|
|
||||||
0x88, 0x31, 0x10, 0x00, 0x08, 0x00, 0x02, 0x0f, 0x08, 0xff, 0x42, 0x00,
|
|
||||||
0x00, 0x00, 0x48, 0x00, 0x00, 0x26, 0x18, 0xae, 0xee, 0xee, 0xeb, 0xc9,
|
|
||||||
0x9b, 0xb9, 0x99, 0x98, 0x88, 0x23, 0x33, 0x11, 0x11, 0x10, 0x10, 0x01,
|
|
||||||
0x01, 0x00, 0x08, 0x00, 0x02, 0x10, 0x08, 0x11, 0x00, 0x0c, 0x10, 0x35,
|
|
||||||
0x88, 0x8a, 0xaa, 0xcc, 0x06, 0xec, 0x00, 0x08, 0xca, 0xaa, 0x85, 0x33,
|
|
||||||
0x0a, 0x00, 0x02, 0x0d, 0x08, 0xff, 0x02, 0xf0, 0x40, 0x00, 0x00, 0x00,
|
|
||||||
0x48, 0x00, 0x00, 0x1a, 0x05, 0xae, 0xee, 0xee, 0xbc, 0x98, 0xa9, 0xaa,
|
|
||||||
0x88, 0x85, 0x53, 0x33, 0x11, 0x00, 0x06, 0x10, 0x0e, 0x00, 0x00, 0x26,
|
|
||||||
0x01, 0x11, 0x00, 0x10, 0x00, 0x10, 0x01, 0x35, 0x88, 0xaa, 0x8a, 0xac,
|
|
||||||
0xce, 0xec, 0xcc, 0xaa, 0xaa, 0x53, 0x10, 0x00, 0x08, 0x00, 0x02, 0x03,
|
|
||||||
0x08, 0xff, 0x02, 0xf8, 0x40, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x1a,
|
|
||||||
0x15, 0xce, 0xee, 0xee, 0xc7, 0x88, 0xa8, 0xa8, 0x85, 0x33, 0x33, 0x11,
|
|
||||||
0x10, 0x00, 0x20, 0x00, 0x00, 0x1c, 0x01, 0x13, 0x35, 0x85, 0x88, 0xaa,
|
|
||||||
0xdc, 0xce, 0xcc, 0xca, 0x88, 0x51, 0x00, 0x01, 0x08, 0x00, 0x0a, 0xff,
|
|
||||||
0x40, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x18, 0x05, 0xce, 0xee, 0xec,
|
|
||||||
0x88, 0x85, 0x88, 0x53, 0x53, 0x31, 0x33, 0x30, 0x24, 0x00, 0x00, 0x22,
|
|
||||||
0x01, 0x03, 0x35, 0x35, 0x85, 0x88, 0xac, 0xfe, 0xca, 0xa8, 0x53, 0x10,
|
|
||||||
0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x0a, 0xff, 0x02, 0xf0, 0x3e, 0x00,
|
|
||||||
0x00, 0x00, 0x48, 0x00, 0x00, 0x0a, 0x18, 0xcf, 0xee, 0xea, 0x58, 0x00,
|
|
||||||
0x08, 0x33, 0x02, 0x31, 0x02, 0x31, 0x28, 0x00, 0x00, 0x1a, 0x11, 0x13,
|
|
||||||
0x33, 0x35, 0x85, 0x8d, 0xdc, 0xec, 0xa8, 0x30, 0x00, 0x00, 0x01, 0x00,
|
|
||||||
0x06, 0x00, 0x02, 0xdf, 0x08, 0xff, 0x02, 0xf3, 0x3e, 0x00, 0x00, 0x00,
|
|
||||||
0x48, 0x00, 0x00, 0x0a, 0x08, 0xce, 0xee, 0xc8, 0x85, 0x00, 0x06, 0x33,
|
|
||||||
0x00, 0x06, 0x30, 0x33, 0x10, 0x00, 0x2a, 0x00, 0x00, 0x16, 0x01, 0x13,
|
|
||||||
0x33, 0x35, 0x38, 0x5a, 0xcc, 0xaa, 0x31, 0x00, 0x10, 0x00, 0x08, 0x00,
|
|
||||||
0x02, 0x3f, 0x0a, 0xff, 0x3e, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x14,
|
|
||||||
0x08, 0xcf, 0xee, 0xa5, 0x53, 0x31, 0x30, 0x30, 0x33, 0x11, 0x2e, 0x00,
|
|
||||||
0x00, 0x10, 0x11, 0x13, 0x33, 0x35, 0x38, 0xdc, 0xaa, 0x30, 0x0c, 0x00,
|
|
||||||
0x02, 0x0f, 0x0a, 0xff, 0x02, 0xd0, 0x3c, 0x00, 0x00, 0x00, 0x48, 0x00,
|
|
||||||
0x00, 0x0a, 0x05, 0xee, 0xff, 0x88, 0x53, 0x00, 0x06, 0x33, 0x02, 0x11,
|
|
||||||
0x32, 0x00, 0x02, 0x10, 0x06, 0x33, 0x00, 0x14, 0x8c, 0xca, 0x31, 0x00,
|
|
||||||
0x10, 0x00, 0x10, 0x00, 0x00, 0x0f, 0x0a, 0xff, 0x02, 0xf3, 0x3c, 0x00,
|
|
||||||
0x00, 0x00, 0x48, 0x00, 0x00, 0x12, 0x1a, 0xfe, 0xea, 0x55, 0x33, 0x33,
|
|
||||||
0x13, 0x11, 0x01, 0x00, 0x32, 0x00, 0x02, 0x10, 0x06, 0x33, 0x00, 0x06,
|
|
||||||
0xad, 0xc8, 0x30, 0x00, 0x0c, 0x00, 0x02, 0x0f, 0x0c, 0xff, 0x3c, 0x00,
|
|
||||||
0x00, 0x00, 0x48, 0x00, 0x00, 0x10, 0x0a, 0xef, 0xfa, 0x85, 0x33, 0x31,
|
|
||||||
0x33, 0x10, 0x36, 0x00, 0x00, 0x12, 0x10, 0x33, 0x33, 0x5c, 0xcc, 0x51,
|
|
||||||
0x01, 0x00, 0x01, 0x00, 0x06, 0x00, 0x02, 0x03, 0x0c, 0xff, 0x02, 0xd0,
|
|
||||||
0x3a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x0e, 0x3c, 0xfe, 0xc5, 0x33,
|
|
||||||
0x33, 0x31, 0x30, 0x00, 0x36, 0x00, 0x00, 0x0e, 0x10, 0x11, 0x13, 0x33,
|
|
||||||
0x3d, 0xcc, 0x50, 0x00, 0x0e, 0x00, 0x0c, 0xff, 0x02, 0xf1, 0x3a, 0x00,
|
|
||||||
0x00, 0x00, 0x48, 0x00, 0x00, 0x0c, 0x1a, 0xef, 0xc5, 0x53, 0x33, 0x31,
|
|
||||||
0x3c, 0x00, 0x00, 0x10, 0x10, 0x33, 0x38, 0xac, 0x83, 0x01, 0x00, 0x10,
|
|
||||||
0x08, 0x00, 0x0e, 0xff, 0x3a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x0c,
|
|
||||||
0x1c, 0xfe, 0xa3, 0x33, 0x03, 0x10, 0x38, 0x00, 0x06, 0x01, 0x00, 0x08,
|
|
||||||
0x33, 0x3d, 0xaa, 0x80, 0x0e, 0x00, 0x0e, 0xff, 0x02, 0xa0, 0x38, 0x00,
|
|
||||||
0x00, 0x00, 0x48, 0x00, 0x00, 0x0a, 0x3d, 0xef, 0x83, 0x33, 0x33, 0x00,
|
|
||||||
0x3e, 0x00, 0x00, 0x0a, 0x10, 0x03, 0x35, 0x8a, 0xa3, 0x00, 0x0e, 0x00,
|
|
||||||
0x02, 0x8f, 0x0c, 0xff, 0x02, 0xf0, 0x38, 0x00, 0x00, 0x00, 0x48, 0x00,
|
|
||||||
0x00, 0x0a, 0x3c, 0xec, 0x53, 0x31, 0x10, 0x00, 0x3c, 0x00, 0x00, 0x10,
|
|
||||||
0x01, 0x00, 0x11, 0x33, 0xaa, 0x50, 0x00, 0x10, 0x0a, 0x00, 0x02, 0x0f,
|
|
||||||
0x0e, 0xff, 0x38, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x08, 0x1c, 0xfd,
|
|
||||||
0x53, 0x11, 0x40, 0x00, 0x00, 0x0a, 0x01, 0x00, 0x01, 0x5a, 0x81, 0x00,
|
|
||||||
0x0e, 0x00, 0x02, 0x0f, 0x0e, 0xff, 0x02, 0x80, 0x36, 0x00, 0x00, 0x00,
|
|
||||||
0x48, 0x00, 0x00, 0x08, 0x1c, 0xca, 0x33, 0x01, 0x42, 0x00, 0x00, 0x06,
|
|
||||||
0x01, 0x00, 0x11, 0x00, 0x10, 0x00, 0x02, 0x0f, 0x0e, 0xff, 0x02, 0xf0,
|
|
||||||
0x36, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x06, 0x08, 0xf8, 0x31, 0x00,
|
|
||||||
0x5a, 0x00, 0x02, 0x0a, 0x10, 0xff, 0x36, 0x00, 0x00, 0x00, 0x48, 0x00,
|
|
||||||
0x00, 0x06, 0x05, 0xa3, 0x10, 0x00, 0x5a, 0x00, 0x02, 0x01, 0x10, 0xff,
|
|
||||||
0x02, 0x30, 0x34, 0x00, 0x00, 0x00, 0x4a, 0x00, 0x02, 0x10, 0x5e, 0x00,
|
|
||||||
0x10, 0xff, 0x02, 0xf0, 0x34, 0x00, 0x00, 0x00, 0xaa, 0x00, 0x10, 0xff,
|
|
||||||
0x02, 0xfd, 0x34, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x8f, 0xe8, 0xff,
|
|
||||||
0x02, 0xd0, 0x02, 0x00, 0x00, 0x00, 0x02, 0x3f, 0xec, 0xff, 0x02, 0x30,
|
|
||||||
0x00, 0x00, 0xee, 0xff, 0x02, 0xf0, 0x00, 0x00, 0xee, 0xff, 0x02, 0xf8,
|
|
||||||
0x00, 0x00, 0xf0, 0xff, 0x00, 0x00, 0xf0, 0xff, 0x00, 0x00, 0xf0, 0xff,
|
|
||||||
0x00, 0x00, 0xf0, 0xff, 0x00, 0x00, 0xf0, 0xff, 0x00, 0x00, 0xf0, 0xff,
|
|
||||||
0x00, 0x00, 0xf0, 0xff, 0x00, 0x00, 0xf0, 0xff, 0x00, 0x00, 0xf0, 0xff,
|
|
||||||
0x00, 0x00, 0xf0, 0xff, 0x00, 0x00, 0xf0, 0xff, 0x00, 0x00, 0xf0, 0xff,
|
|
||||||
0x00, 0x00, 0xf0, 0xff, 0x00, 0x00, 0xf0, 0xff, 0x00, 0x01
|
|
||||||
};
|
|
||||||
unsigned int fox_bmp_len = 11314;
|
|
||||||
@@ -343,6 +343,8 @@ void EventDispatcher::handle_encoder() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void EventDispatcher::handle_touch() {
|
void EventDispatcher::handle_touch() {
|
||||||
|
portapack::bl_tick_counter = 0;
|
||||||
|
|
||||||
touch_manager.feed(get_touch_frame());
|
touch_manager.feed(get_touch_frame());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -30,6 +30,7 @@
|
|||||||
using namespace portapack;
|
using namespace portapack;
|
||||||
|
|
||||||
#include "string_format.hpp"
|
#include "string_format.hpp"
|
||||||
|
#include "complex.hpp"
|
||||||
|
|
||||||
namespace ui {
|
namespace ui {
|
||||||
|
|
||||||
@@ -147,7 +148,7 @@ GeoMap::GeoMap(
|
|||||||
}
|
}
|
||||||
|
|
||||||
void GeoMap::paint(Painter& painter) {
|
void GeoMap::paint(Painter& painter) {
|
||||||
Coord line;
|
u_int16_t line;
|
||||||
std::array<ui::Color, 240> map_line_buffer;
|
std::array<ui::Color, 240> map_line_buffer;
|
||||||
const auto r = screen_rect();
|
const auto r = screen_rect();
|
||||||
|
|
||||||
@@ -168,7 +169,7 @@ void GeoMap::paint(Painter& painter) {
|
|||||||
display.fill_rectangle({ r.center() - Point(16, 1), { 32, 2 } }, Color::red());
|
display.fill_rectangle({ r.center() - Point(16, 1), { 32, 2 } }, Color::red());
|
||||||
display.fill_rectangle({ r.center() - Point(1, 16), { 2, 32 } }, Color::red());
|
display.fill_rectangle({ r.center() - Point(1, 16), { 2, 32 } }, Color::red());
|
||||||
} else {
|
} else {
|
||||||
draw_bearing({ 120, 32 + 144 }, angle_, 16, Color::red());
|
draw_bearing({ 120, 32 + 144 }, angle_, 10, Color::red());
|
||||||
painter.draw_string({ 120 - ((int)tag_.length() * 8 / 2), 32 + 144 - 32 }, style(), tag_);
|
painter.draw_string({ 120 - ((int)tag_.length() * 8 / 2), 32 + 144 - 32 }, style(), tag_);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -191,10 +192,16 @@ void GeoMap::move(const float lon, const float lat) {
|
|||||||
|
|
||||||
Rect map_rect = screen_rect();
|
Rect map_rect = screen_rect();
|
||||||
|
|
||||||
// Map is in Equidistant "Plate Carrée" projection
|
// Using WGS 84/Pseudo-Mercator projection
|
||||||
x_pos = map_center_x - (map_rect.width() / 2) + (lon_ / lon_ratio);
|
x_pos = map_width * (lon_+180)/360 - (map_rect.width() / 2);
|
||||||
y_pos = map_center_y - (map_rect.height() / 2) + (lat_ / lat_ratio) + 16;
|
|
||||||
|
// Latitude calculation based on https://stackoverflow.com/a/10401734/2278659
|
||||||
|
double map_bottom = sin(-85.05 * pi / 180); // Map bitmap only goes from about -85 to 85 lat
|
||||||
|
double lat_rad = sin(lat * pi / 180);
|
||||||
|
double map_world_lon = map_width / (2 * pi);
|
||||||
|
double map_offset = (map_world_lon / 2 * log((1 + map_bottom) / (1 - map_bottom)));
|
||||||
|
y_pos = map_height - ((map_world_lon / 2 * log((1 + lat_rad) / (1 - lat_rad))) - map_offset) - 128; // Offset added for the GUI
|
||||||
|
|
||||||
// Cap position
|
// Cap position
|
||||||
if (x_pos > (map_width - map_rect.width()))
|
if (x_pos > (map_width - map_rect.width()))
|
||||||
x_pos = map_width - map_rect.width();
|
x_pos = map_width - map_rect.width();
|
||||||
@@ -228,8 +235,8 @@ void GeoMap::draw_bearing(const Point origin, const uint32_t angle, uint32_t siz
|
|||||||
|
|
||||||
for (size_t thickness = 0; thickness < 3; thickness++) {
|
for (size_t thickness = 0; thickness < 3; thickness++) {
|
||||||
arrow_a = polar_to_point(angle, size) + origin;
|
arrow_a = polar_to_point(angle, size) + origin;
|
||||||
arrow_b = polar_to_point(angle + 180 - 30, size) + origin;
|
arrow_b = polar_to_point(angle + 180 - 35, size) + origin;
|
||||||
arrow_c = polar_to_point(angle + 180 + 30, size) + origin;
|
arrow_c = polar_to_point(angle + 180 + 35, size) + origin;
|
||||||
|
|
||||||
display.draw_line(arrow_a, arrow_b, color);
|
display.draw_line(arrow_a, arrow_b, color);
|
||||||
display.draw_line(arrow_b, arrow_c, color);
|
display.draw_line(arrow_b, arrow_c, color);
|
||||||
|
|||||||
@@ -247,6 +247,8 @@ public:
|
|||||||
parent_pos,
|
parent_pos,
|
||||||
5,
|
5,
|
||||||
{
|
{
|
||||||
|
{ " 1 ", 1 },
|
||||||
|
{ " 10 ", 10 },
|
||||||
{ " 100", 100 },
|
{ " 100", 100 },
|
||||||
{ " 1k ", 1000 },
|
{ " 1k ", 1000 },
|
||||||
{ " 3k ", 3000 }, /* Approximate SSB bandwidth */
|
{ " 3k ", 3000 }, /* Approximate SSB bandwidth */
|
||||||
|
|||||||
@@ -50,7 +50,7 @@
|
|||||||
#include "ui_morse.hpp"
|
#include "ui_morse.hpp"
|
||||||
//#include "ui_numbers.hpp"
|
//#include "ui_numbers.hpp"
|
||||||
//#include "ui_nuoptix.hpp"
|
//#include "ui_nuoptix.hpp"
|
||||||
#include "ui_playdead.hpp"
|
//#include "ui_playdead.hpp"
|
||||||
#include "ui_pocsag_tx.hpp"
|
#include "ui_pocsag_tx.hpp"
|
||||||
#include "ui_rds.hpp"
|
#include "ui_rds.hpp"
|
||||||
#include "ui_remote.hpp"
|
#include "ui_remote.hpp"
|
||||||
@@ -350,24 +350,24 @@ ReceiversMenuView::ReceiversMenuView(NavigationView& nav) {
|
|||||||
{ "ADS-B", ui::Color::green(), &bitmap_icon_adsb, [&nav](){ nav.push<ADSBRxView>(); }, },
|
{ "ADS-B", ui::Color::green(), &bitmap_icon_adsb, [&nav](){ nav.push<ADSBRxView>(); }, },
|
||||||
{ "ACARS", ui::Color::yellow(), &bitmap_icon_adsb, [&nav](){ nav.push<ACARSAppView>(); }, },
|
{ "ACARS", ui::Color::yellow(), &bitmap_icon_adsb, [&nav](){ nav.push<ACARSAppView>(); }, },
|
||||||
{ "AIS Boats", ui::Color::green(), &bitmap_icon_ais, [&nav](){ nav.push<AISAppView>(); } },
|
{ "AIS Boats", ui::Color::green(), &bitmap_icon_ais, [&nav](){ nav.push<AISAppView>(); } },
|
||||||
{ "AFSK", ui::Color::yellow(), &bitmap_icon_receivers, [&nav](){ nav.push<AFSKRxView>(); } },
|
{ "AFSK", ui::Color::yellow(), &bitmap_icon_modem, [&nav](){ nav.push<AFSKRxView>(); } },
|
||||||
{ "BTLE", ui::Color::yellow(), &bitmap_icon_btle, [&nav](){ nav.push<BTLERxView>(); } },
|
{ "BTLE", ui::Color::yellow(), &bitmap_icon_btle, [&nav](){ nav.push<BTLERxView>(); } },
|
||||||
{ "NRF", ui::Color::yellow(), &bitmap_icon_nrf, [&nav](){ nav.push<NRFRxView>(); } },
|
{ "NRF", ui::Color::yellow(), &bitmap_icon_nrf, [&nav](){ nav.push<NRFRxView>(); } },
|
||||||
{ "Audio", ui::Color::green(), &bitmap_icon_speaker, [&nav](){ nav.push<AnalogAudioView>(); } },
|
{ "Audio", ui::Color::green(), &bitmap_icon_speaker, [&nav](){ nav.push<AnalogAudioView>(); } },
|
||||||
{ "Analog TV", ui::Color::yellow(), &bitmap_icon_sstv, [&nav](){ nav.push<AnalogTvView>(); } },
|
{ "Analog TV", ui::Color::yellow(), &bitmap_icon_sstv, [&nav](){ nav.push<AnalogTvView>(); } },
|
||||||
{ "ERT Meter", ui::Color::green(), &bitmap_icon_ert, [&nav](){ nav.push<ERTAppView>(); } },
|
{ "ERT Meter", ui::Color::green(), &bitmap_icon_ert, [&nav](){ nav.push<ERTAppView>(); } },
|
||||||
{ "POCSAG", ui::Color::green(), &bitmap_icon_pocsag, [&nav](){ nav.push<POCSAGAppView>(); } },
|
{ "POCSAG", ui::Color::green(), &bitmap_icon_pocsag, [&nav](){ nav.push<POCSAGAppView>(); } },
|
||||||
{ "Radiosnde", ui::Color::yellow(), &bitmap_icon_sonde, [&nav](){ nav.push<SondeView>(); } },
|
{ "Radiosnde", ui::Color::yellow(), &bitmap_icon_sonde, [&nav](){ nav.push<SondeView>(); } },
|
||||||
{ "TPMS Cars", ui::Color::green(), &bitmap_icon_tpms, [&nav](){ nav.push<TPMSAppView>(); } },
|
{ "TPMS Cars", ui::Color::green(), &bitmap_icon_tpms, [&nav](){ nav.push<TPMSAppView>(); } },
|
||||||
{ "APRS", ui::Color::dark_grey(), &bitmap_icon_aprs, [&nav](){ nav.push<NotImplementedView>(); } },
|
/*{ "APRS", ui::Color::dark_grey(), &bitmap_icon_aprs, [&nav](){ nav.push<NotImplementedView>(); } },
|
||||||
{ "DMR", ui::Color::dark_grey(), &bitmap_icon_dmr, [&nav](){ nav.push<NotImplementedView>(); } },
|
{ "DMR", ui::Color::dark_grey(), &bitmap_icon_dmr, [&nav](){ nav.push<NotImplementedView>(); } },
|
||||||
{ "SIGFOX", ui::Color::dark_grey(), &bitmap_icon_fox, [&nav](){ nav.push<NotImplementedView>(); } }, // SIGFRXView
|
{ "SIGFOX", ui::Color::dark_grey(), &bitmap_icon_fox, [&nav](){ nav.push<NotImplementedView>(); } }, // SIGFRXView
|
||||||
{ "LoRa", ui::Color::dark_grey(), &bitmap_icon_lora, [&nav](){ nav.push<NotImplementedView>(); } },
|
{ "LoRa", ui::Color::dark_grey(), &bitmap_icon_lora, [&nav](){ nav.push<NotImplementedView>(); } },
|
||||||
{ "SSTV", ui::Color::dark_grey(), &bitmap_icon_sstv, [&nav](){ nav.push<NotImplementedView>(); } },
|
{ "SSTV", ui::Color::dark_grey(), &bitmap_icon_sstv, [&nav](){ nav.push<NotImplementedView>(); } },
|
||||||
{ "TETRA", ui::Color::dark_grey(), &bitmap_icon_tetra, [&nav](){ nav.push<NotImplementedView>(); } },
|
{ "TETRA", ui::Color::dark_grey(), &bitmap_icon_tetra, [&nav](){ nav.push<NotImplementedView>(); } },*/
|
||||||
});
|
});
|
||||||
|
|
||||||
set_highlighted(4); // Default selection is "Audio"
|
//set_highlighted(4); // Default selection is "Audio"
|
||||||
}
|
}
|
||||||
|
|
||||||
/* TransmittersMenuView **************************************************/
|
/* TransmittersMenuView **************************************************/
|
||||||
@@ -376,24 +376,24 @@ TransmittersMenuView::TransmittersMenuView(NavigationView& nav) {
|
|||||||
add_items({
|
add_items({
|
||||||
//{ "..", ui::Color::light_grey(),&bitmap_icon_previous, [&nav](){ nav.pop(); } },
|
//{ "..", ui::Color::light_grey(),&bitmap_icon_previous, [&nav](){ nav.pop(); } },
|
||||||
{ "ADS-B [S]", ui::Color::yellow(), &bitmap_icon_adsb, [&nav](){ nav.push<ADSBTxView>(); } },
|
{ "ADS-B [S]", ui::Color::yellow(), &bitmap_icon_adsb, [&nav](){ nav.push<ADSBTxView>(); } },
|
||||||
{ "APRS", ui::Color::orange(), &bitmap_icon_aprs, [&nav](){ nav.push<APRSTXView>(); } },
|
{ "APRS", ui::Color::orange(), &bitmap_icon_aprs, [&nav](){ nav.push<APRSTXView>(); } },
|
||||||
{ "BHT Xy/EP", ui::Color::green(), &bitmap_icon_bht, [&nav](){ nav.push<BHTView>(); } },
|
{ "BHT Xy/EP", ui::Color::green(), &bitmap_icon_bht, [&nav](){ nav.push<BHTView>(); } },
|
||||||
{ "GPS Sim", ui::Color::yellow(), &bitmap_gps_sim, [&nav](){ nav.push<GpsSimAppView>(); } },
|
{ "GPS Sim", ui::Color::yellow(), &bitmap_icon_gps_sim, [&nav](){ nav.push<GpsSimAppView>(); } },
|
||||||
{ "Jammer", ui::Color::yellow(), &bitmap_icon_jammer, [&nav](){ nav.push<JammerView>(); } },
|
{ "Jammer", ui::Color::yellow(), &bitmap_icon_jammer, [&nav](){ nav.push<JammerView>(); } },
|
||||||
{ "Key fob", ui::Color::orange(), &bitmap_icon_keyfob, [&nav](){ nav.push<KeyfobView>(); } },
|
{ "Key fob", ui::Color::orange(), &bitmap_icon_keyfob, [&nav](){ nav.push<KeyfobView>(); } },
|
||||||
{ "LGE tool", ui::Color::yellow(), &bitmap_icon_lge, [&nav](){ nav.push<LGEView>(); } },
|
{ "LGE tool", ui::Color::yellow(), &bitmap_icon_lge, [&nav](){ nav.push<LGEView>(); } },
|
||||||
{ "Mic", ui::Color::green(), &bitmap_icon_microphone,[&nav](){ nav.push<MicTXView>(); } },
|
{ "Mic", ui::Color::green(), &bitmap_icon_microphone,[&nav](){ nav.push<MicTXView>(); } },
|
||||||
{ "Morse", ui::Color::green(), &bitmap_icon_morse, [&nav](){ nav.push<MorseView>(); } },
|
{ "Morse", ui::Color::green(), &bitmap_icon_morse, [&nav](){ nav.push<MorseView>(); } },
|
||||||
{ "BurgerPgr", ui::Color::yellow(), &bitmap_icon_burger, [&nav](){ nav.push<CoasterPagerView>(); } },
|
{ "BurgerPgr", ui::Color::yellow(), &bitmap_icon_burger, [&nav](){ nav.push<CoasterPagerView>(); } },
|
||||||
//{ "Nuoptix DTMF", ui::Color::green(), &bitmap_icon_nuoptix, [&nav](){ nav.push<NuoptixView>(); } },
|
//{ "Nuoptix DTMF", ui::Color::green(), &bitmap_icon_nuoptix, [&nav](){ nav.push<NuoptixView>(); } },
|
||||||
{ "OOK", ui::Color::yellow(), &bitmap_icon_remote, [&nav](){ nav.push<EncodersView>(); } },
|
{ "OOK", ui::Color::yellow(), &bitmap_icon_remote, [&nav](){ nav.push<EncodersView>(); } },
|
||||||
{ "POCSAG", ui::Color::green(), &bitmap_icon_pocsag, [&nav](){ nav.push<POCSAGTXView>(); } },
|
{ "POCSAG", ui::Color::green(), &bitmap_icon_pocsag, [&nav](){ nav.push<POCSAGTXView>(); } },
|
||||||
{ "RDS", ui::Color::green(), &bitmap_icon_rds, [&nav](){ nav.push<RDSView>(); } },
|
{ "RDS", ui::Color::green(), &bitmap_icon_rds, [&nav](){ nav.push<RDSView>(); } },
|
||||||
{ "Soundbrd", ui::Color::green(), &bitmap_icon_soundboard,[&nav](){ nav.push<SoundBoardView>(); } },
|
{ "Soundbrd", ui::Color::green(), &bitmap_icon_soundboard,[&nav](){ nav.push<SoundBoardView>(); } },
|
||||||
{ "SSTV", ui::Color::green(), &bitmap_icon_sstv, [&nav](){ nav.push<SSTVTXView>(); } },
|
{ "SSTV", ui::Color::green(), &bitmap_icon_sstv, [&nav](){ nav.push<SSTVTXView>(); } },
|
||||||
{ "TEDI/LCR", ui::Color::yellow(), &bitmap_icon_lcr, [&nav](){ nav.push<LCRView>(); } },
|
{ "TEDI/LCR", ui::Color::yellow(), &bitmap_icon_lcr, [&nav](){ nav.push<LCRView>(); } },
|
||||||
{ "TouchTune", ui::Color::yellow(), &bitmap_icon_remote, [&nav](){ nav.push<TouchTunesView>(); } },
|
{ "TouchTune", ui::Color::yellow(), &bitmap_icon_remote, [&nav](){ nav.push<TouchTunesView>(); } },
|
||||||
{ "Remote", ui::Color::dark_grey(), &bitmap_icon_remote, [&nav](){ nav.push<RemoteView>(); } },
|
//{ "Remote", ui::Color::dark_grey(), &bitmap_icon_remote, [&nav](){ nav.push<RemoteView>(); } },
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -404,13 +404,13 @@ UtilitiesMenuView::UtilitiesMenuView(NavigationView& nav) {
|
|||||||
//{ "Test app", ui::Color::dark_grey(), nullptr, [&nav](){ nav.push<TestView>(); } },
|
//{ "Test app", ui::Color::dark_grey(), nullptr, [&nav](){ nav.push<TestView>(); } },
|
||||||
//{ "..", ui::Color::light_grey(),&bitmap_icon_previous, [&nav](){ nav.pop(); } },
|
//{ "..", ui::Color::light_grey(),&bitmap_icon_previous, [&nav](){ nav.pop(); } },
|
||||||
{ "Freq manager", ui::Color::green(), &bitmap_icon_freqman, [&nav](){ nav.push<FrequencyManagerView>(); } },
|
{ "Freq manager", ui::Color::green(), &bitmap_icon_freqman, [&nav](){ nav.push<FrequencyManagerView>(); } },
|
||||||
{ "File manager", ui::Color::yellow(), &bitmap_icon_file, [&nav](){ nav.push<FileManagerView>(); } },
|
{ "File manager", ui::Color::yellow(), &bitmap_icon_file, [&nav](){ nav.push<FileManagerView>(); } },
|
||||||
{ "Notepad", ui::Color::dark_grey(), &bitmap_icon_notepad, [&nav](){ nav.push<NotImplementedView>(); } },
|
//{ "Notepad", ui::Color::dark_grey(), &bitmap_icon_notepad, [&nav](){ nav.push<NotImplementedView>(); } },
|
||||||
{ "Signal gen", ui::Color::green(), &bitmap_icon_cwgen, [&nav](){ nav.push<SigGenView>(); } },
|
{ "Signal gen", ui::Color::green(), &bitmap_icon_cwgen, [&nav](){ nav.push<SigGenView>(); } },
|
||||||
//{ "Tone search", ui::Color::dark_grey(), nullptr, [&nav](){ nav.push<ToneSearchView>(); } },
|
//{ "Tone search", ui::Color::dark_grey(), nullptr, [&nav](){ nav.push<ToneSearchView>(); } },
|
||||||
{ "Wave viewer", ui::Color::blue(), nullptr, [&nav](){ nav.push<ViewWavView>(); } },
|
{ "Wave viewer", ui::Color::blue(), nullptr, [&nav](){ nav.push<ViewWavView>(); } },
|
||||||
{ "Antenna length", ui::Color::yellow(), nullptr, [&nav](){ nav.push<WhipCalcView>(); } },
|
{ "Antenna length", ui::Color::yellow(), nullptr, [&nav](){ nav.push<WhipCalcView>(); } },
|
||||||
{ "Wipe SD card", ui::Color::red(), nullptr, [&nav](){ nav.push<WipeSDView>(); } },
|
{ "Wipe SD card", ui::Color::red(), nullptr, [&nav](){ nav.push<WipeSDView>(); } },
|
||||||
});
|
});
|
||||||
set_max_rows(2); // allow wider buttons
|
set_max_rows(2); // allow wider buttons
|
||||||
}
|
}
|
||||||
@@ -418,7 +418,7 @@ UtilitiesMenuView::UtilitiesMenuView(NavigationView& nav) {
|
|||||||
/* SystemMenuView ********************************************************/
|
/* SystemMenuView ********************************************************/
|
||||||
|
|
||||||
void SystemMenuView::hackrf_mode(NavigationView& nav) {
|
void SystemMenuView::hackrf_mode(NavigationView& nav) {
|
||||||
nav.push<ModalMessageView>("Confirm", "Switch to HackRF mode ?", YESNO,
|
nav.push<ModalMessageView>("HackRF mode", "This mode enables the USB\nfunctionality. Reset the\ndevice to get back.\n\nDo you want to Switch now?", YESNO,
|
||||||
[this](bool choice) {
|
[this](bool choice) {
|
||||||
if (choice) {
|
if (choice) {
|
||||||
EventDispatcher::request_stop();
|
EventDispatcher::request_stop();
|
||||||
@@ -429,21 +429,21 @@ void SystemMenuView::hackrf_mode(NavigationView& nav) {
|
|||||||
|
|
||||||
SystemMenuView::SystemMenuView(NavigationView& nav) {
|
SystemMenuView::SystemMenuView(NavigationView& nav) {
|
||||||
add_items({
|
add_items({
|
||||||
{ "Play dead", ui::Color::red(), &bitmap_icon_playdead, [&nav](){ nav.push<PlayDeadView>(); } },
|
//{ "Play dead", ui::Color::red(), &bitmap_icon_playdead, [&nav](){ nav.push<PlayDeadView>(); } },
|
||||||
{ "Receivers", ui::Color::dark_cyan(), &bitmap_icon_receivers, [&nav](){ nav.push<ReceiversMenuView>(); } },
|
{ "Receive", ui::Color::cyan(), &bitmap_icon_receivers, [&nav](){ nav.push<ReceiversMenuView>(); } },
|
||||||
{ "Transmit", ui::Color::green(), &bitmap_icon_transmit, [&nav](){ nav.push<TransmittersMenuView>(); } },
|
{ "Transmit", ui::Color::cyan(), &bitmap_icon_transmit, [&nav](){ nav.push<TransmittersMenuView>(); } },
|
||||||
{ "Capture", ui::Color::blue(), &bitmap_icon_capture, [&nav](){ nav.push<CaptureAppView>(); } },
|
{ "Capture", ui::Color::red(), &bitmap_icon_capture, [&nav](){ nav.push<CaptureAppView>(); } },
|
||||||
{ "Replay", ui::Color::purple(), &bitmap_icon_replay, [&nav](){ nav.push<ReplayAppView>(); } },
|
{ "Replay", ui::Color::green(), &bitmap_icon_replay, [&nav](){ nav.push<ReplayAppView>(); } },
|
||||||
{ "Calls", ui::Color::yellow(), &bitmap_icon_closecall, [&nav](){ nav.push<SearchView>(); } },
|
{ "Calls", ui::Color::yellow(), &bitmap_icon_search, [&nav](){ nav.push<SearchView>(); } },
|
||||||
{ "Scanner", ui::Color::orange(), &bitmap_icon_scanner, [&nav](){ nav.push<ScannerView>(); } },
|
{ "Scanner", ui::Color::yellow(), &bitmap_icon_scanner, [&nav](){ nav.push<ScannerView>(); } },
|
||||||
{ "Utilities", ui::Color::light_grey(), &bitmap_icon_utilities, [&nav](){ nav.push<UtilitiesMenuView>(); } },
|
{ "Tools", ui::Color::cyan(), &bitmap_icon_utilities, [&nav](){ nav.push<UtilitiesMenuView>(); } },
|
||||||
{ "Settings", ui::Color::cyan(), &bitmap_icon_setup, [&nav](){ nav.push<SettingsMenuView>(); } },
|
{ "Options", ui::Color::cyan(), &bitmap_icon_setup, [&nav](){ nav.push<SettingsMenuView>(); } },
|
||||||
{ "Debug", ui::Color::cyan(), nullptr, [&nav](){ nav.push<DebugMenuView>(); } },
|
{ "Debug", ui::Color::light_grey(), &bitmap_icon_debug, [&nav](){ nav.push<DebugMenuView>(); } },
|
||||||
{ "HackRF", ui::Color::cyan(), &bitmap_icon_hackrf, [this, &nav](){ hackrf_mode(nav); } },
|
{ "HackRF", ui::Color::cyan(), &bitmap_icon_hackrf, [this, &nav](){ hackrf_mode(nav); } },
|
||||||
{ "About", ui::Color::cyan(), nullptr, [&nav](){ nav.push<AboutView>(); } }
|
//{ "About", ui::Color::cyan(), nullptr, [&nav](){ nav.push<AboutView>(); } }
|
||||||
});
|
});
|
||||||
|
set_max_rows(2); // allow wider buttons
|
||||||
set_highlighted(1); // Startup selection is "Receivers"
|
//set_highlighted(1); // Startup selection
|
||||||
}
|
}
|
||||||
|
|
||||||
/* SystemView ************************************************************/
|
/* SystemView ************************************************************/
|
||||||
@@ -513,7 +513,6 @@ void BMPView::focus() {
|
|||||||
|
|
||||||
BMPView::BMPView(NavigationView& nav) {
|
BMPView::BMPView(NavigationView& nav) {
|
||||||
add_children({
|
add_children({
|
||||||
&text_info,
|
|
||||||
&button_done
|
&button_done
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -523,12 +522,12 @@ BMPView::BMPView(NavigationView& nav) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void BMPView::paint(Painter&) {
|
void BMPView::paint(Painter&) {
|
||||||
portapack::display.drawBMP({(240 - 185) / 2, 0}, splash_bmp, false);
|
portapack::display.drawBMP({(240 - 230) / 2, (320 - 50) / 2 - 10}, splash_bmp, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* NotImplementedView ****************************************************/
|
/* NotImplementedView ****************************************************/
|
||||||
|
|
||||||
NotImplementedView::NotImplementedView(NavigationView& nav) {
|
/*NotImplementedView::NotImplementedView(NavigationView& nav) {
|
||||||
button_done.on_select = [&nav](Button&){
|
button_done.on_select = [&nav](Button&){
|
||||||
nav.pop();
|
nav.pop();
|
||||||
};
|
};
|
||||||
@@ -541,7 +540,7 @@ NotImplementedView::NotImplementedView(NavigationView& nav) {
|
|||||||
|
|
||||||
void NotImplementedView::focus() {
|
void NotImplementedView::focus() {
|
||||||
button_done.focus();
|
button_done.focus();
|
||||||
}
|
}*/
|
||||||
|
|
||||||
/* ModalMessageView ******************************************************/
|
/* ModalMessageView ******************************************************/
|
||||||
|
|
||||||
|
|||||||
@@ -109,7 +109,7 @@ public:
|
|||||||
void set_title(const std::string new_value);
|
void set_title(const std::string new_value);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static constexpr auto default_title = "PortaPack|Havoc";
|
static constexpr auto default_title = "MAYHEM v1.0.2"; // TODO: Move the version somewhere
|
||||||
|
|
||||||
NavigationView& nav_;
|
NavigationView& nav_;
|
||||||
|
|
||||||
@@ -249,7 +249,7 @@ private:
|
|||||||
Context& context_;
|
Context& context_;
|
||||||
};
|
};
|
||||||
|
|
||||||
class NotImplementedView : public View {
|
/*class NotImplementedView : public View {
|
||||||
public:
|
public:
|
||||||
NotImplementedView(NavigationView& nav);
|
NotImplementedView(NavigationView& nav);
|
||||||
|
|
||||||
@@ -265,7 +265,7 @@ private:
|
|||||||
{ 10 * 8, 13 * 16, 10 * 8, 24 },
|
{ 10 * 8, 13 * 16, 10 * 8, 24 },
|
||||||
"Bummer",
|
"Bummer",
|
||||||
};
|
};
|
||||||
};
|
};*/
|
||||||
|
|
||||||
class ModalMessageView : public View {
|
class ModalMessageView : public View {
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -58,34 +58,18 @@ void ReplayProcessor::execute(const buffer_c8_t& buffer) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Fill and "stretch"
|
// Fill and "stretch"
|
||||||
for (size_t i = 0; i < buffer.count; i++) {
|
for (size_t i = 0; i < buffer.count; i++) {
|
||||||
/*if (i & 3) {
|
auto re_out = iq_buffer.p[i].real() ;
|
||||||
buffer.p[i] = buffer.p[i - 1];
|
auto im_out = iq_buffer.p[i].imag() ;
|
||||||
} else {
|
|
||||||
auto re_out = iq_buffer.p[i >> 3].real() ;
|
|
||||||
auto im_out = iq_buffer.p[i >> 3].imag() ;
|
|
||||||
buffer.p[i] = { (int8_t)re_out, (int8_t)im_out };
|
|
||||||
}*/
|
|
||||||
/*
|
|
||||||
if (i % 8 != 0) {
|
|
||||||
buffer.p[i] = buffer.p[i - 1];
|
|
||||||
} else {
|
|
||||||
auto re_out = iq_buffer.p[i/8].real() ;
|
|
||||||
auto im_out = iq_buffer.p[i/8].imag() ;
|
|
||||||
buffer.p[i] = { (int8_t)re_out, (int8_t)im_out };
|
|
||||||
}*/
|
|
||||||
|
|
||||||
auto re_out = iq_buffer.p[i].real() ;
|
|
||||||
auto im_out = iq_buffer.p[i].imag() ;
|
|
||||||
buffer.p[i] = { (int8_t)re_out, (int8_t)im_out };
|
buffer.p[i] = { (int8_t)re_out, (int8_t)im_out };
|
||||||
}
|
}
|
||||||
|
|
||||||
spectrum_samples += buffer.count;
|
spectrum_samples += buffer.count;
|
||||||
if( spectrum_samples >= spectrum_interval_samples ) {
|
if( spectrum_samples >= spectrum_interval_samples ) {
|
||||||
spectrum_samples -= spectrum_interval_samples;
|
spectrum_samples -= spectrum_interval_samples;
|
||||||
//channel_spectrum.feed(iq_buffer, channel_filter_pass_f, channel_filter_stop_f);
|
|
||||||
|
txprogress_message.progress = bytes_read / 1024; // Inform UI about progress
|
||||||
txprogress_message.progress = bytes_read; // Inform UI about progress
|
|
||||||
txprogress_message.done = false;
|
txprogress_message.done = false;
|
||||||
shared_memory.application_queue.push(txprogress_message);
|
shared_memory.application_queue.push(txprogress_message);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -47,8 +47,11 @@ void POCSAGProcessor::execute(const buffer_c8_t& buffer) {
|
|||||||
const int32_t audio_sample = __SSAT(sample_int, 16);
|
const int32_t audio_sample = __SSAT(sample_int, 16);
|
||||||
|
|
||||||
slicer_sr <<= 1;
|
slicer_sr <<= 1;
|
||||||
slicer_sr |= (audio_sample < 0); // Do we need hysteresis ?
|
if (phase == 0)
|
||||||
|
slicer_sr |= (audio_sample < 0); // Do we need hysteresis ?
|
||||||
|
else
|
||||||
|
slicer_sr |= !(audio_sample < 0);
|
||||||
|
|
||||||
// Detect transitions to adjust clock
|
// Detect transitions to adjust clock
|
||||||
if ((slicer_sr ^ (slicer_sr >> 1)) & 1) {
|
if ((slicer_sr ^ (slicer_sr >> 1)) & 1) {
|
||||||
if (sphase < (0x8000u - sphase_delta_half))
|
if (sphase < (0x8000u - sphase_delta_half))
|
||||||
@@ -162,6 +165,7 @@ void POCSAGProcessor::configure(const POCSAGConfigureMessage& message) {
|
|||||||
//audio_output.configure(false);
|
//audio_output.configure(false);
|
||||||
|
|
||||||
bitrate = message.bitrate;
|
bitrate = message.bitrate;
|
||||||
|
phase = message.phase;
|
||||||
sphase_delta = 0x10000u * bitrate / POCSAG_AUDIO_RATE;
|
sphase_delta = 0x10000u * bitrate / POCSAG_AUDIO_RATE;
|
||||||
sphase_delta_half = sphase_delta / 2; // Just for speed
|
sphase_delta_half = sphase_delta / 2; // Just for speed
|
||||||
sphase_delta_eighth = sphase_delta / 8;
|
sphase_delta_eighth = sphase_delta / 8;
|
||||||
|
|||||||
@@ -95,6 +95,7 @@ private:
|
|||||||
bool configured = false;
|
bool configured = false;
|
||||||
rx_states rx_state { WAITING };
|
rx_states rx_state { WAITING };
|
||||||
pocsag::BitRate bitrate { pocsag::BitRate::FSK1200 };
|
pocsag::BitRate bitrate { pocsag::BitRate::FSK1200 };
|
||||||
|
bool phase;
|
||||||
uint32_t codeword_count { 0 };
|
uint32_t codeword_count { 0 };
|
||||||
pocsag::POCSAGPacket packet { };
|
pocsag::POCSAGPacket packet { };
|
||||||
|
|
||||||
|
|||||||
@@ -989,13 +989,16 @@ public:
|
|||||||
class POCSAGConfigureMessage : public Message {
|
class POCSAGConfigureMessage : public Message {
|
||||||
public:
|
public:
|
||||||
constexpr POCSAGConfigureMessage(
|
constexpr POCSAGConfigureMessage(
|
||||||
const pocsag::BitRate bitrate
|
const pocsag::BitRate bitrate,
|
||||||
|
const bool phase
|
||||||
) : Message { ID::POCSAGConfigure },
|
) : Message { ID::POCSAGConfigure },
|
||||||
bitrate(bitrate)
|
bitrate(bitrate),
|
||||||
|
phase(phase)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
const pocsag::BitRate bitrate;
|
const pocsag::BitRate bitrate;
|
||||||
|
const bool phase;
|
||||||
};
|
};
|
||||||
|
|
||||||
class ADSBConfigureMessage : public Message {
|
class ADSBConfigureMessage : public Message {
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 144 KiB |
|
Before Width: | Height: | Size: 133 B After Width: | Height: | Size: 141 B |
|
Before Width: | Height: | Size: 134 B After Width: | Height: | Size: 165 B |
|
Before Width: | Height: | Size: 137 B |
|
Before Width: | Height: | Size: 140 B After Width: | Height: | Size: 153 B |
|
Before Width: | Height: | Size: 143 B After Width: | Height: | Size: 162 B |
|
After Width: | Height: | Size: 174 B |
|
Before Width: | Height: | Size: 163 B After Width: | Height: | Size: 150 B |
|
Before Width: | Height: | Size: 122 B After Width: | Height: | Size: 150 B |
|
Before Width: | Height: | Size: 145 B After Width: | Height: | Size: 143 B |
|
Before Width: | Height: | Size: 138 B |
|
Before Width: | Height: | Size: 124 B After Width: | Height: | Size: 147 B |
|
After Width: | Height: | Size: 175 B |
|
Before Width: | Height: | Size: 146 B After Width: | Height: | Size: 180 B |
|
After Width: | Height: | Size: 180 B |
|
Before Width: | Height: | Size: 133 B After Width: | Height: | Size: 147 B |
|
Before Width: | Height: | Size: 110 B |
|
Before Width: | Height: | Size: 138 B After Width: | Height: | Size: 162 B |
|
After Width: | Height: | Size: 150 B |
|
Before Width: | Height: | Size: 155 B |
|
After Width: | Height: | Size: 147 B |
|
Before Width: | Height: | Size: 129 B |
|
Before Width: | Height: | Size: 132 B |
|
Before Width: | Height: | Size: 131 B After Width: | Height: | Size: 147 B |
|
Before Width: | Height: | Size: 141 B After Width: | Height: | Size: 141 B |
|
Before Width: | Height: | Size: 121 B After Width: | Height: | Size: 147 B |
|
Before Width: | Height: | Size: 145 B After Width: | Height: | Size: 149 B |
|
Before Width: | Height: | Size: 130 B After Width: | Height: | Size: 151 B |
|
After Width: | Height: | Size: 185 B |
|
Before Width: | Height: | Size: 108 B After Width: | Height: | Size: 159 B |
|
Before Width: | Height: | Size: 133 B After Width: | Height: | Size: 165 B |
|
Before Width: | Height: | Size: 157 B After Width: | Height: | Size: 183 B |
|
Before Width: | Height: | Size: 152 B After Width: | Height: | Size: 144 B |
|
Before Width: | Height: | Size: 148 B |
|
Before Width: | Height: | Size: 144 B After Width: | Height: | Size: 152 B |
|
Before Width: | Height: | Size: 144 B |
|
Before Width: | Height: | Size: 830 B |
|
Before Width: | Height: | Size: 127 B After Width: | Height: | Size: 143 B |
@@ -23,6 +23,7 @@ import struct
|
|||||||
|
|
||||||
outfile = open("airlines.db", "w")
|
outfile = open("airlines.db", "w")
|
||||||
|
|
||||||
|
# Download airlines.txt from http://xdeco.org/?page_id=30
|
||||||
lines = [line.rstrip('\n') for line in open('../../sdcard/ADSB/airlines.txt', 'r')]
|
lines = [line.rstrip('\n') for line in open('../../sdcard/ADSB/airlines.txt', 'r')]
|
||||||
n = 0
|
n = 0
|
||||||
|
|
||||||
@@ -23,10 +23,10 @@ import sys
|
|||||||
import struct
|
import struct
|
||||||
from PIL import Image
|
from PIL import Image
|
||||||
|
|
||||||
|
outfile = open('../../sdcard/world_map.bin', 'wb')
|
||||||
|
|
||||||
|
# Allow for bigger images
|
||||||
Image.MAX_IMAGE_PIXELS = None
|
Image.MAX_IMAGE_PIXELS = None
|
||||||
|
|
||||||
outfile = open('../../sdcard/ADSB/world_map.bin', 'wb')
|
|
||||||
|
|
||||||
im = Image.open("../../sdcard/ADSB/world_map.jpg")
|
im = Image.open("../../sdcard/ADSB/world_map.jpg")
|
||||||
pix = im.load()
|
pix = im.load()
|
||||||
|
|
||||||
@@ -36,9 +36,15 @@ outfile.write(struct.pack('H', im.size[1]))
|
|||||||
for y in range (0, im.size[1]):
|
for y in range (0, im.size[1]):
|
||||||
line = ''
|
line = ''
|
||||||
for x in range (0, im.size[0]):
|
for x in range (0, im.size[0]):
|
||||||
|
# RRRRRGGGGGGBBBBB
|
||||||
pixel_lcd = (pix[x, y][0] >> 3) << 11
|
pixel_lcd = (pix[x, y][0] >> 3) << 11
|
||||||
pixel_lcd |= (pix[x, y][1] >> 2) << 5
|
pixel_lcd |= (pix[x, y][1] >> 2) << 5
|
||||||
pixel_lcd |= (pix[x, y][2] >> 3)
|
pixel_lcd |= (pix[x, y][2] >> 3)
|
||||||
|
# RRRGGGBB to
|
||||||
|
# RRR00GGG000BB000
|
||||||
|
# pixel_lcd = (pix[x, y][0] >> 5) << 5
|
||||||
|
# pixel_lcd |= (pix[x, y][1] >> 5) << 2
|
||||||
|
# pixel_lcd |= (pix[x, y][2] >> 6)
|
||||||
line += struct.pack('H', pixel_lcd)
|
line += struct.pack('H', pixel_lcd)
|
||||||
outfile.write(line)
|
outfile.write(line)
|
||||||
print(str(y) + '/' + str(im.size[1]) + '\r', end="")
|
print(str(y) + '/' + str(im.size[1]) + '\r', end="")
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
#!/usr/bin/env python
|
|
||||||
|
|
||||||
# Copyright (C) 2017 Furrtek
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or modify
|
|
||||||
# it under the terms of the GNU General Public License as published by
|
|
||||||
# the Free Software Foundation; either version 2, or (at your option)
|
|
||||||
# any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; see the file COPYING. If not, write to
|
|
||||||
# the Free Software Foundation, Inc., 51 Franklin Street,
|
|
||||||
# Boston, MA 02110-1301, USA.
|
|
||||||
#
|
|
||||||
|
|
||||||
from __future__ import print_function
|
|
||||||
import sys
|
|
||||||
import struct
|
|
||||||
from PIL import Image
|
|
||||||
|
|
||||||
outfile = open('../../sdcard/world_map.bin', 'wb')
|
|
||||||
|
|
||||||
im = Image.open("../../sdcard/world_map.jpg")
|
|
||||||
pix = im.load()
|
|
||||||
|
|
||||||
outfile.write(struct.pack('H', im.size[0]))
|
|
||||||
outfile.write(struct.pack('H', im.size[1]))
|
|
||||||
|
|
||||||
for y in range (0, im.size[1]):
|
|
||||||
line = ''
|
|
||||||
for x in range (0, im.size[0]):
|
|
||||||
# RRRRRGGGGGGBBBBB
|
|
||||||
#pixel_lcd = (pix[x, y][0] >> 3) << 11
|
|
||||||
#pixel_lcd |= (pix[x, y][1] >> 2) << 5
|
|
||||||
#pixel_lcd |= (pix[x, y][2] >> 3)
|
|
||||||
# RRRGGGBB to
|
|
||||||
# RRR00GGG000BB000
|
|
||||||
pixel_lcd = (pix[x, y][0] >> 5) << 5
|
|
||||||
pixel_lcd |= (pix[x, y][1] >> 5) << 2
|
|
||||||
pixel_lcd |= (pix[x, y][2] >> 6)
|
|
||||||
line += struct.pack('B', pixel_lcd)
|
|
||||||
outfile.write(line)
|
|
||||||
print(str(y) + '/' + str(im.size[1]) + '\r', end="")
|
|
||||||
@@ -1,43 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
printf "Hold down the HackRF's DFU button (the button closest to the antenna jack)\n"
|
|
||||||
printf "then plug the HackRF into a USB port on your computer.\n\n"
|
|
||||||
printf "After the HackRF is plugged in, you may release the DFU button.\n"
|
|
||||||
printf "Press any key to continue or ^c to abort\n"
|
|
||||||
read
|
|
||||||
|
|
||||||
for i in /usr/share/hackrf/hackrf_one_usb.dfu /usr/share/hackrf/hackrf_one_usb_ram.dfu hackrf_one_usb.dfu; do
|
|
||||||
if [ -r "${i}" ]; then
|
|
||||||
ram_firmware="${i}"
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ -n "${ram_firmware}" ]; then
|
|
||||||
printf "\nFound firmware: ${ram_firmware}\n"
|
|
||||||
printf "Flashing...\n"
|
|
||||||
else
|
|
||||||
printf "Unable to find firmware to flash, please have hackrf_one_usb.dfu\n"
|
|
||||||
printf "in current directory or /usr/share/hackrf/\n"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
for i in /usr/share/hackrf/hackrf_one_usb.bin /usr/share/hackrf/hackrf_one_usb_rom_to_ram.bin hackrf_one_usb.bin; do
|
|
||||||
if [ -r "${i}" ]; then
|
|
||||||
rom_firmware="${i}"
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ -n "${rom_firmware}" ]; then
|
|
||||||
printf "\nFound firmware: ${rom_firmware}\n"
|
|
||||||
printf "Flashing...\n"
|
|
||||||
else
|
|
||||||
printf "Unable to find firmware to flash, please have hackrf_one_usb.bin\n"
|
|
||||||
printf "in current directory or /usr/share/hackrf/\n"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
dfu-util --device 1fc9:000c --download "${ram_firmware}" --reset
|
|
||||||
sleep 2s
|
|
||||||
hackrf_spiflash -w "${rom_firmware}"
|
|
||||||
@@ -1,43 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
printf "Hold down the HackRF's DFU button (the button closest to the antenna jack)\n"
|
|
||||||
printf "then plug the HackRF into a USB port on your computer.\n\n"
|
|
||||||
printf "After the HackRF is plugged in, you may release the DFU button.\n"
|
|
||||||
printf "Press any key to continue or ^c to abort\n"
|
|
||||||
read
|
|
||||||
|
|
||||||
for i in /usr/share/hackrf/hackrf_one_usb.dfu /usr/share/hackrf/hackrf_one_usb_ram.dfu hackrf_one_usb.dfu; do
|
|
||||||
if [ -r "${i}" ]; then
|
|
||||||
ram_firmware="${i}"
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ -n "${ram_firmware}" ]; then
|
|
||||||
printf "\nFound firmware: ${ram_firmware}\n"
|
|
||||||
printf "Flashing...\n"
|
|
||||||
else
|
|
||||||
printf "Unable to find firmware to flash, please have hackrf_one_usb.dfu\n"
|
|
||||||
printf "in current directory or /usr/share/hackrf/\n"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
for i in /usr/share/hackrf/portapack-h1-firmware.bin portapack-h1-firmware.bin; do
|
|
||||||
if [ -r "${i}" ]; then
|
|
||||||
rom_firmware="${i}"
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ -n "${rom_firmware}" ]; then
|
|
||||||
printf "\nFound firmware: ${rom_firmware}\n"
|
|
||||||
printf "Flashing...\n"
|
|
||||||
else
|
|
||||||
printf "Unable to find firmware to flash, please have portapack-h1-firmware.bin\n"
|
|
||||||
printf "in current directory or /usr/share/hackrf/\n"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
dfu-util --device 1fc9:000c --download "${ram_firmware}" --reset
|
|
||||||
sleep 2s
|
|
||||||
hackrf_spiflash -w "${rom_firmware}"
|
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
[InternetShortcut]
|
||||||
|
URL=https://github.com/furrtek/portapack-havoc/issues/326
|
||||||