Jump to content

Recommended Posts

5 minutes ago, Cpt_Piett said:

I tested it on an A300 flight from EDDM to LIML. Heavy clouds and I used AI traffic (FSLTL). Everything was silky-smooth all the way! 

Not sure if I understand this 100%. But what I experienced on final was that TLOD was still above minimum below 1000ft AGL. In previous versions TLOD would reach minimum at 1000ft AGL (IIRC). I had set TLOD min to 100 and max 600. I didn't have time to take a screenshot of the app (too busy flying the plane!), but I'm pretty sure TLOD was 162 below 1000ft. At the gate now, and TLOD is 100...

Based on your description above, it seems that it worked as intended if I understand correctly. Does the TLOD decrease until 500ft now and then lock?

This is a screenshot from descent (AGL 5475):

aPBaNyb.jpeg

Excellent work! 😄 

Thanks for that feedback. As you had the log sim values option checked, the evidence of TLOD not being at TLOD Min by 1000 ft should be in your log file. Please check!

  • Like 1

Ryzen 7 5800X3D | Gigabyte RTX 4090 Gaming OC 24GB | 32GB 3200MHz RAM | 2TB + 1TB NVME SSD | 2GB SSD | 2GB HDD | Corsair RM850 PSU | 240mm AIO | Buttkicker Gamer 2 | Thrustmaster T.16000M Flight Pack | 75" 4K60 TV | 40" 4K60 TV | Quest 3 | DOF Reality H3 Motion Platform

MSFS @ 4K Ultra DLSS Performance with 2.0x Secondary Scaling |  VR VDXR Godlike 80Hz SSW OXRTK @ 5200x5200 Custom FFR CAS 50% | MSFS VR Ultra DLSS Performance - Windows 11

Share this post


Link to post
Share on other sites

Another AutoFPS test version drop can be downloaded here. Pending positive feedback from @RJC68on how this version behaves with frame time spikes when not using Auto OLOD and @Cpt_Pietton TLOD min descent behaviour and any other major issue found, I will formally release this shortly thereafter. Note I am of course interested in whether there are frame spikes with Auto OLOD enabled, but the minimum requirement I have to release this app is that it behaves as well as 0.4.0 when the new Auto OLOD is disabled. Just to be very clear, Auto OLOD is disabled with this version by unchecking Auto OLOD or unchecking Use Expert Settings.

New test version 28Feb241020Z:

  • Added app on top feature, allowing the app to overlay your MSFS session if desired. This is mainly useful for adjusting settings and seeing the outcome over the top of your flight as it progresses. It should also satisfy single monitor users utilising the FG capability of MSFS as they now see the true FG FPS the app is reading when MSFS has the focus.

 

image.png?ex=65f18066&is=65df0b66&hm=13e

Edited by Reset XPDR
  • Like 2

Ryzen 7 5800X3D | Gigabyte RTX 4090 Gaming OC 24GB | 32GB 3200MHz RAM | 2TB + 1TB NVME SSD | 2GB SSD | 2GB HDD | Corsair RM850 PSU | 240mm AIO | Buttkicker Gamer 2 | Thrustmaster T.16000M Flight Pack | 75" 4K60 TV | 40" 4K60 TV | Quest 3 | DOF Reality H3 Motion Platform

MSFS @ 4K Ultra DLSS Performance with 2.0x Secondary Scaling |  VR VDXR Godlike 80Hz SSW OXRTK @ 5200x5200 Custom FFR CAS 50% | MSFS VR Ultra DLSS Performance - Windows 11

Share this post


Link to post
Share on other sites
15 minutes ago, Reset XPDR said:

Thanks for that feedback. As you had the log sim values option checked, the evidence of TLOD not being at TLOD Min by 1000 ft should be in your log file. Please check!

Thanks, didn't think of that. Looking at the log values, TLOD was 261 at 1103ft (which is quite high). At 201ft it was 162, and finally at 98ft it had reached TLOD min of 100. IMO the change in TLOD is too large when on final approach (TLOD 466 at 2105ft to 100 at 98ft). That being said - I did not experience any stutters on final. 

Quote

