icedown

[1.5.1] Cacteye Optics Community Takeover: Updated 10/22/2017

Recommended Posts

Just now, Deimos Rast said:

@CobaltWolf I...don't know. I rather liked the originals as is, and I'm a staunch conservative and change scares me, so....I shall need to think about this.:mad:

I can do an all black/dark grey version if it makes you happier. :P

Share this post


Link to post
Share on other sites
1 minute ago, CobaltWolf said:

I can do an all black/dark grey version if it makes you happier. :P

you know me - you could do texture switching with scratch n' sniff and strawberry flavoring and I'd complain about lack the blueberries or some nonsense.

just pick a suitably neutral direction (grey? black? win/win) and go with it, and people will grumble and adjust.:wink:

still, if you could make it scratch n' sniff...

Share this post


Link to post
Share on other sites

while you are changing the model can you fix the not being able to put the gyros on the inner walls of the service bay? 

i like the texture/model switching option myself as well. 

is the telescope exploding even if you have that option turned off still happening? 

Share this post


Link to post
Share on other sites
54 minutes ago, COL.R.Neville said:

while you are changing the model can you fix the not being able to put the gyros on the inner walls of the service bay? 

i like the texture/model switching option myself as well.

I was hoping not to touche the models apart from the telescope itself... sigh Yeah probably at some point but I'm probably going to put this back away for a while once the telescope is finished.

Share this post


Link to post
Share on other sites
1 hour ago, COL.R.Neville said:

while you are changing the model can you fix the not being able to put the gyros on the inner walls of the service bay?

Turn off snap and they can, it is a cargo bay.

Share this post


Link to post
Share on other sites

That telescope does look amazing! The cargo bay really doesn't match it in quality now, but, I get that Cobalt is busy so I won't tell him what to do. :wink:

Share this post


Link to post
Share on other sites

So out of curiosity I cracked it open and made a quick adjustment to the texture, I think I do prefer the all-dark version.

DyADs1r.png

Edited by CobaltWolf

Share this post


Link to post
Share on other sites
4 hours ago, CobaltWolf said:

So out of curiosity I cracked it open and made a quick adjustment to the texture, I think I do prefer the all-dark version.

DyADs1r.png

This is getting better and better!

Share this post


Link to post
Share on other sites

I would like to see both included. I personally like the more Hubble-alike lighter colours, but the all-black is more like the original version.

Share this post


Link to post
Share on other sites

Sorry, just realized that video is broken.  here is another showing the same thing.   Wide field shot of the MUN does not advance the contract.

 

 

Share this post


Link to post
Share on other sites
3 hours ago, Bit Fiddler said:

Sorry, just realized that video is broken.  here is another showing the same thing.   Wide field shot of the MUN does not advance the contract.

I'm looking into the contract issue right now.  

Share this post


Link to post
Share on other sites

I had posted in the other thread, but I guess it's not so active? There's so many Cacteye threads lol. Here's an update to that post.

Two Three Bugs

  1. I'm getting debug message spamming in the log when I open up the settings from the Cacteye stock tool bar icon.
  2. Null reference when closing the GUI for the Cacteye telescope in flight.
  3. Exception thrown after a part explodes because I looked at the sun (I jumped the first time).

Full output log with the three problems: Dropbox direct download

Relevant parts

Spoiler

//BUG 1:

CactEye 2: Debug: CactEyeConfigMenu.MainGUI called!
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

CactEye 2: Debug: Callback to DrawGUI occurred!
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

CactEye 2: Debug: CactEyeConfigMenu.MainGUI called!
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

CactEye 2: Debug: Callback to DrawGUI occurred!
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

CactEye 2: Debug: CactEyeConfigMenu.MainGUI called!
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

CactEye 2: Debug: Callback to DrawGUI occurred!
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

CactEye 2: Debug: CactEyeConfigMenu.MainGUI called!
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

CactEye 2: Debug: Callback to DrawGUI occurred!
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

CactEye 2: Debug: CactEyeConfigMenu.MainGUI called!
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

CactEye 2: Debug: Callback to DrawGUI occurred!
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

CactEye 2: Debug: CactEyeConfigMenu.MainGUI called!
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

