A Brief Introduction to MQA and FiiO's Support for MQA--From @FiiO Willson
Mar 15, 2022 at 9:48 PM Thread Starter Post #1 of 30

FiiO

Sponsor: FiiO
Joined
Jul 30, 2008
Posts
11,760
Likes
9,217
Location
Guangzhou,China
1. A brief introduction to MQA
There are already many introductory articles on the Internet, so here I would like to give a brief explanation.
1) The working principle of MQA is to fold the high sampling rate master recording just like folding paper over and over again, to shrink the original file for convenient transmission. The lossy compressed MQA file is FLAC encapsulated with a sampling rate of 44.1k or 48k, 88.2k and 96k.
Willson微博 MQA科普及飞傲产品的MQA支持情况629.png


2. To unfold the MQA file layer by layer and reveal the original master resolution, is called MQA decoding.

Willson微博 MQA科普及飞傲产品的MQA支持情况740.png

The above sketch map comes from MQA's official website. Figure 2 refers to the frequency range instead of the sampling rate.

2. Three different types of MQA decoding approaches
Many manufacturers mention their products support MQA, yet without saying which type of MQA it is, which makes ordinary consumers confused. Here, I would like to introduce 3 commonly-used MQA concepts and corresponding characteristics.
1) MQA Decoder
· Purpose: The first step of MQA decoding, think of it as opening an origami paper, is to figure out the folding lines and unlock the first layer.
· Implementation method: This step is usually implemented by music apps, such as TIDAL, ROON (FiiO Music app will soon be one of them).
· Outcome: 2x unfolding after decoding, the output sampling rate is 88.2k or 96k.

2) MQA Renderer
· Purpose: With an appropriate music app supporting MQA, unfold the decoded audio stream again.
· Implementation method: Complete decoding through the XMOS chip or a DAC chip that supports MQA Renderer.
· Outcome: Going through Rendering and a second unfolding, the complete MQA decoding process will be completed. The highest unfolding level depends on the maximum performance of the system or DAC chip. MQA 8x achieves a sampling rate up to 384k, and MQA 16x up to 768k. The MQA authority told us that there will even be MQA 32x supported in the future.

Take USB audio adapters as an example. Here is a flow diagram showing the whole MQA process from Decoder to Renderer
Willson微博 MQA科普及飞傲产品的MQA支持情况2228.png


3) MQA Full Decoder
This kind is to integrate steps 1 and 2, 1 plus 2 is 3.
· Purpose: In a system with strong enough processing power, the whole decoding process can be completed at one time.
· Implementation method: Complete decoding through the SoC, audio DSP or XMOS.
· Outcome: After the Full Decoder process, the whole file will be decoded entirely without any additional device.

Take the common desktop DAC and audio player as an example to show the whole process of MQA Full Decoder

Willson微博 MQA科普及飞傲产品的MQA支持情况2724.png

Willson微博 MQA科普及飞傲产品的MQA支持情况2726.png

According to the above introduction, let's make a brief comparison of the three different decoding methods in a table.
MQA decoding methods and their respective characteristics

MQA decoding
Product category (example)
Implementation premise
Implementation method
Implementation characteristics
Decoder
Music app​
MQA authorized and is equipped with a thorough billing account management system​
Core library​
Easy to access​
Renderer
USB decoding device​
Must work with a music app that supports MQA​
XMOS library or a DAC chip with built-in MQA Renderer​
Lower cost​
Full Decoder
Audio player, USB decoding device​
Strong enough audio processing capacity​
MQA complete library+DSP​
Full and efficient​


3. MQA opens different authorization methods for different product types
Since there are many types of audio devices on the market and a variety of suitable listening scenarios, MQA provides different authorization methods according to different characteristics and usage scenarios of these devices.

1) Music apps (MQA Core Decoder)
MQA licenses some music apps separately for mobile and desktop devices, such as Tidal for mobile phones, and Audirvana for PCs. These music apps
support streaming and MQA decoding, so users can enjoy MQA tracks with portable DACs.

However, the authorization of MQA decoding involves authorization fee, so those music apps that support MQA are required to include a chargeable account system to obtain the official MQA certification.

The FiiO Music app is also planning to add the MQA Decoder support. Because the independent account system with the global charging function involves many security issues, it took a lot of time for us to deal with it. But now the development is near completion, and MQA officials are testing and verifying.

