Contribute
Register

The everything works Asus Z390-I Gaming * i7-8700K * SAPPHIRE NITRO+ Radeon RX Vega 64 Build

Joined
Aug 30, 2018
Messages
1,467
Motherboard
Asus ROG Strix Z390 I-Gaming
CPU
i7-8700K
Graphics
Vega 64
Mac
  1. MacBook
Classic Mac
  1. 512K
  2. iMac
Mobile Phone
  1. iOS

ModMike's Monterey TEWB (The Everything Works Build):
Asus ROG Strix Z390-I Gaming- i7-8700K - SAPPHIRE NITRO+ Radeon RX Vega 64


BigRed.jpg





Incompatible Components

Desperate guide surfers hoping to fix their install click here!

Can't Sleep? Click here!


Please read the guide carefully and update your profile before asking for help!


Contents
Incompatible Components
Components
Peripherals
Already Owned
Comments
The Build
Recommended Utilities
What Works
Keeping Your System Updated
Trouble Shooting
Benchmarks


Incompatible Components
There are a few components that are incompatible with Hackintoshes:
  • XFX graphics cards - Some characteristic of their VBIOS freezes the installer and causes kernel panics. Fortunately flashing a compatible PowerColor BIOS makes it fully compatible
Components
Asus - ROG STRIX Z390-I GAMING Mini ITX Motherboard
http://https://www.amazon.com/dp/B07HM57LVH/?tag=tonymacx86com-20

Thermaltake - Core P1 TG Mini ITX Tower Case
https://www.amazon.com/dp/B06XFW9W43/?tag=tonymacx86com-20

Intel - Core i7-8700K 3.7 GHz 6-Core Processor
https://www.amazon.com/dp/B07598VZR8/?tag=tonymacx86com-20

OEM Dell Wireless DW1560 802.11ac Broadcom BCM94352Z M.2 NGFF WIFI Card
https://www.amazon.com/dp/B00X6J4NBY/?tag=tonymacx86com-20

DEEPCOOL Gamer Storm Captain 240 AIO Liquid CPU Cooler
https://www.amazon.com/dp/B072LQC77K/?tag=tonymacx86com-20

SAPPHIRE NITRO+ Radeon RX Vega 64 (upgraded from SAPPHIRE RX 580)

Samsung - 970 Evo 1 TB M.2-2280 SSD This drive is no longer recommended due to TRIM issue with Monteray. See recommended hardware on this site.

WD Black NVMe M.2 2280 500GB PCI-Express 3.0 x4 3D NAND Internal Solid State

https://www.amazon.com/dp/B07BR9FV1C/?tag=tonymacx86com-20

G.Skill - Trident Z RGB 32 GB (2 x 16 GB) DDR4-3200 Memory
https://www.amazon.com/dp/B07DMNZY56/?tag=tonymacx86com-20

Thermaltake - Toughpower Grand RGB 750 W 80+ Gold Certified Fully-Modular ATX Power Supply
https://www.amazon.com/dp/B01N4C39AR/?tag=tonymacx86com-20

Enermax - T.B. RGB (6-pack) 47.53 CFM 120mm Fans
https://www.amazon.com/dp/B078LQC9Z2/?tag=tonymacx86com-20


Peripherals
Logitech Craft Advanced Keyboard with Creative Input Dial
https://www.amazon.com/dp/B0768LTVCQ/?tag=tonymacx86com-20

ROCCAT ROC-11-502-AM Kova - Pure Performance Gaming Mouse, Black
https://www.amazon.com/dp/B018K00ZZG/?tag=tonymacx86com-20

Mackie CR4BT CR Series Channel Studio Monitor
https://www.amazon.com/dp/B015U623GW/?tag=tonymacx86com-20


Already Owned
Seagate Mobile ST2000LM007 2.5in 6Gbps 5.4K RPM 512e SATA HDD

LG 29UM69G-B 21: 9 Ultrawide Full HD IPS Gaming Monitor-29 Screen LED-LIT

https://www.amazon.com/dp/B06Y634VP9/?tag=tonymacx86com-20


Comments

As a veteran 90's clone PC builder that drifted into the comfortable embrace of Apple hardware, I became dismissive of custom builds. That all changed when my friends and I started experiencing catastrophic failures of our expensive Apple hardware.