2024-02-28 11:09:35.549 [INF] [ MainWindow:UpdateLiveValues      ] FPS: 60 TLOD: 452 OLOD: 864 AGL: 2246 FPM: -1142 Clouds: Ultra 
2024-02-28 11:09:44.550 [INF] [ MainWindow:UpdateLiveValues      ] FPS: 60 TLOD: 466 OLOD: 880 AGL: 2105 FPM: -863 Clouds: Ultra 
2024-02-28 11:09:53.551 [INF] [ MainWindow:UpdateLiveValues      ] FPS: 60 TLOD: 481 OLOD: 892 AGL: 1983 FPM: -786 Clouds: Ultra 
2024-02-28 11:10:15.549 [INF] [ MainWindow:UpdateLiveValues      ] FPS: 60 TLOD: 466 OLOD: 903 AGL: 1721 FPM: -763 Clouds: Ultra 
2024-02-28 11:10:24.552 [INF] [ MainWindow:UpdateLiveValues      ] FPS: 60 TLOD: 416 OLOD: 932 AGL: 1612 FPM: -731 Clouds: Ultra 
2024-02-28 11:10:40.552 [INF] [ MainWindow:UpdateLiveValues      ] FPS: 65 TLOD: 380 OLOD: 940 AGL: 1427 FPM: -663 Clouds: Ultra 
2024-02-28 11:10:49.551 [INF] [ MainWindow:UpdateLiveValues      ] FPS: 60 TLOD: 316 OLOD: 964 AGL: 1320 FPM: -639 Clouds: Ultra 
2024-02-28 11:11:07.551 [INF] [ MainWindow:UpdateLiveValues      ] FPS: 66 TLOD: 261 OLOD: 974 AGL: 1103 FPM: -658 Clouds: Ultra 
2024-02-28 11:11:50.570 [INF] [ MainWindow:UpdateLiveValues      ] FPS: 66 TLOD: 202 OLOD: 993 AGL: 599 FPM: -706 Clouds: Ultra 
2024-02-28 11:12:21.572 [INF] [ MainWindow:UpdateLiveValues      ] FPS: 62 TLOD: 162 OLOD: 1000 AGL: 201 FPM: -730 Clouds: Ultra 
2024-02-28 11:12:30.571 [INF] [ MainWindow:UpdateLiveValues      ] FPS: 60 TLOD: 100 OLOD: 1000 AGL: 98 FPM: -669 Clouds: Ultra 
2024-02-28 11:12:39.573 [INF] [ MainWindow:UpdateLiveValues      ] FPS: 60 TLOD: 100 OLOD: 1000 AGL: 24 FPM: -334 Clouds: Ultra 
2024-02-28 11:12:48.570 [INF] [ MainWindow:UpdateLiveValues      ] FPS: 60 TLOD: 100 OLOD: 1000 AGL: 15 FPM: -9 Clouds: Ultra 

 

Edited by Cpt_Piett

i9-12900KF @ 5.1GHz | MSI Trio Gaming X RTX4090 | MSI MPG Z690 Carbon EK X | G.Skill Trident Z5 32GB DDR5 | WD Black SN850 2TB SSD | Samsung 970 EVO Plus 500GB SSD | 2x Samsung 960 EVO 500GB SSDs | Hela 850R Platinum PCIe 5.0 w/ 12VHPWR cable | Corsair RM750X | LG 77" OLED 3840x2160 | Thrustmaster HOTAS Warthog | MFG Crosswind pedals | Thrustmaster TCA Captain Pack X Airbus Edition

“Intensify the forward batteries. I don’t want anything to get through”

Share this post


Link to post
Share on other sites
12 hours ago, RALF9636 said:

I'm not sure if this development is going in the right direction.

Let' recall what @Fragtalityrecommended for the usage of his original tool (which still is the foundation of the AutoFPS tool):

  • Less is more:
    • Fewer Increments/Decrements are better. Of reasonable Step-Size (roughly in the Range of 25-75).
    • Some Time in between Changes is better.
    • Don't overdo it with extreme low or high xLOD Values. A xLOD of 100 is reasonable fine on Ground, 200-ish is reasonable fine in Air.
    • Forcing the Sim to (un)load Objects in rapid Succession defeats the Goal to reduce Stutters. It is not about FPS.

 

 

I mean I would somehow agree if this is the "right" Direction. BUT: That does not mean it is wrong in any Sense.
It is just not what I had in Mind for my Tool, but there is no right or wrong here.

