Jmol är en öppen källkod, plattform och gratis grafisk programvara som ursprungligen är utformad för att fungera som molekylärvisare för 3D-kemiska strukturer. Den körs i fyra fristående lägen, som en HTML5-webapp, ett Java-program, en Java-applet och en "huvudlös" server-sida-komponent.
Feaures en överblick
Viktiga funktioner inkluderar högpresterande 3D-renderingstjänster utan att behöva ha avancerade hårdvara, exportera filer till JPG, PNG, GIF, PDF, WRL, OBJ och POV-Ray-format, stöder grundläggande enhetceller, stödjer RasMol och Chime skriptspråk, såväl som JavaScript-biblioteket.
Dessutom stöder mjukvaran animeringar, ytor, vibrationer, orbitaler, mätningar, symmetri och enhetcellsoperationer och schematiska former.
Stödda filformat
För närvarande stöder programmet ett brett utbud av filformat, bland annat kan vi nämna MOL MDL, V3000 MDL, SDF MDL, CTFile MDL, CIF, mmCIF, CML, PDB, XYZ, XYZ + vib, XYZ-FAH, MOL2, CSF, GAMESS, Gauss, MM1GP, HIN HIN / HIV, MOLPRO och MOPAC.
Dessutom stöds CASTEP, FHI, VASP, ADF, XSD, AGL, DFT, AMPAC, WebMO, PSI3, CRYSTAL, MGF, NWCHEM, odydata, xodydata, QOUT, SHELX, SMOL, GRO, PQR och JME. .
Stödjer alla större webbläsare
Programvaran har testats med alla större webbläsare, inklusive Mozilla Firefox, Google Chrome, Internet Explorer, Opera och Safari. De ovannämnda webbläsarapparna har testats på alla vanliga operativsystem (se nästa avsnitt för support-operativsystem).
Stödjer alla vanliga operativsystem
Skrivet i Java-programmeringsspråket är Jmol en plattformsoberoende applikation som är utformad för att stödja alla GNU / Linux-distributioner, operativsystemen Microsoft Windows och Mac OS X och alla andra operativsystem där Java Runtime Environment är installerat.
Vad är nytt i den här utgåvan:
- buggfix: Jmol SMILES tillåter inte sökkodsökning - lägger till & quot; ^ & quot; för inmatningskod: [G # 129 ^ A. *]
Vad är nytt i version:
- buggfix: Jmol SMILES tillåter inte sökningskodsökning - - lägger till "^" för inmatningskod: [G # 129 ^ A. *]
Vad är nytt i version 14.20.3:
- buggfix: Jmol SMILES tillåter inte infogning- kodsökning - lägger till "^" för inmatningskod: [G # 129 ^ A. *]
Vad är nytt i version 14.6.5:
- buggfix: Jmol SMILES tillåter inte sökning i sökord - lägger till "^" för inmatningskod: [G # 129 ^ A. *]
Vad är nytt i version 14.6.1:
- buggfix: Jmol SMILES tillåter inte införande- kodsökning - lägger till "^" för inmatningskod: [G # 129 ^ A. *]
Vad är nytt i version 14.4.4 Bygg 2016.04.22:
- bugfix: ej justerat för tillsatta väten
- buggfix: 14.3.3_2014.08.02 bröt mmCIF-läsare
- bugfix: BinaryDocument (Spartan-fil) läsning bruten i 14.1.12_2014.03.18
Vad är nytt i version 14.4.4 Bygg 2016.04.14:
- buggfix: ej justerat för tillsatta väten
- buggfix: 14.3.3_2014.08.02 bröt mmCIF-läsare
- bugfix: BinaryDocument (Spartan-fil) läsning bruten i 14.1.12_2014.03.18
Vad är nytt i version 14.4.4 Bygg 2016.03.31:
- bugfix: ej justerat för tillsatta väten
- buggfix: 14.3.3_2014.08.02 bröt mmCIF-läsare
- bugfix: BinaryDocument (Spartan-fil) läsning bruten i 14.1.12_2014.03.18
Vad är nytt i version 14.4.3 Bygg 2016.03.02:
- buggfix: Annotationsatomsatser inte justerade för tillsatta vätskor
- buggfix: 14.3.3_2014.08.02 bröt mmCIF-läsare
- bugfix: BinaryDocument (Spartan-fil) läsning bruten i 14.1.12_2014.03.18
Vad är nytt i version 14.4.3 Bygg 2016.02.28:
- bugfix: ej justerat för tillsatta väten
- buggfix: 14.3.3_2014.08.02 bröt mmCIF-läsare
- bugfix: BinaryDocument (Spartan-fil) läsning bruten i 14.1.12_2014.03.18
Vad är nytt i version 14.4.2 Bygg 2016.02.05:
- bugfix: ej justerat för tillsatta väten
- buggfix: 14.3.3_2014.08.02 bröt mmCIF-läsare
- bugfix: BinaryDocument (Spartan-fil) läsning bruten i 14.1.12_2014.03.18
Vad är nytt i version 14.4.0 Bygg 2015.12.02:
- buggfix: ej justerat för tillsatta väten
- buggfix: 14.3.3_2014.08.02 bröt mmCIF-läsare
- bugfix: BinaryDocument (Spartan-fil) läsning bruten i 14.1.12_2014.03.18
Vad är nytt i version 14.2.15:
- buggfix: annotationsatomsatser inte justerade för tillsatta vätskor
- buggfix: 14.3.3_2014.08.02 bröt mmCIF-läsare
- bugfix: BinaryDocument (Spartan-fil) läsning bruten i 14.1.12_2014.03.18
Vad är nytt i version 14.2.13:
- buggfix: väten
- buggfix: 14.3.3_2014.08.02 bröt mmCIF-läsare
- bugfix: BinaryDocument (Spartan-fil) läsning bruten i 14.1.12_2014.03.18
Vad är nytt i version 14.2.12:
- buggfix: väten
- buggfix: 14.3.3_2014.08.02 bröt mmCIF-läsare
- bugfix: BinaryDocument (Spartan-fil) läsning bruten i 14.1.12_2014.03.18
Vad är nytt i version 14.1.8 Beta:
- ny funktion - set cartoonRibose:
- ritar ribosringar med facetter som visar puckering
- Ansluts via C4'-C5'-O5'-P explicit
- visar C3'-O3 'som referens.
- inaktiverar cartoonBaseEdges (Leontis-Westhof-kanterna)
- Inaktiverad av SET cartoonBaseEdges ON
- föreslagen av Rick Spinney, Ohio State
- ny funktion: animram [a, b, c, d] fungerar med negativa tal för att indikera intervaller:
- animram [1, -5, 10, -6] -> [1,2,3,4,5,10,9,8,7,6]
- läs som "1 till 5 och sedan 10 till 6"
- Ny funktion: Tinker-filläsare (och FoldingXYZ-läsareuppgradering):
- Kan använda Tinker :: men det krävs bara om första raden är JUST en atomCount
- rymmer äldre Tinker-format med n-1 atomer för atomCount
- tillåter banor och önskat modellnummer
- ny funktion: (faktiskt 13,1 men utan dokumentation) animationsram [51 50 49 48 47 46 45 (etc) 27 1 2 3 4 5 6 7 (etc) ....]
- Ny funktion: x = jämför ({atomset1}, {atomset2}, "MAP")
- ny funktion: x = jämför ({atomset1}, {atomset2}, "MAP", "all")
- Ny funktion: x = jämför ({atomset1}, {atomset2}, "MAP", "bäst")
- Ny funktion: x = jämför ({atomset1}, {atomset2}, "MAP", "H")
- Ny funktion: x = jämför ({atomset1}, {atomset2}, "MAP", "allH")
- ny funktion - x = jämför ({atomset1}, {atomset2}, "MAP", "bestH"):
- genererar en eller flera korrelationslistor baserade på icke-aromatiska smilar
- innehåller eventuellt H-atomer
- genererar eventuellt alla möjliga atommappningar
- returnerar int [] [] = [[a1 b1], [a2 b2], [a3 b3], ...]
- där an och bn är heltalskomponenter eller lista när "alla" alternativet är valt.
- Följande kommer att generera en atomkorrelationskarta för två strukturer inklusive väteatomer: ladda filer "a.mol" & Quot; b.mol & quot; x = jämför ({1.1} {2.1} "MAP" "H")
- Följande jämför modellen av koffein från NCI till det från PubChem:
- ladda $ koffein; ladda append: koffein; ram *
- välj 2,1; etikett% [atomIndex]
- jämföra {1.1} {2.1} SMILES rotera översätt
- x = jämför ({1.1}, {2.1}, "MAP" "bestH")
- för (a i x) {a1 = a [1]; a2 = a [2]; välj atomindex = a1; etikett @ a2}
- Ny funktion: Jämför {model1} {model2} SMILES:
- Inget behov av att ge SMILES; Jmol kan generera den från {model1}
- ny funktion: x = {*}. hitta ("SMILES", "H"):
- genererar SMILES med explicit H-atomer
- buggfix: substructure () funktionen använder SMILES istället för SMARTS, så bara fullständiga strukturer;
- buggfix: bättre felinfångning och meddelanden i SMILES-relaterade metoder
- bugfix: gör webexport-upptäckten av sökvägen till Jmol.jar och jsmol.zip mer robust.
- buggfix: getProperty extractModel inte hedra delmängd
- buggfix: set pdbGetHeader TRUE tar inte upp ANMÄRKNING3 ANMÄRKNING290 ANMÄRKNING350
- buggfix: getProperty ("JSON", ....) ska sätta in värdet i {value: ...}
- buggfix: MO-hållbar translucens bruten i 11.x
- buggfix: visa MENU skriv MENU ladda MENU alla brutna i 12.2
- buggfix: {*} [n] ska vara tom om nAtoms
Vad är nytt i version 14.0.7:
- Buggfix: 14.0.6 dödligt bugged - unitcell och echo rendering, getProperty
Vad är nytt i version 14.0.5:
- Buggfix: LCAOCarton-genomskinlighet bruten
- Buggfix: genomskinlig ryggradsbrott
- Buggfix: pqr, p2n-läsare trasiga
- Bugfix: isosurface map property xxx kan misslyckas om ytan är ett fragment som (på något sätt) har en punkt som inte är associerad med en underliggande atom.
Vad är nytt i version 14.1.5 Beta:
- bugfix: LCAOCarton genomskinlighet bruten
- buggfix: genomskinlig ryggrad bruten
- buggfix: pqr, p2n-läsare trasiga
- bugfix: isosurface map property xxx kan misslyckas om ytan är ett fragment som (på något sätt) har en punkt som inte är associerad med en underliggande atom.
Vad är nytt i version 14.0.4:
- Buggfix: raketer trasiga
- Buggfix: PDB byChain, avSymop stöds inte.
Vad är nytt i version 14.0.2:
- buggfix: modulering skiljer inte mellan q och t;
- buggfix: modulerade mätningar fungerar inte
- buggfix: hoppar inte över defaultLattice "{NaN NaN NaN}"
- buggfix: isosurface map atoma orbital misslyckas
- Bugfix: Vibrationell visning av modulering med avstånd uppdateras inte
- Bugfix: Vibration av orsakar onödig varning i konsolen
- bugfix: dra symop trasig
- bugfix: array.mul (matrix3f) kraschar Jmol
- buggfix: välj symop = 1555 trasig
- bugfix: set plockning dragSelected inte fungerar
- kod: refactored CifReader, separering av MMCifReader och MSCifReader-kod: mindre namn / refactoring av metoder i SV
- kod: lägger till javajs.api.JSONEncodable gränssnitt
- super enkel implementering i org.jmol.script.SV
- tillåter implementeringar av javajs för att leverera anpassade JSON-resultat
Vad är nytt i version 14.1.2 Beta:
- Ny funktion: JavaScript: JSmol api Jmol.evaluateVar (applet, uttryck):
- bättre än Jmol.evaluate eftersom resultatet är en JavaScript-variabel, inte en sträng.
- AVSKRIVNING JSmol api Jmol.evaluate (applet, expression)
- Ny funktion: getProperty ("JSON", ....):
- returnerar JSON-kod för egendom
- tillåter JavaScript: x = Jmol.getPropertyAsArray ("variableInfo", "some expression")
- Ny funktion: getProperty variableInfo:
- tillåter hämtning av variabler i Java eller JSON-format
- utvärderar uttryck
- som standard till "alla"
- Ny funktion: Modulation justerbar med q och t, upp till d = 3:
- modulering på / av (alla atomer)
- moduation {atom set} på / av
- modulering int q-offset
- modulering x.x t-offset
- modulering {t1 t2 t3}
- modulering {q1 q2 q3} TRUE
- Ny funktion: PickedList:
- beställt array av nyligen valda atomer
- kan användas samma som PICKED-variabeln, men det beställs i följd, inte temporärt
- dubbelklickar av strukturen rensar listan
- @ {pickedList} [0] lastplockad atom
- @ {pickedList} [- 1] näst sista plockade atom
- @ {pickedList} [- 1] [0] senaste två plockade atomer
- Ny funktion: array.pop (), array.push () - liknande JavaScript
- Ny funktion: Modulationsskala x.x
- Ny funktion: bildtext "xxxxx" x.x - antal sekunder att köra
- Ny funktion: Modulation 0.2 // Sätter t-värde
- Ny funktion: array.pop (), array.push (x)
- a = []; a.push ("test"); skriv ut a.pop ()
- Ny funktion: välj ON / OFF atom-set:
- aktiverar eller avaktiverar urvalslosor samt gör valet
- Endast bekvämlighet
- Ny funktion: pt1.mul3 (pt2):
- returnerar {pt1.x * pt2.x, pt1.y * pt2.y, pt1.z * pt2.z}
- Om båda inte är poäng, återgår till enkel multiplikation
- Ny reature: array.mul3 (pt2) - applicerar mul3 till alla element i array
- Ny funktion: {atomset} .modulation (typ, t):
- levererar P3 (förskjutningsmodulering)
- implementeras endast för typ = "D" (Valfritt)
- valfri t är 0 som standard
- buggfix: modulering skiljer inte mellan q och t;
- buggfix: modulerade mätningar fungerar inte
- buggfix: hoppar inte över defaultLattice "{NaN NaN NaN}"
- bugfix: isosurface map atomic orbital fail
- bugfix: Vibrationell visning av modulering med avstånd uppdateras inte
- Bugfix: Vibration av orsakar onödig varning i konsolen
- bugfix: dra symop trasig
- bugfix: array.mul (matrix3f) kraschar Jmol
- bugfix: välj symop = 1555 trasig buggfix: set plockning draSelected inte fungerar
- kod: refactored CifReader, separering av MMCifReader och MSCifReader
- kod: mindre namn / refactoring av metoder i SV
- kod: lägger till javajs.api.JSONEncodable gränssnitt:
- super enkel implementering i org.jmol.script.SV
- tillåter implementeringar av javajs för att leverera anpassade JSON-resultat
Vad är nytt i version 14.0.1:
- Ny funktion: Jmol._j2sLoadMonitorOpacity (standard 55)
- ny funktion: load () funktion, som i utskriftsbelastning ("xxx"), begränsad lokal filläsning i applet:
- inga root-katalogfiler
- inga filer utan tillägg
- inga filer med någon "/.& quot; i sökväg
- Ny funktion: JAR-filer säkert undertecknade
- Ny funktion: Applikationer JAR-filer inkluderar JNLPs (Java Network Launch Protocols) för lokal filhämtning
- Ny funktion: JSmol URL-alternativ _USE = _JAR = _J2S = överklagar för Info-data li>
- Ny funktion: (var närvarande men okodifierad) print quaternion ([array of quaternions]) - returnerar sfärisk medelvärde a la Buss and Fillmore
- Ny funktion: Skriv ut quaternion ([array of quaternions], true):
- returnerar standardavvikelsen för sfärisk medelvärde a la Buss och Fillmore
- enheter är vinklade grader
- Ny funktion - namngivna kvaternionsmodulvärden:
- print quaternion (1,0,0,0)% "matris"
- alternativen inkluderar w x y z normal eulerzxz eulerzyz vektor theta axel axisy axel axelvinkelmatris
- ew-funktion - ställ in celShadingPower:
- anger styrka av cellskuggning
- heltal värden
- Standard 10 är en tjock linje
- 5 är en fin linje
- 0 stänger celskning
- negativt värde tar bort inre skuggning - endast kontur
- fungerar på pixel baserat på normal till ljuskälla (ström> 0) eller användare (ström <0)
- anger färg till bakgrundskontrast (svart eller vitt) när normal_z & lt; 1 - 2 ^ - (| celShadingPower | / 10)
- Ny funktion: mmCIF-läsrapporter _citation.title i Jmol-skriptkonsolen
- Ny funktion: Minimera SELECT {atomset} ENDAST - ENDAST alternativet utesluter alla andra atomer
- Ny funktion: minimera {atomset} - implicit SELECT och ENDAST
- Ny funktion - "Extensions" kataloger i JSmol för bidragsgivna JS- och SPT-skript:
- jsmol / js / ext
- jsmol / spt / ext
- Ny funktion: ladda ... filter "ADDHYDROGENS" - Lokala inställda pdbAddHydrogens bara för ett lastkommando
- Ny funktion: Jämför {1.1} {2.1} BONDS SMILES
- Ny funktion: list = jämför ({atomset1} {atomset2} "SMILES" & quot; BONDS ")
- Ny funktion: skriv JSON xxx.json
- Ny funktion: [# 210] JSON {"mol": ...} läsare
- ew-funktion - sätt partikelRadius:
- globala radie för atomer över det maximala radievärdet (16.0)
- som standard till 20.0
- Ny funktion - CIF- och PDB-filter "BYCHAIN" och "BYSYMOP" för viruspartikel:
- skapar bara en atom per kedja eller per symop
- Storleken kan skalas större än max 16 Ångströmmen, till exempel:
- Ange partikelRadius 30;
- rymdfyllning 30; // något nummer över 16 använder här particleRadius istället
- Ny funktion: list = jämför ({atomset1} {atomset2} SmartsString "BONDS")
- Ny funktion: Symop () -funktionen tillåter symmetri från biomolekylfilter för PDB och mmCIF
- Ny funktion - Isosurface SYMMETRY:
- tillämpar symmetrioperatörer på isosurface
- effektivare återgivning och skapande
- Standardvalet är endast {symop = 1}
- Standardfärgning är att färgas med symop baserat på egenskapColorScheme
- exempel:
- ladda 1: a filter "biomolekyl 1"
- färgegenskapssymbol
- isosurface sa upplösning 0,8 symmetri sasurface 0
- Ny funktion - Ny atomegenskap: Kedja Ingen:
- i följd från 1 för varje modell;
- chainNo == 0 betyder "no chain" eller kedja = ''
- Ny funktion - Ny egenskapColorScheme "friendly":
- färgblindningsvänligt färgschema
- används vid RCSD
- Ny funktion: JSpecView helt Java-fri; inkluderar 2D nmr och PDF-utskrift av spektra
- Ny funktion - WRITE PDF "xxx.pdf & quot; kvalitet & gt; 1 begär landskapsläge:
- använder effektiva anpassade PDF-skapelseskurser
- Storleksbilder som passar om de är för stora
- Ny funktion: JSpecView lägger till PDF och 2D NMR för JavaScript
- Ny funktion: ladda "== xxx" FILTER "NOIDEAL" - Kemisk komponentbelastning från PDB med användning av "nonideal" koordinatset
- buggfix: skriv cd borttagen; ChemDoodle har ändrat format; använd JSON istället
- buggfix: PDB och CIF-filer angav församlingar som PAU som stort negativt tal
- buggfix: COMPARE utan att rotationen börjar oändlig loop
- bugfix: looping problem med fördröjning (-1)
- buggfix: Musen rullar för Chrome i JavaScript
- buggfix: JavaScript-popupmenyns fix för språkändringar
- buggfix: JavaScript-kärnkomponenter som inte behandlas Jmol._debugCode not recognized
- buggfix: enhetcell offset felaktigt för biomolekyler; Ursprunget är felaktigt för axlar.
- bugfix: isosurface / mo FRONTONLY trasig
- buggfix: språklokalisering bruten i JavaScript
- bugfix: ADF-läsare läser inte MO-utdata från DIRAC Build 201304052106
- Bugfix: Safari rapporterar gul Jmol info istället för att be om att acceptera applet
- - taggen behövde vara
- bugfix: CIF-läsaren hanterar inte _pdbx_struct_assembly_gen.assembly_id korrekt
- - fel atom inställd för belastning = 3fsx.cif filter "ASSEMBLY 1"
- buggfix: [# 558 Kompatibilitetsproblem med ChemDoodle] JSmol-fel i definitionen av Number.toString ()
- buggfix: mushjulet fungerar inte korrekt
- buggfix: JavaScript J2S-kompilatorfel bryter inte int + = float till heltal
- buggfix: JavaScript WEBGL-alternativet är trasigt
- buggfix: JavaScript NMRCalculation har inte tillgång till resurser
- buggfix: JavaScript-stereo är inte implementerat
- buggfix: MOL-läsare fixar för flera modellfiler (bara 13.3.9_dev)
- buggfix: MOL-läsarfel med laddning APPEND - fortsätter inte atomnummer
- buggfix: CIF-modulationsläsaren läser inte linjära kombinationer av cellvågsvektorer
- buggfix: CIF-läsning med filter "BIOMOLECULE 1" misslyckas om bara identitetsoperationen
- buggfix: mmCIF-läsare läser inte alla _pdbx_struct_assembly_gen.oper_expressionsalternativen
- Bugfix: PDB CRYST-post 1.0 1.0 1.0 90 90 90 ska innebära "ingen enhetcell" oavsett biomolekylfilter
- buggfix: isosurfaceplatta anpassar sig inte bra för platta molekyler som HEM
- bugfix: Skriv ut userfunc () kan misslyckas (userfunc () i sig är bra)
- buggfix: inom (helix) inte implementerad för C-alfa-bara polymerer
- buggfix: _modelTitle uppdateras inte när en ny fil laddas eller zapped
- buggfix: {*}. symop.all levererar inte symmetrioperatören korrekt
- buggfix: för trippelbindning i SMILES i webbadresser
- buggfix: build.xml saknar PDF-skapelseskurser
- buggfix: följ Java-uppdatering, lägg till korrekt sökväg för lokal signerad applet
- buggfix: {xxx} .property_xx inte sparat i statligt (brutet 8/7/2013 rev 18518)
- buggfix: Manifest uppdaterade för JAR-filer med signerad och osignerad applet
- buggfix: skriv misslyckas
- buggfix: applet scriptWait () -metoden bruten
- buggfix: PyMOL-sessionen kan visa enhetscell efter läsning från sparade tillstånd
- buggfix: MMCIF-läsaren misslyckas för flera sammansättningstyper
- buggfix: CIF-läsare "biomolekyl 1" översätta till "molekylär" snarare än "sammansättning"
- buggfix: ladda bana med flera filer som inte fungerar
- buggfix: popupmenyn JS applet stänger inte ordentligt vid språkändring
- buggfix: HTML-checkbox-id-attributet är inte tilldelat
- kod: refactoring av applet / appletjs-kod; org.jmol.util.GenericApplet
- kod: refactoring, förenkling av buffrade läsare och buffrade inmatningsflöden.
- kod: JavaScript refactoring, bättre bygga _... xml
- kod: JavaScript-heltal, Lång, Kort, Byte, Float, Dubbel allt omarbetad
- kod: disambiguering av GT ._
- kod: Refactored alla onödigt inre klasser till toppnivå
- kod: isolerad användning / ModulationSet med api / JmolModulationSet
- -kod - All lokalisering av appletspråk läses från vanliga .po-filer:
- som för JavaScript redan
- Det går inte att kompilera klassfiler för appletspråk
- inga språk .jar-filer
- Ny jsmol / idiomkatalog innehåller .po-filer för både Java och HTML5
- kod: snabbare isosurface rendering lägger implicit "frontonly" med välj {xxx} ENDAST
- kod: snabbare isosurface rendering med implicit "isosurfacepropertySmoothing FALSE" i relevanta (heltal) fall
- kod: JmolBinary.getBufferedReaderForResource () - konsoliderar alla referenser till URL.getContent () och Class.getResource ()
- kod: JavaScript fungerar för problem med inre klassen med omfördelning av variabel namn
- kod: arbetsplats för eval (funktionnamn) som inte fungerar i JavaScript.
- kod: experimenterar med omgivande ocklusion
- kod: Obligatoriska manifest läggas till för Java Ju51 (januari 2014).
- kod: JmolOutputChannel flyttades till javajs.util.OutputChannel
- kod: jsmol.php fixat för att tillåta & quot; i saveFile-metoden
- kod: refactoring Parser till javajs.util
- kod: DSSP flyttades till org.jmol.dssx, vilket minskade JSmol bio belastning med 20K
- kod: iTextpaketet jettisoned, inte längre, eftersom jag skrev min egen PDF-skapare
Krav :
- Oracle Java Standard Edition Runtime Environment
Kommentarer hittades inte