2) Audio player (MQA Full Decoder)
Audio players have developed with a nearly perfect architecture to this day, basically with the complete function of "online/local playback + decoding + amplification", such as FiiO's M11 series, the M15 and M17.

MQA officials believe that such devices are fully qualified to provide a one-stop solution, so it authorizes them MQA Full Decoder. But the USB DAC function of audio players will be authorized separately, which might be the MQA Full Decoder or MQA Renderer.

3) Portable DAC (MQA Renderer and Full Decoder)
Such devices are generally "USB audio adapters (small USB DAC and Amplifier)" or "portable DAC/Amps with a built-in battery, which are used with mobile phones or PCs.

With the help of the authorized MQA support for music apps on mobile phones and PCs, such devices only need to support MQA Renderer. Connecting them can achieve MQA Full Decoder. For sure, portable DACs are also authorized to support MQA Full Decoder.

3.1) It can be realized through the USB XMOS. For example, the XMOS 208 supports MQA Renderer, and the XMOS 216 supports MQA Full Decoder.
3.2) It can also be realized through the DAC that supports MQA Renderer.

4) Desktop DAC
This type of device generally represents the high-end performance of DAC, and they usually work with various music apps (not necessarily a music app that supports MQA). Therefore, it has relatively higher requirements for openness, as well as implementation methods. In theory, MQA only authorizes MQA Full Decoder, so it is suggested to use the XMOS216 chip or chips with higher performance. But there are exceptions, such as
4.1) The one equipped with a DAC chip with its own MQA Renderer, like the ES9068AS. It can also be authorized MQA Renderer.
4.2) The K9 Pro has a Type-C port that is easy to connect to mobile phones for decoding. Also, it supports MQA Renderer (but later MQA told us that it is not recommended to use the XMOS208 chip to implement MQA Renderer, while the FiiO K9 Pro is the only exception. In the future, other models, except for the K9 Pro series, will not be authorized anymore).

4. FiiO existing products that support MQA

FiiO has already implemented MQA since the M11 Pro in 2019, and now has realized MQA Full Decoder in all Android players. DAC and headphone amplifiers have relatively slow progress in MQA introduction. It started from the K9 Pro that supports MQA Renderer.

*Note: Although many headphone amplifiers use the XMOS chip, there will be differences in different products due to the official MQA authorization conditions and the limited processing capability of the XMOS208. There is no guarantee that products using the XMOS208 chip can stably support MQA because there will be conflicts of MQA decoding resources in the actual application of different projects.
Product type
Model
Decoding type
Multiple of decoding
Audio player​
M11​
Full Decoder​
8×​
M11 Pro​
Full Decoder​
8×​
M15​
Full Decoder​
8×​
M11 Plus LTD​
Full Decoder​
8×​
M17​
Full Decoder​
8×​
M11 Plus​
Full Decoder​
8×​
DAC /Amp​
K9 Pro​
Renderer​
8×​
BTR5 2021​
Renderer​
8×​
K9 Pro ESS​
Renderer​
8×​

5. FiiO future products that support MQA
1) FiiO's future smart music players will continue to support MQA Full Decoder.
2) FiiO's future DACs will use the new XMOS316, which aims to support MQA Full Decoder.

*Notes:
1) Because the production process of XMOS208/216 is the same as that of automotive semiconductors, and the current supply situation is still tough, we decided to use the XMOS316 with a new process, which will help the continuous sales of our products.
2) At present, for the new XMOS316 chip, we have already discussed its code realizability. And it is expected to be applied to our new products soon.

6. Can FiiO's old products support MQA through an upgrade?
1) Some of FiiO's old products had not established connections with MQA before entering the market, such as the Q1MKII, Q3, Q5s. So, they cannot support MQA.

2) For the recently released products, such as the M17, whose audio processing is handled by both the SoC and XMOS chips, even though they use the XMOS chip for USB decoding, the two audio processing cores will conflict when receiving MQA data stream, which is probably because the processing capacity of the XMOS208 has reached the maximum. Our engineers have been discussing solutions with MQA officials. Therefore, MQA Renderer will still be unavailable under USB DAC mode until we work out a perfect solution.

