Here is the data I have from the flames. The order is inner top/inner right/inner bottom/inner left/outer left/outer bottom/outer right/outer top.
Outer Color Yellow - 0 Outer Color Orange - 1 Inner Color Purple - 0 Inner Color Green - 1 Inner Color Skinny - 0 Inner Color Fat - 1 Short Flame - 0 Tall Flame- 1
Outer Color - 0001010100101101110010110000000010111011100011110000101011100001110001011111110
1011100111101001100101001101100110001111000110000101110101100011101110010
Inner Color - 0111001011010100001111000100100000100110111101001011111100110010001110011101010
1100001101111110001011011101000000000100111100000010110100100101101010111
Skinny Fat - 0100110000110001110101110001110000111000110101110001000011111100011001100010001
1010000011001001101001100011000101001011100111111110100111011011000111100
Tall Short - 0110110110100010110110110011110111110110110111110010100011100010110111110111110
1111100111001101101101101101000101101111100101000111100101100111001101100
There can be 16 variations of these if you switch the 0's and 1's on each. If you omit the Tall Short data due to the fact that there is a repeating pattern then there are only 9 variations unless you use the non-pattern heights as an xor on one or more of the data streams.

I think the flames are decoded in pairs. So the first 2 flames (starting inner top left) could be 000011 or one of the eight other variations if you swap the 0's and 1's.
You will end up with 76 alphanumeric characters at the end. I think the private key is hidden in there along with a congratulatory message.
I think the key ribbons are telling you to use 6 bits for the decoding as well as showing the height pattern for the order.