Can't install CM based ROM's - G Tablet Q&A, Help & Troubleshooting

So...I can't install either of the two CM based ROM's I've downloaded. However, on the first try, I installed VEGan, and then tonight TNT Lite, with no issues. Any CM ROM I try to install just sits on the loading screen, regardless of how long I wait. Is there something special that needs to be done to install them, different than what I do for other ROM's? (Clear data/cache, flash the ROM, clear data/cache again, reboot.)

sfreemanoh said:
So...I can't install either of the two CM based ROM's I've downloaded. However, on the first try, I installed VEGan, and then tonight TNT Lite, with no issues. Any CM ROM I try to install just sits on the loading screen, regardless of how long I wait. Is there something special that needs to be done to install them, different than what I do for other ROM's? (Clear data/cache, flash the ROM, clear data/cache again, reboot.)
Click to expand...
Click to collapse
I believe you have ClockworkMod 0.8 recovery, since you were able to flash Vegan Rom.
In general, before you flash the different rom
1. Back up your current rom
2. wipe data (factory reset)
3. wipe cache
4. flash the rom
5, flash gapps
6. reboot
Hope this helps

There have also been some reports of G-Tablets coming out of the box with incorrect partitions.
Using NVFlash has cured those issues. You should then be able to flash CM7 Roms through CWM like everyone else.

I repartitioned with 2048/0, shouldn't that rule out any partitioning problems?
I'm trying it again right now with flashing the rom then gapps.zip, waiting for it to boot...or just stay on the boot screen.

Format system and data, then follow those steps again. I ran in to similar issues when I hadn't formatted.
Also, do the three wipes again after installing the ROM and gapps.