As mentioned above, individual products may not be able to introduce MQA due to the actual resource load of the XMOS208. But we will keep examining one by one, upgrading the code of the product that is capable of supporting MQA, and reporting it to the MQA official. It will be available through upgrade once it passes the test. Please pay attention to the official announcement for the specific progress.
 
FiiO Stay updated on FiiO at their sponsor profile on Head-Fi.
 
https://www.facebook.com/FiiOAUDIO https://twitter.com/FiiO_official https://www.instagram.com/fiioofficial/ https://www.fiio.com support@fiio.com
Mar 16, 2022 at 11:44 AM Post #2 of 30
here we go. . .
 
Mar 16, 2022 at 11:57 AM Post #3 of 30
What I did not get from the explanation is, what is the pupose of MQA?

Is it size compression of a hi res audio file that still remains more detail than a redbook standard file, even though it has lossy compression and is always worse than a high res file that does not use MQA?
 
Mar 16, 2022 at 4:44 PM Post #4 of 30
I decided to shun MQA simply as a matter of principle because of what the MQA founders did to Chris Connacker at his RMAF lecture on the subject.
 
Mar 16, 2022 at 6:22 PM Post #5 of 30
What I did not get from the explanation is, what is the pupose of MQA?

Is it size compression of a hi res audio file that still remains more detail than a redbook standard file, even though it has lossy compression and is always worse than a high res file that does not use MQA?
from the way you put your question it's clear that it is rather a statement :wink:

but yes, of course it's about lossy compressing hires files, and by definition a lossy compressed file is "worse" than the original file - otherwise it wouldn't be a lossy compression algorithm. The question is whether it's good enough, and whether it still qualifies as "hires". I believe MQA's claim that it is. And the size difference between a (say) DXD file and the MQA derivative is very significant indeed.
 
Last edited:
Mar 16, 2022 at 6:37 PM Post #6 of 30
from the way you put your question it's clear that it is rather a statement :wink:

but yes, of course it's about lossy compressing hires files, and by definition a lossy compressed file is "worse" than the original file - otherwise it wouldn't be a lossy compression algorithm. The question is whether it's good enough, and whether it still qualifies as "hires". I believe MQA's claim that it is. And the size difference between a (say) DXD file and the MQA derivative is very significant indeed.
Yeah my question is formulated to mirror my current understanding of MQA.
However it really is a question in the sense, that if my understanding is wrong I want to know what I didn't understand correctly so far.

So ideally the quality scale would look like this:
Hi res file > hi res MQA file > regular redbook CD quality > mp3 or other lossy compressed file

The question is if the lossy MQA is still better than the regular Resolution file. From my experience with Tidal it seems that way.

However it also means that the only upside of MQA vs Hires files is storage space saving.
 
Mar 16, 2022 at 6:59 PM Post #7 of 30
So ideally the quality scale would look like this:
Hi res file > hi res MQA file > regular redbook CD quality > mp3 or other lossy compressed file

The question is if the lossy MQA is still better than the regular Resolution file. From my experience with Tidal it seems that way.

However it also means that the only upside of MQA vs Hires files is storage space saving.
yes, i agree with all of that. And would add that i've only ever tried MQA with DACs/DAPs that are Full Decoders (best case scenario, in other words).
 
Mar 16, 2022 at 11:59 PM Post #8 of 30
I will continue to shun EVERY product that includes MQA in any way shape or form. In a world of 5G cellular, 6th gen. WiFi, and gigabit internet, the technology is 15 years too late and offers zero benefit to the end user. The only time I care about lossless is at home, sitting in front of my computer with terabytes of AIFF/FLAC/ALAC at my disposal.
:metal::sunglasses:
 
Mar 17, 2022 at 2:10 AM Post #9 of 30
i've always been baffled by the amount of (always negative) emotion invested in what is essentially a codec. Yes, it's patented, but in a wildly capitalist world that's hardly unique. Yes, their executives seem to have behaved like :poop: at at least one occasion, but surely that pales in comparison to most other common corporate misdeeds. There are so many things i care about in this world - but a codec is not one of them. I just want my gear to support it as best as possible to not restrict my options when listening to music. Easy.
 
