• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 20:54
CEST 02:54
KST 09:54
  • 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
HomeStory 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 Energy6Code S RO8 Preview: herO, Zoun, Bunny, Classic7
Community News
FEL Cracov 2025 (July 27) - $8000 live event13Esports World Cup 2025 - Final Player Roster12Weekly Cups (June 16-22): Clem strikes back1Weekly Cups (June 9-15): herO doubles on GSL week4Firefly suspended by EWC, replaced by Lancer12
StarCraft 2
General
HomeStory Cup 27 - Info & Preview How does the number of casters affect your enjoyment of esports? The SCII GOAT: A statistical Evaluation Hybrid setting keep reverting. Esports World Cup 2025 - Final Player Roster
Tourneys
HomeStory Cup 27 (June 27-29) SOOPer7s Showmatches 2025 FEL Cracov 2025 (July 27) - $8000 live event $200 Biweekly - StarCraft Evolution League #1 RSL: Revival, a new crowdfunded tournament series
Strategy
How did i lose this ZvP, whats the proper response Simple Questions Simple Answers [G] Darkgrid Layout
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
Unit and Spell Similarities BGH Auto Balance -> http://bghmmr.eu/ BW General Discussion ASL20 Preliminary Maps NaDa's Body
Tourneys
[BSL20] GosuLeague RO16 - Tue & Wed 20:00+CET [Megathread] Daily Proleagues [BSL20] ProLeague LB Final - Saturday 20:00 CET Small VOD Thread 2.0
Strategy
Simple Questions, Simple Answers I am doing this better than progamers do. [G] How to get started on ladder as a new Z player
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 Summer Games Done Quick 2025! US Politics Mega-thread Russo-Ukrainian War Thread Trading/Investing Thread
Fan Clubs
SKT1 Classic Fan Club! Maru Fan Club
Media & Entertainment
Anime Discussion Thread [Manga] One Piece [\m/] Heavy Metal Thread Korean Music Discussion
Sports
Formula 1 Discussion NBA General Discussion 2024 - 2025 Football Thread TeamLiquid Health and Fitness Initiative For 2023 NHL Playoffs 2024
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List
Blogs
Blog #2
tankgirl
Game Sound vs. Music: The Im…
TrAiDoS
StarCraft improvement
iopq
Heero Yuy & the Tax…
KrillinFromwales
I was completely wrong ab…
jameswatts
Need Your Help/Advice
Glider
Customize Sidebar...

Website Feedback

Closed Threads



Active: 583 users

Never Miss An Inject? What the Data Say - Page 7

Forum Index > SC2 General
Post a Reply
Prev 1 5 6 7 8 9 13 Next All
breakit
Profile Joined May 2013
United States29 Posts
May 21 2013 23:06 GMT
#121
I'd be more interested to see # of total injects, rather than a percentage of injection over time.
Hypemeup
Profile Joined February 2011
Sweden2783 Posts
May 21 2013 23:09 GMT
#122
On May 22 2013 07:05 _SpiRaL_ wrote:
Show nested quote +
On May 22 2013 06:41 rysecake wrote:
On May 22 2013 04:13 darkscream wrote:
On May 22 2013 04:02 Embir wrote:
Terran is the most difficult race mechanically

Zerg ..., it is just the easiest to master, it is the most noobie friendly race by far


this mentality is disgusting and a cancer on the entire starcraft 2 scene.

Guess which race has the highest APM on average? No, it's not terran..

we can cherrypick stats all day long.


you do know that zerg apm spikes whenever you press S+ ZZZZZZZ or DDDDDDD etc right? There's a reason why only koreans can play terran successfully and white people play zerg l0l. Clearly it's because zerg has a higher mechanical skill cap...oh wait.


As I said already this is a very small % of total APM and the difference this makes is very small. I dunno why this ALWAYS come up when discussing APM.Zerg unit spam makes a tiny difference only, its an APM intensive race.


It actually makes a huge difference, I dont know what you are going on about.
contv
Profile Joined August 2010
35 Posts
Last Edited: 2013-05-21 23:19:08
May 21 2013 23:14 GMT
#123
On May 22 2013 05:27 Armada Vega wrote:
Show nested quote +
On May 22 2013 04:13 darkscream wrote:
On May 22 2013 04:02 Embir wrote:
Terran is the most difficult race mechanically

Zerg ..., it is just the easiest to master, it is the most noobie friendly race by far


this mentality is disgusting and a cancer on the entire starcraft 2 scene.