Fed up of anemic and expensive hardware I could no longer trust, I endeavoured to put together a powerful OSX desktop using an old Mac Pro cheese grater tower. I went so far as buying one, then having to cancel the same day when I found out that the old battle ax was the wrong model. The more I looked, the less worthwhile the whole Mac Pro proposition became.

Having built a Hackintosh about 7 years ago and determined to stay with OSX, I started down what I hoped would be a familiar path. I was quickly overwhelmed and nearly gave up but the moment I saw the Thermal Take Core P1 case, I was inspired to build a wild mini ITX rig that would feature a custom water loop.

The system became the centrepiece around which I built a slick workspace that includes a standing desk, awesome chair, and cool peripherals that stroke my sense of tech aesthetics and function. After 10 years of working from home, I felt I deserved something better than old 1990s era desks and chairs.


The Build
Case
The Core P1's open industrial design is extremely compelling visually. I never get tired of looking at it, you could say it was the case that launched a thousand dollars worth of purchases. It's available in black or white.

390786
390787


Wire management is excellent and it's a really flexible case to work with. There is a ton of place to pass wires and hide them on the other side of the case:

My only complaint is that it only accepts a Mini ITX board, which it is too big for. They could have easily made it shorter and narrower. As soon as I finish my custom water loop, I plan to shorten the glass support studs as much as possible to give it a narrower profile.

The coolest thing, is they cater to vMakers! Seeing as I have a 3D printer and the goal of this build was to design parts in CAD, it seemed like a match made in heaven for me.

Motherboard
I was concerned about Z390s not being Hackintosh validated, but buying a Z370 motherboard with the Z390s around the corner was out of the question. As a life long tech enthusiast, I was used to waiting for the next gen products to be released before I would buy. This worked to my advantage because I was able to plan extensively and acquire parts when they came up on sale.

Determined to keep the physical size small, I decided on a mini-ITX board, but true to form, I would accept no compromises. Then reality hit me. After a frank evaluation of my needs, I realized I would never have more than 1 graphics card and that anything over 16GB of memory was a waste for my use case. As a certified Asus fanboy (no idea why) I settled on the Asus Z390-i Gaming. It's jewel-like high tech look, 3 M.2 slots (2 for SSD and one for a WiFi card) and well equipped rear panel just reeks of cool.[

390793
390262


CPU
I am so ENRAGED at Intel's pricing that I cheer AMD every time they hand Intel their asses. I guess I hope they will force Intel to lower their prices. I just couldn't morally stomach the asking price of the 9900K so I ended up with a very respectable 8700K. I'm glad I did because if you look at my Geekbench scores below, you can see how well it keeps up. Especially when you consider I wasn't doing anything other than CAD and some light gaming. I will definitely upgrade when Intel comes to it senses.

Cooling
The case is built to accept a 240mm radiator for water cooling. If you have no intention of water cooling the CPU, you will end up with a big empty space in front and this may not be the best case for you.

I plan on installing a super custom loop and over specked radiator but it is taking me forever to assemble the components. Seeing as I wanted to get up and running, I looked into AIOs and was very surprised to find an affordable solution from DEEPCOOL. I absolutely love the kit and ended up getting the kit for close to what a premium Noctua air cooled solution would cost me.

I will update this post with a pic of my final config but here is an idea of what I am going for, except I will be using red coolant.

390772
390902


Choose carefully if you go the DEEPCOOL route because there are several options available from. I went with the red LED model because I was planning on using different fans and was planning to replace it with a custom loop. There are several packages that include an RGB Aura sync compatible package with illuminated fans, and even a full addressable RGB package. The coolest thing is that you can plug the pump into the AIO header on the motherboard and read the pump speed!

390808


Speaking of fans, aesthetics are critical to me. After much deliberation, I got the Enermax T.B. RGB fan pack. Why the deliberation you ask? From an aesthetic point of view, I knew they were the ones the moment I saw them. The outer light rings and black center makes them look incredibly clean and futuristic. Reviews were very positive but SP was a little low and several Newegg reviews reported bearing failures with would fail in a few weeks. I took a gamble and so far too good.

The one thing about these fans I don't like is the hub. When you use the included hub, the motherboard cannot control the fan speed as a function of CPU temperature. You need to preselect the speed from the remote which is very inconvenient. I may hack up the wiring to bypass that limitation, but even then there is no yellow wire for RPM so you can't monitor them. I know that's a lot of concessions to make for aesthetics and I may eventually go another route if I can't mod them for speed control.