Mar 17, 2022 at 4:49 AM Post #10 of 30
i've always been baffled by the amount of (always negative) emotion invested in what is essentially a codec. Yes, it's patented, but in a wildly capitalist world that's hardly unique. Yes, their executives seem to have behaved like :poop: at at least one occasion, but surely that pales in comparison to most other common corporate misdeeds. There are so many things i care about in this world - but a codec is not one of them. I just want my gear to support it as best as possible to not restrict my options when listening to music. Easy.
What I did not get from the explanation is, what is the pupose of MQA?

Is it size compression of a hi res audio file that still remains more detail than a redbook standard file, even though it has lossy compression and is always worse than a high res file that does not use MQA?
I will continue to shun EVERY product that includes MQA in any way shape or form. In a world of 5G cellular, 6th gen. WiFi, and gigabit internet, the technology is 15 years too late and offers zero benefit to the end user. The only time I care about lossless is at home, sitting in front of my computer with terabytes of AIFF/FLAC/ALAC at my disposal.
:metal::sunglasses:

Thank you all for your comments.
Our products do not only support MQA only, but also support more than almost all popular formats.

We wrote this article mainly because people, and even some of our own engineers, don't know much about MQA and our products, so we wrote a simpler thing to make you understand our products better.

I also sent an email to the MQA technical staff, hoping they would participate in this discussion, which I think will make this discussion more meaningful
 
FiiO Stay updated on FiiO at their sponsor profile on Head-Fi.
 
https://www.facebook.com/FiiOAUDIO https://twitter.com/FiiO_official https://www.instagram.com/fiioofficial/ https://www.fiio.com support@fiio.com
Mar 17, 2022 at 7:49 AM Post #11 of 30
from the way you put your question it's clear that it is rather a statement :wink:

but yes, of course it's about lossy compressing hires files, and by definition a lossy compressed file is "worse" than the original file - otherwise it wouldn't be a lossy compression algorithm. The question is whether it's good enough, and whether it still qualifies as "hires". I believe MQA's claim that it is. And the size difference between a (say) DXD file and the MQA derivative is very significant indeed.
Only thing being it sounds nothing like the original file and in most cases huge amount of sounds and detail get lost . Basically what it is: the exact same thing as MP3 only is listenable. It is not even close to Redbook cd. So far every mqa album I have accidentally Goten sounded exactly like I describe. Listenable and pleasent, yet almost all the musical detail has been thrown out in the compression/conversion to mqa. Best examples are simply reds blue eyed soul, mika's my name is Michael Holbrook, the Gorillaz the now now. Sounded listenable in mqa, till you hear a proper 16bit file that has never been touched by this curse.
Difference truly is might and day. Just like with MP3 more than half of the music is gone,but unlike MP3 what you are left with doesn't sound like absolute garbage.
A dxd master sounds infinitely better than any mqa file ever will no matter what meridian would like you to believe.
 
Mar 17, 2022 at 11:03 AM Post #12 of 30
1. A brief introduction to MQA
There are already many introductory articles on the Internet, so here I would like to give a brief explanation.
1) The working principle of MQA is to fold the high sampling rate master recording just like folding paper over and over again, to shrink the original file for convenient transmission. The lossy compressed MQA file is FLAC encapsulated with a sampling rate of 44.1k or 48k, 88.2k and 96k.
Willson微博 MQA科普及飞傲产品的MQA支持情况629.png

2. To unfold the MQA file layer by layer and reveal the original master resolution, is called MQA decoding.

Willson微博 MQA科普及飞傲产品的MQA支持情况740.png
The above sketch map comes from MQA's official website. Figure 2 refers to the frequency range instead of the sampling rate.

2. Three different types of MQA decoding approaches
Many manufacturers mention their products support MQA, yet without saying which type of MQA it is, which makes ordinary consumers confused. Here, I would like to introduce 3 commonly-used MQA concepts and corresponding characteristics.
1) MQA Decoder
· Purpose: The first step of MQA decoding, think of it as opening an origami paper, is to figure out the folding lines and unlock the first layer.
· Implementation method: This step is usually implemented by music apps, such as TIDAL, ROON (FiiO Music app will soon be one of them).
· Outcome: 2x unfolding after decoding, the output sampling rate is 88.2k or 96k.

2) MQA Renderer
· Purpose: With an appropriate music app supporting MQA, unfold the decoded audio stream again.
· Implementation method: Complete decoding through the XMOS chip or a DAC chip that supports MQA Renderer.
· Outcome: Going through Rendering and a second unfolding, the complete MQA decoding process will be completed. The highest unfolding level depends on the maximum performance of the system or DAC chip. MQA 8x achieves a sampling rate up to 384k, and MQA 16x up to 768k. The MQA authority told us that there will even be MQA 32x supported in the future.

