Jump to content

[1.12.x] TestFlight-Stock (TestFlight-Configs Revived) - v0.4.2 Beta


Recommended Posts

Originally created by Starstrider42: https://github.com/Starstrider42/TestFlight-Configs

The mod was never updated again since 2020. So, I've decided to adopt the config pack to revive, update, modify and expand it. This will be known under the new name "TestFlight-Stock" although you can still call it "TestFlight-Configs Revived" if you like. 

 

What is TestFlight?

TestFlight is an add-on originally made for the RSS/RO/RP-1 massive mod-suite that gives engines failure rates and modes, just like OhScrap and Kerbalism, and records reliability and ignition chance seperately. However, it also includes two unique features of it's own: Rated burn time and throttle curve. The former refers to the ability of an engine to perform reliably for a certain amount of time: After it passed that threshold, the failure chance increases significantly. Some engines also have TESTED burn time, which provides another certain amount of time where you can keep burning the engine after the rated burn time safely, and culmulative burn time, which means that the engines' rated burn time will be reset again after being shut down for a while. Throttle curve is an entirely new feature of TestFlight that provides unique throttle response rate for some liquid fuel engines. Just like OhScrap, an engine will become more reliable the more you fly and test it out. An engine can acquire at most 10000 "du" points through launches/flights that can help increase the reliability of the part.

I thought TestFlight already have it's own config pack, why use this?

TestFlight Config Stock, the official non-RO pack for TestFlight, is no ModuleManager config add-on. It's actually a set of JSON files written in order to lazily attach configs to the stockalike parts, and does not make full use of TestFlight's true potential. With TestFlight-Stock, failure rates are much more balanced and individualized: They will depend on the complexity, propellant type and tech level of the engines, whether being written in the part description itself (whether the part is stated to be explode-y or not is also taken in mind) or from the actual real-life designs of those engines. It also allows tech transfers, which is when an engine shares some of it's "du" with another identical/similar part. Parts can only share technology to those in the same manufacturer, propellant types, design/engineering principles and part families.

For more information, visit the GitHub repository down below.

What's different between Starstrider's original mods and your's fork?

Visit the GitHub page for more info. For a short summary, I have decided to retreat TestFlight support for heat shields, add even more mod supports, balance starting and ending failure rates, fixing the MM blocks originally written by Starstrider to be compatitable with TestFlight 2.0, and more. 

 

OUd7fBb.png

 

NOTE: This is a BETA release, do not expect things to work flawlessly. 

Suggestions are always welcome. If you see a bug that shouldn't be there, feel free to open an issue on Github.

 

DOWNLOAD:

Github: https://github.com/Starcatcher2009/TestFlight-Stock/releases/tag/v0.4.2-beta

SpaceDock: https://spacedock.info/mod/3077/TestFlight-Stock (TestFlight-Configs-Revived

Now available on CKAN!

SOURCE: https://github.com/Starcatcher2009/TestFlight-Stock

BUG TRACKER: https://forum.kerbalspaceprogram.com/index.php?/topic/211274-testflight-stock-bug-tracker/

LICENSES: MIT + GNU General Public License v3.0

 

Supported mods:

  • Cryogenic Engines
  • Near Future Launch Vehicles/Propulsion/Spacecraft
  • USI Exploration/Survival Pack, Sounding Rockets
  • Extraplanetary Launchpads
  • Kerbal Atomics
  • Taerobee
  • Lack's Stock eXTension (SXT) Continued
  • Bluedog Design Bureau (partially)
  • ...More to come!

 

CONFLICTS:

  • OhScrap/ScrapYard
  • TestFlight Config Stock (the official one)

 

0.3.0 Changelog:

  • Updated configs to work with TestFlight 2.0 and beyond

  • Added support for Taerobee, USI Sounding Rockets, Near Future Launch Vehicles and Making History DLC

  • Removed support for heat shields

0.4.0 Changelog:

  • Complete overhaul of TestFlight Generic Configs
  • Added support for SXTContinued and partial support for BDB

  • Added support for throttle curves

  • Separated electrothermal failure modes from electromagnetic ones
  • Added support for KSP-AVC

0.4.1 Changelog:

  • Fix typos in BDB.cfg and Generic_Engines.cfg
  • Abandon development of Generic_Parts.cfg (sad)