CactEye 2: Debug: Callback to DrawGUI occurred!

...................
//BUG 2:

CactEye 2: Processor activated! True
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

CactEye 2: Processor deactivated!
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

NullReferenceException: Object reference not set to an instance of an object
  at CactEye2.TelescopeMenu.MainGUI (Int32 WindowID) [0x00000] in <filename unknown>:0 
  at UnityEngine.GUILayout+LayoutedWindow.DoWindow (Int32 windowID) [0x00000] in <filename unknown>:0 
  at UnityEngine.GUI.CallWindowDelegate (UnityEngine.WindowFunction func, Int32 id, UnityEngine.GUISkin _skin, Int32 forceRect, Single width, Single height, UnityEngine.GUIStyle style) [0x00000] in <filename unknown>:0 
 
(Filename:  Line: -1)

...................
//BUG 3:

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

processorPlanetary3 Exploded!! - blast awesomeness: 0.5
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

[processorPlanetary3]: Deactivated
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

Module CactEyeOptics threw during OnUpdate: System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
  at System.Collections.Generic.List`1+Enumerator[Part].VerifyState () [0x00000] in <filename unknown>:0 
  at System.Collections.Generic.List`1+Enumerator[Part].MoveNext () [0x00000] in <filename unknown>:0 
  at CactEye2.CactEyeOptics.DestroyProcessors () [0x00000] in <filename unknown>:0 
  at CactEye2.CactEyeOptics.OnUpdate () [0x00000] in <filename unknown>:0 
  at Part.ModulesOnUpdate () [0x00000] in <filename unknown>:0 
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

1 explosions created.

 

Debug logging should maybe be turned off by default.

Request!

Small QOL request. How do you feel about putting the settings into the now mod friendly in-game settings menu (scroll down)? It would in a way help you fix the first bug at the same time:wink: You can have different presets for different difficulty levels, too.

Edited by ev0

Share this post


Link to post
Share on other sites

Sorry guys, I don't know if this a problem with CACTEYE or KAS/KIS but I cannot move cores by kerbals to upgrade my telescope from wide 1 to wide 2 any ideas? it just doesn't come up with the carry option?

Share this post


Link to post
Share on other sites

There are errors from CactEye contracts with Interstellar Adventure Revived installed:

[INFO] ContractConfigurator.ContractType: Loading CONTRACT_TYPE: 'CactEyeBigPlanetObservation'
 
(Filename: /home/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

ContractConfigurator.ConfigNodeUtil: Got an unexpected exception trying to load 'targetPlanet' as a list:
 
(Filename: /home/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

ArgumentOutOfRangeException: Argument is out of range.
Parameter name: index
  at System.Collections.Generic.List`1[CelestialBody].get_Item (Int32 index) [0x00000] in <filename unknown>:0 
  at ListExtension.MaxAt[CelestialBody,Double] (IList`1 list, System.Func`2 sortBy) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ExpressionParser.CelestialBodyParser.BodyType (.CelestialBody cb) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ExpressionParser.CelestialBodyParser+<>c.<RegisterMethods>b__5_5 (.CelestialBody cb) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ExpressionParser.Method`2[CelestialBody,System.Boolean].Invoke (.CelestialBody obj) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ExpressionParser.Method`2[CelestialBody,System.Boolean].Invoke (System.Object[] parameters) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ExpressionParser.ExpressionParser`1[CelestialBody].ParseMethod[Boolean] (ContractConfigurator.ExpressionParser.Token token, .CelestialBody obj, Boolean isFunction) [0x00000] in <filename unknown>:0 
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0 
  at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ExpressionParser.ExpressionParser`1[System.Boolean].ParseVarOrIdentifier (ContractConfigurator.ExpressionParser.Token token) [0x00000] in <filename unknown>:0 
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0 
  at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ExpressionParser.ExpressionParser`1[CelestialBody].ParseStatement[Boolean] () [0x00000] in <filename unknown>:0 
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0 
  at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ExpressionParser.ExpressionParser`1[System.Collections.Generic.List`1[CelestialBody]].ParseMethod[List`1] (ContractConfigurator.ExpressionParser.Token token, System.Collections.Generic.List`1 obj, Boolean isFunction) [0x00000] in <filename unknown>:0 
Rethrow as Exception: Error parsing statement.
Error occurred near '*':
AllBodies().Where(cb => (cb.SemiMajorAxis() < @targetSMA ||  cb.Radius() > @targetRadius ) && cb.IsPlanet() && cb != HomeWorld()  )
.............................................................................................* <-- HERE
  at ContractConfigurator.ExpressionParser.ExpressionParser`1[System.Collections.Generic.List`1[CelestialBody]].ParseExpression (System.String key, System.String expression, ContractConfigurator.ExpressionParser.DataNode dataNode) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ConfigNodeUtil.ParseSingleValue[List`1] (System.String key, System.String stringValue, Boolean allowExpression) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ConfigNodeUtil.ParseValue[List`1] (.ConfigNode configNode, System.String key, Boolean allowExpression) [0x00000] in <filename unknown>:0 
UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
UnityEngine.Logger:LogException(Exception, Object)
UnityEngine.Debug:LogException(Exception)
ContractConfigurator.LoggingUtil:LogException(Exception)
ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Boolean)
ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Action`1, IContractConfiguratorFactory, List`1, Func`2)
ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Action`1, IContractConfiguratorFactory)
ContractConfigurator.ContractType:ParseDataExpandString(ConfigNode, String)
System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&)
System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)
System.Reflection.MethodBase:Invoke(Object, Object[])
ContractConfigurator.ContractType:Load(ConfigNode)
ContractConfigurator.<LoadContractConfig>d__26:MoveNext()
ContractConfigurator.ContractConfigurator:PSystemReady()
EventVoid:Fire()
��:MoveNext()
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
 
(Filename:  Line: -1)

ContractConfigurator.ContractType: CONTRACT_TYPE 'CactEyeBigPlanetObservation': Error parsing targetPlanet
 
(Filename: /home/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

ArgumentOutOfRangeException: Argument is out of range.
Parameter name: index
  at System.Collections.Generic.List`1[CelestialBody].get_Item (Int32 index) [0x00000] in <filename unknown>:0 
  at ListExtension.MaxAt[CelestialBody,Double] (IList`1 list, System.Func`2 sortBy) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ExpressionParser.CelestialBodyParser.BodyType (.CelestialBody cb) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ExpressionParser.CelestialBodyParser+<>c.<RegisterMethods>b__5_5 (.CelestialBody cb) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ExpressionParser.Method`2[CelestialBody,System.Boolean].Invoke (.CelestialBody obj) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ExpressionParser.Method`2[CelestialBody,System.Boolean].Invoke (System.Object[] parameters) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ExpressionParser.ExpressionParser`1[CelestialBody].ParseMethod[Boolean] (ContractConfigurator.ExpressionParser.Token token, .CelestialBody obj, Boolean isFunction) [0x00000] in <filename unknown>:0 
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0 
  at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ExpressionParser.ExpressionParser`1[System.Boolean].ParseVarOrIdentifier (ContractConfigurator.ExpressionParser.Token token) [0x00000] in <filename unknown>:0 
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0 
  at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ExpressionParser.ExpressionParser`1[CelestialBody].ParseStatement[Boolean] () [0x00000] in <filename unknown>:0 
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0 
  at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ExpressionParser.ExpressionParser`1[CelestialBody].ParseMethod[CelestialBody] (ContractConfigurator.ExpressionParser.Token token, .CelestialBody obj, Boolean isFunction) [0x00000] in <filename unknown>:0 
Rethrow as Exception: Error parsing statement.
Error occurred near '*':
AllBodies().Where(cb => (cb.SemiMajorAxis() < @targetSMA ||  cb.Radius() > @targetRadius ) && cb.IsPlanet() && cb != HomeWorld()  )
.............................................................................................* <-- HERE
  at ContractConfigurator.ExpressionParser.ExpressionParser`1[T].ParseExpression (System.String key, System.String expression, ContractConfigurator.ExpressionParser.DataNode dataNode) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ConfigNodeUtil.ParseSingleValue[CelestialBody] (System.String key, System.String stringValue, Boolean allowExpression) [0x00000] in <filename unknown>:0 
  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0 
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0 
  at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <filename unknown>:0 
  at ContractConfigurator.ConfigNodeUtil.ParseValue[List`1] (.ConfigNode configNode, System.String key, Boolean allowExpression) [0x00000] in <filename unknown>:0 
UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
UnityEngine.Logger:LogException(Exception, Object)
UnityEngine.Debug:LogException(Exception)
ContractConfigurator.LoggingUtil:LogException(Exception)
ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Action`1, IContractConfiguratorFactory, List`1, Func`2)
ContractConfigurator.ConfigNodeUtil:ParseValue(ConfigNode, String, Action`1, IContractConfiguratorFactory)
ContractConfigurator.ContractType:ParseDataExpandString(ConfigNode, String)
System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&)
System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)
System.Reflection.MethodBase:Invoke(Object, Object[])
ContractConfigurator.ContractType:Load(ConfigNode)
ContractConfigurator.<LoadContractConfig>d__26:MoveNext()
ContractConfigurator.ContractConfigurator:PSystemReady()
EventVoid:Fire()
��:MoveNext()
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
 
(Filename:  Line: -1)

ContractConfigurator.ContractType: CONTRACT_TYPE 'CactEyeBigPlanetObservation': Received an empty list of values when trying to do a DATA_EXPAND
 
(Filename: /home/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)



[...continued like 40 times...]

I don't know the reason for the exception, whats missing/wrong on which side - a hint on what's wrong might be helpful to fix the problem with the mods.

Share this post


Link to post
Share on other sites

@emerald Can you please post a link to the full output_log.txt.  I will need it to trace it.  I am not familiar with this mod and will have to look into it. 

EDIT: After a little bit of looking, it uses the Kopernicus beta and redoes the solar systems.  I have not tested this mod with Kopernicus yet and there are probably some changes that I will have to work with. The other issue is that there are no config files for the planets of that pack.  Science will not work for them.  If you would like to speed up the process of getting them included you can create a 1-2 sentence description of the planets as viewed by a kerbal through a big scope and post them on here or pm them.  I will take care of building the config file.  This goes for any planet pack.  OPM is the only one I currently have configs for.

Edited by icedown

Share this post


Link to post
Share on other sites

this may also explain my problem where no contract update after photo of the mun.  as I run kopenicus and some planet packs.  thus, if you do not handle that, the contract may not realize I have a photo of the mun...

Share this post


Link to post
Share on other sites
50 minutes ago, Bit Fiddler said:

this may also explain my problem where no contract update after photo of the mun.  as I run kopenicus and some planet packs.  thus, if you do not handle that, the contract may not realize I have a photo of the mun...

There are some contract issues I'm working on but to make sure if it's kopernicus or the contract problems could you please post your output log?  I wouldn't think kopernicus would give you problems with the Mun but can't be sure.

Share this post


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

@emerald Can you please post a link to the full output_log.txt.  I will need it to trace it.  I am not familiar with this mod and will have to look into it. 

EDIT: After a little bit of looking, it uses the Kopernicus beta and redoes the solar systems.  I have not tested this mod with Kopernicus yet and there are probably some changes that I will have to work with. The other issue is that there are no config files for the planets of that pack.  Science will not work for them.  If you would like to speed up the process of getting them included you can create a 1-2 sentence description of the planets as viewed by a kerbal through a big scope and post them on here or pm them.  I will take care of building the config file.  This goes for any planet pack.  OPM is the only one I currently have configs for.

Player.log: http://www.emi-sama.de/log/Player.log

Installed mods:

  • CactEye Optica Community 1.2.1.10
  • Contract Configurator 1.21.0
  • Interstellar Adventure Revived 1.0
  • Kopernicus Planetary System Modifier 1.2.1-3
  • ModularFlightIntegrator 1.2.2.0
  • Module Manager 1.7.2

I tested (use) other planet packs with CacyEye, even without CactEye science definitions they work and not throw exception like this (e.g. Planet Cyran).

Share this post


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

I tested (use) other planet packs with CacyEye, even without CactEye science definitions they work and not throw exception like this (e.g. Planet Cyran).

Was this prior to 1.2?

Share this post


Link to post
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.