Take USB audio adapters as an example. Here is a flow diagram showing the whole MQA process from Decoder to Renderer
Willson微博 MQA科普及飞傲产品的MQA支持情况2228.png

3) MQA Full Decoder
This kind is to integrate steps 1 and 2, 1 plus 2 is 3.
· Purpose: In a system with strong enough processing power, the whole decoding process can be completed at one time.
· Implementation method: Complete decoding through the SoC, audio DSP or XMOS.
· Outcome: After the Full Decoder process, the whole file will be decoded entirely without any additional device.

Take the common desktop DAC and audio player as an example to show the whole process of MQA Full Decoder

Willson微博 MQA科普及飞傲产品的MQA支持情况2724.png
Willson微博 MQA科普及飞傲产品的MQA支持情况2726.png
According to the above introduction, let's make a brief comparison of the three different decoding methods in a table.
MQA decoding methods and their respective characteristics

MQA decoding
Product category (example)
Implementation premise
Implementation method
Implementation characteristics
Decoder
Music app​
MQA authorized and is equipped with a thorough billing account management system​
Core library​
Easy to access​
Renderer
USB decoding device​
Must work with a music app that supports MQA​
XMOS library or a DAC chip with built-in MQA Renderer​
Lower cost​
Full Decoder
Audio player, USB decoding device​
Strong enough audio processing capacity​
MQA complete library+DSP​
Full and efficient​


3. MQA opens different authorization methods for different product types
Since there are many types of audio devices on the market and a variety of suitable listening scenarios, MQA provides different authorization methods according to different characteristics and usage scenarios of these devices.

1) Music apps (MQA Core Decoder)
MQA licenses some music apps separately for mobile and desktop devices, such as Tidal for mobile phones, and Audirvana for PCs. These music apps
support streaming and MQA decoding, so users can enjoy MQA tracks with portable DACs.

However, the authorization of MQA decoding involves authorization fee, so those music apps that support MQA are required to include a chargeable account system to obtain the official MQA certification.

The FiiO Music app is also planning to add the MQA Decoder support. Because the independent account system with the global charging function involves many security issues, it took a lot of time for us to deal with it. But now the development is near completion, and MQA officials are testing and verifying.

2) Audio player (MQA Full Decoder)
Audio players have developed with a nearly perfect architecture to this day, basically with the complete function of "online/local playback + decoding + amplification", such as FiiO's M11 series, the M15 and M17.

MQA officials believe that such devices are fully qualified to provide a one-stop solution, so it authorizes them MQA Full Decoder. But the USB DAC function of audio players will be authorized separately, which might be the MQA Full Decoder or MQA Renderer.

3) Portable DAC (MQA Renderer and Full Decoder)
Such devices are generally "USB audio adapters (small USB DAC and Amplifier)" or "portable DAC/Amps with a built-in battery, which are used with mobile phones or PCs.

With the help of the authorized MQA support for music apps on mobile phones and PCs, such devices only need to support MQA Renderer. Connecting them can achieve MQA Full Decoder. For sure, portable DACs are also authorized to support MQA Full Decoder.

3.1) It can be realized through the USB XMOS. For example, the XMOS 208 supports MQA Renderer, and the XMOS 216 supports MQA Full Decoder.
3.2) It can also be realized through the DAC that supports MQA Renderer.

4) Desktop DAC
This type of device generally represents the high-end performance of DAC, and they usually work with various music apps (not necessarily a music app that supports MQA). Therefore, it has relatively higher requirements for openness, as well as implementation methods. In theory, MQA only authorizes MQA Full Decoder, so it is suggested to use the XMOS216 chip or chips with higher performance. But there are exceptions, such as
4.1) The one equipped with a DAC chip with its own MQA Renderer, like the ES9068AS. It can also be authorized MQA Renderer.
4.2) The K9 Pro has a Type-C port that is easy to connect to mobile phones for decoding. Also, it supports MQA Renderer (but later MQA told us that it is not recommended to use the XMOS208 chip to implement MQA Renderer, while the FiiO K9 Pro is the only exception. In the future, other models, except for the K9 Pro series, will not be authorized anymore).