390775
390776


Graphics card
Pick a card, any card. Again, I was anxious to see what was coming so I bought a Sapphire RX-580 8GB card to tide me over until the new AMDs were released. I was all for the Radeon VII but the current prices of used Vega 64s are sorely tempting. I am still debating but knowing me, I will get a Radeon VII the moment they are supported. By the way, I could care less about heat since I have an open case AND I will be water-cooling the card.

Memory
Nothing is more boring to look at or buy than memory unless you get G.Skill Trident RGB modules that is. Memory is stupidly expensive for no reason other than price fixing. Rage in check, I chose 3200s as the best bang for the buck.

390800


Drives
This is a tough one. The Samsung 970 EVO is so venerated I bought it without researching other options. It's a great drive to be sure, but also quite pricey. After finishing the OSX part of my build, I needed a 500GB SSD for the Windows side. As I was up and running I took time to evaluate other options, eventually deciding on the next generation WD Black NVMe M.2 3D NAND SSD. Not only does it perform just as well as the EVO 970, but it's also substantially less expensive.

390815
390814


Power Supply
I was getting tired of researching everything so I just caved and got a Thermal Take Grand RGB because it was on sale and Aura compatible. I paid ridiculously low $59 after rebate during Christmas. I am delighted with the quality and included cables, which I believe I can take apart and sleeve. Rebate is a little slow to arrive, but I did get confirmation it would get here by March 10th, 2019. You might be interested to know I bought it on November 22, 2018. Not complaining, just saying.
391230
390797
390807



WiFi & Bluetooth
We are an exclusively Apple family so it was critical that the rig delivers the Apple experience. By pure dumb luck, I bought a used OEM Dell DW1560 M.2 card. What a coup that was! Not only does EVERYTHING work but the Dell DW 1560 is a drop in replacement for the Asus factory installed WiFi card. Here they are side by side:

390261

Asus Intel Wifi ---------- Dell DW1560

The swap wasn't very hard but did get a little fiddly at times. The end result was definitely worth it because I ended up with OEM fitment, operation, and look.

Peripherals
The peripherals were as important to me as every other aspect of the build.

After much perusing and pondering, I picked up a Logitech craft keyboard on sale. I absolutely love this keyboard. I hate mechanical keyboards with their crazy travel and clickity clackity racket but finding a good slim profile keyboard is a chore. Most are made for travel and the Apple one just wasn't doing it for me anymore. The only thing I don't like is that it is wireless, uses a lot of power, and needs to be charged every few days. I may end up getting a nice thin USB-C cable and just leave it plugged in.

390799


For the mouse, I choose a Roccatt Kova corded mouse. It was such a revelation in mouse technology compared to my 8-year-old Microsoft optical mouse. All I can say is wow, it's super programmable in Windows, remembers it's settings in OSX, fast for gaming, and feels great. The RGB looks awesome too!

390802
390803
390801


I rounded this out with some Mackie CR4 studio speakers (still need to paint the rings red and swap LED for a red one) and a nice Ergotron adjustable arm.

390806
390805


Methodology


The typical methodology starts with building an installer, installing Mojave, then using MultiBeast to finish up. Using my approach, you create a boot disk, install it, and you're done. Still not convinced? Fair enough, here is my 15-minute challenge to you:
  1. Format a USB drive using FAT32. Any small drive will do
  2. Select the correct EFI found at the end of the post and copy it on to the drive See below to choose
  3. Set up your BIOS as described and set the boot device to UEFI (name of your USB drive)
  4. Boot
How easy was that?


Installation
Well, what are you waiting around for? Let's get started, but first, a simple request:

I have about 120 hours invested in this guide. I don’t ask anything in return except that you support the site and take a minute to let me know how it worked out for you. Just a simple post in the thread saying “Hi, used the guide and everything works” would be great. Thanks!

If you find any discrepancies, please let me know so I can update the guide.