If it works better for some with this FPS Focus, that is absolutely fine. That is why I've favored the Route of multiple Forks - so there is Choice (my Variant is not dead in any Sense, it still works fine and will be updated for SU15 (Release) if necessary). Users have the Choice and can choose the Approach they believe / they evaluated better for them 🙂
I personally continue to use my Variant, because I was never concerned about my FPS. I just wanted a Tool that allows me to keep a xLOD Value my System can handle fine but just not on bigger Airports without Stutters.

So in that Sense, Congratulations to @Reset XPDR on what he has achieved. And to everyone else: Just use the Variant you're more comfortable with 😉 

Edited by Fragtality
  • Like 5
  • Upvote 1

Share this post


Link to post
Share on other sites
3 minutes ago, Cpt_Piett said:

Thanks, didn't think of that. Looking at the log values, TLOD was 261 at 1103ft (which is quite high). At 201ft it was 162, and finally at 98ft it had reached TLOD min of 100. 

 

There is something strange going on because not only did TLOD appear to not hit TLOD Min by 1000 ft AGL, but also your OLOD was still reducing below 1000 ft. It is most likely because your OLOD and TLOD had such a difference to adjust over a short period of time and the auto logic simply got overwhelmed. It would be good if you could message me the entire log section from 5000 ft to landing and taxi to the gate so I can take a closer look and see what's going on. Thanks.

 

 

  • Like 1

Ryzen 7 5800X3D | Gigabyte RTX 4090 Gaming OC 24GB | 32GB 3200MHz RAM | 2TB + 1TB NVME SSD | 2GB SSD | 2GB HDD | Corsair RM850 PSU | 240mm AIO | Buttkicker Gamer 2 | Thrustmaster T.16000M Flight Pack | 75" 4K60 TV | 40" 4K60 TV | Quest 3 | DOF Reality H3 Motion Platform

MSFS @ 4K Ultra DLSS Performance with 2.0x Secondary Scaling |  VR VDXR Godlike 80Hz SSW OXRTK @ 5200x5200 Custom FFR CAS 50% | MSFS VR Ultra DLSS Performance - Windows 11

Share this post


Link to post
Share on other sites

@Cpt_Piett I've looked through the extended log file data you sent me and everything starts out fine at 5000 ft, with the OLOD values being right where they should be down to 1100 ft then they started straying from the schedule. What is particularly weird with OLOD is this line:

1 hour ago, Cpt_Piett said:

2024-02-28 11:11:50.570 [INF] [ MainWindow:UpdateLiveValues      ] FPS: 66 TLOD: 202 OLOD: 993 AGL: 599 FPM: -706 Clouds: Ultra 

should not be possible because the code for this condition is:

if (Model.altAboveGnd < AltOLODBase) newOLOD = OLODAtBase; 

so OLOD should have been set to 1000, without any stepping, at 999 ft or lower so it should have already been there. This does not compute!

Also strange is that TLOD starts decreasing precisely on schedule at around 3600 ft and then you level at 2900 ft which restores your TLOD back to 600 and then it starts again at around 2700 ft but then starts to get behind. With an FPS tolerance of 5, which translates to a TLOD step of 5 per second, the maximum it can drop in the 9 seconds between log entries is 45 TLOD and that is what seems to be getting it behind.

But having said that, another oddity creeps in with these lines:

1 hour ago, Cpt_Piett said:

2024-02-28 11:11:50.570 [INF] [ MainWindow:UpdateLiveValues      ] FPS: 66 TLOD: 202 OLOD: 993 AGL: 599 FPM: -706 Clouds: Ultra 
2024-02-28 11:12:21.572 [INF] [ MainWindow:UpdateLiveValues      ] FPS: 62 TLOD: 162 OLOD: 1000 AGL: 201 FPM: -730 Clouds: Ultra 

because below 1000 ft if you are not at TLOD Min it should be chunking down at 20 TLOD per second which would have taken 5 seconds from the first line, but another 5 seconds later it is still not there - very strange!

As originally suggested part of this (TLOD) related to the very high LOD range you have set but also because you levelled off at 2900 ft, as one often does when capturing a glideslope, which exacerbated the issue.