0.4.2 Changelog:

  • Added support for Cyro Engines (credits to Starstrider42!)

 

Future plans

As KSP2 Early Access is now released, you may see a significant drop of interest in development of this add-on. There may be further work in porting the mod to KSP2, but as of now, there's no telling which direction I will take on TestFlight-Stock.

Edited by Starcatcher2009 - Modder
Link to comment
Share on other sites

  • 3 weeks later...

First of all, many thanks for taking over this! It was a welcome surprise for my return to KSP, especially since I didn't have time to sit down and learn the differences between TF1 and TF2. :)

However, I'm not sure I understand all your design decisions. In particular, can I ask why you added ignition failures to all the monopropellant, nuclear, and electric engines? It's a bit confusing, given that these engine types don't have igniters (and IRL one of the few advantages monopropellant rockets have over bipropellant is that they will burn so long as fuel is flowing). The change also has some significant gameplay consequences, since it's harder to perform precision maneuvers with an engine that has a flat chance of failure every time it's bumped up to nonzero throttle.

Edited by Starstrider42
Link to comment
Share on other sites

@Starstrider42It actually shouldn't be called "ignition failures" anymore, more like "engine start-up failures" for me. Many things can go wrong in the start-up sequence, even monopropellant engines can have a poorly assembled valve that cannot handle high enough pressures.

Though, different propulsion methods have their own chance of failures. Nuclear thermal engines are approximately the same as chemical ones, while electric and monoprop have something like 99.9% and higher. 

Balance is still underway.
 

Link to comment
Share on other sites

 

On 8/28/2022 at 5:49 PM, Starcatcher2009 - Modder said:

Many things can go wrong in the start-up sequence, even monopropellant engines can have a poorly assembled valve that cannot handle high enough pressures.

But isn't that sort of thing already represented by the initial failure rate spike (which you seem to have kept)? My understanding is that TestFlight intended the ignition failure mechanic to specifically represent igniters,  and that that assumption is incorporated into other mod rules (e.g., sensitivity to dynamic pressure).

Please do reconsider; I think having ignition failures apply to some engines, but not others, adds a lot of meaningful choice to spacecraft design.

Link to comment
Share on other sites

1 hour ago, Starstrider42 said:

 

But isn't that sort of thing already represented by the initial failure rate spike (which you seem to have kept)? My understanding is that TestFlight intended the ignition failure mechanic to specifically represent igniters,  and that that assumption is incorporated into other mod rules (e.g., sensitivity to dynamic pressure).

Please do reconsider; I think having ignition failures apply to some engines, but not others, adds a lot of meaningful choice to spacecraft design.

I’ll consider it. 

Also I’ve switched your failure curve for the actual RO one in order to implement continuousRatedBurnTime and testedBurnTime. However, the curve is still “10x failure in first 5 seconds” and so I can balance TestFlightFailure_EngineShutdown in those 5 seconds so that they have the same effect as “engine failed to startup”

Link to comment
Share on other sites

  • 1 month later...
On 9/2/2022 at 10:44 AM, Starstrider42 said:

 

But isn't that sort of thing already represented by the initial failure rate spike (which you seem to have kept)? My understanding is that TestFlight intended the ignition failure mechanic to specifically represent igniters,  and that that assumption is incorporated into other mod rules (e.g., sensitivity to dynamic pressure).

Please do reconsider; I think having ignition failures apply to some engines, but not others, adds a lot of meaningful choice to spacecraft design.

I'm replying this because I have decided to NOT leave out ignition failures to other engine types. However, the probabilities will vary.

As I've said before, the ignition failure shall be used as a start-up failure, regardless of engines.

(Also you can also see that nuclear thermal engines in RO do have ignition failures)

Link to comment
Share on other sites

On 8/11/2022 at 1:56 AM, Starcatcher2009 - Modder said:

Originally created by Starstrider42: https://github.com/Starstrider42/TestFlight-Configs

The mod was never updated again since 2020. So, I've decided to adopt the config pack to revive, update, modify and expand it. This will be known under the new name "TestFlight-Stock" although you can still call it "TestFlight-Configs Revived" if you like. 

 

What is TestFlight?