The Dell DW1560 WIFi & Bluetooth card is needed for full Apple Continuity and Messaging functionality and perfect fitment. The only cards that are consistently proven to work come directly from Dell, or from used Dell laptops. Most vendors sell knock offs so be sure you can return it cannot get it from Dell.
  1. An original Dell DW1560.
  2. A small Phillips (star) screwdriver
  3. A plastic pry tool like a guitar pick or the ones used to open iPhones. A sharpened popsicle stick can also work in a pinch. Try to avoid using a metal bladed screwdriver to avoid mechanical damage
Procedure:
  1. Remove the 4 black screws under the motherboard that secure the large rear grey metal heat sink. Remove the heat sink and put aside

    MB Screws.jpg


  2. Remove the 2 silver screws under the motherboard that secure the WiFi module
  3. Use your pry tool to remove the spring clips holding the IO shield to the 2 outside ports by sliding the internal tab towards the front of the board. Don’t worry, it has a hinge and will not bend

    Clip.jpg


  4. Disengage the clips from the heat shield and remove it
  5. Remove the module by carefully pulling it up and out of its M.2 CNVi connector

    Module.jpg


  6. Remove the module side screw that secures the front half of the RF shield

    Sidescrew.jpg


  7. Slide the front cover up and completely remove it, you may need to detach the rear sticker a little

    Cover.jpg


  8. Use your pry tool to pop off the antenna connectors. Mark the rear wire with a piece of tape to remember where it goes

    board.jpg


  9. Remove the old module being careful not to tear the small sponge spacer
  10. Move the sponge spacer to the new card and place in RF shield
  11. Carefully connect the antennas. The connectors are very finicky so make sure they click in place, being careful not to crush them by applying to much pressure. When they click in place, use your pry tool to push them in to make sure they are fully seated
  12. Repeat the process in reverse to assemble
Huge thanks to @Silentone84 for validating instructions and taking pictures!


Bios Configuration
  1. Plug your monitor into your video cards DisplayPort to avoid graphics issues. You can use HDMI if it's all you have
  2. Start your machine and use 1 of these methods to get onto BIOS during boot:

    a) Rapidly tap the delete key
    b) Rapidly tap the F2 key (some keyboards may need to have the Function key held down)
    c) Press and hold the Function key while rapidly tapping the Backspace key​

  3. Check the BIOS version and update it if it is not the latest one
  4. If you have previously set your BIOS, it would be best to do a CMOS reset by shorting the 2 pins on the front left corner of your motherboard. Please se instructions for complete details
  5. In the main screen middle left, set X.M.P. to Enabled
  6. Advanced Items > CPU Configuration > Intel (VMX) Virtualization Technology > Enable - Absolutely required for Parallels
  7. Advanced Items > System Agent (SA) Graphics Configuration > Primary Display > PEG for DGPU, CPU for IGPU
  8. Advanced Items > System Agent (SA) Graphics Configuration > IGPU Multi-Monitor > Enabled for DGPU, Disabled for IGPU
  9. Save and reboot to activate the RC6 and DVMT settings
  10. Advanced Items > System Agent (SA) Graphics Configuration > RC6(Render Standby) > Off - This settings disables a power saving feature that could potentially crash the system
  11. Advanced Items > System Agent (SA) Configuration > Above 4G Decoding > Enable
  12. Advanced Items > System Agent (SA) Graphics Configuration > DVMT Pre-Allocated > 128
  13. Advanced Items > USB Configuration > Legacy USB Support > Disabled
  14. Advanced Items > USB Configuration > XHCI Hand Off > Enabled
  15. Boot Menu > Boot Option 1 > UEFI USB installer drive (or whatever you named it, UEFI will be automatically prepended)
  16. Exit > Save Changes

    There are few things you can tweak to eliminate ugly boot graphics and make BIOS menus easier to navigate:

  17. Boot > Boot Configuration > Boot Logo Display > Disabled
  18. Boot > Boot Configuration > Post Report > 1 Sec
  19. Boot > Setup Mode > Advanced

    I love this next feature because it allows you to save your BIOS settings so you can play around without having to wipe them and start over.

  20. Tools > Asus User Profile > Profile Name > OSX (or whatever you like)
  21. Tools > Asus User Profile > Save to Profile > 1 (hit enter to save)
Installing Monterey

Please note, I am currently revising this guide as I have dropped Clover in favour of OpenCore. I need to complete the rewrite and validate steps.

New system install Prep - Skip this section if updating


We need to create a small system partition for the EFI. This will become the permanent home of the EFI when the install is completed.
  1. Format your hard drive and create a 300mb Fat32 partition named EFI