This is making me rethink TLOD reduction on descent to TLOD min and I might make it a whole lot simpler by just taking your largest TLOD delta (500 in your case), your FPS tolerance (aka LOD step) and just working out a schedule purely based on altitude and a maximum anticipated descent rate (say 3000 fpm) so that at 1000 ft you are guaranteed to make it to TLOD min. If you descend slower than this, then the LOD steps are just smaller. Something like that anyway.

And as for the two anti-logic events I mentioned, the only thing I can think of that caused them is that you have auto pause enabled, so if you had the focus on the app instead of MSFS as you were crossing 1000 ft, the app was no longer working to the schedule because it was paused. Is this possibly what you were doing at that time?

  • Like 1

Ryzen 7 5800X3D | Gigabyte RTX 4090 Gaming OC 24GB | 32GB 3200MHz RAM | 2TB + 1TB NVME SSD | 2GB SSD | 2GB HDD | Corsair RM850 PSU | 240mm AIO | Buttkicker Gamer 2 | Thrustmaster T.16000M Flight Pack | 75" 4K60 TV | 40" 4K60 TV | Quest 3 | DOF Reality H3 Motion Platform

MSFS @ 4K Ultra DLSS Performance with 2.0x Secondary Scaling |  VR VDXR Godlike 80Hz SSW OXRTK @ 5200x5200 Custom FFR CAS 50% | MSFS VR Ultra DLSS Performance - Windows 11

Share this post


Link to post
Share on other sites
34 minutes ago, Reset XPDR said:

This is making me rethink TLOD reduction on descent to TLOD min and I might make it a whole lot simpler by just taking your largest TLOD delta (500 in your case), your FPS tolerance (aka LOD step) and just working out a schedule purely based on altitude and a maximum anticipated descent rate (say 3000 fpm) so that at 1000 ft you are guaranteed to make it to TLOD min. If you descend slower than this, then the LOD steps are just smaller. Something like that anyway.

And as for the two anti-logic events I mentioned, the only thing I can think of that caused them is that you have auto pause enabled, so if you had the focus on the app instead of MSFS as you were crossing 1000 ft, the app was no longer working to the schedule because it was paused. Is this possibly what you were doing at that time?

Thanks for looking into this. I did indeed have auto pause enabled - but I just briefly alt-tabbed to the app for a second whilst below 1000ft to check on it. The rest of the time it was in the background.

37 minutes ago, Reset XPDR said:

As originally suggested part of this (TLOD) related to the very high LOD range you have set but also because you levelled off at 2900 ft, as one often does when capturing a glideslope, which exacerbated the issue.

I did level off for a while at 3000ft as it takes a while for the A300 to slow down. I know I've been running crazy high settings - just wanted to check if the app could handle it. Are you saying the TLOD range could be too high? Perhaps TLOD400-100 (and OLOD 200-100) would make more sense. 


i9-12900KF @ 5.1GHz | MSI Trio Gaming X RTX4090 | MSI MPG Z690 Carbon EK X | G.Skill Trident Z5 32GB DDR5 | WD Black SN850 2TB SSD | Samsung 970 EVO Plus 500GB SSD | 2x Samsung 960 EVO 500GB SSDs | Hela 850R Platinum PCIe 5.0 w/ 12VHPWR cable | Corsair RM750X | LG 77" OLED 3840x2160 | Thrustmaster HOTAS Warthog | MFG Crosswind pedals | Thrustmaster TCA Captain Pack X Airbus Edition

“Intensify the forward batteries. I don’t want anything to get through”

Share this post


Link to post
Share on other sites
15 minutes ago, Cpt_Piett said:

I did level off for a while at 3000ft as it takes a while for the A300 to slow down. I know I've been running crazy high settings - just wanted to check if the app could handle it. Are you saying the TLOD range could be too high? Perhaps TLOD400-100 (and OLOD 200-100) would make more sense. 

Yes your range is high but OLOD was within the app's capabilities and TLOD only really got thrown off because of the leveling off, which is my bad not yours as this is a normal part of a descent profile so I should account for it. I'm glad you uncovered it before I released this new version. The pause bit was a curve ball but at least I now know I am not losing my mind 😄

I've managed to come up with the psuedo code to simplify the descent calculation for this mode to be interpolated similar to how OLOD currently is for the final descent phase and it looks something like:

