• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 03:12
CEST 09:12
KST 16:12
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
[ASL19] Finals Recap: Standing Tall9HomeStory Cup 27 - Info & Preview18Classic wins Code S Season 2 (2025)16Code S RO4 & Finals Preview: herO, Rogue, Classic, GuMiho0TL Team Map Contest #5: Presented by Monster Energy6
Community News
Flash Announces Hiatus From ASL50Weekly Cups (June 23-29): Reynor in world title form?12FEL Cracov 2025 (July 27) - $8000 live event16Esports World Cup 2025 - Final Player Roster16Weekly Cups (June 16-22): Clem strikes back1
StarCraft 2
General
The GOAT ranking of GOAT rankings The SCII GOAT: A statistical Evaluation Statistics for vetoed/disliked maps Esports World Cup 2025 - Final Player Roster How does the number of casters affect your enjoyment of esports?
Tourneys
RSL: Revival, a new crowdfunded tournament series [GSL 2025] Code S: Season 2 - Semi Finals & Finals $5,100+ SEL Season 2 Championship (SC: Evo) FEL Cracov 2025 (July 27) - $8000 live event HomeStory Cup 27 (June 27-29)
Strategy
How did i lose this ZvP, whats the proper response Simple Questions Simple Answers
Custom Maps
[UMS] Zillion Zerglings
External Content
Mutation # 480 Moths to the Flame Mutation # 479 Worn Out Welcome Mutation # 478 Instant Karma Mutation # 477 Slow and Steady
Brood War
General
Player “Jedi” cheat on CSL Help: rep cant save Flash Announces Hiatus From ASL BGH Auto Balance -> http://bghmmr.eu/ [ASL19] Finals Recap: Standing Tall
Tourneys
[Megathread] Daily Proleagues Small VOD Thread 2.0 [BSL20] GosuLeague RO16 - Tue & Wed 20:00+CET The Casual Games of the Week Thread
Strategy
Simple Questions, Simple Answers I am doing this better than progamers do.
Other Games
General Games
Stormgate/Frost Giant Megathread Nintendo Switch Thread Path of Exile What do you want from future RTS games? Beyond All Reason
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Heroes of StarCraft mini-set
TL Mafia
TL Mafia Community Thread Vanilla Mini Mafia
Community
General
Things Aren’t Peaceful in Palestine US Politics Mega-thread Russo-Ukrainian War Thread Trading/Investing Thread The Games Industry And ATVI
Fan Clubs
SKT1 Classic Fan Club! Maru Fan Club
Media & Entertainment
Anime Discussion Thread [Manga] One Piece [\m/] Heavy Metal Thread
Sports
2024 - 2025 Football Thread NBA General Discussion Formula 1 Discussion TeamLiquid Health and Fitness Initiative For 2023 NHL Playoffs 2024
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
Blogs
Culture Clash in Video Games…
TrAiDoS
from making sc maps to makin…
Husyelt
Blog #2
tankgirl
StarCraft improvement
iopq
Trip to the Zoo
micronesia
Customize Sidebar...

Website Feedback

Closed Threads



Active: 675 users

[G] Build order timing calculator - Page 10

Forum Index > StarCraft 2 Strategy
Post a Reply
Prev 1 8 9 10 11 12 16 Next All
EatThePath
Profile Blog Joined September 2009
United States3943 Posts
November 23 2010 05:22 GMT
#181
I finally tried this out, and it's great! (Obviously, hehe.)

Is there a built-in way to stop producing probes? I can't find any mention of that.
Comprehensive strategic intention: DNE
slith
Profile Joined October 2010
Germany165 Posts
Last Edited: 2010-11-24 13:44:10
November 24 2010 13:28 GMT
#182
Just noticed something odd. Maybe in your program, or in my logic.

10 Overlord
13 Extractor > put 3 on gas
13 Spawning Pool
15 Overlord
@100 gas put 3 on minerals
15 Zergling [2]
17 Queen
19 Metabolic Boost

Tells me: "You don't have any geysers!"