Install:
  1. Insert a 16GB or larger USB drive in your Mac
  2. Open /Applications/Utilities/Disk Utility and select the USB drive in the left panel
  3. Click the Erase button
  4. Name the drive USB, you can rename it later if desired
  5. For Format: choose OS X Extended (Journaled)
  6. For Scheme: choose GUID Partition Map
  7. Click Erase then Done
  8. Download the EFI.zip file attached to this post. It has all the Kexts you need
  9. Extract and copy the EFI folder you downloaded onto the EFI partition of the USB installer drive
  10. Create a Monterey install USB disk
  11. Plug both USB drives into your target machine, boot into your BIOS.
  12. In the BIOS menu, set your boot disk to the USB drive with your EFI. It its usually called something like OpenCore EFI
  13. Boot and choose Installer as boot disk from the OpenCore menu
  14. Install Monterey
  15. Download, extract, install and the latest version of Open Core Configurator.
  16. Click on Mount EFI under tools
  17. Mount the EFI partitions on the USB drive and on your system drives EFI partition
  18. Copy the EFI folder from the USB drive's EFI partition to the EFI partition on your system drive
  19. Eject the USB drive, reboot, and enter your BIOS
  20. Set the 1st boot drive to your system drives UEFI partition. It will be pre-pended with UEFI
  21. Boot and check that your WiFi and Bluetooth work

Configuring Continuity

Please note: Continuity no longer works for me due to changes OS X. I suspect it has to do with my WiFi card so your YMMV.

  1. If you are signed into to iCloud, log out
  2. Start Open Core Configurator and select Mount EFI from the Tools in the menu bar at top
  3. Select the EFI partition to mount in the bottom section, you should only have one
  4. When mounted, click on the File menu option in Open Core Configurator and select select config.plist to load it for editing in Open Core
  5. Click on the PlatformInfo tab of Open Core Configurator and select the DataHub tab at top right of window
  6. Use the Generate button in the Generic section to generate a System Serial Number AND a System UUID
  7. Click on Check Coverage under the picture of the iMac on the right side
  8. You will be brought to the apple site, complete the Captcha
  9. If everything worked properly, you will get the message
We're sorry, but this serial number isn't valid. Please
check your information and try again.

Don't panic, this is good! If you get any other message confirming the warranty is still valid or expired, that means that the serial number already exists. Generate a new serial number and try again.
  1. Once you get a valid serial number, click on Generate next to SmUUID
  2. Save the config
  3. Reboot
  4. Log in to iCloud
Note: I originally followed this guide but some of the information may be outdated. Specifically, I didn't have an ethernet driver connected and was able to easily configure Continuity. Secondly, Clover Configurator seems to generate serial numbers based on the platform ID so the validation step described in the guide is unnecessary.

If you previously attempted to activate continuity and this guide does not work, read this guide meticulously and follow the instructions at the beginning.


Recommended Utilities
  1. OC Auxiliary Tools - Amazing configuration, maintenance, and updater tool. You should have already downloaded it as part of install.
  2. HWMonitorSMC2 - Very functional menu bar utility that monitors system temps, frequencies, GPUs, etc.
  3. Hackintool - Incredible diagnostic and patching tool. Be sure to read the guide very carefully!
Everything Works
  1. Continuity: Please see my notes, may depend on the WiFi card you have
    - Handoff
    - iMessage
    - Continuity Camera
    - Universal Clipboard
    - Instant Hotspot
    - Air Drop
    - iPhone Cellular Calls
    - Auto Unlock
    - Apple Pay
  2. Sleep (fans and RGB LEDs included)
  3. Power Nap (sleep with background operations such as Time Machine)
  4. Wake
  5. Audio (select internal speakers)
  6. Ethernet
  7. Bluetooth
  8. WiFi
  9. All USB and USB 3.1 ports
  10. Nightshift (no kexts required)
Trouble Shooting
Disclaimer: This guide breaks with standard methodology. Please read the Methodology section and The Great Kext Schism spoiler carefully.