Alt Band = MaxFPM / 60 * ((LOD Max - LOD Min) / LOD Step))
if (!TLODMinOnGndLanding || AGL > 1000 + AltBand)
   do FPS priority code
else if (AGL < 1000) TLODmx = TLODMin
else TLODmx = TLODMin + (TLODMax - TLODMin) * (AGL - 1000) / Alt band
if (tlod > TLODmx) tlod = TLODmx

It may look like gobbledygook but it is simpler than what I currently have there 🤪

Anyway, 'tis late where I am so I will catch up with it all again tomorrow morning my time in Oz.

  • Like 2

Ryzen 7 5800X3D | Gigabyte RTX 4090 Gaming OC 24GB | 32GB 3200MHz RAM | 2TB + 1TB NVME SSD | 2GB SSD | 2GB HDD | Corsair RM850 PSU | 240mm AIO | Buttkicker Gamer 2 | Thrustmaster T.16000M Flight Pack | 75" 4K60 TV | 40" 4K60 TV | Quest 3 | DOF Reality H3 Motion Platform

MSFS @ 4K Ultra DLSS Performance with 2.0x Secondary Scaling |  VR VDXR Godlike 80Hz SSW OXRTK @ 5200x5200 Custom FFR CAS 50% | MSFS VR Ultra DLSS Performance - Windows 11

Share this post


Link to post
Share on other sites
19 minutes ago, Reset XPDR said:

Yes your range is high but OLOD was within the app's capabilities and TLOD only really got thrown off because of the leveling off, which is my bad not yours as this is a normal part of a descent profile so I should account for it. I'm glad you uncovered it before I released this new version. The pause bit was a curve ball but at least I now know I am not losing my mind 😄

I've managed to come up with the psuedo code to simplify the descent calculation for this mode to be interpolated similar to how OLOD currently is for the final descent phase and it looks something like:

Alt Band = MaxFPM / 60 * ((LOD Max - LOD Min) / LOD Step))
if (!TLODMinOnGndLanding || AGL > 1000 + AltBand)
   do FPS priority code
else if (AGL < 1000) TLODmx = TLODMin
else TLODmx = TLODMin + (TLODMax - TLODMin) * (AGL - 1000) / Alt band
if (tlod > TLODmx) tlod = TLODmx

It may look like gobbledygook but it is simpler than what I currently have there 🤪

Anyway, 'tis late where I am so I will catch up with it all again tomorrow morning my time in Oz.

Wonderful troubleshooting between yourself and @Cpt_Piett! I understand the logic of what you are trying to achieve, but would it be possible to have a setting whereby we determine the AGL height to have the min TLOD? I'd rather have a higher (even if not max) TLOD until I'm lined up and say 1000-1500 AGL.

Share this post


Link to post
Share on other sites
1 hour ago, mmcmah said:

I understand the logic of what you are trying to achieve, but would it be possible to have a setting whereby we determine the AGL height to have the min TLOD? I'd rather have a higher (even if not max) TLOD until I'm lined up and say 1000-1500 AGL.

Are you thinking about the issue we discussed re: lining up with the runway? In that case it might be better to have a TLOD base at 1500-2000 AGL. For the runway to have more detail, TLOD would also need to be higher, say 200. Which then sort of defeats the purpose of the app as it runs the risk of stuttering on final, esp. coming into large hubs.It would work at CYDF Deer Lake, but probably not LAX 😉

Then again, it could detract from the simplicity of the app if there’s too many options. Whilst on the other hand it can be “tucked away” in the expert section 

I find that I much prefer AutoFPS due to the way it handles TLOD/OLOD dynamically without the user having to consider pre-defined altitudes. 

Edited by Cpt_Piett

i9-12900KF @ 5.1GHz | MSI Trio Gaming X RTX4090 | MSI MPG Z690 Carbon EK X | G.Skill Trident Z5 32GB DDR5 | WD Black SN850 2TB SSD | Samsung 970 EVO Plus 500GB SSD | 2x Samsung 960 EVO 500GB SSDs | Hela 850R Platinum PCIe 5.0 w/ 12VHPWR cable | Corsair RM750X | LG 77" OLED 3840x2160 | Thrustmaster HOTAS Warthog | MFG Crosswind pedals | Thrustmaster TCA Captain Pack X Airbus Edition