TestFlight is an add-on originally made for the RSS/RO/RP-1 massive mod-suite that gives engines failure rates and modes, just like OhScrap and Kerbalism, and records reliability and ignition chance seperately. However, it also includes two unique features of it's own: Rated burn time and throttle curve. The former refers to the ability of an engine to perform reliably for a certain amount of time: After it passed that threshold, the failure chance increases significantly. Some engines also have TESTED burn time, which provides another certain amount of time where you can keep burning the engine after the rated burn time safely, and culmulative burn time, which means that the engines' rated burn time will be reset again after being shut down for a while. Throttle curve is an entirely new feature of TestFlight that provides unique throttle response rate for some liquid fuel engines. Just like OhScrap, an engine will become more reliable the more you fly and test it out. An engine can acquire at most 10000 "du" points through launches/flights that can help increase the reliability of the part.

I thought TestFlight already have it's own config pack, why use this?

TestFlight Config Stock, the official non-RO pack for TestFlight, is no ModuleManager config add-on. It's actually a set of JSON files written in order to lazily attach configs to the stockalike parts, and does not make full use of TestFlight's true potential. With TestFlight-Stock, failure rates are much more balanced and individualized: They will depend on the complexity, propellant type and tech level of the engines, whether being written in the part description itself (whether the part is stated to be explode-y or not is also taken in mind) or from the actual real-life designs of those engines. It also allows tech transfers, which is when an engine shares some of it's "du" with another identical/similar part. Parts can only share technology to those in the same manufacturer, propellant types, design/engineering principles and part families.

For more information, visit the GitHub repository down below.

What's different between Starstrider's original mods and your's fork?

Visit the GitHub page for more info. For a short summary, I have decided to retreat TestFlight support for heat shields, add even more mod supports, balance starting and ending failure rates, fixing the MM blocks originally written by Starstrider to be compatitable with TestFlight 2.0, and more. 

 

OUd7fBb.png

 

NOTE: This is a BETA release, do not expect things to work flawlessly. 

Suggestions are always welcome. If you see a bug that shouldn't be there, feel free to open an issue on Github.

 

DOWNLOAD:

Github: https://github.com/Starcatcher2009/TestFlight-Stock/releases/tag/v0.3.0-beta

SpaceDock: https://spacedock.info/mod/3077/TestFlight-Stock (TestFlight-Configs-Revived

Now available on CKAN!

SOURCE: https://github.com/Starcatcher2009/TestFlight-Stock

LICENSES: MIT + GNU General Public License v3.0

 

Supported mods:

  • Near Future Launch Vehicles/Propulsion/Spacecraft
  • USI Exploration/Survival Pack, Sounding Rockets
  • Extraplanetary Launchpads
  • Kerbal Atomics
  • Taerobee
  • ...More to come!

 

CONFLICTS:

  • OhScrap/ScrapYard
  • TestFlight Config Stock (the official one)

 

0.3.0 Changelog:

  • Updated configs to work with TestFlight 2.0 and beyond

  • Added support for Taerobee, USI Sounding Rockets, Near Future Launch Vehicles and Making History DLC

  • Removed support for heat shields

 

Future plans

  • Add support for moar mods
  • Further balancing TestFlight for career gameplay
  • Add throttle curves

I've installed this mod through ckan after github didn't work for me. It still doesn't work. I say this because I'm looking at the same part as you are and trying near future, but see none of the additional information that should be showing when inspecting the part. Is there a secret dependency/requirement? Let me know what you need to help.

 

edit: fixed, somehow had another config installed.

Will BDB be added anytime soon? I know it's a huge mod but man it's the best.

Edited by NateDaBeast
Link to comment
Share on other sites

On 10/3/2022 at 7:18 AM, Starcatcher2009 - Modder said:

I'm replying this because I have decided to NOT leave out ignition failures to other engine types. However, the probabilities will vary.

As I've said before, the ignition failure shall be used as a start-up failure, regardless of engines.

(Also you can also see that nuclear thermal engines in RO do have ignition failures)

Understood, thanks for the update. I must have overlooked the RO nuclear engines.

Link to comment
Share on other sites

On 10/5/2022 at 6:59 AM, NateDaBeast said:

I've installed this mod through ckan after github didn't work for me. It still doesn't work. I say this because I'm looking at the same part as you are and trying near future, but see none of the additional information that should be showing when inspecting the part. Is there a secret dependency/requirement? Let me know what you need to help.

 

edit: fixed, somehow had another config installed.

