diff --git a/Bootstrapping/GeneticAlgorithm/GeneticAlgorithm.vbproj b/Distribute_computing/Bootstrapping/GeneticAlgorithm/GeneticAlgorithm.vbproj similarity index 100% rename from Bootstrapping/GeneticAlgorithm/GeneticAlgorithm.vbproj rename to Distribute_computing/Bootstrapping/GeneticAlgorithm/GeneticAlgorithm.vbproj diff --git a/Bootstrapping/GeneticAlgorithm/My Project/Application.Designer.vb b/Distribute_computing/Bootstrapping/GeneticAlgorithm/My Project/Application.Designer.vb similarity index 100% rename from Bootstrapping/GeneticAlgorithm/My Project/Application.Designer.vb rename to Distribute_computing/Bootstrapping/GeneticAlgorithm/My Project/Application.Designer.vb diff --git a/Bootstrapping/GeneticAlgorithm/My Project/Application.myapp b/Distribute_computing/Bootstrapping/GeneticAlgorithm/My Project/Application.myapp similarity index 100% rename from Bootstrapping/GeneticAlgorithm/My Project/Application.myapp rename to Distribute_computing/Bootstrapping/GeneticAlgorithm/My Project/Application.myapp diff --git a/Bootstrapping/GeneticAlgorithm/My Project/AssemblyInfo.vb b/Distribute_computing/Bootstrapping/GeneticAlgorithm/My Project/AssemblyInfo.vb similarity index 100% rename from Bootstrapping/GeneticAlgorithm/My Project/AssemblyInfo.vb rename to Distribute_computing/Bootstrapping/GeneticAlgorithm/My Project/AssemblyInfo.vb diff --git a/Bootstrapping/GeneticAlgorithm/My Project/Resources.Designer.vb b/Distribute_computing/Bootstrapping/GeneticAlgorithm/My Project/Resources.Designer.vb similarity index 100% rename from Bootstrapping/GeneticAlgorithm/My Project/Resources.Designer.vb rename to Distribute_computing/Bootstrapping/GeneticAlgorithm/My Project/Resources.Designer.vb diff --git a/Bootstrapping/GeneticAlgorithm/My Project/Resources.resx b/Distribute_computing/Bootstrapping/GeneticAlgorithm/My Project/Resources.resx similarity index 100% rename from Bootstrapping/GeneticAlgorithm/My Project/Resources.resx rename to Distribute_computing/Bootstrapping/GeneticAlgorithm/My Project/Resources.resx diff --git a/Bootstrapping/GeneticAlgorithm/My Project/Settings.Designer.vb b/Distribute_computing/Bootstrapping/GeneticAlgorithm/My Project/Settings.Designer.vb similarity index 100% rename from Bootstrapping/GeneticAlgorithm/My Project/Settings.Designer.vb rename to Distribute_computing/Bootstrapping/GeneticAlgorithm/My Project/Settings.Designer.vb diff --git a/Bootstrapping/GeneticAlgorithm/My Project/Settings.settings b/Distribute_computing/Bootstrapping/GeneticAlgorithm/My Project/Settings.settings similarity index 100% rename from Bootstrapping/GeneticAlgorithm/My Project/Settings.settings rename to Distribute_computing/Bootstrapping/GeneticAlgorithm/My Project/Settings.settings diff --git a/Bootstrapping/GeneticAlgorithm/Protocol.vb b/Distribute_computing/Bootstrapping/GeneticAlgorithm/Protocol.vb similarity index 100% rename from Bootstrapping/GeneticAlgorithm/Protocol.vb rename to Distribute_computing/Bootstrapping/GeneticAlgorithm/Protocol.vb diff --git a/Examples/AnalysisExample/AnalysisExample.vbproj b/Distribute_computing/Examples/AnalysisExample/AnalysisExample.vbproj similarity index 97% rename from Examples/AnalysisExample/AnalysisExample.vbproj rename to Distribute_computing/Examples/AnalysisExample/AnalysisExample.vbproj index ed8f3d2..2e1bc63 100644 --- a/Examples/AnalysisExample/AnalysisExample.vbproj +++ b/Distribute_computing/Examples/AnalysisExample/AnalysisExample.vbproj @@ -1,138 +1,138 @@ - - - - - Debug - AnyCPU - {F7DD090B-91DD-42EA-B1F9-C88EE7B3A623} - Library - AnalysisExample - AnalysisExample - 512 - Windows - v4.6 - - - - true - full - true - true - ./bin - AnalysisExample.xml - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - - - pdbonly - false - true - true - ./bin - AnalysisExample.xml - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - - - On - - - Binary - - - Off - - - On - - - true - true - true - ./bin - AnalysisExample.xml - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - full - x64 - MinimumRecommendedRules.ruleset - - - true - ./bin - AnalysisExample.xml - true - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - pdbonly - x64 - MinimumRecommendedRules.ruleset - - - - - - - - - - - - - - - - - - - - - - - - - - True - Application.myapp - - - True - True - Resources.resx - - - True - Settings.settings - True - - - - - VbMyResourcesResXFileCodeGenerator - Resources.Designer.vb - My.Resources - Designer - - - - - MyApplicationCodeGenerator - Application.Designer.vb - - - SettingsSingleFileGenerator - My - Settings.Designer.vb - - - - - {fecce1fd-e1d4-49e3-a668-60bb5e7aed99} - +Microsoft.VisualBasic.Architecture.Framework - - - - + + + + + Debug + AnyCPU + {F7DD090B-91DD-42EA-B1F9-C88EE7B3A623} + Library + AnalysisExample + AnalysisExample + 512 + Windows + v4.6 + + + + true + full + true + true + ./bin + AnalysisExample.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + pdbonly + false + true + true + ./bin + AnalysisExample.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + On + + + Binary + + + Off + + + On + + + true + true + true + ./bin + AnalysisExample.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + full + x64 + MinimumRecommendedRules.ruleset + + + true + ./bin + AnalysisExample.xml + true + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + x64 + MinimumRecommendedRules.ruleset + + + + + + + + + + + + + + + + + + + + + + + + + + True + Application.myapp + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + {fecce1fd-e1d4-49e3-a668-60bb5e7aed99} + +Microsoft.VisualBasic.Architecture.Framework + + + + \ No newline at end of file diff --git a/Examples/AnalysisExample/AnalysisTools.vb b/Distribute_computing/Examples/AnalysisExample/AnalysisTools.vb similarity index 100% rename from Examples/AnalysisExample/AnalysisTools.vb rename to Distribute_computing/Examples/AnalysisExample/AnalysisTools.vb diff --git a/Examples/AnalysisExample/My Project/Application.Designer.vb b/Distribute_computing/Examples/AnalysisExample/My Project/Application.Designer.vb similarity index 100% rename from Examples/AnalysisExample/My Project/Application.Designer.vb rename to Distribute_computing/Examples/AnalysisExample/My Project/Application.Designer.vb diff --git a/Examples/AnalysisExample/My Project/Application.myapp b/Distribute_computing/Examples/AnalysisExample/My Project/Application.myapp similarity index 100% rename from Examples/AnalysisExample/My Project/Application.myapp rename to Distribute_computing/Examples/AnalysisExample/My Project/Application.myapp diff --git a/Examples/AnalysisExample/My Project/AssemblyInfo.vb b/Distribute_computing/Examples/AnalysisExample/My Project/AssemblyInfo.vb similarity index 100% rename from Examples/AnalysisExample/My Project/AssemblyInfo.vb rename to Distribute_computing/Examples/AnalysisExample/My Project/AssemblyInfo.vb diff --git a/Examples/AnalysisExample/My Project/Resources.Designer.vb b/Distribute_computing/Examples/AnalysisExample/My Project/Resources.Designer.vb similarity index 100% rename from Examples/AnalysisExample/My Project/Resources.Designer.vb rename to Distribute_computing/Examples/AnalysisExample/My Project/Resources.Designer.vb diff --git a/Examples/AnalysisExample/My Project/Resources.resx b/Distribute_computing/Examples/AnalysisExample/My Project/Resources.resx similarity index 100% rename from Examples/AnalysisExample/My Project/Resources.resx rename to Distribute_computing/Examples/AnalysisExample/My Project/Resources.resx diff --git a/Examples/AnalysisExample/My Project/Settings.Designer.vb b/Distribute_computing/Examples/AnalysisExample/My Project/Settings.Designer.vb similarity index 100% rename from Examples/AnalysisExample/My Project/Settings.Designer.vb rename to Distribute_computing/Examples/AnalysisExample/My Project/Settings.Designer.vb diff --git a/Examples/AnalysisExample/My Project/Settings.settings b/Distribute_computing/Examples/AnalysisExample/My Project/Settings.settings similarity index 100% rename from Examples/AnalysisExample/My Project/Settings.settings rename to Distribute_computing/Examples/AnalysisExample/My Project/Settings.settings diff --git a/Examples/local/App.config b/Distribute_computing/Examples/local/App.config similarity index 100% rename from Examples/local/App.config rename to Distribute_computing/Examples/local/App.config diff --git a/Examples/local/My Project/Application.Designer.vb b/Distribute_computing/Examples/local/My Project/Application.Designer.vb similarity index 100% rename from Examples/local/My Project/Application.Designer.vb rename to Distribute_computing/Examples/local/My Project/Application.Designer.vb diff --git a/Examples/local/My Project/Application.myapp b/Distribute_computing/Examples/local/My Project/Application.myapp similarity index 100% rename from Examples/local/My Project/Application.myapp rename to Distribute_computing/Examples/local/My Project/Application.myapp diff --git a/Examples/local/My Project/AssemblyInfo.vb b/Distribute_computing/Examples/local/My Project/AssemblyInfo.vb similarity index 100% rename from Examples/local/My Project/AssemblyInfo.vb rename to Distribute_computing/Examples/local/My Project/AssemblyInfo.vb diff --git a/Examples/local/My Project/Resources.Designer.vb b/Distribute_computing/Examples/local/My Project/Resources.Designer.vb similarity index 100% rename from Examples/local/My Project/Resources.Designer.vb rename to Distribute_computing/Examples/local/My Project/Resources.Designer.vb diff --git a/Examples/local/My Project/Resources.resx b/Distribute_computing/Examples/local/My Project/Resources.resx similarity index 100% rename from Examples/local/My Project/Resources.resx rename to Distribute_computing/Examples/local/My Project/Resources.resx diff --git a/Examples/local/My Project/Settings.Designer.vb b/Distribute_computing/Examples/local/My Project/Settings.Designer.vb similarity index 100% rename from Examples/local/My Project/Settings.Designer.vb rename to Distribute_computing/Examples/local/My Project/Settings.Designer.vb diff --git a/Examples/local/My Project/Settings.settings b/Distribute_computing/Examples/local/My Project/Settings.settings similarity index 100% rename from Examples/local/My Project/Settings.settings rename to Distribute_computing/Examples/local/My Project/Settings.settings diff --git a/Examples/local/Program.vb b/Distribute_computing/Examples/local/Program.vb similarity index 97% rename from Examples/local/Program.vb rename to Distribute_computing/Examples/local/Program.vb index acd6da7..e15ab66 100644 --- a/Examples/local/Program.vb +++ b/Distribute_computing/Examples/local/Program.vb @@ -1,96 +1,96 @@ -#Region "Microsoft.VisualBasic::b8081d21dcc0f6a0b935f495194eecd7, Examples\local\Program.vb" - - ' Author: - ' - ' asuka (amethyst.asuka@gcmodeller.org) - ' xie (genetics@smrucc.org) - ' xieguigang (xie.guigang@live.com) - ' - ' Copyright (c) 2018 GPL3 Licensed - ' - ' - ' GNU GENERAL PUBLIC LICENSE (GPL3) - ' - ' - ' This program is free software: you can redistribute it and/or modify - ' it under the terms of the GNU General Public License as published by - ' the Free Software Foundation, either version 3 of the License, or - ' (at your option) any later version. - ' - ' This program is distributed in the hope that it will be useful, - ' but WITHOUT ANY WARRANTY; without even the implied warranty of - ' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - ' GNU General Public License for more details. - ' - ' You should have received a copy of the GNU General Public License - ' along with this program. If not, see . - - - - ' /********************************************************************************/ - - ' Summaries: - - ' Module Program - ' - ' Sub: Main, test - ' - ' /********************************************************************************/ - -#End Region - -Imports System.IO -Imports Microsoft.VisualBasic.Net -Imports sciBASIC.ComputingServices -Imports sciBASIC.ComputingServices.FileSystem.IO -Imports sciBASIC.ComputingServices.TaskHost - -Module Program - - Sub Main() - - Dim nnnn As Integer() = {3, 424, 2324, 88, 2, 54, 46, 7, 57, 5, -1111, 86, 7, 87, 97, 55} - Dim value As New SharedMemory.HashValue(NameOf(nnnn), nnnn) - Call value.__DEBUG_ECHO - - Dim a As New SharedMemory.MemoryServices(New IPEndPoint("127.0.0.1", 1234), 3321) - Call a.DriverRun - Call Threading.Thread.Sleep(1000) - Dim b As New SharedMemory.MemoryServices(New IPEndPoint("127.0.0.1", 3321), 1234) - Call b.DriverRun - Call Threading.Thread.Sleep(1000) - - - Call a.SetValue(NameOf(nnnn), nnnn) - Call Threading.Thread.Sleep(1000) - - Dim bbb As Integer() = a.GetValue(Of Integer())(NameOf(nnnn)) - - Pause() - - Dim remoteMachine As New TaskHost(New IPEndPoint("127.0.0.1", 1234)) - Dim func As Func(Of Stream, String, String()) = AddressOf AnalysisExample.API.LongTest1 - Dim path As String = "E:\Microsoft.VisualBasic.Parallel\trunk\Examples\local\local.vbproj" - Dim localfile As New RemoteFileStream(path, FileMode.Open, remoteMachine.FileSystem) - Dim array As String() = remoteMachine.Invoke(func, {localfile, "this is the message from local machine!"}) - ' remote linq - - Call array.Length.__DEBUG_ECHO - - localfile = New RemoteFileStream(path, FileMode.Open, remoteMachine.FileSystem) - Dim source = remoteMachine.AsLinq(Of String)(func, {localfile, "this is the remote linq example!"}) - Dim array2 = (From s As String In source Where InStr(s, "Include=") > 0 Select s) - - For Each line As String In array2 - Call Console.WriteLine(line) - Next - - - Call Pause() - End Sub - - Sub test() - Dim info = GetType(Program).AddressOf(NameOf(Main)) - Dim resulkt = info.Invoke(Nothing) - End Sub -End Module +#Region "Microsoft.VisualBasic::b8081d21dcc0f6a0b935f495194eecd7, Examples\local\Program.vb" + + ' Author: + ' + ' asuka (amethyst.asuka@gcmodeller.org) + ' xie (genetics@smrucc.org) + ' xieguigang (xie.guigang@live.com) + ' + ' Copyright (c) 2018 GPL3 Licensed + ' + ' + ' GNU GENERAL PUBLIC LICENSE (GPL3) + ' + ' + ' This program is free software: you can redistribute it and/or modify + ' it under the terms of the GNU General Public License as published by + ' the Free Software Foundation, either version 3 of the License, or + ' (at your option) any later version. + ' + ' This program is distributed in the hope that it will be useful, + ' but WITHOUT ANY WARRANTY; without even the implied warranty of + ' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + ' GNU General Public License for more details. + ' + ' You should have received a copy of the GNU General Public License + ' along with this program. If not, see . + + + + ' /********************************************************************************/ + + ' Summaries: + + ' Module Program + ' + ' Sub: Main, test + ' + ' /********************************************************************************/ + +#End Region + +Imports System.IO +Imports Microsoft.VisualBasic.Net +Imports sciBASIC.ComputingServices +Imports sciBASIC.ComputingServices.FileSystem.IO +Imports sciBASIC.ComputingServices.TaskHost + +Module Program + + Sub Main() + + Dim nnnn As Integer() = {3, 424, 2324, 88, 2, 54, 46, 7, 57, 5, -1111, 86, 7, 87, 97, 55} + Dim value As New SharedMemory.HashValue(NameOf(nnnn), nnnn) + Call value.__DEBUG_ECHO + + Dim a As New SharedMemory.MemoryServices(New IPEndPoint("127.0.0.1", 1234), 3321) + Call a.DriverRun + Call Threading.Thread.Sleep(1000) + Dim b As New SharedMemory.MemoryServices(New IPEndPoint("127.0.0.1", 3321), 1234) + Call b.DriverRun + Call Threading.Thread.Sleep(1000) + + + Call a.SetValue(NameOf(nnnn), nnnn) + Call Threading.Thread.Sleep(1000) + + Dim bbb As Integer() = a.GetValue(Of Integer())(NameOf(nnnn)) + + Pause() + + Dim remoteMachine As New TaskHost(New IPEndPoint("127.0.0.1", 1234)) + Dim func As Func(Of Stream, String, String()) = AddressOf AnalysisExample.API.LongTest1 + Dim path As String = "E:\Microsoft.VisualBasic.Parallel\trunk\Examples\local\local.vbproj" + Dim localfile As New RemoteFileStream(path, FileMode.Open, remoteMachine.FileSystem) + Dim array As String() = remoteMachine.Invoke(func, {localfile, "this is the message from local machine!"}) + ' remote linq + + Call array.Length.__DEBUG_ECHO + + localfile = New RemoteFileStream(path, FileMode.Open, remoteMachine.FileSystem) + Dim source = remoteMachine.AsLinq(Of String)(func, {localfile, "this is the remote linq example!"}) + Dim array2 = (From s As String In source Where InStr(s, "Include=") > 0 Select s) + + For Each line As String In array2 + Call Console.WriteLine(line) + Next + + + Call Pause() + End Sub + + Sub test() + Dim info = GetType(Program).AddressOf(NameOf(Main)) + Dim resulkt = info.Invoke(Nothing) + End Sub +End Module diff --git a/Examples/local/local.vbproj b/Distribute_computing/Examples/local/local.vbproj similarity index 97% rename from Examples/local/local.vbproj rename to Distribute_computing/Examples/local/local.vbproj index ecdf2bb..7704bdd 100644 --- a/Examples/local/local.vbproj +++ b/Distribute_computing/Examples/local/local.vbproj @@ -1,154 +1,154 @@ - - - - - Debug - AnyCPU - {76BFD6E2-FC5C-4E7A-984D-917CE14D8A7B} - Exe - local.Program - local - local - 512 - Console - v4.6 - true - - - - AnyCPU - true - full - true - true - ./bin - local.xml - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - false - - - AnyCPU - pdbonly - false - true - true - ./bin - local.xml - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - - - On - - - Binary - - - Off - - - On - - - true - true - true - ./bin - local.xml - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - full - x64 - MinimumRecommendedRules.ruleset - - - true - ./bin - local.xml - true - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - pdbonly - x64 - MinimumRecommendedRules.ruleset - true - - - - - - - - - - - - - - - - - - - - - - - - - - - True - Application.myapp - - - True - True - Resources.resx - - - True - Settings.settings - True - - - - - VbMyResourcesResXFileCodeGenerator - Resources.Designer.vb - My.Resources - Designer - - - - - MyApplicationCodeGenerator - Application.Designer.vb - - - SettingsSingleFileGenerator - My - Settings.Designer.vb - - - - - - {fecce1fd-e1d4-49e3-a668-60bb5e7aed99} - +Microsoft.VisualBasic.Architecture.Framework - - - {87383048-1b31-49b7-9fb7-0ded1b80ace8} - ComputingServices - - - {f7dd090b-91dd-42ea-b1f9-c88ee7b3a623} - AnalysisExample - - - - + + + + + Debug + AnyCPU + {76BFD6E2-FC5C-4E7A-984D-917CE14D8A7B} + Exe + local.Program + local + local + 512 + Console + v4.6 + true + + + + AnyCPU + true + full + true + true + ./bin + local.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + false + + + AnyCPU + pdbonly + false + true + true + ./bin + local.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + On + + + Binary + + + Off + + + On + + + true + true + true + ./bin + local.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + full + x64 + MinimumRecommendedRules.ruleset + + + true + ./bin + local.xml + true + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + x64 + MinimumRecommendedRules.ruleset + true + + + + + + + + + + + + + + + + + + + + + + + + + + + True + Application.myapp + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + + {fecce1fd-e1d4-49e3-a668-60bb5e7aed99} + +Microsoft.VisualBasic.Architecture.Framework + + + {87383048-1b31-49b7-9fb7-0ded1b80ace8} + ComputingServices + + + {f7dd090b-91dd-42ea-b1f9-c88ee7b3a623} + AnalysisExample + + + + \ No newline at end of file diff --git a/GAF_distribute_computing/Demo.sln b/Distribute_computing/GAF_distribute_computing/Demo.sln similarity index 100% rename from GAF_distribute_computing/Demo.sln rename to Distribute_computing/GAF_distribute_computing/Demo.sln diff --git a/GAF_distribute_computing/Demo/App.config b/Distribute_computing/GAF_distribute_computing/Demo/App.config similarity index 100% rename from GAF_distribute_computing/Demo/App.config rename to Distribute_computing/GAF_distribute_computing/Demo/App.config diff --git a/GAF_distribute_computing/Demo/Demo.vbproj b/Distribute_computing/GAF_distribute_computing/Demo/Demo.vbproj similarity index 100% rename from GAF_distribute_computing/Demo/Demo.vbproj rename to Distribute_computing/GAF_distribute_computing/Demo/Demo.vbproj diff --git a/GAF_distribute_computing/Demo/My Project/Application.Designer.vb b/Distribute_computing/GAF_distribute_computing/Demo/My Project/Application.Designer.vb similarity index 100% rename from GAF_distribute_computing/Demo/My Project/Application.Designer.vb rename to Distribute_computing/GAF_distribute_computing/Demo/My Project/Application.Designer.vb diff --git a/GAF_distribute_computing/Demo/My Project/Application.myapp b/Distribute_computing/GAF_distribute_computing/Demo/My Project/Application.myapp similarity index 100% rename from GAF_distribute_computing/Demo/My Project/Application.myapp rename to Distribute_computing/GAF_distribute_computing/Demo/My Project/Application.myapp diff --git a/GAF_distribute_computing/Demo/My Project/AssemblyInfo.vb b/Distribute_computing/GAF_distribute_computing/Demo/My Project/AssemblyInfo.vb similarity index 100% rename from GAF_distribute_computing/Demo/My Project/AssemblyInfo.vb rename to Distribute_computing/GAF_distribute_computing/Demo/My Project/AssemblyInfo.vb diff --git a/GAF_distribute_computing/Demo/My Project/Resources.Designer.vb b/Distribute_computing/GAF_distribute_computing/Demo/My Project/Resources.Designer.vb similarity index 100% rename from GAF_distribute_computing/Demo/My Project/Resources.Designer.vb rename to Distribute_computing/GAF_distribute_computing/Demo/My Project/Resources.Designer.vb diff --git a/GAF_distribute_computing/Demo/My Project/Resources.resx b/Distribute_computing/GAF_distribute_computing/Demo/My Project/Resources.resx similarity index 100% rename from GAF_distribute_computing/Demo/My Project/Resources.resx rename to Distribute_computing/GAF_distribute_computing/Demo/My Project/Resources.resx diff --git a/GAF_distribute_computing/Demo/My Project/Settings.Designer.vb b/Distribute_computing/GAF_distribute_computing/Demo/My Project/Settings.Designer.vb similarity index 100% rename from GAF_distribute_computing/Demo/My Project/Settings.Designer.vb rename to Distribute_computing/GAF_distribute_computing/Demo/My Project/Settings.Designer.vb diff --git a/GAF_distribute_computing/Demo/My Project/Settings.settings b/Distribute_computing/GAF_distribute_computing/Demo/My Project/Settings.settings similarity index 100% rename from GAF_distribute_computing/Demo/My Project/Settings.settings rename to Distribute_computing/GAF_distribute_computing/Demo/My Project/Settings.settings diff --git a/GAF_distribute_computing/Demo/Program.vb b/Distribute_computing/GAF_distribute_computing/Demo/Program.vb similarity index 100% rename from GAF_distribute_computing/Demo/Program.vb rename to Distribute_computing/GAF_distribute_computing/Demo/Program.vb diff --git a/GAF_distribute_computing/GA_distribute.pptx b/Distribute_computing/GAF_distribute_computing/GA_distribute.pptx similarity index 100% rename from GAF_distribute_computing/GA_distribute.pptx rename to Distribute_computing/GAF_distribute_computing/GA_distribute.pptx diff --git a/GAF_distribute_computing/README.md b/Distribute_computing/GAF_distribute_computing/README.md similarity index 100% rename from GAF_distribute_computing/README.md rename to Distribute_computing/GAF_distribute_computing/README.md diff --git a/GAF_distribute_computing/images/Distribute-LINQ.png b/Distribute_computing/GAF_distribute_computing/images/Distribute-LINQ.png similarity index 100% rename from GAF_distribute_computing/images/Distribute-LINQ.png rename to Distribute_computing/GAF_distribute_computing/images/Distribute-LINQ.png diff --git a/GAF_distribute_computing/images/Mutation-and-fitness.png b/Distribute_computing/GAF_distribute_computing/images/Mutation-and-fitness.png similarity index 100% rename from GAF_distribute_computing/images/Mutation-and-fitness.png rename to Distribute_computing/GAF_distribute_computing/images/Mutation-and-fitness.png diff --git a/Taskhost.d/App.config b/Distribute_computing/Taskhost.d/App.config similarity index 100% rename from Taskhost.d/App.config rename to Distribute_computing/Taskhost.d/App.config diff --git a/RQL/My Project/Application.Designer.vb b/Distribute_computing/Taskhost.d/My Project/Application.Designer.vb similarity index 100% rename from RQL/My Project/Application.Designer.vb rename to Distribute_computing/Taskhost.d/My Project/Application.Designer.vb diff --git a/Taskhost.d/My Project/Application.myapp b/Distribute_computing/Taskhost.d/My Project/Application.myapp similarity index 100% rename from Taskhost.d/My Project/Application.myapp rename to Distribute_computing/Taskhost.d/My Project/Application.myapp diff --git a/Taskhost.d/My Project/AssemblyInfo.vb b/Distribute_computing/Taskhost.d/My Project/AssemblyInfo.vb similarity index 100% rename from Taskhost.d/My Project/AssemblyInfo.vb rename to Distribute_computing/Taskhost.d/My Project/AssemblyInfo.vb diff --git a/Taskhost.d/My Project/Resources.Designer.vb b/Distribute_computing/Taskhost.d/My Project/Resources.Designer.vb similarity index 100% rename from Taskhost.d/My Project/Resources.Designer.vb rename to Distribute_computing/Taskhost.d/My Project/Resources.Designer.vb diff --git a/RQL/My Project/Resources.resx b/Distribute_computing/Taskhost.d/My Project/Resources.resx similarity index 100% rename from RQL/My Project/Resources.resx rename to Distribute_computing/Taskhost.d/My Project/Resources.resx diff --git a/Taskhost.d/My Project/Settings.Designer.vb b/Distribute_computing/Taskhost.d/My Project/Settings.Designer.vb similarity index 100% rename from Taskhost.d/My Project/Settings.Designer.vb rename to Distribute_computing/Taskhost.d/My Project/Settings.Designer.vb diff --git a/RQL/My Project/Settings.settings b/Distribute_computing/Taskhost.d/My Project/Settings.settings similarity index 100% rename from RQL/My Project/Settings.settings rename to Distribute_computing/Taskhost.d/My Project/Settings.settings diff --git a/Taskhost.d/Program.vb b/Distribute_computing/Taskhost.d/Program.vb similarity index 100% rename from Taskhost.d/Program.vb rename to Distribute_computing/Taskhost.d/Program.vb diff --git a/Taskhost.d/Taskhost.d.vbproj b/Distribute_computing/Taskhost.d/Taskhost.d.vbproj similarity index 100% rename from Taskhost.d/Taskhost.d.vbproj rename to Distribute_computing/Taskhost.d/Taskhost.d.vbproj diff --git a/README.md b/LINQ/README.md similarity index 100% rename from README.md rename to LINQ/README.md diff --git a/RQL/API/Repository.vb b/LINQ/RQL/API/Repository.vb similarity index 100% rename from RQL/API/Repository.vb rename to LINQ/RQL/API/Repository.vb diff --git a/Taskhost.d/My Project/Application.Designer.vb b/LINQ/RQL/My Project/Application.Designer.vb similarity index 100% rename from Taskhost.d/My Project/Application.Designer.vb rename to LINQ/RQL/My Project/Application.Designer.vb diff --git a/RQL/My Project/Application.myapp b/LINQ/RQL/My Project/Application.myapp similarity index 100% rename from RQL/My Project/Application.myapp rename to LINQ/RQL/My Project/Application.myapp diff --git a/RQL/My Project/AssemblyInfo.vb b/LINQ/RQL/My Project/AssemblyInfo.vb similarity index 100% rename from RQL/My Project/AssemblyInfo.vb rename to LINQ/RQL/My Project/AssemblyInfo.vb diff --git a/RQL/My Project/Resources.Designer.vb b/LINQ/RQL/My Project/Resources.Designer.vb similarity index 100% rename from RQL/My Project/Resources.Designer.vb rename to LINQ/RQL/My Project/Resources.Designer.vb diff --git a/Taskhost.d/My Project/Resources.resx b/LINQ/RQL/My Project/Resources.resx similarity index 100% rename from Taskhost.d/My Project/Resources.resx rename to LINQ/RQL/My Project/Resources.resx diff --git a/RQL/My Project/Settings.Designer.vb b/LINQ/RQL/My Project/Settings.Designer.vb similarity index 100% rename from RQL/My Project/Settings.Designer.vb rename to LINQ/RQL/My Project/Settings.Designer.vb diff --git a/Taskhost.d/My Project/Settings.settings b/LINQ/RQL/My Project/Settings.settings similarity index 100% rename from Taskhost.d/My Project/Settings.settings rename to LINQ/RQL/My Project/Settings.settings diff --git a/RQL/RESTProvider.vb b/LINQ/RQL/RESTProvider.vb similarity index 100% rename from RQL/RESTProvider.vb rename to LINQ/RQL/RESTProvider.vb diff --git a/RQL/RQL.vbproj b/LINQ/RQL/RQL.vbproj similarity index 97% rename from RQL/RQL.vbproj rename to LINQ/RQL/RQL.vbproj index 2d8cd16..660a568 100644 --- a/RQL/RQL.vbproj +++ b/LINQ/RQL/RQL.vbproj @@ -1,316 +1,316 @@ - - - - - Debug - AnyCPU - {BC922A27-9BC3-4E7E-BE3D-55FC03FB4160} - Library - sciBASIC.ComputingServices.RQL - sciBASIC#.ComputingServices.RQL - 512 - Windows - v4.8 - - - - true - full - true - true - ./bin - sciBASIC#.ComputingServices.RQL.xml - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - - - pdbonly - false - true - true - ./bin - sciBASIC#.ComputingServices.RQL.xml - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - - - On - - - Binary - - - Off - - - On - - - true - true - true - ..\..\..\..\GCModeller\bin\ - sciBASIC#.ComputingServices.RQL.xml - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - full - x64 - MinimumRecommendedRules.ruleset - - - true - ./bin - sciBASIC#.ComputingServices.RQL.xml - true - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - pdbonly - x64 - MinimumRecommendedRules.ruleset - - - true - ./bin - sciBASIC#.ComputingServices.RQL.xml - true - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - pdbonly - AnyCPU - MinimumRecommendedRules.ruleset - - - true - ./bin - sciBASIC#.ComputingServices.RQL.xml - true - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - pdbonly - x64 - MinimumRecommendedRules.ruleset - - - true - true - true - ./bin - sciBASIC#.ComputingServices.RQL.xml - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - full - x86 - MinimumRecommendedRules.ruleset - - - true - bin\x86\ - sciBASIC#.ComputingServices.RQL.xml - true - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - pdbonly - x86 - MinimumRecommendedRules.ruleset - - - true - ./bin - sciBASIC#.ComputingServices.RQL.xml - true - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - pdbonly - x86 - MinimumRecommendedRules.ruleset - - - true - ./bin - sciBASIC#.ComputingServices.RQL.xml - true - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - pdbonly - AnyCPU - MinimumRecommendedRules.ruleset - - - true - ./bin - sciBASIC#.ComputingServices.RQL.xml - true - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - pdbonly - x64 - MinimumRecommendedRules.ruleset - - - true - ./bin - sciBASIC#.ComputingServices.RQL.xml - true - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - pdbonly - x86 - MinimumRecommendedRules.ruleset - - - ./bin - sciBASIC#.ComputingServices.RQL.xml - - - ..\..\..\..\GCModeller\bin\ - sciBASIC#.ComputingServices.RQL.xml - true - true - full - true - x64 - - - ./bin - sciBASIC#.ComputingServices.RQL.xml - - - true - ./bin - sciBASIC#.ComputingServices.RQL.xml - true - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - pdbonly - AnyCPU - MinimumRecommendedRules.ruleset - - - true - ..\..\..\..\GCModeller\bin\ - sciBASIC#.ComputingServices.RQL.xml - true - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - pdbonly - x64 - MinimumRecommendedRules.ruleset - - - true - ./bin - sciBASIC#.ComputingServices.RQL.xml - true - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - pdbonly - x86 - MinimumRecommendedRules.ruleset - - - true - bin\Biostack\ - sciBASIC#.ComputingServices.RQL.xml - true - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - pdbonly - AnyCPU - MinimumRecommendedRules.ruleset - - - true - bin\x64\Biostack\ - sciBASIC#.ComputingServices.RQL.xml - true - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - pdbonly - x64 - MinimumRecommendedRules.ruleset - - - true - bin\x86\Biostack\ - sciBASIC#.ComputingServices.RQL.xml - true - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - pdbonly - x86 - MinimumRecommendedRules.ruleset - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - True - Application.myapp - - - True - True - Resources.resx - - - True - Settings.settings - True - - - - - - - - - VbMyResourcesResXFileCodeGenerator - Resources.Designer.vb - My.Resources - Designer - - - - - MyApplicationCodeGenerator - Application.Designer.vb - - - SettingsSingleFileGenerator - My - Settings.Designer.vb - - - - - {fbfc1455-b232-4f16-afc7-4054a8b864ab} - SMRUCC.WebCloud.HTTPInternal - - - {fecce1fd-e1d4-49e3-a668-60bb5e7aed99} - 47-dotnet_Microsoft.VisualBasic - - - {87383048-1b31-49b7-9fb7-0ded1b80ace8} - ComputingServices - - - {0a9b9fa6-e12d-48fd-b979-9f021a591e69} - LINQ - - - - + + + + + Debug + AnyCPU + {BC922A27-9BC3-4E7E-BE3D-55FC03FB4160} + Library + sciBASIC.ComputingServices.RQL + sciBASIC#.ComputingServices.RQL + 512 + Windows + v4.8 + + + + true + full + true + true + ./bin + sciBASIC#.ComputingServices.RQL.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + pdbonly + false + true + true + ./bin + sciBASIC#.ComputingServices.RQL.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + On + + + Binary + + + Off + + + On + + + true + true + true + ..\..\..\..\GCModeller\bin\ + sciBASIC#.ComputingServices.RQL.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + full + x64 + MinimumRecommendedRules.ruleset + + + true + ./bin + sciBASIC#.ComputingServices.RQL.xml + true + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + x64 + MinimumRecommendedRules.ruleset + + + true + ./bin + sciBASIC#.ComputingServices.RQL.xml + true + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + AnyCPU + MinimumRecommendedRules.ruleset + + + true + ./bin + sciBASIC#.ComputingServices.RQL.xml + true + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + x64 + MinimumRecommendedRules.ruleset + + + true + true + true + ./bin + sciBASIC#.ComputingServices.RQL.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + full + x86 + MinimumRecommendedRules.ruleset + + + true + bin\x86\ + sciBASIC#.ComputingServices.RQL.xml + true + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + x86 + MinimumRecommendedRules.ruleset + + + true + ./bin + sciBASIC#.ComputingServices.RQL.xml + true + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + x86 + MinimumRecommendedRules.ruleset + + + true + ./bin + sciBASIC#.ComputingServices.RQL.xml + true + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + AnyCPU + MinimumRecommendedRules.ruleset + + + true + ./bin + sciBASIC#.ComputingServices.RQL.xml + true + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + x64 + MinimumRecommendedRules.ruleset + + + true + ./bin + sciBASIC#.ComputingServices.RQL.xml + true + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + x86 + MinimumRecommendedRules.ruleset + + + ./bin + sciBASIC#.ComputingServices.RQL.xml + + + ..\..\..\..\GCModeller\bin\ + sciBASIC#.ComputingServices.RQL.xml + true + true + full + true + x64 + + + ./bin + sciBASIC#.ComputingServices.RQL.xml + + + true + ./bin + sciBASIC#.ComputingServices.RQL.xml + true + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + AnyCPU + MinimumRecommendedRules.ruleset + + + true + ..\..\..\..\GCModeller\bin\ + sciBASIC#.ComputingServices.RQL.xml + true + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + x64 + MinimumRecommendedRules.ruleset + + + true + ./bin + sciBASIC#.ComputingServices.RQL.xml + true + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + x86 + MinimumRecommendedRules.ruleset + + + true + bin\Biostack\ + sciBASIC#.ComputingServices.RQL.xml + true + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + AnyCPU + MinimumRecommendedRules.ruleset + + + true + bin\x64\Biostack\ + sciBASIC#.ComputingServices.RQL.xml + true + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + x64 + MinimumRecommendedRules.ruleset + + + true + bin\x86\Biostack\ + sciBASIC#.ComputingServices.RQL.xml + true + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + pdbonly + x86 + MinimumRecommendedRules.ruleset + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + True + Application.myapp + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + {fbfc1455-b232-4f16-afc7-4054a8b864ab} + SMRUCC.WebCloud.HTTPInternal + + + {fecce1fd-e1d4-49e3-a668-60bb5e7aed99} + 47-dotnet_Microsoft.VisualBasic + + + {87383048-1b31-49b7-9fb7-0ded1b80ace8} + ComputingServices + + + {0a9b9fa6-e12d-48fd-b979-9f021a591e69} + LINQ + + + + \ No newline at end of file diff --git a/RQL/Repository/LinqAPI.vb b/LINQ/RQL/Repository/LinqAPI.vb similarity index 100% rename from RQL/Repository/LinqAPI.vb rename to LINQ/RQL/Repository/LinqAPI.vb diff --git a/RQL/Repository/LinqEntry.vb b/LINQ/RQL/Repository/LinqEntry.vb similarity index 100% rename from RQL/Repository/LinqEntry.vb rename to LINQ/RQL/Repository/LinqEntry.vb diff --git a/RQL/Repository/Repository.vb b/LINQ/RQL/Repository/Repository.vb similarity index 100% rename from RQL/Repository/Repository.vb rename to LINQ/RQL/Repository/Repository.vb diff --git a/RQL/StorageTek/API.vb b/LINQ/RQL/StorageTek/API.vb similarity index 100% rename from RQL/StorageTek/API.vb rename to LINQ/RQL/StorageTek/API.vb diff --git a/RQL/StorageTek/EntityProvider.vb b/LINQ/RQL/StorageTek/EntityProvider.vb similarity index 100% rename from RQL/StorageTek/EntityProvider.vb rename to LINQ/RQL/StorageTek/EntityProvider.vb diff --git a/RQL/StorageTek/LinqSource.vb b/LINQ/RQL/StorageTek/LinqSource.vb similarity index 100% rename from RQL/StorageTek/LinqSource.vb rename to LINQ/RQL/StorageTek/LinqSource.vb diff --git a/RQL/StorageTek/StorageTeks.vb b/LINQ/RQL/StorageTek/StorageTeks.vb similarity index 100% rename from RQL/StorageTek/StorageTeks.vb rename to LINQ/RQL/StorageTek/StorageTeks.vb diff --git a/viz/ANNWebSocket/ANNWebSocket.vbproj b/viz/ANNWebSocket/ANNWebSocket.vbproj deleted file mode 100644 index 804d9db..0000000 --- a/viz/ANNWebSocket/ANNWebSocket.vbproj +++ /dev/null @@ -1,114 +0,0 @@ - - - - - Debug - AnyCPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A} - Library - ANNWebSocket - ANNWebSocket - 512 - Windows - v4.7 - true - - - true - full - true - true - bin\Debug\ - ANNWebSocket.xml - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - - - pdbonly - false - true - true - bin\Release\ - ANNWebSocket.xml - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - - - On - - - Binary - - - Off - - - On - - - - - - - - - - - - - - - - - - - - - - - - - - True - Application.myapp - - - True - True - Resources.resx - - - True - Settings.settings - True - - - - - VbMyResourcesResXFileCodeGenerator - Resources.Designer.vb - My.Resources - Designer - - - - - MyApplicationCodeGenerator - Application.Designer.vb - - - SettingsSingleFileGenerator - My - Settings.Designer.vb - - - - - {fbfc1455-b232-4f16-afc7-4054a8b864ab} - SMRUCC.WebCloud.HTTPInternal - - - {fecce1fd-e1d4-49e3-a668-60bb5e7aed99} - 47-dotnet_Microsoft.VisualBasic - - - - \ No newline at end of file diff --git a/viz/ANNWebSocket/My Project/Application.Designer.vb b/viz/ANNWebSocket/My Project/Application.Designer.vb deleted file mode 100644 index 88dd01c..0000000 --- a/viz/ANNWebSocket/My Project/Application.Designer.vb +++ /dev/null @@ -1,13 +0,0 @@ -'------------------------------------------------------------------------------ -' -' This code was generated by a tool. -' Runtime Version:4.0.30319.42000 -' -' Changes to this file may cause incorrect behavior and will be lost if -' the code is regenerated. -' -'------------------------------------------------------------------------------ - -Option Strict On -Option Explicit On - diff --git a/viz/ANNWebSocket/My Project/Application.myapp b/viz/ANNWebSocket/My Project/Application.myapp deleted file mode 100644 index 758895d..0000000 --- a/viz/ANNWebSocket/My Project/Application.myapp +++ /dev/null @@ -1,10 +0,0 @@ - - - false - false - 0 - true - 0 - 1 - true - diff --git a/viz/ANNWebSocket/My Project/AssemblyInfo.vb b/viz/ANNWebSocket/My Project/AssemblyInfo.vb deleted file mode 100644 index 0c399a6..0000000 --- a/viz/ANNWebSocket/My Project/AssemblyInfo.vb +++ /dev/null @@ -1,35 +0,0 @@ -Imports System -Imports System.Reflection -Imports System.Runtime.InteropServices - -' General Information about an assembly is controlled through the following -' set of attributes. Change these attribute values to modify the information -' associated with an assembly. - -' Review the values of the assembly attributes - - - - - - - - - - -'The following GUID is for the ID of the typelib if this project is exposed to COM - - -' Version information for an assembly consists of the following four values: -' -' Major Version -' Minor Version -' Build Number -' Revision -' -' You can specify all the values or you can default the Build and Revision Numbers -' by using the '*' as shown below: -' - - - diff --git a/viz/ANNWebSocket/My Project/Resources.Designer.vb b/viz/ANNWebSocket/My Project/Resources.Designer.vb deleted file mode 100644 index 48dacdf..0000000 --- a/viz/ANNWebSocket/My Project/Resources.Designer.vb +++ /dev/null @@ -1,62 +0,0 @@ -'------------------------------------------------------------------------------ -' -' This code was generated by a tool. -' Runtime Version:4.0.30319.42000 -' -' Changes to this file may cause incorrect behavior and will be lost if -' the code is regenerated. -' -'------------------------------------------------------------------------------ - -Option Strict On -Option Explicit On - - -Namespace My.Resources - - 'This class was auto-generated by the StronglyTypedResourceBuilder - 'class via a tool like ResGen or Visual Studio. - 'To add or remove a member, edit your .ResX file then rerun ResGen - 'with the /str option, or rebuild your VS project. - ''' - ''' A strongly-typed resource class, for looking up localized strings, etc. - ''' - _ - Friend Module Resources - - Private resourceMan As Global.System.Resources.ResourceManager - - Private resourceCulture As Global.System.Globalization.CultureInfo - - ''' - ''' Returns the cached ResourceManager instance used by this class. - ''' - _ - Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager - Get - If Object.ReferenceEquals(resourceMan, Nothing) Then - Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("ANNWebSocket.Resources", GetType(Resources).Assembly) - resourceMan = temp - End If - Return resourceMan - End Get - End Property - - ''' - ''' Overrides the current thread's CurrentUICulture property for all - ''' resource lookups using this strongly typed resource class. - ''' - _ - Friend Property Culture() As Global.System.Globalization.CultureInfo - Get - Return resourceCulture - End Get - Set(ByVal value As Global.System.Globalization.CultureInfo) - resourceCulture = value - End Set - End Property - End Module -End Namespace diff --git a/viz/ANNWebSocket/My Project/Resources.resx b/viz/ANNWebSocket/My Project/Resources.resx deleted file mode 100644 index af7dbeb..0000000 --- a/viz/ANNWebSocket/My Project/Resources.resx +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - \ No newline at end of file diff --git a/viz/ANNWebSocket/My Project/Settings.Designer.vb b/viz/ANNWebSocket/My Project/Settings.Designer.vb deleted file mode 100644 index c52cbb9..0000000 --- a/viz/ANNWebSocket/My Project/Settings.Designer.vb +++ /dev/null @@ -1,73 +0,0 @@ -'------------------------------------------------------------------------------ -' -' This code was generated by a tool. -' Runtime Version:4.0.30319.42000 -' -' Changes to this file may cause incorrect behavior and will be lost if -' the code is regenerated. -' -'------------------------------------------------------------------------------ - -Option Strict On -Option Explicit On - - -Namespace My - - _ - Partial Friend NotInheritable Class MySettings - Inherits Global.System.Configuration.ApplicationSettingsBase - - Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings), MySettings) - -#Region "My.Settings Auto-Save Functionality" -#If _MyType = "WindowsForms" Then - Private Shared addedHandler As Boolean - - Private Shared addedHandlerLockObject As New Object - - _ - Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs) - If My.Application.SaveMySettingsOnExit Then - My.Settings.Save() - End If - End Sub -#End If -#End Region - - Public Shared ReadOnly Property [Default]() As MySettings - Get - -#If _MyType = "WindowsForms" Then - If Not addedHandler Then - SyncLock addedHandlerLockObject - If Not addedHandler Then - AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings - addedHandler = True - End If - End SyncLock - End If -#End If - Return defaultInstance - End Get - End Property - End Class -End Namespace - -Namespace My - - _ - Friend Module MySettingsProperty - - _ - Friend ReadOnly Property Settings() As Global.ANNWebSocket.My.MySettings - Get - Return Global.ANNWebSocket.My.MySettings.Default - End Get - End Property - End Module -End Namespace diff --git a/viz/ANNWebSocket/My Project/Settings.settings b/viz/ANNWebSocket/My Project/Settings.settings deleted file mode 100644 index 85b890b..0000000 --- a/viz/ANNWebSocket/My Project/Settings.settings +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/viz/ANNWebSocket/Package.vb b/viz/ANNWebSocket/Package.vb deleted file mode 100644 index af6e01b..0000000 --- a/viz/ANNWebSocket/Package.vb +++ /dev/null @@ -1,53 +0,0 @@ -#Region "Microsoft.VisualBasic::a6e0eaa07a411bd6da9a774f6d39c219, viz\ANNWebSocket\Package.vb" - - ' Author: - ' - ' asuka (amethyst.asuka@gcmodeller.org) - ' xie (genetics@smrucc.org) - ' xieguigang (xie.guigang@live.com) - ' - ' Copyright (c) 2018 GPL3 Licensed - ' - ' - ' GNU GENERAL PUBLIC LICENSE (GPL3) - ' - ' - ' This program is free software: you can redistribute it and/or modify - ' it under the terms of the GNU General Public License as published by - ' the Free Software Foundation, either version 3 of the License, or - ' (at your option) any later version. - ' - ' This program is distributed in the hope that it will be useful, - ' but WITHOUT ANY WARRANTY; without even the implied warranty of - ' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - ' GNU General Public License for more details. - ' - ' You should have received a copy of the GNU General Public License - ' along with this program. If not, see . - - - - ' /********************************************************************************/ - - ' Summaries: - - ' Class Package - ' - ' Properties: [error], iteration - ' - ' /********************************************************************************/ - -#End Region - -Public Class Package - - ''' - ''' The error of fitting in current training iteration - ''' - ''' - Public Property [error] As Double - Public Property iteration As Integer - - -End Class - diff --git a/viz/ANN_viz.sln b/viz/ANN_viz.sln deleted file mode 100644 index 5c7c7bb..0000000 --- a/viz/ANN_viz.sln +++ /dev/null @@ -1,781 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.29009.5 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9092AA53-FB77-4645-B42D-1CCCA6BD08BD}") = "ANN_viz", "ANN_viz\ANN_viz.njsproj", "{51AB06D1-A085-4791-A39C-83CB8155A1B3}" -EndProject -Project("{9092AA53-FB77-4645-B42D-1CCCA6BD08BD}") = "Linq.ts", "ts\TsLinq\Linq.ts\Linq.ts.njsproj", "{E0AEC189-6D05-47E4-9F69-DAFE43AC8398}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "modules", "modules", "{7038E75A-1817-4F77-83BB-297312FC4011}" -EndProject -Project("{9092AA53-FB77-4645-B42D-1CCCA6BD08BD}") = "svg", "ts\TsLinq\svg\SVG\svg.njsproj", "{8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}" -EndProject -Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ANNWebSocket", "ANNWebSocket\ANNWebSocket.vbproj", "{8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WebSocket", "WebSocket", "{0EECFB6A-A9A5-484C-9457-817DFB9B894F}" -EndProject -Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "47-dotnet_Microsoft.VisualBasic", "..\..\sciBASIC#\Microsoft.VisualBasic.Core\src\47-dotnet_Microsoft.VisualBasic.vbproj"", "{FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}" -EndProject -Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "SMRUCC.WebCloud.HTTPInternal", "..\..\httpd\WebCloud\SMRUCC.HTTPInternal\SMRUCC.WebCloud.HTTPInternal.vbproj", "{FBFC1455-B232-4F16-AFC7-4054A8B864AB}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Biodeep_UNIX_x64|Any CPU = Biodeep_UNIX_x64|Any CPU - Biodeep_UNIX_x64|x64 = Biodeep_UNIX_x64|x64 - Biodeep_UNIX_x64|x86 = Biodeep_UNIX_x64|x86 - Biodeep|Any CPU = Biodeep|Any CPU - Biodeep|x64 = Biodeep|x64 - Biodeep|x86 = Biodeep|x86 - Biostack|Any CPU = Biostack|Any CPU - Biostack|x64 = Biostack|x64 - Biostack|x86 = Biostack|x86 - Biostack-Debug|Any CPU = Biostack-Debug|Any CPU - Biostack-Debug|x64 = Biostack-Debug|x64 - Biostack-Debug|x86 = Biostack-Debug|x86 - Debug|Any CPU = Debug|Any CPU - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - DEMO|Any CPU = DEMO|Any CPU - DEMO|x64 = DEMO|x64 - DEMO|x86 = DEMO|x86 - docs|Any CPU = docs|Any CPU - docs|x64 = docs|x64 - docs|x86 = docs|x86 - GCModeller(Release_X64)|Any CPU = GCModeller(Release_X64)|Any CPU - GCModeller(Release_X64)|x64 = GCModeller(Release_X64)|x64 - GCModeller(Release_X64)|x86 = GCModeller(Release_X64)|x86 - GCModeller(UNIX-Release_X64)|Any CPU = GCModeller(UNIX-Release_X64)|Any CPU - GCModeller(UNIX-Release_X64)|x64 = GCModeller(UNIX-Release_X64)|x64 - GCModeller(UNIX-Release_X64)|x86 = GCModeller(UNIX-Release_X64)|x86 - GTA5-game-test|Any CPU = GTA5-game-test|Any CPU - GTA5-game-test|x64 = GTA5-game-test|x64 - GTA5-game-test|x86 = GTA5-game-test|x86 - installer_x64|Any CPU = installer_x64|Any CPU - installer_x64|x64 = installer_x64|x64 - installer_x64|x86 = installer_x64|x86 - mysqli_X64_release|Any CPU = mysqli_X64_release|Any CPU - mysqli_X64_release|x64 = mysqli_X64_release|x64 - mysqli_X64_release|x86 = mysqli_X64_release|x86 - ProteoWizard.d|Any CPU = ProteoWizard.d|Any CPU - ProteoWizard.d|x64 = ProteoWizard.d|x64 - ProteoWizard.d|x86 = ProteoWizard.d|x86 - Publish|Any CPU = Publish|Any CPU - Publish|x64 = Publish|x64 - Publish|x86 = Publish|x86 - Release|Any CPU = Release|Any CPU - Release|x64 = Release|x64 - Release|x86 = Release|x86 - sciBASIC.NET-test-release|Any CPU = sciBASIC.NET-test-release|Any CPU - sciBASIC.NET-test-release|x64 = sciBASIC.NET-test-release|x64 - sciBASIC.NET-test-release|x86 = sciBASIC.NET-test-release|x86 - Surveillance-of-infectious-diseases|Any CPU = Surveillance-of-infectious-diseases|Any CPU - Surveillance-of-infectious-diseases|x64 = Surveillance-of-infectious-diseases|x64 - Surveillance-of-infectious-diseases|x86 = Surveillance-of-infectious-diseases|x86 - WebAssembly|Any CPU = WebAssembly|Any CPU - WebAssembly|x64 = WebAssembly|x64 - WebAssembly|x86 = WebAssembly|x86 - Yilia-Release_x64|Any CPU = Yilia-Release_x64|Any CPU - Yilia-Release_x64|x64 = Yilia-Release_x64|x64 - Yilia-Release_x64|x86 = Yilia-Release_x64|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Biodeep_UNIX_x64|Any CPU.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Biodeep_UNIX_x64|Any CPU.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Biodeep_UNIX_x64|x64.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Biodeep_UNIX_x64|x64.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Biodeep_UNIX_x64|x86.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Biodeep_UNIX_x64|x86.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Biodeep|Any CPU.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Biodeep|Any CPU.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Biodeep|x64.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Biodeep|x64.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Biodeep|x86.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Biodeep|x86.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Biostack|Any CPU.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Biostack|Any CPU.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Biostack|x64.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Biostack|x64.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Biostack|x86.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Biostack|x86.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Biostack-Debug|Any CPU.ActiveCfg = Debug|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Biostack-Debug|Any CPU.Build.0 = Debug|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Biostack-Debug|x64.ActiveCfg = Debug|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Biostack-Debug|x64.Build.0 = Debug|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Biostack-Debug|x86.ActiveCfg = Debug|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Biostack-Debug|x86.Build.0 = Debug|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Debug|Any CPU.Build.0 = Debug|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Debug|x64.ActiveCfg = Debug|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Debug|x64.Build.0 = Debug|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Debug|x86.ActiveCfg = Debug|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Debug|x86.Build.0 = Debug|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.DEMO|Any CPU.ActiveCfg = Debug|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.DEMO|Any CPU.Build.0 = Debug|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.DEMO|x64.ActiveCfg = Debug|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.DEMO|x64.Build.0 = Debug|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.DEMO|x86.ActiveCfg = Debug|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.DEMO|x86.Build.0 = Debug|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.docs|Any CPU.ActiveCfg = Debug|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.docs|Any CPU.Build.0 = Debug|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.docs|x64.ActiveCfg = Debug|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.docs|x64.Build.0 = Debug|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.docs|x86.ActiveCfg = Debug|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.docs|x86.Build.0 = Debug|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.GCModeller(Release_X64)|Any CPU.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.GCModeller(Release_X64)|Any CPU.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.GCModeller(Release_X64)|x64.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.GCModeller(Release_X64)|x64.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.GCModeller(Release_X64)|x86.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.GCModeller(Release_X64)|x86.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.GCModeller(UNIX-Release_X64)|Any CPU.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.GCModeller(UNIX-Release_X64)|Any CPU.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.GCModeller(UNIX-Release_X64)|x64.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.GCModeller(UNIX-Release_X64)|x64.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.GCModeller(UNIX-Release_X64)|x86.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.GCModeller(UNIX-Release_X64)|x86.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.GTA5-game-test|Any CPU.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.GTA5-game-test|Any CPU.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.GTA5-game-test|x64.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.GTA5-game-test|x64.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.GTA5-game-test|x86.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.GTA5-game-test|x86.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.installer_x64|Any CPU.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.installer_x64|Any CPU.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.installer_x64|x64.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.installer_x64|x64.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.installer_x64|x86.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.installer_x64|x86.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.mysqli_X64_release|Any CPU.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.mysqli_X64_release|Any CPU.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.mysqli_X64_release|x64.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.mysqli_X64_release|x64.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.mysqli_X64_release|x86.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.mysqli_X64_release|x86.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.ProteoWizard.d|Any CPU.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.ProteoWizard.d|Any CPU.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.ProteoWizard.d|x64.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.ProteoWizard.d|x64.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.ProteoWizard.d|x86.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.ProteoWizard.d|x86.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Publish|Any CPU.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Publish|Any CPU.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Publish|x64.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Publish|x64.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Publish|x86.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Publish|x86.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Release|Any CPU.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Release|Any CPU.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Release|x64.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Release|x64.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Release|x86.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Release|x86.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.sciBASIC.NET-test-release|Any CPU.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.sciBASIC.NET-test-release|Any CPU.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.sciBASIC.NET-test-release|x64.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.sciBASIC.NET-test-release|x64.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.sciBASIC.NET-test-release|x86.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.sciBASIC.NET-test-release|x86.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Surveillance-of-infectious-diseases|Any CPU.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Surveillance-of-infectious-diseases|Any CPU.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Surveillance-of-infectious-diseases|x64.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Surveillance-of-infectious-diseases|x64.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Surveillance-of-infectious-diseases|x86.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Surveillance-of-infectious-diseases|x86.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.WebAssembly|Any CPU.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.WebAssembly|Any CPU.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.WebAssembly|x64.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.WebAssembly|x64.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.WebAssembly|x86.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.WebAssembly|x86.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Yilia-Release_x64|Any CPU.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Yilia-Release_x64|Any CPU.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Yilia-Release_x64|x64.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Yilia-Release_x64|x64.Build.0 = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Yilia-Release_x64|x86.ActiveCfg = Release|Any CPU - {51AB06D1-A085-4791-A39C-83CB8155A1B3}.Yilia-Release_x64|x86.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Biodeep_UNIX_x64|Any CPU.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Biodeep_UNIX_x64|Any CPU.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Biodeep_UNIX_x64|x64.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Biodeep_UNIX_x64|x64.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Biodeep_UNIX_x64|x86.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Biodeep_UNIX_x64|x86.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Biodeep|Any CPU.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Biodeep|Any CPU.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Biodeep|x64.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Biodeep|x64.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Biodeep|x86.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Biodeep|x86.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Biostack|Any CPU.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Biostack|Any CPU.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Biostack|x64.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Biostack|x64.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Biostack|x86.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Biostack|x86.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Biostack-Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Biostack-Debug|Any CPU.Build.0 = Debug|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Biostack-Debug|x64.ActiveCfg = Debug|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Biostack-Debug|x64.Build.0 = Debug|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Biostack-Debug|x86.ActiveCfg = Debug|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Biostack-Debug|x86.Build.0 = Debug|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Debug|x64.ActiveCfg = Debug|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Debug|x64.Build.0 = Debug|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Debug|x86.ActiveCfg = Debug|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Debug|x86.Build.0 = Debug|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.DEMO|Any CPU.ActiveCfg = Debug|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.DEMO|Any CPU.Build.0 = Debug|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.DEMO|x64.ActiveCfg = Debug|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.DEMO|x64.Build.0 = Debug|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.DEMO|x86.ActiveCfg = Debug|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.DEMO|x86.Build.0 = Debug|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.docs|Any CPU.ActiveCfg = Debug|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.docs|Any CPU.Build.0 = Debug|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.docs|x64.ActiveCfg = Debug|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.docs|x64.Build.0 = Debug|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.docs|x86.ActiveCfg = Debug|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.docs|x86.Build.0 = Debug|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.GCModeller(Release_X64)|Any CPU.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.GCModeller(Release_X64)|Any CPU.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.GCModeller(Release_X64)|x64.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.GCModeller(Release_X64)|x64.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.GCModeller(Release_X64)|x86.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.GCModeller(Release_X64)|x86.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.GCModeller(UNIX-Release_X64)|Any CPU.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.GCModeller(UNIX-Release_X64)|Any CPU.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.GCModeller(UNIX-Release_X64)|x64.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.GCModeller(UNIX-Release_X64)|x64.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.GCModeller(UNIX-Release_X64)|x86.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.GCModeller(UNIX-Release_X64)|x86.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.GTA5-game-test|Any CPU.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.GTA5-game-test|Any CPU.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.GTA5-game-test|x64.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.GTA5-game-test|x64.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.GTA5-game-test|x86.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.GTA5-game-test|x86.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.installer_x64|Any CPU.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.installer_x64|Any CPU.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.installer_x64|x64.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.installer_x64|x64.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.installer_x64|x86.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.installer_x64|x86.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.mysqli_X64_release|Any CPU.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.mysqli_X64_release|Any CPU.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.mysqli_X64_release|x64.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.mysqli_X64_release|x64.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.mysqli_X64_release|x86.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.mysqli_X64_release|x86.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.ProteoWizard.d|Any CPU.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.ProteoWizard.d|Any CPU.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.ProteoWizard.d|x64.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.ProteoWizard.d|x64.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.ProteoWizard.d|x86.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.ProteoWizard.d|x86.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Publish|Any CPU.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Publish|Any CPU.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Publish|x64.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Publish|x64.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Publish|x86.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Publish|x86.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Release|Any CPU.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Release|x64.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Release|x64.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Release|x86.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Release|x86.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.sciBASIC.NET-test-release|Any CPU.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.sciBASIC.NET-test-release|Any CPU.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.sciBASIC.NET-test-release|x64.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.sciBASIC.NET-test-release|x64.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.sciBASIC.NET-test-release|x86.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.sciBASIC.NET-test-release|x86.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Surveillance-of-infectious-diseases|Any CPU.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Surveillance-of-infectious-diseases|Any CPU.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Surveillance-of-infectious-diseases|x64.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Surveillance-of-infectious-diseases|x64.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Surveillance-of-infectious-diseases|x86.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Surveillance-of-infectious-diseases|x86.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.WebAssembly|Any CPU.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.WebAssembly|Any CPU.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.WebAssembly|x64.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.WebAssembly|x64.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.WebAssembly|x86.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.WebAssembly|x86.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Yilia-Release_x64|Any CPU.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Yilia-Release_x64|Any CPU.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Yilia-Release_x64|x64.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Yilia-Release_x64|x64.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Yilia-Release_x64|x86.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Yilia-Release_x64|x86.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Biodeep_UNIX_x64|Any CPU.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Biodeep_UNIX_x64|Any CPU.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Biodeep_UNIX_x64|x64.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Biodeep_UNIX_x64|x64.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Biodeep_UNIX_x64|x86.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Biodeep_UNIX_x64|x86.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Biodeep|Any CPU.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Biodeep|Any CPU.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Biodeep|x64.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Biodeep|x64.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Biodeep|x86.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Biodeep|x86.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Biostack|Any CPU.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Biostack|Any CPU.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Biostack|x64.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Biostack|x64.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Biostack|x86.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Biostack|x86.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Biostack-Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Biostack-Debug|Any CPU.Build.0 = Debug|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Biostack-Debug|x64.ActiveCfg = Debug|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Biostack-Debug|x64.Build.0 = Debug|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Biostack-Debug|x86.ActiveCfg = Debug|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Biostack-Debug|x86.Build.0 = Debug|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Debug|x64.ActiveCfg = Debug|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Debug|x64.Build.0 = Debug|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Debug|x86.ActiveCfg = Debug|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Debug|x86.Build.0 = Debug|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.DEMO|Any CPU.ActiveCfg = Debug|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.DEMO|Any CPU.Build.0 = Debug|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.DEMO|x64.ActiveCfg = Debug|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.DEMO|x64.Build.0 = Debug|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.DEMO|x86.ActiveCfg = Debug|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.DEMO|x86.Build.0 = Debug|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.docs|Any CPU.ActiveCfg = Debug|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.docs|Any CPU.Build.0 = Debug|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.docs|x64.ActiveCfg = Debug|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.docs|x64.Build.0 = Debug|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.docs|x86.ActiveCfg = Debug|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.docs|x86.Build.0 = Debug|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.GCModeller(Release_X64)|Any CPU.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.GCModeller(Release_X64)|Any CPU.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.GCModeller(Release_X64)|x64.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.GCModeller(Release_X64)|x64.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.GCModeller(Release_X64)|x86.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.GCModeller(Release_X64)|x86.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.GCModeller(UNIX-Release_X64)|Any CPU.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.GCModeller(UNIX-Release_X64)|Any CPU.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.GCModeller(UNIX-Release_X64)|x64.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.GCModeller(UNIX-Release_X64)|x64.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.GCModeller(UNIX-Release_X64)|x86.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.GCModeller(UNIX-Release_X64)|x86.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.GTA5-game-test|Any CPU.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.GTA5-game-test|Any CPU.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.GTA5-game-test|x64.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.GTA5-game-test|x64.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.GTA5-game-test|x86.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.GTA5-game-test|x86.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.installer_x64|Any CPU.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.installer_x64|Any CPU.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.installer_x64|x64.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.installer_x64|x64.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.installer_x64|x86.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.installer_x64|x86.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.mysqli_X64_release|Any CPU.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.mysqli_X64_release|Any CPU.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.mysqli_X64_release|x64.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.mysqli_X64_release|x64.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.mysqli_X64_release|x86.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.mysqli_X64_release|x86.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.ProteoWizard.d|Any CPU.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.ProteoWizard.d|Any CPU.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.ProteoWizard.d|x64.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.ProteoWizard.d|x64.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.ProteoWizard.d|x86.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.ProteoWizard.d|x86.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Publish|Any CPU.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Publish|Any CPU.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Publish|x64.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Publish|x64.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Publish|x86.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Publish|x86.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Release|Any CPU.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Release|x64.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Release|x64.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Release|x86.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Release|x86.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.sciBASIC.NET-test-release|Any CPU.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.sciBASIC.NET-test-release|Any CPU.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.sciBASIC.NET-test-release|x64.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.sciBASIC.NET-test-release|x64.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.sciBASIC.NET-test-release|x86.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.sciBASIC.NET-test-release|x86.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Surveillance-of-infectious-diseases|Any CPU.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Surveillance-of-infectious-diseases|Any CPU.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Surveillance-of-infectious-diseases|x64.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Surveillance-of-infectious-diseases|x64.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Surveillance-of-infectious-diseases|x86.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Surveillance-of-infectious-diseases|x86.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.WebAssembly|Any CPU.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.WebAssembly|Any CPU.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.WebAssembly|x64.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.WebAssembly|x64.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.WebAssembly|x86.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.WebAssembly|x86.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Yilia-Release_x64|Any CPU.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Yilia-Release_x64|Any CPU.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Yilia-Release_x64|x64.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Yilia-Release_x64|x64.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Yilia-Release_x64|x86.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Yilia-Release_x64|x86.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Biodeep_UNIX_x64|Any CPU.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Biodeep_UNIX_x64|Any CPU.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Biodeep_UNIX_x64|x64.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Biodeep_UNIX_x64|x64.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Biodeep_UNIX_x64|x86.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Biodeep_UNIX_x64|x86.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Biodeep|Any CPU.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Biodeep|Any CPU.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Biodeep|x64.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Biodeep|x64.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Biodeep|x86.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Biodeep|x86.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Biostack|Any CPU.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Biostack|Any CPU.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Biostack|x64.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Biostack|x64.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Biostack|x86.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Biostack|x86.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Biostack-Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Biostack-Debug|Any CPU.Build.0 = Debug|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Biostack-Debug|x64.ActiveCfg = Debug|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Biostack-Debug|x64.Build.0 = Debug|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Biostack-Debug|x86.ActiveCfg = Debug|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Biostack-Debug|x86.Build.0 = Debug|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Debug|x64.ActiveCfg = Debug|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Debug|x64.Build.0 = Debug|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Debug|x86.ActiveCfg = Debug|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Debug|x86.Build.0 = Debug|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.DEMO|Any CPU.ActiveCfg = Debug|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.DEMO|Any CPU.Build.0 = Debug|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.DEMO|x64.ActiveCfg = Debug|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.DEMO|x64.Build.0 = Debug|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.DEMO|x86.ActiveCfg = Debug|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.DEMO|x86.Build.0 = Debug|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.docs|Any CPU.ActiveCfg = Debug|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.docs|Any CPU.Build.0 = Debug|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.docs|x64.ActiveCfg = Debug|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.docs|x64.Build.0 = Debug|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.docs|x86.ActiveCfg = Debug|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.docs|x86.Build.0 = Debug|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.GCModeller(Release_X64)|Any CPU.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.GCModeller(Release_X64)|Any CPU.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.GCModeller(Release_X64)|x64.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.GCModeller(Release_X64)|x64.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.GCModeller(Release_X64)|x86.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.GCModeller(Release_X64)|x86.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.GCModeller(UNIX-Release_X64)|Any CPU.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.GCModeller(UNIX-Release_X64)|Any CPU.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.GCModeller(UNIX-Release_X64)|x64.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.GCModeller(UNIX-Release_X64)|x64.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.GCModeller(UNIX-Release_X64)|x86.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.GCModeller(UNIX-Release_X64)|x86.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.GTA5-game-test|Any CPU.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.GTA5-game-test|Any CPU.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.GTA5-game-test|x64.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.GTA5-game-test|x64.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.GTA5-game-test|x86.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.GTA5-game-test|x86.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.installer_x64|Any CPU.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.installer_x64|Any CPU.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.installer_x64|x64.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.installer_x64|x64.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.installer_x64|x86.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.installer_x64|x86.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.mysqli_X64_release|Any CPU.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.mysqli_X64_release|Any CPU.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.mysqli_X64_release|x64.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.mysqli_X64_release|x64.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.mysqli_X64_release|x86.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.mysqli_X64_release|x86.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.ProteoWizard.d|Any CPU.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.ProteoWizard.d|Any CPU.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.ProteoWizard.d|x64.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.ProteoWizard.d|x64.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.ProteoWizard.d|x86.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.ProteoWizard.d|x86.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Publish|Any CPU.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Publish|Any CPU.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Publish|x64.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Publish|x64.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Publish|x86.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Publish|x86.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Release|Any CPU.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Release|x64.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Release|x64.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Release|x86.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Release|x86.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.sciBASIC.NET-test-release|Any CPU.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.sciBASIC.NET-test-release|Any CPU.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.sciBASIC.NET-test-release|x64.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.sciBASIC.NET-test-release|x64.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.sciBASIC.NET-test-release|x86.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.sciBASIC.NET-test-release|x86.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Surveillance-of-infectious-diseases|Any CPU.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Surveillance-of-infectious-diseases|Any CPU.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Surveillance-of-infectious-diseases|x64.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Surveillance-of-infectious-diseases|x64.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Surveillance-of-infectious-diseases|x86.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Surveillance-of-infectious-diseases|x86.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.WebAssembly|Any CPU.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.WebAssembly|Any CPU.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.WebAssembly|x64.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.WebAssembly|x64.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.WebAssembly|x86.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.WebAssembly|x86.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Yilia-Release_x64|Any CPU.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Yilia-Release_x64|Any CPU.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Yilia-Release_x64|x64.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Yilia-Release_x64|x64.Build.0 = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Yilia-Release_x64|x86.ActiveCfg = Release|Any CPU - {8EF9671C-E401-42C1-8A2C-53DE21CBFF2A}.Yilia-Release_x64|x86.Build.0 = Release|Any CPU - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Biodeep_UNIX_x64|Any CPU.ActiveCfg = Biodeep_UNIX_x64|Any CPU - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Biodeep_UNIX_x64|Any CPU.Build.0 = Biodeep_UNIX_x64|Any CPU - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Biodeep_UNIX_x64|x64.ActiveCfg = Biodeep_UNIX_x64|x64 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Biodeep_UNIX_x64|x64.Build.0 = Biodeep_UNIX_x64|x64 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Biodeep_UNIX_x64|x86.ActiveCfg = Biodeep_UNIX_x64|x86 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Biodeep_UNIX_x64|x86.Build.0 = Biodeep_UNIX_x64|x86 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Biodeep|Any CPU.ActiveCfg = Biodeep|Any CPU - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Biodeep|Any CPU.Build.0 = Biodeep|Any CPU - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Biodeep|x64.ActiveCfg = Biodeep|x64 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Biodeep|x64.Build.0 = Biodeep|x64 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Biodeep|x86.ActiveCfg = Biodeep|x86 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Biodeep|x86.Build.0 = Biodeep|x86 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Biostack|Any CPU.ActiveCfg = Biostack|Any CPU - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Biostack|Any CPU.Build.0 = Biostack|Any CPU - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Biostack|x64.ActiveCfg = Biostack|x64 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Biostack|x64.Build.0 = Biostack|x64 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Biostack|x86.ActiveCfg = Biostack|x86 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Biostack|x86.Build.0 = Biostack|x86 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Biostack-Debug|Any CPU.ActiveCfg = Biostack-Debug|Any CPU - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Biostack-Debug|Any CPU.Build.0 = Biostack-Debug|Any CPU - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Biostack-Debug|x64.ActiveCfg = Biostack-Debug|x64 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Biostack-Debug|x64.Build.0 = Biostack-Debug|x64 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Biostack-Debug|x86.ActiveCfg = Biostack-Debug|x86 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Biostack-Debug|x86.Build.0 = Biostack-Debug|x86 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Debug|Any CPU.Build.0 = Debug|Any CPU - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Debug|x64.ActiveCfg = Debug|x64 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Debug|x64.Build.0 = Debug|x64 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Debug|x86.ActiveCfg = Debug|x86 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Debug|x86.Build.0 = Debug|x86 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.DEMO|Any CPU.ActiveCfg = DEMO|Any CPU - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.DEMO|Any CPU.Build.0 = DEMO|Any CPU - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.DEMO|x64.ActiveCfg = DEMO|x64 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.DEMO|x64.Build.0 = DEMO|x64 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.DEMO|x86.ActiveCfg = DEMO|x86 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.DEMO|x86.Build.0 = DEMO|x86 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.docs|Any CPU.ActiveCfg = docs|Any CPU - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.docs|Any CPU.Build.0 = docs|Any CPU - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.docs|x64.ActiveCfg = docs|x64 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.docs|x64.Build.0 = docs|x64 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.docs|x86.ActiveCfg = docs|x86 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.docs|x86.Build.0 = docs|x86 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.GCModeller(Release_X64)|Any CPU.ActiveCfg = GCModeller(Release_X64)|Any CPU - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.GCModeller(Release_X64)|Any CPU.Build.0 = GCModeller(Release_X64)|Any CPU - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.GCModeller(Release_X64)|x64.ActiveCfg = GCModeller(Release_X64)|x64 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.GCModeller(Release_X64)|x64.Build.0 = GCModeller(Release_X64)|x64 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.GCModeller(Release_X64)|x86.ActiveCfg = GCModeller(Release_X64)|x86 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.GCModeller(Release_X64)|x86.Build.0 = GCModeller(Release_X64)|x86 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.GCModeller(UNIX-Release_X64)|Any CPU.ActiveCfg = GCModeller(UNIX-Release_X64)|Any CPU - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.GCModeller(UNIX-Release_X64)|Any CPU.Build.0 = GCModeller(UNIX-Release_X64)|Any CPU - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.GCModeller(UNIX-Release_X64)|x64.ActiveCfg = GCModeller(UNIX-Release_X64)|x64 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.GCModeller(UNIX-Release_X64)|x64.Build.0 = GCModeller(UNIX-Release_X64)|x64 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.GCModeller(UNIX-Release_X64)|x86.ActiveCfg = GCModeller(UNIX-Release_X64)|x86 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.GCModeller(UNIX-Release_X64)|x86.Build.0 = GCModeller(UNIX-Release_X64)|x86 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.GTA5-game-test|Any CPU.ActiveCfg = GTA5-game-test|Any CPU - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.GTA5-game-test|Any CPU.Build.0 = GTA5-game-test|Any CPU - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.GTA5-game-test|x64.ActiveCfg = GTA5-game-test|x64 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.GTA5-game-test|x64.Build.0 = GTA5-game-test|x64 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.GTA5-game-test|x86.ActiveCfg = GTA5-game-test|x86 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.GTA5-game-test|x86.Build.0 = GTA5-game-test|x86 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.installer_x64|Any CPU.ActiveCfg = installer_x64|Any CPU - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.installer_x64|Any CPU.Build.0 = installer_x64|Any CPU - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.installer_x64|x64.ActiveCfg = installer_x64|x64 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.installer_x64|x64.Build.0 = installer_x64|x64 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.installer_x64|x86.ActiveCfg = installer_x64|x86 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.installer_x64|x86.Build.0 = installer_x64|x86 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.mysqli_X64_release|Any CPU.ActiveCfg = mysqli_X64_release|Any CPU - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.mysqli_X64_release|Any CPU.Build.0 = mysqli_X64_release|Any CPU - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.mysqli_X64_release|x64.ActiveCfg = mysqli_X64_release|x64 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.mysqli_X64_release|x64.Build.0 = mysqli_X64_release|x64 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.mysqli_X64_release|x86.ActiveCfg = mysqli_X64_release|x86 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.mysqli_X64_release|x86.Build.0 = mysqli_X64_release|x86 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.ProteoWizard.d|Any CPU.ActiveCfg = ProteoWizard.d|Any CPU - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.ProteoWizard.d|Any CPU.Build.0 = ProteoWizard.d|Any CPU - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.ProteoWizard.d|x64.ActiveCfg = ProteoWizard.d|x64 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.ProteoWizard.d|x64.Build.0 = ProteoWizard.d|x64 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.ProteoWizard.d|x86.ActiveCfg = ProteoWizard.d|x86 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.ProteoWizard.d|x86.Build.0 = ProteoWizard.d|x86 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Publish|Any CPU.ActiveCfg = Publish|Any CPU - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Publish|Any CPU.Build.0 = Publish|Any CPU - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Publish|x64.ActiveCfg = Publish|x64 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Publish|x64.Build.0 = Publish|x64 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Publish|x86.ActiveCfg = Publish|x86 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Publish|x86.Build.0 = Publish|x86 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Release|Any CPU.ActiveCfg = Release|Any CPU - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Release|Any CPU.Build.0 = Release|Any CPU - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Release|x64.ActiveCfg = Release|x64 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Release|x64.Build.0 = Release|x64 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Release|x86.ActiveCfg = Release|x86 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Release|x86.Build.0 = Release|x86 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.sciBASIC.NET-test-release|Any CPU.ActiveCfg = sciBASIC.NET-test-release|Any CPU - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.sciBASIC.NET-test-release|Any CPU.Build.0 = sciBASIC.NET-test-release|Any CPU - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.sciBASIC.NET-test-release|x64.ActiveCfg = sciBASIC.NET-test-release|x64 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.sciBASIC.NET-test-release|x64.Build.0 = sciBASIC.NET-test-release|x64 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.sciBASIC.NET-test-release|x86.ActiveCfg = sciBASIC.NET-test-release|x86 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.sciBASIC.NET-test-release|x86.Build.0 = sciBASIC.NET-test-release|x86 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Surveillance-of-infectious-diseases|Any CPU.ActiveCfg = Surveillance-of-infectious-diseases|Any CPU - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Surveillance-of-infectious-diseases|Any CPU.Build.0 = Surveillance-of-infectious-diseases|Any CPU - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Surveillance-of-infectious-diseases|x64.ActiveCfg = Surveillance-of-infectious-diseases|x64 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Surveillance-of-infectious-diseases|x64.Build.0 = Surveillance-of-infectious-diseases|x64 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Surveillance-of-infectious-diseases|x86.ActiveCfg = Surveillance-of-infectious-diseases|x86 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Surveillance-of-infectious-diseases|x86.Build.0 = Surveillance-of-infectious-diseases|x86 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.WebAssembly|Any CPU.ActiveCfg = WebAssembly|Any CPU - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.WebAssembly|Any CPU.Build.0 = WebAssembly|Any CPU - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.WebAssembly|x64.ActiveCfg = WebAssembly|x64 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.WebAssembly|x64.Build.0 = WebAssembly|x64 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.WebAssembly|x86.ActiveCfg = WebAssembly|x86 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.WebAssembly|x86.Build.0 = WebAssembly|x86 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Yilia-Release_x64|Any CPU.ActiveCfg = Yilia-Release_x64|Any CPU - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Yilia-Release_x64|Any CPU.Build.0 = Yilia-Release_x64|Any CPU - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Yilia-Release_x64|x64.ActiveCfg = Yilia-Release_x64|x64 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Yilia-Release_x64|x64.Build.0 = Yilia-Release_x64|x64 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Yilia-Release_x64|x86.ActiveCfg = Yilia-Release_x64|x86 - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99}.Yilia-Release_x64|x86.Build.0 = Yilia-Release_x64|x86 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Biodeep_UNIX_x64|Any CPU.ActiveCfg = Biodeep|Any CPU - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Biodeep_UNIX_x64|Any CPU.Build.0 = Biodeep|Any CPU - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Biodeep_UNIX_x64|x64.ActiveCfg = Biodeep|x64 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Biodeep_UNIX_x64|x64.Build.0 = Biodeep|x64 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Biodeep_UNIX_x64|x86.ActiveCfg = Biodeep|x86 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Biodeep_UNIX_x64|x86.Build.0 = Biodeep|x86 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Biodeep|Any CPU.ActiveCfg = Biodeep|Any CPU - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Biodeep|Any CPU.Build.0 = Biodeep|Any CPU - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Biodeep|x64.ActiveCfg = Biodeep|x64 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Biodeep|x64.Build.0 = Biodeep|x64 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Biodeep|x86.ActiveCfg = Biodeep|x86 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Biodeep|x86.Build.0 = Biodeep|x86 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Biostack|Any CPU.ActiveCfg = Biostack|Any CPU - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Biostack|Any CPU.Build.0 = Biostack|Any CPU - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Biostack|x64.ActiveCfg = Biostack|x64 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Biostack|x64.Build.0 = Biostack|x64 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Biostack|x86.ActiveCfg = Biostack|x86 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Biostack|x86.Build.0 = Biostack|x86 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Biostack-Debug|Any CPU.ActiveCfg = Biostack-Debug|Any CPU - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Biostack-Debug|Any CPU.Build.0 = Biostack-Debug|Any CPU - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Biostack-Debug|x64.ActiveCfg = Biostack-Debug|x64 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Biostack-Debug|x64.Build.0 = Biostack-Debug|x64 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Biostack-Debug|x86.ActiveCfg = Biostack-Debug|x86 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Biostack-Debug|x86.Build.0 = Biostack-Debug|x86 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Debug|Any CPU.Build.0 = Debug|Any CPU - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Debug|x64.ActiveCfg = Debug|x64 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Debug|x64.Build.0 = Debug|x64 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Debug|x86.ActiveCfg = Debug|x86 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Debug|x86.Build.0 = Debug|x86 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.DEMO|Any CPU.ActiveCfg = DEMO|Any CPU - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.DEMO|Any CPU.Build.0 = DEMO|Any CPU - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.DEMO|x64.ActiveCfg = DEMO|x64 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.DEMO|x64.Build.0 = DEMO|x64 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.DEMO|x86.ActiveCfg = DEMO|x86 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.DEMO|x86.Build.0 = DEMO|x86 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.docs|Any CPU.ActiveCfg = docs|Any CPU - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.docs|Any CPU.Build.0 = docs|Any CPU - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.docs|x64.ActiveCfg = docs|x64 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.docs|x64.Build.0 = docs|x64 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.docs|x86.ActiveCfg = docs|x86 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.docs|x86.Build.0 = docs|x86 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.GCModeller(Release_X64)|Any CPU.ActiveCfg = GCModeller(Release_X64)|Any CPU - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.GCModeller(Release_X64)|Any CPU.Build.0 = GCModeller(Release_X64)|Any CPU - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.GCModeller(Release_X64)|x64.ActiveCfg = GCModeller(Release_X64)|x64 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.GCModeller(Release_X64)|x64.Build.0 = GCModeller(Release_X64)|x64 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.GCModeller(Release_X64)|x86.ActiveCfg = GCModeller(Release_X64)|x86 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.GCModeller(Release_X64)|x86.Build.0 = GCModeller(Release_X64)|x86 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.GCModeller(UNIX-Release_X64)|Any CPU.ActiveCfg = GCModeller(UNIX-Release_X64)|Any CPU - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.GCModeller(UNIX-Release_X64)|Any CPU.Build.0 = GCModeller(UNIX-Release_X64)|Any CPU - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.GCModeller(UNIX-Release_X64)|x64.ActiveCfg = GCModeller(UNIX-Release_X64)|x64 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.GCModeller(UNIX-Release_X64)|x64.Build.0 = GCModeller(UNIX-Release_X64)|x64 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.GCModeller(UNIX-Release_X64)|x86.ActiveCfg = GCModeller(UNIX-Release_X64)|x86 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.GCModeller(UNIX-Release_X64)|x86.Build.0 = GCModeller(UNIX-Release_X64)|x86 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.GTA5-game-test|Any CPU.ActiveCfg = GCModeller(UNIX-Release_X64)|Any CPU - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.GTA5-game-test|Any CPU.Build.0 = GCModeller(UNIX-Release_X64)|Any CPU - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.GTA5-game-test|x64.ActiveCfg = GCModeller(UNIX-Release_X64)|x64 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.GTA5-game-test|x64.Build.0 = GCModeller(UNIX-Release_X64)|x64 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.GTA5-game-test|x86.ActiveCfg = GCModeller(UNIX-Release_X64)|x86 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.GTA5-game-test|x86.Build.0 = GCModeller(UNIX-Release_X64)|x86 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.installer_x64|Any CPU.ActiveCfg = installer_x64|Any CPU - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.installer_x64|Any CPU.Build.0 = installer_x64|Any CPU - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.installer_x64|x64.ActiveCfg = installer_x64|x64 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.installer_x64|x64.Build.0 = installer_x64|x64 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.installer_x64|x86.ActiveCfg = installer_x64|x86 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.installer_x64|x86.Build.0 = installer_x64|x86 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.mysqli_X64_release|Any CPU.ActiveCfg = Biostack|Any CPU - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.mysqli_X64_release|Any CPU.Build.0 = Biostack|Any CPU - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.mysqli_X64_release|x64.ActiveCfg = Biostack|x64 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.mysqli_X64_release|x64.Build.0 = Biostack|x64 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.mysqli_X64_release|x86.ActiveCfg = Biostack|x86 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.mysqli_X64_release|x86.Build.0 = Biostack|x86 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.ProteoWizard.d|Any CPU.ActiveCfg = ProteoWizard.d|Any CPU - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.ProteoWizard.d|Any CPU.Build.0 = ProteoWizard.d|Any CPU - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.ProteoWizard.d|x64.ActiveCfg = ProteoWizard.d|x64 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.ProteoWizard.d|x64.Build.0 = ProteoWizard.d|x64 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.ProteoWizard.d|x86.ActiveCfg = ProteoWizard.d|x86 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.ProteoWizard.d|x86.Build.0 = ProteoWizard.d|x86 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Publish|Any CPU.ActiveCfg = Publish|Any CPU - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Publish|Any CPU.Build.0 = Publish|Any CPU - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Publish|x64.ActiveCfg = Publish|x64 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Publish|x64.Build.0 = Publish|x64 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Publish|x86.ActiveCfg = Publish|x86 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Publish|x86.Build.0 = Publish|x86 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Release|Any CPU.ActiveCfg = Release|Any CPU - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Release|Any CPU.Build.0 = Release|Any CPU - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Release|x64.ActiveCfg = Release|x64 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Release|x64.Build.0 = Release|x64 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Release|x86.ActiveCfg = Release|x86 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Release|x86.Build.0 = Release|x86 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.sciBASIC.NET-test-release|Any CPU.ActiveCfg = Surveillance-of-infectious-diseases|Any CPU - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.sciBASIC.NET-test-release|Any CPU.Build.0 = Surveillance-of-infectious-diseases|Any CPU - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.sciBASIC.NET-test-release|x64.ActiveCfg = Surveillance-of-infectious-diseases|x64 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.sciBASIC.NET-test-release|x64.Build.0 = Surveillance-of-infectious-diseases|x64 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.sciBASIC.NET-test-release|x86.ActiveCfg = Surveillance-of-infectious-diseases|x86 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.sciBASIC.NET-test-release|x86.Build.0 = Surveillance-of-infectious-diseases|x86 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Surveillance-of-infectious-diseases|Any CPU.ActiveCfg = Surveillance-of-infectious-diseases|Any CPU - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Surveillance-of-infectious-diseases|Any CPU.Build.0 = Surveillance-of-infectious-diseases|Any CPU - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Surveillance-of-infectious-diseases|x64.ActiveCfg = Surveillance-of-infectious-diseases|x64 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Surveillance-of-infectious-diseases|x64.Build.0 = Surveillance-of-infectious-diseases|x64 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Surveillance-of-infectious-diseases|x86.ActiveCfg = Surveillance-of-infectious-diseases|x86 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Surveillance-of-infectious-diseases|x86.Build.0 = Surveillance-of-infectious-diseases|x86 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.WebAssembly|Any CPU.ActiveCfg = Biostack|Any CPU - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.WebAssembly|Any CPU.Build.0 = Biostack|Any CPU - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.WebAssembly|x64.ActiveCfg = Biostack|x64 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.WebAssembly|x64.Build.0 = Biostack|x64 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.WebAssembly|x86.ActiveCfg = Biostack|x86 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.WebAssembly|x86.Build.0 = Biostack|x86 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Yilia-Release_x64|Any CPU.ActiveCfg = Yilia-Release_x64|Any CPU - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Yilia-Release_x64|Any CPU.Build.0 = Yilia-Release_x64|Any CPU - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Yilia-Release_x64|x64.ActiveCfg = Yilia-Release_x64|x64 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Yilia-Release_x64|x64.Build.0 = Yilia-Release_x64|x64 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Yilia-Release_x64|x86.ActiveCfg = Yilia-Release_x64|x86 - {FBFC1455-B232-4F16-AFC7-4054A8B864AB}.Yilia-Release_x64|x86.Build.0 = Yilia-Release_x64|x86 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398} = {7038E75A-1817-4F77-83BB-297312FC4011} - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A} = {7038E75A-1817-4F77-83BB-297312FC4011} - {0EECFB6A-A9A5-484C-9457-817DFB9B894F} = {7038E75A-1817-4F77-83BB-297312FC4011} - {FECCE1FD-E1D4-49E3-A668-60BB5E7AED99} = {0EECFB6A-A9A5-484C-9457-817DFB9B894F} - {FBFC1455-B232-4F16-AFC7-4054A8B864AB} = {0EECFB6A-A9A5-484C-9457-817DFB9B894F} - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {249A7DE1-B8FE-42CD-93AB-BA597D724972} - EndGlobalSection -EndGlobal diff --git a/viz/ANN_viz/ANN_viz.njsproj b/viz/ANN_viz/ANN_viz.njsproj deleted file mode 100644 index 4826a72..0000000 --- a/viz/ANN_viz/ANN_viz.njsproj +++ /dev/null @@ -1,93 +0,0 @@ - - - 14.0 - $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) - ANN_viz - ANN_viz - - - - Debug - 2.0 - 51ab06d1-a085-4791-a39c-83cb8155a1b3 - . - app.ts - False - - - . - . - v4.0 - {3AF33F2E-1136-4D97-BBB7-1795711AC8B8};{9092AA53-FB77-4645-B42D-1CCCA6BD08BD} - true - CommonJS - 2.9 - true - false - - - true - - - true - - - - - - - - Code - - - Code - - - Code - - - - - - - - - - - - - False - True - 0 - / - http://localhost:48022/ - False - True - http://localhost:1337 - False - - - - - - - CurrentPage - True - False - False - False - - - - - - - - - False - False - - - - - \ No newline at end of file diff --git a/viz/ANN_viz/README.md b/viz/ANN_viz/README.md deleted file mode 100644 index b5d9738..0000000 --- a/viz/ANN_viz/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# ANN_viz - - diff --git a/viz/ANN_viz/app.ts b/viz/ANN_viz/app.ts deleted file mode 100644 index 75a2b87..0000000 --- a/viz/ANN_viz/app.ts +++ /dev/null @@ -1,2 +0,0 @@ -/// -/// \ No newline at end of file diff --git a/viz/ANN_viz/package-lock.json b/viz/ANN_viz/package-lock.json deleted file mode 100644 index 9a691c6..0000000 --- a/viz/ANN_viz/package-lock.json +++ /dev/null @@ -1,247 +0,0 @@ -{ - "name": "ann_viz", - "version": "0.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@types/d3": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/@types/d3/-/d3-5.7.2.tgz", - "integrity": "sha512-7/wClB8ycneWGy3jdvLfXKTd5SoTg9hji7IdJ0RuO9xTY54YpJ8zlcFADcXhY1J3kCBwxp+/1jeN6a5OMwgYOw==", - "requires": { - "@types/d3-array": "1.2.7", - "@types/d3-axis": "1.0.12", - "@types/d3-brush": "1.0.10", - "@types/d3-chord": "1.0.9", - "@types/d3-collection": "1.0.8", - "@types/d3-color": "1.2.2", - "@types/d3-contour": "1.3.0", - "@types/d3-dispatch": "1.0.7", - "@types/d3-drag": "1.2.3", - "@types/d3-dsv": "1.0.36", - "@types/d3-ease": "1.0.8", - "@types/d3-fetch": "1.1.5", - "@types/d3-force": "1.2.1", - "@types/d3-format": "1.3.1", - "@types/d3-geo": "1.11.1", - "@types/d3-hierarchy": "1.1.6", - "@types/d3-interpolate": "1.3.1", - "@types/d3-path": "1.0.8", - "@types/d3-polygon": "1.0.7", - "@types/d3-quadtree": "1.0.7", - "@types/d3-random": "1.1.2", - "@types/d3-scale": "2.1.1", - "@types/d3-scale-chromatic": "1.3.1", - "@types/d3-selection": "1.4.1", - "@types/d3-shape": "1.3.1", - "@types/d3-time": "1.0.10", - "@types/d3-time-format": "2.1.1", - "@types/d3-timer": "1.0.9", - "@types/d3-transition": "1.1.4", - "@types/d3-voronoi": "1.1.9", - "@types/d3-zoom": "1.7.4" - } - }, - "@types/d3-array": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-1.2.7.tgz", - "integrity": "sha512-51vHWuUyDOi+8XuwPrTw3cFqyh2Slg9y8COYkRfjCPG9TfYqY0hoNPzv/8BrcAy0FeQBzqEo/D/8Nk2caOQJnA==" - }, - "@types/d3-axis": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/@types/d3-axis/-/d3-axis-1.0.12.tgz", - "integrity": "sha512-BZISgSD5M8TgURyNtcPAmUB9sk490CO1Thb6/gIn0WZTt3Y50IssX+2Z0vTccoqZksUDTep0b+o4ofXslvNbqg==", - "requires": { - "@types/d3-selection": "1.4.1" - } - }, - "@types/d3-brush": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/@types/d3-brush/-/d3-brush-1.0.10.tgz", - "integrity": "sha512-J8jREATIrfJaAfhJivqaEKPnJsRlwwrOPje+ABqZFgamADjll+q9zaDXnYyjiGPPsiJEU+Qq9jQi5rECxIOfhg==", - "requires": { - "@types/d3-selection": "1.4.1" - } - }, - "@types/d3-chord": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@types/d3-chord/-/d3-chord-1.0.9.tgz", - "integrity": "sha512-UA6lI9CVW5cT5Ku/RV4hxoFn4mKySHm7HEgodtfRthAj1lt9rKZEPon58vyYfk+HIAm33DtJJgZwMXy2QgyPXw==" - }, - "@types/d3-collection": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/d3-collection/-/d3-collection-1.0.8.tgz", - "integrity": "sha512-y5lGlazdc0HNO0F3UUX2DPE7OmYvd9Kcym4hXwrJcNUkDaypR5pX+apuMikl9LfTxKItJsY9KYvzBulpCKyvuQ==" - }, - "@types/d3-color": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-1.2.2.tgz", - "integrity": "sha512-6pBxzJ8ZP3dYEQ4YjQ+NVbQaOflfgXq/JbDiS99oLobM2o72uAST4q6yPxHv6FOTCRC/n35ktuo8pvw/S4M7sw==" - }, - "@types/d3-contour": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@types/d3-contour/-/d3-contour-1.3.0.tgz", - "integrity": "sha512-AUCUIjEnC5lCGBM9hS+MryRaFLIrPls4Rbv6ktqbd+TK/RXZPwOy9rtBWmGpbeXcSOYCJTUDwNJuEnmYPJRxHQ==", - "requires": { - "@types/d3-array": "1.2.7", - "@types/geojson": "7946.0.7" - } - }, - "@types/d3-dispatch": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@types/d3-dispatch/-/d3-dispatch-1.0.7.tgz", - "integrity": "sha512-M+z84G7UKwK6hEPnGCSccOg8zJ3Nk2hgDQ9sCstHXgsFU0sMxlIZVKqKB5oxUDbALqQG6ucg0G9e8cmOSlishg==" - }, - "@types/d3-drag": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@types/d3-drag/-/d3-drag-1.2.3.tgz", - "integrity": "sha512-rWB5SPvkYVxW3sqUxHOJUZwifD0KqvKwvt1bhNqcLpW6Azsd0BJgRNcyVW8GAferaAk5r8dzeZnf9zKlg9+xMQ==", - "requires": { - "@types/d3-selection": "1.4.1" - } - }, - "@types/d3-dsv": { - "version": "1.0.36", - "resolved": "https://registry.npmjs.org/@types/d3-dsv/-/d3-dsv-1.0.36.tgz", - "integrity": "sha512-jbIWQ27QJcBNMZbQv0NSQMHnBDCmxghAxePxgyiPH1XPCRkOsTBei7jcdi3fDrUCGpCV3lKrSZFSlOkhUQVClA==" - }, - "@types/d3-ease": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-1.0.8.tgz", - "integrity": "sha512-VRf8czVWHSJPoUWxMunzpePK02//wHDAswknU8QWzcyrQn6pqe46bHRYi2smSpw5VjsT2CG8k/QeWIdWPS3Bmg==" - }, - "@types/d3-fetch": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@types/d3-fetch/-/d3-fetch-1.1.5.tgz", - "integrity": "sha512-o9c0ItT5/Gl3wbNuVpzRnYX1t3RghzeWAjHUVLuyZJudiTxC4f/fC0ZPFWLQ2lVY8pAMmxpV8TJ6ETYCgPeI3A==", - "requires": { - "@types/d3-dsv": "1.0.36" - } - }, - "@types/d3-force": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@types/d3-force/-/d3-force-1.2.1.tgz", - "integrity": "sha512-jqK+I36uz4kTBjyk39meed5y31Ab+tXYN/x1dn3nZEus9yOHCLc+VrcIYLc/aSQ0Y7tMPRlIhLetulME76EiiA==" - }, - "@types/d3-format": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@types/d3-format/-/d3-format-1.3.1.tgz", - "integrity": "sha512-KAWvReOKMDreaAwOjdfQMm0HjcUMlQG47GwqdVKgmm20vTd2pucj0a70c3gUSHrnsmo6H2AMrkBsZU2UhJLq8A==" - }, - "@types/d3-geo": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@types/d3-geo/-/d3-geo-1.11.1.tgz", - "integrity": "sha512-Ox8WWOG3igDRoep/dNsGbOiSJYdUG3ew/6z0ETvHyAtXZVBjOE0S96zSSmzgl0gqQ3RdZjn2eeJOj9oRcMZPkQ==", - "requires": { - "@types/geojson": "7946.0.7" - } - }, - "@types/d3-hierarchy": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/@types/d3-hierarchy/-/d3-hierarchy-1.1.6.tgz", - "integrity": "sha512-vvSaIDf/Ov0o3KwMT+1M8+WbnnlRiGjlGD5uvk83a1mPCTd/E5x12bUJ/oP55+wUY/4Kb5kc67rVpVGJ2KUHxg==" - }, - "@types/d3-interpolate": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-1.3.1.tgz", - "integrity": "sha512-z8Zmi08XVwe8e62vP6wcA+CNuRhpuUU5XPEfqpG0hRypDE5BWNthQHB1UNWWDB7ojCbGaN4qBdsWp5kWxhT1IQ==", - "requires": { - "@types/d3-color": "1.2.2" - } - }, - "@types/d3-path": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-1.0.8.tgz", - "integrity": "sha512-AZGHWslq/oApTAHu9+yH/Bnk63y9oFOMROtqPAtxl5uB6qm1x2lueWdVEjsjjV3Qc2+QfuzKIwIR5MvVBakfzA==" - }, - "@types/d3-polygon": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@types/d3-polygon/-/d3-polygon-1.0.7.tgz", - "integrity": "sha512-Xuw0eSjQQKs8jTiNbntWH0S+Xp+JyhqxmQ0YAQ3rDu6c3kKMFfgsaGN7Jv5u3zG6yVX/AsLP/Xs/QRjmi9g43Q==" - }, - "@types/d3-quadtree": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@types/d3-quadtree/-/d3-quadtree-1.0.7.tgz", - "integrity": "sha512-0ajFawWicfjsaCLh6NzxOyVDYhQAmMFbsiI3MPGLInorauHFEh9/Cl6UHNf+kt/J1jfoxKY/ZJaKAoDpbvde5Q==" - }, - "@types/d3-random": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@types/d3-random/-/d3-random-1.1.2.tgz", - "integrity": "sha512-Jui+Zn28pQw/3EayPKaN4c/PqTvqNbIPjHkgIIFnxne1FdwNjfHtAIsZIBMKlquQNrrMjFzCrlF2gPs3xckqaA==" - }, - "@types/d3-scale": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-2.1.1.tgz", - "integrity": "sha512-kNTkbZQ+N/Ip8oX9PByXfDLoCSaZYm+VUOasbmsa6KD850/ziMdYepg/8kLg2plHzoLANdMqPoYQbvExevLUHg==", - "requires": { - "@types/d3-time": "1.0.10" - } - }, - "@types/d3-scale-chromatic": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-1.3.1.tgz", - "integrity": "sha512-Ny3rLbV5tnmqgW7w/poCcef4kXP8mHPo/p8EjTS5d9OUk8MlqAeRaM8eF7Vyv7QMLiIXNE94Pa1cMLSPkXQBoQ==" - }, - "@types/d3-selection": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@types/d3-selection/-/d3-selection-1.4.1.tgz", - "integrity": "sha512-bv8IfFYo/xG6dxri9OwDnK3yCagYPeRIjTlrcdYJSx+FDWlCeBDepIHUpqROmhPtZ53jyna0aUajZRk0I3rXNA==" - }, - "@types/d3-shape": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-1.3.1.tgz", - "integrity": "sha512-usqdvUvPJ7AJNwpd2drOzRKs1ELie53p2m2GnPKr076/ADM579jVTJ5dPsoZ5E/CMNWk8lvPWYQSvilpp6jjwg==", - "requires": { - "@types/d3-path": "1.0.8" - } - }, - "@types/d3-time": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-1.0.10.tgz", - "integrity": "sha512-aKf62rRQafDQmSiv1NylKhIMmznsjRN+MnXRXTqHoqm0U/UZzVpdrtRnSIfdiLS616OuC1soYeX1dBg2n1u8Xw==" - }, - "@types/d3-time-format": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@types/d3-time-format/-/d3-time-format-2.1.1.tgz", - "integrity": "sha512-tJSyXta8ZyJ52wDDHA96JEsvkbL6jl7wowGmuf45+fAkj5Y+SQOnz0N7/H68OWmPshPsAaWMQh+GAws44IzH3g==" - }, - "@types/d3-timer": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-1.0.9.tgz", - "integrity": "sha512-WvfJ3LFxBbWjqRGz9n7GJt08RrTHPJDVsIwwoCMROlqF+iDacYiAFjf9oqnq0mXpb2juA2N/qjKP+MKdal3YNQ==" - }, - "@types/d3-transition": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@types/d3-transition/-/d3-transition-1.1.4.tgz", - "integrity": "sha512-/vsmKVUIXEyCcIXYAlw7bnYkIs9/J/nZbptRJFKUN3FdXq/dF6j9z9xXzerkyU6TDHLrMrwx9eGwdKyTIy/j9w==", - "requires": { - "@types/d3-selection": "1.4.1" - } - }, - "@types/d3-voronoi": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/@types/d3-voronoi/-/d3-voronoi-1.1.9.tgz", - "integrity": "sha512-DExNQkaHd1F3dFPvGA/Aw2NGyjMln6E9QzsiqOcBgnE+VInYnFBHBBySbZQts6z6xD+5jTfKCP7M4OqMyVjdwQ==" - }, - "@types/d3-zoom": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@types/d3-zoom/-/d3-zoom-1.7.4.tgz", - "integrity": "sha512-5jnFo/itYhJeB2khO/lKe730kW/h2EbKMOvY0uNp3+7NdPm4w63DwPEMxifQZ7n902xGYK5DdU67FmToSoy4VA==", - "requires": { - "@types/d3-interpolate": "1.3.1", - "@types/d3-selection": "1.4.1" - } - }, - "@types/geojson": { - "version": "7946.0.7", - "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.7.tgz", - "integrity": "sha512-wE2v81i4C4Ol09RtsWFAqg3BUitWbHSpSlIo+bNdsCJijO9sjme+zm+73ZMCa/qMC8UEERxzGbvmr1cffo2SiQ==" - }, - "@types/node": { - "version": "8.10.49", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.49.tgz", - "integrity": "sha512-YX30JVx0PvSmJ3Eqr74fYLGeBxD+C7vIL20ek+GGGLJeUbVYRUW3EzyAXpIRA0K8c8o0UWqR/GwEFYiFoz1T8w==", - "dev": true - } - } -} diff --git a/viz/ANN_viz/package.json b/viz/ANN_viz/package.json deleted file mode 100644 index c18bf54..0000000 --- a/viz/ANN_viz/package.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "ann_viz", - "version": "0.0.0", - "description": "ANN_viz", - "main": "app.js", - "author": { - "name": "" - }, - "devDependencies": { - "@types/node": "^8.0.14" - }, - "dependencies": { - "@types/d3": "^5.7.2" - } -} diff --git a/viz/ANN_viz/tsconfig.json b/viz/ANN_viz/tsconfig.json deleted file mode 100644 index 8767d20..0000000 --- a/viz/ANN_viz/tsconfig.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "compilerOptions": { - "module": "amd", - "target": "es5", - "lib": [ "dom", "es5", "dom.iterable", "scripthost" ], - "sourceMap": true, - "allowSyntheticDefaultImports": true, - "outDir": "../dist", - "outFile": "../../build/ANN_d3viz.js", - "declaration": true - }, - "exclude": [ - "node_modules" - ] -} diff --git a/viz/ANN_viz/types/AreaChart.ts b/viz/ANN_viz/types/AreaChart.ts deleted file mode 100644 index 996c29f..0000000 --- a/viz/ANN_viz/types/AreaChart.ts +++ /dev/null @@ -1,8 +0,0 @@ -/// - -namespace viz { - - export class areaChart extends chart { - - } -} \ No newline at end of file diff --git a/viz/ANN_viz/types/D3Chart.ts b/viz/ANN_viz/types/D3Chart.ts deleted file mode 100644 index ce63c2f..0000000 --- a/viz/ANN_viz/types/D3Chart.ts +++ /dev/null @@ -1,18 +0,0 @@ -namespace viz { - - export abstract class chart { - - public constructor( - public displayId: string, - public size: Canvas.Size | [number, number] = [900, 600], - public margin: Canvas.Margin = new Canvas.Margin(20, 20, 30, 30)) { - - if (Array.isArray(size)) { - this.size = new Canvas.Size(size[0], size[1]); - } else { - this.size = size; - } - } - - } -} \ No newline at end of file diff --git a/viz/ANN_viz/types/LineChart.ts b/viz/ANN_viz/types/LineChart.ts deleted file mode 100644 index f1ea502..0000000 --- a/viz/ANN_viz/types/LineChart.ts +++ /dev/null @@ -1,7 +0,0 @@ -namespace viz { - - export class lineChart { - - - } -} \ No newline at end of file diff --git a/viz/test/3DApp.d.ts b/viz/test/3DApp.d.ts deleted file mode 100644 index adc8b6d..0000000 --- a/viz/test/3DApp.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -declare class threeApp { - container: HTMLDivElement; - camera: THREE.PerspectiveCamera; - scene: THREE.Scene; - renderer: THREE.CanvasRenderer; - group: THREE.Group; - mouseX: number; - mouseY: number; - windowHalfX: number; - windowHalfY: number; - constructor(containerId?: string); - init(): void; - onWindowResize(): void; - onDocumentMouseMove(event: MouseEvent): void; - animate(): void; - render(): void; -} diff --git a/viz/test/3DApp.js b/viz/test/3DApp.js deleted file mode 100644 index 95d18e1..0000000 --- a/viz/test/3DApp.js +++ /dev/null @@ -1,80 +0,0 @@ -var threeApp = /** @class */ (function () { - function threeApp(containerId) { - if (containerId === void 0) { containerId = null; } - this.mouseX = 0; - this.mouseY = 0; - this.windowHalfX = window.innerWidth / 2; - this.windowHalfY = window.innerHeight / 2; - var app = this; - this.container = document.createElement('div'); - document.addEventListener('mousemove', function (event) { - app.onDocumentMouseMove(event); - }, false); - window.addEventListener('resize', function () { - app.onWindowResize(); - }, false); - if (containerId) { - document.getElementById(containerId).appendChild(this.container); - } - else { - document.body.appendChild(this.container); - } - this.init(); - this.animate(); - } - threeApp.prototype.init = function () { - this.camera = new THREE.PerspectiveCamera(60, window.innerWidth / window.innerHeight, 1, 10000); - this.camera.position.z = 500; - this.scene = new THREE.Scene(); - this.scene.background = new THREE.Color(0xffffff); - var geometry = new THREE.BoxBufferGeometry(100, 100, 100); - var material = new THREE.MeshNormalMaterial({ overdraw: 0.5 }); - this.group = new THREE.Group(); - for (var i = 0; i < 200; i++) { - var mesh = new THREE.Mesh(geometry, material); - mesh.position.x = Math.random() * 2000 - 1000; - mesh.position.y = Math.random() * 2000 - 1000; - mesh.position.z = Math.random() * 2000 - 1000; - mesh.rotation.x = Math.random() * 2 * Math.PI; - mesh.rotation.y = Math.random() * 2 * Math.PI; - mesh.matrixAutoUpdate = false; - mesh.updateMatrix(); - this.group.add(mesh); - } - this.scene.add(this.group); - this.renderer = new THREE.CanvasRenderer(); - this.renderer.setPixelRatio(window.devicePixelRatio); - this.renderer.setSize(window.innerWidth, window.innerHeight); - this.container.appendChild(this.renderer.domElement); - }; - threeApp.prototype.onWindowResize = function () { - this.windowHalfX = window.innerWidth / 2; - this.windowHalfY = window.innerHeight / 2; - this.camera.aspect = window.innerWidth / window.innerHeight; - this.camera.updateProjectionMatrix(); - this.renderer.setSize(window.innerWidth, window.innerHeight); - }; - threeApp.prototype.onDocumentMouseMove = function (event) { - this.mouseX = (event.clientX - this.windowHalfX) * 10; - this.mouseY = (event.clientY - this.windowHalfY) * 10; - }; - threeApp.prototype.animate = function () { - var app = this; - requestAnimationFrame(function () { - app.animate(); - }); - this.render(); - }; - threeApp.prototype.render = function () { - this.camera.position.x += (this.mouseX - this.camera.position.x) * .05; - this.camera.position.y += (-this.mouseY - this.camera.position.y) * .05; - this.camera.lookAt(this.scene.position); - var currentSeconds = Date.now(); - this.group.rotation.x = Math.sin(currentSeconds * 0.0007) * 0.5; - this.group.rotation.y = Math.sin(currentSeconds * 0.0003) * 0.5; - this.group.rotation.z = Math.sin(currentSeconds * 0.0002) * 0.5; - this.renderer.render(this.scene, this.camera); - }; - return threeApp; -}()); -//# sourceMappingURL=3DApp.js.map \ No newline at end of file diff --git a/viz/test/3DApp.js.map b/viz/test/3DApp.js.map deleted file mode 100644 index 253c84c..0000000 --- a/viz/test/3DApp.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"3DApp.js","sourceRoot":"","sources":["treeTest/3DApp.ts"],"names":[],"mappings":"AAAA;IAgBI,kBAAmB,WAA0B;QAA1B,4BAAA,EAAA,kBAA0B;QANtC,WAAM,GAAG,CAAC,CAAC;QACX,WAAM,GAAG,CAAC,CAAC;QAEX,gBAAW,GAAG,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;QACpC,gBAAW,GAAG,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC;QAGxC,IAAI,GAAG,GAAG,IAAI,CAAC;QAEf,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAE/C,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,UAAU,KAAK;YAClD,GAAG,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC,EAAE,KAAK,CAAC,CAAC;QAEV,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE;YAC9B,GAAG,CAAC,cAAc,EAAE,CAAC;QACzB,CAAC,EAAE,KAAK,CAAC,CAAC;QAEV,IAAI,WAAW,EAAE;YACb,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACpE;aAAM;YACH,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC7C;QAED,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC;IAED,uBAAI,GAAJ;QACI,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,CAAC,iBAAiB,CAAC,EAAE,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QAChG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC;QAE7B,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAElD,IAAI,QAAQ,GAAG,IAAI,KAAK,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1D,IAAI,QAAQ,GAAG,IAAI,KAAK,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;QAE/D,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;YAE1B,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC9C,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;YAC9C,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;YAC9C,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;YAC9C,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SAExB;QAED,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE3B,IAAI,CAAC,QAAQ,GAAG,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;QAC3C,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACrD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAC7D,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACzD,CAAC;IAED,iCAAc,GAAd;QAEI,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC;QAE1C,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC;QAErC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAEjE,CAAC;IAED,sCAAmB,GAAnB,UAAoB,KAAiB;QAEjC,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;QACtD,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;IAE1D,CAAC;IAED,0BAAO,GAAP;QACI,IAAI,GAAG,GAAG,IAAI,CAAC;QAEf,qBAAqB,CAAC;YAClB,GAAG,CAAC,OAAO,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAED,yBAAM,GAAN;QAEI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACvE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QAC1E,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAExC,IAAI,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;QAChE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;QAChE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;QAEhE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAElD,CAAC;IACL,eAAC;AAAD,CAAC,AApHD,IAoHC"} \ No newline at end of file diff --git a/viz/test/CanvasRenderer.min.js b/viz/test/CanvasRenderer.min.js deleted file mode 100644 index 9d11b1f..0000000 --- a/viz/test/CanvasRenderer.min.js +++ /dev/null @@ -1 +0,0 @@ -THREE.SpriteCanvasMaterial=function(a){THREE.Material.call(this);this.type="SpriteCanvasMaterial";this.color=new THREE.Color(16777215);this.program=function(){};this.setValues(a)};THREE.SpriteCanvasMaterial.prototype=Object.create(THREE.Material.prototype);THREE.SpriteCanvasMaterial.prototype.constructor=THREE.SpriteCanvasMaterial;THREE.SpriteCanvasMaterial.prototype.isSpriteCanvasMaterial=true;THREE.SpriteCanvasMaterial.prototype.clone=function(){var a=new THREE.SpriteCanvasMaterial();a.copy(this);a.color.copy(this.color);a.program=this.program;return a};THREE.CanvasRenderer=function(B){console.log("THREE.CanvasRenderer",THREE.REVISION);B=B||{};var t=this,y,C,n,a=new THREE.Projector(),i=B.canvas!==undefined?B.canvas:document.createElement("canvas"),w=i.width,am=i.height,X=Math.floor(w/2),F=Math.floor(am/2),c=0,b=0,ao=w,v=am,U=1,f=i.getContext("2d",{alpha:B.alpha===true}),D=new THREE.Color(0),ai=B.alpha===true?0:1,an=1,ak=0,u=null,aj=null,H=null,l=null,ah=null,K=[],W,V,S,s,r,e,d,av,at,h=new THREE.Color(),Q=new THREE.Color(),p=new THREE.Color(),ae=new THREE.Color(),E={},k,au,aq,af,ad,N,M,ax=new THREE.Box2(),q=new THREE.Box2(),x=new THREE.Box2(),ap=new THREE.Color(),z=new THREE.Color(),T=new THREE.Color(),m=new THREE.Vector3(),ay=new THREE.Vector3(),P=new THREE.Vector3(),J=new THREE.Matrix3();if(f.setLineDash===undefined){f.setLineDash=function(){}}this.domElement=i;this.autoClear=true;this.sortObjects=true;this.sortElements=true;this.info={render:{vertices:0,faces:0}};this.getContext=function(){return f};this.getContextAttributes=function(){return f.getContextAttributes()};this.getPixelRatio=function(){return U};this.setPixelRatio=function(aA){if(aA!==undefined){U=aA}};this.setSize=function(aB,aA,aC){w=aB*U;am=aA*U;i.width=w;i.height=am;X=Math.floor(w/2);F=Math.floor(am/2);if(aC!==false){i.style.width=aB+"px";i.style.height=aA+"px"}ax.min.set(-X,-F);ax.max.set(X,F);q.min.set(-X,-F);q.max.set(X,F);an=1;ak=0;u=null;aj=null;H=null;l=null;ah=null;this.setViewport(0,0,aB,aA)};this.setViewport=function(aB,aD,aC,aA){c=aB*U;b=aD*U;ao=aC*U;v=aA*U};this.setScissor=function(){};this.setScissorTest=function(){};this.setClearColor=function(aA,aB){D.set(aA);ai=aB!==undefined?aB:1;q.min.set(-X,-F);q.max.set(X,F)};this.setClearColorHex=function(aA,aB){console.warn("THREE.CanvasRenderer: .setClearColorHex() is being removed. Use .setClearColor() instead.");this.setClearColor(aA,aB)};this.getClearColor=function(){return D};this.getClearAlpha=function(){return ai};this.getMaxAnisotropy=function(){return 0};this.clear=function(){if(q.isEmpty()===false){q.intersect(ax);q.expandByScalar(2);q.min.x=q.min.x+X;q.min.y=-q.min.y+F;q.max.x=q.max.x+X;q.max.y=-q.max.y+F;if(ai<1){f.clearRect(q.min.x|0,q.max.y|0,(q.max.x-q.min.x)|0,(q.min.y-q.max.y)|0)}if(ai>0){A(1);aa(THREE.NormalBlending);Y("rgba("+Math.floor(D.r*255)+","+Math.floor(D.g*255)+","+Math.floor(D.b*255)+","+ai+")");f.fillRect(q.min.x|0,q.max.y|0,(q.max.x-q.min.x)|0,(q.min.y-q.max.y)|0)}q.makeEmpty()}};this.clearColor=function(){};this.clearDepth=function(){};this.clearStencil=function(){};this.render=function(aG,aE){if(aE.isCamera===undefined){console.error("THREE.CanvasRenderer.render: camera is not an instance of THREE.Camera.");return}var aB=aG.background;if(aB&&aB.isColor){A(1);aa(THREE.NormalBlending);Y(aB.getStyle());f.fillRect(0,0,w,am)}else{if(this.autoClear===true){this.clear()}}t.info.render.vertices=0;t.info.render.faces=0;f.setTransform(ao/w,0,0,-v/am,c,am-b);f.translate(X,F);y=a.projectScene(aG,aE,this.sortObjects,this.sortElements);C=y.elements;n=y.lights;J.getNormalMatrix(aE.matrixWorldInverse);ac();for(var aF=0,aD=C.length;aF1){continue}if(V.positionScreen.z<-1||V.positionScreen.z>1){continue}if(S.positionScreen.z<-1||S.positionScreen.z>1){continue}W.positionScreen.x*=X;W.positionScreen.y*=F;V.positionScreen.x*=X;V.positionScreen.y*=F;S.positionScreen.x*=X;S.positionScreen.y*=F;if(aC.overdraw>0){Z(W.positionScreen,V.positionScreen,aC.overdraw);Z(V.positionScreen,S.positionScreen,aC.overdraw);Z(S.positionScreen,W.positionScreen,aC.overdraw)}x.setFromPoints([W.positionScreen,V.positionScreen,S.positionScreen]);if(ax.intersectsBox(x)===true){az(W,V,S,0,1,2,aA,aC)}}}}q.union(x)}f.setTransform(1,0,0,1,0,0)};function ac(){ap.setRGB(0,0,0);z.setRGB(0,0,0);T.setRGB(0,0,0);for(var aC=0,aD=n.length;aC=-1&&al.x<=1&&al.y>=-1&&al.y<=1&&al.z>=-1&&al.z<=1}function V(ak,am,al){x=v();x.position.set(ak,am,al);ae(x)}function Y(ak,am,al){ah.push(ak,am,al)}function ai(am,al,ak){W.push(am,al,ak)}function X(ak,al){ad.push(ak,al)}function aa(am,al,ak){if(am.visible===true||al.visible===true||ak.visible===true){return true}N[0]=am.positionScreen;N[1]=al.positionScreen;N[2]=ak.positionScreen;return s.intersectsBox(T.setFromPoints(N))}function ag(am,al,ak){return((ak.positionScreen.x-am.positionScreen.x)*(al.positionScreen.y-am.positionScreen.y)-(ak.positionScreen.y-am.positionScreen.y)*(al.positionScreen.x-am.positionScreen.x))<0}function aj(al,ak){var an=f[al];var am=f[ak];an.positionScreen.copy(an.position).applyMatrix4(E);am.positionScreen.copy(am.position).applyMatrix4(E);if(y(an.positionScreen,am.positionScreen)===true){an.positionScreen.multiplyScalar(1/an.positionScreen.w);am.positionScreen.multiplyScalar(1/am.positionScreen.w);i=H();i.id=ac.id;i.v1.copy(an);i.v2.copy(am);i.z=Math.max(an.positionScreen.z,am.positionScreen.z);i.renderOrder=ac.renderOrder;i.material=ac.material;if(ac.material.vertexColors===THREE.VertexColors){i.vertexColors[0].fromArray(W,al*3);i.vertexColors[1].fromArray(W,ak*3)}K.elements.push(i)}}function U(at,aq,ao,an){var au=f[at];var ar=f[aq];var ap=f[ao];if(aa(au,ar,ap)===false){return}if(an.side===THREE.DoubleSide||ag(au,ar,ap)===true){m=l();m.id=ac.id;m.v1.copy(au);m.v2.copy(ar);m.v3.copy(ap);m.z=(au.positionScreen.z+ar.positionScreen.z+ap.positionScreen.z)/3;m.renderOrder=ac.renderOrder;L.subVectors(ap.position,ar.position);J.subVectors(au.position,ar.position);L.cross(J);m.normalModel.copy(L);m.normalModel.applyMatrix3(ab).normalize();for(var al=0;al<3;al++){var am=m.vertexNormalsModel[al];am.fromArray(ah,arguments[al]*3);am.applyMatrix3(ab).normalize();var ak=m.uvs[al];ak.fromArray(ad,arguments[al]*2)}m.vertexNormalsLength=3;m.material=an;if(an.vertexColors===THREE.FaceColors){m.color.fromArray(W,at*3)}K.elements.push(m)}}return{setObject:Z,projectVertex:ae,checkTriangleVisibility:aa,checkBackfaceCulling:ag,pushVertex:V,pushNormal:Y,pushColor:ai,pushUv:X,pushLine:aj,pushTriangle:U}};var G=new d();function D(V){if(V.visible===false){return}if(V instanceof THREE.Light){K.lights.push(V)}else{if(V instanceof THREE.Mesh||V instanceof THREE.Line||V instanceof THREE.Points){if(V.material.visible===false){return}if(V.frustumCulled===true&&P.intersectsObject(V)===false){return}w(V)}else{if(V instanceof THREE.Sprite){if(V.material.visible===false){return}if(V.frustumCulled===true&&P.intersectsSprite(V)===false){return}w(V)}}}var X=V.children;for(var W=0,U=X.length;W0){for(var aP=0;aP0){for(var aP=0;aP0){continue}aT=f[c-2];t.copy(aV.positionScreen);h.copy(aT.positionScreen);if(y(t,h)===true){t.multiplyScalar(1/t.w);h.multiplyScalar(1/h.w);i=H();i.id=aD.id;i.v1.positionScreen.copy(t);i.v2.positionScreen.copy(h);i.z=Math.max(t.z,h.z);i.renderOrder=aD.renderOrder;i.material=aD.material;if(aD.material.vertexColors===THREE.VertexColors){i.vertexColors[0].copy(aD.geometry.colors[aE]);i.vertexColors[1].copy(aD.geometry.colors[aE-1])}K.elements.push(i)}}}}}else{if(aD instanceof THREE.Points){E.multiplyMatrices(g,B);if(ae instanceof THREE.Geometry){var W=aD.geometry.vertices;for(var aE=0,ah=W.length;aE=-1&&U.z<=1){A=k();A.id=V.id;A.x=U.x*X;A.y=U.y*X;A.z=U.z;A.renderOrder=V.renderOrder;A.object=V;A.rotation=V.rotation;A.scale.x=V.scale.x*Math.abs(A.x-(U.x+W.projectionMatrix.elements[0])/(U.w+W.projectionMatrix.elements[12]));A.scale.y=V.scale.y*Math.abs(A.y-(U.y+W.projectionMatrix.elements[5])/(U.w+W.projectionMatrix.elements[13]));A.material=V.material;K.elements.push(A)}}function n(){if(F===o){var U=new THREE.RenderableObject();M.push(U);o++;F++;return U}return M[F++]}function v(){if(c===b){var U=new THREE.RenderableVertex();f.push(U);b++;c++;return U}return f[c++]}function l(){if(C===z){var U=new THREE.RenderableFace();I.push(U);z++;C++;return U}return I[C++]}function H(){if(O===u){var U=new THREE.RenderableLine();Q.push(U);u++;O++;return U}return Q[O++]}function k(){if(r===R){var U=new THREE.RenderableSprite();e.push(U);R++;r++;return U}return e[r++]}function q(V,U){if(V.renderOrder!==U.renderOrder){return V.renderOrder-U.renderOrder}else{if(V.z!==U.z){return U.z-V.z}else{if(V.id!==U.id){return V.id-U.id}else{return 0}}}}function y(Y,X){var W=0,ab=1,Z=Y.z+Y.w,V=X.z+X.w,U=-Y.z+Y.w,aa=-X.z+X.w;if(Z>=0&&V>=0&&U>=0&&aa>=0){return true}else{if((Z<0&&V<0)||(U<0&&aa<0)){return false}else{if(Z<0){W=Math.max(W,Z/(Z-V))}else{if(V<0){ab=Math.min(ab,Z/(Z-V))}}if(U<0){W=Math.max(W,U/(U-aa))}else{if(aa<0){ab=Math.min(ab,U/(U-aa))}}if(ab - - - - three.js canvas - geometry - hierarchy - - - - - - - - - - - - - - \ No newline at end of file diff --git a/viz/test/three.min.js b/viz/test/three.min.js deleted file mode 100644 index 75e5c31..0000000 --- a/viz/test/three.min.js +++ /dev/null @@ -1,953 +0,0 @@ -// threejs.org/license -(function(l,ea){"object"===typeof exports&&"undefined"!==typeof module?ea(exports):"function"===typeof define&&define.amd?define(["exports"],ea):ea(l.THREE={})})(this,function(l){function ea(){}function z(a,b){this.x=a||0;this.y=b||0}function J(){this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];0b&&(b=a[c]);return b}function I(){Object.defineProperty(this,"id",{value:Hf+=2});this.uuid=K.generateUUID();this.name="";this.type="BufferGeometry";this.index=null;this.attributes={};this.morphAttributes={};this.groups=[];this.boundingSphere=this.boundingBox=null;this.drawRange={start:0,count:Infinity};this.userData={}} -function Kb(a,b,c,d,e,f){M.call(this);this.type="BoxGeometry";this.parameters={width:a,height:b,depth:c,widthSegments:d,heightSegments:e,depthSegments:f};this.fromBufferGeometry(new mb(a,b,c,d,e,f));this.mergeVertices()}function mb(a,b,c,d,e,f){function g(a,b,c,d,e,f,g,l,S,E,If){var r=f/S,O=g/E,v=f/2,y=g/2,w=l/2;g=S+1;var x=E+1,D=f=0,G,z,A=new p;for(z=0;zm;m++){if(n=d[m])if(h=n[0],k=n[1]){t&&e.addAttribute("morphTarget"+m,t[h]);f&&e.addAttribute("morphNormal"+m,f[h]);c[m]=k;continue}c[m]=0}g.getUniforms().setValue(a,"morphTargetInfluences",c)}}}function Uf(a,b){var c={};return{update:function(d){var e=b.render.frame,f=d.geometry,g=a.get(d,f);c[g.id]!==e&&(f.isGeometry&&g.updateFromObject(d),a.update(g),c[g.id]=e);return g},dispose:function(){c={}}}}function Wa(a,b,c,d,e,f,g,h,k,m){a=void 0!==a?a:[];T.call(this,a,void 0!==b?b:301,c,d,e,f, -g,h,k,m);this.flipY=!1}function Lb(a,b,c){var d=a[0];if(0>=d||0/gm,function(a,c){a=U[c];if(void 0===a)throw Error("Can not resolve #include <"+c+">");return Wd(a)})}function We(a){return a.replace(/#pragma unroll_loop[\s]+?for \( int i = (\d+); i < (\d+); i \+\+ \) \{([\s\S]+?)(?=\})\}/g,function(a,c,d,e){a="";for(c=parseInt(c);c< -parseInt(d);c++)a+=e.replace(/\[ i \]/g,"[ "+c+" ]");return a})}function wg(a,b,c,d,e,f,g){var h=a.context,k=d.defines,m=e.vertexShader,t=e.fragmentShader,n="SHADOWMAP_TYPE_BASIC";1===f.shadowMapType?n="SHADOWMAP_TYPE_PCF":2===f.shadowMapType&&(n="SHADOWMAP_TYPE_PCF_SOFT");var q="ENVMAP_TYPE_CUBE",u="ENVMAP_MODE_REFLECTION",r="ENVMAP_BLENDING_MULTIPLY";if(f.envMap){switch(d.envMap.mapping){case 301:case 302:q="ENVMAP_TYPE_CUBE";break;case 306:case 307:q="ENVMAP_TYPE_CUBE_UV";break;case 303:case 304:q= -"ENVMAP_TYPE_EQUIREC";break;case 305:q="ENVMAP_TYPE_SPHERE"}switch(d.envMap.mapping){case 302:case 304:u="ENVMAP_MODE_REFRACTION"}switch(d.combine){case 0:r="ENVMAP_BLENDING_MULTIPLY";break;case 1:r="ENVMAP_BLENDING_MIX";break;case 2:r="ENVMAP_BLENDING_ADD"}}var l=0b||a.height>b){if("data"in a){console.warn("THREE.WebGLRenderer: image in DataTexture is too big ("+a.width+"x"+a.height+").");return}b/=Math.max(a.width,a.height); -var c=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");c.width=Math.floor(a.width*b);c.height=Math.floor(a.height*b);c.getContext("2d").drawImage(a,0,0,a.width,a.height,0,0,c.width,c.height);console.warn("THREE.WebGLRenderer: image is too big ("+a.width+"x"+a.height+"). Resized to "+c.width+"x"+c.height);return c}return a}function k(a){return K.isPowerOfTwo(a.width)&&K.isPowerOfTwo(a.height)}function m(a,b){return a.generateMipmaps&&b&&1003!==a.minFilter&&1006!==a.minFilter}function t(b, -c,e,f){a.generateMipmap(b);d.get(c).__maxMipLevel=Math.log(Math.max(e,f))*Math.LOG2E}function n(b,c){if(!e.isWebGL2)return b;if(b===a.RGB){if(c===a.FLOAT)return a.RGB32F;if(c===a.HALF_FLOAT)return a.RGB16F;if(c===a.UNSIGNED_BYTE)return a.RGB8}if(b===a.RGBA){if(c===a.FLOAT)return a.RGBA32F;if(c===a.HALF_FLOAT)return a.RGBA16F;if(c===a.UNSIGNED_BYTE)return a.RGBA8}return b}function q(b){return 1003===b||1004===b||1005===b?a.NEAREST:a.LINEAR}function u(b){b=b.target;b.removeEventListener("dispose",u); -a:{var c=d.get(b);if(b.image&&c.__image__webglTextureCube)a.deleteTexture(c.__image__webglTextureCube);else{if(void 0===c.__webglInit)break a;a.deleteTexture(c.__webglTexture)}d.remove(b)}b.isVideoTexture&&delete G[b.id];g.memory.textures--}function l(b){b=b.target;b.removeEventListener("dispose",l);var c=d.get(b),e=d.get(b.texture);if(b){void 0!==e.__webglTexture&&a.deleteTexture(e.__webglTexture);b.depthTexture&&b.depthTexture.dispose();if(b.isWebGLRenderTargetCube)for(e=0;6>e;e++)a.deleteFramebuffer(c.__webglFramebuffer[e]), -c.__webglDepthbuffer&&a.deleteRenderbuffer(c.__webglDepthbuffer[e]);else a.deleteFramebuffer(c.__webglFramebuffer),c.__webglDepthbuffer&&a.deleteRenderbuffer(c.__webglDepthbuffer);d.remove(b.texture);d.remove(b)}g.memory.textures--}function v(b,q){var l=d.get(b);if(b.isVideoTexture){var r=b.id,v=g.render.frame;G[r]!==v&&(G[r]=v,b.update())}if(0w;w++)v[w]=q||r?r?b.image[w].image:b.image[w]:h(b.image[w],e.maxCubemapSize);var y=v[0],O=k(y),x=f.convert(b.format),D=f.convert(b.type),G=n(x,D);p(a.TEXTURE_CUBE_MAP,b,O);for(w=0;6>w;w++)if(q)for(var S,z=v[w].mipmaps,A=0,B=z.length;Aq;q++)e.__webglFramebuffer[q]=a.createFramebuffer()}else e.__webglFramebuffer= -a.createFramebuffer();if(h){c.bindTexture(a.TEXTURE_CUBE_MAP,f.__webglTexture);p(a.TEXTURE_CUBE_MAP,b.texture,n);for(q=0;6>q;q++)x(e.__webglFramebuffer[q],b,a.COLOR_ATTACHMENT0,a.TEXTURE_CUBE_MAP_POSITIVE_X+q);m(b.texture,n)&&t(a.TEXTURE_CUBE_MAP,b.texture,b.width,b.height);c.bindTexture(a.TEXTURE_CUBE_MAP,null)}else c.bindTexture(a.TEXTURE_2D,f.__webglTexture),p(a.TEXTURE_2D,b.texture,n),x(e.__webglFramebuffer,b,a.COLOR_ATTACHMENT0,a.TEXTURE_2D),m(b.texture,n)&&t(a.TEXTURE_2D,b.texture,b.width,b.height), -c.bindTexture(a.TEXTURE_2D,null);if(b.depthBuffer){e=d.get(b);f=!0===b.isWebGLRenderTargetCube;if(b.depthTexture){if(f)throw Error("target.depthTexture not supported in Cube render targets");if(b&&b.isWebGLRenderTargetCube)throw Error("Depth Texture with cube render targets is not supported");a.bindFramebuffer(a.FRAMEBUFFER,e.__webglFramebuffer);if(!b.depthTexture||!b.depthTexture.isDepthTexture)throw Error("renderTarget.depthTexture must be an instance of THREE.DepthTexture");d.get(b.depthTexture).__webglTexture&& -b.depthTexture.image.width===b.width&&b.depthTexture.image.height===b.height||(b.depthTexture.image.width=b.width,b.depthTexture.image.height=b.height,b.depthTexture.needsUpdate=!0);v(b.depthTexture,0);e=d.get(b.depthTexture).__webglTexture;if(1026===b.depthTexture.format)a.framebufferTexture2D(a.FRAMEBUFFER,a.DEPTH_ATTACHMENT,a.TEXTURE_2D,e,0);else if(1027===b.depthTexture.format)a.framebufferTexture2D(a.FRAMEBUFFER,a.DEPTH_STENCIL_ATTACHMENT,a.TEXTURE_2D,e,0);else throw Error("Unknown depthTexture format"); -}else if(f)for(e.__webglDepthbuffer=[],f=0;6>f;f++)a.bindFramebuffer(a.FRAMEBUFFER,e.__webglFramebuffer[f]),e.__webglDepthbuffer[f]=a.createRenderbuffer(),w(e.__webglDepthbuffer[f],b);else a.bindFramebuffer(a.FRAMEBUFFER,e.__webglFramebuffer),e.__webglDepthbuffer=a.createRenderbuffer(),w(e.__webglDepthbuffer,b);a.bindFramebuffer(a.FRAMEBUFFER,null)}};this.updateRenderTargetMipmap=function(b){var e=b.texture,f=k(b);if(m(e,f)){f=b.isWebGLRenderTargetCube?a.TEXTURE_CUBE_MAP:a.TEXTURE_2D;var g=d.get(e).__webglTexture; -c.bindTexture(f,g);t(f,e,b.width,b.height);c.bindTexture(f,null)}}}function Ze(a,b,c){return{convert:function(d){if(1E3===d)return a.REPEAT;if(1001===d)return a.CLAMP_TO_EDGE;if(1002===d)return a.MIRRORED_REPEAT;if(1003===d)return a.NEAREST;if(1004===d)return a.NEAREST_MIPMAP_NEAREST;if(1005===d)return a.NEAREST_MIPMAP_LINEAR;if(1006===d)return a.LINEAR;if(1007===d)return a.LINEAR_MIPMAP_NEAREST;if(1008===d)return a.LINEAR_MIPMAP_LINEAR;if(1009===d)return a.UNSIGNED_BYTE;if(1017===d)return a.UNSIGNED_SHORT_4_4_4_4; -if(1018===d)return a.UNSIGNED_SHORT_5_5_5_1;if(1019===d)return a.UNSIGNED_SHORT_5_6_5;if(1010===d)return a.BYTE;if(1011===d)return a.SHORT;if(1012===d)return a.UNSIGNED_SHORT;if(1013===d)return a.INT;if(1014===d)return a.UNSIGNED_INT;if(1015===d)return a.FLOAT;if(1016===d){if(c.isWebGL2)return a.HALF_FLOAT;var e=b.get("OES_texture_half_float");if(null!==e)return e.HALF_FLOAT_OES}if(1021===d)return a.ALPHA;if(1022===d)return a.RGB;if(1023===d)return a.RGBA;if(1024===d)return a.LUMINANCE;if(1025=== -d)return a.LUMINANCE_ALPHA;if(1026===d)return a.DEPTH_COMPONENT;if(1027===d)return a.DEPTH_STENCIL;if(100===d)return a.FUNC_ADD;if(101===d)return a.FUNC_SUBTRACT;if(102===d)return a.FUNC_REVERSE_SUBTRACT;if(200===d)return a.ZERO;if(201===d)return a.ONE;if(202===d)return a.SRC_COLOR;if(203===d)return a.ONE_MINUS_SRC_COLOR;if(204===d)return a.SRC_ALPHA;if(205===d)return a.ONE_MINUS_SRC_ALPHA;if(206===d)return a.DST_ALPHA;if(207===d)return a.ONE_MINUS_DST_ALPHA;if(208===d)return a.DST_COLOR;if(209=== -d)return a.ONE_MINUS_DST_COLOR;if(210===d)return a.SRC_ALPHA_SATURATE;if(33776===d||33777===d||33778===d||33779===d)if(e=b.get("WEBGL_compressed_texture_s3tc"),null!==e){if(33776===d)return e.COMPRESSED_RGB_S3TC_DXT1_EXT;if(33777===d)return e.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(33778===d)return e.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(33779===d)return e.COMPRESSED_RGBA_S3TC_DXT5_EXT}if(35840===d||35841===d||35842===d||35843===d)if(e=b.get("WEBGL_compressed_texture_pvrtc"),null!==e){if(35840===d)return e.COMPRESSED_RGB_PVRTC_4BPPV1_IMG; -if(35841===d)return e.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(35842===d)return e.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(35843===d)return e.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(36196===d&&(e=b.get("WEBGL_compressed_texture_etc1"),null!==e))return e.COMPRESSED_RGB_ETC1_WEBGL;if(37808===d||37809===d||37810===d||37811===d||37812===d||37813===d||37814===d||37815===d||37816===d||37817===d||37818===d||37819===d||37820===d||37821===d)if(e=b.get("WEBGL_compressed_texture_astc"),null!==e)return d;if(103===d||104=== -d){if(c.isWebGL2){if(103===d)return a.MIN;if(104===d)return a.MAX}e=b.get("EXT_blend_minmax");if(null!==e){if(103===d)return e.MIN_EXT;if(104===d)return e.MAX_EXT}}if(1020===d){if(c.isWebGL2)return a.UNSIGNED_INT_24_8;e=b.get("WEBGL_depth_texture");if(null!==e)return e.UNSIGNED_INT_24_8_WEBGL}return 0}}}function Mb(){B.call(this);this.type="Group"}function X(a,b,c,d){Pa.call(this);this.type="PerspectiveCamera";this.fov=void 0!==a?a:50;this.zoom=1;this.near=void 0!==c?c:.1;this.far=void 0!==d?d:2E3; -this.focus=10;this.aspect=void 0!==b?b:1;this.view=null;this.filmGauge=35;this.filmOffset=0;this.updateProjectionMatrix()}function Ac(a){X.call(this);this.cameras=a||[]}function $e(a){function b(){return null!==e&&!0===e.isPresenting}function c(){if(b()){var c=e.getEyeParameters("left"),f=c.renderWidth;c=c.renderHeight;w=a.getPixelRatio();x=a.getSize();a.setDrawingBufferSize(2*f,c,1);D.start()}else d.enabled&&a.setDrawingBufferSize(x.width,x.height,w),D.stop()}var d=this,e=null,f=null,g=null,h=[], -k=new J,m=new J,t="stage";"undefined"!==typeof window&&"VRFrameData"in window&&(f=new window.VRFrameData,window.addEventListener("vrdisplaypresentchange",c,!1));var n=new J,q=new ha,u=new p,l=new X;l.bounds=new aa(0,0,.5,1);l.layers.enable(1);var v=new X;v.bounds=new aa(.5,0,.5,1);v.layers.enable(2);var y=new Ac([l,v]);y.layers.enable(1);y.layers.enable(2);var x,w,G=[];this.enabled=!1;this.getController=function(a){var b=h[a];void 0===b&&(b=new Mb,b.matrixAutoUpdate=!1,b.visible=!1,h[a]=b);return b}; -this.getDevice=function(){return e};this.setDevice=function(a){void 0!==a&&(e=a);D.setContext(a)};this.setFrameOfReferenceType=function(a){t=a};this.setPoseTarget=function(a){void 0!==a&&(g=a)};this.getCamera=function(a){var b="stage"===t?1.6:0;if(null===e)return a.position.set(0,b,0),a;e.depthNear=a.near;e.depthFar=a.far;e.getFrameData(f);if("stage"===t){var c=e.stageParameters;c?k.fromArray(c.sittingToStandingTransform):k.makeTranslation(0,b,0)}b=f.pose;c=null!==g?g:a;c.matrix.copy(k);c.matrix.decompose(c.position, -c.quaternion,c.scale);null!==b.orientation&&(q.fromArray(b.orientation),c.quaternion.multiply(q));null!==b.position&&(q.setFromRotationMatrix(k),u.fromArray(b.position),u.applyQuaternion(q),c.position.add(u));c.updateMatrixWorld();if(!1===e.isPresenting)return a;l.near=a.near;v.near=a.near;l.far=a.far;v.far=a.far;y.matrixWorld.copy(a.matrixWorld);y.matrixWorldInverse.copy(a.matrixWorldInverse);l.matrixWorldInverse.fromArray(f.leftViewMatrix);v.matrixWorldInverse.fromArray(f.rightViewMatrix);m.getInverse(k); -"stage"===t&&(l.matrixWorldInverse.multiply(m),v.matrixWorldInverse.multiply(m));a=c.parent;null!==a&&(n.getInverse(a.matrixWorld),l.matrixWorldInverse.multiply(n),v.matrixWorldInverse.multiply(n));l.matrixWorld.getInverse(l.matrixWorldInverse);v.matrixWorld.getInverse(v.matrixWorldInverse);l.projectionMatrix.fromArray(f.leftProjectionMatrix);v.projectionMatrix.fromArray(f.rightProjectionMatrix);y.projectionMatrix.copy(l.projectionMatrix);a=e.getLayers();a.length&&(a=a[0],null!==a.leftBounds&&4=== -a.leftBounds.length&&l.bounds.fromArray(a.leftBounds),null!==a.rightBounds&&4===a.rightBounds.length&&v.bounds.fromArray(a.rightBounds));a:for(a=0;af.normalMatrix.determinant();ca.setMaterial(e,h);var k=q(a,c,e,f),m=!1;if(b!==d.id||H!==k.id||U!==(!0===e.wireframe))b=d.id,H=k.id,U=!0===e.wireframe,m=!0;f.morphTargetInfluences&&(wa.update(f,d,e,k),m=!0);h=d.index;var t= -d.attributes.position;c=1;!0===e.wireframe&&(h=sa.getWireframeAttribute(d),c=2);a=xa;if(null!==h){var n=qa.get(h);a=za;a.setIndex(n)}if(m){if(d&&d.isInstancedBufferGeometry&!va.isWebGL2&&null===ia.get("ANGLE_instanced_arrays"))console.error("THREE.WebGLRenderer.setupVertexAttributes: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");else{ca.initAttributes();m=d.attributes;k=k.getAttributes();var l=e.defaultAttributeValues;for(O in k){var u=k[O]; -if(0<=u){var r=m[O];if(void 0!==r){var v=r.normalized,p=r.itemSize,w=qa.get(r);if(void 0!==w){var y=w.buffer,x=w.type;w=w.bytesPerElement;if(r.isInterleavedBufferAttribute){var D=r.data,G=D.stride;r=r.offset;D&&D.isInstancedInterleavedBuffer?(ca.enableAttributeAndDivisor(u,D.meshPerAttribute),void 0===d.maxInstancedCount&&(d.maxInstancedCount=D.meshPerAttribute*D.count)):ca.enableAttribute(u);C.bindBuffer(C.ARRAY_BUFFER,y);C.vertexAttribPointer(u,p,x,v,G*w,r*w)}else r.isInstancedBufferAttribute?(ca.enableAttributeAndDivisor(u, -r.meshPerAttribute),void 0===d.maxInstancedCount&&(d.maxInstancedCount=r.meshPerAttribute*r.count)):ca.enableAttribute(u),C.bindBuffer(C.ARRAY_BUFFER,y),C.vertexAttribPointer(u,p,x,v,0,0)}}else if(void 0!==l&&(v=l[O],void 0!==v))switch(v.length){case 2:C.vertexAttrib2fv(u,v);break;case 3:C.vertexAttrib3fv(u,v);break;case 4:C.vertexAttrib4fv(u,v);break;default:C.vertexAttrib1fv(u,v)}}}ca.disableUnusedAttributes()}null!==h&&C.bindBuffer(C.ELEMENT_ARRAY_BUFFER,n.buffer)}n=Infinity;null!==h?n=h.count: -void 0!==t&&(n=t.count);h=d.drawRange.start*c;t=null!==g?g.start*c:0;var O=Math.max(h,t);g=Math.max(0,Math.min(n,h+d.drawRange.count*c,t+(null!==g?g.count*c:Infinity))-1-O+1);if(0!==g){if(f.isMesh)if(!0===e.wireframe)ca.setLineWidth(e.wireframeLinewidth*(null===L?W:1)),a.setMode(C.LINES);else switch(f.drawMode){case 0:a.setMode(C.TRIANGLES);break;case 1:a.setMode(C.TRIANGLE_STRIP);break;case 2:a.setMode(C.TRIANGLE_FAN)}else f.isLine?(e=e.linewidth,void 0===e&&(e=1),ca.setLineWidth(e*(null===L?W:1)), -f.isLineSegments?a.setMode(C.LINES):f.isLineLoop?a.setMode(C.LINE_LOOP):a.setMode(C.LINE_STRIP)):f.isPoints?a.setMode(C.POINTS):f.isSprite&&a.setMode(C.TRIANGLES);d&&d.isInstancedBufferGeometry?0=va.maxTextures&&console.warn("THREE.WebGLRenderer: Trying to use "+a+" texture units while this GPU supports only "+ -va.maxTextures);fa+=1;return a};this.setTexture2D=function(){var a=!1;return function(b,c){b&&b.isWebGLRenderTarget&&(a||(console.warn("THREE.WebGLRenderer.setTexture2D: don't use render targets as textures. Use their .texture property instead."),a=!0),b=b.texture);ja.setTexture2D(b,c)}}();this.setTexture=function(){var a=!1;return function(b,c){a||(console.warn("THREE.WebGLRenderer: .setTexture is deprecated, use setTexture2D instead."),a=!0);ja.setTexture2D(b,c)}}();this.setTextureCube=function(){var a= -!1;return function(b,c){b&&b.isWebGLRenderTargetCube&&(a||(console.warn("THREE.WebGLRenderer.setTextureCube: don't use cube render targets as textures. Use their .texture property instead."),a=!0),b=b.texture);b&&b.isCubeTexture||Array.isArray(b.image)&&6===b.image.length?ja.setTextureCube(b,c):ja.setTextureCubeDynamic(b,c)}}();this.setFramebuffer=function(a){F=a};this.getRenderTarget=function(){return L};this.setRenderTarget=function(a){(L=a)&&void 0===Ca.get(a).__webglFramebuffer&&ja.setupRenderTarget(a); -var b=F,c=!1;a?(b=Ca.get(a).__webglFramebuffer,a.isWebGLRenderTargetCube&&(b=b[a.activeCubeFace],c=!0),T.copy(a.viewport),zc.copy(a.scissor),Y=a.scissorTest):(T.copy(cb).multiplyScalar(W),zc.copy(ha).multiplyScalar(W),Y=ra);M!==b&&(C.bindFramebuffer(C.FRAMEBUFFER,b),M=b);ca.viewport(T);ca.scissor(zc);ca.setScissorTest(Y);c&&(c=Ca.get(a.texture),C.framebufferTexture2D(C.FRAMEBUFFER,C.COLOR_ATTACHMENT0,C.TEXTURE_CUBE_MAP_POSITIVE_X+a.activeCubeFace,c.__webglTexture,a.activeMipMapLevel))};this.readRenderTargetPixels= -function(a,b,c,d,e,f){if(a&&a.isWebGLRenderTarget){var g=Ca.get(a).__webglFramebuffer;if(g){var h=!1;g!==M&&(C.bindFramebuffer(C.FRAMEBUFFER,g),h=!0);try{var k=a.texture,m=k.format,t=k.type;1023!==m&&ea.convert(m)!==C.getParameter(C.IMPLEMENTATION_COLOR_READ_FORMAT)?console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format."):1009===t||ea.convert(t)===C.getParameter(C.IMPLEMENTATION_COLOR_READ_TYPE)||1015===t&&(va.isWebGL2||ia.get("OES_texture_float")|| -ia.get("WEBGL_color_buffer_float"))||1016===t&&(va.isWebGL2?ia.get("EXT_color_buffer_float"):ia.get("EXT_color_buffer_half_float"))?C.checkFramebufferStatus(C.FRAMEBUFFER)===C.FRAMEBUFFER_COMPLETE?0<=b&&b<=a.width-d&&0<=c&&c<=a.height-e&&C.readPixels(b,c,d,e,ea.convert(m),ea.convert(t),f):console.error("THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete."):console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.")}finally{h&& -C.bindFramebuffer(C.FRAMEBUFFER,M)}}}else console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.")};this.copyFramebufferToTexture=function(a,b,c){var d=b.image.width,e=b.image.height,f=ea.convert(b.format);this.setTexture2D(b,0);C.copyTexImage2D(C.TEXTURE_2D,c||0,f,a.x,a.y,d,e,0)};this.copyTextureToTexture=function(a,b,c,d){var e=b.image.width,f=b.image.height,g=ea.convert(c.format),h=ea.convert(c.type);this.setTexture2D(c,0);b.isDataTexture?C.texSubImage2D(C.TEXTURE_2D, -d||0,a.x,a.y,e,f,g,h,b.image.data):C.texSubImage2D(C.TEXTURE_2D,d||0,a.x,a.y,g,h,b.image)}}function Nb(a,b){this.name="";this.color=new F(a);this.density=void 0!==b?b:2.5E-4}function Ob(a,b,c){this.name="";this.color=new F(a);this.near=void 0!==b?b:1;this.far=void 0!==c?c:1E3}function rd(){B.call(this);this.type="Scene";this.overrideMaterial=this.fog=this.background=null;this.autoUpdate=!0}function qb(a,b){this.array=a;this.stride=b;this.count=void 0!==a?a.length/b:0;this.dynamic=!1;this.updateRange= -{offset:0,count:-1};this.version=0}function Bc(a,b,c,d){this.data=a;this.itemSize=b;this.offset=c;this.normalized=!0===d}function eb(a){H.call(this);this.type="SpriteMaterial";this.color=new F(16777215);this.map=null;this.rotation=0;this.sizeAttenuation=!0;this.lights=!1;this.transparent=!0;this.setValues(a)}function Cc(a){B.call(this);this.type="Sprite";if(void 0===Pb){Pb=new I;var b=new Float32Array([-.5,-.5,0,0,0,.5,-.5,0,1,0,.5,.5,0,1,1,-.5,.5,0,0,1]);b=new qb(b,5);Pb.setIndex([0,1,2,0,2,3]); -Pb.addAttribute("position",new Bc(b,3,0,!1));Pb.addAttribute("uv",new Bc(b,2,3,!1))}this.geometry=Pb;this.material=void 0!==a?a:new eb;this.center=new z(.5,.5)}function Dc(){B.call(this);this.type="LOD";Object.defineProperties(this,{levels:{enumerable:!0,value:[]}})}function Ec(a,b){a=a||[];this.bones=a.slice(0);this.boneMatrices=new Float32Array(16*this.bones.length);if(void 0===b)this.calculateInverses();else if(this.bones.length===b.length)this.boneInverses=b.slice(0);else for(console.warn("THREE.Skeleton boneInverses is the wrong length."), -this.boneInverses=[],a=0,b=this.bones.length;ac;c++){var n=t[h[c]];var q=t[h[(c+1)%3]];f[0]=Math.min(n,q);f[1]=Math.max(n,q);n=f[0]+","+f[1];void 0===g[n]&&(g[n]={index1:f[0],index2:f[1]})}}for(n in g)m=g[n],h=a.vertices[m.index1],b.push(h.x,h.y,h.z),h=a.vertices[m.index2],b.push(h.x,h.y,h.z)}else if(a&&a.isBufferGeometry)if(h=new p,null!==a.index){k=a.attributes.position;t=a.index;var l=a.groups;0===l.length&&(l=[{start:0, -count:t.count,materialIndex:0}]);a=0;for(e=l.length;ac;c++)n=t.getX(m+c),q=t.getX(m+(c+1)%3),f[0]=Math.min(n,q),f[1]=Math.max(n,q),n=f[0]+","+f[1],void 0===g[n]&&(g[n]={index1:f[0],index2:f[1]});for(n in g)m=g[n],h.fromBufferAttribute(k,m.index1),b.push(h.x,h.y,h.z),h.fromBufferAttribute(k,m.index2),b.push(h.x,h.y,h.z)}else for(k=a.attributes.position,m=0,d=k.count/3;mc;c++)g=3*m+c,h.fromBufferAttribute(k,g),b.push(h.x, -h.y,h.z),g=3*m+(c+1)%3,h.fromBufferAttribute(k,g),b.push(h.x,h.y,h.z);this.addAttribute("position",new A(b,3))}function Hc(a,b,c){M.call(this);this.type="ParametricGeometry";this.parameters={func:a,slices:b,stacks:c};this.fromBufferGeometry(new Tb(a,b,c));this.mergeVertices()}function Tb(a,b,c){I.call(this);this.type="ParametricBufferGeometry";this.parameters={func:a,slices:b,stacks:c};var d=[],e=[],f=[],g=[],h=new p,k=new p,m=new p,t=new p,n=new p,q,l;3>a.length&&console.error("THREE.ParametricGeometry: Function must now modify a Vector3 as third parameter."); -var r=b+1;for(q=0;q<=c;q++){var v=q/c;for(l=0;l<=b;l++){var y=l/b;a(y,v,k);e.push(k.x,k.y,k.z);0<=y-1E-5?(a(y-1E-5,v,m),t.subVectors(k,m)):(a(y+1E-5,v,m),t.subVectors(m,k));0<=v-1E-5?(a(y,v-1E-5,m),n.subVectors(k,m)):(a(y,v+1E-5,m),n.subVectors(m,k));h.crossVectors(t,n).normalize();f.push(h.x,h.y,h.z);g.push(y,v)}}for(q=0;qd&&1===a.x&&(k[b]=a.x-1);0===c.x&&0===c.z&&(k[b]=d/2/Math.PI+.5)}I.call(this);this.type="PolyhedronBufferGeometry";this.parameters={vertices:a, -indices:b,radius:c,detail:d};c=c||1;d=d||0;var h=[],k=[];(function(a){for(var c=new p,d=new p,g=new p,h=0;he&&(.2>b&&(k[a+0]+=1),.2>c&&(k[a+2]+=1),.2>d&&(k[a+4]+=1))})();this.addAttribute("position",new A(h,3));this.addAttribute("normal",new A(h.slice(),3));this.addAttribute("uv",new A(k,2));0===d?this.computeVertexNormals():this.normalizeNormals()}function Jc(a, -b){M.call(this);this.type="TetrahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new Ub(a,b));this.mergeVertices()}function Ub(a,b){la.call(this,[1,1,1,-1,-1,1,-1,1,-1,1,-1,-1],[2,1,0,0,3,2,1,3,0,2,3,1],a,b);this.type="TetrahedronBufferGeometry";this.parameters={radius:a,detail:b}}function Kc(a,b){M.call(this);this.type="OctahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new rb(a,b));this.mergeVertices()}function rb(a,b){la.call(this,[1,0,0, --1,0,0,0,1,0,0,-1,0,0,0,1,0,0,-1],[0,2,4,0,4,3,0,3,5,0,5,2,1,2,5,1,5,3,1,3,4,1,4,2],a,b);this.type="OctahedronBufferGeometry";this.parameters={radius:a,detail:b}}function Lc(a,b){M.call(this);this.type="IcosahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new Vb(a,b));this.mergeVertices()}function Vb(a,b){var c=(1+Math.sqrt(5))/2;la.call(this,[-1,c,0,1,c,0,-1,-c,0,1,-c,0,0,-1,c,0,1,c,0,-1,-c,0,1,-c,c,0,-1,c,0,1,-c,0,-1,-c,0,1],[0,11,5,0,5,1,0,1,7,0,7,10,0,10,11,1,5,9,5, -11,4,11,10,2,10,7,6,7,1,8,3,9,4,3,4,2,3,2,6,3,6,8,3,8,9,4,9,5,2,4,11,6,2,10,8,6,7,9,8,1],a,b);this.type="IcosahedronBufferGeometry";this.parameters={radius:a,detail:b}}function Mc(a,b){M.call(this);this.type="DodecahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new Wb(a,b));this.mergeVertices()}function Wb(a,b){var c=(1+Math.sqrt(5))/2,d=1/c;la.call(this,[-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-d,-c,0,-d,c,0,d,-c,0,d,c,-d,-c,0,-d,c,0,d,-c,0,d,c, -0,-c,0,-d,c,0,-d,-c,0,d,c,0,d],[3,11,7,3,7,15,3,15,13,7,19,17,7,17,6,7,6,15,17,4,8,17,8,10,17,10,6,8,0,16,8,16,2,8,2,10,0,12,1,0,1,18,0,18,16,6,10,2,6,2,13,6,13,15,2,16,18,2,18,3,2,3,13,18,1,9,18,9,11,18,11,3,4,14,12,4,12,0,4,0,8,11,9,5,11,5,19,11,19,7,19,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9],a,b);this.type="DodecahedronBufferGeometry";this.parameters={radius:a,detail:b}}function Nc(a,b,c,d,e,f){M.call(this);this.type="TubeGeometry";this.parameters={path:a,tubularSegments:b,radius:c,radialSegments:d, -closed:e};void 0!==f&&console.warn("THREE.TubeGeometry: taper has been removed.");a=new Xb(a,b,c,d,e);this.tangents=a.tangents;this.normals=a.normals;this.binormals=a.binormals;this.fromBufferGeometry(a);this.mergeVertices()}function Xb(a,b,c,d,e){function f(e){t=a.getPointAt(e/b,t);var f=g.normals[e];e=g.binormals[e];for(q=0;q<=d;q++){var m=q/d*Math.PI*2,n=Math.sin(m);m=-Math.cos(m);k.x=m*f.x+n*e.x;k.y=m*f.y+n*e.y;k.z=m*f.z+n*e.z;k.normalize();r.push(k.x,k.y,k.z);h.x=t.x+c*k.x;h.y=t.y+c*k.y;h.z= -t.z+c*k.z;l.push(h.x,h.y,h.z)}}I.call(this);this.type="TubeBufferGeometry";this.parameters={path:a,tubularSegments:b,radius:c,radialSegments:d,closed:e};b=b||64;c=c||1;d=d||8;e=e||!1;var g=a.computeFrenetFrames(b,e);this.tangents=g.tangents;this.normals=g.normals;this.binormals=g.binormals;var h=new p,k=new p,m=new z,t=new p,n,q,l=[],r=[],v=[],y=[];for(n=0;n=b;e-=d)f=bf(e,a[e],a[e+1],f);f&&sb(f,f.next)&&(Qc(f),f=f.next);return f}function Rc(a,b){if(!a)return a;b||(b=a);do{var c=!1;if(a.steiner||!sb(a,a.next)&&0!==ma(a.prev,a,a.next))a=a.next;else{Qc(a);a=b=a.prev;if(a===a.next)break;c=!0}}while(c||a!==b);return b} -function Sc(a,b,c,d,e,f,g){if(a){if(!g&&f){var h=a,k=h;do null===k.z&&(k.z=$d(k.x,k.y,d,e,f)),k.prevZ=k.prev,k=k.nextZ=k.next;while(k!==h);k.prevZ.nextZ=null;k.prevZ=null;h=k;var m,t,n,l,u=1;do{k=h;var r=h=null;for(t=0;k;){t++;var v=k;for(m=n=0;mn.x?t.x>u.x?t.x:u.x:n.x>u.x?n.x:u.x,G=t.y>n.y?t.y>u.y?t.y:u.y:n.y>u.y?n.y:u.y;m=$d(t.x=m;){if(p!==r.prev&&p!==r.next&&vd(t.x,t.y,n.x,n.y,u.x,u.y,p.x,p.y)&&0<=ma(p.prev,p,p.next)){r=!1;break a}p= -p.prevZ}r=!0}}else a:if(r=a,t=r.prev,n=r,u=r.next,0<=ma(t,n,u))r=!1;else{for(m=r.next.next;m!==r.prev;){if(vd(t.x,t.y,n.x,n.y,u.x,u.y,m.x,m.y)&&0<=ma(m.prev,m,m.next)){r=!1;break a}m=m.next}r=!0}if(r)b.push(k.i/c),b.push(a.i/c),b.push(v.i/c),Qc(a),h=a=v.next;else if(a=v,a===h){if(!g)Sc(Rc(a),b,c,d,e,f,1);else if(1===g){g=b;h=c;k=a;do v=k.prev,r=k.next.next,!sb(v,r)&&cf(v,k,k.next,r)&&Tc(v,r)&&Tc(r,v)&&(g.push(v.i/h),g.push(k.i/h),g.push(r.i/h),Qc(k),Qc(k.next),k=a=r),k=k.next;while(k!==a);a=k;Sc(a, -b,c,d,e,f,2)}else if(2===g)a:{g=a;do{for(h=g.next.next;h!==g.prev;){if(k=g.i!==h.i){k=g;v=h;if(r=k.next.i!==v.i&&k.prev.i!==v.i){b:{r=k;do{if(r.i!==k.i&&r.next.i!==k.i&&r.i!==v.i&&r.next.i!==v.i&&cf(r,r.next,k,v)){r=!0;break b}r=r.next}while(r!==k);r=!1}r=!r}if(r=r&&Tc(k,v)&&Tc(v,k)){r=k;t=!1;n=(k.x+v.x)/2;v=(k.y+v.y)/2;do r.y>v!==r.next.y>v&&r.next.y!==r.y&&n<(r.next.x-r.x)*(v-r.y)/(r.next.y-r.y)+r.x&&(t=!t),r=r.next;while(r!==k);r=t}k=r}if(k){a=df(g,h);g=Rc(g,g.next);a=Rc(a,a.next);Sc(g,b,c,d,e, -f);Sc(a,b,c,d,e,f);break a}h=h.next}g=g.next}while(g!==a)}break}}}}function Mg(a,b){return a.x-b.x}function Ng(a,b){var c=b,d=a.x,e=a.y,f=-Infinity;do{if(e<=c.y&&e>=c.next.y&&c.next.y!==c.y){var g=c.x+(e-c.y)*(c.next.x-c.x)/(c.next.y-c.y);if(g<=d&&g>f){f=g;if(g===d){if(e===c.y)return c;if(e===c.next.y)return c.next}var h=c.x=c.x&&c.x>=g&&d!==c.x&&vd(eh.x)&&Tc(c,a)&&(h=c,m=t)}c=c.next}return h}function $d(a,b,c,d,e){a=32767*(a-c)*e;b=32767*(b-d)*e;a=(a|a<<8)&16711935;a=(a|a<<4)&252645135;a=(a|a<<2)&858993459;b=(b|b<<8)&16711935;b=(b|b<<4)&252645135;b=(b|b<<2)&858993459;return(a|a<<1)&1431655765|((b|b<<1)&1431655765)<<1}function Og(a){var b=a,c=a;do b.xma(a.prev,a,a.next)?0<=ma(a,b,a.next)&&0<=ma(a,a.prev,b):0>ma(a,b,a.prev)||0>ma(a,a.next,b)}function df(a,b){var c=new ae(a.i,a.x,a.y),d=new ae(b.i,b.x,b.y),e=a.next,f=b.prev;a.next=b;b.prev=a;c.next=e;e.prev= -c;d.next=c;c.prev=d;f.next=d;d.prev=f;return d}function bf(a,b,c,d){a=new ae(a,b,c);d?(a.next=d.next,a.prev=d,d.next.prev=a,d.next=a):(a.prev=a,a.next=a);return a}function Qc(a){a.next.prev=a.prev;a.prev.next=a.next;a.prevZ&&(a.prevZ.nextZ=a.nextZ);a.nextZ&&(a.nextZ.prevZ=a.prevZ)}function ae(a,b,c){this.i=a;this.x=b;this.y=c;this.nextZ=this.prevZ=this.z=this.next=this.prev=null;this.steiner=!1}function ef(a){var b=a.length;2Number.EPSILON){var k=Math.sqrt(h),m=Math.sqrt(f*f+g*g);h=b.x-e/k;b=b.y+d/k; -g=((c.x-g/m-h)*g-(c.y+f/m-b)*f)/(d*g-e*f);f=h+d*g-a.x;d=b+e*g-a.y;e=f*f+d*d;if(2>=e)return new z(f,d);e=Math.sqrt(e/2)}else a=!1,d>Number.EPSILON?f>Number.EPSILON&&(a=!0):d<-Number.EPSILON?f<-Number.EPSILON&&(a=!0):Math.sign(e)===Math.sign(g)&&(a=!0),a?(f=-e,e=Math.sqrt(h)):(f=d,d=e,e=Math.sqrt(h/2));return new z(f/e,d/e)}function h(a,b){for(N=a.length;0<=--N;){var c=N;var f=N-1;0>f&&(f=a.length-1);var g,h=w+2*E;for(g=0;gt;t++){var n=m[f[t]];var l=m[f[(t+1)%3]];d[0]=Math.min(n,l);d[1]=Math.max(n,l);n=d[0]+","+d[1];void 0===e[n]?e[n]={index1:d[0],index2:d[1],face1:h,face2:void 0}:e[n].face2=h}for(n in e)if(d=e[n],void 0===d.face2||g[d.face1].normal.dot(g[d.face2].normal)<=b)f=a[d.index1],c.push(f.x,f.y,f.z),f=a[d.index2], -c.push(f.x,f.y,f.z);this.addAttribute("position",new A(c,3))}function xb(a,b,c,d,e,f,g,h){M.call(this);this.type="CylinderGeometry";this.parameters={radiusTop:a,radiusBottom:b,height:c,radialSegments:d,heightSegments:e,openEnded:f,thetaStart:g,thetaLength:h};this.fromBufferGeometry(new Ya(a,b,c,d,e,f,g,h));this.mergeVertices()}function Ya(a,b,c,d,e,f,g,h){function k(c){var e,f=new z,k=new p,q=0,v=!0===c?a:b,w=!0===c?1:-1;var A=r;for(e=1;e<=d;e++)n.push(0,y*w,0),l.push(0,w,0),u.push(.5,.5),r++;var B= -r;for(e=0;e<=d;e++){var P=e/d*h+g,I=Math.cos(P);P=Math.sin(P);k.x=v*P;k.y=y*w;k.z=v*I;n.push(k.x,k.y,k.z);l.push(0,w,0);f.x=.5*I+.5;f.y=.5*P*w+.5;u.push(f.x,f.y);r++}for(e=0;ethis.duration&&this.resetDuration()}function Qg(a){switch(a.toLowerCase()){case "scalar":case "double":case "float":case "number":case "integer":return gc;case "vector":case "vector2":case "vector3":case "vector4":return hc; -case "color":return Id;case "quaternion":return ed;case "bool":case "boolean":return Hd;case "string":return Kd}throw Error("THREE.KeyframeTrack: Unsupported typeName: "+a);}function Rg(a){if(void 0===a.type)throw Error("THREE.KeyframeTrack: track type undefined, can not parse");var b=Qg(a.type);if(void 0===a.times){var c=[],d=[];qa.flattenJSON(a.keys,c,d,"value");a.times=c;a.values=d}return void 0!==b.parse?b.parse(a):new b(a.name,a.times,a.values,a.interpolation)}function Ld(a){this.manager=void 0!== -a?a:wa;this.textures={}}function fe(a){this.manager=void 0!==a?a:wa}function ic(){}function ge(a){"boolean"===typeof a&&(console.warn("THREE.JSONLoader: showStatus parameter has been removed from constructor."),a=void 0);this.manager=void 0!==a?a:wa;this.withCredentials=!1}function lf(a){this.manager=void 0!==a?a:wa;this.texturePath=""}function he(a){"undefined"===typeof createImageBitmap&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported.");"undefined"===typeof fetch&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."); -this.manager=void 0!==a?a:wa;this.options=void 0}function ie(){this.type="ShapePath";this.color=new F;this.subPaths=[];this.currentPath=null}function je(a){this.type="Font";this.data=a}function mf(a){this.manager=void 0!==a?a:wa}function ke(a){this.manager=void 0!==a?a:wa}function nf(){this.type="StereoCamera";this.aspect=1;this.eyeSep=.064;this.cameraL=new X;this.cameraL.layers.enable(1);this.cameraL.matrixAutoUpdate=!1;this.cameraR=new X;this.cameraR.layers.enable(2);this.cameraR.matrixAutoUpdate= -!1}function fd(a,b,c){B.call(this);this.type="CubeCamera";var d=new X(90,1,a,b);d.up.set(0,-1,0);d.lookAt(new p(1,0,0));this.add(d);var e=new X(90,1,a,b);e.up.set(0,-1,0);e.lookAt(new p(-1,0,0));this.add(e);var f=new X(90,1,a,b);f.up.set(0,0,1);f.lookAt(new p(0,1,0));this.add(f);var g=new X(90,1,a,b);g.up.set(0,0,-1);g.lookAt(new p(0,-1,0));this.add(g);var h=new X(90,1,a,b);h.up.set(0,-1,0);h.lookAt(new p(0,0,1));this.add(h);var k=new X(90,1,a,b);k.up.set(0,-1,0);k.lookAt(new p(0,0,-1));this.add(k); -this.renderTarget=new Ib(c,c,{format:1022,magFilter:1006,minFilter:1006});this.renderTarget.texture.name="CubeCamera";this.update=function(a,b){null===this.parent&&this.updateMatrixWorld();var c=this.renderTarget,m=c.texture.generateMipmaps;c.texture.generateMipmaps=!1;c.activeCubeFace=0;a.render(b,d,c);c.activeCubeFace=1;a.render(b,e,c);c.activeCubeFace=2;a.render(b,f,c);c.activeCubeFace=3;a.render(b,g,c);c.activeCubeFace=4;a.render(b,h,c);c.texture.generateMipmaps=m;c.activeCubeFace=5;a.render(b, -k,c);a.setRenderTarget(null)};this.clear=function(a,b,c,d){for(var e=this.renderTarget,f=0;6>f;f++)e.activeCubeFace=f,a.setRenderTarget(e),a.clear(b,c,d);a.setRenderTarget(null)}}function le(){B.call(this);this.type="AudioListener";this.context=me.getContext();this.gain=this.context.createGain();this.gain.connect(this.context.destination);this.filter=null}function jc(a){B.call(this);this.type="Audio";this.context=a.context;this.gain=this.context.createGain();this.gain.connect(a.getInput());this.autoplay= -!1;this.buffer=null;this.loop=!1;this.offset=this.startTime=0;this.playbackRate=1;this.isPlaying=!1;this.hasPlaybackControl=!0;this.sourceType="empty";this.filters=[]}function ne(a){jc.call(this,a);this.panner=this.context.createPanner();this.panner.connect(this.gain)}function oe(a,b){this.analyser=a.context.createAnalyser();this.analyser.fftSize=void 0!==b?b:2048;this.data=new Uint8Array(this.analyser.frequencyBinCount);a.getOutput().connect(this.analyser)}function pe(a,b,c){this.binding=a;this.valueSize= -c;a=Float64Array;switch(b){case "quaternion":b=this._slerp;break;case "string":case "bool":a=Array;b=this._select;break;default:b=this._lerp}this.buffer=new a(4*c);this._mixBufferRegion=b;this.referenceCount=this.useCount=this.cumulativeWeight=0}function of(a,b,c){c=c||sa.parseTrackName(b);this._targetGroup=a;this._bindings=a.subscribe_(b,c)}function sa(a,b,c){this.path=b;this.parsedPath=c||sa.parseTrackName(b);this.node=sa.findNode(a,this.parsedPath.nodeName)||a;this.rootNode=a}function pf(){this.uuid= -K.generateUUID();this._objects=Array.prototype.slice.call(arguments);this.nCachedObjects_=0;var a={};this._indicesByUUID=a;for(var b=0,c=arguments.length;b!==c;++b)a[arguments[b].uuid]=b;this._paths=[];this._parsedPaths=[];this._bindings=[];this._bindingsIndicesByPath={};var d=this;this.stats={objects:{get total(){return d._objects.length},get inUse(){return this.total-d.nCachedObjects_}},get bindingsPerObject(){return d._bindings.length}}}function qf(a,b,c){this._mixer=a;this._clip=b;this._localRoot= -c||null;a=b.tracks;b=a.length;c=Array(b);for(var d={endingStart:2400,endingEnd:2400},e=0;e!==b;++e){var f=a[e].createInterpolant(null);c[e]=f;f.settings=d}this._interpolantSettings=d;this._interpolants=c;this._propertyBindings=Array(b);this._weightInterpolant=this._timeScaleInterpolant=this._byClipCacheIndex=this._cacheIndex=null;this.loop=2201;this._loopCount=-1;this._startTime=null;this.time=0;this._effectiveWeight=this.weight=this._effectiveTimeScale=this.timeScale=1;this.repetitions=Infinity; -this.paused=!1;this.enabled=!0;this.clampWhenFinished=!1;this.zeroSlopeAtEnd=this.zeroSlopeAtStart=!0}function qe(a){this._root=a;this._initMemoryManager();this.time=this._accuIndex=0;this.timeScale=1}function Md(a,b){"string"===typeof a&&(console.warn("THREE.Uniform: Type parameter is no longer needed."),a=b);this.value=a}function re(){I.call(this);this.type="InstancedBufferGeometry";this.maxInstancedCount=void 0}function se(a,b,c){qb.call(this,a,b);this.meshPerAttribute=c||1}function te(a,b,c,d){"number"=== -typeof c&&(d=c,c=!1,console.error("THREE.InstancedBufferAttribute: The constructor now expects normalized as the third argument."));Q.call(this,a,b,c);this.meshPerAttribute=d||1}function rf(a,b,c,d){this.ray=new ob(a,b);this.near=c||0;this.far=d||Infinity;this.params={Mesh:{},Line:{},LOD:{},Points:{threshold:1},Sprite:{}};Object.defineProperties(this.params,{PointCloud:{get:function(){console.warn("THREE.Raycaster: params.PointCloud has been renamed to params.Points.");return this.Points}}})}function sf(a, -b){return a.distance-b.distance}function ue(a,b,c,d){if(!1!==a.visible&&(a.raycast(b,c),!0===d)){a=a.children;d=0;for(var e=a.length;dc;c++,d++){var e=c/32*Math.PI*2,f=d/32*Math.PI*2;b.push(Math.cos(e),Math.sin(e),1,Math.cos(f),Math.sin(f),1)}a.addAttribute("position",new A(b,3));b=new V({fog:!1});this.cone=new Z(a,b);this.add(this.cone); -this.update()}function wf(a){var b=[];a&&a.isBone&&b.push(a);for(var c=0;ca?-1:0b;b++)a[b]=(16>b?"0":"")+b.toString(16); -return function(){var b=4294967295*Math.random()|0,d=4294967295*Math.random()|0,e=4294967295*Math.random()|0,f=4294967295*Math.random()|0;return(a[b&255]+a[b>>8&255]+a[b>>16&255]+a[b>>24&255]+"-"+a[d&255]+a[d>>8&255]+"-"+a[d>>16&15|64]+a[d>>24&255]+"-"+a[e&63|128]+a[e>>8&255]+"-"+a[e>>16&255]+a[e>>24&255]+a[f&255]+a[f>>8&255]+a[f>>16&255]+a[f>>24&255]).toUpperCase()}}(),clamp:function(a,b,c){return Math.max(b,Math.min(c,a))},euclideanModulo:function(a,b){return(a%b+b)%b},mapLinear:function(a,b,c, -d,e){return d+(a-b)*(e-d)/(c-b)},lerp:function(a,b,c){return(1-c)*a+c*b},smoothstep:function(a,b,c){if(a<=b)return 0;if(a>=c)return 1;a=(a-b)/(c-b);return a*a*(3-2*a)},smootherstep:function(a,b,c){if(a<=b)return 0;if(a>=c)return 1;a=(a-b)/(c-b);return a*a*a*(a*(6*a-15)+10)},randInt:function(a,b){return a+Math.floor(Math.random()*(b-a+1))},randFloat:function(a,b){return a+Math.random()*(b-a)},randFloatSpread:function(a){return a*(.5-Math.random())},degToRad:function(a){return a*K.DEG2RAD},radToDeg:function(a){return a* -K.RAD2DEG},isPowerOfTwo:function(a){return 0===(a&a-1)&&0!==a},ceilPowerOfTwo:function(a){return Math.pow(2,Math.ceil(Math.log(a)/Math.LN2))},floorPowerOfTwo:function(a){return Math.pow(2,Math.floor(Math.log(a)/Math.LN2))}};Object.defineProperties(z.prototype,{width:{get:function(){return this.x},set:function(a){this.x=a}},height:{get:function(){return this.y},set:function(a){this.y=a}}});Object.assign(z.prototype,{isVector2:!0,set:function(a,b){this.x=a;this.y=b;return this},setScalar:function(a){this.y= -this.x=a;return this},setX:function(a){this.x=a;return this},setY:function(a){this.y=a;return this},setComponent:function(a,b){switch(a){case 0:this.x=b;break;case 1:this.y=b;break;default:throw Error("index is out of range: "+a);}return this},getComponent:function(a){switch(a){case 0:return this.x;case 1:return this.y;default:throw Error("index is out of range: "+a);}},clone:function(){return new this.constructor(this.x,this.y)},copy:function(a){this.x=a.x;this.y=a.y;return this},add:function(a, -b){if(void 0!==b)return console.warn("THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(a,b);this.x+=a.x;this.y+=a.y;return this},addScalar:function(a){this.x+=a;this.y+=a;return this},addVectors:function(a,b){this.x=a.x+b.x;this.y=a.y+b.y;return this},addScaledVector:function(a,b){this.x+=a.x*b;this.y+=a.y*b;return this},sub:function(a,b){if(void 0!==b)return console.warn("THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."), -this.subVectors(a,b);this.x-=a.x;this.y-=a.y;return this},subScalar:function(a){this.x-=a;this.y-=a;return this},subVectors:function(a,b){this.x=a.x-b.x;this.y=a.y-b.y;return this},multiply:function(a){this.x*=a.x;this.y*=a.y;return this},multiplyScalar:function(a){this.x*=a;this.y*=a;return this},divide:function(a){this.x/=a.x;this.y/=a.y;return this},divideScalar:function(a){return this.multiplyScalar(1/a)},applyMatrix3:function(a){var b=this.x,c=this.y;a=a.elements;this.x=a[0]*b+a[3]*c+a[6];this.y= -a[1]*b+a[4]*c+a[7];return this},min:function(a){this.x=Math.min(this.x,a.x);this.y=Math.min(this.y,a.y);return this},max:function(a){this.x=Math.max(this.x,a.x);this.y=Math.max(this.y,a.y);return this},clamp:function(a,b){this.x=Math.max(a.x,Math.min(b.x,this.x));this.y=Math.max(a.y,Math.min(b.y,this.y));return this},clampScalar:function(){var a=new z,b=new z;return function(c,d){a.set(c,c);b.set(d,d);return this.clamp(a,b)}}(),clampLength:function(a,b){var c=this.length();return this.divideScalar(c|| -1).multiplyScalar(Math.max(a,Math.min(b,c)))},floor:function(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);return this},ceil:function(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);return this},round:function(){this.x=Math.round(this.x);this.y=Math.round(this.y);return this},roundToZero:function(){this.x=0>this.x?Math.ceil(this.x):Math.floor(this.x);this.y=0>this.y?Math.ceil(this.y):Math.floor(this.y);return this},negate:function(){this.x=-this.x;this.y=-this.y;return this},dot:function(a){return this.x* -a.x+this.y*a.y},cross:function(a){return this.x*a.y-this.y*a.x},lengthSq:function(){return this.x*this.x+this.y*this.y},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},manhattanLength:function(){return Math.abs(this.x)+Math.abs(this.y)},normalize:function(){return this.divideScalar(this.length()||1)},angle:function(){var a=Math.atan2(this.y,this.x);0>a&&(a+=2*Math.PI);return a},distanceTo:function(a){return Math.sqrt(this.distanceToSquared(a))},distanceToSquared:function(a){var b= -this.x-a.x;a=this.y-a.y;return b*b+a*a},manhattanDistanceTo:function(a){return Math.abs(this.x-a.x)+Math.abs(this.y-a.y)},setLength:function(a){return this.normalize().multiplyScalar(a)},lerp:function(a,b){this.x+=(a.x-this.x)*b;this.y+=(a.y-this.y)*b;return this},lerpVectors:function(a,b,c){return this.subVectors(b,a).multiplyScalar(c).add(a)},equals:function(a){return a.x===this.x&&a.y===this.y},fromArray:function(a,b){void 0===b&&(b=0);this.x=a[b];this.y=a[b+1];return this},toArray:function(a, -b){void 0===a&&(a=[]);void 0===b&&(b=0);a[b]=this.x;a[b+1]=this.y;return a},fromBufferAttribute:function(a,b,c){void 0!==c&&console.warn("THREE.Vector2: offset has been removed from .fromBufferAttribute().");this.x=a.getX(b);this.y=a.getY(b);return this},rotateAround:function(a,b){var c=Math.cos(b);b=Math.sin(b);var d=this.x-a.x,e=this.y-a.y;this.x=d*c-e*b+a.x;this.y=d*b+e*c+a.y;return this}});Object.assign(J.prototype,{isMatrix4:!0,set:function(a,b,c,d,e,f,g,h,k,m,t,n,l,u,r,p){var q=this.elements; -q[0]=a;q[4]=b;q[8]=c;q[12]=d;q[1]=e;q[5]=f;q[9]=g;q[13]=h;q[2]=k;q[6]=m;q[10]=t;q[14]=n;q[3]=l;q[7]=u;q[11]=r;q[15]=p;return this},identity:function(){this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);return this},clone:function(){return(new J).fromArray(this.elements)},copy:function(a){var b=this.elements;a=a.elements;b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];b[9]=a[9];b[10]=a[10];b[11]=a[11];b[12]=a[12];b[13]=a[13];b[14]=a[14];b[15]=a[15];return this},copyPosition:function(a){var b= -this.elements;a=a.elements;b[12]=a[12];b[13]=a[13];b[14]=a[14];return this},extractBasis:function(a,b,c){a.setFromMatrixColumn(this,0);b.setFromMatrixColumn(this,1);c.setFromMatrixColumn(this,2);return this},makeBasis:function(a,b,c){this.set(a.x,b.x,c.x,0,a.y,b.y,c.y,0,a.z,b.z,c.z,0,0,0,0,1);return this},extractRotation:function(){var a=new p;return function(b){var c=this.elements,d=b.elements,e=1/a.setFromMatrixColumn(b,0).length(),f=1/a.setFromMatrixColumn(b,1).length();b=1/a.setFromMatrixColumn(b, -2).length();c[0]=d[0]*e;c[1]=d[1]*e;c[2]=d[2]*e;c[3]=0;c[4]=d[4]*f;c[5]=d[5]*f;c[6]=d[6]*f;c[7]=0;c[8]=d[8]*b;c[9]=d[9]*b;c[10]=d[10]*b;c[11]=0;c[12]=0;c[13]=0;c[14]=0;c[15]=1;return this}}(),makeRotationFromEuler:function(a){a&&a.isEuler||console.error("THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.");var b=this.elements,c=a.x,d=a.y,e=a.z,f=Math.cos(c);c=Math.sin(c);var g=Math.cos(d);d=Math.sin(d);var h=Math.cos(e);e=Math.sin(e);if("XYZ"===a.order){a= -f*h;var k=f*e,m=c*h,t=c*e;b[0]=g*h;b[4]=-g*e;b[8]=d;b[1]=k+m*d;b[5]=a-t*d;b[9]=-c*g;b[2]=t-a*d;b[6]=m+k*d;b[10]=f*g}else"YXZ"===a.order?(a=g*h,k=g*e,m=d*h,t=d*e,b[0]=a+t*c,b[4]=m*c-k,b[8]=f*d,b[1]=f*e,b[5]=f*h,b[9]=-c,b[2]=k*c-m,b[6]=t+a*c,b[10]=f*g):"ZXY"===a.order?(a=g*h,k=g*e,m=d*h,t=d*e,b[0]=a-t*c,b[4]=-f*e,b[8]=m+k*c,b[1]=k+m*c,b[5]=f*h,b[9]=t-a*c,b[2]=-f*d,b[6]=c,b[10]=f*g):"ZYX"===a.order?(a=f*h,k=f*e,m=c*h,t=c*e,b[0]=g*h,b[4]=m*d-k,b[8]=a*d+t,b[1]=g*e,b[5]=t*d+a,b[9]=k*d-m,b[2]=-d,b[6]=c* -g,b[10]=f*g):"YZX"===a.order?(a=f*g,k=f*d,m=c*g,t=c*d,b[0]=g*h,b[4]=t-a*e,b[8]=m*e+k,b[1]=e,b[5]=f*h,b[9]=-c*h,b[2]=-d*h,b[6]=k*e+m,b[10]=a-t*e):"XZY"===a.order&&(a=f*g,k=f*d,m=c*g,t=c*d,b[0]=g*h,b[4]=-e,b[8]=d*h,b[1]=a*e+t,b[5]=f*h,b[9]=k*e-m,b[2]=m*e-k,b[6]=c*h,b[10]=t*e+a);b[3]=0;b[7]=0;b[11]=0;b[12]=0;b[13]=0;b[14]=0;b[15]=1;return this},makeRotationFromQuaternion:function(){var a=new p(0,0,0),b=new p(1,1,1);return function(c){return this.compose(a,c,b)}}(),lookAt:function(){var a=new p,b=new p, -c=new p;return function(d,e,f){var g=this.elements;c.subVectors(d,e);0===c.lengthSq()&&(c.z=1);c.normalize();a.crossVectors(f,c);0===a.lengthSq()&&(1===Math.abs(f.z)?c.x+=1E-4:c.z+=1E-4,c.normalize(),a.crossVectors(f,c));a.normalize();b.crossVectors(c,a);g[0]=a.x;g[4]=b.x;g[8]=c.x;g[1]=a.y;g[5]=b.y;g[9]=c.y;g[2]=a.z;g[6]=b.z;g[10]=c.z;return this}}(),multiply:function(a,b){return void 0!==b?(console.warn("THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead."), -this.multiplyMatrices(a,b)):this.multiplyMatrices(this,a)},premultiply:function(a){return this.multiplyMatrices(a,this)},multiplyMatrices:function(a,b){var c=a.elements,d=b.elements;b=this.elements;a=c[0];var e=c[4],f=c[8],g=c[12],h=c[1],k=c[5],m=c[9],t=c[13],n=c[2],l=c[6],u=c[10],r=c[14],p=c[3],y=c[7],x=c[11];c=c[15];var w=d[0],G=d[4],D=d[8],O=d[12],z=d[1],E=d[5],A=d[9],B=d[13],I=d[2],H=d[6],F=d[10],L=d[14],M=d[3],J=d[7],K=d[11];d=d[15];b[0]=a*w+e*z+f*I+g*M;b[4]=a*G+e*E+f*H+g*J;b[8]=a*D+e*A+f*F+ -g*K;b[12]=a*O+e*B+f*L+g*d;b[1]=h*w+k*z+m*I+t*M;b[5]=h*G+k*E+m*H+t*J;b[9]=h*D+k*A+m*F+t*K;b[13]=h*O+k*B+m*L+t*d;b[2]=n*w+l*z+u*I+r*M;b[6]=n*G+l*E+u*H+r*J;b[10]=n*D+l*A+u*F+r*K;b[14]=n*O+l*B+u*L+r*d;b[3]=p*w+y*z+x*I+c*M;b[7]=p*G+y*E+x*H+c*J;b[11]=p*D+y*A+x*F+c*K;b[15]=p*O+y*B+x*L+c*d;return this},multiplyScalar:function(a){var b=this.elements;b[0]*=a;b[4]*=a;b[8]*=a;b[12]*=a;b[1]*=a;b[5]*=a;b[9]*=a;b[13]*=a;b[2]*=a;b[6]*=a;b[10]*=a;b[14]*=a;b[3]*=a;b[7]*=a;b[11]*=a;b[15]*=a;return this},applyToBufferAttribute:function(){var a= -new p;return function(b){for(var c=0,d=b.count;cthis.determinant()&&(g=-g);c.x=f[12];c.y=f[13];c.z=f[14];b.copy(this);c=1/g;f=1/h;var m=1/k;b.elements[0]*=c;b.elements[1]*=c;b.elements[2]*=c;b.elements[4]*=f;b.elements[5]*=f;b.elements[6]*=f;b.elements[8]*=m;b.elements[9]*=m;b.elements[10]*=m;d.setFromRotationMatrix(b);e.x=g;e.y=h;e.z=k;return this}}(),makePerspective:function(a,b,c,d,e,f){void 0===f&&console.warn("THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs."); -var g=this.elements;g[0]=2*e/(b-a);g[4]=0;g[8]=(b+a)/(b-a);g[12]=0;g[1]=0;g[5]=2*e/(c-d);g[9]=(c+d)/(c-d);g[13]=0;g[2]=0;g[6]=0;g[10]=-(f+e)/(f-e);g[14]=-2*f*e/(f-e);g[3]=0;g[7]=0;g[11]=-1;g[15]=0;return this},makeOrthographic:function(a,b,c,d,e,f){var g=this.elements,h=1/(b-a),k=1/(c-d),m=1/(f-e);g[0]=2*h;g[4]=0;g[8]=0;g[12]=-((b+a)*h);g[1]=0;g[5]=2*k;g[9]=0;g[13]=-((c+d)*k);g[2]=0;g[6]=0;g[10]=-2*m;g[14]=-((f+e)*m);g[3]=0;g[7]=0;g[11]=0;g[15]=1;return this},equals:function(a){var b=this.elements; -a=a.elements;for(var c=0;16>c;c++)if(b[c]!==a[c])return!1;return!0},fromArray:function(a,b){void 0===b&&(b=0);for(var c=0;16>c;c++)this.elements[c]=a[c+b];return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);var c=this.elements;a[b]=c[0];a[b+1]=c[1];a[b+2]=c[2];a[b+3]=c[3];a[b+4]=c[4];a[b+5]=c[5];a[b+6]=c[6];a[b+7]=c[7];a[b+8]=c[8];a[b+9]=c[9];a[b+10]=c[10];a[b+11]=c[11];a[b+12]=c[12];a[b+13]=c[13];a[b+14]=c[14];a[b+15]=c[15];return a}});Object.assign(ha,{slerp:function(a,b,c,d){return c.copy(a).slerp(b, -d)},slerpFlat:function(a,b,c,d,e,f,g){var h=c[d+0],k=c[d+1],m=c[d+2];c=c[d+3];d=e[f+0];var l=e[f+1],n=e[f+2];e=e[f+3];if(c!==e||h!==d||k!==l||m!==n){f=1-g;var q=h*d+k*l+m*n+c*e,u=0<=q?1:-1,r=1-q*q;r>Number.EPSILON&&(r=Math.sqrt(r),q=Math.atan2(r,q*u),f=Math.sin(f*q)/r,g=Math.sin(g*q)/r);u*=g;h=h*f+d*u;k=k*f+l*u;m=m*f+n*u;c=c*f+e*u;f===1-g&&(g=1/Math.sqrt(h*h+k*k+m*m+c*c),h*=g,k*=g,m*=g,c*=g)}a[b]=h;a[b+1]=k;a[b+2]=m;a[b+3]=c}});Object.defineProperties(ha.prototype,{x:{get:function(){return this._x}, -set:function(a){this._x=a;this.onChangeCallback()}},y:{get:function(){return this._y},set:function(a){this._y=a;this.onChangeCallback()}},z:{get:function(){return this._z},set:function(a){this._z=a;this.onChangeCallback()}},w:{get:function(){return this._w},set:function(a){this._w=a;this.onChangeCallback()}}});Object.assign(ha.prototype,{set:function(a,b,c,d){this._x=a;this._y=b;this._z=c;this._w=d;this.onChangeCallback();return this},clone:function(){return new this.constructor(this._x,this._y,this._z, -this._w)},copy:function(a){this._x=a.x;this._y=a.y;this._z=a.z;this._w=a.w;this.onChangeCallback();return this},setFromEuler:function(a,b){if(!a||!a.isEuler)throw Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");var c=a._x,d=a._y,e=a._z;a=a.order;var f=Math.cos,g=Math.sin,h=f(c/2),k=f(d/2);f=f(e/2);c=g(c/2);d=g(d/2);e=g(e/2);"XYZ"===a?(this._x=c*k*f+h*d*e,this._y=h*d*f-c*k*e,this._z=h*k*e+c*d*f,this._w=h*k*f-c*d*e):"YXZ"===a?(this._x=c*k*f+ -h*d*e,this._y=h*d*f-c*k*e,this._z=h*k*e-c*d*f,this._w=h*k*f+c*d*e):"ZXY"===a?(this._x=c*k*f-h*d*e,this._y=h*d*f+c*k*e,this._z=h*k*e+c*d*f,this._w=h*k*f-c*d*e):"ZYX"===a?(this._x=c*k*f-h*d*e,this._y=h*d*f+c*k*e,this._z=h*k*e-c*d*f,this._w=h*k*f+c*d*e):"YZX"===a?(this._x=c*k*f+h*d*e,this._y=h*d*f+c*k*e,this._z=h*k*e-c*d*f,this._w=h*k*f-c*d*e):"XZY"===a&&(this._x=c*k*f-h*d*e,this._y=h*d*f-c*k*e,this._z=h*k*e+c*d*f,this._w=h*k*f+c*d*e);if(!1!==b)this.onChangeCallback();return this},setFromAxisAngle:function(a, -b){b/=2;var c=Math.sin(b);this._x=a.x*c;this._y=a.y*c;this._z=a.z*c;this._w=Math.cos(b);this.onChangeCallback();return this},setFromRotationMatrix:function(a){var b=a.elements,c=b[0];a=b[4];var d=b[8],e=b[1],f=b[5],g=b[9],h=b[2],k=b[6];b=b[10];var m=c+f+b;0f&&c>b?(c=2*Math.sqrt(1+c-f-b),this._w=(k-g)/c,this._x=.25*c,this._y=(a+e)/c,this._z=(d+h)/c):f>b?(c=2*Math.sqrt(1+f-c-b),this._w=(d-h)/c,this._x=(a+e)/c,this._y= -.25*c,this._z=(g+k)/c):(c=2*Math.sqrt(1+b-c-f),this._w=(e-a)/c,this._x=(d+h)/c,this._y=(g+k)/c,this._z=.25*c);this.onChangeCallback();return this},setFromUnitVectors:function(){var a=new p,b;return function(c,d){void 0===a&&(a=new p);b=c.dot(d)+1;1E-6>b?(b=0,Math.abs(c.x)>Math.abs(c.z)?a.set(-c.y,c.x,0):a.set(0,-c.z,c.y)):a.crossVectors(c,d);this._x=a.x;this._y=a.y;this._z=a.z;this._w=b;return this.normalize()}}(),angleTo:function(a){return 2*Math.acos(Math.abs(K.clamp(this.dot(a),-1,1)))},rotateTowards:function(a, -b){var c=this.angleTo(a);if(0===c)return this;this.slerp(a,Math.min(1,b/c));return this},inverse:function(){return this.conjugate()},conjugate:function(){this._x*=-1;this._y*=-1;this._z*=-1;this.onChangeCallback();return this},dot:function(a){return this._x*a._x+this._y*a._y+this._z*a._z+this._w*a._w},lengthSq:function(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w},length:function(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)},normalize:function(){var a= -this.length();0===a?(this._z=this._y=this._x=0,this._w=1):(a=1/a,this._x*=a,this._y*=a,this._z*=a,this._w*=a);this.onChangeCallback();return this},multiply:function(a,b){return void 0!==b?(console.warn("THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),this.multiplyQuaternions(a,b)):this.multiplyQuaternions(this,a)},premultiply:function(a){return this.multiplyQuaternions(a,this)},multiplyQuaternions:function(a,b){var c=a._x,d=a._y,e=a._z;a=a._w; -var f=b._x,g=b._y,h=b._z;b=b._w;this._x=c*b+a*f+d*h-e*g;this._y=d*b+a*g+e*f-c*h;this._z=e*b+a*h+c*g-d*f;this._w=a*b-c*f-d*g-e*h;this.onChangeCallback();return this},slerp:function(a,b){if(0===b)return this;if(1===b)return this.copy(a);var c=this._x,d=this._y,e=this._z,f=this._w,g=f*a._w+c*a._x+d*a._y+e*a._z;0>g?(this._w=-a._w,this._x=-a._x,this._y=-a._y,this._z=-a._z,g=-g):this.copy(a);if(1<=g)return this._w=f,this._x=c,this._y=d,this._z=e,this;a=1-g*g;if(a<=Number.EPSILON)return g=1-b,this._w=g* -f+b*this._w,this._x=g*c+b*this._x,this._y=g*d+b*this._y,this._z=g*e+b*this._z,this.normalize();a=Math.sqrt(a);var h=Math.atan2(a,g);g=Math.sin((1-b)*h)/a;b=Math.sin(b*h)/a;this._w=f*g+this._w*b;this._x=c*g+this._x*b;this._y=d*g+this._y*b;this._z=e*g+this._z*b;this.onChangeCallback();return this},equals:function(a){return a._x===this._x&&a._y===this._y&&a._z===this._z&&a._w===this._w},fromArray:function(a,b){void 0===b&&(b=0);this._x=a[b];this._y=a[b+1];this._z=a[b+2];this._w=a[b+3];this.onChangeCallback(); -return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);a[b]=this._x;a[b+1]=this._y;a[b+2]=this._z;a[b+3]=this._w;return a},onChange:function(a){this.onChangeCallback=a;return this},onChangeCallback:function(){}});Object.assign(p.prototype,{isVector3:!0,set:function(a,b,c){this.x=a;this.y=b;this.z=c;return this},setScalar:function(a){this.z=this.y=this.x=a;return this},setX:function(a){this.x=a;return this},setY:function(a){this.y=a;return this},setZ:function(a){this.z=a;return this}, -setComponent:function(a,b){switch(a){case 0:this.x=b;break;case 1:this.y=b;break;case 2:this.z=b;break;default:throw Error("index is out of range: "+a);}return this},getComponent:function(a){switch(a){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw Error("index is out of range: "+a);}},clone:function(){return new this.constructor(this.x,this.y,this.z)},copy:function(a){this.x=a.x;this.y=a.y;this.z=a.z;return this},add:function(a,b){if(void 0!==b)return console.warn("THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead."), -this.addVectors(a,b);this.x+=a.x;this.y+=a.y;this.z+=a.z;return this},addScalar:function(a){this.x+=a;this.y+=a;this.z+=a;return this},addVectors:function(a,b){this.x=a.x+b.x;this.y=a.y+b.y;this.z=a.z+b.z;return this},addScaledVector:function(a,b){this.x+=a.x*b;this.y+=a.y*b;this.z+=a.z*b;return this},sub:function(a,b){if(void 0!==b)return console.warn("THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(a,b);this.x-=a.x;this.y-=a.y;this.z-=a.z; -return this},subScalar:function(a){this.x-=a;this.y-=a;this.z-=a;return this},subVectors:function(a,b){this.x=a.x-b.x;this.y=a.y-b.y;this.z=a.z-b.z;return this},multiply:function(a,b){if(void 0!==b)return console.warn("THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."),this.multiplyVectors(a,b);this.x*=a.x;this.y*=a.y;this.z*=a.z;return this},multiplyScalar:function(a){this.x*=a;this.y*=a;this.z*=a;return this},multiplyVectors:function(a,b){this.x=a.x* -b.x;this.y=a.y*b.y;this.z=a.z*b.z;return this},applyEuler:function(){var a=new ha;return function(b){b&&b.isEuler||console.error("THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order.");return this.applyQuaternion(a.setFromEuler(b))}}(),applyAxisAngle:function(){var a=new ha;return function(b,c){return this.applyQuaternion(a.setFromAxisAngle(b,c))}}(),applyMatrix3:function(a){var b=this.x,c=this.y,d=this.z;a=a.elements;this.x=a[0]*b+a[3]*c+a[6]*d;this.y=a[1]* -b+a[4]*c+a[7]*d;this.z=a[2]*b+a[5]*c+a[8]*d;return this},applyMatrix4:function(a){var b=this.x,c=this.y,d=this.z;a=a.elements;var e=1/(a[3]*b+a[7]*c+a[11]*d+a[15]);this.x=(a[0]*b+a[4]*c+a[8]*d+a[12])*e;this.y=(a[1]*b+a[5]*c+a[9]*d+a[13])*e;this.z=(a[2]*b+a[6]*c+a[10]*d+a[14])*e;return this},applyQuaternion:function(a){var b=this.x,c=this.y,d=this.z,e=a.x,f=a.y,g=a.z;a=a.w;var h=a*b+f*d-g*c,k=a*c+g*b-e*d,m=a*d+e*c-f*b;b=-e*b-f*c-g*d;this.x=h*a+b*-e+k*-g-m*-f;this.y=k*a+b*-f+m*-e-h*-g;this.z=m*a+b* --g+h*-f-k*-e;return this},project:function(a){return this.applyMatrix4(a.matrixWorldInverse).applyMatrix4(a.projectionMatrix)},unproject:function(){var a=new J;return function(b){return this.applyMatrix4(a.getInverse(b.projectionMatrix)).applyMatrix4(b.matrixWorld)}}(),transformDirection:function(a){var b=this.x,c=this.y,d=this.z;a=a.elements;this.x=a[0]*b+a[4]*c+a[8]*d;this.y=a[1]*b+a[5]*c+a[9]*d;this.z=a[2]*b+a[6]*c+a[10]*d;return this.normalize()},divide:function(a){this.x/=a.x;this.y/=a.y;this.z/= -a.z;return this},divideScalar:function(a){return this.multiplyScalar(1/a)},min:function(a){this.x=Math.min(this.x,a.x);this.y=Math.min(this.y,a.y);this.z=Math.min(this.z,a.z);return this},max:function(a){this.x=Math.max(this.x,a.x);this.y=Math.max(this.y,a.y);this.z=Math.max(this.z,a.z);return this},clamp:function(a,b){this.x=Math.max(a.x,Math.min(b.x,this.x));this.y=Math.max(a.y,Math.min(b.y,this.y));this.z=Math.max(a.z,Math.min(b.z,this.z));return this},clampScalar:function(){var a=new p,b=new p; -return function(c,d){a.set(c,c,c);b.set(d,d,d);return this.clamp(a,b)}}(),clampLength:function(a,b){var c=this.length();return this.divideScalar(c||1).multiplyScalar(Math.max(a,Math.min(b,c)))},floor:function(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);this.z=Math.floor(this.z);return this},ceil:function(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);this.z=Math.ceil(this.z);return this},round:function(){this.x=Math.round(this.x);this.y=Math.round(this.y);this.z=Math.round(this.z); -return this},roundToZero:function(){this.x=0>this.x?Math.ceil(this.x):Math.floor(this.x);this.y=0>this.y?Math.ceil(this.y):Math.floor(this.y);this.z=0>this.z?Math.ceil(this.z):Math.floor(this.z);return this},negate:function(){this.x=-this.x;this.y=-this.y;this.z=-this.z;return this},dot:function(a){return this.x*a.x+this.y*a.y+this.z*a.z},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},manhattanLength:function(){return Math.abs(this.x)+ -Math.abs(this.y)+Math.abs(this.z)},normalize:function(){return this.divideScalar(this.length()||1)},setLength:function(a){return this.normalize().multiplyScalar(a)},lerp:function(a,b){this.x+=(a.x-this.x)*b;this.y+=(a.y-this.y)*b;this.z+=(a.z-this.z)*b;return this},lerpVectors:function(a,b,c){return this.subVectors(b,a).multiplyScalar(c).add(a)},cross:function(a,b){return void 0!==b?(console.warn("THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(a, -b)):this.crossVectors(this,a)},crossVectors:function(a,b){var c=a.x,d=a.y;a=a.z;var e=b.x,f=b.y;b=b.z;this.x=d*b-a*f;this.y=a*e-c*b;this.z=c*f-d*e;return this},projectOnVector:function(a){var b=a.dot(this)/a.lengthSq();return this.copy(a).multiplyScalar(b)},projectOnPlane:function(){var a=new p;return function(b){a.copy(this).projectOnVector(b);return this.sub(a)}}(),reflect:function(){var a=new p;return function(b){return this.sub(a.copy(b).multiplyScalar(2*this.dot(b)))}}(),angleTo:function(a){a= -this.dot(a)/Math.sqrt(this.lengthSq()*a.lengthSq());return Math.acos(K.clamp(a,-1,1))},distanceTo:function(a){return Math.sqrt(this.distanceToSquared(a))},distanceToSquared:function(a){var b=this.x-a.x,c=this.y-a.y;a=this.z-a.z;return b*b+c*c+a*a},manhattanDistanceTo:function(a){return Math.abs(this.x-a.x)+Math.abs(this.y-a.y)+Math.abs(this.z-a.z)},setFromSpherical:function(a){return this.setFromSphericalCoords(a.radius,a.phi,a.theta)},setFromSphericalCoords:function(a,b,c){var d=Math.sin(b)*a;this.x= -d*Math.sin(c);this.y=Math.cos(b)*a;this.z=d*Math.cos(c);return this},setFromCylindrical:function(a){return this.setFromCylindricalCoords(a.radius,a.theta,a.y)},setFromCylindricalCoords:function(a,b,c){this.x=a*Math.sin(b);this.y=c;this.z=a*Math.cos(b);return this},setFromMatrixPosition:function(a){a=a.elements;this.x=a[12];this.y=a[13];this.z=a[14];return this},setFromMatrixScale:function(a){var b=this.setFromMatrixColumn(a,0).length(),c=this.setFromMatrixColumn(a,1).length();a=this.setFromMatrixColumn(a, -2).length();this.x=b;this.y=c;this.z=a;return this},setFromMatrixColumn:function(a,b){return this.fromArray(a.elements,4*b)},equals:function(a){return a.x===this.x&&a.y===this.y&&a.z===this.z},fromArray:function(a,b){void 0===b&&(b=0);this.x=a[b];this.y=a[b+1];this.z=a[b+2];return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);a[b]=this.x;a[b+1]=this.y;a[b+2]=this.z;return a},fromBufferAttribute:function(a,b,c){void 0!==c&&console.warn("THREE.Vector3: offset has been removed from .fromBufferAttribute()."); -this.x=a.getX(b);this.y=a.getY(b);this.z=a.getZ(b);return this}});Object.assign(na.prototype,{isMatrix3:!0,set:function(a,b,c,d,e,f,g,h,k){var m=this.elements;m[0]=a;m[1]=d;m[2]=g;m[3]=b;m[4]=e;m[5]=h;m[6]=c;m[7]=f;m[8]=k;return this},identity:function(){this.set(1,0,0,0,1,0,0,0,1);return this},clone:function(){return(new this.constructor).fromArray(this.elements)},copy:function(a){var b=this.elements;a=a.elements;b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]= -a[8];return this},setFromMatrix4:function(a){a=a.elements;this.set(a[0],a[4],a[8],a[1],a[5],a[9],a[2],a[6],a[10]);return this},applyToBufferAttribute:function(){var a=new p;return function(b){for(var c=0,d=b.count;cc;c++)if(b[c]!==a[c])return!1;return!0},fromArray:function(a,b){void 0===b&&(b=0);for(var c=0;9>c;c++)this.elements[c]=a[c+b];return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);var c=this.elements;a[b]=c[0];a[b+1]=c[1];a[b+2]=c[2];a[b+3]=c[3];a[b+4]=c[4];a[b+5]=c[5];a[b+6]=c[6];a[b+7]=c[7];a[b+8]=c[8]; -return a}});var gb={getDataURL:function(a){if(a instanceof HTMLCanvasElement)var b=a;else{b=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");b.width=a.width;b.height=a.height;var c=b.getContext("2d");a instanceof ImageData?c.putImageData(a,0,0):c.drawImage(a,0,0,a.width,a.height)}return 2048a.x||1a.x?0:1;break;case 1002:a.x=1===Math.abs(Math.floor(a.x)%2)?Math.ceil(a.x)-a.x:a.x-Math.floor(a.x)}if(0>a.y||1a.y?0:1;break;case 1002:a.y=1===Math.abs(Math.floor(a.y)%2)?Math.ceil(a.y)-a.y:a.y-Math.floor(a.y)}this.flipY&&(a.y=1-a.y);return a}});Object.defineProperty(T.prototype,"needsUpdate",{set:function(a){!0===a&&this.version++}});Object.assign(aa.prototype,{isVector4:!0,set:function(a,b,c,d){this.x=a;this.y=b;this.z=c;this.w=d;return this},setScalar:function(a){this.w=this.z=this.y=this.x=a;return this},setX:function(a){this.x=a;return this},setY:function(a){this.y= -a;return this},setZ:function(a){this.z=a;return this},setW:function(a){this.w=a;return this},setComponent:function(a,b){switch(a){case 0:this.x=b;break;case 1:this.y=b;break;case 2:this.z=b;break;case 3:this.w=b;break;default:throw Error("index is out of range: "+a);}return this},getComponent:function(a){switch(a){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw Error("index is out of range: "+a);}},clone:function(){return new this.constructor(this.x, -this.y,this.z,this.w)},copy:function(a){this.x=a.x;this.y=a.y;this.z=a.z;this.w=void 0!==a.w?a.w:1;return this},add:function(a,b){if(void 0!==b)return console.warn("THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(a,b);this.x+=a.x;this.y+=a.y;this.z+=a.z;this.w+=a.w;return this},addScalar:function(a){this.x+=a;this.y+=a;this.z+=a;this.w+=a;return this},addVectors:function(a,b){this.x=a.x+b.x;this.y=a.y+b.y;this.z=a.z+b.z;this.w=a.w+b.w;return this}, -addScaledVector:function(a,b){this.x+=a.x*b;this.y+=a.y*b;this.z+=a.z*b;this.w+=a.w*b;return this},sub:function(a,b){if(void 0!==b)return console.warn("THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(a,b);this.x-=a.x;this.y-=a.y;this.z-=a.z;this.w-=a.w;return this},subScalar:function(a){this.x-=a;this.y-=a;this.z-=a;this.w-=a;return this},subVectors:function(a,b){this.x=a.x-b.x;this.y=a.y-b.y;this.z=a.z-b.z;this.w=a.w-b.w;return this},multiplyScalar:function(a){this.x*= -a;this.y*=a;this.z*=a;this.w*=a;return this},applyMatrix4:function(a){var b=this.x,c=this.y,d=this.z,e=this.w;a=a.elements;this.x=a[0]*b+a[4]*c+a[8]*d+a[12]*e;this.y=a[1]*b+a[5]*c+a[9]*d+a[13]*e;this.z=a[2]*b+a[6]*c+a[10]*d+a[14]*e;this.w=a[3]*b+a[7]*c+a[11]*d+a[15]*e;return this},divideScalar:function(a){return this.multiplyScalar(1/a)},setAxisAngleFromQuaternion:function(a){this.w=2*Math.acos(a.w);var b=Math.sqrt(1-a.w*a.w);1E-4>b?(this.x=1,this.z=this.y=0):(this.x=a.x/b,this.y=a.y/b,this.z=a.z/ -b);return this},setAxisAngleFromRotationMatrix:function(a){a=a.elements;var b=a[0];var c=a[4];var d=a[8],e=a[1],f=a[5],g=a[9];var h=a[2];var k=a[6];var m=a[10];if(.01>Math.abs(c-e)&&.01>Math.abs(d-h)&&.01>Math.abs(g-k)){if(.1>Math.abs(c+e)&&.1>Math.abs(d+h)&&.1>Math.abs(g+k)&&.1>Math.abs(b+f+m-3))return this.set(1,0,0,0),this;a=Math.PI;b=(b+1)/2;f=(f+1)/2;m=(m+1)/2;c=(c+e)/4;d=(d+h)/4;g=(g+k)/4;b>f&&b>m?.01>b?(k=0,c=h=.707106781):(k=Math.sqrt(b),h=c/k,c=d/k):f>m?.01>f?(k=.707106781,h=0,c=.707106781): -(h=Math.sqrt(f),k=c/h,c=g/h):.01>m?(h=k=.707106781,c=0):(c=Math.sqrt(m),k=d/c,h=g/c);this.set(k,h,c,a);return this}a=Math.sqrt((k-g)*(k-g)+(d-h)*(d-h)+(e-c)*(e-c));.001>Math.abs(a)&&(a=1);this.x=(k-g)/a;this.y=(d-h)/a;this.z=(e-c)/a;this.w=Math.acos((b+f+m-1)/2);return this},min:function(a){this.x=Math.min(this.x,a.x);this.y=Math.min(this.y,a.y);this.z=Math.min(this.z,a.z);this.w=Math.min(this.w,a.w);return this},max:function(a){this.x=Math.max(this.x,a.x);this.y=Math.max(this.y,a.y);this.z=Math.max(this.z, -a.z);this.w=Math.max(this.w,a.w);return this},clamp:function(a,b){this.x=Math.max(a.x,Math.min(b.x,this.x));this.y=Math.max(a.y,Math.min(b.y,this.y));this.z=Math.max(a.z,Math.min(b.z,this.z));this.w=Math.max(a.w,Math.min(b.w,this.w));return this},clampScalar:function(){var a,b;return function(c,d){void 0===a&&(a=new aa,b=new aa);a.set(c,c,c,c);b.set(d,d,d,d);return this.clamp(a,b)}}(),clampLength:function(a,b){var c=this.length();return this.divideScalar(c||1).multiplyScalar(Math.max(a,Math.min(b, -c)))},floor:function(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);this.z=Math.floor(this.z);this.w=Math.floor(this.w);return this},ceil:function(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);this.z=Math.ceil(this.z);this.w=Math.ceil(this.w);return this},round:function(){this.x=Math.round(this.x);this.y=Math.round(this.y);this.z=Math.round(this.z);this.w=Math.round(this.w);return this},roundToZero:function(){this.x=0>this.x?Math.ceil(this.x):Math.floor(this.x);this.y=0>this.y?Math.ceil(this.y): -Math.floor(this.y);this.z=0>this.z?Math.ceil(this.z):Math.floor(this.z);this.w=0>this.w?Math.ceil(this.w):Math.floor(this.w);return this},negate:function(){this.x=-this.x;this.y=-this.y;this.z=-this.z;this.w=-this.w;return this},dot:function(a){return this.x*a.x+this.y*a.y+this.z*a.z+this.w*a.w},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},manhattanLength:function(){return Math.abs(this.x)+ -Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)},normalize:function(){return this.divideScalar(this.length()||1)},setLength:function(a){return this.normalize().multiplyScalar(a)},lerp:function(a,b){this.x+=(a.x-this.x)*b;this.y+=(a.y-this.y)*b;this.z+=(a.z-this.z)*b;this.w+=(a.w-this.w)*b;return this},lerpVectors:function(a,b,c){return this.subVectors(b,a).multiplyScalar(c).add(a)},equals:function(a){return a.x===this.x&&a.y===this.y&&a.z===this.z&&a.w===this.w},fromArray:function(a,b){void 0=== -b&&(b=0);this.x=a[b];this.y=a[b+1];this.z=a[b+2];this.w=a[b+3];return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);a[b]=this.x;a[b+1]=this.y;a[b+2]=this.z;a[b+3]=this.w;return a},fromBufferAttribute:function(a,b,c){void 0!==c&&console.warn("THREE.Vector4: offset has been removed from .fromBufferAttribute().");this.x=a.getX(b);this.y=a.getY(b);this.z=a.getZ(b);this.w=a.getW(b);return this}});hb.prototype=Object.assign(Object.create(ea.prototype),{constructor:hb,isWebGLRenderTarget:!0, -setSize:function(a,b){if(this.width!==a||this.height!==b)this.width=a,this.height=b,this.dispose();this.viewport.set(0,0,a,b);this.scissor.set(0,0,a,b)},clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.width=a.width;this.height=a.height;this.viewport.copy(a.viewport);this.texture=a.texture.clone();this.depthBuffer=a.depthBuffer;this.stencilBuffer=a.stencilBuffer;this.depthTexture=a.depthTexture;return this},dispose:function(){this.dispatchEvent({type:"dispose"})}}); -Ib.prototype=Object.create(hb.prototype);Ib.prototype.constructor=Ib;Ib.prototype.isWebGLRenderTargetCube=!0;ib.prototype=Object.create(T.prototype);ib.prototype.constructor=ib;ib.prototype.isDataTexture=!0;Object.assign(Ua.prototype,{isBox3:!0,set:function(a,b){this.min.copy(a);this.max.copy(b);return this},setFromArray:function(a){for(var b=Infinity,c=Infinity,d=Infinity,e=-Infinity,f=-Infinity,g=-Infinity,h=0,k=a.length;h -e&&(e=m);l>f&&(f=l);n>g&&(g=n)}this.min.set(b,c,d);this.max.set(e,f,g);return this},setFromBufferAttribute:function(a){for(var b=Infinity,c=Infinity,d=Infinity,e=-Infinity,f=-Infinity,g=-Infinity,h=0,k=a.count;he&&(e=m);l>f&&(f=l);n>g&&(g=n)}this.min.set(b,c,d);this.max.set(e,f,g);return this},setFromPoints:function(a){this.makeEmpty();for(var b=0,c=a.length;bthis.max.x||a.ythis.max.y||a.zthis.max.z?!1:!0},containsBox:function(a){return this.min.x<=a.min.x&&a.max.x<=this.max.x&&this.min.y<=a.min.y&&a.max.y<=this.max.y&&this.min.z<=a.min.z&&a.max.z<=this.max.z},getParameter:function(a,b){void 0===b&&(console.warn("THREE.Box3: .getParameter() target is now required"),b=new p);return b.set((a.x-this.min.x)/(this.max.x- -this.min.x),(a.y-this.min.y)/(this.max.y-this.min.y),(a.z-this.min.z)/(this.max.z-this.min.z))},intersectsBox:function(a){return a.max.xthis.max.x||a.max.ythis.max.y||a.max.zthis.max.z?!1:!0},intersectsSphere:function(){var a=new p;return function(b){this.clampPoint(b.center,a);return a.distanceToSquared(b.center)<=b.radius*b.radius}}(),intersectsPlane:function(a){if(0=a.constant},intersectsTriangle:function(){function a(a){var e;var f=0;for(e=a.length-3;f<=e;f+=3){h.fromArray(a,f);var g=m.x*Math.abs(h.x)+m.y*Math.abs(h.y)+m.z*Math.abs(h.z),k=b.dot(h),l=c.dot(h), -n=d.dot(h);if(Math.max(-Math.max(k,l,n),Math.min(k,l,n))>g)return!1}return!0}var b=new p,c=new p,d=new p,e=new p,f=new p,g=new p,h=new p,k=new p,m=new p,l=new p;return function(h){if(this.isEmpty())return!1;this.getCenter(k);m.subVectors(this.max,k);b.subVectors(h.a,k);c.subVectors(h.b,k);d.subVectors(h.c,k);e.subVectors(c,b);f.subVectors(d,c);g.subVectors(b,d);h=[0,-e.z,e.y,0,-f.z,f.y,0,-g.z,g.y,e.z,0,-e.x,f.z,0,-f.x,g.z,0,-g.x,-e.y,e.x,0,-f.y,f.x,0,-g.y,g.x,0];if(!a(h))return!1;h=[1,0,0,0,1,0,0, -0,1];if(!a(h))return!1;l.crossVectors(e,f);h=[l.x,l.y,l.z];return a(h)}}(),clampPoint:function(a,b){void 0===b&&(console.warn("THREE.Box3: .clampPoint() target is now required"),b=new p);return b.copy(a).clamp(this.min,this.max)},distanceToPoint:function(){var a=new p;return function(b){return a.copy(b).clamp(this.min,this.max).sub(b).length()}}(),getBoundingSphere:function(){var a=new p;return function(b){void 0===b&&(console.warn("THREE.Box3: .getBoundingSphere() target is now required"),b=new Ea); -this.getCenter(b.center);b.radius=.5*this.getSize(a).length();return b}}(),intersect:function(a){this.min.max(a.min);this.max.min(a.max);this.isEmpty()&&this.makeEmpty();return this},union:function(a){this.min.min(a.min);this.max.max(a.max);return this},applyMatrix4:function(){var a=[new p,new p,new p,new p,new p,new p,new p,new p];return function(b){if(this.isEmpty())return this;a[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(b);a[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(b); -a[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(b);a[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(b);a[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(b);a[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(b);a[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(b);a[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(b);this.setFromPoints(a);return this}}(),translate:function(a){this.min.add(a);this.max.add(a);return this},equals:function(a){return a.min.equals(this.min)&& -a.max.equals(this.max)}});Object.assign(Ea.prototype,{set:function(a,b){this.center.copy(a);this.radius=b;return this},setFromPoints:function(){var a=new Ua;return function(b,c){var d=this.center;void 0!==c?d.copy(c):a.setFromPoints(b).getCenter(d);for(var e=c=0,f=b.length;e= -this.radius},containsPoint:function(a){return a.distanceToSquared(this.center)<=this.radius*this.radius},distanceToPoint:function(a){return a.distanceTo(this.center)-this.radius},intersectsSphere:function(a){var b=this.radius+a.radius;return a.center.distanceToSquared(this.center)<=b*b},intersectsBox:function(a){return a.intersectsSphere(this)},intersectsPlane:function(a){return Math.abs(a.distanceToPoint(this.center))<=this.radius},clampPoint:function(a,b){var c=this.center.distanceToSquared(a); -void 0===b&&(console.warn("THREE.Sphere: .clampPoint() target is now required"),b=new p);b.copy(a);c>this.radius*this.radius&&(b.sub(this.center).normalize(),b.multiplyScalar(this.radius).add(this.center));return b},getBoundingBox:function(a){void 0===a&&(console.warn("THREE.Sphere: .getBoundingBox() target is now required"),a=new Ua);a.set(this.center,this.center);a.expandByScalar(this.radius);return a},applyMatrix4:function(a){this.center.applyMatrix4(a);this.radius*=a.getMaxScaleOnAxis();return this}, -translate:function(a){this.center.add(a);return this},equals:function(a){return a.center.equals(this.center)&&a.radius===this.radius}});Object.assign(Oa.prototype,{set:function(a,b){this.normal.copy(a);this.constant=b;return this},setComponents:function(a,b,c,d){this.normal.set(a,b,c);this.constant=d;return this},setFromNormalAndCoplanarPoint:function(a,b){this.normal.copy(a);this.constant=-b.dot(this.normal);return this},setFromCoplanarPoints:function(){var a=new p,b=new p;return function(c,d,e){d= -a.subVectors(e,d).cross(b.subVectors(c,d)).normalize();this.setFromNormalAndCoplanarPoint(d,c);return this}}(),clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.normal.copy(a.normal);this.constant=a.constant;return this},normalize:function(){var a=1/this.normal.length();this.normal.multiplyScalar(a);this.constant*=a;return this},negate:function(){this.constant*=-1;this.normal.negate();return this},distanceToPoint:function(a){return this.normal.dot(a)+this.constant},distanceToSphere:function(a){return this.distanceToPoint(a.center)- -a.radius},projectPoint:function(a,b){void 0===b&&(console.warn("THREE.Plane: .projectPoint() target is now required"),b=new p);return b.copy(this.normal).multiplyScalar(-this.distanceToPoint(a)).add(a)},intersectLine:function(){var a=new p;return function(b,c){void 0===c&&(console.warn("THREE.Plane: .intersectLine() target is now required"),c=new p);var d=b.delta(a),e=this.normal.dot(d);if(0===e){if(0===this.distanceToPoint(b.start))return c.copy(b.start)}else if(e=-(b.start.dot(this.normal)+this.constant)/ -e,!(0>e||1b&&0a&&0c;c++)b[c].copy(a.planes[c]);return this},setFromMatrix:function(a){var b=this.planes,c=a.elements;a=c[0];var d=c[1],e=c[2],f=c[3],g=c[4],h=c[5],k=c[6],m=c[7],l=c[8],n=c[9],q=c[10],p=c[11],r=c[12],v=c[13],y=c[14];c=c[15];b[0].setComponents(f-a,m-g,p-l,c-r).normalize();b[1].setComponents(f+a,m+g,p+l,c+r).normalize();b[2].setComponents(f+d,m+h,p+n,c+v).normalize();b[3].setComponents(f-d,m-h,p-n,c- -v).normalize();b[4].setComponents(f-e,m-k,p-q,c-y).normalize();b[5].setComponents(f+e,m+k,p+q,c+y).normalize();return this},intersectsObject:function(){var a=new Ea;return function(b){var c=b.geometry;null===c.boundingSphere&&c.computeBoundingSphere();a.copy(c.boundingSphere).applyMatrix4(b.matrixWorld);return this.intersectsSphere(a)}}(),intersectsSprite:function(){var a=new Ea;return function(b){a.center.set(0,0,0);a.radius=.7071067811865476;a.applyMatrix4(b.matrixWorld);return this.intersectsSphere(a)}}(), -intersectsSphere:function(a){var b=this.planes,c=a.center;a=-a.radius;for(var d=0;6>d;d++)if(b[d].distanceToPoint(c)d;d++){var e=c[d];a.x=0e.distanceToPoint(a))return!1}return!0}}(),containsPoint:function(a){for(var b=this.planes,c=0;6>c;c++)if(0>b[c].distanceToPoint(a))return!1;return!0}});var U= -{alphamap_fragment:"#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, vUv ).g;\n#endif\n",alphamap_pars_fragment:"#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif\n",alphatest_fragment:"#ifdef ALPHATEST\n\tif ( diffuseColor.a < ALPHATEST ) discard;\n#endif\n",aomap_fragment:"#ifdef USE_AOMAP\n\tfloat ambientOcclusion = ( texture2D( aoMap, vUv2 ).r - 1.0 ) * aoMapIntensity + 1.0;\n\treflectedLight.indirectDiffuse *= ambientOcclusion;\n\t#if defined( USE_ENVMAP ) && defined( PHYSICAL )\n\t\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\t\treflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.specularRoughness );\n\t#endif\n#endif\n", -aomap_pars_fragment:"#ifdef USE_AOMAP\n\tuniform sampler2D aoMap;\n\tuniform float aoMapIntensity;\n#endif",begin_vertex:"\nvec3 transformed = vec3( position );\n",beginnormal_vertex:"\nvec3 objectNormal = vec3( normal );\n",bsdfs:"float punctualLightIntensityToIrradianceFactor( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n\tif( decayExponent > 0.0 ) {\n#if defined ( PHYSICALLY_CORRECT_LIGHTS )\n\t\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n\t\tfloat maxDistanceCutoffFactor = pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\t\treturn distanceFalloff * maxDistanceCutoffFactor;\n#else\n\t\treturn pow( saturate( -lightDistance / cutoffDistance + 1.0 ), decayExponent );\n#endif\n\t}\n\treturn 1.0;\n}\nvec3 BRDF_Diffuse_Lambert( const in vec3 diffuseColor ) {\n\treturn RECIPROCAL_PI * diffuseColor;\n}\nvec3 F_Schlick( const in vec3 specularColor, const in float dotLH ) {\n\tfloat fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );\n\treturn ( 1.0 - specularColor ) * fresnel + specularColor;\n}\nfloat G_GGX_Smith( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\tfloat gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\treturn 1.0 / ( gl * gv );\n}\nfloat G_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\treturn 0.5 / max( gv + gl, EPSILON );\n}\nfloat D_GGX( const in float alpha, const in float dotNH ) {\n\tfloat a2 = pow2( alpha );\n\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\n\treturn RECIPROCAL_PI * a2 / pow2( denom );\n}\nvec3 BRDF_Specular_GGX( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float roughness ) {\n\tfloat alpha = pow2( roughness );\n\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\n\tfloat dotNL = saturate( dot( geometry.normal, incidentLight.direction ) );\n\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\n\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, dotLH );\n\tfloat G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\tfloat D = D_GGX( alpha, dotNH );\n\treturn F * ( G * D );\n}\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\n\tfloat dotNV = saturate( dot( N, V ) );\n\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\n\tuv = uv * LUT_SCALE + LUT_BIAS;\n\treturn uv;\n}\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\n\tfloat l = length( f );\n\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\n}\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\n\tfloat x = dot( v1, v2 );\n\tfloat y = abs( x );\n\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\n\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\n\tfloat v = a / b;\n\tfloat theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\n\treturn cross( v1, v2 ) * theta_sintheta;\n}\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\n\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\n\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\n\tvec3 lightNormal = cross( v1, v2 );\n\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\n\tvec3 T1, T2;\n\tT1 = normalize( V - N * dot( V, N ) );\n\tT2 = - cross( N, T1 );\n\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\n\tvec3 coords[ 4 ];\n\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\n\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\n\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\n\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\n\tcoords[ 0 ] = normalize( coords[ 0 ] );\n\tcoords[ 1 ] = normalize( coords[ 1 ] );\n\tcoords[ 2 ] = normalize( coords[ 2 ] );\n\tcoords[ 3 ] = normalize( coords[ 3 ] );\n\tvec3 vectorFormFactor = vec3( 0.0 );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\n\treturn vec3( result );\n}\nvec3 BRDF_Specular_GGX_Environment( const in GeometricContext geometry, const in vec3 specularColor, const in float roughness ) {\n\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\n\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\n\tvec4 r = roughness * c0 + c1;\n\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\n\tvec2 AB = vec2( -1.04, 1.04 ) * a004 + r.zw;\n\treturn specularColor * AB.x + AB.y;\n}\nfloat G_BlinnPhong_Implicit( ) {\n\treturn 0.25;\n}\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\n\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\n}\nvec3 BRDF_Specular_BlinnPhong( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float shininess ) {\n\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\n\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\n\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, dotLH );\n\tfloat G = G_BlinnPhong_Implicit( );\n\tfloat D = D_BlinnPhong( shininess, dotNH );\n\treturn F * ( G * D );\n}\nfloat GGXRoughnessToBlinnExponent( const in float ggxRoughness ) {\n\treturn ( 2.0 / pow2( ggxRoughness + 0.0001 ) - 2.0 );\n}\nfloat BlinnExponentToGGXRoughness( const in float blinnExponent ) {\n\treturn sqrt( 2.0 / ( blinnExponent + 2.0 ) );\n}\n", -bumpmap_pars_fragment:"#ifdef USE_BUMPMAP\n\tuniform sampler2D bumpMap;\n\tuniform float bumpScale;\n\tvec2 dHdxy_fwd() {\n\t\tvec2 dSTdx = dFdx( vUv );\n\t\tvec2 dSTdy = dFdy( vUv );\n\t\tfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\n\t\tfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\n\t\tfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\n\t\treturn vec2( dBx, dBy );\n\t}\n\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy ) {\n\t\tvec3 vSigmaX = vec3( dFdx( surf_pos.x ), dFdx( surf_pos.y ), dFdx( surf_pos.z ) );\n\t\tvec3 vSigmaY = vec3( dFdy( surf_pos.x ), dFdy( surf_pos.y ), dFdy( surf_pos.z ) );\n\t\tvec3 vN = surf_norm;\n\t\tvec3 R1 = cross( vSigmaY, vN );\n\t\tvec3 R2 = cross( vN, vSigmaX );\n\t\tfloat fDet = dot( vSigmaX, R1 );\n\t\tfDet *= ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\n\t\treturn normalize( abs( fDet ) * surf_norm - vGrad );\n\t}\n#endif\n", -clipping_planes_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvec4 plane;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\t\tplane = clippingPlanes[ i ];\n\t\tif ( dot( vViewPosition, plane.xyz ) > plane.w ) discard;\n\t}\n\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\tbool clipped = true;\n\t\t#pragma unroll_loop\n\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tclipped = ( dot( vViewPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t}\n\t\tif ( clipped ) discard;\n\t#endif\n#endif\n", -clipping_planes_pars_fragment:"#if NUM_CLIPPING_PLANES > 0\n\t#if ! defined( PHYSICAL ) && ! defined( PHONG )\n\t\tvarying vec3 vViewPosition;\n\t#endif\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif\n",clipping_planes_pars_vertex:"#if NUM_CLIPPING_PLANES > 0 && ! defined( PHYSICAL ) && ! defined( PHONG )\n\tvarying vec3 vViewPosition;\n#endif\n",clipping_planes_vertex:"#if NUM_CLIPPING_PLANES > 0 && ! defined( PHYSICAL ) && ! defined( PHONG )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n", -color_fragment:"#ifdef USE_COLOR\n\tdiffuseColor.rgb *= vColor;\n#endif",color_pars_fragment:"#ifdef USE_COLOR\n\tvarying vec3 vColor;\n#endif\n",color_pars_vertex:"#ifdef USE_COLOR\n\tvarying vec3 vColor;\n#endif",color_vertex:"#ifdef USE_COLOR\n\tvColor.xyz = color.xyz;\n#endif",common:"#define PI 3.14159265359\n#define PI2 6.28318530718\n#define PI_HALF 1.5707963267949\n#define RECIPROCAL_PI 0.31830988618\n#define RECIPROCAL_PI2 0.15915494\n#define LOG2 1.442695\n#define EPSILON 1e-6\n#define saturate(a) clamp( a, 0.0, 1.0 )\n#define whiteCompliment(a) ( 1.0 - saturate( a ) )\nfloat pow2( const in float x ) { return x*x; }\nfloat pow3( const in float x ) { return x*x*x; }\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\nfloat average( const in vec3 color ) { return dot( color, vec3( 0.3333 ) ); }\nhighp float rand( const in vec2 uv ) {\n\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\n\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n\treturn fract(sin(sn) * c);\n}\nstruct IncidentLight {\n\tvec3 color;\n\tvec3 direction;\n\tbool visible;\n};\nstruct ReflectedLight {\n\tvec3 directDiffuse;\n\tvec3 directSpecular;\n\tvec3 indirectDiffuse;\n\tvec3 indirectSpecular;\n};\nstruct GeometricContext {\n\tvec3 position;\n\tvec3 normal;\n\tvec3 viewDir;\n};\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n}\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\n}\nvec3 projectOnPlane(in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\tfloat distance = dot( planeNormal, point - pointOnPlane );\n\treturn - distance * planeNormal + point;\n}\nfloat sideOfPlane( in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\treturn sign( dot( point - pointOnPlane, planeNormal ) );\n}\nvec3 linePlaneIntersect( in vec3 pointOnLine, in vec3 lineDirection, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\treturn lineDirection * ( dot( planeNormal, pointOnPlane - pointOnLine ) / dot( planeNormal, lineDirection ) ) + pointOnLine;\n}\nmat3 transposeMat3( const in mat3 m ) {\n\tmat3 tmp;\n\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\n\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\n\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\n\treturn tmp;\n}\nfloat linearToRelativeLuminance( const in vec3 color ) {\n\tvec3 weights = vec3( 0.2126, 0.7152, 0.0722 );\n\treturn dot( weights, color.rgb );\n}\n", -cube_uv_reflection_fragment:"#ifdef ENVMAP_TYPE_CUBE_UV\n#define cubeUV_textureSize (1024.0)\nint getFaceFromDirection(vec3 direction) {\n\tvec3 absDirection = abs(direction);\n\tint face = -1;\n\tif( absDirection.x > absDirection.z ) {\n\t\tif(absDirection.x > absDirection.y )\n\t\t\tface = direction.x > 0.0 ? 0 : 3;\n\t\telse\n\t\t\tface = direction.y > 0.0 ? 1 : 4;\n\t}\n\telse {\n\t\tif(absDirection.z > absDirection.y )\n\t\t\tface = direction.z > 0.0 ? 2 : 5;\n\t\telse\n\t\t\tface = direction.y > 0.0 ? 1 : 4;\n\t}\n\treturn face;\n}\n#define cubeUV_maxLods1 (log2(cubeUV_textureSize*0.25) - 1.0)\n#define cubeUV_rangeClamp (exp2((6.0 - 1.0) * 2.0))\nvec2 MipLevelInfo( vec3 vec, float roughnessLevel, float roughness ) {\n\tfloat scale = exp2(cubeUV_maxLods1 - roughnessLevel);\n\tfloat dxRoughness = dFdx(roughness);\n\tfloat dyRoughness = dFdy(roughness);\n\tvec3 dx = dFdx( vec * scale * dxRoughness );\n\tvec3 dy = dFdy( vec * scale * dyRoughness );\n\tfloat d = max( dot( dx, dx ), dot( dy, dy ) );\n\td = clamp(d, 1.0, cubeUV_rangeClamp);\n\tfloat mipLevel = 0.5 * log2(d);\n\treturn vec2(floor(mipLevel), fract(mipLevel));\n}\n#define cubeUV_maxLods2 (log2(cubeUV_textureSize*0.25) - 2.0)\n#define cubeUV_rcpTextureSize (1.0 / cubeUV_textureSize)\nvec2 getCubeUV(vec3 direction, float roughnessLevel, float mipLevel) {\n\tmipLevel = roughnessLevel > cubeUV_maxLods2 - 3.0 ? 0.0 : mipLevel;\n\tfloat a = 16.0 * cubeUV_rcpTextureSize;\n\tvec2 exp2_packed = exp2( vec2( roughnessLevel, mipLevel ) );\n\tvec2 rcp_exp2_packed = vec2( 1.0 ) / exp2_packed;\n\tfloat powScale = exp2_packed.x * exp2_packed.y;\n\tfloat scale = rcp_exp2_packed.x * rcp_exp2_packed.y * 0.25;\n\tfloat mipOffset = 0.75*(1.0 - rcp_exp2_packed.y) * rcp_exp2_packed.x;\n\tbool bRes = mipLevel == 0.0;\n\tscale = bRes && (scale < a) ? a : scale;\n\tvec3 r;\n\tvec2 offset;\n\tint face = getFaceFromDirection(direction);\n\tfloat rcpPowScale = 1.0 / powScale;\n\tif( face == 0) {\n\t\tr = vec3(direction.x, -direction.z, direction.y);\n\t\toffset = vec2(0.0+mipOffset,0.75 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\n\t}\n\telse if( face == 1) {\n\t\tr = vec3(direction.y, direction.x, direction.z);\n\t\toffset = vec2(scale+mipOffset, 0.75 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\n\t}\n\telse if( face == 2) {\n\t\tr = vec3(direction.z, direction.x, direction.y);\n\t\toffset = vec2(2.0*scale+mipOffset, 0.75 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\n\t}\n\telse if( face == 3) {\n\t\tr = vec3(direction.x, direction.z, direction.y);\n\t\toffset = vec2(0.0+mipOffset,0.5 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\n\t}\n\telse if( face == 4) {\n\t\tr = vec3(direction.y, direction.x, -direction.z);\n\t\toffset = vec2(scale+mipOffset, 0.5 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\n\t}\n\telse {\n\t\tr = vec3(direction.z, -direction.x, direction.y);\n\t\toffset = vec2(2.0*scale+mipOffset, 0.5 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\n\t}\n\tr = normalize(r);\n\tfloat texelOffset = 0.5 * cubeUV_rcpTextureSize;\n\tvec2 s = ( r.yz / abs( r.x ) + vec2( 1.0 ) ) * 0.5;\n\tvec2 base = offset + vec2( texelOffset );\n\treturn base + s * ( scale - 2.0 * texelOffset );\n}\n#define cubeUV_maxLods3 (log2(cubeUV_textureSize*0.25) - 3.0)\nvec4 textureCubeUV( sampler2D envMap, vec3 reflectedDirection, float roughness ) {\n\tfloat roughnessVal = roughness* cubeUV_maxLods3;\n\tfloat r1 = floor(roughnessVal);\n\tfloat r2 = r1 + 1.0;\n\tfloat t = fract(roughnessVal);\n\tvec2 mipInfo = MipLevelInfo(reflectedDirection, r1, roughness);\n\tfloat s = mipInfo.y;\n\tfloat level0 = mipInfo.x;\n\tfloat level1 = level0 + 1.0;\n\tlevel1 = level1 > 5.0 ? 5.0 : level1;\n\tlevel0 += min( floor( s + 0.5 ), 5.0 );\n\tvec2 uv_10 = getCubeUV(reflectedDirection, r1, level0);\n\tvec4 color10 = envMapTexelToLinear(texture2D(envMap, uv_10));\n\tvec2 uv_20 = getCubeUV(reflectedDirection, r2, level0);\n\tvec4 color20 = envMapTexelToLinear(texture2D(envMap, uv_20));\n\tvec4 result = mix(color10, color20, t);\n\treturn vec4(result.rgb, 1.0);\n}\n#endif\n", -defaultnormal_vertex:"vec3 transformedNormal = normalMatrix * objectNormal;\n#ifdef FLIP_SIDED\n\ttransformedNormal = - transformedNormal;\n#endif\n",displacementmap_pars_vertex:"#ifdef USE_DISPLACEMENTMAP\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n#endif\n",displacementmap_vertex:"#ifdef USE_DISPLACEMENTMAP\n\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, uv ).x * displacementScale + displacementBias );\n#endif\n", -emissivemap_fragment:"#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\n\temissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif\n",emissivemap_pars_fragment:"#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif\n",encodings_fragment:" gl_FragColor = linearToOutputTexel( gl_FragColor );\n",encodings_pars_fragment:"\nvec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 GammaToLinear( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.rgb, vec3( gammaFactor ) ), value.a );\n}\nvec4 LinearToGamma( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.rgb, vec3( 1.0 / gammaFactor ) ), value.a );\n}\nvec4 sRGBToLinear( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.a );\n}\nvec4 LinearTosRGB( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\n}\nvec4 RGBEToLinear( in vec4 value ) {\n\treturn vec4( value.rgb * exp2( value.a * 255.0 - 128.0 ), 1.0 );\n}\nvec4 LinearToRGBE( in vec4 value ) {\n\tfloat maxComponent = max( max( value.r, value.g ), value.b );\n\tfloat fExp = clamp( ceil( log2( maxComponent ) ), -128.0, 127.0 );\n\treturn vec4( value.rgb / exp2( fExp ), ( fExp + 128.0 ) / 255.0 );\n}\nvec4 RGBMToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * value.a * maxRange, 1.0 );\n}\nvec4 LinearToRGBM( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.r, max( value.g, value.b ) );\n\tfloat M = clamp( maxRGB / maxRange, 0.0, 1.0 );\n\tM = ceil( M * 255.0 ) / 255.0;\n\treturn vec4( value.rgb / ( M * maxRange ), M );\n}\nvec4 RGBDToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * ( ( maxRange / 255.0 ) / value.a ), 1.0 );\n}\nvec4 LinearToRGBD( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.r, max( value.g, value.b ) );\n\tfloat D = max( maxRange / maxRGB, 1.0 );\n\tD = min( floor( D ) / 255.0, 1.0 );\n\treturn vec4( value.rgb * ( D * ( 255.0 / maxRange ) ), D );\n}\nconst mat3 cLogLuvM = mat3( 0.2209, 0.3390, 0.4184, 0.1138, 0.6780, 0.7319, 0.0102, 0.1130, 0.2969 );\nvec4 LinearToLogLuv( in vec4 value ) {\n\tvec3 Xp_Y_XYZp = value.rgb * cLogLuvM;\n\tXp_Y_XYZp = max( Xp_Y_XYZp, vec3( 1e-6, 1e-6, 1e-6 ) );\n\tvec4 vResult;\n\tvResult.xy = Xp_Y_XYZp.xy / Xp_Y_XYZp.z;\n\tfloat Le = 2.0 * log2(Xp_Y_XYZp.y) + 127.0;\n\tvResult.w = fract( Le );\n\tvResult.z = ( Le - ( floor( vResult.w * 255.0 ) ) / 255.0 ) / 255.0;\n\treturn vResult;\n}\nconst mat3 cLogLuvInverseM = mat3( 6.0014, -2.7008, -1.7996, -1.3320, 3.1029, -5.7721, 0.3008, -1.0882, 5.6268 );\nvec4 LogLuvToLinear( in vec4 value ) {\n\tfloat Le = value.z * 255.0 + value.w;\n\tvec3 Xp_Y_XYZp;\n\tXp_Y_XYZp.y = exp2( ( Le - 127.0 ) / 2.0 );\n\tXp_Y_XYZp.z = Xp_Y_XYZp.y / value.y;\n\tXp_Y_XYZp.x = value.x * Xp_Y_XYZp.z;\n\tvec3 vRGB = Xp_Y_XYZp.rgb * cLogLuvInverseM;\n\treturn vec4( max( vRGB, 0.0 ), 1.0 );\n}\n", -envmap_fragment:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\tvec3 cameraToVertex = normalize( vWorldPosition - cameraPosition );\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t#endif\n\t#else\n\t\tvec3 reflectVec = vReflect;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n\t#elif defined( ENVMAP_TYPE_EQUIREC )\n\t\tvec2 sampleUV;\n\t\treflectVec = normalize( reflectVec );\n\t\tsampleUV.y = asin( clamp( reflectVec.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\t\tsampleUV.x = atan( reflectVec.z, reflectVec.x ) * RECIPROCAL_PI2 + 0.5;\n\t\tvec4 envColor = texture2D( envMap, sampleUV );\n\t#elif defined( ENVMAP_TYPE_SPHERE )\n\t\treflectVec = normalize( reflectVec );\n\t\tvec3 reflectView = normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0, 0.0, 1.0 ) );\n\t\tvec4 envColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5 );\n\t#else\n\t\tvec4 envColor = vec4( 0.0 );\n\t#endif\n\tenvColor = envMapTexelToLinear( envColor );\n\t#ifdef ENVMAP_BLENDING_MULTIPLY\n\t\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_MIX )\n\t\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_ADD )\n\t\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\n\t#endif\n#endif\n", -envmap_pars_fragment:"#if defined( USE_ENVMAP ) || defined( PHYSICAL )\n\tuniform float reflectivity;\n\tuniform float envMapIntensity;\n#endif\n#ifdef USE_ENVMAP\n\t#if ! defined( PHYSICAL ) && ( defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) )\n\t\tvarying vec3 vWorldPosition;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tuniform samplerCube envMap;\n\t#else\n\t\tuniform sampler2D envMap;\n\t#endif\n\tuniform float flipEnvMap;\n\tuniform int maxMipLevel;\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( PHYSICAL )\n\t\tuniform float refractionRatio;\n\t#else\n\t\tvarying vec3 vReflect;\n\t#endif\n#endif\n", -envmap_pars_vertex:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\tvarying vec3 vWorldPosition;\n\t#else\n\t\tvarying vec3 vReflect;\n\t\tuniform float refractionRatio;\n\t#endif\n#endif\n",envmap_physical_pars_fragment:"#if defined( USE_ENVMAP ) && defined( PHYSICAL )\n\tvec3 getLightProbeIndirectIrradiance( const in GeometricContext geometry, const in int maxMIPLevel ) {\n\t\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\n\t\t#ifdef ENVMAP_TYPE_CUBE\n\t\t\tvec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = textureCubeLodEXT( envMap, queryVec, float( maxMIPLevel ) );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = textureCube( envMap, queryVec, float( maxMIPLevel ) );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, queryVec, 1.0 );\n\t\t#else\n\t\t\tvec4 envMapColor = vec4( 0.0 );\n\t\t#endif\n\t\treturn PI * envMapColor.rgb * envMapIntensity;\n\t}\n\tfloat getSpecularMIPLevel( const in float blinnShininessExponent, const in int maxMIPLevel ) {\n\t\tfloat maxMIPLevelScalar = float( maxMIPLevel );\n\t\tfloat desiredMIPLevel = maxMIPLevelScalar + 0.79248 - 0.5 * log2( pow2( blinnShininessExponent ) + 1.0 );\n\t\treturn clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );\n\t}\n\tvec3 getLightProbeIndirectRadiance( const in GeometricContext geometry, const in float blinnShininessExponent, const in int maxMIPLevel ) {\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( -geometry.viewDir, geometry.normal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( -geometry.viewDir, geometry.normal, refractionRatio );\n\t\t#endif\n\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\t\tfloat specularMIPLevel = getSpecularMIPLevel( blinnShininessExponent, maxMIPLevel );\n\t\t#ifdef ENVMAP_TYPE_CUBE\n\t\t\tvec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = textureCubeLodEXT( envMap, queryReflectVec, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = textureCube( envMap, queryReflectVec, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, queryReflectVec, BlinnExponentToGGXRoughness(blinnShininessExponent ));\n\t\t#elif defined( ENVMAP_TYPE_EQUIREC )\n\t\t\tvec2 sampleUV;\n\t\t\tsampleUV.y = asin( clamp( reflectVec.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\t\t\tsampleUV.x = atan( reflectVec.z, reflectVec.x ) * RECIPROCAL_PI2 + 0.5;\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = texture2DLodEXT( envMap, sampleUV, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = texture2D( envMap, sampleUV, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_SPHERE )\n\t\t\tvec3 reflectView = normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0,0.0,1.0 ) );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = texture2DLodEXT( envMap, reflectView.xy * 0.5 + 0.5, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#endif\n\t\treturn envMapColor.rgb * envMapIntensity;\n\t}\n#endif\n", -envmap_vertex:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\tvWorldPosition = worldPosition.xyz;\n\t#else\n\t\tvec3 cameraToVertex = normalize( worldPosition.xyz - cameraPosition );\n\t\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvReflect = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t#endif\n\t#endif\n#endif\n", -fog_vertex:"#ifdef USE_FOG\n\tfogDepth = -mvPosition.z;\n#endif\n",fog_pars_vertex:"#ifdef USE_FOG\n\tvarying float fogDepth;\n#endif\n",fog_fragment:"#ifdef USE_FOG\n\t#ifdef FOG_EXP2\n\t\tfloat fogFactor = whiteCompliment( exp2( - fogDensity * fogDensity * fogDepth * fogDepth * LOG2 ) );\n\t#else\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, fogDepth );\n\t#endif\n\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n#endif\n",fog_pars_fragment:"#ifdef USE_FOG\n\tuniform vec3 fogColor;\n\tvarying float fogDepth;\n\t#ifdef FOG_EXP2\n\t\tuniform float fogDensity;\n\t#else\n\t\tuniform float fogNear;\n\t\tuniform float fogFar;\n\t#endif\n#endif\n", -gradientmap_pars_fragment:"#ifdef TOON\n\tuniform sampler2D gradientMap;\n\tvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n\t\tfloat dotNL = dot( normal, lightDirection );\n\t\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n\t\t#ifdef USE_GRADIENTMAP\n\t\t\treturn texture2D( gradientMap, coord ).rgb;\n\t\t#else\n\t\t\treturn ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );\n\t\t#endif\n\t}\n#endif\n",lightmap_fragment:"#ifdef USE_LIGHTMAP\n\treflectedLight.indirectDiffuse += PI * texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\n#endif\n", -lightmap_pars_fragment:"#ifdef USE_LIGHTMAP\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n#endif",lights_lambert_vertex:"vec3 diffuse = vec3( 1.0 );\nGeometricContext geometry;\ngeometry.position = mvPosition.xyz;\ngeometry.normal = normalize( transformedNormal );\ngeometry.viewDir = normalize( -mvPosition.xyz );\nGeometricContext backGeometry;\nbackGeometry.position = geometry.position;\nbackGeometry.normal = -geometry.normal;\nbackGeometry.viewDir = geometry.viewDir;\nvLightFront = vec3( 0.0 );\n#ifdef DOUBLE_SIDED\n\tvLightBack = vec3( 0.0 );\n#endif\nIncidentLight directLight;\nfloat dotNL;\nvec3 directLightColor_Diffuse;\n#if NUM_POINT_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tgetPointDirectLightIrradiance( pointLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tgetSpotDirectLightIrradiance( spotLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n#endif\n#if NUM_DIR_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tgetDirectionalDirectLightIrradiance( directionalLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\tvLightFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry );\n\t\t#endif\n\t}\n#endif\n", -lights_pars_begin:"uniform vec3 ambientLightColor;\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n\tvec3 irradiance = ambientLightColor;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treturn irradiance;\n}\n#if NUM_DIR_LIGHTS > 0\n\tstruct DirectionalLight {\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tint shadow;\n\t\tfloat shadowBias;\n\t\tfloat shadowRadius;\n\t\tvec2 shadowMapSize;\n\t};\n\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n\tvoid getDirectionalDirectLightIrradiance( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tdirectLight.color = directionalLight.color;\n\t\tdirectLight.direction = directionalLight.direction;\n\t\tdirectLight.visible = true;\n\t}\n#endif\n#if NUM_POINT_LIGHTS > 0\n\tstruct PointLight {\n\t\tvec3 position;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tint shadow;\n\t\tfloat shadowBias;\n\t\tfloat shadowRadius;\n\t\tvec2 shadowMapSize;\n\t\tfloat shadowCameraNear;\n\t\tfloat shadowCameraFar;\n\t};\n\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n\tvoid getPointDirectLightIrradiance( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tvec3 lVector = pointLight.position - geometry.position;\n\t\tdirectLight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tdirectLight.color = pointLight.color;\n\t\tdirectLight.color *= punctualLightIntensityToIrradianceFactor( lightDistance, pointLight.distance, pointLight.decay );\n\t\tdirectLight.visible = ( directLight.color != vec3( 0.0 ) );\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\tstruct SpotLight {\n\t\tvec3 position;\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tfloat coneCos;\n\t\tfloat penumbraCos;\n\t\tint shadow;\n\t\tfloat shadowBias;\n\t\tfloat shadowRadius;\n\t\tvec2 shadowMapSize;\n\t};\n\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n\tvoid getSpotDirectLightIrradiance( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tvec3 lVector = spotLight.position - geometry.position;\n\t\tdirectLight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tfloat angleCos = dot( directLight.direction, spotLight.direction );\n\t\tif ( angleCos > spotLight.coneCos ) {\n\t\t\tfloat spotEffect = smoothstep( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n\t\t\tdirectLight.color = spotLight.color;\n\t\t\tdirectLight.color *= spotEffect * punctualLightIntensityToIrradianceFactor( lightDistance, spotLight.distance, spotLight.decay );\n\t\t\tdirectLight.visible = true;\n\t\t} else {\n\t\t\tdirectLight.color = vec3( 0.0 );\n\t\t\tdirectLight.visible = false;\n\t\t}\n\t}\n#endif\n#if NUM_RECT_AREA_LIGHTS > 0\n\tstruct RectAreaLight {\n\t\tvec3 color;\n\t\tvec3 position;\n\t\tvec3 halfWidth;\n\t\tvec3 halfHeight;\n\t};\n\tuniform sampler2D ltc_1;\tuniform sampler2D ltc_2;\n\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\tstruct HemisphereLight {\n\t\tvec3 direction;\n\t\tvec3 skyColor;\n\t\tvec3 groundColor;\n\t};\n\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\n\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in GeometricContext geometry ) {\n\t\tfloat dotNL = dot( geometry.normal, hemiLight.direction );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n\t\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tirradiance *= PI;\n\t\t#endif\n\t\treturn irradiance;\n\t}\n#endif\n", -lights_phong_fragment:"BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;\n",lights_phong_pars_fragment:"varying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\nstruct BlinnPhongMaterial {\n\tvec3\tdiffuseColor;\n\tvec3\tspecularColor;\n\tfloat\tspecularShininess;\n\tfloat\tspecularStrength;\n};\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\t#ifdef TOON\n\t\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\n\t#else\n\t\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\t\tvec3 irradiance = dotNL * directLight.color;\n\t#endif\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_Specular_BlinnPhong( directLight, geometry, material.specularColor, material.specularShininess ) * material.specularStrength;\n}\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_BlinnPhong\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong\n#define Material_LightProbeLOD( material )\t(0)\n", -lights_physical_fragment:"PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nmaterial.specularRoughness = clamp( roughnessFactor, 0.04, 1.0 );\n#ifdef STANDARD\n\tmaterial.specularColor = mix( vec3( DEFAULT_SPECULAR_COEFFICIENT ), diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( MAXIMUM_SPECULAR_COEFFICIENT * pow2( reflectivity ) ), diffuseColor.rgb, metalnessFactor );\n\tmaterial.clearCoat = saturate( clearCoat );\tmaterial.clearCoatRoughness = clamp( clearCoatRoughness, 0.04, 1.0 );\n#endif\n", -lights_physical_pars_fragment:"struct PhysicalMaterial {\n\tvec3\tdiffuseColor;\n\tfloat\tspecularRoughness;\n\tvec3\tspecularColor;\n\t#ifndef STANDARD\n\t\tfloat clearCoat;\n\t\tfloat clearCoatRoughness;\n\t#endif\n};\n#define MAXIMUM_SPECULAR_COEFFICIENT 0.16\n#define DEFAULT_SPECULAR_COEFFICIENT 0.04\nfloat clearCoatDHRApprox( const in float roughness, const in float dotNL ) {\n\treturn DEFAULT_SPECULAR_COEFFICIENT + ( 1.0 - DEFAULT_SPECULAR_COEFFICIENT ) * ( pow( 1.0 - dotNL, 5.0 ) * pow( 1.0 - roughness, 2.0 ) );\n}\n#if NUM_RECT_AREA_LIGHTS > 0\n\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t\tvec3 normal = geometry.normal;\n\t\tvec3 viewDir = geometry.viewDir;\n\t\tvec3 position = geometry.position;\n\t\tvec3 lightPos = rectAreaLight.position;\n\t\tvec3 halfWidth = rectAreaLight.halfWidth;\n\t\tvec3 halfHeight = rectAreaLight.halfHeight;\n\t\tvec3 lightColor = rectAreaLight.color;\n\t\tfloat roughness = material.specularRoughness;\n\t\tvec3 rectCoords[ 4 ];\n\t\trectCoords[ 0 ] = lightPos - halfWidth - halfHeight;\t\trectCoords[ 1 ] = lightPos + halfWidth - halfHeight;\n\t\trectCoords[ 2 ] = lightPos + halfWidth + halfHeight;\n\t\trectCoords[ 3 ] = lightPos - halfWidth + halfHeight;\n\t\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\n\t\tvec4 t1 = texture2D( ltc_1, uv );\n\t\tvec4 t2 = texture2D( ltc_2, uv );\n\t\tmat3 mInv = mat3(\n\t\t\tvec3( t1.x, 0, t1.y ),\n\t\t\tvec3( 0, 1, 0 ),\n\t\t\tvec3( t1.z, 0, t1.w )\n\t\t);\n\t\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\n\t\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\n\t\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\n\t}\n#endif\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\t#ifndef STANDARD\n\t\tfloat clearCoatDHR = material.clearCoat * clearCoatDHRApprox( material.clearCoatRoughness, dotNL );\n\t#else\n\t\tfloat clearCoatDHR = 0.0;\n\t#endif\n\treflectedLight.directSpecular += ( 1.0 - clearCoatDHR ) * irradiance * BRDF_Specular_GGX( directLight, geometry, material.specularColor, material.specularRoughness );\n\treflectedLight.directDiffuse += ( 1.0 - clearCoatDHR ) * irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n\t#ifndef STANDARD\n\t\treflectedLight.directSpecular += irradiance * material.clearCoat * BRDF_Specular_GGX( directLight, geometry, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearCoatRoughness );\n\t#endif\n}\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 clearCoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t#ifndef STANDARD\n\t\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\t\tfloat dotNL = dotNV;\n\t\tfloat clearCoatDHR = material.clearCoat * clearCoatDHRApprox( material.clearCoatRoughness, dotNL );\n\t#else\n\t\tfloat clearCoatDHR = 0.0;\n\t#endif\n\treflectedLight.indirectSpecular += ( 1.0 - clearCoatDHR ) * radiance * BRDF_Specular_GGX_Environment( geometry, material.specularColor, material.specularRoughness );\n\t#ifndef STANDARD\n\t\treflectedLight.indirectSpecular += clearCoatRadiance * material.clearCoat * BRDF_Specular_GGX_Environment( geometry, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearCoatRoughness );\n\t#endif\n}\n#define RE_Direct\t\t\t\tRE_Direct_Physical\n#define RE_Direct_RectArea\t\tRE_Direct_RectArea_Physical\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Physical\n#define RE_IndirectSpecular\t\tRE_IndirectSpecular_Physical\n#define Material_BlinnShininessExponent( material ) GGXRoughnessToBlinnExponent( material.specularRoughness )\n#define Material_ClearCoat_BlinnShininessExponent( material ) GGXRoughnessToBlinnExponent( material.clearCoatRoughness )\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\n\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\n}\n", -lights_fragment_begin:"\nGeometricContext geometry;\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = normalize( vViewPosition );\nIncidentLight directLight;\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\tPointLight pointLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tgetPointDirectLightIrradiance( pointLight, geometry, directLight );\n\t\t#ifdef USE_SHADOWMAP\n\t\tdirectLight.color *= all( bvec2( pointLight.shadow, directLight.visible ) ) ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\tSpotLight spotLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tgetSpotDirectLightIrradiance( spotLight, geometry, directLight );\n\t\t#ifdef USE_SHADOWMAP\n\t\tdirectLight.color *= all( bvec2( spotLight.shadow, directLight.visible ) ) ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\tDirectionalLight directionalLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalDirectLightIrradiance( directionalLight, geometry, directLight );\n\t\t#ifdef USE_SHADOWMAP\n\t\tdirectLight.color *= all( bvec2( directionalLight.shadow, directLight.visible ) ) ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\tRectAreaLight rectAreaLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\t\trectAreaLight = rectAreaLights[ i ];\n\t\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if defined( RE_IndirectDiffuse )\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\t\t#pragma unroll_loop\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t}\n\t#endif\n#endif\n#if defined( RE_IndirectSpecular )\n\tvec3 radiance = vec3( 0.0 );\n\tvec3 clearCoatRadiance = vec3( 0.0 );\n#endif\n", -lights_fragment_maps:"#if defined( RE_IndirectDiffuse )\n\t#ifdef USE_LIGHTMAP\n\t\tvec3 lightMapIrradiance = texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tlightMapIrradiance *= PI;\n\t\t#endif\n\t\tirradiance += lightMapIrradiance;\n\t#endif\n\t#if defined( USE_ENVMAP ) && defined( PHYSICAL ) && defined( ENVMAP_TYPE_CUBE_UV )\n\t\tirradiance += getLightProbeIndirectIrradiance( geometry, maxMipLevel );\n\t#endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\tradiance += getLightProbeIndirectRadiance( geometry, Material_BlinnShininessExponent( material ), maxMipLevel );\n\t#ifndef STANDARD\n\t\tclearCoatRadiance += getLightProbeIndirectRadiance( geometry, Material_ClearCoat_BlinnShininessExponent( material ), maxMipLevel );\n\t#endif\n#endif\n", -lights_fragment_end:"#if defined( RE_IndirectDiffuse )\n\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\n#endif\n#if defined( RE_IndirectSpecular )\n\tRE_IndirectSpecular( radiance, clearCoatRadiance, geometry, material, reflectedLight );\n#endif\n",logdepthbuf_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tgl_FragDepthEXT = log2( vFragDepth ) * logDepthBufFC * 0.5;\n#endif",logdepthbuf_pars_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tuniform float logDepthBufFC;\n\tvarying float vFragDepth;\n#endif\n", -logdepthbuf_pars_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t#else\n\t\tuniform float logDepthBufFC;\n\t#endif\n#endif\n",logdepthbuf_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvFragDepth = 1.0 + gl_Position.w;\n\t#else\n\t\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\n\t\tgl_Position.z *= gl_Position.w;\n\t#endif\n#endif\n",map_fragment:"#ifdef USE_MAP\n\tvec4 texelColor = texture2D( map, vUv );\n\ttexelColor = mapTexelToLinear( texelColor );\n\tdiffuseColor *= texelColor;\n#endif\n", -map_pars_fragment:"#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif\n",map_particle_fragment:"#ifdef USE_MAP\n\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n\tvec4 mapTexel = texture2D( map, uv );\n\tdiffuseColor *= mapTexelToLinear( mapTexel );\n#endif\n",map_particle_pars_fragment:"#ifdef USE_MAP\n\tuniform mat3 uvTransform;\n\tuniform sampler2D map;\n#endif\n",metalnessmap_fragment:"float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif\n", -metalnessmap_pars_fragment:"#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif",morphnormal_vertex:"#ifdef USE_MORPHNORMALS\n\tobjectNormal += ( morphNormal0 - normal ) * morphTargetInfluences[ 0 ];\n\tobjectNormal += ( morphNormal1 - normal ) * morphTargetInfluences[ 1 ];\n\tobjectNormal += ( morphNormal2 - normal ) * morphTargetInfluences[ 2 ];\n\tobjectNormal += ( morphNormal3 - normal ) * morphTargetInfluences[ 3 ];\n#endif\n",morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\n\t#ifndef USE_MORPHNORMALS\n\tuniform float morphTargetInfluences[ 8 ];\n\t#else\n\tuniform float morphTargetInfluences[ 4 ];\n\t#endif\n#endif", -morphtarget_vertex:"#ifdef USE_MORPHTARGETS\n\ttransformed += ( morphTarget0 - position ) * morphTargetInfluences[ 0 ];\n\ttransformed += ( morphTarget1 - position ) * morphTargetInfluences[ 1 ];\n\ttransformed += ( morphTarget2 - position ) * morphTargetInfluences[ 2 ];\n\ttransformed += ( morphTarget3 - position ) * morphTargetInfluences[ 3 ];\n\t#ifndef USE_MORPHNORMALS\n\ttransformed += ( morphTarget4 - position ) * morphTargetInfluences[ 4 ];\n\ttransformed += ( morphTarget5 - position ) * morphTargetInfluences[ 5 ];\n\ttransformed += ( morphTarget6 - position ) * morphTargetInfluences[ 6 ];\n\ttransformed += ( morphTarget7 - position ) * morphTargetInfluences[ 7 ];\n\t#endif\n#endif\n", -normal_fragment_begin:"#ifdef FLAT_SHADED\n\tvec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );\n\tvec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );\n\tvec3 normal = normalize( cross( fdx, fdy ) );\n#else\n\tvec3 normal = normalize( vNormal );\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t#endif\n#endif\n",normal_fragment_maps:"#ifdef USE_NORMALMAP\n\t#ifdef OBJECTSPACE_NORMALMAP\n\t\tnormal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t\t#ifdef FLIP_SIDED\n\t\t\tnormal = - normal;\n\t\t#endif\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tnormal = normal * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\t#endif\n\t\tnormal = normalize( normalMatrix * normal );\n\t#else\n\t\tnormal = perturbNormal2Arb( -vViewPosition, normal );\n\t#endif\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd() );\n#endif\n", -normalmap_pars_fragment:"#ifdef USE_NORMALMAP\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n\t#ifdef OBJECTSPACE_NORMALMAP\n\t\tuniform mat3 normalMatrix;\n\t#else\n\t\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm ) {\n\t\t\tvec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );\n\t\t\tvec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );\n\t\t\tvec2 st0 = dFdx( vUv.st );\n\t\t\tvec2 st1 = dFdy( vUv.st );\n\t\t\tfloat scale = sign( st1.t * st0.s - st0.t * st1.s );\n\t\t\tvec3 S = normalize( ( q0 * st1.t - q1 * st0.t ) * scale );\n\t\t\tvec3 T = normalize( ( - q0 * st1.s + q1 * st0.s ) * scale );\n\t\t\tvec3 N = normalize( surf_norm );\n\t\t\tmat3 tsn = mat3( S, T, N );\n\t\t\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t\t\tmapN.xy *= normalScale;\n\t\t\tmapN.xy *= ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\t\treturn normalize( tsn * mapN );\n\t\t}\n\t#endif\n#endif\n", -packing:"vec3 packNormalToRGB( const in vec3 normal ) {\n\treturn normalize( normal ) * 0.5 + 0.5;\n}\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\n\treturn 2.0 * rgb.xyz - 1.0;\n}\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\nconst float ShiftRight8 = 1. / 256.;\nvec4 packDepthToRGBA( const in float v ) {\n\tvec4 r = vec4( fract( v * PackFactors ), v );\n\tr.yzw -= r.xyz * ShiftRight8;\treturn r * PackUpscale;\n}\nfloat unpackRGBAToDepth( const in vec4 v ) {\n\treturn dot( v, UnpackFactors );\n}\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( viewZ + near ) / ( near - far );\n}\nfloat orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\n\treturn linearClipZ * ( near - far ) - near;\n}\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn (( near + viewZ ) * far ) / (( far - near ) * viewZ );\n}\nfloat perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\n\treturn ( near * far ) / ( ( far - near ) * invClipZ - far );\n}\n", -premultiplied_alpha_fragment:"#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif\n",project_vertex:"vec4 mvPosition = modelViewMatrix * vec4( transformed, 1.0 );\ngl_Position = projectionMatrix * mvPosition;\n",dithering_fragment:"#if defined( DITHERING )\n gl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif\n",dithering_pars_fragment:"#if defined( DITHERING )\n\tvec3 dithering( vec3 color ) {\n\t\tfloat grid_position = rand( gl_FragCoord.xy );\n\t\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\n\t\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\n\t\treturn color + dither_shift_RGB;\n\t}\n#endif\n", -roughnessmap_fragment:"float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\n\troughnessFactor *= texelRoughness.g;\n#endif\n",roughnessmap_pars_fragment:"#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif",shadowmap_pars_fragment:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\t\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHTS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHTS ];\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\t\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHTS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHTS ];\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\t\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHTS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHTS ];\n\t#endif\n\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n\t\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\t}\n\tfloat texture2DShadowLerp( sampler2D depths, vec2 size, vec2 uv, float compare ) {\n\t\tconst vec2 offset = vec2( 0.0, 1.0 );\n\t\tvec2 texelSize = vec2( 1.0 ) / size;\n\t\tvec2 centroidUV = floor( uv * size + 0.5 ) / size;\n\t\tfloat lb = texture2DCompare( depths, centroidUV + texelSize * offset.xx, compare );\n\t\tfloat lt = texture2DCompare( depths, centroidUV + texelSize * offset.xy, compare );\n\t\tfloat rb = texture2DCompare( depths, centroidUV + texelSize * offset.yx, compare );\n\t\tfloat rt = texture2DCompare( depths, centroidUV + texelSize * offset.yy, compare );\n\t\tvec2 f = fract( uv * size + 0.5 );\n\t\tfloat a = mix( lb, lt, f.y );\n\t\tfloat b = mix( rb, rt, f.y );\n\t\tfloat c = mix( a, b, f.x );\n\t\treturn c;\n\t}\n\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n\t\tfloat shadow = 1.0;\n\t\tshadowCoord.xyz /= shadowCoord.w;\n\t\tshadowCoord.z += shadowBias;\n\t\tbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\n\t\tbool inFrustum = all( inFrustumVec );\n\t\tbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\n\t\tbool frustumTest = all( frustumTestVec );\n\t\tif ( frustumTest ) {\n\t\t#if defined( SHADOWMAP_TYPE_PCF )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\n\t\t\tshadow = (\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#else\n\t\t\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#endif\n\t\t}\n\t\treturn shadow;\n\t}\n\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\n\t\tvec3 absV = abs( v );\n\t\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\n\t\tabsV *= scaleToCube;\n\t\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\n\t\tvec2 planar = v.xy;\n\t\tfloat almostATexel = 1.5 * texelSizeY;\n\t\tfloat almostOne = 1.0 - almostATexel;\n\t\tif ( absV.z >= almostOne ) {\n\t\t\tif ( v.z > 0.0 )\n\t\t\t\tplanar.x = 4.0 - v.x;\n\t\t} else if ( absV.x >= almostOne ) {\n\t\t\tfloat signX = sign( v.x );\n\t\t\tplanar.x = v.z * signX + 2.0 * signX;\n\t\t} else if ( absV.y >= almostOne ) {\n\t\t\tfloat signY = sign( v.y );\n\t\t\tplanar.x = v.x + 2.0 * signY + 2.0;\n\t\t\tplanar.y = v.z * signY - 2.0;\n\t\t}\n\t\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\n\t}\n\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\n\t\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n\t\tvec3 lightToPosition = shadowCoord.xyz;\n\t\tfloat dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\t\tdp += shadowBias;\n\t\tvec3 bd3D = normalize( lightToPosition );\n\t\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\n\t\t\treturn (\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#else\n\t\t\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\n\t\t#endif\n\t}\n#endif\n", -shadowmap_pars_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHTS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHTS ];\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\t\tuniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHTS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHTS ];\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHTS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHTS ];\n\t#endif\n#endif\n", -shadowmap_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * worldPosition;\n\t}\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * worldPosition;\n\t}\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * worldPosition;\n\t}\n\t#endif\n#endif\n", -shadowmask_pars_fragment:"float getShadowMask() {\n\tfloat shadow = 1.0;\n\t#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\tDirectionalLight directionalLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tshadow *= bool( directionalLight.shadow ) ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t}\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\tSpotLight spotLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tshadow *= bool( spotLight.shadow ) ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t}\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\tPointLight pointLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tshadow *= bool( pointLight.shadow ) ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t}\n\t#endif\n\t#endif\n\treturn shadow;\n}\n", -skinbase_vertex:"#ifdef USE_SKINNING\n\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\n\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\n\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\n\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\n#endif",skinning_pars_vertex:"#ifdef USE_SKINNING\n\tuniform mat4 bindMatrix;\n\tuniform mat4 bindMatrixInverse;\n\t#ifdef BONE_TEXTURE\n\t\tuniform sampler2D boneTexture;\n\t\tuniform int boneTextureSize;\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tfloat j = i * 4.0;\n\t\t\tfloat x = mod( j, float( boneTextureSize ) );\n\t\t\tfloat y = floor( j / float( boneTextureSize ) );\n\t\t\tfloat dx = 1.0 / float( boneTextureSize );\n\t\t\tfloat dy = 1.0 / float( boneTextureSize );\n\t\t\ty = dy * ( y + 0.5 );\n\t\t\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\n\t\t\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\n\t\t\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\n\t\t\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\n\t\t\tmat4 bone = mat4( v1, v2, v3, v4 );\n\t\t\treturn bone;\n\t\t}\n\t#else\n\t\tuniform mat4 boneMatrices[ MAX_BONES ];\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tmat4 bone = boneMatrices[ int(i) ];\n\t\t\treturn bone;\n\t\t}\n\t#endif\n#endif\n", -skinning_vertex:"#ifdef USE_SKINNING\n\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\n\tvec4 skinned = vec4( 0.0 );\n\tskinned += boneMatX * skinVertex * skinWeight.x;\n\tskinned += boneMatY * skinVertex * skinWeight.y;\n\tskinned += boneMatZ * skinVertex * skinWeight.z;\n\tskinned += boneMatW * skinVertex * skinWeight.w;\n\ttransformed = ( bindMatrixInverse * skinned ).xyz;\n#endif\n",skinnormal_vertex:"#ifdef USE_SKINNING\n\tmat4 skinMatrix = mat4( 0.0 );\n\tskinMatrix += skinWeight.x * boneMatX;\n\tskinMatrix += skinWeight.y * boneMatY;\n\tskinMatrix += skinWeight.z * boneMatZ;\n\tskinMatrix += skinWeight.w * boneMatW;\n\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\n\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\n#endif\n", -specularmap_fragment:"float specularStrength;\n#ifdef USE_SPECULARMAP\n\tvec4 texelSpecular = texture2D( specularMap, vUv );\n\tspecularStrength = texelSpecular.r;\n#else\n\tspecularStrength = 1.0;\n#endif",specularmap_pars_fragment:"#ifdef USE_SPECULARMAP\n\tuniform sampler2D specularMap;\n#endif",tonemapping_fragment:"#if defined( TONE_MAPPING )\n gl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif\n",tonemapping_pars_fragment:"#ifndef saturate\n\t#define saturate(a) clamp( a, 0.0, 1.0 )\n#endif\nuniform float toneMappingExposure;\nuniform float toneMappingWhitePoint;\nvec3 LinearToneMapping( vec3 color ) {\n\treturn toneMappingExposure * color;\n}\nvec3 ReinhardToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( color / ( vec3( 1.0 ) + color ) );\n}\n#define Uncharted2Helper( x ) max( ( ( x * ( 0.15 * x + 0.10 * 0.50 ) + 0.20 * 0.02 ) / ( x * ( 0.15 * x + 0.50 ) + 0.20 * 0.30 ) ) - 0.02 / 0.30, vec3( 0.0 ) )\nvec3 Uncharted2ToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( Uncharted2Helper( color ) / Uncharted2Helper( vec3( toneMappingWhitePoint ) ) );\n}\nvec3 OptimizedCineonToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\tcolor = max( vec3( 0.0 ), color - 0.004 );\n\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\n}\n", -uv_pars_fragment:"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\n\tvarying vec2 vUv;\n#endif",uv_pars_vertex:"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\n\tvarying vec2 vUv;\n\tuniform mat3 uvTransform;\n#endif\n", -uv_vertex:"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n#endif",uv2_pars_fragment:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvarying vec2 vUv2;\n#endif",uv2_pars_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tattribute vec2 uv2;\n\tvarying vec2 vUv2;\n#endif", -uv2_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvUv2 = uv2;\n#endif",worldpos_vertex:"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP )\n\tvec4 worldPosition = modelMatrix * vec4( transformed, 1.0 );\n#endif\n",cube_frag:"uniform samplerCube tCube;\nuniform float tFlip;\nuniform float opacity;\nvarying vec3 vWorldPosition;\nvoid main() {\n\tgl_FragColor = textureCube( tCube, vec3( tFlip * vWorldPosition.x, vWorldPosition.yz ) );\n\tgl_FragColor.a *= opacity;\n}\n", -cube_vert:"varying vec3 vWorldPosition;\n#include \nvoid main() {\n\tvWorldPosition = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n\tgl_Position.z = gl_Position.w;\n}\n",depth_frag:"#if DEPTH_PACKING == 3200\n\tuniform float opacity;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#if DEPTH_PACKING == 3200\n\t\tdiffuseColor.a = opacity;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( 1.0 - gl_FragCoord.z ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( gl_FragCoord.z );\n\t#endif\n}\n", -depth_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}\n", -distanceRGBA_frag:"#define DISTANCE\nuniform vec3 referencePosition;\nuniform float nearDistance;\nuniform float farDistance;\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main () {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include \n\t#include \n\t#include \n\tfloat dist = length( vWorldPosition - referencePosition );\n\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\n\tdist = saturate( dist );\n\tgl_FragColor = packDepthToRGBA( dist );\n}\n", -distanceRGBA_vert:"#define DISTANCE\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvWorldPosition = worldPosition.xyz;\n}\n", -equirect_frag:"uniform sampler2D tEquirect;\nvarying vec3 vWorldPosition;\n#include \nvoid main() {\n\tvec3 direction = normalize( vWorldPosition );\n\tvec2 sampleUV;\n\tsampleUV.y = asin( clamp( direction.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\tsampleUV.x = atan( direction.z, direction.x ) * RECIPROCAL_PI2 + 0.5;\n\tgl_FragColor = texture2D( tEquirect, sampleUV );\n}\n",equirect_vert:"varying vec3 vWorldPosition;\n#include \nvoid main() {\n\tvWorldPosition = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n}\n", -linedashed_frag:"uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\n\t\tdiscard;\n\t}\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n}\n", -linedashed_vert:"uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvLineDistance = scale * lineDistance;\n\tvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include \n\t#include \n\t#include \n}\n", -meshbasic_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\t#ifdef USE_LIGHTMAP\n\t\treflectedLight.indirectDiffuse += texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\n\t#else\n\t\treflectedLight.indirectDiffuse += vec3( 1.0 );\n\t#endif\n\t#include \n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\t#include \n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n}\n", -meshbasic_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#ifdef USE_ENVMAP\n\t#include \n\t#include \n\t#include \n\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}\n", -meshlambert_frag:"uniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\nvarying vec3 vLightFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\treflectedLight.indirectDiffuse = getAmbientLightIrradiance( ambientLightColor );\n\t#include \n\treflectedLight.indirectDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb );\n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;\n\t#else\n\t\treflectedLight.directDiffuse = vLightFront;\n\t#endif\n\treflectedLight.directDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb ) * getShadowMask();\n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include \n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}\n", -meshlambert_vert:"#define LAMBERT\nvarying vec3 vLightFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}\n", -meshphong_frag:"#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#include \n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}\n", -meshphong_vert:"#define PHONG\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n\t#include \n}\n", -meshphysical_frag:"#define PHYSICAL\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifndef STANDARD\n\tuniform float clearCoat;\n\tuniform float clearCoatRoughness;\n#endif\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}\n", -meshphysical_vert:"#define PHYSICAL\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n}\n", -normal_frag:"#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || ( defined( USE_NORMALMAP ) && ! defined( OBJECTSPACE_NORMALMAP ) )\n\tvarying vec3 vViewPosition;\n#endif\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\n}\n", -normal_vert:"#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || ( defined( USE_NORMALMAP ) && ! defined( OBJECTSPACE_NORMALMAP ) )\n\tvarying vec3 vViewPosition;\n#endif\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || ( defined( USE_NORMALMAP ) && ! defined( OBJECTSPACE_NORMALMAP ) )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}\n", -points_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n}\n", -points_vert:"uniform float size;\nuniform float scale;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\tgl_PointSize = size;\n\t#ifdef USE_SIZEATTENUATION\n\t\tbool isPerspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 );\n\t\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n}\n", -shadow_frag:"uniform vec3 color;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n\t#include \n}\n",shadow_vert:"#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}\n", -sprite_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n}\n", -sprite_vert:"uniform float rotation;\nuniform vec2 center;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\n\tvec2 scale;\n\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\n\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\n\t#ifndef USE_SIZEATTENUATION\n\t\tbool isPerspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 );\n\t\tif ( isPerspective ) scale *= - mvPosition.z;\n\t#endif\n\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\n\tvec2 rotatedPosition;\n\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\n\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\n\tmvPosition.xy += rotatedPosition;\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include \n\t#include \n\t#include \n}\n"}, -Ba={merge:function(a){for(var b={},c=0;c>16&255)/255;this.g=(a>>8&255)/255;this.b=(a&255)/255;return this},setRGB:function(a,b,c){this.r=a;this.g=b;this.b=c;return this},setHSL:function(){function a(a,c,d){0>d&&(d+=1);1d?c:d<2/3?a+6*(c-a)*(2/3-d):a}return function(b, -c,d){b=K.euclideanModulo(b,1);c=K.clamp(c,0,1);d=K.clamp(d,0,1);0===c?this.r=this.g=this.b=d:(c=.5>=d?d*(1+c):d+c-d*c,d=2*d-c,this.r=a(d,c,b+1/3),this.g=a(d,c,b),this.b=a(d,c,b-1/3));return this}}(),setStyle:function(a){function b(b){void 0!==b&&1>parseFloat(b)&&console.warn("THREE.Color: Alpha component of "+a+" will be ignored.")}var c;if(c=/^((?:rgb|hsl)a?)\(\s*([^\)]*)\)/.exec(a)){var d=c[2];switch(c[1]){case "rgb":case "rgba":if(c=/^(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(d))return this.r= -Math.min(255,parseInt(c[1],10))/255,this.g=Math.min(255,parseInt(c[2],10))/255,this.b=Math.min(255,parseInt(c[3],10))/255,b(c[5]),this;if(c=/^(\d+)%\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(d))return this.r=Math.min(100,parseInt(c[1],10))/100,this.g=Math.min(100,parseInt(c[2],10))/100,this.b=Math.min(100,parseInt(c[3],10))/100,b(c[5]),this;break;case "hsl":case "hsla":if(c=/^([0-9]*\.?[0-9]+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(d)){d=parseFloat(c[1])/ -360;var e=parseInt(c[2],10)/100,f=parseInt(c[3],10)/100;b(c[5]);return this.setHSL(d,e,f)}}}else if(c=/^#([A-Fa-f0-9]+)$/.exec(a)){c=c[1];d=c.length;if(3===d)return this.r=parseInt(c.charAt(0)+c.charAt(0),16)/255,this.g=parseInt(c.charAt(1)+c.charAt(1),16)/255,this.b=parseInt(c.charAt(2)+c.charAt(2),16)/255,this;if(6===d)return this.r=parseInt(c.charAt(0)+c.charAt(1),16)/255,this.g=parseInt(c.charAt(2)+c.charAt(3),16)/255,this.b=parseInt(c.charAt(4)+c.charAt(5),16)/255,this}a&&0a?.0773993808*a:Math.pow(.9478672986*a+.0521327014,2.4)}return function(b){this.r=a(b.r);this.g=a(b.g);this.b=a(b.b);return this}}(),copyLinearToSRGB:function(){function a(a){return.0031308>a?12.92*a:1.055*Math.pow(a,.41666)-.055}return function(b){this.r=a(b.r);this.g=a(b.g);this.b=a(b.b);return this}}(),convertSRGBToLinear:function(){this.copySRGBToLinear(this); -return this},convertLinearToSRGB:function(){this.copyLinearToSRGB(this);return this},getHex:function(){return 255*this.r<<16^255*this.g<<8^255*this.b<<0},getHexString:function(){return("000000"+this.getHex().toString(16)).slice(-6)},getHSL:function(a){void 0===a&&(console.warn("THREE.Color: .getHSL() target is now required"),a={h:0,s:0,l:0});var b=this.r,c=this.g,d=this.b,e=Math.max(b,c,d),f=Math.min(b,c,d),g,h=(f+e)/2;if(f===e)f=g=0;else{var k=e-f;f=.5>=h?k/(e+f):k/(2-e-f);switch(e){case b:g=(c- -d)/k+(cMath.abs(g)?(this._x=Math.atan2(-m,e),this._z=Math.atan2(-f,a)):(this._x=Math.atan2(n,k),this._z=0)):"YXZ"===b?(this._x=Math.asin(-d(m,-1,1)),.99999>Math.abs(m)?(this._y=Math.atan2(g,e),this._z=Math.atan2(h,k)):(this._y=Math.atan2(-l,a),this._z=0)):"ZXY"===b?(this._x=Math.asin(d(n,-1,1)),.99999>Math.abs(n)? -(this._y=Math.atan2(-l,e),this._z=Math.atan2(-f,k)):(this._y=0,this._z=Math.atan2(h,a))):"ZYX"===b?(this._y=Math.asin(-d(l,-1,1)),.99999>Math.abs(l)?(this._x=Math.atan2(n,e),this._z=Math.atan2(h,a)):(this._x=0,this._z=Math.atan2(-f,k))):"YZX"===b?(this._z=Math.asin(d(h,-1,1)),.99999>Math.abs(h)?(this._x=Math.atan2(-m,k),this._y=Math.atan2(-l,a)):(this._x=0,this._y=Math.atan2(g,e))):"XZY"===b?(this._z=Math.asin(-d(f,-1,1)),.99999>Math.abs(f)?(this._x=Math.atan2(n,k),this._y=Math.atan2(g,a)):(this._x= -Math.atan2(-m,e),this._y=0)):console.warn("THREE.Euler: .setFromRotationMatrix() given unsupported order: "+b);this._order=b;if(!1!==c)this.onChangeCallback();return this},setFromQuaternion:function(){var a=new J;return function(b,c,d){a.makeRotationFromQuaternion(b);return this.setFromRotationMatrix(a,c,d)}}(),setFromVector3:function(a,b){return this.set(a.x,a.y,a.z,b||this._order)},reorder:function(){var a=new ha;return function(b){a.setFromEuler(this);return this.setFromQuaternion(a,b)}}(),equals:function(a){return a._x=== -this._x&&a._y===this._y&&a._z===this._z&&a._order===this._order},fromArray:function(a){this._x=a[0];this._y=a[1];this._z=a[2];void 0!==a[3]&&(this._order=a[3]);this.onChangeCallback();return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);a[b]=this._x;a[b+1]=this._y;a[b+2]=this._z;a[b+3]=this._order;return a},toVector3:function(a){return a?a.set(this._x,this._y,this._z):new p(this._x,this._y,this._z)},onChange:function(a){this.onChangeCallback=a;return this},onChangeCallback:function(){}}); -Object.assign(Sd.prototype,{set:function(a){this.mask=1<g;g++)if(d[g]===d[(g+1)%3]){a.push(f);break}for(f=a.length-1;0<=f;f--)for(d=a[f],this.faces.splice(d,1),c=0,e=this.faceVertexUvs.length;cthis.opacity&&(d.opacity=this.opacity); -!0===this.transparent&&(d.transparent=this.transparent);d.depthFunc=this.depthFunc;d.depthTest=this.depthTest;d.depthWrite=this.depthWrite;0!==this.rotation&&(d.rotation=this.rotation);!0===this.polygonOffset&&(d.polygonOffset=!0);0!==this.polygonOffsetFactor&&(d.polygonOffsetFactor=this.polygonOffsetFactor);0!==this.polygonOffsetUnits&&(d.polygonOffsetUnits=this.polygonOffsetUnits);1!==this.linewidth&&(d.linewidth=this.linewidth);void 0!==this.dashSize&&(d.dashSize=this.dashSize);void 0!==this.gapSize&& -(d.gapSize=this.gapSize);void 0!==this.scale&&(d.scale=this.scale);!0===this.dithering&&(d.dithering=!0);0a?b.copy(this.origin):b.copy(this.direction).multiplyScalar(a).add(this.origin)},distanceToPoint:function(a){return Math.sqrt(this.distanceSqToPoint(a))},distanceSqToPoint:function(){var a=new p;return function(b){var c=a.subVectors(b,this.origin).dot(this.direction);if(0>c)return this.origin.distanceToSquared(b);a.copy(this.direction).multiplyScalar(c).add(this.origin);return a.distanceToSquared(b)}}(),distanceSqToSegment:function(){var a= -new p,b=new p,c=new p;return function(d,e,f,g){a.copy(d).add(e).multiplyScalar(.5);b.copy(e).sub(d).normalize();c.copy(this.origin).sub(a);var h=.5*d.distanceTo(e),k=-this.direction.dot(b),m=c.dot(this.direction),l=-c.dot(b),n=c.lengthSq(),q=Math.abs(1-k*k);if(0=-p?e<=p?(h=1/q,d*=h,e*=h,k=d*(d+k*e+2*m)+e*(k*d+e+2*l)+n):(e=h,d=Math.max(0,-(k*e+m)),k=-d*d+e*(e+2*l)+n):(e=-h,d=Math.max(0,-(k*e+m)),k=-d*d+e*(e+2*l)+n):e<=-p?(d=Math.max(0,-(-k*h+m)),e=0b)return null; -b=Math.sqrt(b-e);e=d-b;d+=b;return 0>e&&0>d?null:0>e?this.at(d,c):this.at(e,c)}}(),intersectsSphere:function(a){return this.distanceSqToPoint(a.center)<=a.radius*a.radius},distanceToPlane:function(a){var b=a.normal.dot(this.direction);if(0===b)return 0===a.distanceToPoint(this.origin)?0:null;a=-(this.origin.dot(a.normal)+a.constant)/b;return 0<=a?a:null},intersectPlane:function(a,b){a=this.distanceToPlane(a);return null===a?null:this.at(a,b)},intersectsPlane:function(a){var b=a.distanceToPoint(this.origin); -return 0===b||0>a.normal.dot(this.direction)*b?!0:!1},intersectBox:function(a,b){var c=1/this.direction.x;var d=1/this.direction.y;var e=1/this.direction.z,f=this.origin;if(0<=c){var g=(a.min.x-f.x)*c;c*=a.max.x-f.x}else g=(a.max.x-f.x)*c,c*=a.min.x-f.x;if(0<=d){var h=(a.min.y-f.y)*d;d*=a.max.y-f.y}else h=(a.max.y-f.y)*d,d*=a.min.y-f.y;if(g>d||h>c)return null;if(h>g||g!==g)g=h;if(da||h>c)return null; -if(h>g||g!==g)g=h;if(ac?null:this.at(0<=g?g:c,b)},intersectsBox:function(){var a=new p;return function(b){return null!==this.intersectBox(b,a)}}(),intersectTriangle:function(){var a=new p,b=new p,c=new p,d=new p;return function(e,f,g,h,k){b.subVectors(f,e);c.subVectors(g,e);d.crossVectors(b,c);f=this.direction.dot(d);if(0f)h=-1,f=-f;else return null;a.subVectors(this.origin,e);e=h*this.direction.dot(c.crossVectors(a,c));if(0>e)return null; -g=h*this.direction.dot(b.cross(a));if(0>g||e+g>f)return null;e=-h*a.dot(d);return 0>e?null:this.at(e/f,k)}}(),applyMatrix4:function(a){this.origin.applyMatrix4(a);this.direction.transformDirection(a);return this},equals:function(a){return a.origin.equals(this.origin)&&a.direction.equals(this.direction)}});Object.assign(da,{getNormal:function(){var a=new p;return function(b,c,d,e){void 0===e&&(console.warn("THREE.Triangle: .getNormal() target is now required"),e=new p);e.subVectors(d,c);a.subVectors(b, -c);e.cross(a);b=e.lengthSq();return 0=a.x+a.y}}(),getUV:function(){var a=new p;return function(b,c,d,e,f,g,h,k){this.getBarycoord(b,c,d,e,a);k.set(0,0);k.addScaledVector(f,a.x);k.addScaledVector(g,a.y);k.addScaledVector(h,a.z);return k}}()});Object.assign(da.prototype,{set:function(a,b,c){this.a.copy(a);this.b.copy(b);this.c.copy(c);return this},setFromPointsAndIndices:function(a,b,c,d){this.a.copy(a[b]);this.b.copy(a[c]);this.c.copy(a[d]);return this}, -clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.a.copy(a.a);this.b.copy(a.b);this.c.copy(a.c);return this},getArea:function(){var a=new p,b=new p;return function(){a.subVectors(this.c,this.b);b.subVectors(this.a,this.b);return.5*a.cross(b).length()}}(),getMidpoint:function(a){void 0===a&&(console.warn("THREE.Triangle: .getMidpoint() target is now required"),a=new p);return a.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)},getNormal:function(a){return da.getNormal(this.a, -this.b,this.c,a)},getPlane:function(a){void 0===a&&(console.warn("THREE.Triangle: .getPlane() target is now required"),a=new p);return a.setFromCoplanarPoints(this.a,this.b,this.c)},getBarycoord:function(a,b){return da.getBarycoord(a,this.a,this.b,this.c,b)},containsPoint:function(a){return da.containsPoint(a,this.a,this.b,this.c)},getUV:function(a,b,c,d,e){return da.getUV(a,this.a,this.b,this.c,b,c,d,e)},intersectsBox:function(a){return a.intersectsTriangle(this)},closestPointToPoint:function(){var a= -new p,b=new p,c=new p,d=new p,e=new p,f=new p;return function(g,h){void 0===h&&(console.warn("THREE.Triangle: .closestPointToPoint() target is now required"),h=new p);var k=this.a,m=this.b,l=this.c;a.subVectors(m,k);b.subVectors(l,k);d.subVectors(g,k);var n=a.dot(d),q=b.dot(d);if(0>=n&&0>=q)return h.copy(k);e.subVectors(g,m);var u=a.dot(e),r=b.dot(e);if(0<=u&&r<=u)return h.copy(m);var v=n*r-u*q;if(0>=v&&0<=n&&0>=u)return m=n/(n-u),h.copy(k).addScaledVector(a,m);f.subVectors(g,l);g=a.dot(f);var y= -b.dot(f);if(0<=y&&g<=y)return h.copy(l);n=g*q-n*y;if(0>=n&&0<=q&&0>=y)return v=q/(q-y),h.copy(k).addScaledVector(b,v);q=u*y-g*r;if(0>=q&&0<=r-u&&0<=g-y)return c.subVectors(l,m),v=(r-u)/(r-u+(g-y)),h.copy(m).addScaledVector(c,v);l=1/(q+n+v);m=n*l;v*=l;return h.copy(k).addScaledVector(a,m).addScaledVector(b,v)}}(),equals:function(a){return a.a.equals(this.a)&&a.b.equals(this.b)&&a.c.equals(this.c)}});ta.prototype=Object.assign(Object.create(B.prototype),{constructor:ta,isMesh:!0,setDrawMode:function(a){this.drawMode= -a},copy:function(a){B.prototype.copy.call(this,a);this.drawMode=a.drawMode;void 0!==a.morphTargetInfluences&&(this.morphTargetInfluences=a.morphTargetInfluences.slice());void 0!==a.morphTargetDictionary&&(this.morphTargetDictionary=Object.assign({},a.morphTargetDictionary));return this},updateMorphTargets:function(){var a=this.geometry;if(a.isBufferGeometry){a=a.morphAttributes;var b=Object.keys(a);if(0c.far?null:{distance:b,point:v.clone(),object:a}}function b(b,c,d,e,k,m,l,t,p){f.fromBufferAttribute(k,l);g.fromBufferAttribute(k,t);h.fromBufferAttribute(k,p);if(b=a(b,c,d,e,f,g,h,r))m&&(n.fromBufferAttribute(m,l),q.fromBufferAttribute(m,t),u.fromBufferAttribute(m,p),b.uv=da.getUV(r,f,g,h,n,q,u,new z)),m=new Va(l,t,p),da.getNormal(f,g,h,m.normal),b.face=m;return b}var c=new J,d=new ob,e=new Ea,f=new p,g=new p, -h=new p,k=new p,m=new p,l=new p,n=new z,q=new z,u=new z,r=new p,v=new p;return function(t,p){var v=this.geometry,y=this.material,x=this.matrixWorld;if(void 0!==y&&(null===v.boundingSphere&&v.computeBoundingSphere(),e.copy(v.boundingSphere),e.applyMatrix4(x),!1!==t.ray.intersectsSphere(e)&&(c.getInverse(x),d.copy(t.ray).applyMatrix4(c),null===v.boundingBox||!1!==d.intersectsBox(v.boundingBox))))if(v.isBufferGeometry){var A=v.index,B=v.attributes.position,E=v.attributes.uv,I=v.groups;v=v.drawRange; -var H;if(null!==A)if(Array.isArray(y)){var F=0;for(H=I.length;Fe.far||f.push({distance:r,point:b.clone(),uv:da.getUV(b,h,k,m,l,n,q,new z),face:null,object:this})}}(),clone:function(){return(new this.constructor(this.material)).copy(this)},copy:function(a){B.prototype.copy.call(this,a);void 0!==a.center&&this.center.copy(a.center);return this}});Dc.prototype=Object.assign(Object.create(B.prototype),{constructor:Dc, -copy:function(a){B.prototype.copy.call(this,a,!1);a=a.levels;for(var b=0,c=a.length;b=d[e].distance)d[e-1].object.visible=!1,d[e].object.visible=!0;else break;for(;ef||(l.applyMatrix4(this.matrixWorld),v=d.ray.origin.distanceTo(l),vd.far||e.push({distance:v,point:h.clone().applyMatrix4(this.matrixWorld),index:g,face:null,faceIndex:null,object:this}))}}else for(g= -0,r=u.length/3-1;gf||(l.applyMatrix4(this.matrixWorld),v=d.ray.origin.distanceTo(l),vd.far||e.push({distance:v,point:h.clone().applyMatrix4(this.matrixWorld),index:g,face:null,faceIndex:null,object:this}))}else if(g.isGeometry)for(k=g.vertices,m=k.length,g=0;gf||(l.applyMatrix4(this.matrixWorld),v=d.ray.origin.distanceTo(l),vd.far||e.push({distance:v, -point:h.clone().applyMatrix4(this.matrixWorld),index:g,face:null,faceIndex:null,object:this}))}}}(),clone:function(){return(new this.constructor(this.geometry,this.material)).copy(this)}});Z.prototype=Object.assign(Object.create(oa.prototype),{constructor:Z,isLineSegments:!0,computeLineDistances:function(){var a=new p,b=new p;return function(){var c=this.geometry;if(c.isBufferGeometry)if(null===c.index){for(var d=c.attributes.position,e=[],f=0,g=d.count;fd.far||e.push({distance:a,distanceToRay:Math.sqrt(f),point:n.clone(),index:c,face:null,object:g}))}var g=this,h=this.geometry,k=this.matrixWorld,m=d.params.Points.threshold;null===h.boundingSphere&&h.computeBoundingSphere();c.copy(h.boundingSphere);c.applyMatrix4(k);c.radius+=m;if(!1!==d.ray.intersectsSphere(c)){a.getInverse(k);b.copy(d.ray).applyMatrix4(a);m/=(this.scale.x+this.scale.y+this.scale.z)/3;var l=m*m;m=new p;var n=new p;if(h.isBufferGeometry){var q= -h.index;h=h.attributes.position.array;if(null!==q){var u=q.array;q=0;for(var r=u.length;q=a.HAVE_CURRENT_DATA&& -(this.needsUpdate=!0)}});Rb.prototype=Object.create(T.prototype);Rb.prototype.constructor=Rb;Rb.prototype.isCompressedTexture=!0;Fc.prototype=Object.create(T.prototype);Fc.prototype.constructor=Fc;Fc.prototype.isCanvasTexture=!0;Gc.prototype=Object.create(T.prototype);Gc.prototype.constructor=Gc;Gc.prototype.isDepthTexture=!0;Sb.prototype=Object.create(I.prototype);Sb.prototype.constructor=Sb;Hc.prototype=Object.create(M.prototype);Hc.prototype.constructor=Hc;Tb.prototype=Object.create(I.prototype); -Tb.prototype.constructor=Tb;Ic.prototype=Object.create(M.prototype);Ic.prototype.constructor=Ic;la.prototype=Object.create(I.prototype);la.prototype.constructor=la;Jc.prototype=Object.create(M.prototype);Jc.prototype.constructor=Jc;Ub.prototype=Object.create(la.prototype);Ub.prototype.constructor=Ub;Kc.prototype=Object.create(M.prototype);Kc.prototype.constructor=Kc;rb.prototype=Object.create(la.prototype);rb.prototype.constructor=rb;Lc.prototype=Object.create(M.prototype);Lc.prototype.constructor= -Lc;Vb.prototype=Object.create(la.prototype);Vb.prototype.constructor=Vb;Mc.prototype=Object.create(M.prototype);Mc.prototype.constructor=Mc;Wb.prototype=Object.create(la.prototype);Wb.prototype.constructor=Wb;Nc.prototype=Object.create(M.prototype);Nc.prototype.constructor=Nc;Xb.prototype=Object.create(I.prototype);Xb.prototype.constructor=Xb;Oc.prototype=Object.create(M.prototype);Oc.prototype.constructor=Oc;Yb.prototype=Object.create(I.prototype);Yb.prototype.constructor=Yb;Pc.prototype=Object.create(M.prototype); -Pc.prototype.constructor=Pc;Zb.prototype=Object.create(I.prototype);Zb.prototype.constructor=Zb;var Tg={triangulate:function(a,b,c){c=c||2;var d=b&&b.length,e=d?b[0]*c:a.length,f=af(a,0,e,c,!0),g=[];if(!f)return g;var h;if(d){var k=c;d=[];var m;var l=0;for(m=b.length;l80*c){var p=h= -a[0];var r=d=a[1];for(k=c;kh&&(h=l),b>d&&(d=b);h=Math.max(h-p,d-r);h=0!==h?1/h:0}Sc(f,g,c,p,r,h);return g}},Xa={area:function(a){for(var b=a.length,c=0,d=b-1,e=0;eXa.area(a)},triangulateShape:function(a,b){var c=[],d=[],e=[];ef(a);ff(c,a);var f=a.length;b.forEach(ef);for(a=0;aMath.abs(g-k)?[new z(a,1-c),new z(h,1-d),new z(m,1-e),new z(n,1-b)]:[new z(g,1-c),new z(k,1-d),new z(l,1-e),new z(q,1-b)]}};Uc.prototype=Object.create(M.prototype);Uc.prototype.constructor=Uc;$b.prototype=Object.create(Qa.prototype);$b.prototype.constructor= -$b;Vc.prototype=Object.create(M.prototype);Vc.prototype.constructor=Vc;ub.prototype=Object.create(I.prototype);ub.prototype.constructor=ub;Wc.prototype=Object.create(M.prototype);Wc.prototype.constructor=Wc;ac.prototype=Object.create(I.prototype);ac.prototype.constructor=ac;Xc.prototype=Object.create(M.prototype);Xc.prototype.constructor=Xc;bc.prototype=Object.create(I.prototype);bc.prototype.constructor=bc;vb.prototype=Object.create(M.prototype);vb.prototype.constructor=vb;vb.prototype.toJSON=function(){var a= -M.prototype.toJSON.call(this);return hf(this.parameters.shapes,a)};wb.prototype=Object.create(I.prototype);wb.prototype.constructor=wb;wb.prototype.toJSON=function(){var a=I.prototype.toJSON.call(this);return hf(this.parameters.shapes,a)};cc.prototype=Object.create(I.prototype);cc.prototype.constructor=cc;xb.prototype=Object.create(M.prototype);xb.prototype.constructor=xb;Ya.prototype=Object.create(I.prototype);Ya.prototype.constructor=Ya;Yc.prototype=Object.create(xb.prototype);Yc.prototype.constructor= -Yc;Zc.prototype=Object.create(Ya.prototype);Zc.prototype.constructor=Zc;$c.prototype=Object.create(M.prototype);$c.prototype.constructor=$c;dc.prototype=Object.create(I.prototype);dc.prototype.constructor=dc;var za=Object.freeze({WireframeGeometry:Sb,ParametricGeometry:Hc,ParametricBufferGeometry:Tb,TetrahedronGeometry:Jc,TetrahedronBufferGeometry:Ub,OctahedronGeometry:Kc,OctahedronBufferGeometry:rb,IcosahedronGeometry:Lc,IcosahedronBufferGeometry:Vb,DodecahedronGeometry:Mc,DodecahedronBufferGeometry:Wb, -PolyhedronGeometry:Ic,PolyhedronBufferGeometry:la,TubeGeometry:Nc,TubeBufferGeometry:Xb,TorusKnotGeometry:Oc,TorusKnotBufferGeometry:Yb,TorusGeometry:Pc,TorusBufferGeometry:Zb,TextGeometry:Uc,TextBufferGeometry:$b,SphereGeometry:Vc,SphereBufferGeometry:ub,RingGeometry:Wc,RingBufferGeometry:ac,PlaneGeometry:wc,PlaneBufferGeometry:nb,LatheGeometry:Xc,LatheBufferGeometry:bc,ShapeGeometry:vb,ShapeBufferGeometry:wb,ExtrudeGeometry:tb,ExtrudeBufferGeometry:Qa,EdgesGeometry:cc,ConeGeometry:Yc,ConeBufferGeometry:Zc, -CylinderGeometry:xb,CylinderBufferGeometry:Ya,CircleGeometry:$c,CircleBufferGeometry:dc,BoxGeometry:Kb,BoxBufferGeometry:mb});yb.prototype=Object.create(H.prototype);yb.prototype.constructor=yb;yb.prototype.isShadowMaterial=!0;yb.prototype.copy=function(a){H.prototype.copy.call(this,a);this.color.copy(a.color);return this};ec.prototype=Object.create(ua.prototype);ec.prototype.constructor=ec;ec.prototype.isRawShaderMaterial=!0;Ra.prototype=Object.create(H.prototype);Ra.prototype.constructor=Ra;Ra.prototype.isMeshStandardMaterial= -!0;Ra.prototype.copy=function(a){H.prototype.copy.call(this,a);this.defines={STANDARD:""};this.color.copy(a.color);this.roughness=a.roughness;this.metalness=a.metalness;this.map=a.map;this.lightMap=a.lightMap;this.lightMapIntensity=a.lightMapIntensity;this.aoMap=a.aoMap;this.aoMapIntensity=a.aoMapIntensity;this.emissive.copy(a.emissive);this.emissiveMap=a.emissiveMap;this.emissiveIntensity=a.emissiveIntensity;this.bumpMap=a.bumpMap;this.bumpScale=a.bumpScale;this.normalMap=a.normalMap;this.normalMapType= -a.normalMapType;this.normalScale.copy(a.normalScale);this.displacementMap=a.displacementMap;this.displacementScale=a.displacementScale;this.displacementBias=a.displacementBias;this.roughnessMap=a.roughnessMap;this.metalnessMap=a.metalnessMap;this.alphaMap=a.alphaMap;this.envMap=a.envMap;this.envMapIntensity=a.envMapIntensity;this.refractionRatio=a.refractionRatio;this.wireframe=a.wireframe;this.wireframeLinewidth=a.wireframeLinewidth;this.wireframeLinecap=a.wireframeLinecap;this.wireframeLinejoin= -a.wireframeLinejoin;this.skinning=a.skinning;this.morphTargets=a.morphTargets;this.morphNormals=a.morphNormals;return this};zb.prototype=Object.create(Ra.prototype);zb.prototype.constructor=zb;zb.prototype.isMeshPhysicalMaterial=!0;zb.prototype.copy=function(a){Ra.prototype.copy.call(this,a);this.defines={PHYSICAL:""};this.reflectivity=a.reflectivity;this.clearCoat=a.clearCoat;this.clearCoatRoughness=a.clearCoatRoughness;return this};Ga.prototype=Object.create(H.prototype);Ga.prototype.constructor= -Ga;Ga.prototype.isMeshPhongMaterial=!0;Ga.prototype.copy=function(a){H.prototype.copy.call(this,a);this.color.copy(a.color);this.specular.copy(a.specular);this.shininess=a.shininess;this.map=a.map;this.lightMap=a.lightMap;this.lightMapIntensity=a.lightMapIntensity;this.aoMap=a.aoMap;this.aoMapIntensity=a.aoMapIntensity;this.emissive.copy(a.emissive);this.emissiveMap=a.emissiveMap;this.emissiveIntensity=a.emissiveIntensity;this.bumpMap=a.bumpMap;this.bumpScale=a.bumpScale;this.normalMap=a.normalMap; -this.normalMapType=a.normalMapType;this.normalScale.copy(a.normalScale);this.displacementMap=a.displacementMap;this.displacementScale=a.displacementScale;this.displacementBias=a.displacementBias;this.specularMap=a.specularMap;this.alphaMap=a.alphaMap;this.envMap=a.envMap;this.combine=a.combine;this.reflectivity=a.reflectivity;this.refractionRatio=a.refractionRatio;this.wireframe=a.wireframe;this.wireframeLinewidth=a.wireframeLinewidth;this.wireframeLinecap=a.wireframeLinecap;this.wireframeLinejoin= -a.wireframeLinejoin;this.skinning=a.skinning;this.morphTargets=a.morphTargets;this.morphNormals=a.morphNormals;return this};Ab.prototype=Object.create(Ga.prototype);Ab.prototype.constructor=Ab;Ab.prototype.isMeshToonMaterial=!0;Ab.prototype.copy=function(a){Ga.prototype.copy.call(this,a);this.gradientMap=a.gradientMap;return this};Bb.prototype=Object.create(H.prototype);Bb.prototype.constructor=Bb;Bb.prototype.isMeshNormalMaterial=!0;Bb.prototype.copy=function(a){H.prototype.copy.call(this,a);this.bumpMap= -a.bumpMap;this.bumpScale=a.bumpScale;this.normalMap=a.normalMap;this.normalMapType=a.normalMapType;this.normalScale.copy(a.normalScale);this.displacementMap=a.displacementMap;this.displacementScale=a.displacementScale;this.displacementBias=a.displacementBias;this.wireframe=a.wireframe;this.wireframeLinewidth=a.wireframeLinewidth;this.skinning=a.skinning;this.morphTargets=a.morphTargets;this.morphNormals=a.morphNormals;return this};Cb.prototype=Object.create(H.prototype);Cb.prototype.constructor=Cb; -Cb.prototype.isMeshLambertMaterial=!0;Cb.prototype.copy=function(a){H.prototype.copy.call(this,a);this.color.copy(a.color);this.map=a.map;this.lightMap=a.lightMap;this.lightMapIntensity=a.lightMapIntensity;this.aoMap=a.aoMap;this.aoMapIntensity=a.aoMapIntensity;this.emissive.copy(a.emissive);this.emissiveMap=a.emissiveMap;this.emissiveIntensity=a.emissiveIntensity;this.specularMap=a.specularMap;this.alphaMap=a.alphaMap;this.envMap=a.envMap;this.combine=a.combine;this.reflectivity=a.reflectivity;this.refractionRatio= -a.refractionRatio;this.wireframe=a.wireframe;this.wireframeLinewidth=a.wireframeLinewidth;this.wireframeLinecap=a.wireframeLinecap;this.wireframeLinejoin=a.wireframeLinejoin;this.skinning=a.skinning;this.morphTargets=a.morphTargets;this.morphNormals=a.morphNormals;return this};Db.prototype=Object.create(V.prototype);Db.prototype.constructor=Db;Db.prototype.isLineDashedMaterial=!0;Db.prototype.copy=function(a){V.prototype.copy.call(this,a);this.scale=a.scale;this.dashSize=a.dashSize;this.gapSize=a.gapSize; -return this};var Ug=Object.freeze({ShadowMaterial:yb,SpriteMaterial:eb,RawShaderMaterial:ec,ShaderMaterial:ua,PointsMaterial:Fa,MeshPhysicalMaterial:zb,MeshStandardMaterial:Ra,MeshPhongMaterial:Ga,MeshToonMaterial:Ab,MeshNormalMaterial:Bb,MeshLambertMaterial:Cb,MeshDepthMaterial:ab,MeshDistanceMaterial:bb,MeshBasicMaterial:ka,LineDashedMaterial:Db,LineBasicMaterial:V,Material:H}),Hb={enabled:!1,files:{},add:function(a,b){!1!==this.enabled&&(this.files[a]=b)},get:function(a){if(!1!==this.enabled)return this.files[a]}, -remove:function(a){delete this.files[a]},clear:function(){this.files={}}},wa=new be,Na={};Object.assign(Ha.prototype,{load:function(a,b,c,d){void 0===a&&(a="");void 0!==this.path&&(a=this.path+a);a=this.manager.resolveURL(a);var e=this,f=Hb.get(a);if(void 0!==f)return e.manager.itemStart(a),setTimeout(function(){b&&b(f);e.manager.itemEnd(a)},0),f;if(void 0!==Na[a])Na[a].push({onLoad:b,onProgress:c,onError:d});else{var g=a.match(/^data:(.*?)(;base64)?,(.*)$/);if(g){c=g[1];var h=!!g[2];g=g[3];g=window.decodeURIComponent(g); -h&&(g=window.atob(g));try{var k=(this.responseType||"").toLowerCase();switch(k){case "arraybuffer":case "blob":var m=new Uint8Array(g.length);for(h=0;hg)e=a+1;else if(0b&&(b=0);1Number.EPSILON&&(g.normalize(),c=Math.acos(K.clamp(d[k-1].dot(d[k]),-1,1)),e[k].applyMatrix4(h.makeRotationAxis(g,c))),f[k].crossVectors(d[k],e[k]);if(!0===b)for(c=Math.acos(K.clamp(e[0].dot(e[a]),-1,1)),c/=a,0d;)d+=c;for(;d>c;)d-=c;de&&(e=1);1E-4>d&&(d=e);1E-4>k&&(k=e);ze.initNonuniformCatmullRom(f.x,g.x,h.x,c.x,d,e,k);Ae.initNonuniformCatmullRom(f.y,g.y,h.y,c.y,d,e,k);Be.initNonuniformCatmullRom(f.z,g.z,h.z,c.z,d,e,k)}else"catmullrom"===this.curveType&&(ze.initCatmullRom(f.x,g.x,h.x,c.x,this.tension),Ae.initCatmullRom(f.y,g.y,h.y,c.y,this.tension),Be.initCatmullRom(f.z,g.z,h.z,c.z,this.tension));b.set(ze.calc(a), -Ae.calc(a),Be.calc(a));return b};ja.prototype.copy=function(a){L.prototype.copy.call(this,a);this.points=[];for(var b=0,c=a.points.length;bc.length-2?c.length-1:a+1];c=c[a>c.length-3?c.length-1:a+2];b.set(kf(d,e.x,f.x,g.x,c.x),kf(d,e.y,f.y,g.y,c.y));return b};La.prototype.copy=function(a){L.prototype.copy.call(this,a);this.points=[];for(var b=0,c=a.points.length;b=b)return b=c[a]-b,a=this.curves[a],c=a.getLength(),a.getPointAt(0===c?0:1-b/c);a++}return null},getLength:function(){var a=this.getCurveLengths(); -return a[a.length-1]},updateArcLengths:function(){this.needsUpdate=!0;this.cacheLengths=null;this.getCurveLengths()},getCurveLengths:function(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;for(var a=[],b=0,c=0,d=this.curves.length;c=e)break a;else{f=b[1];a=e)break b}d=c;c= -0}}for(;c>>1,ab;)--f;++f;if(0!==e||f!==d)e>=f&&(f=Math.max(f,1),e=f-1),a=this.getValueSize(),this.times=qa.arraySlice(c,e,f),this.values=qa.arraySlice(this.values,e*a,f*a);return this},validate:function(){var a= -!0,b=this.getValueSize();0!==b-Math.floor(b)&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),a=!1);var c=this.times;b=this.values;var d=c.length;0===d&&(console.error("THREE.KeyframeTrack: Track is empty.",this),a=!1);for(var e=null,f=0;f!==d;f++){var g=c[f];if("number"===typeof g&&isNaN(g)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,f,g);a=!1;break}if(null!==e&&e>g){console.error("THREE.KeyframeTrack: Out of order keys.",this,f,g,e);a=!1;break}e= -g}if(void 0!==b&&qa.isTypedArray(b))for(f=0,c=b.length;f!==c;++f)if(d=b[f],isNaN(d)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,f,d);a=!1;break}return a},optimize:function(){for(var a=this.times,b=this.values,c=this.getValueSize(),d=2302===this.getInterpolation(),e=1,f=a.length-1,g=1;gm.opacity&&(m.transparent=!0);d.setTextures(k);return d.parse(m)}}()});var Ce={decodeText:function(a){if("undefined"!==typeof TextDecoder)return(new TextDecoder).decode(a);for(var b="",c=0,d=a.length;cf;f++){var D=h[u++];var B=A[2*D];D=A[2*D+1];B=new z(B,D);2!==f&&c.faceVertexUvs[e][v].push(B);0!==f&&c.faceVertexUvs[e][v+1].push(B)}}y&&(y=3*h[u++],r.normal.set(m[y++],m[y++],m[y]),w.normal.copy(r.normal));if(x)for(e=0;4>e;e++)y=3*h[u++],x=new p(m[y++], -m[y++],m[y]),2!==e&&r.vertexNormals.push(x),0!==e&&w.vertexNormals.push(x);n&&(n=h[u++],n=l[n],r.color.setHex(n),w.color.setHex(n));if(k)for(e=0;4>e;e++)n=h[u++],n=l[n],2!==e&&r.vertexColors.push(new F(n)),0!==e&&w.vertexColors.push(new F(n));c.faces.push(r);c.faces.push(w)}else{r=new Va;r.a=h[u++];r.b=h[u++];r.c=h[u++];v&&(v=h[u++],r.materialIndex=v);v=c.faces.length;if(e)for(e=0;ef;f++)D=h[u++],B=A[2*D],D=A[2*D+1],B=new z(B,D),c.faceVertexUvs[e][v].push(B); -y&&(y=3*h[u++],r.normal.set(m[y++],m[y++],m[y]));if(x)for(e=0;3>e;e++)y=3*h[u++],x=new p(m[y++],m[y++],m[y]),r.vertexNormals.push(x);n&&(n=h[u++],r.color.setHex(l[n]));if(k)for(e=0;3>e;e++)n=h[u++],r.vertexColors.push(new F(l[n]));c.faces.push(r)}}d=a;u=void 0!==d.influencesPerVertex?d.influencesPerVertex:2;if(d.skinWeights)for(g=0,h=d.skinWeights.length;g -Number.EPSILON){if(0>m&&(g=b[f],k=-k,h=b[e],m=-m),!(a.yh.y))if(a.y===g.y){if(a.x===g.x)return!0}else{e=m*(a.x-g.x)-k*(a.y-g.y);if(0===e)return!0;0>e||(d=!d)}}else if(a.y===g.y&&(h.x<=a.x&&a.x<=g.x||g.x<=a.x&&a.x<=h.x))return!0}return d}var e=Xa.isClockWise,f=this.subPaths;if(0===f.length)return[];if(!0===b)return c(f);b=[];if(1===f.length){var g=f[0];var h=new fb;h.curves=g.curves;b.push(h);return b}var k=!e(f[0].getPoints());k=a?!k:k;h=[];var m=[],l=[],n=0;m[n]=void 0;l[n]=[];for(var p= -0,u=f.length;pd&&this._mixBufferRegion(c,a,3*b,1-d,b);d=b;for(var f=b+b;d!==f;++d)if(c[d]!==c[d+b]){e.setValue(c,a);break}},saveOriginalState:function(){var a=this.buffer,b=this.valueSize,c=3*b;this.binding.getValue(a, -c);for(var d=b;d!==c;++d)a[d]=a[c+d%b];this.cumulativeWeight=0},restoreOriginalState:function(){this.binding.setValue(this.buffer,3*this.valueSize)},_select:function(a,b,c,d,e){if(.5<=d)for(d=0;d!==e;++d)a[b+d]=a[c+d]},_slerp:function(a,b,c,d){ha.slerpFlat(a,b,a,b,a,c,d)},_lerp:function(a,b,c,d,e){for(var f=1-d,g=0;g!==e;++g){var h=b+g;a[h]=a[h]*f+a[c+g]*d}}});Object.assign(of.prototype,{getValue:function(a,b){this.bind();var c=this._bindings[this._targetGroup.nCachedObjects_];void 0!==c&&c.getValue(a, -b)},setValue:function(a,b){for(var c=this._bindings,d=this._targetGroup.nCachedObjects_,e=c.length;d!==e;++d)c[d].setValue(a,b)},bind:function(){for(var a=this._bindings,b=this._targetGroup.nCachedObjects_,c=a.length;b!==c;++b)a[b].bind()},unbind:function(){for(var a=this._bindings,b=this._targetGroup.nCachedObjects_,c=a.length;b!==c;++b)a[b].unbind()}});Object.assign(sa,{Composite:of,create:function(a,b,c){return a&&a.isAnimationObjectGroup?new sa.Composite(a,b,c):new sa(a,b,c)},sanitizeNodeName:function(){var a= -/[\[\]\.:\/]/g;return function(b){return b.replace(/\s/g,"_").replace(a,"")}}(),parseTrackName:function(){var a="[^"+"\\[\\]\\.:\\/".replace("\\.","")+"]",b=/((?:WC+[\/:])*)/.source.replace("WC","[^\\[\\]\\.:\\/]");a=/(WCOD+)?/.source.replace("WCOD",a);var c=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC","[^\\[\\]\\.:\\/]"),d=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC","[^\\[\\]\\.:\\/]"),e=new RegExp("^"+b+a+c+d+"$"),f=["material","materials","bones"];return function(a){var b=e.exec(a);if(!b)throw Error("PropertyBinding: Cannot parse trackName: "+ -a);b={nodeName:b[2],objectName:b[3],objectIndex:b[4],propertyName:b[5],propertyIndex:b[6]};var c=b.nodeName&&b.nodeName.lastIndexOf(".");if(void 0!==c&&-1!==c){var d=b.nodeName.substring(c+1);-1!==f.indexOf(d)&&(b.nodeName=b.nodeName.substring(0,c),b.objectName=d)}if(null===b.propertyName||0===b.propertyName.length)throw Error("PropertyBinding: can not parse propertyName from trackName: "+a);return b}}(),findNode:function(a,b){if(!b||""===b||"root"===b||"."===b||-1===b||b===a.name||b===a.uuid)return a; -if(a.skeleton){var c=a.skeleton.getBoneByName(b);if(void 0!==c)return c}if(a.children){var d=function(a){for(var c=0;c=b){var l=b++,n=a[l];c[n.uuid]=m;a[m]=n;c[k]=l;a[l]=h;h=0;for(k=e;h!==k;++h){n=d[h];var p=n[m];n[m]=n[l];n[l]=p}}}this.nCachedObjects_=b},uncache:function(){for(var a=this._objects,b=a.length,c=this.nCachedObjects_,d=this._indicesByUUID,e=this._bindings,f=e.length,g=0,h=arguments.length;g!==h;++g){var k= -arguments[g].uuid,l=d[k];if(void 0!==l)if(delete d[k],lb||0===c)return;this._startTime=null;b*=c}b*=this._updateTimeScale(a);c=this._updateTime(b);a=this._updateWeight(a);if(0c.parameterPositions[1]&&(this.stopFading(),0===d&&(this.enabled=!1))}}return this._effectiveWeight=b},_updateTimeScale:function(a){var b=0;if(!this.paused){b=this.timeScale;var c=this._timeScaleInterpolant;if(null!==c){var d=c.evaluate(a)[0];b*=d;a>c.parameterPositions[1]&&(this.stopWarping(),0===b?this.paused=!0:this.timeScale=b)}}return this._effectiveTimeScale=b},_updateTime:function(a){var b=this.time+a,c=this._clip.duration,d=this.loop,e=this._loopCount,f=2202===d;if(0===a)return-1=== -e?b:f&&1===(e&1)?c-b:b;if(2200===d)a:{if(-1===e&&(this._loopCount=0,this._setEndings(!0,!0,!1)),b>=c)b=c;else if(0>b)b=0;else break a;this.clampWhenFinished?this.paused=!0:this.enabled=!1;this._mixer.dispatchEvent({type:"finished",action:this,direction:0>a?-1:1})}else{-1===e&&(0<=a?(e=0,this._setEndings(!0,0===this.repetitions,f)):this._setEndings(0===this.repetitions,!0,f));if(b>=c||0>b){d=Math.floor(b/c);b-=c*d;e+=Math.abs(d);var g=this.repetitions-e;0>=g?(this.clampWhenFinished?this.paused=!0: -this.enabled=!1,b=0a,this._setEndings(a,!a,f)):this._setEndings(!1,!1,f),this._loopCount=e,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:d}))}if(f&&1===(e&1))return this.time=b,c-b}return this.time=b},_setEndings:function(a,b,c){var d=this._interpolantSettings;c?(d.endingStart=2401,d.endingEnd=2401):(d.endingStart=a?this.zeroSlopeAtStart?2401:2400:2402,d.endingEnd=b?this.zeroSlopeAtEnd?2401: -2400:2402)},_scheduleFading:function(a,b,c){var d=this._mixer,e=d.time,f=this._weightInterpolant;null===f&&(this._weightInterpolant=f=d._lendControlInterpolant());d=f.parameterPositions;f=f.sampleValues;d[0]=e;f[0]=b;d[1]=e+a;f[1]=c;return this}});qe.prototype=Object.assign(Object.create(ea.prototype),{constructor:qe,_bindAction:function(a,b){var c=a._localRoot||this._root,d=a._clip.tracks,e=d.length,f=a._propertyBindings;a=a._interpolants;var g=c.uuid,h=this._bindingsByRootAndName,k=h[g];void 0=== -k&&(k={},h[g]=k);for(h=0;h!==e;++h){var l=d[h],p=l.name,n=k[p];if(void 0===n){n=f[h];if(void 0!==n){null===n._cacheIndex&&(++n.referenceCount,this._addInactiveBinding(n,g,p));continue}n=new pe(sa.create(c,p,b&&b._propertyBindings[h].binding.parsedPath),l.ValueTypeName,l.getValueSize());++n.referenceCount;this._addInactiveBinding(n,g,p)}f[h]=n;a[h].resultBuffer=n.buffer}},_activateAction:function(a){if(!this._isActiveAction(a)){if(null===a._cacheIndex){var b=(a._localRoot||this._root).uuid,c=a._clip.uuid, -d=this._actionsByClip[c];this._bindAction(a,d&&d.knownActions[0]);this._addInactiveAction(a,c,b)}b=a._propertyBindings;c=0;for(d=b.length;c!==d;++c){var e=b[c];0===e.useCount++&&(this._lendBinding(e),e.saveOriginalState())}this._lendAction(a)}},_deactivateAction:function(a){if(this._isActiveAction(a)){for(var b=a._propertyBindings,c=0,d=b.length;c!==d;++c){var e=b[c];0===--e.useCount&&(e.restoreOriginalState(),this._takeBackBinding(e))}this._takeBackAction(a)}},_initMemoryManager:function(){this._actions= -[];this._nActiveActions=0;this._actionsByClip={};this._bindings=[];this._nActiveBindings=0;this._bindingsByRootAndName={};this._controlInterpolants=[];this._nActiveControlInterpolants=0;var a=this;this.stats={actions:{get total(){return a._actions.length},get inUse(){return a._nActiveActions}},bindings:{get total(){return a._bindings.length},get inUse(){return a._nActiveBindings}},controlInterpolants:{get total(){return a._controlInterpolants.length},get inUse(){return a._nActiveControlInterpolants}}}}, -_isActiveAction:function(a){a=a._cacheIndex;return null!==a&&athis.max.x||a.ythis.max.y?!1:!0},containsBox:function(a){return this.min.x<=a.min.x&&a.max.x<=this.max.x&&this.min.y<=a.min.y&&a.max.y<=this.max.y},getParameter:function(a,b){void 0===b&&(console.warn("THREE.Box2: .getParameter() target is now required"),b=new z);return b.set((a.x-this.min.x)/(this.max.x-this.min.x),(a.y-this.min.y)/(this.max.y-this.min.y))},intersectsBox:function(a){return a.max.xthis.max.x||a.max.ythis.max.y? -!1:!0},clampPoint:function(a,b){void 0===b&&(console.warn("THREE.Box2: .clampPoint() target is now required"),b=new z);return b.copy(a).clamp(this.min,this.max)},distanceToPoint:function(){var a=new z;return function(b){return a.copy(b).clamp(this.min,this.max).sub(b).length()}}(),intersect:function(a){this.min.max(a.min);this.max.min(a.max);return this},union:function(a){this.min.min(a.min);this.max.max(a.max);return this},translate:function(a){this.min.add(a);this.max.add(a);return this},equals:function(a){return a.min.equals(this.min)&& -a.max.equals(this.max)}});Object.assign(we.prototype,{set:function(a,b){this.start.copy(a);this.end.copy(b);return this},clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.start.copy(a.start);this.end.copy(a.end);return this},getCenter:function(a){void 0===a&&(console.warn("THREE.Line3: .getCenter() target is now required"),a=new p);return a.addVectors(this.start,this.end).multiplyScalar(.5)},delta:function(a){void 0===a&&(console.warn("THREE.Line3: .delta() target is now required"), -a=new p);return a.subVectors(this.end,this.start)},distanceSq:function(){return this.start.distanceToSquared(this.end)},distance:function(){return this.start.distanceTo(this.end)},at:function(a,b){void 0===b&&(console.warn("THREE.Line3: .at() target is now required"),b=new p);return this.delta(b).multiplyScalar(a).add(this.start)},closestPointToPointParameter:function(){var a=new p,b=new p;return function(c,d){a.subVectors(c,this.start);b.subVectors(this.end,this.start);c=b.dot(b);c=b.dot(a)/c;d&& -(c=K.clamp(c,0,1));return c}}(),closestPointToPoint:function(a,b,c){a=this.closestPointToPointParameter(a,b);void 0===c&&(console.warn("THREE.Line3: .closestPointToPoint() target is now required"),c=new p);return this.delta(c).multiplyScalar(a).add(this.start)},applyMatrix4:function(a){this.start.applyMatrix4(a);this.end.applyMatrix4(a);return this},equals:function(a){return a.start.equals(this.start)&&a.end.equals(this.end)}});gd.prototype=Object.create(B.prototype);gd.prototype.constructor=gd;gd.prototype.isImmediateRenderObject= -!0;hd.prototype=Object.create(Z.prototype);hd.prototype.constructor=hd;hd.prototype.update=function(){var a=new p,b=new p,c=new na;return function(){var d=["a","b","c"];this.object.updateMatrixWorld(!0);c.getNormalMatrix(this.object.matrixWorld);var e=this.object.matrixWorld,f=this.geometry.attributes.position,g=this.object.geometry;if(g&&g.isGeometry)for(var h=g.vertices,k=g.faces,l=g=0,p=k.length;lMath.abs(b)&&(b=1E-8);this.scale.set(.5*this.size,.5*this.size,b);this.children[0].material.side=0>b?1:0;this.lookAt(this.plane.normal);B.prototype.updateMatrixWorld.call(this,a)};var Od,xe;Gb.prototype= -Object.create(B.prototype);Gb.prototype.constructor=Gb;Gb.prototype.setDirection=function(){var a=new p,b;return function(c){.99999c.y?this.quaternion.set(1,0,0,0):(a.set(c.z,0,-c.x).normalize(),b=Math.acos(c.y),this.quaternion.setFromAxisAngle(a,b))}}();Gb.prototype.setLength=function(a,b,c){void 0===b&&(b=.2*a);void 0===c&&(c=.2*b);this.line.scale.set(1,Math.max(0,a-b),1);this.line.updateMatrix();this.cone.scale.set(c,b,c);this.cone.position.y=a;this.cone.updateMatrix()}; -Gb.prototype.setColor=function(a){this.line.material.color.copy(a);this.cone.material.color.copy(a)};nd.prototype=Object.create(Z.prototype);nd.prototype.constructor=nd;L.create=function(a,b){console.log("THREE.Curve.create() has been deprecated");a.prototype=Object.create(L.prototype);a.prototype.constructor=a;a.prototype.getPoint=b;return a};Object.assign(Za.prototype,{createPointsGeometry:function(a){console.warn("THREE.CurvePath: .createPointsGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead."); -a=this.getPoints(a);return this.createGeometry(a)},createSpacedPointsGeometry:function(a){console.warn("THREE.CurvePath: .createSpacedPointsGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead.");a=this.getSpacedPoints(a);return this.createGeometry(a)},createGeometry:function(a){console.warn("THREE.CurvePath: .createGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead.");for(var b=new M,c=0,d=a.length;c - - - 14.0 - $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) - treeTest - treeTest - Debug|Any CPU - True - - - - Debug - 2.0 - 1b3989a2-4334-4b78-a666-4d65f1f64141 - . - 3DApp.ts - True - - - . - . - v4.0 - {3AF33F2E-1136-4D97-BBB7-1795711AC8B8};{349c5851-65df-11da-9384-00065b846f21};{9092AA53-FB77-4645-B42D-1CCCA6BD08BD} - 1337 - true - CommonJS - 2.8 - true - True - - - true - - - true - - - - - - - - - - - - - - - False - True - 0 - / - http://localhost:48022/ - False - True - http://localhost:1337 - False - - - - - - - CurrentPage - True - False - False - False - - - - - - - - - False - False - - - - - \ No newline at end of file diff --git a/viz/test/treeTest/treeTest.sln b/viz/test/treeTest/treeTest.sln deleted file mode 100644 index c78acb4..0000000 --- a/viz/test/treeTest/treeTest.sln +++ /dev/null @@ -1,25 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.28010.2019 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9092AA53-FB77-4645-B42D-1CCCA6BD08BD}") = "treeTest", "treeTest.njsproj", "{1B3989A2-4334-4B78-A666-4D65F1F64141}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {1B3989A2-4334-4B78-A666-4D65F1F64141}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {1B3989A2-4334-4B78-A666-4D65F1F64141}.Debug|Any CPU.Build.0 = Debug|Any CPU - {1B3989A2-4334-4B78-A666-4D65F1F64141}.Release|Any CPU.ActiveCfg = Release|Any CPU - {1B3989A2-4334-4B78-A666-4D65F1F64141}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {78D8450B-34CA-4E02-BF96-556A21EAB5F6} - EndGlobalSection -EndGlobal diff --git a/viz/test/treeTest/tsconfig.json b/viz/test/treeTest/tsconfig.json deleted file mode 100644 index 4084648..0000000 --- a/viz/test/treeTest/tsconfig.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "compilerOptions": { - "module": "amd", - "target": "es5", - "lib": [ "dom", "es5", "dom.iterable", "scripthost" ], - "sourceMap": true, - "allowSyntheticDefaultImports": true, - "outDir": "../dist", - "outFile": "../3DApp.js", - "declaration": true - }, - "exclude": [ - "node_modules" - ] -} diff --git a/viz/ts/README.md b/viz/ts/README.md deleted file mode 100644 index cd0eecb..0000000 --- a/viz/ts/README.md +++ /dev/null @@ -1 +0,0 @@ -TypeScript library for machine learning data visualization. \ No newline at end of file diff --git a/viz/ts/svg/README.md b/viz/ts/svg/README.md deleted file mode 100644 index 26455cb..0000000 --- a/viz/ts/svg/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# svg - -``SVG`` library tools for build visualize chart of the ThinkVB machine learning status and result. diff --git a/viz/ts/svg/ThinkChart.sln b/viz/ts/svg/ThinkChart.sln deleted file mode 100644 index 810db82..0000000 --- a/viz/ts/svg/ThinkChart.sln +++ /dev/null @@ -1,43 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.27906.1 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9092AA53-FB77-4645-B42D-1CCCA6BD08BD}") = "thinkChart", "thinkChart\thinkChart.njsproj", "{F3C0F5AB-B554-4EF8-9DF0-482240FE020D}" -EndProject -Project("{9092AA53-FB77-4645-B42D-1CCCA6BD08BD}") = "Linq.ts", "..\TsLinq\Linq.ts\Linq.ts.njsproj", "{E0AEC189-6D05-47E4-9F69-DAFE43AC8398}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "runtime", "runtime", "{DE798782-A07A-4DFF-8219-EE61E0C432C7}" -EndProject -Project("{9092AA53-FB77-4645-B42D-1CCCA6BD08BD}") = "svg", "svg\SVG\svg.njsproj", "{8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {F3C0F5AB-B554-4EF8-9DF0-482240FE020D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F3C0F5AB-B554-4EF8-9DF0-482240FE020D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F3C0F5AB-B554-4EF8-9DF0-482240FE020D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F3C0F5AB-B554-4EF8-9DF0-482240FE020D}.Release|Any CPU.Build.0 = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Release|Any CPU.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398} = {DE798782-A07A-4DFF-8219-EE61E0C432C7} - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A} = {DE798782-A07A-4DFF-8219-EE61E0C432C7} - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {80F78AA5-0D71-45E3-A5C3-35FDCB2C67AC} - EndGlobalSection -EndGlobal diff --git a/viz/ts/svg/svg.sln b/viz/ts/svg/svg.sln deleted file mode 100644 index 50f4f24..0000000 --- a/viz/ts/svg/svg.sln +++ /dev/null @@ -1,31 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.27428.2027 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9092AA53-FB77-4645-B42D-1CCCA6BD08BD}") = "Linq.ts", "..\TsLinq\Linq.ts\Linq.ts.njsproj", "{E0AEC189-6D05-47E4-9F69-DAFE43AC8398}" -EndProject -Project("{9092AA53-FB77-4645-B42D-1CCCA6BD08BD}") = "svg", "svg\SVG\svg.njsproj", "{8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E0AEC189-6D05-47E4-9F69-DAFE43AC8398}.Release|Any CPU.Build.0 = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {8C2DAE18-8B11-4B37-A4EC-0234D7FCCF2A}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {B4A546BE-4F0B-404C-B748-77719A3EDCF7} - EndGlobalSection -EndGlobal diff --git a/viz/ts/svg/svg/SVG/Canvas/Canvas.ts b/viz/ts/svg/svg/SVG/Canvas/Canvas.ts deleted file mode 100644 index cf6a620..0000000 --- a/viz/ts/svg/svg/SVG/Canvas/Canvas.ts +++ /dev/null @@ -1,88 +0,0 @@ -/// - -/** - * SVG画布元素 -*/ -namespace Canvas { - - /** - * CSS style object model - */ - export interface ICSSStyle { - - /** - * Apply CSS style to a given svg node element - * - * @param node a given svg document node object - */ - Styling(node: SVGElement): SVGElement; - /** - * Generate css style string value from this - * css style object model. - */ - CSSStyle(): string; - } - - /** - * The object location data model - */ - export class Point { - - public x: number; - public y: number; - - public constructor(x: number, y: number) { - this.x = x; - this.y = y; - } - - public toString(): string { - return `[${this.x}, ${this.y}]`; - } - } - - export class Size { - - public width: number; - public height: number; - - public constructor(width: number, height: number) { - this.width = width; - this.height = height; - } - - public toString(): string { - return `[${this.width}, ${this.height}]`; - } - } - - /** - * 表示一个二维平面上的矩形区域 - */ - export class Rectangle { - - public left: number; - public top: number; - public width: number; - public height: number; - - public constructor(x: number, y: number, width: number, height: number) { - this.left = x; - this.top = y; - this.width = width; - this.height = height; - } - - public Location(): Point { - return new Point(this.left, this.top); - } - - public Size(): Size { - return new Size(this.width, this.height); - } - - public toString(): string { - return `Size: ${this.Size().toString()} @ ${this.Location().toString()}`; - } - } -} \ No newline at end of file diff --git a/viz/ts/svg/svg/SVG/Canvas/Color.ts b/viz/ts/svg/svg/SVG/Canvas/Color.ts deleted file mode 100644 index 409c969..0000000 --- a/viz/ts/svg/svg/SVG/Canvas/Color.ts +++ /dev/null @@ -1,51 +0,0 @@ -namespace Canvas { - - /** - * RGB color data model - */ - export class Color { - - public r: number; - public g: number; - public b: number; - - constructor(r: number, g: number, b: number) { - this.r = r; - this.g = g; - this.b = b; - } - - /** - * https://stackoverflow.com/questions/5623838/rgb-to-hex-and-hex-to-rgb - */ - public static FromHtmlColor(htmlColor: string): Color { - // Expand shorthand form (e.g. "03F") to full form (e.g. "0033FF") - var hex: string = htmlColor; - var shorthandRegex = /^#?([a-f\d])([a-f\d])([a-f\d])$/i; - - hex = hex.replace(shorthandRegex, function (m, r, g, b) { - return r + r + g + g + b + b; - }); - - var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex); - - return result ? new Color( - parseInt(result[1], 16), - parseInt(result[2], 16), - parseInt(result[3], 16) - ) : null; - } - - public ToHtmlColor(): string { - var r = SvgUtils.componentToHex(this.r); - var g = SvgUtils.componentToHex(this.g); - var b = SvgUtils.componentToHex(this.b); - - return `#${r}${g}${b}`; - } - - public ToRGBColor(): string { - return `rgb(${this.r},${this.g},${this.b})`; - } - } -} \ No newline at end of file diff --git a/viz/ts/svg/svg/SVG/Canvas/Font.ts b/viz/ts/svg/svg/SVG/Canvas/Font.ts deleted file mode 100644 index 7dc24b5..0000000 --- a/viz/ts/svg/svg/SVG/Canvas/Font.ts +++ /dev/null @@ -1,43 +0,0 @@ -namespace Canvas { - - export class Font implements ICSSStyle { - - public size: string; - public family: string; - public bold: boolean; - public italic: boolean; - - constructor(family: string, - size: any = "12px", - bold: boolean = false, - italic: boolean = false) { - - this.size = size; - this.family = family; - this.bold = bold; - this.italic = italic; - } - - public Styling(node: SVGElement): SVGElement { - var styles = []; - - if (this.bold) styles.push("bold"); - if (this.italic) styles.push("italic"); - - node.style.fontFamily = this.family; - node.style.fontSize = this.size; - node.style.fontStyle = styles.join(" "); - - return node; - } - - public CSSStyle(): string { - var styles = []; - - if (this.bold) styles.push("bold"); - if (this.italic) styles.push("italic"); - - return `font: ${styles.join(" ")} ${this.size} "${this.family}"`; - } - } -} \ No newline at end of file diff --git a/viz/ts/svg/svg/SVG/Canvas/Path.ts b/viz/ts/svg/svg/SVG/Canvas/Path.ts deleted file mode 100644 index c2b37df..0000000 --- a/viz/ts/svg/svg/SVG/Canvas/Path.ts +++ /dev/null @@ -1,161 +0,0 @@ -namespace Canvas { - - /** - * ``path``元素是用来定义形状的通用元素。所有的基本形状都可以 - * 用``path``元素来创建。 - */ - export class Path { - - private pathStack: string[]; - - public constructor() { - this.pathStack = []; - } - - /** - * 从给定的(x,y)坐标开启一个新的子路径或路径。M表示后面跟随的是绝对坐标值。 - * m表示后面跟随的是一个相对坐标值。如果"moveto"指令后面跟随着多个坐标值,那么 - * 这多个坐标值之间会被当做用线段连接。因此如果moveto是相对的,那么lineto也将会 - * 是相对的,反之也成立。如果一个相对的moveto出现在path的第一个位置,那么它会 - * 被认为是一个绝对的坐标。在这种情况下,子序列的坐标将会被当做相对的坐标,即便 - * 它在初始化的时候是绝对坐标。 - */ - public MoveTo(x: number, y: number, relative: boolean = false): Path { - if (relative) { - this.pathStack.push(`m ${x},${y}`); - } else { - this.pathStack.push(`M ${x},${y}`); - } - - return this; - } - - /** - * 从(cpx,cpy)画一个水平线到(x,cpy)。H表示后面跟随的参数是绝对的坐标,h表示 - * 后面跟随的参数是相对坐标。可以为其提供多个x值作为参数。在指令执行结束后, - * 最新的当前点将是参数提供的最后值(x,cpy) - */ - public HorizontalTo(x: number, relative: boolean = false): Path { - if (relative) { - this.pathStack.push(`h ${x}`); - } else { - this.pathStack.push(`H ${x}`); - } - - return this; - } - - /** - * 从当前点(cpx,cpy)到(cpx,y)画一条竖直线段。V表示后面的参数是绝对坐标 - * 值,v表示后面跟着的参数是相对坐标值。可以供多个y值作为参数使用。在指令的最 - * 后,根据最后的参数y值最新的当前点的坐标值是(cpx,y). - */ - public VerticalTo(y: number, relative: boolean = false): Path { - if (relative) { - this.pathStack.push(`v ${y}`); - } else { - this.pathStack.push(`V ${y}`); - } - - return this; - } - - /** - * 画一条从当前点到给定的(x,y)坐标,这个给定的坐标将变为新的当前点。L表示后面 - * 跟随的参数将是绝对坐标值;l表示后面跟随的参数将是相对坐标值。可以通过指定一系 - * 列的坐标来描绘折线。在命令执行后,新的当前点将会被设置成被提供坐标序列的最后 - * 一个坐标。 - */ - public LineTo(x: number, y: number, relative: boolean = false): Path { - if (relative) { - this.pathStack.push(`l ${x} ${y}`); - } else { - this.pathStack.push(`L ${x} ${y}`); - } - - return this; - } - - /** - * 在曲线开始的时候,用(x1,y1)作为当前点(x,y)的控制点, - * 在曲线结束的时候,用(x2,y2)作为当前点的控制点, - * 画一段立方体的贝塞尔曲线。C表示后面跟随的参数是绝对坐标值; - * c表示后面跟随的参数是相对坐标值。可以为贝塞尔函数提供多个参数 - * 值。在指令执行完毕后,最后的当前点将变为在贝塞尔函数中只用的 - * 最后的(x,y)坐标值 - */ - public CurveTo(x1: number, y1: number, x2: number, y2: number, endX: number, endY: number, relative: boolean = false): Path { - if (relative) { - this.pathStack.push(`c ${x1} ${y1} ${x2} ${y2} ${endX} ${endY}`); - } else { - this.pathStack.push(`C ${x1} ${y1} ${x2} ${y2} ${endX} ${endY}`); - } - - return this; - } - - /** - * 从当前点(x,y)画一个立方体的贝塞尔曲线。相对于当前点, - * 第一个控制点被认为是前面命令的第二个控制点的反射。(如果 - * 前面没有指令或者指令不是C, c, S 或者s,那么就认定当前点和 - * 第一个控制点是一致的。)(x2,y2)是第二个控制点,控制 - * 着曲线结束时的变化。S表示后面跟随的参数是绝对的坐标值。 - * s表示后面跟随的参数是相对的坐标值。多个值可以作为 - * 贝塞尔函数的参数。在执行执行完后,最新的当前点是在贝塞尔函数中 - * 使用的最后的(x,y)坐标值。 - */ - public SmoothCurveTo(x2: number, y2: number, endX: number, endY: number, relative: boolean = false): Path { - if (relative) { - this.pathStack.push(`s ${x2} ${y2} ${endY} ${endY}`); - } else { - this.pathStack.push(`S ${x2} ${y2} ${endY} ${endY}`); - } - - return this; - } - - /** - * 从当前点(x,y)开始,以(x1,y1)为控制点,画出一个二次贝塞尔曲线。 - * Q表示后面跟随的参数是绝对坐标值,q表示后面跟随的参数是相对坐标值。 - * 可以为贝塞尔函数指定多个参数值。在指令执行结束后,新的当前点是贝塞尔曲线调用参数中最后一个坐标值(x,y)。 - */ - public QuadraticBelzier(x: number, y: number, endX: number, endY: number, relative: boolean = false): Path { - if (relative) { - this.pathStack.push(`q ${x} ${y} ${endX} ${endY}`); - } else { - this.pathStack.push(`Q ${x} ${y} ${endX} ${endY}`); - } - - return this; - } - - /** - * 用来从当前点(x,y)来画出一个椭圆弧曲线。曲线的形状和方向通过椭圆半径(rx,ry) - * 和一个沿X轴旋转度来指明椭圆作为一个整体在当前坐标系下旋转的情形。椭圆的中心 - * (cx,cy)是通过满足其他参数的约束自动计算出来的。large-arc-flag和sweep-flag决定了计算和帮助要画的弧度大小。 - */ - public EllipticalArc(rX: number, rY: number, xrotation: number, flag1: number, flag2: number, x: number, y: number, relative: boolean = false): Path { - if (relative) { - this.pathStack.push(`a ${rX} ${rY} ${xrotation} ${flag1} ${flag2} ${x} ${y}`); - } else { - this.pathStack.push(`A ${rX} ${rY} ${xrotation} ${flag1} ${flag2} ${x} ${y}`); - } - - return this; - } - - /** - * ClosePath命令将在当前路径从,从当前点到第一个点简单画一条直线。它是最简单的命令, - * 而且不带有任何参数。它沿着到开始点的最短的线性路径,如果别的路径落在这路上,将 - * 可能路径相交。句法是``Z``或``z``,两种写法作用都一样。 - */ - public ClosePath(): Path { - this.pathStack.push("Z"); - return this; - } - - public d(): string { - return this.pathStack.join(" "); - } - } -} \ No newline at end of file diff --git a/viz/ts/svg/svg/SVG/Canvas/Pen.ts b/viz/ts/svg/svg/SVG/Canvas/Pen.ts deleted file mode 100644 index 1dc657c..0000000 --- a/viz/ts/svg/svg/SVG/Canvas/Pen.ts +++ /dev/null @@ -1,33 +0,0 @@ -namespace Canvas { - - /** - * The css border style - */ - export class Pen implements ICSSStyle { - - public color: Color; - public width: number; - - /** - * Create a new css border style for svg rectangle, line, etc. - * - * @param color The border color - * @param width The border width - */ - constructor(color: Color, width: number = 1) { - this.color = color; - this.width = width; - } - - public Styling(node: SVGElement): SVGElement { - node.style.stroke = this.color.ToHtmlColor(); - node.style.strokeWidth = this.width.toString(); - - return node; - } - - public CSSStyle(): string { - return `stroke-width:${this.width};stroke:${this.color.ToHtmlColor()};`; - } - } -} \ No newline at end of file diff --git a/viz/ts/svg/svg/SVG/HTMLColors/Colors.ts b/viz/ts/svg/svg/SVG/HTMLColors/Colors.ts deleted file mode 100644 index afc6ff1..0000000 --- a/viz/ts/svg/svg/SVG/HTMLColors/Colors.ts +++ /dev/null @@ -1,2399 +0,0 @@ -namespace Canvas { - - export class Brushes { - - /** - * Black (#000000) - */ - public static Black(): Color { - return Color.FromHtmlColor(Canvas.Black); - } - - /** - * Night (#0C090A) - */ - public static Night(): Color { - return Color.FromHtmlColor(Canvas.Night); - } - - /** - * Gunmetal (#2C3539) - */ - public static Gunmetal(): Color { - return Color.FromHtmlColor(Canvas.Gunmetal); - } - - /** - * Midnight (#2B1B17) - */ - public static Midnight(): Color { - return Color.FromHtmlColor(Canvas.Midnight); - } - - /** - * Charcoal (#34282C) - */ - public static Charcoal(): Color { - return Color.FromHtmlColor(Canvas.Charcoal); - } - - /** - * Dark Slate Grey (#25383C) - */ - public static DarkSlateGrey(): Color { - return Color.FromHtmlColor(Canvas.DarkSlateGrey); - } - - /** - * Oil (#3B3131) - */ - public static Oil(): Color { - return Color.FromHtmlColor(Canvas.Oil); - } - - /** - * Black Cat (#413839) - */ - public static BlackCat(): Color { - return Color.FromHtmlColor(Canvas.BlackCat); - } - - /** - * Iridium (#3D3C3A) - */ - public static Iridium(): Color { - return Color.FromHtmlColor(Canvas.Iridium); - } - - /** - * Black Eel (#463E3F) - */ - public static BlackEel(): Color { - return Color.FromHtmlColor(Canvas.BlackEel); - } - - /** - * Black Cow (#4C4646) - */ - public static BlackCow(): Color { - return Color.FromHtmlColor(Canvas.BlackCow); - } - - /** - * Gray Wolf (#504A4B) - */ - public static GrayWolf(): Color { - return Color.FromHtmlColor(Canvas.GrayWolf); - } - - /** - * Vampire Gray (#565051) - */ - public static VampireGray(): Color { - return Color.FromHtmlColor(Canvas.VampireGray); - } - - /** - * Gray Dolphin (#5C5858) - */ - public static GrayDolphin(): Color { - return Color.FromHtmlColor(Canvas.GrayDolphin); - } - - /** - * Carbon Gray (#625D5D) - */ - public static CarbonGray(): Color { - return Color.FromHtmlColor(Canvas.CarbonGray); - } - - /** - * Ash Gray (#666362) - */ - public static AshGray(): Color { - return Color.FromHtmlColor(Canvas.AshGray); - } - - /** - * Cloudy Gray (#6D6968) - */ - public static CloudyGray(): Color { - return Color.FromHtmlColor(Canvas.CloudyGray); - } - - /** - * Smokey Gray (#726E6D) - */ - public static SmokeyGray(): Color { - return Color.FromHtmlColor(Canvas.SmokeyGray); - } - - /** - * Gray (#736F6E) - */ - public static Gray(): Color { - return Color.FromHtmlColor(Canvas.Gray); - } - - /** - * Granite (#837E7C) - */ - public static Granite(): Color { - return Color.FromHtmlColor(Canvas.Granite); - } - - /** - * Battleship Gray (#848482) - */ - public static BattleshipGray(): Color { - return Color.FromHtmlColor(Canvas.BattleshipGray); - } - - /** - * Gray Cloud (#B6B6B4) - */ - public static GrayCloud(): Color { - return Color.FromHtmlColor(Canvas.GrayCloud); - } - - /** - * Gray Goose (#D1D0CE) - */ - public static GrayGoose(): Color { - return Color.FromHtmlColor(Canvas.GrayGoose); - } - - /** - * Platinum (#E5E4E2) - */ - public static Platinum(): Color { - return Color.FromHtmlColor(Canvas.Platinum); - } - - /** - * Metallic Silver (#BCC6CC) - */ - public static MetallicSilver(): Color { - return Color.FromHtmlColor(Canvas.MetallicSilver); - } - - /** - * Blue Gray (#98AFC7) - */ - public static BlueGray(): Color { - return Color.FromHtmlColor(Canvas.BlueGray); - } - - /** - * Light Slate Gray (#6D7B8D) - */ - public static LightSlateGray(): Color { - return Color.FromHtmlColor(Canvas.LightSlateGray); - } - - /** - * Slate Gray (#657383) - */ - public static SlateGray(): Color { - return Color.FromHtmlColor(Canvas.SlateGray); - } - - /** - * Jet Gray (#616D7E) - */ - public static JetGray(): Color { - return Color.FromHtmlColor(Canvas.JetGray); - } - - /** - * Mist Blue (#646D7E) - */ - public static MistBlue(): Color { - return Color.FromHtmlColor(Canvas.MistBlue); - } - - /** - * Marble Blue (#566D7E) - */ - public static MarbleBlue(): Color { - return Color.FromHtmlColor(Canvas.MarbleBlue); - } - - /** - * Slate Blue (#737CA1) - */ - public static SlateBlue(): Color { - return Color.FromHtmlColor(Canvas.SlateBlue); - } - - /** - * Steel Blue (#4863A0) - */ - public static SteelBlue(): Color { - return Color.FromHtmlColor(Canvas.SteelBlue); - } - - /** - * Blue Jay (#2B547E) - */ - public static BlueJay(): Color { - return Color.FromHtmlColor(Canvas.BlueJay); - } - - /** - * Dark Slate Blue (#2B3856) - */ - public static DarkSlateBlue(): Color { - return Color.FromHtmlColor(Canvas.DarkSlateBlue); - } - - /** - * Midnight Blue (#151B54) - */ - public static MidnightBlue(): Color { - return Color.FromHtmlColor(Canvas.MidnightBlue); - } - - /** - * Navy Blue (#000080) - */ - public static NavyBlue(): Color { - return Color.FromHtmlColor(Canvas.NavyBlue); - } - - /** - * Blue Whale (#342D7E) - */ - public static BlueWhale(): Color { - return Color.FromHtmlColor(Canvas.BlueWhale); - } - - /** - * Lapis Blue (#15317E) - */ - public static LapisBlue(): Color { - return Color.FromHtmlColor(Canvas.LapisBlue); - } - - /** - * Denim Dark Blue (#151B8D) - */ - public static DenimDarkBlue(): Color { - return Color.FromHtmlColor(Canvas.DenimDarkBlue); - } - - /** - * Earth Blue (#0000A0) - */ - public static EarthBlue(): Color { - return Color.FromHtmlColor(Canvas.EarthBlue); - } - - /** - * Cobalt Blue (#0020C2) - */ - public static CobaltBlue(): Color { - return Color.FromHtmlColor(Canvas.CobaltBlue); - } - - /** - * Blueberry Blue (#0041C2) - */ - public static BlueberryBlue(): Color { - return Color.FromHtmlColor(Canvas.BlueberryBlue); - } - - /** - * Sapphire Blue (#2554C7) - */ - public static SapphireBlue(): Color { - return Color.FromHtmlColor(Canvas.SapphireBlue); - } - - /** - * Blue Eyes (#1569C7) - */ - public static BlueEyes(): Color { - return Color.FromHtmlColor(Canvas.BlueEyes); - } - - /** - * Royal Blue (#2B60DE) - */ - public static RoyalBlue(): Color { - return Color.FromHtmlColor(Canvas.RoyalBlue); - } - - /** - * Blue Orchid (#1F45FC) - */ - public static BlueOrchid(): Color { - return Color.FromHtmlColor(Canvas.BlueOrchid); - } - - /** - * Blue Lotus (#6960EC) - */ - public static BlueLotus(): Color { - return Color.FromHtmlColor(Canvas.BlueLotus); - } - - /** - * Light Slate Blue (#736AFF) - */ - public static LightSlateBlue(): Color { - return Color.FromHtmlColor(Canvas.LightSlateBlue); - } - - /** - * Windows Blue (#357EC7) - */ - public static WindowsBlue(): Color { - return Color.FromHtmlColor(Canvas.WindowsBlue); - } - - /** - * Glacial Blue Ice (#368BC1) - */ - public static GlacialBlueIce(): Color { - return Color.FromHtmlColor(Canvas.GlacialBlueIce); - } - - /** - * Silk Blue (#488AC7) - */ - public static SilkBlue(): Color { - return Color.FromHtmlColor(Canvas.SilkBlue); - } - - /** - * Blue Ivy (#3090C7) - */ - public static BlueIvy(): Color { - return Color.FromHtmlColor(Canvas.BlueIvy); - } - - /** - * Blue Koi (#659EC7) - */ - public static BlueKoi(): Color { - return Color.FromHtmlColor(Canvas.BlueKoi); - } - - /** - * Columbia Blue (#87AFC7) - */ - public static ColumbiaBlue(): Color { - return Color.FromHtmlColor(Canvas.ColumbiaBlue); - } - - /** - * Baby Blue (#95B9C7) - */ - public static BabyBlue(): Color { - return Color.FromHtmlColor(Canvas.BabyBlue); - } - - /** - * Light Steel Blue (#728FCE) - */ - public static LightSteelBlue(): Color { - return Color.FromHtmlColor(Canvas.LightSteelBlue); - } - - /** - * Ocean Blue (#2B65EC) - */ - public static OceanBlue(): Color { - return Color.FromHtmlColor(Canvas.OceanBlue); - } - - /** - * Blue Ribbon (#306EFF) - */ - public static BlueRibbon(): Color { - return Color.FromHtmlColor(Canvas.BlueRibbon); - } - - /** - * Blue Dress (#157DEC) - */ - public static BlueDress(): Color { - return Color.FromHtmlColor(Canvas.BlueDress); - } - - /** - * Dodger Blue (#1589FF) - */ - public static DodgerBlue(): Color { - return Color.FromHtmlColor(Canvas.DodgerBlue); - } - - /** - * Cornflower Blue (#6495ED) - */ - public static CornflowerBlue(): Color { - return Color.FromHtmlColor(Canvas.CornflowerBlue); - } - - /** - * Sky Blue (#6698FF) - */ - public static SkyBlue(): Color { - return Color.FromHtmlColor(Canvas.SkyBlue); - } - - /** - * Butterfly Blue (#38ACEC) - */ - public static ButterflyBlue(): Color { - return Color.FromHtmlColor(Canvas.ButterflyBlue); - } - - /** - * Iceberg (#56A5EC) - */ - public static Iceberg(): Color { - return Color.FromHtmlColor(Canvas.Iceberg); - } - - /** - * Crystal Blue (#5CB3FF) - */ - public static CrystalBlue(): Color { - return Color.FromHtmlColor(Canvas.CrystalBlue); - } - - /** - * Deep Sky Blue (#3BB9FF) - */ - public static DeepSkyBlue(): Color { - return Color.FromHtmlColor(Canvas.DeepSkyBlue); - } - - /** - * Denim Blue (#79BAEC) - */ - public static DenimBlue(): Color { - return Color.FromHtmlColor(Canvas.DenimBlue); - } - - /** - * Light Sky Blue (#82CAFA) - */ - public static LightSkyBlue(): Color { - return Color.FromHtmlColor(Canvas.LightSkyBlue); - } - - /** - * Day Sky Blue (#82CAFF) - */ - public static DaySkyBlue(): Color { - return Color.FromHtmlColor(Canvas.DaySkyBlue); - } - - /** - * Jeans Blue (#A0CFEC) - */ - public static JeansBlue(): Color { - return Color.FromHtmlColor(Canvas.JeansBlue); - } - - /** - * Blue Angel (#B7CEEC) - */ - public static BlueAngel(): Color { - return Color.FromHtmlColor(Canvas.BlueAngel); - } - - /** - * Pastel Blue (#B4CFEC) - */ - public static PastelBlue(): Color { - return Color.FromHtmlColor(Canvas.PastelBlue); - } - - /** - * Sea Blue (#C2DFFF) - */ - public static SeaBlue(): Color { - return Color.FromHtmlColor(Canvas.SeaBlue); - } - - /** - * Powder Blue (#C6DEFF) - */ - public static PowderBlue(): Color { - return Color.FromHtmlColor(Canvas.PowderBlue); - } - - /** - * Coral Blue (#AFDCEC) - */ - public static CoralBlue(): Color { - return Color.FromHtmlColor(Canvas.CoralBlue); - } - - /** - * Light Blue (#ADDFFF) - */ - public static LightBlue(): Color { - return Color.FromHtmlColor(Canvas.LightBlue); - } - - /** - * Robin Egg Blue (#BDEDFF) - */ - public static RobinEggBlue(): Color { - return Color.FromHtmlColor(Canvas.RobinEggBlue); - } - - /** - * Pale Blue Lily (#CFECEC) - */ - public static PaleBlueLily(): Color { - return Color.FromHtmlColor(Canvas.PaleBlueLily); - } - - /** - * Light Cyan (#E0FFFF) - */ - public static LightCyan(): Color { - return Color.FromHtmlColor(Canvas.LightCyan); - } - - /** - * Water (#EBF4FA) - */ - public static Water(): Color { - return Color.FromHtmlColor(Canvas.Water); - } - - /** - * AliceBlue (#F0F8FF) - */ - public static AliceBlue(): Color { - return Color.FromHtmlColor(Canvas.AliceBlue); - } - - /** - * Azure (#F0FFFF) - */ - public static Azure(): Color { - return Color.FromHtmlColor(Canvas.Azure); - } - - /** - * Light Slate (#CCFFFF) - */ - public static LightSlate(): Color { - return Color.FromHtmlColor(Canvas.LightSlate); - } - - /** - * Light Aquamarine (#93FFE8) - */ - public static LightAquamarine(): Color { - return Color.FromHtmlColor(Canvas.LightAquamarine); - } - - /** - * Electric Blue (#9AFEFF) - */ - public static ElectricBlue(): Color { - return Color.FromHtmlColor(Canvas.ElectricBlue); - } - - /** - * Aquamarine (#7FFFD4) - */ - public static Aquamarine(): Color { - return Color.FromHtmlColor(Canvas.Aquamarine); - } - - /** - * Cyan or Aqua (#00FFFF) - */ - public static CyanorAqua(): Color { - return Color.FromHtmlColor(Canvas.CyanorAqua); - } - - /** - * Tron Blue (#7DFDFE) - */ - public static TronBlue(): Color { - return Color.FromHtmlColor(Canvas.TronBlue); - } - - /** - * Blue Zircon (#57FEFF) - */ - public static BlueZircon(): Color { - return Color.FromHtmlColor(Canvas.BlueZircon); - } - - /** - * Blue Lagoon (#8EEBEC) - */ - public static BlueLagoon(): Color { - return Color.FromHtmlColor(Canvas.BlueLagoon); - } - - /** - * Celeste (#50EBEC) - */ - public static Celeste(): Color { - return Color.FromHtmlColor(Canvas.Celeste); - } - - /** - * Blue Diamond (#4EE2EC) - */ - public static BlueDiamond(): Color { - return Color.FromHtmlColor(Canvas.BlueDiamond); - } - - /** - * Tiffany Blue (#81D8D0) - */ - public static TiffanyBlue(): Color { - return Color.FromHtmlColor(Canvas.TiffanyBlue); - } - - /** - * Cyan Opaque (#92C7C7) - */ - public static CyanOpaque(): Color { - return Color.FromHtmlColor(Canvas.CyanOpaque); - } - - /** - * Blue Hosta (#77BFC7) - */ - public static BlueHosta(): Color { - return Color.FromHtmlColor(Canvas.BlueHosta); - } - - /** - * Northern Lights Blue (#78C7C7) - */ - public static NorthernLightsBlue(): Color { - return Color.FromHtmlColor(Canvas.NorthernLightsBlue); - } - - /** - * Medium Turquoise (#48CCCD) - */ - public static MediumTurquoise(): Color { - return Color.FromHtmlColor(Canvas.MediumTurquoise); - } - - /** - * Turquoise (#43C6DB) - */ - public static Turquoise(): Color { - return Color.FromHtmlColor(Canvas.Turquoise); - } - - /** - * Jellyfish (#46C7C7) - */ - public static Jellyfish(): Color { - return Color.FromHtmlColor(Canvas.Jellyfish); - } - - /** - * Blue green (#7BCCB5) - */ - public static Bluegreen(): Color { - return Color.FromHtmlColor(Canvas.Bluegreen); - } - - /** - * Macaw Blue Green (#43BFC7) - */ - public static MacawBlueGreen(): Color { - return Color.FromHtmlColor(Canvas.MacawBlueGreen); - } - - /** - * Light Sea Green (#3EA99F) - */ - public static LightSeaGreen(): Color { - return Color.FromHtmlColor(Canvas.LightSeaGreen); - } - - /** - * Dark Turquoise (#3B9C9C) - */ - public static DarkTurquoise(): Color { - return Color.FromHtmlColor(Canvas.DarkTurquoise); - } - - /** - * Sea Turtle Green (#438D80) - */ - public static SeaTurtleGreen(): Color { - return Color.FromHtmlColor(Canvas.SeaTurtleGreen); - } - - /** - * Medium Aquamarine (#348781) - */ - public static MediumAquamarine(): Color { - return Color.FromHtmlColor(Canvas.MediumAquamarine); - } - - /** - * Greenish Blue (#307D7E) - */ - public static GreenishBlue(): Color { - return Color.FromHtmlColor(Canvas.GreenishBlue); - } - - /** - * Grayish Turquoise (#5E7D7E) - */ - public static GrayishTurquoise(): Color { - return Color.FromHtmlColor(Canvas.GrayishTurquoise); - } - - /** - * Beetle Green (#4C787E) - */ - public static BeetleGreen(): Color { - return Color.FromHtmlColor(Canvas.BeetleGreen); - } - - /** - * Teal (#008080) - */ - public static Teal(): Color { - return Color.FromHtmlColor(Canvas.Teal); - } - - /** - * Sea Green (#4E8975) - */ - public static SeaGreen(): Color { - return Color.FromHtmlColor(Canvas.SeaGreen); - } - - /** - * Camouflage Green (#78866B) - */ - public static CamouflageGreen(): Color { - return Color.FromHtmlColor(Canvas.CamouflageGreen); - } - - /** - * Sage Green (#848b79) - */ - public static SageGreen(): Color { - return Color.FromHtmlColor(Canvas.SageGreen); - } - - /** - * Hazel Green (#617C58) - */ - public static HazelGreen(): Color { - return Color.FromHtmlColor(Canvas.HazelGreen); - } - - /** - * Venom Green (#728C00) - */ - public static VenomGreen(): Color { - return Color.FromHtmlColor(Canvas.VenomGreen); - } - - /** - * Fern Green (#667C26) - */ - public static FernGreen(): Color { - return Color.FromHtmlColor(Canvas.FernGreen); - } - - /** - * Dark Forest Green (#254117) - */ - public static DarkForestGreen(): Color { - return Color.FromHtmlColor(Canvas.DarkForestGreen); - } - - /** - * Medium Sea Green (#306754) - */ - public static MediumSeaGreen(): Color { - return Color.FromHtmlColor(Canvas.MediumSeaGreen); - } - - /** - * Medium Forest Green (#347235) - */ - public static MediumForestGreen(): Color { - return Color.FromHtmlColor(Canvas.MediumForestGreen); - } - - /** - * Seaweed Green (#437C17) - */ - public static SeaweedGreen(): Color { - return Color.FromHtmlColor(Canvas.SeaweedGreen); - } - - /** - * Pine Green (#387C44) - */ - public static PineGreen(): Color { - return Color.FromHtmlColor(Canvas.PineGreen); - } - - /** - * Jungle Green (#347C2C) - */ - public static JungleGreen(): Color { - return Color.FromHtmlColor(Canvas.JungleGreen); - } - - /** - * Shamrock Green (#347C17) - */ - public static ShamrockGreen(): Color { - return Color.FromHtmlColor(Canvas.ShamrockGreen); - } - - /** - * Medium Spring Green (#348017) - */ - public static MediumSpringGreen(): Color { - return Color.FromHtmlColor(Canvas.MediumSpringGreen); - } - - /** - * Forest Green (#4E9258) - */ - public static ForestGreen(): Color { - return Color.FromHtmlColor(Canvas.ForestGreen); - } - - /** - * Green Onion (#6AA121) - */ - public static GreenOnion(): Color { - return Color.FromHtmlColor(Canvas.GreenOnion); - } - - /** - * Spring Green (#4AA02C) - */ - public static SpringGreen(): Color { - return Color.FromHtmlColor(Canvas.SpringGreen); - } - - /** - * Lime Green (#41A317) - */ - public static LimeGreen(): Color { - return Color.FromHtmlColor(Canvas.LimeGreen); - } - - /** - * Clover Green (#3EA055) - */ - public static CloverGreen(): Color { - return Color.FromHtmlColor(Canvas.CloverGreen); - } - - /** - * Green Snake (#6CBB3C) - */ - public static GreenSnake(): Color { - return Color.FromHtmlColor(Canvas.GreenSnake); - } - - /** - * Alien Green (#6CC417) - */ - public static AlienGreen(): Color { - return Color.FromHtmlColor(Canvas.AlienGreen); - } - - /** - * Green Apple (#4CC417) - */ - public static GreenApple(): Color { - return Color.FromHtmlColor(Canvas.GreenApple); - } - - /** - * Yellow Green (#52D017) - */ - public static YellowGreen(): Color { - return Color.FromHtmlColor(Canvas.YellowGreen); - } - - /** - * Kelly Green (#4CC552) - */ - public static KellyGreen(): Color { - return Color.FromHtmlColor(Canvas.KellyGreen); - } - - /** - * Zombie Green (#54C571) - */ - public static ZombieGreen(): Color { - return Color.FromHtmlColor(Canvas.ZombieGreen); - } - - /** - * Frog Green (#99C68E) - */ - public static FrogGreen(): Color { - return Color.FromHtmlColor(Canvas.FrogGreen); - } - - /** - * Green Peas (#89C35C) - */ - public static GreenPeas(): Color { - return Color.FromHtmlColor(Canvas.GreenPeas); - } - - /** - * Dollar Bill Green (#85BB65) - */ - public static DollarBillGreen(): Color { - return Color.FromHtmlColor(Canvas.DollarBillGreen); - } - - /** - * Dark Sea Green (#8BB381) - */ - public static DarkSeaGreen(): Color { - return Color.FromHtmlColor(Canvas.DarkSeaGreen); - } - - /** - * Iguana Green (#9CB071) - */ - public static IguanaGreen(): Color { - return Color.FromHtmlColor(Canvas.IguanaGreen); - } - - /** - * Avocado Green (#B2C248) - */ - public static AvocadoGreen(): Color { - return Color.FromHtmlColor(Canvas.AvocadoGreen); - } - - /** - * Pistachio Green (#9DC209) - */ - public static PistachioGreen(): Color { - return Color.FromHtmlColor(Canvas.PistachioGreen); - } - - /** - * Salad Green (#A1C935) - */ - public static SaladGreen(): Color { - return Color.FromHtmlColor(Canvas.SaladGreen); - } - - /** - * Hummingbird Green (#7FE817) - */ - public static HummingbirdGreen(): Color { - return Color.FromHtmlColor(Canvas.HummingbirdGreen); - } - - /** - * Nebula Green (#59E817) - */ - public static NebulaGreen(): Color { - return Color.FromHtmlColor(Canvas.NebulaGreen); - } - - /** - * Stoplight Go Green (#57E964) - */ - public static StoplightGoGreen(): Color { - return Color.FromHtmlColor(Canvas.StoplightGoGreen); - } - - /** - * Algae Green (#64E986) - */ - public static AlgaeGreen(): Color { - return Color.FromHtmlColor(Canvas.AlgaeGreen); - } - - /** - * Jade Green (#5EFB6E) - */ - public static JadeGreen(): Color { - return Color.FromHtmlColor(Canvas.JadeGreen); - } - - /** - * Green (#00FF00) - */ - public static Green(): Color { - return Color.FromHtmlColor(Canvas.Green); - } - - /** - * Emerald Green (#5FFB17) - */ - public static EmeraldGreen(): Color { - return Color.FromHtmlColor(Canvas.EmeraldGreen); - } - - /** - * Lawn Green (#87F717) - */ - public static LawnGreen(): Color { - return Color.FromHtmlColor(Canvas.LawnGreen); - } - - /** - * Chartreuse (#8AFB17) - */ - public static Chartreuse(): Color { - return Color.FromHtmlColor(Canvas.Chartreuse); - } - - /** - * Dragon Green (#6AFB92) - */ - public static DragonGreen(): Color { - return Color.FromHtmlColor(Canvas.DragonGreen); - } - - /** - * Mint green (#98FF98) - */ - public static Mintgreen(): Color { - return Color.FromHtmlColor(Canvas.Mintgreen); - } - - /** - * Green Thumb (#B5EAAA) - */ - public static GreenThumb(): Color { - return Color.FromHtmlColor(Canvas.GreenThumb); - } - - /** - * Light Jade (#C3FDB8) - */ - public static LightJade(): Color { - return Color.FromHtmlColor(Canvas.LightJade); - } - - /** - * Tea Green (#CCFB5D) - */ - public static TeaGreen(): Color { - return Color.FromHtmlColor(Canvas.TeaGreen); - } - - /** - * Green Yellow (#B1FB17) - */ - public static GreenYellow(): Color { - return Color.FromHtmlColor(Canvas.GreenYellow); - } - - /** - * Slime Green (#BCE954) - */ - public static SlimeGreen(): Color { - return Color.FromHtmlColor(Canvas.SlimeGreen); - } - - /** - * Goldenrod (#EDDA74) - */ - public static Goldenrod(): Color { - return Color.FromHtmlColor(Canvas.Goldenrod); - } - - /** - * Harvest Gold (#EDE275) - */ - public static HarvestGold(): Color { - return Color.FromHtmlColor(Canvas.HarvestGold); - } - - /** - * Sun Yellow (#FFE87C) - */ - public static SunYellow(): Color { - return Color.FromHtmlColor(Canvas.SunYellow); - } - - /** - * Yellow (#FFFF00) - */ - public static Yellow(): Color { - return Color.FromHtmlColor(Canvas.Yellow); - } - - /** - * Corn Yellow (#FFF380) - */ - public static CornYellow(): Color { - return Color.FromHtmlColor(Canvas.CornYellow); - } - - /** - * Parchment (#FFFFC2) - */ - public static Parchment(): Color { - return Color.FromHtmlColor(Canvas.Parchment); - } - - /** - * Cream (#FFFFCC) - */ - public static Cream(): Color { - return Color.FromHtmlColor(Canvas.Cream); - } - - /** - * Lemon Chiffon (#FFF8C6) - */ - public static LemonChiffon(): Color { - return Color.FromHtmlColor(Canvas.LemonChiffon); - } - - /** - * Cornsilk (#FFF8DC) - */ - public static Cornsilk(): Color { - return Color.FromHtmlColor(Canvas.Cornsilk); - } - - /** - * Beige (#F5F5DC) - */ - public static Beige(): Color { - return Color.FromHtmlColor(Canvas.Beige); - } - - /** - * Blonde (#FBF6D9) - */ - public static Blonde(): Color { - return Color.FromHtmlColor(Canvas.Blonde); - } - - /** - * AntiqueWhite (#FAEBD7) - */ - public static AntiqueWhite(): Color { - return Color.FromHtmlColor(Canvas.AntiqueWhite); - } - - /** - * Champagne (#F7E7CE) - */ - public static Champagne(): Color { - return Color.FromHtmlColor(Canvas.Champagne); - } - - /** - * BlanchedAlmond (#FFEBCD) - */ - public static BlanchedAlmond(): Color { - return Color.FromHtmlColor(Canvas.BlanchedAlmond); - } - - /** - * Vanilla (#F3E5AB) - */ - public static Vanilla(): Color { - return Color.FromHtmlColor(Canvas.Vanilla); - } - - /** - * Tan Brown (#ECE5B6) - */ - public static TanBrown(): Color { - return Color.FromHtmlColor(Canvas.TanBrown); - } - - /** - * Peach (#FFE5B4) - */ - public static Peach(): Color { - return Color.FromHtmlColor(Canvas.Peach); - } - - /** - * Mustard (#FFDB58) - */ - public static Mustard(): Color { - return Color.FromHtmlColor(Canvas.Mustard); - } - - /** - * Rubber Ducky Yellow (#FFD801) - */ - public static RubberDuckyYellow(): Color { - return Color.FromHtmlColor(Canvas.RubberDuckyYellow); - } - - /** - * Bright Gold (#FDD017) - */ - public static BrightGold(): Color { - return Color.FromHtmlColor(Canvas.BrightGold); - } - - /** - * Golden brown (#EAC117) - */ - public static Goldenbrown(): Color { - return Color.FromHtmlColor(Canvas.Goldenbrown); - } - - /** - * Macaroni and Cheese (#F2BB66) - */ - public static MacaroniandCheese(): Color { - return Color.FromHtmlColor(Canvas.MacaroniandCheese); - } - - /** - * Saffron (#FBB917) - */ - public static Saffron(): Color { - return Color.FromHtmlColor(Canvas.Saffron); - } - - /** - * Beer (#FBB117) - */ - public static Beer(): Color { - return Color.FromHtmlColor(Canvas.Beer); - } - - /** - * Cantaloupe (#FFA62F) - */ - public static Cantaloupe(): Color { - return Color.FromHtmlColor(Canvas.Cantaloupe); - } - - /** - * Bee Yellow (#E9AB17) - */ - public static BeeYellow(): Color { - return Color.FromHtmlColor(Canvas.BeeYellow); - } - - /** - * Brown Sugar (#E2A76F) - */ - public static BrownSugar(): Color { - return Color.FromHtmlColor(Canvas.BrownSugar); - } - - /** - * BurlyWood (#DEB887) - */ - public static BurlyWood(): Color { - return Color.FromHtmlColor(Canvas.BurlyWood); - } - - /** - * Deep Peach (#FFCBA4) - */ - public static DeepPeach(): Color { - return Color.FromHtmlColor(Canvas.DeepPeach); - } - - /** - * Ginger Brown (#C9BE62) - */ - public static GingerBrown(): Color { - return Color.FromHtmlColor(Canvas.GingerBrown); - } - - /** - * School Bus Yellow (#E8A317) - */ - public static SchoolBusYellow(): Color { - return Color.FromHtmlColor(Canvas.SchoolBusYellow); - } - - /** - * Sandy Brown (#EE9A4D) - */ - public static SandyBrown(): Color { - return Color.FromHtmlColor(Canvas.SandyBrown); - } - - /** - * Fall Leaf Brown (#C8B560) - */ - public static FallLeafBrown(): Color { - return Color.FromHtmlColor(Canvas.FallLeafBrown); - } - - /** - * Orange Gold (#D4A017) - */ - public static OrangeGold(): Color { - return Color.FromHtmlColor(Canvas.OrangeGold); - } - - /** - * Sand (#C2B280) - */ - public static Sand(): Color { - return Color.FromHtmlColor(Canvas.Sand); - } - - /** - * Cookie Brown (#C7A317) - */ - public static CookieBrown(): Color { - return Color.FromHtmlColor(Canvas.CookieBrown); - } - - /** - * Caramel (#C68E17) - */ - public static Caramel(): Color { - return Color.FromHtmlColor(Canvas.Caramel); - } - - /** - * Brass (#B5A642) - */ - public static Brass(): Color { - return Color.FromHtmlColor(Canvas.Brass); - } - - /** - * Khaki (#ADA96E) - */ - public static Khaki(): Color { - return Color.FromHtmlColor(Canvas.Khaki); - } - - /** - * Camel brown (#C19A6B) - */ - public static Camelbrown(): Color { - return Color.FromHtmlColor(Canvas.Camelbrown); - } - - /** - * Bronze (#CD7F32) - */ - public static Bronze(): Color { - return Color.FromHtmlColor(Canvas.Bronze); - } - - /** - * Tiger Orange (#C88141) - */ - public static TigerOrange(): Color { - return Color.FromHtmlColor(Canvas.TigerOrange); - } - - /** - * Cinnamon (#C58917) - */ - public static Cinnamon(): Color { - return Color.FromHtmlColor(Canvas.Cinnamon); - } - - /** - * Bullet Shell (#AF9B60) - */ - public static BulletShell(): Color { - return Color.FromHtmlColor(Canvas.BulletShell); - } - - /** - * Dark Goldenrod (#AF7817) - */ - public static DarkGoldenrod(): Color { - return Color.FromHtmlColor(Canvas.DarkGoldenrod); - } - - /** - * Copper (#B87333) - */ - public static Copper(): Color { - return Color.FromHtmlColor(Canvas.Copper); - } - - /** - * Wood (#966F33) - */ - public static Wood(): Color { - return Color.FromHtmlColor(Canvas.Wood); - } - - /** - * Oak Brown (#806517) - */ - public static OakBrown(): Color { - return Color.FromHtmlColor(Canvas.OakBrown); - } - - /** - * Moccasin (#827839) - */ - public static Moccasin(): Color { - return Color.FromHtmlColor(Canvas.Moccasin); - } - - /** - * Army Brown (#827B60) - */ - public static ArmyBrown(): Color { - return Color.FromHtmlColor(Canvas.ArmyBrown); - } - - /** - * Sandstone (#786D5F) - */ - public static Sandstone(): Color { - return Color.FromHtmlColor(Canvas.Sandstone); - } - - /** - * Mocha (#493D26) - */ - public static Mocha(): Color { - return Color.FromHtmlColor(Canvas.Mocha); - } - - /** - * Taupe (#483C32) - */ - public static Taupe(): Color { - return Color.FromHtmlColor(Canvas.Taupe); - } - - /** - * Coffee (#6F4E37) - */ - public static Coffee(): Color { - return Color.FromHtmlColor(Canvas.Coffee); - } - - /** - * Brown Bear (#835C3B) - */ - public static BrownBear(): Color { - return Color.FromHtmlColor(Canvas.BrownBear); - } - - /** - * Red Dirt (#7F5217) - */ - public static RedDirt(): Color { - return Color.FromHtmlColor(Canvas.RedDirt); - } - - /** - * Sepia (#7F462C) - */ - public static Sepia(): Color { - return Color.FromHtmlColor(Canvas.Sepia); - } - - /** - * Orange Salmon (#C47451) - */ - public static OrangeSalmon(): Color { - return Color.FromHtmlColor(Canvas.OrangeSalmon); - } - - /** - * Rust (#C36241) - */ - public static Rust(): Color { - return Color.FromHtmlColor(Canvas.Rust); - } - - /** - * Red Fox (#C35817) - */ - public static RedFox(): Color { - return Color.FromHtmlColor(Canvas.RedFox); - } - - /** - * Chocolate (#C85A17) - */ - public static Chocolate(): Color { - return Color.FromHtmlColor(Canvas.Chocolate); - } - - /** - * Sedona (#CC6600) - */ - public static Sedona(): Color { - return Color.FromHtmlColor(Canvas.Sedona); - } - - /** - * Papaya Orange (#E56717) - */ - public static PapayaOrange(): Color { - return Color.FromHtmlColor(Canvas.PapayaOrange); - } - - /** - * Halloween Orange (#E66C2C) - */ - public static HalloweenOrange(): Color { - return Color.FromHtmlColor(Canvas.HalloweenOrange); - } - - /** - * Pumpkin Orange (#F87217) - */ - public static PumpkinOrange(): Color { - return Color.FromHtmlColor(Canvas.PumpkinOrange); - } - - /** - * Construction Cone Orange (#F87431) - */ - public static ConstructionConeOrange(): Color { - return Color.FromHtmlColor(Canvas.ConstructionConeOrange); - } - - /** - * Sunrise Orange (#E67451) - */ - public static SunriseOrange(): Color { - return Color.FromHtmlColor(Canvas.SunriseOrange); - } - - /** - * Mango Orange (#FF8040) - */ - public static MangoOrange(): Color { - return Color.FromHtmlColor(Canvas.MangoOrange); - } - - /** - * Dark Orange (#F88017) - */ - public static DarkOrange(): Color { - return Color.FromHtmlColor(Canvas.DarkOrange); - } - - /** - * Coral (#FF7F50) - */ - public static Coral(): Color { - return Color.FromHtmlColor(Canvas.Coral); - } - - /** - * Basket Ball Orange (#F88158) - */ - public static BasketBallOrange(): Color { - return Color.FromHtmlColor(Canvas.BasketBallOrange); - } - - /** - * Light Salmon (#F9966B) - */ - public static LightSalmon(): Color { - return Color.FromHtmlColor(Canvas.LightSalmon); - } - - /** - * Tangerine (#E78A61) - */ - public static Tangerine(): Color { - return Color.FromHtmlColor(Canvas.Tangerine); - } - - /** - * Dark Salmon (#E18B6B) - */ - public static DarkSalmon(): Color { - return Color.FromHtmlColor(Canvas.DarkSalmon); - } - - /** - * Light Coral (#E77471) - */ - public static LightCoral(): Color { - return Color.FromHtmlColor(Canvas.LightCoral); - } - - /** - * Bean Red (#F75D59) - */ - public static BeanRed(): Color { - return Color.FromHtmlColor(Canvas.BeanRed); - } - - /** - * Valentine Red (#E55451) - */ - public static ValentineRed(): Color { - return Color.FromHtmlColor(Canvas.ValentineRed); - } - - /** - * Shocking Orange (#E55B3C) - */ - public static ShockingOrange(): Color { - return Color.FromHtmlColor(Canvas.ShockingOrange); - } - - /** - * Red (#FF0000) - */ - public static Red(): Color { - return Color.FromHtmlColor(Canvas.Red); - } - - /** - * Scarlet (#FF2400) - */ - public static Scarlet(): Color { - return Color.FromHtmlColor(Canvas.Scarlet); - } - - /** - * Ruby Red (#F62217) - */ - public static RubyRed(): Color { - return Color.FromHtmlColor(Canvas.RubyRed); - } - - /** - * Ferrari Red (#F70D1A) - */ - public static FerrariRed(): Color { - return Color.FromHtmlColor(Canvas.FerrariRed); - } - - /** - * Fire Engine Red (#F62817) - */ - public static FireEngineRed(): Color { - return Color.FromHtmlColor(Canvas.FireEngineRed); - } - - /** - * Lava Red (#E42217) - */ - public static LavaRed(): Color { - return Color.FromHtmlColor(Canvas.LavaRed); - } - - /** - * Love Red (#E41B17) - */ - public static LoveRed(): Color { - return Color.FromHtmlColor(Canvas.LoveRed); - } - - /** - * Grapefruit (#DC381F) - */ - public static Grapefruit(): Color { - return Color.FromHtmlColor(Canvas.Grapefruit); - } - - /** - * Chestnut Red (#C34A2C) - */ - public static ChestnutRed(): Color { - return Color.FromHtmlColor(Canvas.ChestnutRed); - } - - /** - * Cherry Red (#C24641) - */ - public static CherryRed(): Color { - return Color.FromHtmlColor(Canvas.CherryRed); - } - - /** - * Mahogany (#C04000) - */ - public static Mahogany(): Color { - return Color.FromHtmlColor(Canvas.Mahogany); - } - - /** - * Chilli Pepper (#C11B17) - */ - public static ChilliPepper(): Color { - return Color.FromHtmlColor(Canvas.ChilliPepper); - } - - /** - * Cranberry (#9F000F) - */ - public static Cranberry(): Color { - return Color.FromHtmlColor(Canvas.Cranberry); - } - - /** - * Red Wine (#990012) - */ - public static RedWine(): Color { - return Color.FromHtmlColor(Canvas.RedWine); - } - - /** - * Burgundy (#8C001A) - */ - public static Burgundy(): Color { - return Color.FromHtmlColor(Canvas.Burgundy); - } - - /** - * Chestnut (#954535) - */ - public static Chestnut(): Color { - return Color.FromHtmlColor(Canvas.Chestnut); - } - - /** - * Blood Red (#7E3517) - */ - public static BloodRed(): Color { - return Color.FromHtmlColor(Canvas.BloodRed); - } - - /** - * Sienna (#8A4117) - */ - public static Sienna(): Color { - return Color.FromHtmlColor(Canvas.Sienna); - } - - /** - * Sangria (#7E3817) - */ - public static Sangria(): Color { - return Color.FromHtmlColor(Canvas.Sangria); - } - - /** - * Firebrick (#800517) - */ - public static Firebrick(): Color { - return Color.FromHtmlColor(Canvas.Firebrick); - } - - /** - * Maroon (#810541) - */ - public static Maroon(): Color { - return Color.FromHtmlColor(Canvas.Maroon); - } - - /** - * Plum Pie (#7D0541) - */ - public static PlumPie(): Color { - return Color.FromHtmlColor(Canvas.PlumPie); - } - - /** - * Velvet Maroon (#7E354D) - */ - public static VelvetMaroon(): Color { - return Color.FromHtmlColor(Canvas.VelvetMaroon); - } - - /** - * Plum Velvet (#7D0552) - */ - public static PlumVelvet(): Color { - return Color.FromHtmlColor(Canvas.PlumVelvet); - } - - /** - * Rosy Finch (#7F4E52) - */ - public static RosyFinch(): Color { - return Color.FromHtmlColor(Canvas.RosyFinch); - } - - /** - * Puce (#7F5A58) - */ - public static Puce(): Color { - return Color.FromHtmlColor(Canvas.Puce); - } - - /** - * Dull Purple (#7F525D) - */ - public static DullPurple(): Color { - return Color.FromHtmlColor(Canvas.DullPurple); - } - - /** - * Rosy Brown (#B38481) - */ - public static RosyBrown(): Color { - return Color.FromHtmlColor(Canvas.RosyBrown); - } - - /** - * Khaki Rose (#C5908E) - */ - public static KhakiRose(): Color { - return Color.FromHtmlColor(Canvas.KhakiRose); - } - - /** - * Pink Bow (#C48189) - */ - public static PinkBow(): Color { - return Color.FromHtmlColor(Canvas.PinkBow); - } - - /** - * Lipstick Pink (#C48793) - */ - public static LipstickPink(): Color { - return Color.FromHtmlColor(Canvas.LipstickPink); - } - - /** - * Rose (#E8ADAA) - */ - public static Rose(): Color { - return Color.FromHtmlColor(Canvas.Rose); - } - - /** - * Rose Gold (#ECC5C0) - */ - public static RoseGold(): Color { - return Color.FromHtmlColor(Canvas.RoseGold); - } - - /** - * Desert Sand (#EDC9AF) - */ - public static DesertSand(): Color { - return Color.FromHtmlColor(Canvas.DesertSand); - } - - /** - * Pig Pink (#FDD7E4) - */ - public static PigPink(): Color { - return Color.FromHtmlColor(Canvas.PigPink); - } - - /** - * Cotton Candy (#FCDFFF) - */ - public static CottonCandy(): Color { - return Color.FromHtmlColor(Canvas.CottonCandy); - } - - /** - * Pink Bubble Gum (#FFDFDD) - */ - public static PinkBubbleGum(): Color { - return Color.FromHtmlColor(Canvas.PinkBubbleGum); - } - - /** - * Misty Rose (#FBBBB9) - */ - public static MistyRose(): Color { - return Color.FromHtmlColor(Canvas.MistyRose); - } - - /** - * Pink (#FAAFBE) - */ - public static Pink(): Color { - return Color.FromHtmlColor(Canvas.Pink); - } - - /** - * Light Pink (#FAAFBA) - */ - public static LightPink(): Color { - return Color.FromHtmlColor(Canvas.LightPink); - } - - /** - * Flamingo Pink (#F9A7B0) - */ - public static FlamingoPink(): Color { - return Color.FromHtmlColor(Canvas.FlamingoPink); - } - - /** - * Pink Rose (#E7A1B0) - */ - public static PinkRose(): Color { - return Color.FromHtmlColor(Canvas.PinkRose); - } - - /** - * Pink Daisy (#E799A3) - */ - public static PinkDaisy(): Color { - return Color.FromHtmlColor(Canvas.PinkDaisy); - } - - /** - * Cadillac Pink (#E38AAE) - */ - public static CadillacPink(): Color { - return Color.FromHtmlColor(Canvas.CadillacPink); - } - - /** - * Carnation Pink (#F778A1) - */ - public static CarnationPink(): Color { - return Color.FromHtmlColor(Canvas.CarnationPink); - } - - /** - * Blush Red (#E56E94) - */ - public static BlushRed(): Color { - return Color.FromHtmlColor(Canvas.BlushRed); - } - - /** - * Hot Pink (#F660AB) - */ - public static HotPink(): Color { - return Color.FromHtmlColor(Canvas.HotPink); - } - - /** - * Watermelon Pink (#FC6C85) - */ - public static WatermelonPink(): Color { - return Color.FromHtmlColor(Canvas.WatermelonPink); - } - - /** - * Violet Red (#F6358A) - */ - public static VioletRed(): Color { - return Color.FromHtmlColor(Canvas.VioletRed); - } - - /** - * Deep Pink (#F52887) - */ - public static DeepPink(): Color { - return Color.FromHtmlColor(Canvas.DeepPink); - } - - /** - * Pink Cupcake (#E45E9D) - */ - public static PinkCupcake(): Color { - return Color.FromHtmlColor(Canvas.PinkCupcake); - } - - /** - * Pink Lemonade (#E4287C) - */ - public static PinkLemonade(): Color { - return Color.FromHtmlColor(Canvas.PinkLemonade); - } - - /** - * Neon Pink (#F535AA) - */ - public static NeonPink(): Color { - return Color.FromHtmlColor(Canvas.NeonPink); - } - - /** - * Magenta (#FF00FF) - */ - public static Magenta(): Color { - return Color.FromHtmlColor(Canvas.Magenta); - } - - /** - * Dimorphotheca Magenta (#E3319D) - */ - public static DimorphothecaMagenta(): Color { - return Color.FromHtmlColor(Canvas.DimorphothecaMagenta); - } - - /** - * Bright Neon Pink (#F433FF) - */ - public static BrightNeonPink(): Color { - return Color.FromHtmlColor(Canvas.BrightNeonPink); - } - - /** - * Pale Violet Red (#D16587) - */ - public static PaleVioletRed(): Color { - return Color.FromHtmlColor(Canvas.PaleVioletRed); - } - - /** - * Tulip Pink (#C25A7C) - */ - public static TulipPink(): Color { - return Color.FromHtmlColor(Canvas.TulipPink); - } - - /** - * Medium Violet Red (#CA226B) - */ - public static MediumVioletRed(): Color { - return Color.FromHtmlColor(Canvas.MediumVioletRed); - } - - /** - * Rogue Pink (#C12869) - */ - public static RoguePink(): Color { - return Color.FromHtmlColor(Canvas.RoguePink); - } - - /** - * Burnt Pink (#C12267) - */ - public static BurntPink(): Color { - return Color.FromHtmlColor(Canvas.BurntPink); - } - - /** - * Bashful Pink (#C25283) - */ - public static BashfulPink(): Color { - return Color.FromHtmlColor(Canvas.BashfulPink); - } - - /** - * Dark Carnation Pink (#C12283) - */ - public static DarkCarnationPink(): Color { - return Color.FromHtmlColor(Canvas.DarkCarnationPink); - } - - /** - * Plum (#B93B8F) - */ - public static Plum(): Color { - return Color.FromHtmlColor(Canvas.Plum); - } - - /** - * Viola Purple (#7E587E) - */ - public static ViolaPurple(): Color { - return Color.FromHtmlColor(Canvas.ViolaPurple); - } - - /** - * Purple Iris (#571B7E) - */ - public static PurpleIris(): Color { - return Color.FromHtmlColor(Canvas.PurpleIris); - } - - /** - * Plum Purple (#583759) - */ - public static PlumPurple(): Color { - return Color.FromHtmlColor(Canvas.PlumPurple); - } - - /** - * Indigo (#4B0082) - */ - public static Indigo(): Color { - return Color.FromHtmlColor(Canvas.Indigo); - } - - /** - * Purple Monster (#461B7E) - */ - public static PurpleMonster(): Color { - return Color.FromHtmlColor(Canvas.PurpleMonster); - } - - /** - * Purple Haze (#4E387E) - */ - public static PurpleHaze(): Color { - return Color.FromHtmlColor(Canvas.PurpleHaze); - } - - /** - * Eggplant (#614051) - */ - public static Eggplant(): Color { - return Color.FromHtmlColor(Canvas.Eggplant); - } - - /** - * Grape (#5E5A80) - */ - public static Grape(): Color { - return Color.FromHtmlColor(Canvas.Grape); - } - - /** - * Purple Jam (#6A287E) - */ - public static PurpleJam(): Color { - return Color.FromHtmlColor(Canvas.PurpleJam); - } - - /** - * Dark Orchid (#7D1B7E) - */ - public static DarkOrchid(): Color { - return Color.FromHtmlColor(Canvas.DarkOrchid); - } - - /** - * Purple Flower (#A74AC7) - */ - public static PurpleFlower(): Color { - return Color.FromHtmlColor(Canvas.PurpleFlower); - } - - /** - * Medium Orchid (#B048B5) - */ - public static MediumOrchid(): Color { - return Color.FromHtmlColor(Canvas.MediumOrchid); - } - - /** - * Purple Amethyst (#6C2DC7) - */ - public static PurpleAmethyst(): Color { - return Color.FromHtmlColor(Canvas.PurpleAmethyst); - } - - /** - * Dark Violet (#842DCE) - */ - public static DarkViolet(): Color { - return Color.FromHtmlColor(Canvas.DarkViolet); - } - - /** - * Violet (#8D38C9) - */ - public static Violet(): Color { - return Color.FromHtmlColor(Canvas.Violet); - } - - /** - * Purple Sage Bush (#7A5DC7) - */ - public static PurpleSageBush(): Color { - return Color.FromHtmlColor(Canvas.PurpleSageBush); - } - - /** - * Lovely Purple (#7F38EC) - */ - public static LovelyPurple(): Color { - return Color.FromHtmlColor(Canvas.LovelyPurple); - } - - /** - * Purple (#8E35EF) - */ - public static Purple(): Color { - return Color.FromHtmlColor(Canvas.Purple); - } - - /** - * Aztech Purple (#893BFF) - */ - public static AztechPurple(): Color { - return Color.FromHtmlColor(Canvas.AztechPurple); - } - - /** - * Medium Purple (#8467D7) - */ - public static MediumPurple(): Color { - return Color.FromHtmlColor(Canvas.MediumPurple); - } - - /** - * Jasmine Purple (#A23BEC) - */ - public static JasminePurple(): Color { - return Color.FromHtmlColor(Canvas.JasminePurple); - } - - /** - * Purple Daffodil (#B041FF) - */ - public static PurpleDaffodil(): Color { - return Color.FromHtmlColor(Canvas.PurpleDaffodil); - } - - /** - * Tyrian Purple (#C45AEC) - */ - public static TyrianPurple(): Color { - return Color.FromHtmlColor(Canvas.TyrianPurple); - } - - /** - * Crocus Purple (#9172EC) - */ - public static CrocusPurple(): Color { - return Color.FromHtmlColor(Canvas.CrocusPurple); - } - - /** - * Purple Mimosa (#9E7BFF) - */ - public static PurpleMimosa(): Color { - return Color.FromHtmlColor(Canvas.PurpleMimosa); - } - - /** - * Heliotrope Purple (#D462FF) - */ - public static HeliotropePurple(): Color { - return Color.FromHtmlColor(Canvas.HeliotropePurple); - } - - /** - * Crimson (#E238EC) - */ - public static Crimson(): Color { - return Color.FromHtmlColor(Canvas.Crimson); - } - - /** - * Purple Dragon (#C38EC7) - */ - public static PurpleDragon(): Color { - return Color.FromHtmlColor(Canvas.PurpleDragon); - } - - /** - * Lilac (#C8A2C8) - */ - public static Lilac(): Color { - return Color.FromHtmlColor(Canvas.Lilac); - } - - /** - * Blush Pink (#E6A9EC) - */ - public static BlushPink(): Color { - return Color.FromHtmlColor(Canvas.BlushPink); - } - - /** - * Mauve (#E0B0FF) - */ - public static Mauve(): Color { - return Color.FromHtmlColor(Canvas.Mauve); - } - - /** - * Wisteria Purple (#C6AEC7) - */ - public static WisteriaPurple(): Color { - return Color.FromHtmlColor(Canvas.WisteriaPurple); - } - - /** - * Blossom Pink (#F9B7FF) - */ - public static BlossomPink(): Color { - return Color.FromHtmlColor(Canvas.BlossomPink); - } - - /** - * Thistle (#D2B9D3) - */ - public static Thistle(): Color { - return Color.FromHtmlColor(Canvas.Thistle); - } - - /** - * Periwinkle (#E9CFEC) - */ - public static Periwinkle(): Color { - return Color.FromHtmlColor(Canvas.Periwinkle); - } - - /** - * Lavender Pinocchio (#EBDDE2) - */ - public static LavenderPinocchio(): Color { - return Color.FromHtmlColor(Canvas.LavenderPinocchio); - } - - /** - * Lavender blue (#E3E4FA) - */ - public static Lavenderblue(): Color { - return Color.FromHtmlColor(Canvas.Lavenderblue); - } - - /** - * Pearl (#FDEEF4) - */ - public static Pearl(): Color { - return Color.FromHtmlColor(Canvas.Pearl); - } - - /** - * SeaShell (#FFF5EE) - */ - public static SeaShell(): Color { - return Color.FromHtmlColor(Canvas.SeaShell); - } - - /** - * Milk White (#FEFCFF) - */ - public static MilkWhite(): Color { - return Color.FromHtmlColor(Canvas.MilkWhite); - } - - /** - * White (#FFFFFF) - */ - public static White(): Color { - return Color.FromHtmlColor(Canvas.White); - } - } -} \ No newline at end of file diff --git a/viz/ts/svg/svg/SVG/HTMLColors/Constants.ts b/viz/ts/svg/svg/SVG/HTMLColors/Constants.ts deleted file mode 100644 index 2c8824a..0000000 --- a/viz/ts/svg/svg/SVG/HTMLColors/Constants.ts +++ /dev/null @@ -1,1712 +0,0 @@ -namespace Canvas { - - /** - * Black (#000000) - */ - export const Black: string = "#000000"; - - /** - * Night (#0C090A) - */ - export const Night: string = "#0C090A"; - - /** - * Gunmetal (#2C3539) - */ - export const Gunmetal: string = "#2C3539"; - - /** - * Midnight (#2B1B17) - */ - export const Midnight: string = "#2B1B17"; - - /** - * Charcoal (#34282C) - */ - export const Charcoal: string = "#34282C"; - - /** - * Dark Slate Grey (#25383C) - */ - export const DarkSlateGrey: string = "#25383C"; - - /** - * Oil (#3B3131) - */ - export const Oil: string = "#3B3131"; - - /** - * Black Cat (#413839) - */ - export const BlackCat: string = "#413839"; - - /** - * Iridium (#3D3C3A) - */ - export const Iridium: string = "#3D3C3A"; - - /** - * Black Eel (#463E3F) - */ - export const BlackEel: string = "#463E3F"; - - /** - * Black Cow (#4C4646) - */ - export const BlackCow: string = "#4C4646"; - - /** - * Gray Wolf (#504A4B) - */ - export const GrayWolf: string = "#504A4B"; - - /** - * Vampire Gray (#565051) - */ - export const VampireGray: string = "#565051"; - - /** - * Gray Dolphin (#5C5858) - */ - export const GrayDolphin: string = "#5C5858"; - - /** - * Carbon Gray (#625D5D) - */ - export const CarbonGray: string = "#625D5D"; - - /** - * Ash Gray (#666362) - */ - export const AshGray: string = "#666362"; - - /** - * Cloudy Gray (#6D6968) - */ - export const CloudyGray: string = "#6D6968"; - - /** - * Smokey Gray (#726E6D) - */ - export const SmokeyGray: string = "#726E6D"; - - /** - * Gray (#736F6E) - */ - export const Gray: string = "#736F6E"; - - /** - * Granite (#837E7C) - */ - export const Granite: string = "#837E7C"; - - /** - * Battleship Gray (#848482) - */ - export const BattleshipGray: string = "#848482"; - - /** - * Gray Cloud (#B6B6B4) - */ - export const GrayCloud: string = "#B6B6B4"; - - /** - * Gray Goose (#D1D0CE) - */ - export const GrayGoose: string = "#D1D0CE"; - - /** - * Platinum (#E5E4E2) - */ - export const Platinum: string = "#E5E4E2"; - - /** - * Metallic Silver (#BCC6CC) - */ - export const MetallicSilver: string = "#BCC6CC"; - - /** - * Blue Gray (#98AFC7) - */ - export const BlueGray: string = "#98AFC7"; - - /** - * Light Slate Gray (#6D7B8D) - */ - export const LightSlateGray: string = "#6D7B8D"; - - /** - * Slate Gray (#657383) - */ - export const SlateGray: string = "#657383"; - - /** - * Jet Gray (#616D7E) - */ - export const JetGray: string = "#616D7E"; - - /** - * Mist Blue (#646D7E) - */ - export const MistBlue: string = "#646D7E"; - - /** - * Marble Blue (#566D7E) - */ - export const MarbleBlue: string = "#566D7E"; - - /** - * Slate Blue (#737CA1) - */ - export const SlateBlue: string = "#737CA1"; - - /** - * Steel Blue (#4863A0) - */ - export const SteelBlue: string = "#4863A0"; - - /** - * Blue Jay (#2B547E) - */ - export const BlueJay: string = "#2B547E"; - - /** - * Dark Slate Blue (#2B3856) - */ - export const DarkSlateBlue: string = "#2B3856"; - - /** - * Midnight Blue (#151B54) - */ - export const MidnightBlue: string = "#151B54"; - - /** - * Navy Blue (#000080) - */ - export const NavyBlue: string = "#000080"; - - /** - * Blue Whale (#342D7E) - */ - export const BlueWhale: string = "#342D7E"; - - /** - * Lapis Blue (#15317E) - */ - export const LapisBlue: string = "#15317E"; - - /** - * Denim Dark Blue (#151B8D) - */ - export const DenimDarkBlue: string = "#151B8D"; - - /** - * Earth Blue (#0000A0) - */ - export const EarthBlue: string = "#0000A0"; - - /** - * Cobalt Blue (#0020C2) - */ - export const CobaltBlue: string = "#0020C2"; - - /** - * Blueberry Blue (#0041C2) - */ - export const BlueberryBlue: string = "#0041C2"; - - /** - * Sapphire Blue (#2554C7) - */ - export const SapphireBlue: string = "#2554C7"; - - /** - * Blue Eyes (#1569C7) - */ - export const BlueEyes: string = "#1569C7"; - - /** - * Royal Blue (#2B60DE) - */ - export const RoyalBlue: string = "#2B60DE"; - - /** - * Blue Orchid (#1F45FC) - */ - export const BlueOrchid: string = "#1F45FC"; - - /** - * Blue Lotus (#6960EC) - */ - export const BlueLotus: string = "#6960EC"; - - /** - * Light Slate Blue (#736AFF) - */ - export const LightSlateBlue: string = "#736AFF"; - - /** - * Windows Blue (#357EC7) - */ - export const WindowsBlue: string = "#357EC7"; - - /** - * Glacial Blue Ice (#368BC1) - */ - export const GlacialBlueIce: string = "#368BC1"; - - /** - * Silk Blue (#488AC7) - */ - export const SilkBlue: string = "#488AC7"; - - /** - * Blue Ivy (#3090C7) - */ - export const BlueIvy: string = "#3090C7"; - - /** - * Blue Koi (#659EC7) - */ - export const BlueKoi: string = "#659EC7"; - - /** - * Columbia Blue (#87AFC7) - */ - export const ColumbiaBlue: string = "#87AFC7"; - - /** - * Baby Blue (#95B9C7) - */ - export const BabyBlue: string = "#95B9C7"; - - /** - * Light Steel Blue (#728FCE) - */ - export const LightSteelBlue: string = "#728FCE"; - - /** - * Ocean Blue (#2B65EC) - */ - export const OceanBlue: string = "#2B65EC"; - - /** - * Blue Ribbon (#306EFF) - */ - export const BlueRibbon: string = "#306EFF"; - - /** - * Blue Dress (#157DEC) - */ - export const BlueDress: string = "#157DEC"; - - /** - * Dodger Blue (#1589FF) - */ - export const DodgerBlue: string = "#1589FF"; - - /** - * Cornflower Blue (#6495ED) - */ - export const CornflowerBlue: string = "#6495ED"; - - /** - * Sky Blue (#6698FF) - */ - export const SkyBlue: string = "#6698FF"; - - /** - * Butterfly Blue (#38ACEC) - */ - export const ButterflyBlue: string = "#38ACEC"; - - /** - * Iceberg (#56A5EC) - */ - export const Iceberg: string = "#56A5EC"; - - /** - * Crystal Blue (#5CB3FF) - */ - export const CrystalBlue: string = "#5CB3FF"; - - /** - * Deep Sky Blue (#3BB9FF) - */ - export const DeepSkyBlue: string = "#3BB9FF"; - - /** - * Denim Blue (#79BAEC) - */ - export const DenimBlue: string = "#79BAEC"; - - /** - * Light Sky Blue (#82CAFA) - */ - export const LightSkyBlue: string = "#82CAFA"; - - /** - * Day Sky Blue (#82CAFF) - */ - export const DaySkyBlue: string = "#82CAFF"; - - /** - * Jeans Blue (#A0CFEC) - */ - export const JeansBlue: string = "#A0CFEC"; - - /** - * Blue Angel (#B7CEEC) - */ - export const BlueAngel: string = "#B7CEEC"; - - /** - * Pastel Blue (#B4CFEC) - */ - export const PastelBlue: string = "#B4CFEC"; - - /** - * Sea Blue (#C2DFFF) - */ - export const SeaBlue: string = "#C2DFFF"; - - /** - * Powder Blue (#C6DEFF) - */ - export const PowderBlue: string = "#C6DEFF"; - - /** - * Coral Blue (#AFDCEC) - */ - export const CoralBlue: string = "#AFDCEC"; - - /** - * Light Blue (#ADDFFF) - */ - export const LightBlue: string = "#ADDFFF"; - - /** - * Robin Egg Blue (#BDEDFF) - */ - export const RobinEggBlue: string = "#BDEDFF"; - - /** - * Pale Blue Lily (#CFECEC) - */ - export const PaleBlueLily: string = "#CFECEC"; - - /** - * Light Cyan (#E0FFFF) - */ - export const LightCyan: string = "#E0FFFF"; - - /** - * Water (#EBF4FA) - */ - export const Water: string = "#EBF4FA"; - - /** - * AliceBlue (#F0F8FF) - */ - export const AliceBlue: string = "#F0F8FF"; - - /** - * Azure (#F0FFFF) - */ - export const Azure: string = "#F0FFFF"; - - /** - * Light Slate (#CCFFFF) - */ - export const LightSlate: string = "#CCFFFF"; - - /** - * Light Aquamarine (#93FFE8) - */ - export const LightAquamarine: string = "#93FFE8"; - - /** - * Electric Blue (#9AFEFF) - */ - export const ElectricBlue: string = "#9AFEFF"; - - /** - * Aquamarine (#7FFFD4) - */ - export const Aquamarine: string = "#7FFFD4"; - - /** - * Cyan or Aqua (#00FFFF) - */ - export const CyanorAqua: string = "#00FFFF"; - - /** - * Tron Blue (#7DFDFE) - */ - export const TronBlue: string = "#7DFDFE"; - - /** - * Blue Zircon (#57FEFF) - */ - export const BlueZircon: string = "#57FEFF"; - - /** - * Blue Lagoon (#8EEBEC) - */ - export const BlueLagoon: string = "#8EEBEC"; - - /** - * Celeste (#50EBEC) - */ - export const Celeste: string = "#50EBEC"; - - /** - * Blue Diamond (#4EE2EC) - */ - export const BlueDiamond: string = "#4EE2EC"; - - /** - * Tiffany Blue (#81D8D0) - */ - export const TiffanyBlue: string = "#81D8D0"; - - /** - * Cyan Opaque (#92C7C7) - */ - export const CyanOpaque: string = "#92C7C7"; - - /** - * Blue Hosta (#77BFC7) - */ - export const BlueHosta: string = "#77BFC7"; - - /** - * Northern Lights Blue (#78C7C7) - */ - export const NorthernLightsBlue: string = "#78C7C7"; - - /** - * Medium Turquoise (#48CCCD) - */ - export const MediumTurquoise: string = "#48CCCD"; - - /** - * Turquoise (#43C6DB) - */ - export const Turquoise: string = "#43C6DB"; - - /** - * Jellyfish (#46C7C7) - */ - export const Jellyfish: string = "#46C7C7"; - - /** - * Blue green (#7BCCB5) - */ - export const Bluegreen: string = "#7BCCB5"; - - /** - * Macaw Blue Green (#43BFC7) - */ - export const MacawBlueGreen: string = "#43BFC7"; - - /** - * Light Sea Green (#3EA99F) - */ - export const LightSeaGreen: string = "#3EA99F"; - - /** - * Dark Turquoise (#3B9C9C) - */ - export const DarkTurquoise: string = "#3B9C9C"; - - /** - * Sea Turtle Green (#438D80) - */ - export const SeaTurtleGreen: string = "#438D80"; - - /** - * Medium Aquamarine (#348781) - */ - export const MediumAquamarine: string = "#348781"; - - /** - * Greenish Blue (#307D7E) - */ - export const GreenishBlue: string = "#307D7E"; - - /** - * Grayish Turquoise (#5E7D7E) - */ - export const GrayishTurquoise: string = "#5E7D7E"; - - /** - * Beetle Green (#4C787E) - */ - export const BeetleGreen: string = "#4C787E"; - - /** - * Teal (#008080) - */ - export const Teal: string = "#008080"; - - /** - * Sea Green (#4E8975) - */ - export const SeaGreen: string = "#4E8975"; - - /** - * Camouflage Green (#78866B) - */ - export const CamouflageGreen: string = "#78866B"; - - /** - * Sage Green (#848b79) - */ - export const SageGreen: string = "#848b79"; - - /** - * Hazel Green (#617C58) - */ - export const HazelGreen: string = "#617C58"; - - /** - * Venom Green (#728C00) - */ - export const VenomGreen: string = "#728C00"; - - /** - * Fern Green (#667C26) - */ - export const FernGreen: string = "#667C26"; - - /** - * Dark Forest Green (#254117) - */ - export const DarkForestGreen: string = "#254117"; - - /** - * Medium Sea Green (#306754) - */ - export const MediumSeaGreen: string = "#306754"; - - /** - * Medium Forest Green (#347235) - */ - export const MediumForestGreen: string = "#347235"; - - /** - * Seaweed Green (#437C17) - */ - export const SeaweedGreen: string = "#437C17"; - - /** - * Pine Green (#387C44) - */ - export const PineGreen: string = "#387C44"; - - /** - * Jungle Green (#347C2C) - */ - export const JungleGreen: string = "#347C2C"; - - /** - * Shamrock Green (#347C17) - */ - export const ShamrockGreen: string = "#347C17"; - - /** - * Medium Spring Green (#348017) - */ - export const MediumSpringGreen: string = "#348017"; - - /** - * Forest Green (#4E9258) - */ - export const ForestGreen: string = "#4E9258"; - - /** - * Green Onion (#6AA121) - */ - export const GreenOnion: string = "#6AA121"; - - /** - * Spring Green (#4AA02C) - */ - export const SpringGreen: string = "#4AA02C"; - - /** - * Lime Green (#41A317) - */ - export const LimeGreen: string = "#41A317"; - - /** - * Clover Green (#3EA055) - */ - export const CloverGreen: string = "#3EA055"; - - /** - * Green Snake (#6CBB3C) - */ - export const GreenSnake: string = "#6CBB3C"; - - /** - * Alien Green (#6CC417) - */ - export const AlienGreen: string = "#6CC417"; - - /** - * Green Apple (#4CC417) - */ - export const GreenApple: string = "#4CC417"; - - /** - * Yellow Green (#52D017) - */ - export const YellowGreen: string = "#52D017"; - - /** - * Kelly Green (#4CC552) - */ - export const KellyGreen: string = "#4CC552"; - - /** - * Zombie Green (#54C571) - */ - export const ZombieGreen: string = "#54C571"; - - /** - * Frog Green (#99C68E) - */ - export const FrogGreen: string = "#99C68E"; - - /** - * Green Peas (#89C35C) - */ - export const GreenPeas: string = "#89C35C"; - - /** - * Dollar Bill Green (#85BB65) - */ - export const DollarBillGreen: string = "#85BB65"; - - /** - * Dark Sea Green (#8BB381) - */ - export const DarkSeaGreen: string = "#8BB381"; - - /** - * Iguana Green (#9CB071) - */ - export const IguanaGreen: string = "#9CB071"; - - /** - * Avocado Green (#B2C248) - */ - export const AvocadoGreen: string = "#B2C248"; - - /** - * Pistachio Green (#9DC209) - */ - export const PistachioGreen: string = "#9DC209"; - - /** - * Salad Green (#A1C935) - */ - export const SaladGreen: string = "#A1C935"; - - /** - * Hummingbird Green (#7FE817) - */ - export const HummingbirdGreen: string = "#7FE817"; - - /** - * Nebula Green (#59E817) - */ - export const NebulaGreen: string = "#59E817"; - - /** - * Stoplight Go Green (#57E964) - */ - export const StoplightGoGreen: string = "#57E964"; - - /** - * Algae Green (#64E986) - */ - export const AlgaeGreen: string = "#64E986"; - - /** - * Jade Green (#5EFB6E) - */ - export const JadeGreen: string = "#5EFB6E"; - - /** - * Green (#00FF00) - */ - export const Green: string = "#00FF00"; - - /** - * Emerald Green (#5FFB17) - */ - export const EmeraldGreen: string = "#5FFB17"; - - /** - * Lawn Green (#87F717) - */ - export const LawnGreen: string = "#87F717"; - - /** - * Chartreuse (#8AFB17) - */ - export const Chartreuse: string = "#8AFB17"; - - /** - * Dragon Green (#6AFB92) - */ - export const DragonGreen: string = "#6AFB92"; - - /** - * Mint green (#98FF98) - */ - export const Mintgreen: string = "#98FF98"; - - /** - * Green Thumb (#B5EAAA) - */ - export const GreenThumb: string = "#B5EAAA"; - - /** - * Light Jade (#C3FDB8) - */ - export const LightJade: string = "#C3FDB8"; - - /** - * Tea Green (#CCFB5D) - */ - export const TeaGreen: string = "#CCFB5D"; - - /** - * Green Yellow (#B1FB17) - */ - export const GreenYellow: string = "#B1FB17"; - - /** - * Slime Green (#BCE954) - */ - export const SlimeGreen: string = "#BCE954"; - - /** - * Goldenrod (#EDDA74) - */ - export const Goldenrod: string = "#EDDA74"; - - /** - * Harvest Gold (#EDE275) - */ - export const HarvestGold: string = "#EDE275"; - - /** - * Sun Yellow (#FFE87C) - */ - export const SunYellow: string = "#FFE87C"; - - /** - * Yellow (#FFFF00) - */ - export const Yellow: string = "#FFFF00"; - - /** - * Corn Yellow (#FFF380) - */ - export const CornYellow: string = "#FFF380"; - - /** - * Parchment (#FFFFC2) - */ - export const Parchment: string = "#FFFFC2"; - - /** - * Cream (#FFFFCC) - */ - export const Cream: string = "#FFFFCC"; - - /** - * Lemon Chiffon (#FFF8C6) - */ - export const LemonChiffon: string = "#FFF8C6"; - - /** - * Cornsilk (#FFF8DC) - */ - export const Cornsilk: string = "#FFF8DC"; - - /** - * Beige (#F5F5DC) - */ - export const Beige: string = "#F5F5DC"; - - /** - * Blonde (#FBF6D9) - */ - export const Blonde: string = "#FBF6D9"; - - /** - * AntiqueWhite (#FAEBD7) - */ - export const AntiqueWhite: string = "#FAEBD7"; - - /** - * Champagne (#F7E7CE) - */ - export const Champagne: string = "#F7E7CE"; - - /** - * BlanchedAlmond (#FFEBCD) - */ - export const BlanchedAlmond: string = "#FFEBCD"; - - /** - * Vanilla (#F3E5AB) - */ - export const Vanilla: string = "#F3E5AB"; - - /** - * Tan Brown (#ECE5B6) - */ - export const TanBrown: string = "#ECE5B6"; - - /** - * Peach (#FFE5B4) - */ - export const Peach: string = "#FFE5B4"; - - /** - * Mustard (#FFDB58) - */ - export const Mustard: string = "#FFDB58"; - - /** - * Rubber Ducky Yellow (#FFD801) - */ - export const RubberDuckyYellow: string = "#FFD801"; - - /** - * Bright Gold (#FDD017) - */ - export const BrightGold: string = "#FDD017"; - - /** - * Golden brown (#EAC117) - */ - export const Goldenbrown: string = "#EAC117"; - - /** - * Macaroni and Cheese (#F2BB66) - */ - export const MacaroniandCheese: string = "#F2BB66"; - - /** - * Saffron (#FBB917) - */ - export const Saffron: string = "#FBB917"; - - /** - * Beer (#FBB117) - */ - export const Beer: string = "#FBB117"; - - /** - * Cantaloupe (#FFA62F) - */ - export const Cantaloupe: string = "#FFA62F"; - - /** - * Bee Yellow (#E9AB17) - */ - export const BeeYellow: string = "#E9AB17"; - - /** - * Brown Sugar (#E2A76F) - */ - export const BrownSugar: string = "#E2A76F"; - - /** - * BurlyWood (#DEB887) - */ - export const BurlyWood: string = "#DEB887"; - - /** - * Deep Peach (#FFCBA4) - */ - export const DeepPeach: string = "#FFCBA4"; - - /** - * Ginger Brown (#C9BE62) - */ - export const GingerBrown: string = "#C9BE62"; - - /** - * School Bus Yellow (#E8A317) - */ - export const SchoolBusYellow: string = "#E8A317"; - - /** - * Sandy Brown (#EE9A4D) - */ - export const SandyBrown: string = "#EE9A4D"; - - /** - * Fall Leaf Brown (#C8B560) - */ - export const FallLeafBrown: string = "#C8B560"; - - /** - * Orange Gold (#D4A017) - */ - export const OrangeGold: string = "#D4A017"; - - /** - * Sand (#C2B280) - */ - export const Sand: string = "#C2B280"; - - /** - * Cookie Brown (#C7A317) - */ - export const CookieBrown: string = "#C7A317"; - - /** - * Caramel (#C68E17) - */ - export const Caramel: string = "#C68E17"; - - /** - * Brass (#B5A642) - */ - export const Brass: string = "#B5A642"; - - /** - * Khaki (#ADA96E) - */ - export const Khaki: string = "#ADA96E"; - - /** - * Camel brown (#C19A6B) - */ - export const Camelbrown: string = "#C19A6B"; - - /** - * Bronze (#CD7F32) - */ - export const Bronze: string = "#CD7F32"; - - /** - * Tiger Orange (#C88141) - */ - export const TigerOrange: string = "#C88141"; - - /** - * Cinnamon (#C58917) - */ - export const Cinnamon: string = "#C58917"; - - /** - * Bullet Shell (#AF9B60) - */ - export const BulletShell: string = "#AF9B60"; - - /** - * Dark Goldenrod (#AF7817) - */ - export const DarkGoldenrod: string = "#AF7817"; - - /** - * Copper (#B87333) - */ - export const Copper: string = "#B87333"; - - /** - * Wood (#966F33) - */ - export const Wood: string = "#966F33"; - - /** - * Oak Brown (#806517) - */ - export const OakBrown: string = "#806517"; - - /** - * Moccasin (#827839) - */ - export const Moccasin: string = "#827839"; - - /** - * Army Brown (#827B60) - */ - export const ArmyBrown: string = "#827B60"; - - /** - * Sandstone (#786D5F) - */ - export const Sandstone: string = "#786D5F"; - - /** - * Mocha (#493D26) - */ - export const Mocha: string = "#493D26"; - - /** - * Taupe (#483C32) - */ - export const Taupe: string = "#483C32"; - - /** - * Coffee (#6F4E37) - */ - export const Coffee: string = "#6F4E37"; - - /** - * Brown Bear (#835C3B) - */ - export const BrownBear: string = "#835C3B"; - - /** - * Red Dirt (#7F5217) - */ - export const RedDirt: string = "#7F5217"; - - /** - * Sepia (#7F462C) - */ - export const Sepia: string = "#7F462C"; - - /** - * Orange Salmon (#C47451) - */ - export const OrangeSalmon: string = "#C47451"; - - /** - * Rust (#C36241) - */ - export const Rust: string = "#C36241"; - - /** - * Red Fox (#C35817) - */ - export const RedFox: string = "#C35817"; - - /** - * Chocolate (#C85A17) - */ - export const Chocolate: string = "#C85A17"; - - /** - * Sedona (#CC6600) - */ - export const Sedona: string = "#CC6600"; - - /** - * Papaya Orange (#E56717) - */ - export const PapayaOrange: string = "#E56717"; - - /** - * Halloween Orange (#E66C2C) - */ - export const HalloweenOrange: string = "#E66C2C"; - - /** - * Pumpkin Orange (#F87217) - */ - export const PumpkinOrange: string = "#F87217"; - - /** - * Construction Cone Orange (#F87431) - */ - export const ConstructionConeOrange: string = "#F87431"; - - /** - * Sunrise Orange (#E67451) - */ - export const SunriseOrange: string = "#E67451"; - - /** - * Mango Orange (#FF8040) - */ - export const MangoOrange: string = "#FF8040"; - - /** - * Dark Orange (#F88017) - */ - export const DarkOrange: string = "#F88017"; - - /** - * Coral (#FF7F50) - */ - export const Coral: string = "#FF7F50"; - - /** - * Basket Ball Orange (#F88158) - */ - export const BasketBallOrange: string = "#F88158"; - - /** - * Light Salmon (#F9966B) - */ - export const LightSalmon: string = "#F9966B"; - - /** - * Tangerine (#E78A61) - */ - export const Tangerine: string = "#E78A61"; - - /** - * Dark Salmon (#E18B6B) - */ - export const DarkSalmon: string = "#E18B6B"; - - /** - * Light Coral (#E77471) - */ - export const LightCoral: string = "#E77471"; - - /** - * Bean Red (#F75D59) - */ - export const BeanRed: string = "#F75D59"; - - /** - * Valentine Red (#E55451) - */ - export const ValentineRed: string = "#E55451"; - - /** - * Shocking Orange (#E55B3C) - */ - export const ShockingOrange: string = "#E55B3C"; - - /** - * Red (#FF0000) - */ - export const Red: string = "#FF0000"; - - /** - * Scarlet (#FF2400) - */ - export const Scarlet: string = "#FF2400"; - - /** - * Ruby Red (#F62217) - */ - export const RubyRed: string = "#F62217"; - - /** - * Ferrari Red (#F70D1A) - */ - export const FerrariRed: string = "#F70D1A"; - - /** - * Fire Engine Red (#F62817) - */ - export const FireEngineRed: string = "#F62817"; - - /** - * Lava Red (#E42217) - */ - export const LavaRed: string = "#E42217"; - - /** - * Love Red (#E41B17) - */ - export const LoveRed: string = "#E41B17"; - - /** - * Grapefruit (#DC381F) - */ - export const Grapefruit: string = "#DC381F"; - - /** - * Chestnut Red (#C34A2C) - */ - export const ChestnutRed: string = "#C34A2C"; - - /** - * Cherry Red (#C24641) - */ - export const CherryRed: string = "#C24641"; - - /** - * Mahogany (#C04000) - */ - export const Mahogany: string = "#C04000"; - - /** - * Chilli Pepper (#C11B17) - */ - export const ChilliPepper: string = "#C11B17"; - - /** - * Cranberry (#9F000F) - */ - export const Cranberry: string = "#9F000F"; - - /** - * Red Wine (#990012) - */ - export const RedWine: string = "#990012"; - - /** - * Burgundy (#8C001A) - */ - export const Burgundy: string = "#8C001A"; - - /** - * Chestnut (#954535) - */ - export const Chestnut: string = "#954535"; - - /** - * Blood Red (#7E3517) - */ - export const BloodRed: string = "#7E3517"; - - /** - * Sienna (#8A4117) - */ - export const Sienna: string = "#8A4117"; - - /** - * Sangria (#7E3817) - */ - export const Sangria: string = "#7E3817"; - - /** - * Firebrick (#800517) - */ - export const Firebrick: string = "#800517"; - - /** - * Maroon (#810541) - */ - export const Maroon: string = "#810541"; - - /** - * Plum Pie (#7D0541) - */ - export const PlumPie: string = "#7D0541"; - - /** - * Velvet Maroon (#7E354D) - */ - export const VelvetMaroon: string = "#7E354D"; - - /** - * Plum Velvet (#7D0552) - */ - export const PlumVelvet: string = "#7D0552"; - - /** - * Rosy Finch (#7F4E52) - */ - export const RosyFinch: string = "#7F4E52"; - - /** - * Puce (#7F5A58) - */ - export const Puce: string = "#7F5A58"; - - /** - * Dull Purple (#7F525D) - */ - export const DullPurple: string = "#7F525D"; - - /** - * Rosy Brown (#B38481) - */ - export const RosyBrown: string = "#B38481"; - - /** - * Khaki Rose (#C5908E) - */ - export const KhakiRose: string = "#C5908E"; - - /** - * Pink Bow (#C48189) - */ - export const PinkBow: string = "#C48189"; - - /** - * Lipstick Pink (#C48793) - */ - export const LipstickPink: string = "#C48793"; - - /** - * Rose (#E8ADAA) - */ - export const Rose: string = "#E8ADAA"; - - /** - * Rose Gold (#ECC5C0) - */ - export const RoseGold: string = "#ECC5C0"; - - /** - * Desert Sand (#EDC9AF) - */ - export const DesertSand: string = "#EDC9AF"; - - /** - * Pig Pink (#FDD7E4) - */ - export const PigPink: string = "#FDD7E4"; - - /** - * Cotton Candy (#FCDFFF) - */ - export const CottonCandy: string = "#FCDFFF"; - - /** - * Pink Bubble Gum (#FFDFDD) - */ - export const PinkBubbleGum: string = "#FFDFDD"; - - /** - * Misty Rose (#FBBBB9) - */ - export const MistyRose: string = "#FBBBB9"; - - /** - * Pink (#FAAFBE) - */ - export const Pink: string = "#FAAFBE"; - - /** - * Light Pink (#FAAFBA) - */ - export const LightPink: string = "#FAAFBA"; - - /** - * Flamingo Pink (#F9A7B0) - */ - export const FlamingoPink: string = "#F9A7B0"; - - /** - * Pink Rose (#E7A1B0) - */ - export const PinkRose: string = "#E7A1B0"; - - /** - * Pink Daisy (#E799A3) - */ - export const PinkDaisy: string = "#E799A3"; - - /** - * Cadillac Pink (#E38AAE) - */ - export const CadillacPink: string = "#E38AAE"; - - /** - * Carnation Pink (#F778A1) - */ - export const CarnationPink: string = "#F778A1"; - - /** - * Blush Red (#E56E94) - */ - export const BlushRed: string = "#E56E94"; - - /** - * Hot Pink (#F660AB) - */ - export const HotPink: string = "#F660AB"; - - /** - * Watermelon Pink (#FC6C85) - */ - export const WatermelonPink: string = "#FC6C85"; - - /** - * Violet Red (#F6358A) - */ - export const VioletRed: string = "#F6358A"; - - /** - * Deep Pink (#F52887) - */ - export const DeepPink: string = "#F52887"; - - /** - * Pink Cupcake (#E45E9D) - */ - export const PinkCupcake: string = "#E45E9D"; - - /** - * Pink Lemonade (#E4287C) - */ - export const PinkLemonade: string = "#E4287C"; - - /** - * Neon Pink (#F535AA) - */ - export const NeonPink: string = "#F535AA"; - - /** - * Magenta (#FF00FF) - */ - export const Magenta: string = "#FF00FF"; - - /** - * Dimorphotheca Magenta (#E3319D) - */ - export const DimorphothecaMagenta: string = "#E3319D"; - - /** - * Bright Neon Pink (#F433FF) - */ - export const BrightNeonPink: string = "#F433FF"; - - /** - * Pale Violet Red (#D16587) - */ - export const PaleVioletRed: string = "#D16587"; - - /** - * Tulip Pink (#C25A7C) - */ - export const TulipPink: string = "#C25A7C"; - - /** - * Medium Violet Red (#CA226B) - */ - export const MediumVioletRed: string = "#CA226B"; - - /** - * Rogue Pink (#C12869) - */ - export const RoguePink: string = "#C12869"; - - /** - * Burnt Pink (#C12267) - */ - export const BurntPink: string = "#C12267"; - - /** - * Bashful Pink (#C25283) - */ - export const BashfulPink: string = "#C25283"; - - /** - * Dark Carnation Pink (#C12283) - */ - export const DarkCarnationPink: string = "#C12283"; - - /** - * Plum (#B93B8F) - */ - export const Plum: string = "#B93B8F"; - - /** - * Viola Purple (#7E587E) - */ - export const ViolaPurple: string = "#7E587E"; - - /** - * Purple Iris (#571B7E) - */ - export const PurpleIris: string = "#571B7E"; - - /** - * Plum Purple (#583759) - */ - export const PlumPurple: string = "#583759"; - - /** - * Indigo (#4B0082) - */ - export const Indigo: string = "#4B0082"; - - /** - * Purple Monster (#461B7E) - */ - export const PurpleMonster: string = "#461B7E"; - - /** - * Purple Haze (#4E387E) - */ - export const PurpleHaze: string = "#4E387E"; - - /** - * Eggplant (#614051) - */ - export const Eggplant: string = "#614051"; - - /** - * Grape (#5E5A80) - */ - export const Grape: string = "#5E5A80"; - - /** - * Purple Jam (#6A287E) - */ - export const PurpleJam: string = "#6A287E"; - - /** - * Dark Orchid (#7D1B7E) - */ - export const DarkOrchid: string = "#7D1B7E"; - - /** - * Purple Flower (#A74AC7) - */ - export const PurpleFlower: string = "#A74AC7"; - - /** - * Medium Orchid (#B048B5) - */ - export const MediumOrchid: string = "#B048B5"; - - /** - * Purple Amethyst (#6C2DC7) - */ - export const PurpleAmethyst: string = "#6C2DC7"; - - /** - * Dark Violet (#842DCE) - */ - export const DarkViolet: string = "#842DCE"; - - /** - * Violet (#8D38C9) - */ - export const Violet: string = "#8D38C9"; - - /** - * Purple Sage Bush (#7A5DC7) - */ - export const PurpleSageBush: string = "#7A5DC7"; - - /** - * Lovely Purple (#7F38EC) - */ - export const LovelyPurple: string = "#7F38EC"; - - /** - * Purple (#8E35EF) - */ - export const Purple: string = "#8E35EF"; - - /** - * Aztech Purple (#893BFF) - */ - export const AztechPurple: string = "#893BFF"; - - /** - * Medium Purple (#8467D7) - */ - export const MediumPurple: string = "#8467D7"; - - /** - * Jasmine Purple (#A23BEC) - */ - export const JasminePurple: string = "#A23BEC"; - - /** - * Purple Daffodil (#B041FF) - */ - export const PurpleDaffodil: string = "#B041FF"; - - /** - * Tyrian Purple (#C45AEC) - */ - export const TyrianPurple: string = "#C45AEC"; - - /** - * Crocus Purple (#9172EC) - */ - export const CrocusPurple: string = "#9172EC"; - - /** - * Purple Mimosa (#9E7BFF) - */ - export const PurpleMimosa: string = "#9E7BFF"; - - /** - * Heliotrope Purple (#D462FF) - */ - export const HeliotropePurple: string = "#D462FF"; - - /** - * Crimson (#E238EC) - */ - export const Crimson: string = "#E238EC"; - - /** - * Purple Dragon (#C38EC7) - */ - export const PurpleDragon: string = "#C38EC7"; - - /** - * Lilac (#C8A2C8) - */ - export const Lilac: string = "#C8A2C8"; - - /** - * Blush Pink (#E6A9EC) - */ - export const BlushPink: string = "#E6A9EC"; - - /** - * Mauve (#E0B0FF) - */ - export const Mauve: string = "#E0B0FF"; - - /** - * Wisteria Purple (#C6AEC7) - */ - export const WisteriaPurple: string = "#C6AEC7"; - - /** - * Blossom Pink (#F9B7FF) - */ - export const BlossomPink: string = "#F9B7FF"; - - /** - * Thistle (#D2B9D3) - */ - export const Thistle: string = "#D2B9D3"; - - /** - * Periwinkle (#E9CFEC) - */ - export const Periwinkle: string = "#E9CFEC"; - - /** - * Lavender Pinocchio (#EBDDE2) - */ - export const LavenderPinocchio: string = "#EBDDE2"; - - /** - * Lavender blue (#E3E4FA) - */ - export const Lavenderblue: string = "#E3E4FA"; - - /** - * Pearl (#FDEEF4) - */ - export const Pearl: string = "#FDEEF4"; - - /** - * SeaShell (#FFF5EE) - */ - export const SeaShell: string = "#FFF5EE"; - - /** - * Milk White (#FEFCFF) - */ - export const MilkWhite: string = "#FEFCFF"; - - /** - * White (#FFFFFF) - */ - export const White: string = "#FFFFFF"; -} diff --git a/viz/ts/svg/svg/SVG/HTMLColors/Pens.ts b/viz/ts/svg/svg/SVG/HTMLColors/Pens.ts deleted file mode 100644 index 5a7900d..0000000 --- a/viz/ts/svg/svg/SVG/HTMLColors/Pens.ts +++ /dev/null @@ -1,2399 +0,0 @@ -namespace Canvas { - - export class Pens { - - /** - * Black (#000000) - */ - public static Black(width: number = 1): Pen { - return new Pen(Brushes.Black(), width); - } - - /** - * Night (#0C090A) - */ - public static Night(width: number = 1): Pen { - return new Pen(Brushes.Night(), width); - } - - /** - * Gunmetal (#2C3539) - */ - public static Gunmetal(width: number = 1): Pen { - return new Pen(Brushes.Gunmetal(), width); - } - - /** - * Midnight (#2B1B17) - */ - public static Midnight(width: number = 1): Pen { - return new Pen(Brushes.Midnight(), width); - } - - /** - * Charcoal (#34282C) - */ - public static Charcoal(width: number = 1): Pen { - return new Pen(Brushes.Charcoal(), width); - } - - /** - * Dark Slate Grey (#25383C) - */ - public static DarkSlateGrey(width: number = 1): Pen { - return new Pen(Brushes.DarkSlateGrey(), width); - } - - /** - * Oil (#3B3131) - */ - public static Oil(width: number = 1): Pen { - return new Pen(Brushes.Oil(), width); - } - - /** - * Black Cat (#413839) - */ - public static BlackCat(width: number = 1): Pen { - return new Pen(Brushes.BlackCat(), width); - } - - /** - * Iridium (#3D3C3A) - */ - public static Iridium(width: number = 1): Pen { - return new Pen(Brushes.Iridium(), width); - } - - /** - * Black Eel (#463E3F) - */ - public static BlackEel(width: number = 1): Pen { - return new Pen(Brushes.BlackEel(), width); - } - - /** - * Black Cow (#4C4646) - */ - public static BlackCow(width: number = 1): Pen { - return new Pen(Brushes.BlackCow(), width); - } - - /** - * Gray Wolf (#504A4B) - */ - public static GrayWolf(width: number = 1): Pen { - return new Pen(Brushes.GrayWolf(), width); - } - - /** - * Vampire Gray (#565051) - */ - public static VampireGray(width: number = 1): Pen { - return new Pen(Brushes.VampireGray(), width); - } - - /** - * Gray Dolphin (#5C5858) - */ - public static GrayDolphin(width: number = 1): Pen { - return new Pen(Brushes.GrayDolphin(), width); - } - - /** - * Carbon Gray (#625D5D) - */ - public static CarbonGray(width: number = 1): Pen { - return new Pen(Brushes.CarbonGray(), width); - } - - /** - * Ash Gray (#666362) - */ - public static AshGray(width: number = 1): Pen { - return new Pen(Brushes.AshGray(), width); - } - - /** - * Cloudy Gray (#6D6968) - */ - public static CloudyGray(width: number = 1): Pen { - return new Pen(Brushes.CloudyGray(), width); - } - - /** - * Smokey Gray (#726E6D) - */ - public static SmokeyGray(width: number = 1): Pen { - return new Pen(Brushes.SmokeyGray(), width); - } - - /** - * Gray (#736F6E) - */ - public static Gray(width: number = 1): Pen { - return new Pen(Brushes.Gray(), width); - } - - /** - * Granite (#837E7C) - */ - public static Granite(width: number = 1): Pen { - return new Pen(Brushes.Granite(), width); - } - - /** - * Battleship Gray (#848482) - */ - public static BattleshipGray(width: number = 1): Pen { - return new Pen(Brushes.BattleshipGray(), width); - } - - /** - * Gray Cloud (#B6B6B4) - */ - public static GrayCloud(width: number = 1): Pen { - return new Pen(Brushes.GrayCloud(), width); - } - - /** - * Gray Goose (#D1D0CE) - */ - public static GrayGoose(width: number = 1): Pen { - return new Pen(Brushes.GrayGoose(), width); - } - - /** - * Platinum (#E5E4E2) - */ - public static Platinum(width: number = 1): Pen { - return new Pen(Brushes.Platinum(), width); - } - - /** - * Metallic Silver (#BCC6CC) - */ - public static MetallicSilver(width: number = 1): Pen { - return new Pen(Brushes.MetallicSilver(), width); - } - - /** - * Blue Gray (#98AFC7) - */ - public static BlueGray(width: number = 1): Pen { - return new Pen(Brushes.BlueGray(), width); - } - - /** - * Light Slate Gray (#6D7B8D) - */ - public static LightSlateGray(width: number = 1): Pen { - return new Pen(Brushes.LightSlateGray(), width); - } - - /** - * Slate Gray (#657383) - */ - public static SlateGray(width: number = 1): Pen { - return new Pen(Brushes.SlateGray(), width); - } - - /** - * Jet Gray (#616D7E) - */ - public static JetGray(width: number = 1): Pen { - return new Pen(Brushes.JetGray(), width); - } - - /** - * Mist Blue (#646D7E) - */ - public static MistBlue(width: number = 1): Pen { - return new Pen(Brushes.MistBlue(), width); - } - - /** - * Marble Blue (#566D7E) - */ - public static MarbleBlue(width: number = 1): Pen { - return new Pen(Brushes.MarbleBlue(), width); - } - - /** - * Slate Blue (#737CA1) - */ - public static SlateBlue(width: number = 1): Pen { - return new Pen(Brushes.SlateBlue(), width); - } - - /** - * Steel Blue (#4863A0) - */ - public static SteelBlue(width: number = 1): Pen { - return new Pen(Brushes.SteelBlue(), width); - } - - /** - * Blue Jay (#2B547E) - */ - public static BlueJay(width: number = 1): Pen { - return new Pen(Brushes.BlueJay(), width); - } - - /** - * Dark Slate Blue (#2B3856) - */ - public static DarkSlateBlue(width: number = 1): Pen { - return new Pen(Brushes.DarkSlateBlue(), width); - } - - /** - * Midnight Blue (#151B54) - */ - public static MidnightBlue(width: number = 1): Pen { - return new Pen(Brushes.MidnightBlue(), width); - } - - /** - * Navy Blue (#000080) - */ - public static NavyBlue(width: number = 1): Pen { - return new Pen(Brushes.NavyBlue(), width); - } - - /** - * Blue Whale (#342D7E) - */ - public static BlueWhale(width: number = 1): Pen { - return new Pen(Brushes.BlueWhale(), width); - } - - /** - * Lapis Blue (#15317E) - */ - public static LapisBlue(width: number = 1): Pen { - return new Pen(Brushes.LapisBlue(), width); - } - - /** - * Denim Dark Blue (#151B8D) - */ - public static DenimDarkBlue(width: number = 1): Pen { - return new Pen(Brushes.DenimDarkBlue(), width); - } - - /** - * Earth Blue (#0000A0) - */ - public static EarthBlue(width: number = 1): Pen { - return new Pen(Brushes.EarthBlue(), width); - } - - /** - * Cobalt Blue (#0020C2) - */ - public static CobaltBlue(width: number = 1): Pen { - return new Pen(Brushes.CobaltBlue(), width); - } - - /** - * Blueberry Blue (#0041C2) - */ - public static BlueberryBlue(width: number = 1): Pen { - return new Pen(Brushes.BlueberryBlue(), width); - } - - /** - * Sapphire Blue (#2554C7) - */ - public static SapphireBlue(width: number = 1): Pen { - return new Pen(Brushes.SapphireBlue(), width); - } - - /** - * Blue Eyes (#1569C7) - */ - public static BlueEyes(width: number = 1): Pen { - return new Pen(Brushes.BlueEyes(), width); - } - - /** - * Royal Blue (#2B60DE) - */ - public static RoyalBlue(width: number = 1): Pen { - return new Pen(Brushes.RoyalBlue(), width); - } - - /** - * Blue Orchid (#1F45FC) - */ - public static BlueOrchid(width: number = 1): Pen { - return new Pen(Brushes.BlueOrchid(), width); - } - - /** - * Blue Lotus (#6960EC) - */ - public static BlueLotus(width: number = 1): Pen { - return new Pen(Brushes.BlueLotus(), width); - } - - /** - * Light Slate Blue (#736AFF) - */ - public static LightSlateBlue(width: number = 1): Pen { - return new Pen(Brushes.LightSlateBlue(), width); - } - - /** - * Windows Blue (#357EC7) - */ - public static WindowsBlue(width: number = 1): Pen { - return new Pen(Brushes.WindowsBlue(), width); - } - - /** - * Glacial Blue Ice (#368BC1) - */ - public static GlacialBlueIce(width: number = 1): Pen { - return new Pen(Brushes.GlacialBlueIce(), width); - } - - /** - * Silk Blue (#488AC7) - */ - public static SilkBlue(width: number = 1): Pen { - return new Pen(Brushes.SilkBlue(), width); - } - - /** - * Blue Ivy (#3090C7) - */ - public static BlueIvy(width: number = 1): Pen { - return new Pen(Brushes.BlueIvy(), width); - } - - /** - * Blue Koi (#659EC7) - */ - public static BlueKoi(width: number = 1): Pen { - return new Pen(Brushes.BlueKoi(), width); - } - - /** - * Columbia Blue (#87AFC7) - */ - public static ColumbiaBlue(width: number = 1): Pen { - return new Pen(Brushes.ColumbiaBlue(), width); - } - - /** - * Baby Blue (#95B9C7) - */ - public static BabyBlue(width: number = 1): Pen { - return new Pen(Brushes.BabyBlue(), width); - } - - /** - * Light Steel Blue (#728FCE) - */ - public static LightSteelBlue(width: number = 1): Pen { - return new Pen(Brushes.LightSteelBlue(), width); - } - - /** - * Ocean Blue (#2B65EC) - */ - public static OceanBlue(width: number = 1): Pen { - return new Pen(Brushes.OceanBlue(), width); - } - - /** - * Blue Ribbon (#306EFF) - */ - public static BlueRibbon(width: number = 1): Pen { - return new Pen(Brushes.BlueRibbon(), width); - } - - /** - * Blue Dress (#157DEC) - */ - public static BlueDress(width: number = 1): Pen { - return new Pen(Brushes.BlueDress(), width); - } - - /** - * Dodger Blue (#1589FF) - */ - public static DodgerBlue(width: number = 1): Pen { - return new Pen(Brushes.DodgerBlue(), width); - } - - /** - * Cornflower Blue (#6495ED) - */ - public static CornflowerBlue(width: number = 1): Pen { - return new Pen(Brushes.CornflowerBlue(), width); - } - - /** - * Sky Blue (#6698FF) - */ - public static SkyBlue(width: number = 1): Pen { - return new Pen(Brushes.SkyBlue(), width); - } - - /** - * Butterfly Blue (#38ACEC) - */ - public static ButterflyBlue(width: number = 1): Pen { - return new Pen(Brushes.ButterflyBlue(), width); - } - - /** - * Iceberg (#56A5EC) - */ - public static Iceberg(width: number = 1): Pen { - return new Pen(Brushes.Iceberg(), width); - } - - /** - * Crystal Blue (#5CB3FF) - */ - public static CrystalBlue(width: number = 1): Pen { - return new Pen(Brushes.CrystalBlue(), width); - } - - /** - * Deep Sky Blue (#3BB9FF) - */ - public static DeepSkyBlue(width: number = 1): Pen { - return new Pen(Brushes.DeepSkyBlue(), width); - } - - /** - * Denim Blue (#79BAEC) - */ - public static DenimBlue(width: number = 1): Pen { - return new Pen(Brushes.DenimBlue(), width); - } - - /** - * Light Sky Blue (#82CAFA) - */ - public static LightSkyBlue(width: number = 1): Pen { - return new Pen(Brushes.LightSkyBlue(), width); - } - - /** - * Day Sky Blue (#82CAFF) - */ - public static DaySkyBlue(width: number = 1): Pen { - return new Pen(Brushes.DaySkyBlue(), width); - } - - /** - * Jeans Blue (#A0CFEC) - */ - public static JeansBlue(width: number = 1): Pen { - return new Pen(Brushes.JeansBlue(), width); - } - - /** - * Blue Angel (#B7CEEC) - */ - public static BlueAngel(width: number = 1): Pen { - return new Pen(Brushes.BlueAngel(), width); - } - - /** - * Pastel Blue (#B4CFEC) - */ - public static PastelBlue(width: number = 1): Pen { - return new Pen(Brushes.PastelBlue(), width); - } - - /** - * Sea Blue (#C2DFFF) - */ - public static SeaBlue(width: number = 1): Pen { - return new Pen(Brushes.SeaBlue(), width); - } - - /** - * Powder Blue (#C6DEFF) - */ - public static PowderBlue(width: number = 1): Pen { - return new Pen(Brushes.PowderBlue(), width); - } - - /** - * Coral Blue (#AFDCEC) - */ - public static CoralBlue(width: number = 1): Pen { - return new Pen(Brushes.CoralBlue(), width); - } - - /** - * Light Blue (#ADDFFF) - */ - public static LightBlue(width: number = 1): Pen { - return new Pen(Brushes.LightBlue(), width); - } - - /** - * Robin Egg Blue (#BDEDFF) - */ - public static RobinEggBlue(width: number = 1): Pen { - return new Pen(Brushes.RobinEggBlue(), width); - } - - /** - * Pale Blue Lily (#CFECEC) - */ - public static PaleBlueLily(width: number = 1): Pen { - return new Pen(Brushes.PaleBlueLily(), width); - } - - /** - * Light Cyan (#E0FFFF) - */ - public static LightCyan(width: number = 1): Pen { - return new Pen(Brushes.LightCyan(), width); - } - - /** - * Water (#EBF4FA) - */ - public static Water(width: number = 1): Pen { - return new Pen(Brushes.Water(), width); - } - - /** - * AliceBlue (#F0F8FF) - */ - public static AliceBlue(width: number = 1): Pen { - return new Pen(Brushes.AliceBlue(), width); - } - - /** - * Azure (#F0FFFF) - */ - public static Azure(width: number = 1): Pen { - return new Pen(Brushes.Azure(), width); - } - - /** - * Light Slate (#CCFFFF) - */ - public static LightSlate(width: number = 1): Pen { - return new Pen(Brushes.LightSlate(), width); - } - - /** - * Light Aquamarine (#93FFE8) - */ - public static LightAquamarine(width: number = 1): Pen { - return new Pen(Brushes.LightAquamarine(), width); - } - - /** - * Electric Blue (#9AFEFF) - */ - public static ElectricBlue(width: number = 1): Pen { - return new Pen(Brushes.ElectricBlue(), width); - } - - /** - * Aquamarine (#7FFFD4) - */ - public static Aquamarine(width: number = 1): Pen { - return new Pen(Brushes.Aquamarine(), width); - } - - /** - * Cyan or Aqua (#00FFFF) - */ - public static CyanorAqua(width: number = 1): Pen { - return new Pen(Brushes.CyanorAqua(), width); - } - - /** - * Tron Blue (#7DFDFE) - */ - public static TronBlue(width: number = 1): Pen { - return new Pen(Brushes.TronBlue(), width); - } - - /** - * Blue Zircon (#57FEFF) - */ - public static BlueZircon(width: number = 1): Pen { - return new Pen(Brushes.BlueZircon(), width); - } - - /** - * Blue Lagoon (#8EEBEC) - */ - public static BlueLagoon(width: number = 1): Pen { - return new Pen(Brushes.BlueLagoon(), width); - } - - /** - * Celeste (#50EBEC) - */ - public static Celeste(width: number = 1): Pen { - return new Pen(Brushes.Celeste(), width); - } - - /** - * Blue Diamond (#4EE2EC) - */ - public static BlueDiamond(width: number = 1): Pen { - return new Pen(Brushes.BlueDiamond(), width); - } - - /** - * Tiffany Blue (#81D8D0) - */ - public static TiffanyBlue(width: number = 1): Pen { - return new Pen(Brushes.TiffanyBlue(), width); - } - - /** - * Cyan Opaque (#92C7C7) - */ - public static CyanOpaque(width: number = 1): Pen { - return new Pen(Brushes.CyanOpaque(), width); - } - - /** - * Blue Hosta (#77BFC7) - */ - public static BlueHosta(width: number = 1): Pen { - return new Pen(Brushes.BlueHosta(), width); - } - - /** - * Northern Lights Blue (#78C7C7) - */ - public static NorthernLightsBlue(width: number = 1): Pen { - return new Pen(Brushes.NorthernLightsBlue(), width); - } - - /** - * Medium Turquoise (#48CCCD) - */ - public static MediumTurquoise(width: number = 1): Pen { - return new Pen(Brushes.MediumTurquoise(), width); - } - - /** - * Turquoise (#43C6DB) - */ - public static Turquoise(width: number = 1): Pen { - return new Pen(Brushes.Turquoise(), width); - } - - /** - * Jellyfish (#46C7C7) - */ - public static Jellyfish(width: number = 1): Pen { - return new Pen(Brushes.Jellyfish(), width); - } - - /** - * Blue green (#7BCCB5) - */ - public static Bluegreen(width: number = 1): Pen { - return new Pen(Brushes.Bluegreen(), width); - } - - /** - * Macaw Blue Green (#43BFC7) - */ - public static MacawBlueGreen(width: number = 1): Pen { - return new Pen(Brushes.MacawBlueGreen(), width); - } - - /** - * Light Sea Green (#3EA99F) - */ - public static LightSeaGreen(width: number = 1): Pen { - return new Pen(Brushes.LightSeaGreen(), width); - } - - /** - * Dark Turquoise (#3B9C9C) - */ - public static DarkTurquoise(width: number = 1): Pen { - return new Pen(Brushes.DarkTurquoise(), width); - } - - /** - * Sea Turtle Green (#438D80) - */ - public static SeaTurtleGreen(width: number = 1): Pen { - return new Pen(Brushes.SeaTurtleGreen(), width); - } - - /** - * Medium Aquamarine (#348781) - */ - public static MediumAquamarine(width: number = 1): Pen { - return new Pen(Brushes.MediumAquamarine(), width); - } - - /** - * Greenish Blue (#307D7E) - */ - public static GreenishBlue(width: number = 1): Pen { - return new Pen(Brushes.GreenishBlue(), width); - } - - /** - * Grayish Turquoise (#5E7D7E) - */ - public static GrayishTurquoise(width: number = 1): Pen { - return new Pen(Brushes.GrayishTurquoise(), width); - } - - /** - * Beetle Green (#4C787E) - */ - public static BeetleGreen(width: number = 1): Pen { - return new Pen(Brushes.BeetleGreen(), width); - } - - /** - * Teal (#008080) - */ - public static Teal(width: number = 1): Pen { - return new Pen(Brushes.Teal(), width); - } - - /** - * Sea Green (#4E8975) - */ - public static SeaGreen(width: number = 1): Pen { - return new Pen(Brushes.SeaGreen(), width); - } - - /** - * Camouflage Green (#78866B) - */ - public static CamouflageGreen(width: number = 1): Pen { - return new Pen(Brushes.CamouflageGreen(), width); - } - - /** - * Sage Green (#848b79) - */ - public static SageGreen(width: number = 1): Pen { - return new Pen(Brushes.SageGreen(), width); - } - - /** - * Hazel Green (#617C58) - */ - public static HazelGreen(width: number = 1): Pen { - return new Pen(Brushes.HazelGreen(), width); - } - - /** - * Venom Green (#728C00) - */ - public static VenomGreen(width: number = 1): Pen { - return new Pen(Brushes.VenomGreen(), width); - } - - /** - * Fern Green (#667C26) - */ - public static FernGreen(width: number = 1): Pen { - return new Pen(Brushes.FernGreen(), width); - } - - /** - * Dark Forest Green (#254117) - */ - public static DarkForestGreen(width: number = 1): Pen { - return new Pen(Brushes.DarkForestGreen(), width); - } - - /** - * Medium Sea Green (#306754) - */ - public static MediumSeaGreen(width: number = 1): Pen { - return new Pen(Brushes.MediumSeaGreen(), width); - } - - /** - * Medium Forest Green (#347235) - */ - public static MediumForestGreen(width: number = 1): Pen { - return new Pen(Brushes.MediumForestGreen(), width); - } - - /** - * Seaweed Green (#437C17) - */ - public static SeaweedGreen(width: number = 1): Pen { - return new Pen(Brushes.SeaweedGreen(), width); - } - - /** - * Pine Green (#387C44) - */ - public static PineGreen(width: number = 1): Pen { - return new Pen(Brushes.PineGreen(), width); - } - - /** - * Jungle Green (#347C2C) - */ - public static JungleGreen(width: number = 1): Pen { - return new Pen(Brushes.JungleGreen(), width); - } - - /** - * Shamrock Green (#347C17) - */ - public static ShamrockGreen(width: number = 1): Pen { - return new Pen(Brushes.ShamrockGreen(), width); - } - - /** - * Medium Spring Green (#348017) - */ - public static MediumSpringGreen(width: number = 1): Pen { - return new Pen(Brushes.MediumSpringGreen(), width); - } - - /** - * Forest Green (#4E9258) - */ - public static ForestGreen(width: number = 1): Pen { - return new Pen(Brushes.ForestGreen(), width); - } - - /** - * Green Onion (#6AA121) - */ - public static GreenOnion(width: number = 1): Pen { - return new Pen(Brushes.GreenOnion(), width); - } - - /** - * Spring Green (#4AA02C) - */ - public static SpringGreen(width: number = 1): Pen { - return new Pen(Brushes.SpringGreen(), width); - } - - /** - * Lime Green (#41A317) - */ - public static LimeGreen(width: number = 1): Pen { - return new Pen(Brushes.LimeGreen(), width); - } - - /** - * Clover Green (#3EA055) - */ - public static CloverGreen(width: number = 1): Pen { - return new Pen(Brushes.CloverGreen(), width); - } - - /** - * Green Snake (#6CBB3C) - */ - public static GreenSnake(width: number = 1): Pen { - return new Pen(Brushes.GreenSnake(), width); - } - - /** - * Alien Green (#6CC417) - */ - public static AlienGreen(width: number = 1): Pen { - return new Pen(Brushes.AlienGreen(), width); - } - - /** - * Green Apple (#4CC417) - */ - public static GreenApple(width: number = 1): Pen { - return new Pen(Brushes.GreenApple(), width); - } - - /** - * Yellow Green (#52D017) - */ - public static YellowGreen(width: number = 1): Pen { - return new Pen(Brushes.YellowGreen(), width); - } - - /** - * Kelly Green (#4CC552) - */ - public static KellyGreen(width: number = 1): Pen { - return new Pen(Brushes.KellyGreen(), width); - } - - /** - * Zombie Green (#54C571) - */ - public static ZombieGreen(width: number = 1): Pen { - return new Pen(Brushes.ZombieGreen(), width); - } - - /** - * Frog Green (#99C68E) - */ - public static FrogGreen(width: number = 1): Pen { - return new Pen(Brushes.FrogGreen(), width); - } - - /** - * Green Peas (#89C35C) - */ - public static GreenPeas(width: number = 1): Pen { - return new Pen(Brushes.GreenPeas(), width); - } - - /** - * Dollar Bill Green (#85BB65) - */ - public static DollarBillGreen(width: number = 1): Pen { - return new Pen(Brushes.DollarBillGreen(), width); - } - - /** - * Dark Sea Green (#8BB381) - */ - public static DarkSeaGreen(width: number = 1): Pen { - return new Pen(Brushes.DarkSeaGreen(), width); - } - - /** - * Iguana Green (#9CB071) - */ - public static IguanaGreen(width: number = 1): Pen { - return new Pen(Brushes.IguanaGreen(), width); - } - - /** - * Avocado Green (#B2C248) - */ - public static AvocadoGreen(width: number = 1): Pen { - return new Pen(Brushes.AvocadoGreen(), width); - } - - /** - * Pistachio Green (#9DC209) - */ - public static PistachioGreen(width: number = 1): Pen { - return new Pen(Brushes.PistachioGreen(), width); - } - - /** - * Salad Green (#A1C935) - */ - public static SaladGreen(width: number = 1): Pen { - return new Pen(Brushes.SaladGreen(), width); - } - - /** - * Hummingbird Green (#7FE817) - */ - public static HummingbirdGreen(width: number = 1): Pen { - return new Pen(Brushes.HummingbirdGreen(), width); - } - - /** - * Nebula Green (#59E817) - */ - public static NebulaGreen(width: number = 1): Pen { - return new Pen(Brushes.NebulaGreen(), width); - } - - /** - * Stoplight Go Green (#57E964) - */ - public static StoplightGoGreen(width: number = 1): Pen { - return new Pen(Brushes.StoplightGoGreen(), width); - } - - /** - * Algae Green (#64E986) - */ - public static AlgaeGreen(width: number = 1): Pen { - return new Pen(Brushes.AlgaeGreen(), width); - } - - /** - * Jade Green (#5EFB6E) - */ - public static JadeGreen(width: number = 1): Pen { - return new Pen(Brushes.JadeGreen(), width); - } - - /** - * Green (#00FF00) - */ - public static Green(width: number = 1): Pen { - return new Pen(Brushes.Green(), width); - } - - /** - * Emerald Green (#5FFB17) - */ - public static EmeraldGreen(width: number = 1): Pen { - return new Pen(Brushes.EmeraldGreen(), width); - } - - /** - * Lawn Green (#87F717) - */ - public static LawnGreen(width: number = 1): Pen { - return new Pen(Brushes.LawnGreen(), width); - } - - /** - * Chartreuse (#8AFB17) - */ - public static Chartreuse(width: number = 1): Pen { - return new Pen(Brushes.Chartreuse(), width); - } - - /** - * Dragon Green (#6AFB92) - */ - public static DragonGreen(width: number = 1): Pen { - return new Pen(Brushes.DragonGreen(), width); - } - - /** - * Mint green (#98FF98) - */ - public static Mintgreen(width: number = 1): Pen { - return new Pen(Brushes.Mintgreen(), width); - } - - /** - * Green Thumb (#B5EAAA) - */ - public static GreenThumb(width: number = 1): Pen { - return new Pen(Brushes.GreenThumb(), width); - } - - /** - * Light Jade (#C3FDB8) - */ - public static LightJade(width: number = 1): Pen { - return new Pen(Brushes.LightJade(), width); - } - - /** - * Tea Green (#CCFB5D) - */ - public static TeaGreen(width: number = 1): Pen { - return new Pen(Brushes.TeaGreen(), width); - } - - /** - * Green Yellow (#B1FB17) - */ - public static GreenYellow(width: number = 1): Pen { - return new Pen(Brushes.GreenYellow(), width); - } - - /** - * Slime Green (#BCE954) - */ - public static SlimeGreen(width: number = 1): Pen { - return new Pen(Brushes.SlimeGreen(), width); - } - - /** - * Goldenrod (#EDDA74) - */ - public static Goldenrod(width: number = 1): Pen { - return new Pen(Brushes.Goldenrod(), width); - } - - /** - * Harvest Gold (#EDE275) - */ - public static HarvestGold(width: number = 1): Pen { - return new Pen(Brushes.HarvestGold(), width); - } - - /** - * Sun Yellow (#FFE87C) - */ - public static SunYellow(width: number = 1): Pen { - return new Pen(Brushes.SunYellow(), width); - } - - /** - * Yellow (#FFFF00) - */ - public static Yellow(width: number = 1): Pen { - return new Pen(Brushes.Yellow(), width); - } - - /** - * Corn Yellow (#FFF380) - */ - public static CornYellow(width: number = 1): Pen { - return new Pen(Brushes.CornYellow(), width); - } - - /** - * Parchment (#FFFFC2) - */ - public static Parchment(width: number = 1): Pen { - return new Pen(Brushes.Parchment(), width); - } - - /** - * Cream (#FFFFCC) - */ - public static Cream(width: number = 1): Pen { - return new Pen(Brushes.Cream(), width); - } - - /** - * Lemon Chiffon (#FFF8C6) - */ - public static LemonChiffon(width: number = 1): Pen { - return new Pen(Brushes.LemonChiffon(), width); - } - - /** - * Cornsilk (#FFF8DC) - */ - public static Cornsilk(width: number = 1): Pen { - return new Pen(Brushes.Cornsilk(), width); - } - - /** - * Beige (#F5F5DC) - */ - public static Beige(width: number = 1): Pen { - return new Pen(Brushes.Beige(), width); - } - - /** - * Blonde (#FBF6D9) - */ - public static Blonde(width: number = 1): Pen { - return new Pen(Brushes.Blonde(), width); - } - - /** - * AntiqueWhite (#FAEBD7) - */ - public static AntiqueWhite(width: number = 1): Pen { - return new Pen(Brushes.AntiqueWhite(), width); - } - - /** - * Champagne (#F7E7CE) - */ - public static Champagne(width: number = 1): Pen { - return new Pen(Brushes.Champagne(), width); - } - - /** - * BlanchedAlmond (#FFEBCD) - */ - public static BlanchedAlmond(width: number = 1): Pen { - return new Pen(Brushes.BlanchedAlmond(), width); - } - - /** - * Vanilla (#F3E5AB) - */ - public static Vanilla(width: number = 1): Pen { - return new Pen(Brushes.Vanilla(), width); - } - - /** - * Tan Brown (#ECE5B6) - */ - public static TanBrown(width: number = 1): Pen { - return new Pen(Brushes.TanBrown(), width); - } - - /** - * Peach (#FFE5B4) - */ - public static Peach(width: number = 1): Pen { - return new Pen(Brushes.Peach(), width); - } - - /** - * Mustard (#FFDB58) - */ - public static Mustard(width: number = 1): Pen { - return new Pen(Brushes.Mustard(), width); - } - - /** - * Rubber Ducky Yellow (#FFD801) - */ - public static RubberDuckyYellow(width: number = 1): Pen { - return new Pen(Brushes.RubberDuckyYellow(), width); - } - - /** - * Bright Gold (#FDD017) - */ - public static BrightGold(width: number = 1): Pen { - return new Pen(Brushes.BrightGold(), width); - } - - /** - * Golden brown (#EAC117) - */ - public static Goldenbrown(width: number = 1): Pen { - return new Pen(Brushes.Goldenbrown(), width); - } - - /** - * Macaroni and Cheese (#F2BB66) - */ - public static MacaroniandCheese(width: number = 1): Pen { - return new Pen(Brushes.MacaroniandCheese(), width); - } - - /** - * Saffron (#FBB917) - */ - public static Saffron(width: number = 1): Pen { - return new Pen(Brushes.Saffron(), width); - } - - /** - * Beer (#FBB117) - */ - public static Beer(width: number = 1): Pen { - return new Pen(Brushes.Beer(), width); - } - - /** - * Cantaloupe (#FFA62F) - */ - public static Cantaloupe(width: number = 1): Pen { - return new Pen(Brushes.Cantaloupe(), width); - } - - /** - * Bee Yellow (#E9AB17) - */ - public static BeeYellow(width: number = 1): Pen { - return new Pen(Brushes.BeeYellow(), width); - } - - /** - * Brown Sugar (#E2A76F) - */ - public static BrownSugar(width: number = 1): Pen { - return new Pen(Brushes.BrownSugar(), width); - } - - /** - * BurlyWood (#DEB887) - */ - public static BurlyWood(width: number = 1): Pen { - return new Pen(Brushes.BurlyWood(), width); - } - - /** - * Deep Peach (#FFCBA4) - */ - public static DeepPeach(width: number = 1): Pen { - return new Pen(Brushes.DeepPeach(), width); - } - - /** - * Ginger Brown (#C9BE62) - */ - public static GingerBrown(width: number = 1): Pen { - return new Pen(Brushes.GingerBrown(), width); - } - - /** - * School Bus Yellow (#E8A317) - */ - public static SchoolBusYellow(width: number = 1): Pen { - return new Pen(Brushes.SchoolBusYellow(), width); - } - - /** - * Sandy Brown (#EE9A4D) - */ - public static SandyBrown(width: number = 1): Pen { - return new Pen(Brushes.SandyBrown(), width); - } - - /** - * Fall Leaf Brown (#C8B560) - */ - public static FallLeafBrown(width: number = 1): Pen { - return new Pen(Brushes.FallLeafBrown(), width); - } - - /** - * Orange Gold (#D4A017) - */ - public static OrangeGold(width: number = 1): Pen { - return new Pen(Brushes.OrangeGold(), width); - } - - /** - * Sand (#C2B280) - */ - public static Sand(width: number = 1): Pen { - return new Pen(Brushes.Sand(), width); - } - - /** - * Cookie Brown (#C7A317) - */ - public static CookieBrown(width: number = 1): Pen { - return new Pen(Brushes.CookieBrown(), width); - } - - /** - * Caramel (#C68E17) - */ - public static Caramel(width: number = 1): Pen { - return new Pen(Brushes.Caramel(), width); - } - - /** - * Brass (#B5A642) - */ - public static Brass(width: number = 1): Pen { - return new Pen(Brushes.Brass(), width); - } - - /** - * Khaki (#ADA96E) - */ - public static Khaki(width: number = 1): Pen { - return new Pen(Brushes.Khaki(), width); - } - - /** - * Camel brown (#C19A6B) - */ - public static Camelbrown(width: number = 1): Pen { - return new Pen(Brushes.Camelbrown(), width); - } - - /** - * Bronze (#CD7F32) - */ - public static Bronze(width: number = 1): Pen { - return new Pen(Brushes.Bronze(), width); - } - - /** - * Tiger Orange (#C88141) - */ - public static TigerOrange(width: number = 1): Pen { - return new Pen(Brushes.TigerOrange(), width); - } - - /** - * Cinnamon (#C58917) - */ - public static Cinnamon(width: number = 1): Pen { - return new Pen(Brushes.Cinnamon(), width); - } - - /** - * Bullet Shell (#AF9B60) - */ - public static BulletShell(width: number = 1): Pen { - return new Pen(Brushes.BulletShell(), width); - } - - /** - * Dark Goldenrod (#AF7817) - */ - public static DarkGoldenrod(width: number = 1): Pen { - return new Pen(Brushes.DarkGoldenrod(), width); - } - - /** - * Copper (#B87333) - */ - public static Copper(width: number = 1): Pen { - return new Pen(Brushes.Copper(), width); - } - - /** - * Wood (#966F33) - */ - public static Wood(width: number = 1): Pen { - return new Pen(Brushes.Wood(), width); - } - - /** - * Oak Brown (#806517) - */ - public static OakBrown(width: number = 1): Pen { - return new Pen(Brushes.OakBrown(), width); - } - - /** - * Moccasin (#827839) - */ - public static Moccasin(width: number = 1): Pen { - return new Pen(Brushes.Moccasin(), width); - } - - /** - * Army Brown (#827B60) - */ - public static ArmyBrown(width: number = 1): Pen { - return new Pen(Brushes.ArmyBrown(), width); - } - - /** - * Sandstone (#786D5F) - */ - public static Sandstone(width: number = 1): Pen { - return new Pen(Brushes.Sandstone(), width); - } - - /** - * Mocha (#493D26) - */ - public static Mocha(width: number = 1): Pen { - return new Pen(Brushes.Mocha(), width); - } - - /** - * Taupe (#483C32) - */ - public static Taupe(width: number = 1): Pen { - return new Pen(Brushes.Taupe(), width); - } - - /** - * Coffee (#6F4E37) - */ - public static Coffee(width: number = 1): Pen { - return new Pen(Brushes.Coffee(), width); - } - - /** - * Brown Bear (#835C3B) - */ - public static BrownBear(width: number = 1): Pen { - return new Pen(Brushes.BrownBear(), width); - } - - /** - * Red Dirt (#7F5217) - */ - public static RedDirt(width: number = 1): Pen { - return new Pen(Brushes.RedDirt(), width); - } - - /** - * Sepia (#7F462C) - */ - public static Sepia(width: number = 1): Pen { - return new Pen(Brushes.Sepia(), width); - } - - /** - * Orange Salmon (#C47451) - */ - public static OrangeSalmon(width: number = 1): Pen { - return new Pen(Brushes.OrangeSalmon(), width); - } - - /** - * Rust (#C36241) - */ - public static Rust(width: number = 1): Pen { - return new Pen(Brushes.Rust(), width); - } - - /** - * Red Fox (#C35817) - */ - public static RedFox(width: number = 1): Pen { - return new Pen(Brushes.RedFox(), width); - } - - /** - * Chocolate (#C85A17) - */ - public static Chocolate(width: number = 1): Pen { - return new Pen(Brushes.Chocolate(), width); - } - - /** - * Sedona (#CC6600) - */ - public static Sedona(width: number = 1): Pen { - return new Pen(Brushes.Sedona(), width); - } - - /** - * Papaya Orange (#E56717) - */ - public static PapayaOrange(width: number = 1): Pen { - return new Pen(Brushes.PapayaOrange(), width); - } - - /** - * Halloween Orange (#E66C2C) - */ - public static HalloweenOrange(width: number = 1): Pen { - return new Pen(Brushes.HalloweenOrange(), width); - } - - /** - * Pumpkin Orange (#F87217) - */ - public static PumpkinOrange(width: number = 1): Pen { - return new Pen(Brushes.PumpkinOrange(), width); - } - - /** - * Construction Cone Orange (#F87431) - */ - public static ConstructionConeOrange(width: number = 1): Pen { - return new Pen(Brushes.ConstructionConeOrange(), width); - } - - /** - * Sunrise Orange (#E67451) - */ - public static SunriseOrange(width: number = 1): Pen { - return new Pen(Brushes.SunriseOrange(), width); - } - - /** - * Mango Orange (#FF8040) - */ - public static MangoOrange(width: number = 1): Pen { - return new Pen(Brushes.MangoOrange(), width); - } - - /** - * Dark Orange (#F88017) - */ - public static DarkOrange(width: number = 1): Pen { - return new Pen(Brushes.DarkOrange(), width); - } - - /** - * Coral (#FF7F50) - */ - public static Coral(width: number = 1): Pen { - return new Pen(Brushes.Coral(), width); - } - - /** - * Basket Ball Orange (#F88158) - */ - public static BasketBallOrange(width: number = 1): Pen { - return new Pen(Brushes.BasketBallOrange(), width); - } - - /** - * Light Salmon (#F9966B) - */ - public static LightSalmon(width: number = 1): Pen { - return new Pen(Brushes.LightSalmon(), width); - } - - /** - * Tangerine (#E78A61) - */ - public static Tangerine(width: number = 1): Pen { - return new Pen(Brushes.Tangerine(), width); - } - - /** - * Dark Salmon (#E18B6B) - */ - public static DarkSalmon(width: number = 1): Pen { - return new Pen(Brushes.DarkSalmon(), width); - } - - /** - * Light Coral (#E77471) - */ - public static LightCoral(width: number = 1): Pen { - return new Pen(Brushes.LightCoral(), width); - } - - /** - * Bean Red (#F75D59) - */ - public static BeanRed(width: number = 1): Pen { - return new Pen(Brushes.BeanRed(), width); - } - - /** - * Valentine Red (#E55451) - */ - public static ValentineRed(width: number = 1): Pen { - return new Pen(Brushes.ValentineRed(), width); - } - - /** - * Shocking Orange (#E55B3C) - */ - public static ShockingOrange(width: number = 1): Pen { - return new Pen(Brushes.ShockingOrange(), width); - } - - /** - * Red (#FF0000) - */ - public static Red(width: number = 1): Pen { - return new Pen(Brushes.Red(), width); - } - - /** - * Scarlet (#FF2400) - */ - public static Scarlet(width: number = 1): Pen { - return new Pen(Brushes.Scarlet(), width); - } - - /** - * Ruby Red (#F62217) - */ - public static RubyRed(width: number = 1): Pen { - return new Pen(Brushes.RubyRed(), width); - } - - /** - * Ferrari Red (#F70D1A) - */ - public static FerrariRed(width: number = 1): Pen { - return new Pen(Brushes.FerrariRed(), width); - } - - /** - * Fire Engine Red (#F62817) - */ - public static FireEngineRed(width: number = 1): Pen { - return new Pen(Brushes.FireEngineRed(), width); - } - - /** - * Lava Red (#E42217) - */ - public static LavaRed(width: number = 1): Pen { - return new Pen(Brushes.LavaRed(), width); - } - - /** - * Love Red (#E41B17) - */ - public static LoveRed(width: number = 1): Pen { - return new Pen(Brushes.LoveRed(), width); - } - - /** - * Grapefruit (#DC381F) - */ - public static Grapefruit(width: number = 1): Pen { - return new Pen(Brushes.Grapefruit(), width); - } - - /** - * Chestnut Red (#C34A2C) - */ - public static ChestnutRed(width: number = 1): Pen { - return new Pen(Brushes.ChestnutRed(), width); - } - - /** - * Cherry Red (#C24641) - */ - public static CherryRed(width: number = 1): Pen { - return new Pen(Brushes.CherryRed(), width); - } - - /** - * Mahogany (#C04000) - */ - public static Mahogany(width: number = 1): Pen { - return new Pen(Brushes.Mahogany(), width); - } - - /** - * Chilli Pepper (#C11B17) - */ - public static ChilliPepper(width: number = 1): Pen { - return new Pen(Brushes.ChilliPepper(), width); - } - - /** - * Cranberry (#9F000F) - */ - public static Cranberry(width: number = 1): Pen { - return new Pen(Brushes.Cranberry(), width); - } - - /** - * Red Wine (#990012) - */ - public static RedWine(width: number = 1): Pen { - return new Pen(Brushes.RedWine(), width); - } - - /** - * Burgundy (#8C001A) - */ - public static Burgundy(width: number = 1): Pen { - return new Pen(Brushes.Burgundy(), width); - } - - /** - * Chestnut (#954535) - */ - public static Chestnut(width: number = 1): Pen { - return new Pen(Brushes.Chestnut(), width); - } - - /** - * Blood Red (#7E3517) - */ - public static BloodRed(width: number = 1): Pen { - return new Pen(Brushes.BloodRed(), width); - } - - /** - * Sienna (#8A4117) - */ - public static Sienna(width: number = 1): Pen { - return new Pen(Brushes.Sienna(), width); - } - - /** - * Sangria (#7E3817) - */ - public static Sangria(width: number = 1): Pen { - return new Pen(Brushes.Sangria(), width); - } - - /** - * Firebrick (#800517) - */ - public static Firebrick(width: number = 1): Pen { - return new Pen(Brushes.Firebrick(), width); - } - - /** - * Maroon (#810541) - */ - public static Maroon(width: number = 1): Pen { - return new Pen(Brushes.Maroon(), width); - } - - /** - * Plum Pie (#7D0541) - */ - public static PlumPie(width: number = 1): Pen { - return new Pen(Brushes.PlumPie(), width); - } - - /** - * Velvet Maroon (#7E354D) - */ - public static VelvetMaroon(width: number = 1): Pen { - return new Pen(Brushes.VelvetMaroon(), width); - } - - /** - * Plum Velvet (#7D0552) - */ - public static PlumVelvet(width: number = 1): Pen { - return new Pen(Brushes.PlumVelvet(), width); - } - - /** - * Rosy Finch (#7F4E52) - */ - public static RosyFinch(width: number = 1): Pen { - return new Pen(Brushes.RosyFinch(), width); - } - - /** - * Puce (#7F5A58) - */ - public static Puce(width: number = 1): Pen { - return new Pen(Brushes.Puce(), width); - } - - /** - * Dull Purple (#7F525D) - */ - public static DullPurple(width: number = 1): Pen { - return new Pen(Brushes.DullPurple(), width); - } - - /** - * Rosy Brown (#B38481) - */ - public static RosyBrown(width: number = 1): Pen { - return new Pen(Brushes.RosyBrown(), width); - } - - /** - * Khaki Rose (#C5908E) - */ - public static KhakiRose(width: number = 1): Pen { - return new Pen(Brushes.KhakiRose(), width); - } - - /** - * Pink Bow (#C48189) - */ - public static PinkBow(width: number = 1): Pen { - return new Pen(Brushes.PinkBow(), width); - } - - /** - * Lipstick Pink (#C48793) - */ - public static LipstickPink(width: number = 1): Pen { - return new Pen(Brushes.LipstickPink(), width); - } - - /** - * Rose (#E8ADAA) - */ - public static Rose(width: number = 1): Pen { - return new Pen(Brushes.Rose(), width); - } - - /** - * Rose Gold (#ECC5C0) - */ - public static RoseGold(width: number = 1): Pen { - return new Pen(Brushes.RoseGold(), width); - } - - /** - * Desert Sand (#EDC9AF) - */ - public static DesertSand(width: number = 1): Pen { - return new Pen(Brushes.DesertSand(), width); - } - - /** - * Pig Pink (#FDD7E4) - */ - public static PigPink(width: number = 1): Pen { - return new Pen(Brushes.PigPink(), width); - } - - /** - * Cotton Candy (#FCDFFF) - */ - public static CottonCandy(width: number = 1): Pen { - return new Pen(Brushes.CottonCandy(), width); - } - - /** - * Pink Bubble Gum (#FFDFDD) - */ - public static PinkBubbleGum(width: number = 1): Pen { - return new Pen(Brushes.PinkBubbleGum(), width); - } - - /** - * Misty Rose (#FBBBB9) - */ - public static MistyRose(width: number = 1): Pen { - return new Pen(Brushes.MistyRose(), width); - } - - /** - * Pink (#FAAFBE) - */ - public static Pink(width: number = 1): Pen { - return new Pen(Brushes.Pink(), width); - } - - /** - * Light Pink (#FAAFBA) - */ - public static LightPink(width: number = 1): Pen { - return new Pen(Brushes.LightPink(), width); - } - - /** - * Flamingo Pink (#F9A7B0) - */ - public static FlamingoPink(width: number = 1): Pen { - return new Pen(Brushes.FlamingoPink(), width); - } - - /** - * Pink Rose (#E7A1B0) - */ - public static PinkRose(width: number = 1): Pen { - return new Pen(Brushes.PinkRose(), width); - } - - /** - * Pink Daisy (#E799A3) - */ - public static PinkDaisy(width: number = 1): Pen { - return new Pen(Brushes.PinkDaisy(), width); - } - - /** - * Cadillac Pink (#E38AAE) - */ - public static CadillacPink(width: number = 1): Pen { - return new Pen(Brushes.CadillacPink(), width); - } - - /** - * Carnation Pink (#F778A1) - */ - public static CarnationPink(width: number = 1): Pen { - return new Pen(Brushes.CarnationPink(), width); - } - - /** - * Blush Red (#E56E94) - */ - public static BlushRed(width: number = 1): Pen { - return new Pen(Brushes.BlushRed(), width); - } - - /** - * Hot Pink (#F660AB) - */ - public static HotPink(width: number = 1): Pen { - return new Pen(Brushes.HotPink(), width); - } - - /** - * Watermelon Pink (#FC6C85) - */ - public static WatermelonPink(width: number = 1): Pen { - return new Pen(Brushes.WatermelonPink(), width); - } - - /** - * Violet Red (#F6358A) - */ - public static VioletRed(width: number = 1): Pen { - return new Pen(Brushes.VioletRed(), width); - } - - /** - * Deep Pink (#F52887) - */ - public static DeepPink(width: number = 1): Pen { - return new Pen(Brushes.DeepPink(), width); - } - - /** - * Pink Cupcake (#E45E9D) - */ - public static PinkCupcake(width: number = 1): Pen { - return new Pen(Brushes.PinkCupcake(), width); - } - - /** - * Pink Lemonade (#E4287C) - */ - public static PinkLemonade(width: number = 1): Pen { - return new Pen(Brushes.PinkLemonade(), width); - } - - /** - * Neon Pink (#F535AA) - */ - public static NeonPink(width: number = 1): Pen { - return new Pen(Brushes.NeonPink(), width); - } - - /** - * Magenta (#FF00FF) - */ - public static Magenta(width: number = 1): Pen { - return new Pen(Brushes.Magenta(), width); - } - - /** - * Dimorphotheca Magenta (#E3319D) - */ - public static DimorphothecaMagenta(width: number = 1): Pen { - return new Pen(Brushes.DimorphothecaMagenta(), width); - } - - /** - * Bright Neon Pink (#F433FF) - */ - public static BrightNeonPink(width: number = 1): Pen { - return new Pen(Brushes.BrightNeonPink(), width); - } - - /** - * Pale Violet Red (#D16587) - */ - public static PaleVioletRed(width: number = 1): Pen { - return new Pen(Brushes.PaleVioletRed(), width); - } - - /** - * Tulip Pink (#C25A7C) - */ - public static TulipPink(width: number = 1): Pen { - return new Pen(Brushes.TulipPink(), width); - } - - /** - * Medium Violet Red (#CA226B) - */ - public static MediumVioletRed(width: number = 1): Pen { - return new Pen(Brushes.MediumVioletRed(), width); - } - - /** - * Rogue Pink (#C12869) - */ - public static RoguePink(width: number = 1): Pen { - return new Pen(Brushes.RoguePink(), width); - } - - /** - * Burnt Pink (#C12267) - */ - public static BurntPink(width: number = 1): Pen { - return new Pen(Brushes.BurntPink(), width); - } - - /** - * Bashful Pink (#C25283) - */ - public static BashfulPink(width: number = 1): Pen { - return new Pen(Brushes.BashfulPink(), width); - } - - /** - * Dark Carnation Pink (#C12283) - */ - public static DarkCarnationPink(width: number = 1): Pen { - return new Pen(Brushes.DarkCarnationPink(), width); - } - - /** - * Plum (#B93B8F) - */ - public static Plum(width: number = 1): Pen { - return new Pen(Brushes.Plum(), width); - } - - /** - * Viola Purple (#7E587E) - */ - public static ViolaPurple(width: number = 1): Pen { - return new Pen(Brushes.ViolaPurple(), width); - } - - /** - * Purple Iris (#571B7E) - */ - public static PurpleIris(width: number = 1): Pen { - return new Pen(Brushes.PurpleIris(), width); - } - - /** - * Plum Purple (#583759) - */ - public static PlumPurple(width: number = 1): Pen { - return new Pen(Brushes.PlumPurple(), width); - } - - /** - * Indigo (#4B0082) - */ - public static Indigo(width: number = 1): Pen { - return new Pen(Brushes.Indigo(), width); - } - - /** - * Purple Monster (#461B7E) - */ - public static PurpleMonster(width: number = 1): Pen { - return new Pen(Brushes.PurpleMonster(), width); - } - - /** - * Purple Haze (#4E387E) - */ - public static PurpleHaze(width: number = 1): Pen { - return new Pen(Brushes.PurpleHaze(), width); - } - - /** - * Eggplant (#614051) - */ - public static Eggplant(width: number = 1): Pen { - return new Pen(Brushes.Eggplant(), width); - } - - /** - * Grape (#5E5A80) - */ - public static Grape(width: number = 1): Pen { - return new Pen(Brushes.Grape(), width); - } - - /** - * Purple Jam (#6A287E) - */ - public static PurpleJam(width: number = 1): Pen { - return new Pen(Brushes.PurpleJam(), width); - } - - /** - * Dark Orchid (#7D1B7E) - */ - public static DarkOrchid(width: number = 1): Pen { - return new Pen(Brushes.DarkOrchid(), width); - } - - /** - * Purple Flower (#A74AC7) - */ - public static PurpleFlower(width: number = 1): Pen { - return new Pen(Brushes.PurpleFlower(), width); - } - - /** - * Medium Orchid (#B048B5) - */ - public static MediumOrchid(width: number = 1): Pen { - return new Pen(Brushes.MediumOrchid(), width); - } - - /** - * Purple Amethyst (#6C2DC7) - */ - public static PurpleAmethyst(width: number = 1): Pen { - return new Pen(Brushes.PurpleAmethyst(), width); - } - - /** - * Dark Violet (#842DCE) - */ - public static DarkViolet(width: number = 1): Pen { - return new Pen(Brushes.DarkViolet(), width); - } - - /** - * Violet (#8D38C9) - */ - public static Violet(width: number = 1): Pen { - return new Pen(Brushes.Violet(), width); - } - - /** - * Purple Sage Bush (#7A5DC7) - */ - public static PurpleSageBush(width: number = 1): Pen { - return new Pen(Brushes.PurpleSageBush(), width); - } - - /** - * Lovely Purple (#7F38EC) - */ - public static LovelyPurple(width: number = 1): Pen { - return new Pen(Brushes.LovelyPurple(), width); - } - - /** - * Purple (#8E35EF) - */ - public static Purple(width: number = 1): Pen { - return new Pen(Brushes.Purple(), width); - } - - /** - * Aztech Purple (#893BFF) - */ - public static AztechPurple(width: number = 1): Pen { - return new Pen(Brushes.AztechPurple(), width); - } - - /** - * Medium Purple (#8467D7) - */ - public static MediumPurple(width: number = 1): Pen { - return new Pen(Brushes.MediumPurple(), width); - } - - /** - * Jasmine Purple (#A23BEC) - */ - public static JasminePurple(width: number = 1): Pen { - return new Pen(Brushes.JasminePurple(), width); - } - - /** - * Purple Daffodil (#B041FF) - */ - public static PurpleDaffodil(width: number = 1): Pen { - return new Pen(Brushes.PurpleDaffodil(), width); - } - - /** - * Tyrian Purple (#C45AEC) - */ - public static TyrianPurple(width: number = 1): Pen { - return new Pen(Brushes.TyrianPurple(), width); - } - - /** - * Crocus Purple (#9172EC) - */ - public static CrocusPurple(width: number = 1): Pen { - return new Pen(Brushes.CrocusPurple(), width); - } - - /** - * Purple Mimosa (#9E7BFF) - */ - public static PurpleMimosa(width: number = 1): Pen { - return new Pen(Brushes.PurpleMimosa(), width); - } - - /** - * Heliotrope Purple (#D462FF) - */ - public static HeliotropePurple(width: number = 1): Pen { - return new Pen(Brushes.HeliotropePurple(), width); - } - - /** - * Crimson (#E238EC) - */ - public static Crimson(width: number = 1): Pen { - return new Pen(Brushes.Crimson(), width); - } - - /** - * Purple Dragon (#C38EC7) - */ - public static PurpleDragon(width: number = 1): Pen { - return new Pen(Brushes.PurpleDragon(), width); - } - - /** - * Lilac (#C8A2C8) - */ - public static Lilac(width: number = 1): Pen { - return new Pen(Brushes.Lilac(), width); - } - - /** - * Blush Pink (#E6A9EC) - */ - public static BlushPink(width: number = 1): Pen { - return new Pen(Brushes.BlushPink(), width); - } - - /** - * Mauve (#E0B0FF) - */ - public static Mauve(width: number = 1): Pen { - return new Pen(Brushes.Mauve(), width); - } - - /** - * Wisteria Purple (#C6AEC7) - */ - public static WisteriaPurple(width: number = 1): Pen { - return new Pen(Brushes.WisteriaPurple(), width); - } - - /** - * Blossom Pink (#F9B7FF) - */ - public static BlossomPink(width: number = 1): Pen { - return new Pen(Brushes.BlossomPink(), width); - } - - /** - * Thistle (#D2B9D3) - */ - public static Thistle(width: number = 1): Pen { - return new Pen(Brushes.Thistle(), width); - } - - /** - * Periwinkle (#E9CFEC) - */ - public static Periwinkle(width: number = 1): Pen { - return new Pen(Brushes.Periwinkle(), width); - } - - /** - * Lavender Pinocchio (#EBDDE2) - */ - public static LavenderPinocchio(width: number = 1): Pen { - return new Pen(Brushes.LavenderPinocchio(), width); - } - - /** - * Lavender blue (#E3E4FA) - */ - public static Lavenderblue(width: number = 1): Pen { - return new Pen(Brushes.Lavenderblue(), width); - } - - /** - * Pearl (#FDEEF4) - */ - public static Pearl(width: number = 1): Pen { - return new Pen(Brushes.Pearl(), width); - } - - /** - * SeaShell (#FFF5EE) - */ - public static SeaShell(width: number = 1): Pen { - return new Pen(Brushes.SeaShell(), width); - } - - /** - * Milk White (#FEFCFF) - */ - public static MilkWhite(width: number = 1): Pen { - return new Pen(Brushes.MilkWhite(), width); - } - - /** - * White (#FFFFFF) - */ - public static White(width: number = 1): Pen { - return new Pen(Brushes.White(), width); - } - } -} \ No newline at end of file diff --git a/viz/ts/svg/svg/SVG/SvgUtils.ts b/viz/ts/svg/svg/SVG/SvgUtils.ts deleted file mode 100644 index 56ee97c..0000000 --- a/viz/ts/svg/svg/SVG/SvgUtils.ts +++ /dev/null @@ -1,56 +0,0 @@ -module SvgUtils { - - /** - * https://stackoverflow.com/questions/5623838/rgb-to-hex-and-hex-to-rgb - * - * @param c The rgb color component numeric value - */ - export function componentToHex(c): string { - var hex = c.toString(16); - return hex.length == 1 ? "0" + hex : hex; - } - - /** - * https://stackoverflow.com/questions/20539196/creating-svg-elements-dynamically-with-javascript-inside-html - * - * @param n The svg node name - * @param v The svg node attributes - * - * @description - * - * ### HTML 5, inline SVG, and namespace awareness for SVG DOM - * > https://stackoverflow.com/questions/23319537/html-5-inline-svg-and-namespace-awareness-for-svg-dom - * - * HTML5 defines ``HTML``, ``XHTML`` and the ``DOM``. - * The ``DOM`` is namespace aware. When you use ``DOM`` methods you must take into account which namespace - * each element is in, but the default is the ``HTML`` (http://www.w3.org/1999/xhtml) namespace. - * ``HTML`` and ``XHTML`` are serializations that are converted into ``DOMs`` by parsing. - * ``XHTML`` is namespace aware and ``XHTML`` documents apply namespaces according to the rules of ``XML``, - * so all namespaces must be assigned to each element explicitly. ``XHTML`` is converted to a ``DOM`` using - * an ``XML`` parser. - * - * ``HTML`` is also namespace aware, but namespaces are assigned implicitly. HTML is converted to a DOM using - * an HTML parser, which knows which elements go in which namespace. That is, it knows that
goes - * in the http://www.w3.org/1999/xhtml namespace and that goes in the http://www.w3.org/2000/svg - * namespace. Elements like - - - - -
- - - - - \ No newline at end of file diff --git a/viz/ts/svg/thinkChart/Chart.ts b/viz/ts/svg/thinkChart/Chart.ts deleted file mode 100644 index ceba938..0000000 --- a/viz/ts/svg/thinkChart/Chart.ts +++ /dev/null @@ -1,14 +0,0 @@ -/// - -namespace Chart { - - /** - * 得到浏览器的窗口大小 - */ - export function windowSize(): Canvas.Size { - return new Canvas.Size( - window.innerWidth, - window.innerHeight - ); - } -} \ No newline at end of file diff --git a/viz/ts/svg/thinkChart/Math/AxisTicks.ts b/viz/ts/svg/thinkChart/Math/AxisTicks.ts deleted file mode 100644 index 790cd82..0000000 --- a/viz/ts/svg/thinkChart/Math/AxisTicks.ts +++ /dev/null @@ -1,145 +0,0 @@ -/// - -namespace Math2D { - - /** - * ##### An Algorithm for Creating and Selecting Graph Axes - * - * > http://austinclemens.com/blog/2016/01/09/an-algorithm-for-creating-a-graphs-axes/ - */ - export function NiceAxisTicks(min: number, max: number, nTicks: number = 10, decimalDigits: number = 2): number[] { - - // First, get the minimum and maximum of the series, toggle the zero_flag variable - // if 0 Is between Then the min And max, And Get the range Of the data. - var zeroFlag: boolean = false; - var range: number = max - min; - var inputRange = new data.NumericRange(min, max); - - if ((min == max) && (min + max != 0)) { - return [0, max]; - } - - if (range == 0) { - return []; - } - - if (min <= 0 && max >= 0) { - zeroFlag = true; - } - - // Next, define ‘nice’ numbers. You could change this if you’d like to include other - // possibilities, but I decided I would allow counting by - // 1s, 2s, 5s, 10s, 15s, 25s, and 75s. This will make a bit more sense below. - var niceTicks: number[] = [0.1, 0.2, 0.5, 1, 0.15, 0.25, 0.75]; - - // This next part is a bit of path dependence – I had an algorithm where the number of - // ticks was more central and I kept that framework but I probably wouldn’t do it this - // way again. I get a naive value for the distance between ticks and determine the place - // value of this distance. - var steps: number = range / (nTicks - 1); - var rounded: number; - var digits: number; - - if (steps >= 1) { - rounded = Math.round(steps); - digits = rounded.toString().length; - } else { - var places = steps.toString().split(".")[1]; - var firstPlace: number = 0; - - for (var i: number = 0; i < places.length; i++) { - if (places[i] != "0" && firstPlace == 0) { - firstPlace = i; - break; - } - } - - digits = -firstPlace - } - - // Now using the value of digits (the place value of steps), generate a list of candidate steps. - // These are just the values from nice_steps above multiplied by powers of 10 according to the - // place value of digits. Because computation doesn’t matter to me, - // I check 10^place value+1, 10^place value, and 10^place value-1. Most of these candidate step - // lengths will be terrible but it doesn’t matter – they will get weeded out in the next step. - // If our initial step length was 13, candidate steps will be generated by taking 1, 10 and 100 * all values - // of nice_ticks. So 13 would result in candidate steps: - // [.1,.2,.5,1,.15,.25,.75,1,2,5,10,2.5,2.5,7.5,20,50,100,15,25,75] - var candidateSteps = new List(); - - for (var i: number = 0; i < niceTicks.length; i++) { - candidateSteps.Add(niceTicks[i] * Math.pow(10, digits)); - candidateSteps.Add(niceTicks[i] * Math.pow(10, digits - 1)); - candidateSteps.Add(niceTicks[i] * Math.pow(10, digits + 1)); - } - - var minSteps: number; - var stepArray = new List(); - var candidateArray = new List>(); - - // Loop through candidate steps and generate an axis based on each step length. - for (var i: number = 0; i < candidateSteps.Count; i++) { - steps = candidateSteps[i]; - - // starting value depends on whether Or Not 0 Is in the array - if (zeroFlag) { - minSteps = Math.ceil(Math.abs(min) / steps); - stepArray = new List([- minSteps * steps]); - } else { - stepArray = new List([Math.floor(min / steps) * steps]); - } - - var stepnum = 1; - - while (stepArray[stepArray.Count - 1] < max) { - stepArray.Add((stepArray[0] + steps * stepnum)); - stepnum += 1; - } - - // this arbitrarily enforces step_arrays of length between 4 And 10 - - // 2017-9-12 假若在这里直接使用个数来限制最终的结果的话,很可能会出现candidateArray为空的情况 - // 所以为了避免出现这个问题,在这里就不进行限制了,直接添加结果到候选的数据集之中 - // If (stepArray.Count < 11 AndAlso stepArray.Count > 4) Then - - // All that remains is to score all the candidate arrays. - // I’m not going to include my scorer, because there are a - // lot of arbitrary choices involved, but basically I look at - // how much space each array wastes compared to the data use - // that as a starting value. Each array gets the score 10^percent - // wasted space – then I further penalize the array for large - // values of ticks, tick values that I don’t like as much - // (.15 for example, is great in certain cases, but probably - // shouldn’t be liked as much by the function as .1). - // The array with the lowest score ‘wins’. - candidateArray.Add(stepArray); - // End If - } - - // 通过分别计算ticks的数量差值,是否容纳了输入的[min,max]范围来判断是否合适 - var maxSteps = new MathV.Vector(candidateArray.Max(candidate => candidate.Count)); - var dSteps: MathV.Vector = maxSteps.Subtract(candidateArray.Select(candidate => Math.abs(candidate.Count - nTicks))); - var dMin: MathV.Vector = MathV.Subtract(inputRange.Length, candidateArray.Select(candidate => Math.abs(candidate.Min() - inputRange.min))); - var dMax: MathV.Vector = MathV.Subtract(inputRange.Length, candidateArray.Select(candidate => Math.abs(candidate.Max() - inputRange.max))); - - dSteps = dSteps.Divide(dSteps.Max()); - dMin = dMin.Divide(dMin.Max()); - dMax = dMax.Divide(dMax.Max()); - - var scores = (dSteps.Multiply(0.8)) - .Add(dMin.Multiply(0.1)) - .Add(dMax.Multiply(0.1)); - var ticks: number[] = candidateArray[Which.Max(scores)]; - - // 2018-2-1 - // 如果数值是 1E-10 这样子的小数的话,在这里直接使用Round或导致返回的ticks全部都是零的bugs - // 在这里加个开关,如果小于零就不在进行round了 - if (decimalDigits >= 0) { - for (var i: number = 0; i < ticks.length; i++) { - ticks[i] = parseFloat(ticks[i].toFixed(decimalDigits)); - } - } - - return ticks; - } -} \ No newline at end of file diff --git a/viz/ts/svg/thinkChart/Math/Geometry.ts b/viz/ts/svg/thinkChart/Math/Geometry.ts deleted file mode 100644 index 46b9cee..0000000 --- a/viz/ts/svg/thinkChart/Math/Geometry.ts +++ /dev/null @@ -1,26 +0,0 @@ -namespace Math2D.Geometry { - - /** - * returns true if two lines intersect, else false - * from http://paulbourke.net/geometry/lineline2d/ - */ - export function intersect(x1: number, x2: number, x3: number, x4: number, - y1: number, y2: number, y3: number, y4: number): boolean { - - var mua, mub; - var denom, numera, numerb; - - denom = (y4 - y3) * (x2 - x1) - (x4 - x3) * (y2 - y1); - numera = (x4 - x3) * (y1 - y3) - (y4 - y3) * (x1 - x3); - numerb = (x2 - x1) * (y1 - y3) - (y2 - y1) * (x1 - x3); - - /* Is the intersection along the the segments */ - mua = numera / denom; - mub = numerb / denom; - if (!(mua < 0 || mua > 1 || mub < 0 || mub > 1)) { - return true; - } else { - return false; - } - } -} \ No newline at end of file diff --git a/viz/ts/svg/thinkChart/Math/Layout/Anchor.ts b/viz/ts/svg/thinkChart/Math/Layout/Anchor.ts deleted file mode 100644 index c5e872d..0000000 --- a/viz/ts/svg/thinkChart/Math/Layout/Anchor.ts +++ /dev/null @@ -1,16 +0,0 @@ -namespace Layout { - - export class Anchor extends Canvas.Point { - - /** - * Radius - */ - public r: number; - - public constructor(x: number, y: number, radius: number) { - super(x, y); - - this.r = radius; - } - } -} \ No newline at end of file diff --git a/viz/ts/svg/thinkChart/Math/Layout/Label.ts b/viz/ts/svg/thinkChart/Math/Layout/Label.ts deleted file mode 100644 index e91df48..0000000 --- a/viz/ts/svg/thinkChart/Math/Layout/Label.ts +++ /dev/null @@ -1,27 +0,0 @@ -/// - -namespace Layout { - - export class Label extends Canvas.Rectangle { - - public text: string; - - public get x(): number { - return this.left; - } - - public get y(): number { - return this.top; - } - - public constructor(geo2D: Canvas.Rectangle, label: string) { - super(geo2D.left, geo2D.top, geo2D.width, geo2D.height); - - this.text = label; - } - - public toString() { - return this.text; - } - } -} \ No newline at end of file diff --git a/viz/ts/svg/thinkChart/Math/Layout/Labeler.ts b/viz/ts/svg/thinkChart/Math/Layout/Labeler.ts deleted file mode 100644 index 4761da0..0000000 --- a/viz/ts/svg/thinkChart/Math/Layout/Labeler.ts +++ /dev/null @@ -1,178 +0,0 @@ -namespace Layout { - - export class Labeler { - - public lab: Label[] = []; - public anc: Anchor[] = []; - - //#region "box size" - - /** - * box width - */ - private w: number = 1; - /** - * box height - */ - private h: number = 1; - - //#endregion - - //#region "" - private weights: Weights; - - public readonly energy_function: (index: number, lab: Label[], anc: Anchor[]) => number; - public readonly schedule_function: (currT: number, initialT: number, nsweeps: number) => number; - //#endregion - - public constructor( - weights: Weights = new Weights(), - energy: (index: number, lab: Label[], anc: Anchor[]) => number = null, - schedule: (currT: number, initialT: number, nsweeps: number) => number = Labeler.cooling_schedule) { - - this.energy_function = energy == null ? this.energy : energy; - this.schedule_function = schedule; - this.weights = weights; - } - - /** - * linear cooling - */ - private static cooling_schedule(currT: number, initialT: number, nsweeps: number): number { - return (currT - (initialT / nsweeps)); - } - - /** - * energy function, tailored for label placement - */ - private energy(index: number): number { - var lab = this.lab; - var anc = this.anc; - var w = this.weights; - var m = lab.length, - ener = 0, - dx = lab[index].left - anc[index].x, - dy = anc[index].y - lab[index].top, - dist = Math.sqrt(dx * dx + dy * dy), - overlap = true, - amount = 0; - var theta = 0; - - // penalty for length of leader line - if (dist > 0) ener += dist * w.len; - - // label orientation bias - dx /= dist; - dy /= dist; - - if (dx > 0 && dy > 0) { - ener += 0 * w.orient; - } else if (dx < 0 && dy > 0) { - ener += 1 * w.orient; - } else if (dx < 0 && dy < 0) { - ener += 2 * w.orient; - } else { - ener += 3 * w.orient; - } - - var x21 = lab[index].left, - y21 = lab[index].top - lab[index].height + 2.0, - x22 = lab[index].left + lab[index].width, - y22 = lab[index].top + 2.0; - var x11, x12, y11, y12, x_overlap, y_overlap, overlap_area; - - for (var i = 0; i < m; i++) { - if (i != index) { - - // penalty for intersection of leader lines - overlap = Math2D.Geometry.intersect( - anc[index].x, lab[index].left, anc[i].x, lab[i].left, - anc[index].y, lab[index].top, anc[i].y, lab[i].top - ); - if (overlap) ener += w.inter; - - // penalty for label-label overlap - x11 = lab[i].left; - y11 = lab[i].top - lab[i].height + 2.0; - x12 = lab[i].left + lab[i].width; - y12 = lab[i].top + 2.0; - x_overlap = Math.max(0, Math.min(x12, x22) - Math.max(x11, x21)); - y_overlap = Math.max(0, Math.min(y12, y22) - Math.max(y11, y21)); - overlap_area = x_overlap * y_overlap; - ener += (overlap_area * w.lab2); - } - - // penalty for label-anchor overlap - x11 = anc[i].x - anc[i].r; - y11 = anc[i].y - anc[i].r; - x12 = anc[i].x + anc[i].r; - y12 = anc[i].y + anc[i].r; - x_overlap = Math.max(0, Math.min(x12, x22) - Math.max(x11, x21)); - y_overlap = Math.max(0, Math.min(y12, y22) - Math.max(y11, y21)); - overlap_area = x_overlap * y_overlap; - ener += (overlap_area * w.lab_anc); - } - - return ener; - } - - //#region "public interface" - - /** - * main simulated annealing function - */ - public start(nsweeps: number): Labeler { - var m: number = this.lab.length, - currT = 1.0, - initialT = 1.0; - var monteCarlo = new MonteCarlo(this.w, this.h, this); - - for (var i = 0; i < nsweeps; i++) { - for (var j = 0; j < m; j++) { - if (Math.random() < 0.5) { - monteCarlo.Move(currT); - } else { - monteCarlo.Rotate(currT); - } - } - currT = this.schedule_function(currT, initialT, nsweeps); - } - - return this; - } - - /** - * users insert graph width - */ - public width(x: number): Labeler { - this.w = x; - return this; - } - - /** - * users insert graph height - */ - public height(x: number): Labeler { - this.h = x; - return this; - } - - /** - * users insert label positions - */ - public label(x: Label[]): Labeler { - this.lab = x; - return this; - } - - /** - * users insert anchor positions - */ - public anchor(x: Anchor[]): Labeler { - this.anc = x; - return this; - } - - //#endregion - } -} \ No newline at end of file diff --git a/viz/ts/svg/thinkChart/Math/Layout/MonteCarlo.ts b/viz/ts/svg/thinkChart/Math/Layout/MonteCarlo.ts deleted file mode 100644 index 98bedcd..0000000 --- a/viz/ts/svg/thinkChart/Math/Layout/MonteCarlo.ts +++ /dev/null @@ -1,125 +0,0 @@ -namespace Layout { - - /** - * 极性退火布局的蒙特卡洛计算模块 - */ - export class MonteCarlo { - - public labeler: Labeler; - - public max_move: number = 5.0; - public max_angle: number = 0.5; - public acc: number = 0; - public rej: number = 0; - - private w: number; - private h: number; - - public constructor(width: number, height: number, labeler: Labeler) { - this.w = width; - this.h = height; - this.labeler = labeler; - } - - /** - * Monte Carlo translation move - */ - public Move(currT: number) { - var lab = this.labeler.lab; - var anc = this.labeler.anc; - - // select a random label - var i = Math.floor(Math.random() * lab.length); - - // save old coordinates - var x_old = lab[i].left; - var y_old = lab[i].top; - - // old energy - var old_energy = this.labeler.energy_function(i, lab, anc); - - // random translation - lab[i].left += (Math.random() - 0.5) * this.max_move; - lab[i].top += (Math.random() - 0.5) * this.max_move; - - // hard wall boundaries - if (lab[i].left > this.w) lab[i].left = x_old; - if (lab[i].left < 0) lab[i].left = x_old; - if (lab[i].top > this.h) lab[i].top = y_old; - if (lab[i].top < 0) lab[i].top = y_old; - - // new energy - var new_energy = this.labeler.energy_function(i, lab, anc); - - // delta E - var delta_energy = new_energy - old_energy; - - if (Math.random() < Math.exp(-delta_energy / currT)) { - this.acc += 1; - } else { - // move back to old coordinates - lab[i].left = x_old; - lab[i].top = y_old; - this.rej += 1; - } - } - - /** - * Monte Carlo rotation move - */ - public Rotate(currT: number) { - var lab = this.labeler.lab; - var anc = this.labeler.anc; - - // select a random label - var i = Math.floor(Math.random() * lab.length); - - // save old coordinates - var x_old = lab[i].left; - var y_old = lab[i].top; - - // old energy - var old_energy = this.labeler.energy_function(i, lab, anc); - - // random angle - var angle = (Math.random() - 0.5) * this.max_angle; - - var s = Math.sin(angle); - var c = Math.cos(angle); - - // translate label (relative to anchor at origin): - lab[i].left -= anc[i].x - lab[i].top -= anc[i].y - - // rotate label - var x_new = lab[i].left * c - lab[i].top * s, - y_new = lab[i].left * s + lab[i].top * c; - - // translate label back - lab[i].left = x_new + anc[i].x - lab[i].top = y_new + anc[i].y - - // hard wall boundaries - if (lab[i].left > this.w) lab[i].left = x_old; - if (lab[i].left < 0) lab[i].left = x_old; - if (lab[i].top > this.h) lab[i].top = y_old; - if (lab[i].top < 0) lab[i].top = y_old; - - // new energy - var new_energy = this.labeler.energy_function(i, lab, anc) - - // delta E - var delta_energy = new_energy - old_energy; - - if (Math.random() < Math.exp(-delta_energy / currT)) { - this.acc += 1; - } else { - // move back to old coordinates - lab[i].left = x_old; - lab[i].top = y_old; - - this.rej += 1; - } - } - } -} \ No newline at end of file diff --git a/viz/ts/svg/thinkChart/Math/Layout/Weights.ts b/viz/ts/svg/thinkChart/Math/Layout/Weights.ts deleted file mode 100644 index 668326d..0000000 --- a/viz/ts/svg/thinkChart/Math/Layout/Weights.ts +++ /dev/null @@ -1,30 +0,0 @@ -namespace Layout { - - export class Weights { - - /** - * leader line length - */ - public len: number = 0.2; - /** - * label-label overlap - */ - public inter: number = 1.0; - /** - * label-label overlap - */ - public lab2: number = 30.0; - /** - * label-anchor overlap - */ - public lab_anc: number = 30.0; - /** - * orientation bias - */ - public orient: number = 3.0; - - public toString(): string { - return JSON.stringify(this); - } - } -} \ No newline at end of file diff --git a/viz/ts/svg/thinkChart/Math/MathV.ts b/viz/ts/svg/thinkChart/Math/MathV.ts deleted file mode 100644 index 310e9dc..0000000 --- a/viz/ts/svg/thinkChart/Math/MathV.ts +++ /dev/null @@ -1,81 +0,0 @@ -namespace MathV { - - export function Add(x: number | IEnumerator, y: number | IEnumerator): Vector { - return mathInternal(x, y, (x, y) => x + y); - } - - export function Subtract(x: number | IEnumerator, y: number | IEnumerator): Vector { - return mathInternal(x, y, (x, y) => x - y); - } - - function mathInternal(x: number | IEnumerator, y: number | IEnumerator, op: (x: number, y: number) => number): Vector { - var typeofX = TypeInfo.typeof(x); - var typeofY = TypeInfo.typeof(y); - - if (typeofX.typeOf == "number") { - x = x; - - if (typeofY.typeOf == "number") { - return new Vector([op(x, y)]); - } else if (typeofY.IsEnumerator || typeofY.class == "Vector") { - return XNumberYVector(x, >y, op); - } else { - throw `typeof y = '${typeofX.class}' is not supported!`; - } - - } else if (typeofX.IsEnumerator) { - return XVectorMath(>x, y, op); - } else { - throw `typeof x = '${typeofX.class}' is not supported!`; - } - } - - function XNumberYVector(x: number, y: IEnumerator, op: (x: number, y: number) => number): Vector { - var vy: number[] = y.ToArray(); - - for (var i: number = 0; i < y.Count; i++) { - vy[i] = op(x, vy[i]); - } - - return new Vector(vy); - } - - /** - * 向量运算实现的通用过程: ``this op x`` - * - * @param x 任意实数或者一个与当前向量等长的实数序列 - * - * @returns 一个新的向量对象 - */ - export function XVectorMath( - x: IEnumerator, - y: number | IEnumerator, - op: (x: number, y: number) => number): Vector { - - var type = TypeInfo.typeof(y); - var out: number[] = []; - var vx: number[] = x.ToArray(); - - if (type.typeOf == "number") { - y = y; - - for (var i: number = 0; i < this.Count; i++) { - out.push(op(vx[i], y)); - } - } else if (type.IsEnumerator || type.class == "Vector") { - var vy = (>y).ToArray(); - - if (x.Count != vy.length) { - throw `Two sequence length not agree [x=${x.Count}, y=${vy.length}]!`; - } - - for (var i: number = 0; i < this.Count; i++) { - out.push(op(vx[i], vy[i])); - } - } else { - throw `Unsupported type: '${type.class}'!`; - } - - return new Vector(out); - } -} \ No newline at end of file diff --git a/viz/ts/svg/thinkChart/Math/Vector.ts b/viz/ts/svg/thinkChart/Math/Vector.ts deleted file mode 100644 index e679f52..0000000 --- a/viz/ts/svg/thinkChart/Math/Vector.ts +++ /dev/null @@ -1,58 +0,0 @@ -/// - -namespace MathV { - - export class Vector extends IEnumerator { - - public get Dim(): number { - return this.sequence.length; - } - - public constructor(x: number[] | IEnumerator) { - super(x); - } - - public static Zero(dim: number): Vector { - return this.New(0, dim); - } - - public static One(dim: number): Vector { - return this.Zero(dim).Add(1); - } - - public static New(n: number, dim: number): Vector { - var x: number[] = []; - - for (var i: number = 0; i < dim; i++) { - x.push(n); - } - - return new Vector(x); - } - - /** - * 符号取反 - */ - public Negative(): Vector { - // 0 - x - // 零是在左边的,所以在这里是 y - x - return XVectorMath(this, 0, (y, x) => x - y); - } - - public Add(x: number | IEnumerator | Vector): Vector { - return XVectorMath(this, x, (x, y) => x + y); - } - - public Multiply(x: number | IEnumerator | Vector): Vector { - return XVectorMath(this, x, (x, y) => x * y); - } - - public Subtract(x: number | IEnumerator | Vector): Vector { - return XVectorMath(this, x, (x, y) => x - y); - } - - public Divide(x: number | IEnumerator | Vector): Vector { - return XVectorMath(this, x, (x, y) => x / y); - } - } -} \ No newline at end of file diff --git a/viz/ts/svg/thinkChart/README.md b/viz/ts/svg/thinkChart/README.md deleted file mode 100644 index f1d8f86..0000000 --- a/viz/ts/svg/thinkChart/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# thinkChart - -Chartting tools with ``svg`` or ``three.js`` api for 3D chartting plot. diff --git a/viz/ts/svg/thinkChart/package-lock.json b/viz/ts/svg/thinkChart/package-lock.json deleted file mode 100644 index f855608..0000000 --- a/viz/ts/svg/thinkChart/package-lock.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "name": "think-chart", - "version": "0.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@types/node": { - "version": "6.0.106", - "resolved": "https://registry.npmjs.org/@types/node/-/node-6.0.106.tgz", - "integrity": "sha512-U4Zv5fx7letrisRv6HgSSPSY00FZM4NMIkilt+IAExvQLuNa6jYVwCKcnSs2NqTN4+KDl9PskvcCiMce9iePCA==", - "dev": true - } - } -} diff --git a/viz/ts/svg/thinkChart/package.json b/viz/ts/svg/thinkChart/package.json deleted file mode 100644 index e79ffc7..0000000 --- a/viz/ts/svg/thinkChart/package.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "name": "think-chart", - "version": "0.0.0", - "description": "thinkChart", - "main": "app.js", - "author": { - "name": "Evia" - }, - "devDependencies": { - "@types/node": "^6.0.87" - } -} diff --git a/viz/ts/svg/thinkChart/thinkChart.njsproj b/viz/ts/svg/thinkChart/thinkChart.njsproj deleted file mode 100644 index 19b8a06..0000000 --- a/viz/ts/svg/thinkChart/thinkChart.njsproj +++ /dev/null @@ -1,120 +0,0 @@ - - - - 14.0 - $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) - thinkChart - thinkChart - Debug|Any CPU - True - 2.8 - - - - Debug - 2.0 - f3c0f5ab-b554-4ef8-9df0-482240fe020d - . - Chart.ts - True - - - . - . - v4.0 - {3AF33F2E-1136-4D97-BBB7-1795711AC8B8};{349c5851-65df-11da-9384-00065b846f21};{9092AA53-FB77-4645-B42D-1CCCA6BD08BD} - 1337 - true - CommonJS - 2.9 - true - True - - - true - - - true - - - - - - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - - - - - - - - - - - - - - - False - True - 0 - / - http://localhost:48022/ - False - True - http://localhost:1337 - False - - - - - - - CurrentPage - True - False - False - False - - - - - - - - - False - False - - - - - \ No newline at end of file diff --git a/viz/ts/svg/thinkChart/tsconfig.json b/viz/ts/svg/thinkChart/tsconfig.json deleted file mode 100644 index 81e62b3..0000000 --- a/viz/ts/svg/thinkChart/tsconfig.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "compilerOptions": { - "module": "amd", - "target": "es5", - "lib": [ "dom", "es5", "dom.iterable", "scripthost" ], - "sourceMap": true, - "allowSyntheticDefaultImports": true, - "outDir": "obj", - "outFile": "bin/ThinkChart.js", - "declaration": true - }, - "exclude": [ - "node_modules" - ] -} diff --git a/viz/ts/viewer/README.md b/viz/ts/viewer/README.md deleted file mode 100644 index 9b56a8e..0000000 --- a/viz/ts/viewer/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# viewer - -视图模块主要是构建遗传算法框架的内部数据视图的可视化,主要展示内容: - -+ 染色体内容:参数的构成(d3.js),通过将参数向量计算为一个特征值,然后通过特征值映射为相对应的颜色来作为染色体的可视化的结果 -+ 最优参数组 -+ fitness随着迭代次数的变化曲线(highcharts.js) diff --git a/viz/ts/viewer/package.json b/viz/ts/viewer/package.json deleted file mode 100644 index 55fb4d6..0000000 --- a/viz/ts/viewer/package.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "name": "viewer", - "version": "0.0.0", - "description": "viewer", - "main": "app.js", - "author": { - "name": "Administrator" - }, - "devDependencies": { - "@types/node": "^6.0.87" - } -} diff --git a/viz/ts/viewer/server.ts b/viz/ts/viewer/server.ts deleted file mode 100644 index 73b44e1..0000000 --- a/viz/ts/viewer/server.ts +++ /dev/null @@ -1,6 +0,0 @@ -import http = require('http'); -var port = process.env.port || 1337 -http.createServer(function (req, res) { - res.writeHead(200, { 'Content-Type': 'text/plain' }); - res.end('Hello World\n'); -}).listen(port); \ No newline at end of file diff --git a/viz/ts/viewer/tsconfig.json b/viz/ts/viewer/tsconfig.json deleted file mode 100644 index 41f7375..0000000 --- a/viz/ts/viewer/tsconfig.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "target": "es5", - "lib": ["es5"], - "sourceMap": true - }, - "exclude": [ - "node_modules" - ] -} diff --git a/viz/ts/viewer/viewer.njsproj b/viz/ts/viewer/viewer.njsproj deleted file mode 100644 index 8a43b97..0000000 --- a/viz/ts/viewer/viewer.njsproj +++ /dev/null @@ -1,83 +0,0 @@ - - - - 14.0 - $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) - viewer - viewer - - - - Debug - 2.0 - 7ef0fc0d-35a4-453a-9cfd-4cd193e20bd0 - . - server.ts - True - - - . - . - v4.0 - {3AF33F2E-1136-4D97-BBB7-1795711AC8B8};{349c5851-65df-11da-9384-00065b846f21};{9092AA53-FB77-4645-B42D-1CCCA6BD08BD} - 1337 - true - CommonJS - 2.5 - true - true - - - true - - - true - - - - - - - - - - - - - - - False - True - 0 - / - http://localhost:48022/ - False - True - http://localhost:1337 - False - - - - - - - CurrentPage - True - False - False - False - - - - - - - - - False - False - - - - - \ No newline at end of file