Guess which race has the highest APM on average? No, it's not terran..

we can cherrypick stats all day long.

well, just to inform you. Zergs apm is always artificially inflated, since holding down Z to make lings is counted as pushing the key down for each ling. If you make 25-36 lings at once, the game counts this as 25-36 actions a second, roughly. This will inflate the zergs current apm to 500 or higher for that one production cycle. This on its own is no big deal. But this effects your average apm based on the number of times you mass produce anything from larvae from the beginning of a game to the end of a game.

Often times, a zergs average apm is 30-50apm off. After your game ends, if your average apm was 230, and the terrans is 200-190apm, you have exactly the same apm. The zergs apm is artificially inflated per production cycle that you make while holding down a key. Combine all mass production cycles in a game; drone, ling, roach, muta, overlords, ultralisk, banelings, broodlords, and this greatly effects average apm.


Disagree. Making 1 pair of zerglings counts as 1 action and costs 1 supply. Making 1 marine counts as 1 action and costs 1 supply. For the purposes of average APM, it doesn't matter that zerg was able to hold down Z and briefly reach 500+apm, as opposed to rapidly queuing up marines - given that supplies for Zerg and the other races grow relatively similarly (watch Polt's games, where he often maintains higher supply than Zerg) and 1 action counts for 1 supply, there is no inflation.

You could argue that the supply inefficiency of zerg units actually limits their APM - eg making roaches, where 1 action expends 2 supply.
Markwerf
Profile Joined March 2010
Netherlands3728 Posts
May 21 2013 23:15 GMT
#124
I quite liked some of other works from the OP but this was one was shitty.

Comparing the largest difference to the standard deviation at a point is lousy way to say the difference is small, because you don't account for the fact that the positive difference is pretty much across the entire range. Test for example equality of intercepts of both regression lines as it seems very reasonable to assume from this data the slope is fairly constant but the intercepts differ. Basically a difference should be compared with some measure for the standard deviation of the difference while here it compares a difference with just a standard deviation of one group which is usually much larger, it's somewhat like applying a independant two sample t-test when you should be doing a paired t-test.

Besides that the article kind of implies that inject efficiency being a thing should show up as while this is not really true at all. It's easy for a real effect to be hidden by confouding in an observational study, there are tons of examples where this is thought to be true. For example there is no shown correlation between wearing a seatbelt and lower risk of dying in an accident while it's pretty much an accepted fact seatbelts are very beneficial.
Something akin to that is very well possible here and seems far more likely than the theory suggested in the article which sounds rubbish. Higher skilled players make hatches faster which are harder to inject all and meet more aggressive opponents who make it harder to keep injecting.

The end result is pretty sound though, it's a shitty statistic as indicator for skill.