Will BDB be added anytime soon? I know it's a huge mod but man it's the best.

I'm currently working on it, thanks.

On 10/6/2022 at 8:39 AM, Motokid600 said:

I dont suppose Near Future Propulsion support includes Cryo Engines by chance, does it?

I don't think so.

Link to comment
Share on other sites

On 10/12/2022 at 9:04 AM, Starcatcher2009 - Modder said:

I'm currently working on it, thanks.

I don't think so.

Glad to hear, this may sound stupid but are the configs made so you have to individually put each part name or can you not do some sort of like modulemanager thing to apply to all parts? I'm typi9ng this while driving sorry

Link to comment
Share on other sites

On 10/16/2022 at 2:35 AM, NateDaBeast said:

Glad to hear, this may sound stupid but are the configs made so you have to individually put each part name or can you not do some sort of like modulemanager thing to apply to all parts? I'm typi9ng this while driving sorry

Ok, first off, NEVER type while driving.

Secondly, yes, I may use a generic config using MM to apply to all parts. In fact, the majority of setting up generic settings for TestFlight is done in Generic.cfg which is patched to multiple parts at the same time. I may consider setting up placeholder TF configs to unconfigured parts, but it can only work with liquid/solid/monoprop propellers since all of the other engine types has to be done manually.

Link to comment
Share on other sites

11 hours ago, Starcatcher2009 - Modder said:

Ok, first off, NEVER type while driving.

Secondly, yes, I may use a generic config using MM to apply to all parts. In fact, the majority of setting up generic settings for TestFlight is done in Generic.cfg which is patched to multiple parts at the same time. I may consider setting up placeholder TF configs to unconfigured parts, but it can only work with liquid/solid/monoprop propellers since all of the other engine types has to be done manually.