Many of you reading this guide have already built your system and are having issues because of conflicting and obsolete advice on patching, what kexts to use or where to install them. The following guide should help resolve a wide range of issues:
1 - Replace your EFI
  1. Download the appropriate EFI file at the end of this post and unzip
  2. Launch Clover Configurator
  3. Click on Mount Partition in the left-hand panel
  4. Open Finder and select EFI
  5. Delete the EFI folder in the partition
  6. Copy the downloaded EFI folder you downloaded into your EFI partition

2 - Repairing Kext Permissions
  1. Download and install Mac Optimizer
  2. Launch and select the Extras tab
  3. Select Execute All at the bottom of the page
  4. Reboot
In my experience, nearly all sleep issues in a properly configured system are due to an improperly configured NVRAM. The EFI in this guide enables hardware NVRAM so no emulation is required.

If you did a fresh install using the EFI from this guide, the remediation step is not necessary. Skip to step 2.

1 - Remediation - Method 1
  1. Mount your EFI partition
  2. Load the config.plist and copy your serial numbers
  3. Delete the EFI in your EFI partition and replace with one from this guide
  4. Paste your serial number in the SMBIOS section of Clover Configurator and save
  5. Reboot and go to step 2

2 - Repair

  1. Download and install Mac Optimizer
  2. Launch and select the Extras tab

    Screen Shot 2020-04-09 at 4.21.07 PM.png


  3. Select Execute All at the bottom of the page
  4. Reboot
  5. Install and launch Hackintools
  6. Select the Power icon on the top
  7. If any of the lines are highlighted red select the screwdriver option at the bottom of the screen to fix them

    Screen Shot 2020-04-05 at 3.08.51 PM.png


  8. Reboot and check again
  9. When all highlights are green, put the computer to sleep.


Benchmarks
392696
394575



394571

Clover and older configurations are deprecated.

OpenCore 0.8.8 Ventura Updated 2023.02.05
 

Attachments

  • Dell DW1560 Windows Drivers.zip
    43.7 MB · Views: 2,235
  • Screen Shot 2020-04-13 at 11.34.26 AM.png
    Screen Shot 2020-04-13 at 11.34.26 AM.png
    34.3 KB · Views: 28,832
  • Screen Shot 2020-04-13 at 12.42.26 PM.png
    Screen Shot 2020-04-13 at 12.42.26 PM.png
    145 KB · Views: 26,366
  • Screen Shot 2020-04-13 at 12.10.27 PM.png
    Screen Shot 2020-04-13 at 12.10.27 PM.png
    107.9 KB · Views: 26,515
  • Screen Shot 2020-04-13 at 12.05.29 PM.png
    Screen Shot 2020-04-13 at 12.05.29 PM.png
    114.3 KB · Views: 26,313
  • EFI.zip
    13.6 MB · Views: 410
Last edited:
@Stork I saw some of your guides, very nicely formatted. Mind if I edit mine to match? Don't want to be in it at the same time as you.
Thank you for your patience. The editor and I had a disagreement, and I lost as you saw. Your build description is good to go with your latest edit. :thumbup:
 
Thanks for your guide ! I'm going to build mini ITX computer with the SilverStone FTZ01-E, thanks to you I will take the Asus Z390-I too !
 
Thanks for your guide ! I'm going to build mini ITX computer with the SilverStone FTZ01-E, thanks to you I will take the Asus Z390-I too !

Awesome, be sure to let me know how it works out, I am always looking to fine tune the instructions.
 
Probably best to reply here instead of the other big thread as I have near enough the same hardware as you.

Great guide, by the way, I wish I had seen it sooner!

I've used your EFI, your guide and your BIOS settings, I think many of the settings are correct by default, just a few needed changing. I have booted up and I think things are looking better, but the real test will be using Ableton for a while to see if the spikes are still happening. I will report back. Cheers :)

Edit: Ah, no it's still having huge GPU spikes and prolonged 100% GPU usage in apps that shouldn't be using anywhere near that. Very odd. I'm almost ready to bin the 560 and revert back to the iGPU.
 
Last edited:
I was going to ask about the library extensions folder, I cleaned it out a got rid of anything that I thought I didn't need, but this issue was present before i did that, this GPU has never really run nicely lol.

That OK? Thanks :)
 

Attachments

  • screenshot-hackintool1.jpg
    screenshot-hackintool1.jpg
    335.4 KB · Views: 2,112
  • screenshot-hackintool2.jpg
    screenshot-hackintool2.jpg
    276.9 KB · Views: 1,989
Back
Top