petered
Profile Joined February 2010
United States1817 Posts
May 21 2013 23:16 GMT
#125
On May 22 2013 07:32 LaLuSh wrote:
Dsjoerg, Blizzard said they'd add more data to replay files. You know what exactly they're gonna add (or have added, I'm not in the loop. Have they already implemented this patch?).

If replays contained supply data it would be interesting to plot inject rate against the average supply during a game (assuming this is possible to calculate).

I would bet that that out of two 25 minute games, the one with the lower average game supply would generally have the higher inject rates.


I believe that you are correct, but that differentiates the necessity of injects rather than the standard of injects for various leagues, which was the intent (at least part of it).
This, my friends, is the power of the Shikyo Memorial for QQ therapy thread. We make the world a better place, one chainsaw massacre prevention at a time.
dsjoerg
Profile Joined January 2012
United States384 Posts
May 21 2013 23:16 GMT
#126
On May 22 2013 07:32 LaLuSh wrote:
Dsjoerg, Blizzard said they'd add more data to replay files. You know what exactly they're gonna add (or have added, I'm not in the loop. Have they already implemented this patch?).

If replays contained supply data it would be interesting to plot inject rate against the average supply during a game (assuming this is possible to calculate).

I would bet that that out of two 25 minute games, the one with the lower average game supply would generally have the higher inject rates.


The patch was implemented, it came out 2 weeks ago. Supply data is in there! Thanks for the suggestion <3 makes sense
card-carrying grubby fan. developer of GGTracker.
CrushDog5
Profile Joined March 2010
Canada207 Posts
May 21 2013 23:21 GMT
#127
When doing SkillCraft 1, we looked at various measures of inject timing and never found anything interesting.
SkillCraft.com - StarCraft + Science
Glenn313
Profile Joined August 2011
United States475 Posts
May 21 2013 23:24 GMT
#128
This is really interesting.
Hey man
ZenithM
Profile Joined February 2011
France15952 Posts
May 21 2013 23:27 GMT
#129
It's really not a surprise for me.
Injecting is very hard mechanically and it's clear that Zerg is not balanced with the assumption of perfect injects from the get-go. I've known for a long time that even high level players are somewhat bad at injecting (just look at replays of people you consider mechanical gods, they always have way too much energy on their queens past 12 minutes, because they have a lot of other shit to do ^^)

What is interesting however is that there isn't much difference between high and low level players. That I didn't expect :D
Pursuit_
Profile Blog Joined June 2012
United States1330 Posts
Last Edited: 2013-05-21 23:28:51
May 21 2013 23:27 GMT
#130
On May 22 2013 08:14 contv wrote:
Show nested quote +
On May 22 2013 05:27 Armada Vega wrote:
On May 22 2013 04:13 darkscream wrote:
On May 22 2013 04:02 Embir wrote:
Terran is the most difficult race mechanically

Zerg ..., it is just the easiest to master, it is the most noobie friendly race by far


this mentality is disgusting and a cancer on the entire starcraft 2 scene.

Guess which race has the highest APM on average? No, it's not terran..

we can cherrypick stats all day long.

well, just to inform you. Zergs apm is always artificially inflated, since holding down Z to make lings is counted as pushing the key down for each ling. If you make 25-36 lings at once, the game counts this as 25-36 actions a second, roughly. This will inflate the zergs current apm to 500 or higher for that one production cycle. This on its own is no big deal. But this effects your average apm based on the number of times you mass produce anything from larvae from the beginning of a game to the end of a game.

Often times, a zergs average apm is 30-50apm off. After your game ends, if your average apm was 230, and the terrans is 200-190apm, you have exactly the same apm. The zergs apm is artificially inflated per production cycle that you make while holding down a key. Combine all mass production cycles in a game; drone, ling, roach, muta, overlords, ultralisk, banelings, broodlords, and this greatly effects average apm.


Disagree. Making 1 pair of zerglings counts as 1 action and costs 1 supply. Making 1 marine counts as 1 action and costs 1 supply. For the purposes of average APM, it doesn't matter that zerg was able to hold down Z and briefly reach 500+apm, as opposed to rapidly queuing up marines - given that supplies for Zerg and the other races grow relatively similarly (watch Polt's games, where he often maintains higher supply than Zerg) and 1 action counts for 1 supply, there is no inflation.

You could argue that the supply inefficiency of zerg units actually limits their APM - eg making roaches, where 1 action expends 2 supply.


It's not about how many action, it's about the amount of time required to do it. Terran's have 100 other things they'd rather be doing, but they need to only make as many marines as they have barracks (i.e. hit a button 10 times to make 10 marines because you have 5 reactored rax) whereas zerg can just hold the button down to make as many zerglings as possible, meaning an easy 500+ apm spike before returning to standard apm doing other things immediately. If actions themselves were the limiting factor, what you said makes sense, but actions aren't, time is.

I get about 50% apm inflation playing as Z as opposed to T (avg terran apm is ~140, zerg is ~220) and when I play spammy I get upwards of 100% apm inflation as Z. Might differ for others, but I genuinely think just play playing Z you get a pretty significant APM boost.
In Somnis Veritas
TrollPolice
Profile Joined May 2013
44 Posts
May 21 2013 23:31 GMT
#131
You don't need to hit all your injects when you're zerg. It's like making 10 marines out of 3 barracks; zerg can do it anyway.
sambo400
Profile Joined March 2011
United States378 Posts
Last Edited: 2013-05-21 23:41:25
May 21 2013 23:40 GMT
#132
On May 22 2013 08:27 ZenithM wrote:
It's really not a surprise for me.
Injecting is very hard mechanically and it's clear that Zerg is not balanced with the assumption of perfect injects from the get-go. I've known for a long time that even high level players are somewhat bad at injecting (just look at replays of people you consider mechanical gods, they always have way too much energy on their queens past 12 minutes, because they have a lot of other shit to do ^^)

What is interesting however is that there isn't much difference between high and low level players. That I didn't expect :D

It also doesn't matter as much after that point in the game. By then you have 4-5 hatches and much more cost effective units. Early game when droning and making shitty units like roaches and lings off of 2-3 hatches its a huge deal that you get every last one that you can. But once you are up to units like infestors, swarm hosts, mutas, ultras, vipers, brood lords, etcetera, you can do way more with less larva. Plus spores and spines don't really cost larva late in the game since you were going to make the initial drone no matter what. And if you are Fitzy then half of your army doesn't cost larva to begin with.
Evangelist
Profile Blog Joined June 2011
1246 Posts
Last Edited: 2013-05-21 23:43:45
May 21 2013 23:40 GMT
#133
The master plateau you see at around 15m for master corresponds to hive tech. This also corresponds with the appropriate loss of the plateau region for all of the other leagues - their transitions are more bumpy. It also is why they all end up at the same point as the restricting fact is not larva, it's resources.
Mindcrime
Profile Joined July 2004
United States6899 Posts
May 21 2013 23:44 GMT
#134
On May 22 2013 08:40 sambo400 wrote:
Show nested quote +
On May 22 2013 08:27 ZenithM wrote:
It's really not a surprise for me.
Injecting is very hard mechanically and it's clear that Zerg is not balanced with the assumption of perfect injects from the get-go. I've known for a long time that even high level players are somewhat bad at injecting (just look at replays of people you consider mechanical gods, they always have way too much energy on their queens past 12 minutes, because they have a lot of other shit to do ^^)

What is interesting however is that there isn't much difference between high and low level players. That I didn't expect :D

It also doesn't matter as much after that point in the game. By then you have 4-5 hatches and much more cost effective units. Early game when droning and making shitty units like roaches and lings off of 2-3 hatches its a huge deal that you get every last one that you can. But once you are up to units like infestors, swarm hosts, mutas, ultras, vipers, brood lords, etcetera, you can do way more with less larva. Plus spores and spines don't really cost larva late in the game since you were going to make the initial drone no matter what. And if you are Fitzy then half of your army doesn't cost larva to begin with.


Swarm hosts, indeed. I've opened swarm host before taking a third in just about every zvp I've played since hots came out and ggtracker thinks my macro in zvp is just plain shitty compared to my zvz and zvt.
That wasn't any act of God. That was an act of pure human fuckery.
Evangelist
Profile Blog Joined June 2011
1246 Posts
May 21 2013 23:50 GMT
#135
On May 22 2013 05:52 Ender985 wrote:
Interesting. I wonder, can you do the same graph for Mule calldowns and protoss injects to see if it also follows the same trend? I suspect it does.


It won't. With protoss it will, with huge spikes in energy usage for each major engagement. With terrans, lower leaguers will call down mules in huge spurts. Grandmasters and higher will eventually make the 19 orbital transition and their mule usage will spike.

What would be a more interesting thing is to see how the number of constructed production buildings varies per league.
Gene(S)is
Profile Joined May 2010
Sweden419 Posts
May 22 2013 00:05 GMT
#136
These numbers don't make sense. Whenever I observe a lower league person they totally miss injects more or less all the time.

But Queens are also used to transfuse and spread creep, is that considered when making these studies?

Overall though I have to say cheers for an intresting topic.
For the swarm
Steel
Profile Blog Joined April 2010
Japan2283 Posts
Last Edited: 2013-05-22 00:08:20
May 22 2013 00:07 GMT
#137
Really interesting. It's true that as time progresses inject becomes less and less important, but a lot was overlooked in this research as was mentioned by various users. In the current metagame, queens are essential in the late game. When I'm on ultralisk or broodlord tech, I'm not building a ton of lings, just a small number of beefy units, so I want to use that energy in transfuse...especially since at that point I have 5+ hatches. I also often spend my first 25 energy on tumors. There's a bunch of other less typical examples mentionned in this thread that make this data questionable, A lot of strategies to require impeccable injects, and proper macro wins/loses a lot of games, especially in the early game. If your macro isn't perfect on 3 bases, you can forget about stopping wide array of 2 base protoss all ins in the current meta game as having an overwhelming amount of units is the only way to stop them

This is still very interesting and shows how few have mastered sc2 mechanically. This is still only data from the ladder which is pretty low level.

To address claims that Zerg is the easiest macro, hold your tongue. I watch replays a lot and it's baffling at midmasters how many struggle with things like supply very early on in the game. I hate to target people in particular but I'm thinking about protoss specifically who make several macro mistakes. Zerg macro early on is extremely tight, as you have to prepare for every scenario. A classic example is the forge expand into 4 gate pressure, really popular in WoL and doing a resurgence nowadays with the mothership core. With standard timings, you scout it as the gates finish. The build works so that your inject at your third pops at the same time as your roach warren finishes, as the first wave of zealot are warped in. Get supply blocked once, or get behind in your inject, and you're looking at game ending damage. A lot of 2 base timings pretty much require you to max out. Sure there is some finesse in collosi all in but I think the macro required to defend it is much harder. It's tough to complain about tech switches being easy too, when you have idle max energy sentries sitting at your natural that you could use to make the fastest unit in the game to scout. Or have invisible detectors. Or have instant detection from your 3CCs. I really don't think T and P are in a position to complain about scouting.
Try another route paperboy.
Wuster
Profile Joined May 2011
1974 Posts
May 22 2013 00:11 GMT
#138
On May 22 2013 03:57 Cyro wrote:
You're missing something important in that higher level players will more often use energy for creep tumors etc on purpose with early queens while lower ones are much much more prone to just floating energy, and also one of the biggest things:


This is definitely true; I remember when Idra was teaching JP the 14 hatch build; he flat out said the first queen doesn't inject because you don't have the minerals to morph the larvae (or maybe it was the second queen, point was it was an FE buld where only one hatch was injected due to econ constraints, not skill).

On May 22 2013 06:17 Eventine wrote:
I swear, every time someone provides some data point, instead of sparking interesting debate, half the responses are like your data is wrong, my intuition is perfect and therefore i reject your findings.


Agreed, the point of the article however shows that larvae management / macro is much more than just how often you inject with your queens.

Half the anecdotal 'apologists' for why better players have worse inject uptimes even follow this conclusion; it's about planning out when you actually need the larvae, rather than just spamming them all out. So yes, controlling your injects is important, blindly spamming them is less so (but can't hurt right?!).
habermas
Profile Joined June 2010
United Kingdom304 Posts
May 22 2013 00:19 GMT
#139
Why don't you put some time into practice instead of misleading research so maybe you could get out of platinum as well as learn something relevant to actually improving at the game?
da_head
Profile Blog Joined November 2008
Canada3350 Posts
May 22 2013 00:21 GMT
#140
On May 22 2013 04:06 SpikeStarcraft wrote:
Im calling bullshit on this.
I dont think what you showed there means anything. The inject percentage is correlated to the numbers of hatcheries. And in higher level play you have more hatcheries way faster. so after 10 minutes when the master zerg is on 4 base he does way more absolute injects than the silver level player thats still on one base. So thats not an useful comparison.