Holy crap! I see the CM boot screen now! Thanks for the help guys. Now, do I still need to do the market fix (http://forum.xda-developers.com/showthread.php?t=865245)? It looks like from their changelogs that the latest version of Flash is cooked into the ROM so I shouldn't have to do that part from the guide, but I'm wondering about the market.
Well, the market seems to have everything, including an app (power control plus) that none of the other rom's let me see, so I seem to be good to go! Thanks again guys!

Thanks for the suggestion - and I'll readily admit I'm WAY out of my comfort zone with Android.
When I format the /system /data do I have to mount first?
What order do the steps run in? Do I partition and then format /system /data?

cannot install cm based roms
I was trying to reset from factory rest but failed when my gtablet stucked and apparently did something wrong along the way. Now when I turn it on, I get the 3 birds screen, followed by G-Tabdevs screen, then dead. I do have clockwork mod installed on it.
1 when I clicked factory rest, it just return to the manue and said cannot find the file.
2 when I did a back up, it went through boot image,recovery image,system and then taskbar stopped in the half at settings.apk and then dead.
3 when I tried to followed this link http://forum.xda-developers.com/showthread.php?t=865245
to use the external tf card to flash, Gtablet doesnot recogonize the external card, while I can read all the files in gtablet. I can copya single small file but cannot paste a recovery and update.zip on gtablet. Each time I copied a file from gtablet, then it is dead. I have to return on by pressing power and volume+.
4 I tried adb to push update.zip to gatblet,also failed. I feel my gtablet can only allows me to read it and refuse me to do anything on it.
Any ways to reboot my gatblet brick?
Please help! I've been reading forums all weeks trying to figure out how to fix it and am not having any luck!
Appreciate any suggestions

Related

[Q] Freeze on any Custom Rom

I'm working with my new (from woot) Viewsonic G Tablet.
I managed to flash clockwork recovery (v .8) with little to no trouble. However, I am having some difficulty flashing a custom ROM. I have tried several different versions, including many of the ones posted on this forum.
Whenever I try, clockwork says that the install completed, but when I reboot it hangs at the Viewsonic bird-logo screen. After about 25 minutes I give up, reboot. It happens again. I reboot into clockwork and restore to stock and it works fine. I don't think I'm missing a step, but I'm pleading for help.
From clockworkmod -- Wipe Data, Cache, and Dalvik Cache. Repartition sdcard to 2048 and 0. The repartition will format your user partition, so back up any data to an external source that you don't want to lose.
Re-flash ROM of choice, hopefully boot all the way, if not then try wiping data again after flash and then fix permissions from clockworkmod.
I'll give it a shot!
Sent from my HTC Vision using XDA App
No luck.
My steps:
1) Shut down
2) Boot into recovery (hold the vol+ and power)
3) Wipe data/factory reset
4) Wipe cache
5) advanced, wipe Dalvik
6) advanced, partition sdcard 2048, 0
7) mount usb, copy rom & gapps over (both from xda with reports of success)
8) install zip from sd (CorwinCM7RC4Beta.zip)
9) install zip from sd ( gapps-gb-20110307-signed.zip)
10) re-wipe data
11) rewipe cache
12) rewipe dalvik
13) fix permissions
14) boot & freezes at the birds
Sent from my HTC Vision using XDA App
Can you flash a stock rom like 3588 and see if that boots?
Stock roms are here:
http://forum.xda-developers.com/showthread.php?t=842000
They have to be flashed with stock recovery, not clockworkmod.
I would probably use nvflash to get a working stock image on it first. This thread for those instructions:
http://forum.xda-developers.com/showthread.php?t=861950
Nvflash bekit's images then flash 3588 through the stock recovery, and you'll be back to latest stock image. Then you might have success with the custom ROM again.
Some tabs had a slightly different partition structure, mine was one of them. I nvflashed bekit's originals and it straightened out some things for me back in December.
It seems like a lot to do, but you may only need it once. I've only needed to use it twice since owning the Gtab, and the second time was by choice.
Having similar issue on the batch recieved from woot. Stock and Vegan 5.1x works but everything else gets stuck at the viewsonic birds screen.
I have no idea why. I'm going to try to do the old nvflash push method of installing cw .8 bekit today, since on the two I had in my possession this weekend got stuck and I used the install via recovery on cw .8 on them.
(btw. My original tab loads any rom(g-tablet) i want to throw at it, I used nvflash in december so it's the only thing i can think of)
Model on the tabs from woot is upc300-2.2 so yeah I am baffled (unless it turns out the way cw .8 installs....)

[Q] Trouble flashing thunderbolt

To begin with, I am a complete noob with any and all phone mods. I'll run down what I've done and whats happening when I do it.
I used the adb method to root my tbolt. Once that was done, I installed Superuser, and Rom Manager and flashed with the latest CWR, after clearing the download manager and turning on the erase option in settings. I have done this (flash cwr) before each attempt to flash a rom.
I have tried 3 roms: Das Bamf 1.3.2 themed (tried twice), The Perfect Storm 1.2 and VirusROM RC1b3. I used identical steps to flash them:
1. Booted to CWR
2. made a nandroid backup
3. wiped data
4. wiped cache
5. wiped Davlik (sp?)
6. wiped battery
7. install zip from sd, choose zip from sd
8. after installation, reboot
When I reboot, the white boot screen with green htc logo appears, disappears, appears, disappears, and so on. I assume this is what people are referring to as a boot loop. It happened with both Roms, and luckily I am still able to get back to recovery and restore the stock rooted rom.
I've asked for help in the android forums, and a couple of people there have been trying to help, but the only real suggestion I've received is bad dl's. I haven't been able to find the md5's for the .zips to compare to what I generate, but I can't believe 3 straight dl's are corrupt.
Anyone have any suggestions as to what I'm doing wrong? Any help is greatly appreciated.
hootinani said:
To begin with, I am a complete noob with any and all phone mods. I'll run down what I've done and whats happening when I do it.
I used the adb method to root my tbolt. Once that was done, I installed Superuser, and Rom Manager and flashed with the latest CWR, after clearing the download manager and turning on the erase option in settings. I have done this (flash cwr) before each attempt to flash a rom.
I have tried 3 roms: Das Bamf 1.3.2 themed (tried twice), The Perfect Storm 1.2 and VirusROM RC1b3. I used identical steps to flash them:
1. Booted to CWR
2. made a nandroid backup
3. wiped data
4. wiped cache
5. wiped Davlik (sp?)
6. wiped battery
7. install zip from sd, choose zip from sd
8. after installation, reboot
When I reboot, the white boot screen with green htc logo appears, disappears, appears, disappears, and so on. I assume this is what people are referring to as a boot loop. It happened with both Roms, and luckily I am still able to get back to recovery and restore the stock rooted rom.
I've asked for help in the android forums, and a couple of people there have been trying to help, but the only real suggestion I've received is bad dl's. I haven't been able to find the md5's for the .zips to compare to what I generate, but I can't believe 3 straight dl's are corrupt.
Anyone have any suggestions as to what I'm doing wrong? Any help is greatly appreciated.
Click to expand...
Click to collapse
Did you try hitting install ROM from SD card in ROM manager and just flashing it through the app? Not sure that will change your result but it flashes it for you and you can choose the options to make a backup and wipe. Can't hurt to try it.
I did try it with Das Bamf, but got the same result. Thats when I read that using rom manager to install the roms could cause problems and started doing it manually.
After uninstalling/reinstalling rom manager and flashing cwr again, I got TPS 1.1 to flash, and its working great. I then tried to flash 1.2 thru cwr, both with a data wipe and without, but both times it boot looped.
I've dl'd TPS 1.2 from a different source, and I'll try to install it when I get home. But any other suggestions are very appreciated. I'm just glad I finally got something to flash.
I'm stumped. I tried new dl's of TPS 1.2 and Das Bamf 1.3.2te, and both of them failed. I even tried turning off my antivirus while dl'ing and moving the file to my sdcard, but it didn't make a difference.

[Q] Should I mount /system /data?

So, I've had a hell of a weekend with my Gtablet. I Decided to try out CM 7.0.3, but it got stuck on the word "Android" screen on first boot. I tried going back to Vegan 7 RC1 but it boot looped on first boot. I learned how to NVFlash back to stock, then installed 7.0.2 stable because from reading I thought maybe since I didn't have 7.0.2 installed the first time and upgrading to .0.3 was what caused my problem in the first place. It installed wonderfully, but when I tried to installed 7.0.3 it got stuck on the word "Android" screen again. I tried to NVFlash again, but it boot looped. I tried the NVFlash format open to erase everything, but it still boot looped on stock. Then I found that I needed to partition again, so I installed CW from sdcard2 and partitioned to 2gb/0. This time NVFlash worked great, but the OTA 3588 update wouldn't installed. I manually installed 3588 and that's where I'm at right now.
Also, before installing any new roms I always wipe data, cache, and dalvik through CW.
Sorry about all that, I just wanted to get it off my chest
Before I install a new rom, I'm curious about something. In this sticky http://forum.xda-developers.com/showthread.php?t=865245 it says to mount /system and /data in CW before installing the rom. None of the other write ups say to do this, and I was wondering if it's necessary?
Also, do you all wipe data, cache, and dalvik before AND after installing roms?
I'm just looking for some tips so I don't have to do all that NVFlash crap over and over again.
Thanks!!!
Having similar trouble
I have been trying to install Cyanogenmod 7.0.3 - I have been running VEGAn Tab 1.0b5.1.1 for some time.
I wiped every thing possible; cache, data, system, Dalvik...I formatted data and system...I tried repartitioning to 4096 and 256, then back to 2048 and 0....
All I get on install is the Viewsonic splash screen. It is a bit strange. I can wipe and reinstall VEGAnTab without issue. It seems that I can run Froyo based ROMs but not Gingerbread based ROMS...
Any thoughts?
I'm not pro, but think this might help:
I think Vegan 5.x is built off Android 2.2 while Vegan 7.x and Cyanogen 7.x are built off of Android 2.3. From everything I've read this weekend it seems that anything that was built off of 2.3 doesn't play well until you NVFlash back to stock and update to stock 3588. I think it has something to do with the way stock partitions stuff, but I can't remember for sure. So, if I were in your shoes, I'd do this:
1) repartition to 2048/0 in CW
2) follow this guide to NVFlash it back to stock http://forum.xda-developers.com/showthread.php?t=861950
2a) the guide is pretty easy to follow, just make sure your tablet is fully charged in case you have problems like I did. Also, make sure when you unzip the files into the NVFlash folder that they all end up in the same folder. When I did it one of the zips extracted a NVFlash folder inside the NVFlash folder, so when I double clicked on the .bat file to start everything it didn't work.
2b) Optional, in that guide there's a link to this post which wipes everything out on your tablet using NVFlash. If you decide to do this, do it before step 2.
3) sign into wifi and install the over the air 3588 update. Mine failed so I had to use this guide to install it manually.
4) install clockwork mod and roms the way you normally would. (this is the step I'm on, but I'm waiting for a reply just so I don't have to do all that crap again ) I think it'll work just fine though.
gl
It might be the bootloader
i remember having a hell of a time with this. i had a 2.3 rom on my gtab and decided to start clean and i used NVflash and suddenly no 2.3 rom would install. the thing i did different was use the Full wipe zip file that erased ALL partitions, because nvflash doesnt do that on its own. try flashing this (replace nvflash files with whats in the zip file. DO NOT INSTALL WITH RECOVERY), which should flash you to the 1.2 bootloader. i dont claim to be an expert but its worth a try and you can always NVflash back. also you might want to check out the NVflash post again they updated the files used.
jmeuphonium said:
So, I've had a hell of a weekend with my Gtablet. I Decided to try out CM 7.0.3, but it got stuck on the word "Android" screen on first boot. I tried going back to Vegan 7 RC1 but it boot looped on first boot. I learned how to NVFlash back to stock, then installed 7.0.2 stable because from reading I thought maybe since I didn't have 7.0.2 installed the first time and upgrading to .0.3 was what caused my problem in the first place. It installed wonderfully, but when I tried to installed 7.0.3 it got stuck on the word "Android" screen again. I tried to NVFlash again, but it boot looped. I tried the NVFlash format open to erase everything, but it still boot looped on stock. Then I found that I needed to partition again, so I installed CW from sdcard2 and partitioned to 2gb/0. This time NVFlash worked great, but the OTA 3588 update wouldn't installed. I manually installed 3588 and that's where I'm at right now.
Also, before installing any new roms I always wipe data, cache, and dalvik through CW.
Sorry about all that, I just wanted to get it off my chest
Before I install a new rom, I'm curious about something. In this sticky http://forum.xda-developers.com/showthread.php?t=865245 it says to mount /system and /data in CW before installing the rom. None of the other write ups say to do this, and I was wondering if it's necessary?
Also, do you all wipe data, cache, and dalvik before AND after installing roms?
I'm just looking for some tips so I don't have to do all that NVFlash crap over and over again.
Thanks!!!
Click to expand...
Click to collapse
jmeuphonium, did you find answers to your 2 original q's ?
1 - [Q] Should I mount /system /data?
Before I install a new rom, I'm curious about something. In this sticky http://forum.xda-developers.com/showthread.php?t=865245 it says to mount /system and /data in CW before installing the rom. None of the other write ups say to do this, and I was wondering if it's necessary?
2 - Also, do you all wipe data, cache, and dalvik before AND after installing roms?
--
i'm having a hard time myself...i nvflash and boot to stock Vegan RC1, or CM Harmony Stable 7.0.3, very well...but when i load pershoot's latest kernel, it falls apart, and i get wifi error!
here's what i do after initial ROM install (Vegan RC1 or CM7) -
-power down tablet
-boot into CWM
-install zip from sdcard - choose downloaded GB kernel (the zip file that is under this heading on pershoots blog - "ViewSonic Gtab/Malata Zpad (Gingerbread):" )
-wipe data/factory reset
-wipe cache
-wipe Dalvik cache
-reboot system
don't know what i'm missing, but i'm indeed curious about your 2 questions, and i couldn't find a clear reference anywhere explaining this...any help from anyone will be greatly appreciated!! thanks!!

Q: Problems with CM7 flash

Hello all,
I need some advice. I originally followed this page http://wiki.cyanogenmod.com/wiki/Sam...l_Update_Guide to flash and everything was fine for 3 or 4 days and then the fc's came. So i odin'd to stock and when getting ready to reflash i see that you need to be on 2.2 to use his guide. So another member kwkslvr (who has been very helpful and patient btw) told me his method for flashing CM7 so i attempted to straight from 2.1 with no root to the following...
(kwkslvr's method) You definitely don't need to be on Froyo. You don't need root either. What has worked best for me is to Odin to 2.1, reboot into stock recovery and flash update.zip. Since you've flashed before, update.zip will probably already be in your internal sdcard unless you removed it. You'll have to flash it twice in a row without rebooting and that will load ClockworkMod Recovery.
Once you're in CMW Recovery (probably green recovery), wipe data/factory reset then format/system. These two steps are CRUCIAL! Flash your CM7 Nightly twice. The first time you flash it, it installs blue recovery. The second time it installs CM7. After that, again without rebooting, install gapps.
From that point, wipe data/factory reset again and reboot into the OS.
So i tried that and got to where the phone restarts after the flash and it has galaxy and cyanogen below it for a few seconds and then immediately script with font like from recovery mode races down the screen for a few seconds, then back to galaxy/cyanogen in a loop. So i odin'd again and as of now am stock 2.1 with the options of kies n it to 2.2 and then follow cyan page again or trying kwkslvr's method again. I did notice he mentioned nightlies but i am attempting to flash the stable on page 1 of this thread but don't think that would make much difference. I love the way this ROM looks and performed before it went off the tracks. Any suggestions are welcomed. Thanks alot
EDIT: At the boot loop sequence i 3 buttoned to recovery and reflashed and it seems to have worked. I notice the battery gauge no longer has the # %. And the horizontal line next to it is gone too. On my market page under "not installed" i have adobe flash showcase (Reads this item is not available at top), google search which just has a open tab (Already is installed), magic 8 ball by dennis bond (Reads this not available in your country?? it was the first time i installed it) Any ideas on how to get these 3 items off the not installed section. It's mainly a minor annoyance. I have cleared cache in market with no luck. Thanks.

[Q] Accidentally formatted with TWRP - boot loop

I accidentally formatted my internal SD card with TWRP instead of factory reseting. I can get into recovery, but loading any ROM hangs at the loading screen. For awhile, TWRP was asking for a password, and then somehow I hit the magic combination of things to make that stop happening. I adb pushed an updated TWRP and reinstalling various ROMs.
All this started from trying to install Hyperdrive RLS8. I was running RLS7 fine, went for a clean install, spaced out and formatted the phone, flashed the ROM, and had a whole slew of stability problems. Things would randomly crash instantly, booted only 50% of the time, when it did, installing things would break it, tried various things to fix it, fixing permissions and wiping cache's and such, and results were unpredictable. Kept re-formatting and reflashing with different options until I finally realized that I was formatting it and that's probably what the whole problem was.
Currently I can't boot into a ROM, it hangs on the boot animation. I tried another clean install with RLS7, and the same thing happens. I'm assuming that I need to get back to stock somehow, but I'm not sure how. Odin has always confused me. I used the all in one tool to root awhile back, and I only used odin to send a kernel tar file. If I download a stock build, it's a zip file... so how can I odin it? Is that what I need to do? I'm imagining at this point that the file structure is messed up and I need to rebuild it somehow. I don't have my nandroid backup on this computer, so I haven't tried that yet.
You can either odin stock. It's about a 1.8gb file.
Or you can get a known working ROM on your sd card, factory reset wipe, wipe preload, wipe system, install known working rom+gapps+whatever, wipe cache and wipe dalvik. Reboot. If it sticks at the samsung logo pull the battery and then try to reboot again. Sometimes first boot can take a while. I'd give it 10 minutes before throwing in the towel lol
I bricked my phone by updating Hyperdrive (which I will never (curse words... lots of them) use again. Can someone tell me where to find this stock file? I've been searching long enough to get frustrated and delete several less diplomatic posts, settling with this one.
hey guys, I am a little confused. I just came to the S4 from a galaxy nexus, and I previously used CWM as my recovery option when doing clean install of new ROMS.
When I rooted my S4, I installed TWRP (via goomananger, version 2.5.0.2) because of people saying its much better (on the galaxy nexus forums). However, I keep reading issues of people being stuck in bootloops for TWRP when wiping data.
My question is -- what is this issue? Are you not supposed to clean flash with TWRP?? Or do you only do "factory reset" option in TWRP and not wipe the data?
As I am a little confused on this issue, is it more safe to just install most recent CWM and use that as recovery instead?
Thanks alot
No worries
uberpippi said:
I accidentally formatted my internal SD card with TWRP instead of factory reseting. I can get into recovery, but loading any ROM hangs at the loading screen. For awhile, TWRP was asking for a password, and then somehow I hit the magic combination of things to make that stop happening. I adb pushed an updated TWRP and reinstalling various ROMs.
All this started from trying to install Hyperdrive RLS8. I was running RLS7 fine, went for a clean install, spaced out and formatted the phone, flashed the ROM, and had a whole slew of stability problems. Things would randomly crash instantly, booted only 50% of the time, when it did, installing things would break it, tried various things to fix it, fixing permissions and wiping cache's and such, and results were unpredictable. Kept re-formatting and reflashing with different options until I finally realized that I was formatting it and that's probably what the whole problem was.
Currently I can't boot into a ROM, it hangs on the boot animation. I tried another clean install with RLS7, and the same thing happens. I'm assuming that I need to get back to stock somehow, but I'm not sure how. Odin has always confused me. I used the all in one tool to root awhile back, and I only used odin to send a kernel tar file. If I download a stock build, it's a zip file... so how can I odin it? Is that what I need to do? I'm imagining at this point that the file structure is messed up and I need to rebuild it somehow. I don't have my nandroid backup on this computer, so I haven't tried that yet.
Click to expand...
Click to collapse
Try using odin to flash to stock. Then re-root and install custom recovery and whichever rom. I had a similar problem posted here with no help from the big brains. Had to trial and error with caution on my own. Kinda disappointing since the answer is quite simple once you connect all the dots. Flashing in odin will fix yer internal storage problem because it redefines everything.
cidorov said:
Try using odin to flash to stock. Then re-root and install custom recovery and whichever rom. I had a similar problem posted here with no help from the big brains. Had to trial and error with caution on my own. Kinda disappointing since the answer is quite simple once you connect all the dots. Flashing in odin will fix yer internal storage problem because it redefines everything.
Click to expand...
Click to collapse
uberpippi said:
I accidentally formatted my internal SD card with TWRP instead of factory reseting. I can get into recovery, but loading any ROM hangs at the loading screen. For awhile, TWRP was asking for a password, and then somehow I hit the magic combination of things to make that stop happening. I adb pushed an updated TWRP and reinstalling various ROMs.
All this started from trying to install Hyperdrive RLS8. I was running RLS7 fine, went for a clean install, spaced out and formatted the phone, flashed the ROM, and had a whole slew of stability problems. Things would randomly crash instantly, booted only 50% of the time, when it did, installing things would break it, tried various things to fix it, fixing permissions and wiping cache's and such, and results were unpredictable. Kept re-formatting and reflashing with different options until I finally realized that I was formatting it and that's probably what the whole problem was.
Currently I can't boot into a ROM, it hangs on the boot animation. I tried another clean install with RLS7, and the same thing happens. I'm assuming that I need to get back to stock somehow, but I'm not sure how. Odin has always confused me. I used the all in one tool to root awhile back, and I only used odin to send a kernel tar file. If I download a stock build, it's a zip file... so how can I odin it? Is that what I need to do? I'm imagining at this point that the file structure is messed up and I need to rebuild it somehow. I don't have my nandroid backup on this computer, so I haven't tried that yet.
Click to expand...
Click to collapse
Yes this would probably be your best bet. I wouldn't say the answer "is quite simple when you connect the dots" though, because with that logic there would be no PC problems, you would just connect the dots and format the harddrive and Windows will redefine everything else for you!
But back to seriousness, you have to download a stock factory image and its actually a tar.md5 file and not a .zip because you cant flash zips through odin. The stock factory images can be found in the development section, and they are usually quite large files (2gb+ when extracted!) and you will have to download odin and make sure you have the latest usb drivers from samsung. Then its pretty straight forward, The threads in the development section have guides for how to use odin. The stock image contains all the partitions within in it and will effectively repartition your device when you flash it so no need to use a pit file.
Surge1223 said:
Yes this would probably be your best bet. I wouldn't say the answer "is quite simple when you connect the dots" though, because with that logic there would be no PC problems, you would just connect the dots and format the harddrive and Windows will redefine everything else for you!
But back to seriousness, you have to download a stock factory image and its actually a tar.md5 file and not a .zip because you cant flash zips through odin. The stock factory images can be found in the development section, and they are usually quite large files (2gb+ when extracted!) and you will have to download odin and make sure you have the latest usb drivers from samsung. Then its pretty straight forward, The threads in the development section have guides for how to use odin. The stock image contains all the partitions within in it and will effectively repartition your device when you flash it so no need to use a pit file.
Click to expand...
Click to collapse
Just to follow up, that's what I ended up doing. I used the "No-wipe" factory image, odin'd it, re-rooted (I don't know if I had to do that step, but I did), and then loaded my ROM of choice and it works perfectly now. Thanks!

Categories

Resources