“Intensify the forward batteries. I don’t want anything to get through”

Share this post


Link to post
Share on other sites
7 hours ago, Reset XPDR said:

Here's a template of the content of mine, where you should just have to put in <username>:

Thank you, that did the trick.  Autostart is working well.

  • Like 1

Share this post


Link to post
Share on other sites
34 minutes ago, Cpt_Piett said:

Are you thinking about the issue we discussed re: lining up with the runway? In that case it might be better to have a TLOD base at 1500-2000 AGL. For the runway to have more detail, TLOD would also need to be higher, say 200. Which then sort of defeats the purpose of the app as it runs the risk of stuttering on final, esp. coming into large hubs.It would work at CYDF Deer Lake, but probably not LAX 😉

Then again, it could detract from the simplicity of the app if there’s too many options. Whilst on the other hand it can be “tucked away” in the expert section 

I find that I much prefer AutoFPS due to the way it handles TLOD/OLOD dynamically without the user having to consider pre-defined altitudes. 

Exactly that! Yes, a high TLOD is what I'm looking for getting to the point of lining up and then letting the value drop (300 or so).

Yes, I agree it detracts from the simplicity (hence an "expert" option), but landing and maintaining a high base TLOD value defeats the purpose of the mod even more in my opinion.

Finally, I do generally prefer this mod and its relative simplicity and automation.

Share this post


Link to post
Share on other sites
9 minutes ago, mmcmah said:

Exactly that! Yes, a high TLOD is what I'm looking for getting to the point of lining up and then letting the value drop (300 or so).

Did you try this without the app running? I haven’t had the time to experiment with it myself, but I think you mentioned getting better results with TLOD 250-300 on final.

Edited by Cpt_Piett

i9-12900KF @ 5.1GHz | MSI Trio Gaming X RTX4090 | MSI MPG Z690 Carbon EK X | G.Skill Trident Z5 32GB DDR5 | WD Black SN850 2TB SSD | Samsung 970 EVO Plus 500GB SSD | 2x Samsung 960 EVO 500GB SSDs | Hela 850R Platinum PCIe 5.0 w/ 12VHPWR cable | Corsair RM750X | LG 77" OLED 3840x2160 | Thrustmaster HOTAS Warthog | MFG Crosswind pedals | Thrustmaster TCA Captain Pack X Airbus Edition

“Intensify the forward batteries. I don’t want anything to get through”

Share this post


Link to post
Share on other sites

So what version is everyone running, the first version or the test version ? 


 

BOBSK8             MSFS 2020 ,    ,PMDG 737-600-800 FSLTL , TrackIR ,  Avliasoft EFB2  ,  ATC  by PF3  ,

A Pilots LIfe V2 ,  CLX PC , Auto FPS, ACTIVE Sky FS,  PMDG DC6 , A2A Comanche, Fenix A320, Milviz C 310

 

Share this post


Link to post
Share on other sites
8 minutes ago, Bobsk8 said:

So what version is everyone running, the first version or the test version ? 

If you prefer not to test, just go for the latest stable release. There are however some great improvements in the test version which could be worth checking out.  


i9-12900KF @ 5.1GHz | MSI Trio Gaming X RTX4090 | MSI MPG Z690 Carbon EK X | G.Skill Trident Z5 32GB DDR5 | WD Black SN850 2TB SSD | Samsung 970 EVO Plus 500GB SSD | 2x Samsung 960 EVO 500GB SSDs | Hela 850R Platinum PCIe 5.0 w/ 12VHPWR cable | Corsair RM750X | LG 77" OLED 3840x2160 | Thrustmaster HOTAS Warthog | MFG Crosswind pedals | Thrustmaster TCA Captain Pack X Airbus Edition

“Intensify the forward batteries. I don’t want anything to get through”

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Tom Allensworth,
    Founder of AVSIM Online


  • Flight Simulation's Premier Resource!

    AVSIM is a free service to the flight simulation community. AVSIM is staffed completely by volunteers and all funds donated to AVSIM go directly back to supporting the community. Your donation here helps to pay our bandwidth costs, emergency funding, and other general costs that crop up from time to time. Thank you for your support!

    Click here for more information and to see all donations year to date.
×
×
  • Create New...