"Wow, the silver level player hits injects on one base almost as good as master level players on 4 base. I guess injects dont really matter that much." Kappa


Calling bullshit? And where's you're subsequent data to disprove them?
When they see MC Probe, all the ladies disrobe.
Prev 1 5 6 7 8 9 13 Next All
Please log in or register to reply.
Live Events Refresh
Next event in 10h 6m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
Nina 187
RuFF_SC2 182
Ketroc 65
StarCraft: Brood War
Artosis 896
Zeus 356
Hyuk 125
Aegong 79
Dota 2
capcasts405
League of Legends
JimRising 465
Counter-Strike
summit1g13427
Stewie2K925
PGG 57
Super Smash Bros
hungrybox1064
Heroes of the Storm
Khaldor195
Other Games
FrodaN4158
shahzam1072
ViBE327
Maynarde189
Trikslyr49
Organizations
Other Games
gamesdonequick1438
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 16 non-featured ]
StarCraft 2
• Hupsaiya 71
• davetesta55
• intothetv
• AfreecaTV YouTube
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• Azhi_Dahaki15
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Doublelift5114
• Jankos1865
Other Games
• Scarra1108
Upcoming Events
Wardi Open
10h 6m
Replay Cast
23h 6m
Replay Cast
1d 9h
WardiTV European League
1d 15h
PiGosaur Monday
1d 23h
The PondCast
2 days
RSL Revival
3 days
WardiTV European League
3 days
RSL Revival
4 days
FEL
4 days
[ Show More ]
Korean StarCraft League
5 days
CranKy Ducklings
5 days
RSL Revival
5 days
FEL
5 days
Sparkling Tuna Cup
6 days
RSL Revival
6 days
FEL
6 days
BSL: ProLeague
6 days
Dewalt vs Bonyth
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
YaLLa Compass Qatar 2025

Upcoming

CSLPRO Last Chance 2025
CSLPRO Chat StarLAN 3
K-Championship
uThermal 2v2 Main Event
SEL Season 2 Championship
FEL Cracov 2025
Esports World Cup 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.