Appreciate the reply! Your latest github upload seems to be bugged for me at least. The game stops loading with the following being stuck. (Game not frozen, loading screen changes just won't load further) Assuming its something with the engine listed.

OewqN2T.png

Link to comment
Share on other sites

On 10/18/2022 at 2:15 AM, NateDaBeast said:

Appreciate the reply! Your latest github upload seems to be bugged for me at least. The game stops loading with the following being stuck. (Game not frozen, loading screen changes just won't load further) Assuming its something with the engine listed.

OewqN2T.png

You should only download the GitHub RELEASE. However the source should work properly, not sure why it’s like that. Mind sending me the log file?

Link to comment
Share on other sites

  • 4 weeks later...

Just booted this up and have been playing with it for a while on my 6.4x scale install.

Do the stock engine rated burn times ever go up? Is there any way I can increase them? I'm trying to fly a Mercury-Redstone style rocket, where the LV-T30 burns all the way into a suborbital trajectory. Burn time seems to be fixed at 100 seconds, even while I've increased it's reliability to like 95% chance of ignition. In the editor it shows the full burn time at 40 minutes now, but in flight it's still just 100 seconds. 

Any tips? Is this a bug or a feature?

Link to comment
Share on other sites

On 11/16/2022 at 5:14 AM, Chris Bolland said:

Just booted this up and have been playing with it for a while on my 6.4x scale install.

Do the stock engine rated burn times ever go up? Is there any way I can increase them? I'm trying to fly a Mercury-Redstone style rocket, where the LV-T30 burns all the way into a suborbital trajectory. Burn time seems to be fixed at 100 seconds, even while I've increased it's reliability to like 95% chance of ignition. In the editor it shows the full burn time at 40 minutes now, but in flight it's still just 100 seconds. 

Any tips? Is this a bug or a feature?

I don't recall the LVT-30 ever show something around 40 mins. Mind sending me a screenshot?

As for your question, yes, the burn times are fixed. Things like reliability decreases the chance of a failure, but does not grant additional rated burn times.

Am doing a new update soon. Sorry for being so lazy lol, I'm at school now anyways, plus also trying some new games

The amount of contents in BDB is just so large lol

Link to comment
Share on other sites

Sorry to butt in, but it sounds like @Chris Bolland is mixing up rated burn time and MTTF. 40 minutes sounds reasonable (or, if anything, a bit low) for MTTF. Rated burn time is fixed in TF because it reflects the purpose of the engine -- a first-stage engine that burns out in a couple of minutes will only be designed, or tested, to run that long, plus margin of error.

FWIW, in the original config pack I set the RBT for rocket engines like the LV-T30 to allow safe launches with the stock rockets plus a sizeable margin, since a lot of the fun of stock and stockalike KSP is trying weird designs. Though I'll admit 100 seconds wouldn't let you clear the atmosphere even in stock-sized KSP.

That said, a patch like the following might help with 6.4× compatibility in general:

@PART:HAS[@TESTFLIGHT,@MODULE[ModuleEngines*]]:BEFORE[zTestFlight]:NEEDS[TestFlight,???] {
    @TESTFLIGHT,* {
        @ratedBurnTime *= 2.5    # Approx. square root of 6.4, gives a round number for most inputs
    }
}

(substituting the correct code for 6.4× scale in the NEEDS block; I don't know what it is).

Edited by Starstrider42
Argh, I'm rusty. Previous patch would have had no effect, because RBT needs to be fixed *before* the config is unpacked into a failure curve.
Link to comment
Share on other sites

  • 3 weeks later...

I'v ebeen plugging away at college courses this semester, so haven't responded and haven't had a chance to recheck the situation with your suggestions, but thank you both @Starstrider42 and @Starcatcher2009 - Modder SO MUCH for responding to my question. I wondered if there was a way (short of just editing the burn time in the code one by one,) to balance things to make it fair to a 6.4 rescale. Yall are amazing and deserving of praise.

Thanks again, and hopefully after finals when I have some time I'll try to implement/test out your suggestions. :D

Link to comment
Share on other sites

  • 3 weeks later...

@Starstrider42

@Chris Bolland

@NateDaBeast

VERSION 0.4.0 IS OUT! (Errors-free not gauranteed; kinda in a rush atm)

ENJOY!

 

The update is not really focused on adding more parts support, but rather tweaking and updating the entire functionality of the mod as a whole. Plus SXT and BDB are really large mods unlike the ones seen in v0.3.0.

Edited by Starcatcher2009 - Modder
Link to comment
Share on other sites

  • 3 weeks later...

I finally got a chance to try 0.4.0 and... there are a few ModuleManager errors.

[ERR 11:17:42.667] name specifier detected on insert node (not a patch): Starcatcher's Mods/TestFlight-Stock/BDB/PART[bluedog_NERVA_XE]:HAS[!MODULE[TestFlightInterop]]:BEFORE[zTestFlight]
[ERR 11:17:42.667] :HAS detected on insert node (not a patch): Starcatcher's Mods/TestFlight-Stock/BDB/PART[bluedog_NERVA_XE]:HAS[!MODULE[TestFlightInterop]]:BEFORE[zTestFlight]
[ERR 11:17:42.667] pass specifier detected on insert node (not a patch): Starcatcher's Mods/TestFlight-Stock/BDB/PART[bluedog_NERVA_XE]:HAS[!MODULE[TestFlightInterop]]:BEFORE[zTestFlight]
[ERR 11:17:42.667] name specifier detected on insert node (not a patch): Starcatcher's Mods/TestFlight-Stock/BDB/PART[bluedog_smallNuclearEngine]:HAS[!MODULE[TestFlightInterop]]:BEFORE[zTestFlight]
[ERR 11:17:42.667] :HAS detected on insert node (not a patch): Starcatcher's Mods/TestFlight-Stock/BDB/PART[bluedog_smallNuclearEngine]:HAS[!MODULE[TestFlightInterop]]:BEFORE[zTestFlight]
[ERR 11:17:42.667] pass specifier detected on insert node (not a patch): Starcatcher's Mods/TestFlight-Stock/BDB/PART[bluedog_smallNuclearEngine]:HAS[!MODULE[TestFlightInterop]]:BEFORE[zTestFlight]
[LOG 11:17:42.671] Deleting root node in file Starcatcher's Mods/TestFlight-Stock/Squad node: @PART[omsEngine]:HAS[!MODULE[TestFlightInterop]]:BEFORE[zTestFlight]:NEEDS[NearFutureSpacecraft] as it can't satisfy its NEEDS

[WRN 11:17:43.375] Cannot find key ignitionDynPresFailMultiplier in TESTFLIGHT
[ERR 11:17:43.375] Error - Cannot parse variable search when editing key key = #$/TESTFLIGHT,0/ignitionDynPresFailMultiplier$
(repeated 40 times)

This is with a completely clean install of TF-Stock, no other mods except the mandatory ones. I'm guessing something changed between testing and upload.

Link to comment
Share on other sites

On 1/17/2023 at 2:47 AM, Starstrider42 said:

I finally got a chance to try 0.4.0 and... there are a few ModuleManager errors.

[ERR 11:17:42.667] name specifier detected on insert node (not a patch): Starcatcher's Mods/TestFlight-Stock/BDB/PART[bluedog_NERVA_XE]:HAS[!MODULE[TestFlightInterop]]:BEFORE[zTestFlight]
[ERR 11:17:42.667] :HAS detected on insert node (not a patch): Starcatcher's Mods/TestFlight-Stock/BDB/PART[bluedog_NERVA_XE]:HAS[!MODULE[TestFlightInterop]]:BEFORE[zTestFlight]
[ERR 11:17:42.667] pass specifier detected on insert node (not a patch): Starcatcher's Mods/TestFlight-Stock/BDB/PART[bluedog_NERVA_XE]:HAS[!MODULE[TestFlightInterop]]:BEFORE[zTestFlight]
[ERR 11:17:42.667] name specifier detected on insert node (not a patch): Starcatcher's Mods/TestFlight-Stock/BDB/PART[bluedog_smallNuclearEngine]:HAS[!MODULE[TestFlightInterop]]:BEFORE[zTestFlight]
[ERR 11:17:42.667] :HAS detected on insert node (not a patch): Starcatcher's Mods/TestFlight-Stock/BDB/PART[bluedog_smallNuclearEngine]:HAS[!MODULE[TestFlightInterop]]:BEFORE[zTestFlight]
[ERR 11:17:42.667] pass specifier detected on insert node (not a patch): Starcatcher's Mods/TestFlight-Stock/BDB/PART[bluedog_smallNuclearEngine]:HAS[!MODULE[TestFlightInterop]]:BEFORE[zTestFlight]
[LOG 11:17:42.671] Deleting root node in file Starcatcher's Mods/TestFlight-Stock/Squad node: @PART[omsEngine]:HAS[!MODULE[TestFlightInterop]]:BEFORE[zTestFlight]:NEEDS[NearFutureSpacecraft] as it can't satisfy its NEEDS

[WRN 11:17:43.375] Cannot find key ignitionDynPresFailMultiplier in TESTFLIGHT
[ERR 11:17:43.375] Error - Cannot parse variable search when editing key key = #$/TESTFLIGHT,0/ignitionDynPresFailMultiplier$
(repeated 40 times)

This is with a completely clean install of TF-Stock, no other mods except the mandatory ones. I'm guessing something changed between testing and upload.

This is from the Generic_Engines.cfg file right? Are you sure that you didn't got any file named Generic_Parts.cfg?

@key,*[0, ] *= #$/TESTFLIGHT,0/ignitionDynPresFailMultiplier$

This is the only instance I can find within the Generic_Engines file. Unless I screwed up the file while uploading, which I checked it wasn't.

Also can you tell me where did you download 0.4.0 from?

Edited by Starcatcher2009 - Modder
Link to comment
Share on other sites

18 hours ago, Starstrider42 said:

Correct, this is from Generic_Engines. I do not have a Generic_Parts.

I installed from CKAN, along with TestFlight 2.3.0.0, Module Manager 4.2.2, and Contract Configurator 2.2.2.0.

OHHH! I'm still using 2.2.0.1. Perhaps something changed maybe? Let me check.

But still I didn't recall having that line in Generic_Engines. How about you try this one instead?https://www.dropbox.com/s/15aaeba3shrzrdi/Generic_Engines.cfg?dl=0

Edited by Starcatcher2009 - Modder
Link to comment
Share on other sites

The dropbox file is identical to the one in the install -- both have the bad reference on line 601.

Since that particular block hasn't changed recently, I'm guessing the problem's a combination of this diff and the addition of ignition failures to more engine types. The most straightforward solution is to patch in &ignitionDynPresFailMultiplier = 1 in the defaults block, and modify the type-specific defaults to overwrite it; that should give the fewest surprises in the future.

That said, I haven't tried testing the change myself, so I don't promise it will work, or unblock testing of other features.

Edited by Starstrider42
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...