If I try to work around it by using:
10 Overlord
13 Extractor > put 3 on gas
13 Spawning Pool
15 Overlord
15 put 3 on minerals
15 Zergling [2]
17 Queen
19 Metabolic Boost

"Job 19 Metabolic Boost could not be scheduled. No gas is being mined."
("2:54 3:18 15 / 18 0 Zergling 176 131" Yeah, I clearly don't mine no 131 gas )

Can't get it to work. Can't get the Drones off gas @ 100 mined...

Also imo you should be able to type something like:
"13 Extractor > put 3 on gas > @100 gas put 3 on minerals"
Would be very happy if that could be implemented.

Also your program does not round up/down the amount of gas or minerals to multiples of 4/5. Minor concern though.

A very nice site you made there btw.
When in doubt, empty your magazine.
Hurkyl
Profile Joined October 2010
304 Posts
November 24 2010 14:18 GMT
#183
Some more Zerg problems. Consider the 12/10 pool build:
10 Double Extractor Trick
12 Spawning Pool
11 Overlord
11 Double Extractor Trick

The second trick builds two drones, when only one is intended. One could specify "11 Extractor Trick", but that wouldn't have the right cost.

The other problem is that Larvae production seems to always happen on the quarter minutes if there is not currently 3+ Larvae. This gives wrong results; if I have 3 larvae at 1:44 and build something, I should get my next larva at 1:59, not 1:45.
Phrencys
Profile Joined August 2010
Canada270 Posts
November 24 2010 14:30 GMT
#184
On November 23 2010 14:22 EatThePath wrote:
I finally tried this out, and it's great! (Obviously, hehe.)

Is there a built-in way to stop producing probes? I can't find any mention of that.

The only way is to manually fill up supplies with units.
King of Town
Profile Joined November 2010
Netherlands26 Posts
November 24 2010 14:51 GMT
#185
Kudo's! Very nice application, much appreciated!


Also, there seems to be two bugs when I try the

10 Double Extractor Trick

It gives an error (something with a variable).
I believe it also consumes 1 larva while it should consume 2. Although this kinda cancels out vs non-perfect timings during play, it's still incorrect.

Again, I love the tool. Very nice to try out ideas before spending hours playtesting.
Haploid
Profile Joined August 2010
Netherlands89 Posts
November 24 2010 22:11 GMT
#186
On November 23 2010 14:22 EatThePath wrote:
Is there a built-in way to stop producing probes? I can't find any mention of that.

Yeah, there is. The command you're looking for is:
18 Cancel Probe
It wasn't listed in the examples before, but it is documented on the new syntax page.

On November 24 2010 22:28 slith wrote:
... Tells me: "You don't have any geysers!"

Also your program does not round up/down the amount of gas or minerals to multiples of 4/5. Minor concern though.

Ok, fixed that bug. Thanks for helping me squash it.

The first draft version of the calculator actually kept track of the workers and when they would return minerals and such. After a little thinking, I figured that that level of detail is pretty much irrelevant, except in the extremely rare case that all your workers are moving in phase. They never move in phase for longer than one or two cycles anyway, since the mineral patches are at varying distances. For all intents and purposes, you can assume that minerals and gas come in as a steady stream, and you'll be off by a fraction of a second.

On November 24 2010 23:18 Hurkyl wrote:
Some more Zerg problems. Consider the 12/10 pool build:
10 Double Extractor Trick
12 Spawning Pool
11 Overlord
11 Double Extractor Trick

The second trick builds two drones, when only one is intended. One could specify "11 Extractor Trick", but that wouldn't have the right cost.

The other problem is that Larvae production seems to always happen on the quarter minutes if there is not currently 3+ Larvae. This gives wrong results; if I have 3 larvae at 1:44 and build something, I should get my next larva at 1:59, not 1:45.

I'll figure out some nice way of doing your second double extractor trick, and maybe allow extractor tricking of other units as well.

I've been meaning to do some experiments with regards to larva production. What you describe makes sense, I'll change that behaviour soon.
On November 24 2010 23:51 King of Town wrote:
Kudo's! Very nice application, much appreciated!


Also, there seems to be two bugs when I try the
10 Double Extractor Trick

It gives an error (something with a variable).
I believe it also consumes 1 larva while it should consume 2. Although this kinda cancels out vs non-perfect timings during play, it's still incorrect.

Again, I love the tool. Very nice to try out ideas before spending hours playtesting.

Fixed both problems. Extractor trick right up there as the most bug-prone part of the calculator, but I rather think I got it under control now.
Thank you Carl, you saved me from having to kill them all myself.
Damaskinos
Profile Joined September 2010
Germany139 Posts
November 25 2010 00:12 GMT
#187
Hello Haploid,

I tried to issue a command "10 Supply Depot (4s)" (SCV walks to ramp, to build Supply Depot there), but this doesnt work. Working it would add realism.

Thank you for reading and much more thank you for you fantastic tool!
"Give not that which is holy unto the dogs, neither cast ye your pearls before swine, lest they trample them under their feet, and turn again and rend you." Matthew 7:6
Haploid
Profile Joined August 2010
Netherlands89 Posts
November 25 2010 00:26 GMT
#188
On November 25 2010 09:12 Damaskinos wrote:
I tried to issue a command "10 Supply Depot (4s)" (SCV walks to ramp, to build Supply Depot there), but this doesnt work. Working it would add realism.

What you're looking for is: 10 Supply Depot (send @60 minerals) or some such number of minerals. The command where you give a number of seconds (4 seconds lost) is only for transferring workers, not for building stuff. I may add that as an option some time in the future, but it's one of the harder things to implement, so it's not high on the todo-list. I figure that being able to send a worker early at a given number of minerals or gas should be more inline with how a human would play it anyway.
Thank you Carl, you saved me from having to kill them all myself.
CarbonTwelve
Profile Joined November 2010
Australia525 Posts
Last Edited: 2010-11-25 01:19:12
November 25 2010 01:05 GMT
#189
Hi Haploid. Not sure if you've seen my app, but it's similar to Lomilar's Evolution Chamber: http://www.teamliquid.net/forum/viewmessage.php?topic_id=168348

I've been using your app a bit to test the timings of some build orders that my app comes up with, and the good news is that for the most part our results are in sync (one slight difference is in the gas income rates, but I think I'll be changing mine soon and then I think the incomes will match perfectly). Anyway, just thought I'd post to check that it's ok with you for me to create an output format for my app that can be used as input into yours, just so that people can validate their results with a second opinion I guess (I'd add a link to your site too).

Incidentally, one thing I've noticed is that my app uses a 2s starting delay before building / mining, but when I try and use the # Startup build delay for your calculator it doesn't seem to affect the first drone's production.

Also, I've noticed that your larva production times seem to be fixed on the 15s mark every time - I plan to do some testing for this, but do you know if that's the case, or if it's 15s after you use the third larva (which is what my app does)?

It might be of interest to see a 7RR build that my app comes up with (possibly worth adding to your examples list?):

+ Show Spoiler +
10 Extractor Trick
11 Overlord
12 Spawning Pool
15 Extractor
16 Queen
18 put 3 on gas
18 Overlord
18 Overlord
18 Roach Warren
17 Spawn Larvae
17 Roach [7]


Completes in 4:35.
slith
Profile Joined October 2010
Germany165 Posts
November 25 2010 17:03 GMT
#190
The updates you did the last few days (?) are really nice. Thanks for your work.
When in doubt, empty your magazine.
icezar
Profile Joined June 2010
Germany240 Posts
November 25 2010 18:58 GMT
#191
I have a little problem with a build:
What i want is a 13 Extractor build at 175 minerals
How can i do that? I try the below but it builds another probe before :-(

# Startup mining delay = 2 seconds
9 Overlord
12 drone
@175 minerals Extractor > +3
12 Spawning Pool
15 Queen > spawn larvae [auto]
17 Zergling
@100 gas take 3 off gas
18 Metabolic boost
icezar
Profile Joined June 2010
Germany240 Posts
November 25 2010 21:30 GMT
#192
Another error:

10 Extractor trick
11 Overlord
12 Spawning Pool
11 Extractor > +3
15 Queen > spawn larvae [auto]
17 Zergling
18 Extractor trick
@100 gas take 2 off gas
19 Metabolic boost
19 Overlord
21 Hatchery > transfer 6
22 +1 on gas
22 queen > spawn larvae [auto]
25 Overlord
25 zergling [4]
29 +1 on gas
29 Lair
29 take 2 off gas
35 Baneling Nest
34 Roach Warren
33 Overlord
33 take 1 off gas
33 drone

Job 33 Drone could not be scheduled. No gas is being mined.

???
Haploid
Profile Joined August 2010
Netherlands89 Posts
November 26 2010 11:59 GMT
#193
On November 25 2010 10:05 CarbonTwelve wrote:
Hi Haploid. Not sure if you've seen my app, but it's similar to Lomilar's Evolution Chamber: http://www.teamliquid.net/forum/viewmessage.php?topic_id=168348

I have both apps, and I'm really impressed at the results of both. It's great to see some theoretical computer science in action.

I tried to formalize the syntax of build orders that my calculator understands. You can read the description of the syntax here. The formal description in Extended Backus-Naur form is displayed in the brownish boxes. EBNF is a syntax for context-free grammars. If you're unfamiliar with it, just go to wikipedia. It's pretty easy to read.

The output of your app is pretty easy to convert to something my calculator will understand. The only thing we approach differently, as far as I can see, is how chronoboosts are written. I write chronoboosts as targetting the unit or upgrade being built, instead of the structure that is building it.

I'm open to suggestions for alterations of the syntax or how stuff like chronoboost is annotated. Consider my syntax page a suggestion for a standard, rather than something fixed in stone.

On November 25 2010 10:05 CarbonTwelve wrote:
Incidentally, one thing I've noticed is that my app uses a 2s starting delay before building / mining, but when I try and use the # Startup build delay for your calculator it doesn't seem to affect the first drone's production.

Got it and fixed it.

On November 25 2010 10:05 CarbonTwelve wrote:
Also, I've noticed that your larva production times seem to be fixed on the 15s mark every time - I plan to do some testing for this, but do you know if that's the case, or if it's 15s after you use the third larva (which is what my app does)?

Yeah, I changed that a few days ago. You're right, the next larva is generated 15 seconds after you drop below 3 larvae.

On November 26 2010 03:58 icezar wrote:
I have a little problem with a build:
What i want is a 13 Extractor build at 175 minerals
How can i do that? I try the below but it builds another probe before :-(

I hadn't thought of that, and I don't really know why you'd want to do that anyway. But I suppose you could write something like:
13 @175 minerals Extractor
My calculator doesn't understand that yet, and I'm not sure if a human reader would either. What's the benefit of delaying the Extractor in this case?

On November 26 2010 06:30 icezar wrote:
Job 33 Drone could not be scheduled. No gas is being mined.

Hehe, that's an odd message to get. What happened is that you took Drones off gas, spent all the gas and got stuck with -0.000000000000000000001 gas. Since a Drone requires 0 gas, and you are not mining gas, you'll never have enough gas for that Drone.

Fixed it, though.
Thank you Carl, you saved me from having to kill them all myself.
CarbonTwelve
Profile Joined November 2010
Australia525 Posts
Last Edited: 2010-11-26 14:18:35
November 26 2010 14:17 GMT
#194
On November 26 2010 20:59 Haploid wrote:
I have both apps, and I'm really impressed at the results of both. It's great to see some theoretical computer science in action.


Hehe, yeah, using advanced algorithms like this is what really motivates me with these projects

I tried to formalize the syntax of build orders that my calculator understands. You can read the description of the syntax here. The formal description in Extended Backus-Naur form is displayed in the brownish boxes. EBNF is a syntax for context-free grammars. If you're unfamiliar with it, just go to wikipedia. It's pretty easy to read.


Yep, I know EBNF. Reminds me of my comp sci days of playing around with flex & bison... I don't see any issues with converting the output of my app into yours - I was mainly just checking that you were ok with my app referencing your site

Yeah, I changed that a few days ago. You're right, the next larva is generated 15 seconds after you drop below 3 larvae.


Ok, cool, at least that's confirmation of it now - I sort of just guessed that it was and couldn't find any info online to confirm it. Tested it myself and it seemed like that was the case, but it's kinda annoying to test actually.

I hadn't thought of that, and I don't really know why you'd want to do that anyway. But I suppose you could write something like:
13 @175 minerals Extractor
My calculator doesn't understand that yet, and I'm not sure if a human reader would either. What's the benefit of delaying the Extractor in this case?


Not sure what icezar's reason was, but I can imagine that it's worth doing because you want to delay consuming the drone longer so you get more mining time out of it.

Hehe, that's an odd message to get. What happened is that you took Drones off gas, spent all the gas and got stuck with -0.000000000000000000001 gas.


Gotta love them floating points
Haploid
Profile Joined August 2010
Netherlands89 Posts
November 26 2010 15:02 GMT
#195
On November 26 2010 23:17 CarbonTwelve wrote:
Yep, I know EBNF. Reminds me of my comp sci days of playing around with flex & bison... I don't see any issues with converting the output of my app into yours - I was mainly just checking that you were ok with my app referencing your site

Flex, bison, that brings back lots of semi-repressed memories.

I very much welcome the reference to my site. I'm working on a page with links to other projects, such as yours and Lolimar's. There's a lot of CS students in the SC2 community doing their thing, and teamliquid seems to be the community site of choice for them.

Please let me know if you run into things that cannot be expressed (but should be) in the proposed syntax.
Thank you Carl, you saved me from having to kill them all myself.
Presence
Profile Joined November 2010
1 Post
November 26 2010 20:13 GMT
#196
I've been using this for a while, and I post (and finally register) to show some more support for this great calculator!

One thing: Calldown: Extra Supplies doesn't actually grant you extra supplies.
dakenho
Profile Joined October 2010
United States6 Posts
November 27 2010 18:23 GMT
#197
I found a bug and another reason why the build order tester needs to keep track of unit numbers (which I know you are going to do just something to keep in mind). I wanted to test my build order against baneling bust so I did

10 overlord
13 spawning pool > queen > Spawn Larvae
14 extractor > transfer 3
15 overlord
16 zergling
17 zergling
18 zergling
22 baneling nest
22 overlord
23 zergling
24 zergling
25 zergling
26 zergling
27 zergling
28 Baneling
28 Baneling
28 Baneling
28 Baneling
28 Baneling
28 Baneling
28 Baneling
28 Baneling


as it turns out you can get more banelings that you can zerglings, in this example I morph 8 zerglings into banlings while only having 6 zerglings
awang0830
Profile Joined July 2010
83 Posts
November 27 2010 18:54 GMT
#198

8 pylon
9 probe*
12 gateway
13 probe*
15 assimilator > put 3 on gas
16 pylon
17 probe*
18 cybernetics core > warpgate
18 pylon
18 zealot
20 assimilator > put 3 on gas
20 pylon
20 stalker
23 robotics facility
23 stalker
23 pylon
25 stargate
25 zealot
26 immortal

Job 23 Pylon could not be scheduled. There is insufficient supply.
The trigger supply count for this job is 23, but at this point in the build order the achieved supply count is only 25.
icezar
Profile Joined June 2010
Germany240 Posts
November 27 2010 23:05 GMT
#199
On November 26 2010 23:17 CarbonTwelve wrote:

Not sure what icezar's reason was, but I can imagine that it's worth doing because you want to delay consuming the drone longer so you get more mining time out of it.



Short: i want to delay it so i can have just a few more minerals

Long:
I was testing something with 13pool 12 extractor but i noticed that spawn larva will make me lose a larva because it will pop just a few seconds before.
When i did 13ext 12pool i was just short a few minerals for the queen so it will delay my spawn larvae by too much.
A delay on the Extractor would make it perfect.

I just discover yesterday that you can loose a larva when the larva from the queen pop. What i mean is you have larva at 4:00 so the next from hatch should be at 4:15, if your queen inject larva spawn pop at 4:14 you just lost a larva :-(((((((((((((
What is more frustrating is that this timing is off 40 sec for larvae pop with 15 sec larvae production so whatever you do you will delay either the pop larva or the hatch one :-(((((((((((((((

All the builds that i try are larvae caped at the beginning so losing 1 more larva is so frustrating
icezar
Profile Joined June 2010
Germany240 Posts
November 28 2010 15:26 GMT
#200
I think i broke it again :-(


# Startup mining delay = 2 seconds
10 Overlord
10 Extractor Trick
15 Extractor > +3
14 Spawning Pool
15 Overlord
16 Queen > Spawn Larvae [auto]
18 Zergling
@100 gas take 2 off gas
19 Metabolic boost
22 Hatchery
21 Overlord
23 zergling [4]
28 +2 on gas
29 Lair

Lair is delayed too much
Prev 1 8 9 10 11 12 16 Next All
Please log in or register to reply.
Live Events Refresh
Next event in 2h 48m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
ProTech80
StarCraft: Brood War
actioN 693
Larva 412
Sharp 85
Sacsri 29
Noble 17
Bale 6
Dota 2
NeuroSwarm142
XcaliburYe103
League of Legends
JimRising 675
Counter-Strike
Stewie2K1394
shoxiejesuss157
Other Games
summit1g10796
shahzam1362
Organizations
StarCraft: Brood War
UltimateBattle 38
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 15 non-featured ]
StarCraft 2
• Berry_CruncH322
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• lizZardDota2138
League of Legends
• Lourlo1323
• Rush1248
• Stunt490
Upcoming Events
RSL Revival
2h 48m
herO vs SHIN
Reynor vs Cure
OSC
5h 48m
WardiTV European League
8h 48m
Scarlett vs Percival
Jumy vs ArT
YoungYakov vs Shameless
uThermal vs Fjant
Nicoract vs goblin
Harstem vs Gerald
FEL
8h 48m
Big Brain Bouts
8h 48m
Korean StarCraft League
19h 48m
CranKy Ducklings
1d 2h
RSL Revival
1d 2h
FEL
1d 8h
RSL Revival
2 days
[ Show More ]
FEL
2 days
BSL: ProLeague
2 days
Dewalt vs Bonyth
Replay Cast
3 days
Sparkling Tuna Cup
4 days
The PondCast
5 days
Replay Cast
5 days
RSL Revival
6 days
Replay Cast
6 days
Liquipedia Results

Completed

Proleague 2025-06-28
HSC XXVII
Heroes 10 EU

Ongoing

JPL Season 2
BSL 2v2 Season 3
BSL Season 20
Acropolis #3
KCM Race Survival 2025 Season 2
CSL 17: 2025 SUMMER
Copa Latinoamericana 4
Championship of Russia 2025
RSL Revival: Season 1
Murky Cup #2
BLAST.tv Austin Major 2025
ESL Impact League Season 7
IEM Dallas 2025
PGL Astana 2025
Asian Champions League '25
BLAST Rivals Spring 2025
MESA Nomadic Masters
CCT Season 2 Global Finals
IEM Melbourne 2025

Upcoming

2025 ACS Season 2: Qualifier
CSLPRO Last Chance 2025
2025 ACS Season 2
CSLPRO Chat StarLAN 3
K-Championship
uThermal 2v2 Main Event
SEL Season 2 Championship
FEL Cracov 2025
Esports World Cup 2025
StarSeries Fall 2025
FISSURE Playground #2
BLAST Open Fall 2025
BLAST Open Fall Qual
Esports World Cup 2025
BLAST Bounty Fall 2025
BLAST Bounty Fall Qual
IEM Cologne 2025
FISSURE Playground #1
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2025 TLnet. All Rights Reserved.