4. FiiO existing products that support MQA
FiiO has already implemented MQA since the M11 Pro in 2019, and now has realized MQA Full Decoder in all Android players. DAC and headphone amplifiers have relatively slow progress in MQA introduction. It started from the K9 Pro that supports MQA Renderer.

*Note: Although many headphone amplifiers use the XMOS chip, there will be differences in different products due to the official MQA authorization conditions and the limited processing capability of the XMOS208. There is no guarantee that products using the XMOS208 chip can stably support MQA because there will be conflicts of MQA decoding resources in the actual application of different projects.
Product type
Model
Decoding type
Multiple of decoding
Audio player​
M11​
Full Decoder​
8×​
M11 Pro​
Full Decoder​
8×​
M15​
Full Decoder​
8×​
M11 Plus LTD​
Full Decoder​
8×​
M17​
Full Decoder​
8×​
M11 Plus​
Full Decoder​
8×​
DAC /Amp​
K9 Pro​
Renderer​
8×​
BTR5 2021​
Renderer​
8×​
K9 Pro ESS​
Renderer​
8×​

5. FiiO future products that support MQA
1) FiiO's future smart music players will continue to support MQA Full Decoder.
2) FiiO's future DACs will use the new XMOS316, which aims to support MQA Full Decoder.

*Notes:
1) Because the production process of XMOS208/216 is the same as that of automotive semiconductors, and the current supply situation is still tough, we decided to use the XMOS316 with a new process, which will help the continuous sales of our products.
2) At present, for the new XMOS316 chip, we have already discussed its code realizability. And it is expected to be applied to our new products soon.

6. Can FiiO's old products support MQA through an upgrade?
1) Some of FiiO's old products had not established connections with MQA before entering the market, such as the Q1MKII, Q3, Q5s. So, they cannot support MQA.

2) For the recently released products, such as the M17, whose audio processing is handled by both the SoC and XMOS chips, even though they use the XMOS chip for USB decoding, the two audio processing cores will conflict when receiving MQA data stream, which is probably because the processing capacity of the XMOS208 has reached the maximum. Our engineers have been discussing solutions with MQA officials. Therefore, MQA Renderer will still be unavailable under USB DAC mode until we work out a perfect solution.

As mentioned above, individual products may not be able to introduce MQA due to the actual resource load of the XMOS208. But we will keep examining one by one, upgrading the code of the product that is capable of supporting MQA, and reporting it to the MQA official. It will be available through upgrade once it passes the test. Please pay attention to the official announcement for the specific progress.
Thank you for this detailed explanation. While MQA is controversial and not everyone’s cup of tea, it is always helpful to increase understanding, and I for one consider myself better informed after reading this.
 
Mar 18, 2022 at 8:13 AM Post #14 of 30
I see the problem that if there are two identical products, one supporting mqa and the other doesn't, the one with the mqa support will be inherently more expensive - whether you are interested in listening to mqa encoded files or not. Call it the mqa-tax if you like.
If that is what you are concerned about, the solution is to buy products that don’t support MQA.
 
Mar 18, 2022 at 10:15 AM Post #15 of 30
Only thing being it sounds nothing like the original file and in most cases huge amount of sounds and detail get lost . Basically what it is: the exact same thing as MP3 only is listenable. It is not even close to Redbook cd. So far every mqa album I have accidentally Goten sounded exactly like I describe. Listenable and pleasent, yet almost all the musical detail has been thrown out in the compression/conversion to mqa. Best examples are simply reds blue eyed soul, mika's my name is Michael Holbrook, the Gorillaz the now now. Sounded listenable in mqa, till you hear a proper 16bit file that has never been touched by this curse.
Difference truly is might and day. Just like with MP3 more than half of the music is gone,but unlike MP3 what you are left with doesn't sound like absolute garbage.
A dxd master sounds infinitely better than any mqa file ever will no matter what meridian would like you to believe.

I am not a proponent of MQA by any stretch, although I do use Tidal so I have some MQA capable gear, but those statements are simply not true. At the very least, they are just your opinion. The ire and vitriol instigated by any mention of MQA always amazes me. Like dude said a few posts up: IT'S A CODEC. Get over it. Buy it or don't, and get on with your life.
 

Users who are viewing this thread

Back
Top