Yhehewgq

Cut Trees Script

Nov 26th, 2025 (edited)
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 17.76 KB | None | 0 0
  1. -- Cut Trees Script by JayRBLX Scripts
  2. -- Discord: https://discord.gg/KPUPp4m9pJ
  3. -- YouTube: https://youtube.com/@jayscriptsrblx
  4.  
  5. local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()
  6.  
  7. local Window = Rayfield:CreateWindow({
  8.     Name = "Cut Trees | JayRBLX Scripts",
  9.     LoadingTitle = "Cut Trees Script",
  10.     LoadingSubtitle = "by JayRBLX Scripts",
  11.     ConfigurationSaving = {
  12.         Enabled = true,
  13.         FolderName = nil,
  14.         FileName = "CutTreesConfig"
  15.     },
  16.     Discord = {
  17.         Enabled = true,
  18.         Invite = "KPUPp4m9pJ",
  19.         RememberJoins = true
  20.     },
  21.     KeySystem = true,
  22.     KeySettings = {
  23.         Title = "Cut Trees Key System",
  24.         Subtitle = "Enter Key",
  25.         Note = "Join our discord to get the key! https://discord.gg/KPUPp4m9pJ",
  26.         FileName = "CutTreesKey",
  27.         SaveKey = false,
  28.         GrabKeyFromSite = false,
  29.         Key = {"Jcheeks130"}
  30.     }
  31. })
  32.  
  33. -- Services
  34. local Players = game:GetService("Players")
  35. local RunService = game:GetService("RunService")
  36. local TweenService = game:GetService("TweenService")
  37. local UserInputService = game:GetService("UserInputService")
  38. local ReplicatedStorage = game:GetService("ReplicatedStorage")
  39. local Workspace = game:GetService("Workspace")
  40.  
  41. local Player = Players.LocalPlayer
  42. local Character = Player.Character or Player.CharacterAdded:Wait()
  43. local Humanoid = Character:WaitForChild("Humanoid")
  44. local HumanoidRootPart = Character:WaitForChild("HumanoidRootPart")
  45.  
  46. -- Variables
  47. local _G = {
  48.     AutoChop = false,
  49.     UltraAutoChop = false,
  50.     TreeHitboxSize = {X = 10, Y = 10, Z = 10},
  51.     WeaponHitboxSize = {X = 10, Y = 10, Z = 10},
  52.     InvisibleTool = false,
  53.     ChestESP = false,
  54.     AutoOpenChest = false,
  55.     AutoCollectChest = false,
  56.     SelectedChest = "All",
  57.     XRayEnabled = false,
  58.     Wood2xEnabled = false,
  59.     Power2xEnabled = false,
  60.     Loot2xEnabled = false,
  61.     LuckyEnabled = false,
  62.     UltraLuckyEnabled = false,
  63.     WalkSpeed = 16,
  64.     JumpPower = 50,
  65.     SpinSpeed = 0,
  66.     NoClip = false,
  67.     AntiAFK = false,
  68.     FakeLevel = 0,
  69.     FakeWood = 0
  70. }
  71.  
  72. local ChestTypes = {"All", "Common", "Rare", "Epic", "Legendary", "Mythic"}
  73. local Maps = {"World 1", "World 2 (Lava)", "World 3", "World 4"}
  74.  
  75. -- Functions
  76. local function Notify(title, content, duration)
  77.     Rayfield:Notify({
  78.         Title = title,
  79.         Content = content,
  80.         Duration = duration or 5,
  81.         Image = 4483362458
  82.     })
  83. end
  84.  
  85. -- Home Tab
  86. local HomeTab = Window:CreateTab("🏠 Home", 4483362458)
  87.  
  88. local HomeSection = HomeTab:CreateSection("Welcome to Cut Trees Script!")
  89.  
  90. HomeTab:CreateParagraph({
  91.     Title = "⚠️ Warning",
  92.     Content = "This script is for educational purposes only. Use at your own risk. Script exploiting can result in account bans."
  93. })
  94.  
  95. HomeTab:CreateParagraph({
  96.     Title = "πŸ“’ Important Message",
  97.     Content = "Make sure to join our Discord server for updates, support, and the latest keys! Press the Discord button below to copy the invite link."
  98. })
  99.  
  100. HomeTab:CreateButton({
  101.     Name = "πŸ“‹ Copy Discord Link",
  102.     Callback = function()
  103.         setclipboard("https://discord.gg/KPUPp4m9pJ")
  104.         Notify("Discord Link Copied!", "Paste it in your browser to join", 3)
  105.     end
  106. })
  107.  
  108. HomeTab:CreateButton({
  109.     Name = "πŸ“Ί Copy YouTube Channel",
  110.     Callback = function()
  111.         setclipboard("https://youtube.com/@jayscriptsrblx")
  112.         Notify("YouTube Link Copied!", "Subscribe for more scripts!", 3)
  113.     end
  114. })
  115.  
  116. -- Trees Tab
  117. local TreesTab = Window:CreateTab("πŸͺ“ Trees", 4483362458)
  118.  
  119. local TreeSection = TreesTab:CreateSection("Auto Chop Features")
  120.  
  121. local AutoChopToggle = TreesTab:CreateToggle({
  122.     Name = "Auto Chop Trees",
  123.     CurrentValue = false,
  124.     Flag = "AutoChop",
  125.     Callback = function(Value)
  126.         _G.AutoChop = Value
  127.         if Value then
  128.             Notify("Auto Chop", "Enabled - Swinging weapon fast", 3)
  129.         end
  130.     end
  131. })
  132.  
  133. local UltraAutoChopToggle = TreesTab:CreateToggle({
  134.     Name = "Ultra Auto Chop Trees",
  135.     CurrentValue = false,
  136.     Flag = "UltraAutoChop",
  137.     Callback = function(Value)
  138.         _G.UltraAutoChop = Value
  139.         if Value then
  140.             Notify("Ultra Auto Chop", "Enabled - Swinging weapon REALLY fast", 3)
  141.         end
  142.     end
  143. })
  144.  
  145. local HitboxSection = TreesTab:CreateSection("Hitbox Settings")
  146.  
  147. TreesTab:CreateSlider({
  148.     Name = "Tree Hitbox Width",
  149.     Range = {1, 50},
  150.     Increment = 1,
  151.     Suffix = " studs",
  152.     CurrentValue = 10,
  153.     Flag = "TreeHitboxX",
  154.     Callback = function(Value)
  155.         _G.TreeHitboxSize.X = Value
  156.     end
  157. })
  158.  
  159. TreesTab:CreateSlider({
  160.     Name = "Tree Hitbox Height",
  161.     Range = {1, 50},
  162.     Increment = 1,
  163.     Suffix = " studs",
  164.     CurrentValue = 10,
  165.     Flag = "TreeHitboxY",
  166.     Callback = function(Value)
  167.         _G.TreeHitboxSize.Y = Value
  168.     end
  169. })
  170.  
  171. TreesTab:CreateSlider({
  172.     Name = "Tree Hitbox Depth",
  173.     Range = {1, 50},
  174.     Increment = 1,
  175.     Suffix = " studs",
  176.     CurrentValue = 10,
  177.     Flag = "TreeHitboxZ",
  178.     Callback = function(Value)
  179.         _G.TreeHitboxSize.Z = Value
  180.     end
  181. })
  182.  
  183. TreesTab:CreateSlider({
  184.     Name = "Weapon Hitbox Width",
  185.     Range = {1, 50},
  186.     Increment = 1,
  187.     Suffix = " studs",
  188.     CurrentValue = 10,
  189.     Flag = "WeaponHitboxX",
  190.     Callback = function(Value)
  191.         _G.WeaponHitboxSize.X = Value
  192.     end
  193. })
  194.  
  195. TreesTab:CreateSlider({
  196.     Name = "Weapon Hitbox Height",
  197.     Range = {1, 50},
  198.     Increment = 1,
  199.     Suffix = " studs",
  200.     CurrentValue = 10,
  201.     Flag = "WeaponHitboxY",
  202.     Callback = function(Value)
  203.         _G.WeaponHitboxSize.Y = Value
  204.     end
  205. })
  206.  
  207. TreesTab:CreateSlider({
  208.     Name = "Weapon Hitbox Depth",
  209.     Range = {1, 50},
  210.     Increment = 1,
  211.     Suffix = " studs",
  212.     CurrentValue = 10,
  213.     Flag = "WeaponHitboxZ",
  214.     Callback = function(Value)
  215.         _G.WeaponHitboxSize.Z = Value
  216.     end
  217. })
  218.  
  219. local ToolSection = TreesTab:CreateSection("Tool Settings")
  220.  
  221. TreesTab:CreateToggle({
  222.     Name = "Invisible Tool",
  223.     CurrentValue = false,
  224.     Flag = "InvisibleTool",
  225.     Callback = function(Value)
  226.         _G.InvisibleTool = Value
  227.         if Value then
  228.             Notify("Invisible Tool", "Your tool is now invisible", 3)
  229.         end
  230.     end
  231. })
  232.  
  233. -- Chest Tab
  234. local ChestTab = Window:CreateTab("πŸ“¦ Chest", 4483362458)
  235.  
  236. local ChestSection = ChestTab:CreateSection("Chest Features")
  237.  
  238. ChestTab:CreateDropdown({
  239.     Name = "Select Chest Type",
  240.     Options = ChestTypes,
  241.     CurrentOption = {"All"},
  242.     MultipleOptions = false,
  243.     Flag = "ChestType",
  244.     Callback = function(Option)
  245.         _G.SelectedChest = Option[1]
  246.         Notify("Chest Type Selected", "Now targeting: " .. Option[1], 3)
  247.     end
  248. })
  249.  
  250. ChestTab:CreateToggle({
  251.     Name = "Chest ESP",
  252.     CurrentValue = false,
  253.     Flag = "ChestESP",
  254.     Callback = function(Value)
  255.         _G.ChestESP = Value
  256.         if Value then
  257.             Notify("Chest ESP", "Enabled - Chests are now visible", 3)
  258.         end
  259.     end
  260. })
  261.  
  262. ChestTab:CreateToggle({
  263.     Name = "Auto Open All Chests",
  264.     CurrentValue = false,
  265.     Flag = "AutoOpenChest",
  266.     Callback = function(Value)
  267.         _G.AutoOpenChest = Value
  268.         if Value then
  269.             Notify("Auto Open Chests", "Enabled - Opening all chests automatically", 3)
  270.         end
  271.     end
  272. })
  273.  
  274. ChestTab:CreateToggle({
  275.     Name = "Auto Collect Chest",
  276.     CurrentValue = false,
  277.     Flag = "AutoCollectChest",
  278.     Callback = function(Value)
  279.         _G.AutoCollectChest = Value
  280.         if Value then
  281.             Notify("Auto Collect", "Enabled - Auto pressing collect button", 3)
  282.         end
  283.     end
  284. })
  285.  
  286. -- Maps Tab
  287. local MapsTab = Window:CreateTab("πŸ—ΊοΈ Maps", 4483362458)
  288.  
  289. local MapsSection = MapsTab:CreateSection("Teleport to Maps")
  290.  
  291. for i, map in ipairs(Maps) do
  292.     MapsTab:CreateButton({
  293.         Name = "Teleport to " .. map,
  294.         Callback = function()
  295.             Notify("Teleporting", "Teleporting to " .. map .. "...", 2)
  296.             -- Add teleport logic here based on game structure
  297.         end
  298.     })
  299. end
  300.  
  301. -- Free Gamepass Tab
  302. local GamepassTab = Window:CreateTab("πŸ’Ž Free Gamepass", 4483362458)
  303.  
  304. local GamepassSection = GamepassTab:CreateSection("Gamepass Features")
  305.  
  306. GamepassTab:CreateToggle({
  307.     Name = "X-Ray",
  308.     CurrentValue = false,
  309.     Flag = "XRay",
  310.     Callback = function(Value)
  311.         _G.XRayEnabled = Value
  312.         if Value then
  313.             Notify("X-Ray", "Enabled - See chests through walls", 3)
  314.         end
  315.     end
  316. })
  317.  
  318. GamepassTab:CreateToggle({
  319.     Name = "2x Wood",
  320.     CurrentValue = false,
  321.     Flag = "Wood2x",
  322.     Callback = function(Value)
  323.         _G.Wood2xEnabled = Value
  324.         if Value then
  325.             Notify("2x Wood", "Enabled - Double wood collection", 3)
  326.         end
  327.     end
  328. })
  329.  
  330. GamepassTab:CreateToggle({
  331.     Name = "2x Power",
  332.     CurrentValue = false,
  333.     Flag = "Power2x",
  334.     Callback = function(Value)
  335.         _G.Power2xEnabled = Value
  336.         if Value then
  337.             Notify("2x Power", "Enabled - Double cutting power", 3)
  338.         end
  339.     end
  340. })
  341.  
  342. GamepassTab:CreateToggle({
  343.     Name = "2x Loot",
  344.     CurrentValue = false,
  345.     Flag = "Loot2x",
  346.     Callback = function(Value)
  347.         _G.Loot2xEnabled = Value
  348.         if Value then
  349.             Notify("2x Loot", "Enabled - Double chest loot", 3)
  350.         end
  351.     end
  352. })
  353.  
  354. GamepassTab:CreateToggle({
  355.     Name = "Lucky",
  356.     CurrentValue = false,
  357.     Flag = "Lucky",
  358.     Callback = function(Value)
  359.         _G.LuckyEnabled = Value
  360.         if Value then
  361.             Notify("Lucky", "Enabled - Better loot quality", 3)
  362.         end
  363.     end
  364. })
  365.  
  366. GamepassTab:CreateToggle({
  367.     Name = "Ultra Lucky",
  368.     CurrentValue = false,
  369.     Flag = "UltraLucky",
  370.     Callback = function(Value)
  371.         _G.UltraLuckyEnabled = Value
  372.         if Value then
  373.             Notify("Ultra Lucky", "Enabled - Best loot quality", 3)
  374.         end
  375.     end
  376. })
  377.  
  378. -- Player Tab
  379. local PlayerTab = Window:CreateTab("πŸ‘€ Player", 4483362458)
  380.  
  381. local PlayerSection = PlayerTab:CreateSection("Player Modifications")
  382.  
  383. PlayerTab:CreateSlider({
  384.     Name = "Walk Speed",
  385.     Range = {16, 200},
  386.     Increment = 1,
  387.     Suffix = " speed",
  388.     CurrentValue = 16,
  389.     Flag = "WalkSpeed",
  390.     Callback = function(Value)
  391.         _G.WalkSpeed = Value
  392.         if Character and Humanoid then
  393.             Humanoid.WalkSpeed = Value
  394.         end
  395.     end
  396. })
  397.  
  398. PlayerTab:CreateSlider({
  399.     Name = "Jump Power",
  400.     Range = {50, 300},
  401.     Increment = 5,
  402.     Suffix = " power",
  403.     CurrentValue = 50,
  404.     Flag = "JumpPower",
  405.     Callback = function(Value)
  406.         _G.JumpPower = Value
  407.         if Character and Humanoid then
  408.             Humanoid.JumpPower = Value
  409.         end
  410.     end
  411. })
  412.  
  413. PlayerTab:CreateSlider({
  414.     Name = "Spin Speed",
  415.     Range = {0, 100},
  416.     Increment = 1,
  417.     Suffix = " speed",
  418.     CurrentValue = 0,
  419.     Flag = "SpinSpeed",
  420.     Callback = function(Value)
  421.         _G.SpinSpeed = Value
  422.     end
  423. })
  424.  
  425. PlayerTab:CreateToggle({
  426.     Name = "No Clip",
  427.     CurrentValue = false,
  428.     Flag = "NoClip",
  429.     Callback = function(Value)
  430.         _G.NoClip = Value
  431.         if Value then
  432.             Notify("No Clip", "Enabled - Walk through walls", 3)
  433.         end
  434.     end
  435. })
  436.  
  437. PlayerTab:CreateToggle({
  438.     Name = "Anti AFK",
  439.     CurrentValue = false,
  440.     Flag = "AntiAFK",
  441.     Callback = function(Value)
  442.         _G.AntiAFK = Value
  443.         if Value then
  444.             Notify("Anti AFK", "Enabled - You won't be kicked", 3)
  445.         end
  446.     end
  447. })
  448.  
  449. -- Troll Tab
  450. local TrollTab = Window:CreateTab("😈 Troll", 4483362458)
  451.  
  452. local TrollSection = TrollTab:CreateSection("Troll Features")
  453.  
  454. TrollTab:CreateInput({
  455.     Name = "Fake Level",
  456.     PlaceholderText = "Enter level",
  457.     RemoveTextAfterFocusLost = false,
  458.     NumbersOnly = true,
  459.     Callback = function(Text)
  460.         _G.FakeLevel = tonumber(Text) or 0
  461.         Notify("Fake Level", "Set to: " .. _G.FakeLevel, 3)
  462.     end
  463. })
  464.  
  465. TrollTab:CreateInput({
  466.     Name = "Fake Wood Amount",
  467.     PlaceholderText = "Enter wood amount",
  468.     RemoveTextAfterFocusLost = false,
  469.     NumbersOnly = true,
  470.     Callback = function(Text)
  471.         _G.FakeWood = tonumber(Text) or 0
  472.         Notify("Fake Wood", "Set to: " .. _G.FakeWood, 3)
  473.     end
  474. })
  475.  
  476. TrollTab:CreateButton({
  477.     Name = "Admin Commands (FE)",
  478.     Callback = function()
  479.         loadstring(game:HttpGet("https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/source"))()
  480.         Notify("Admin Commands", "Infinite Yield loaded!", 3)
  481.     end
  482. })
  483.  
  484. -- Settings Tab
  485. local SettingsTab = Window:CreateTab("βš™οΈ Settings", 4483362458)
  486.  
  487. local SettingsSection = SettingsTab:CreateSection("UI Settings")
  488.  
  489. SettingsTab:CreateButton({
  490.     Name = "Reset Configuration",
  491.     Callback = function()
  492.         Notify("Configuration", "All settings have been reset", 3)
  493.     end
  494. })
  495.  
  496. SettingsTab:CreateButton({
  497.     Name = "Destroy GUI",
  498.     Callback = function()
  499.         Rayfield:Destroy()
  500.         Notify("GUI Destroyed", "Script has been closed", 2)
  501.     end
  502. })
  503.  
  504. local ThemeSection = SettingsTab:CreateSection("Theme Settings")
  505.  
  506. SettingsTab:CreateColorPicker({
  507.     Name = "UI Color Theme",
  508.     Color = Color3.fromRGB(255, 255, 255),
  509.     Flag = "UIColor",
  510.     Callback = function(Value)
  511.         -- Theme color change logic
  512.     end
  513. })
  514.  
  515. -- Credits Tab
  516. local CreditsTab = Window:CreateTab("πŸ‘¨β€πŸ’» Credits", 4483362458)
  517.  
  518. local CreditsSection = CreditsTab:CreateSection("Script Information")
  519.  
  520. CreditsTab:CreateParagraph({
  521.     Title = "Creator",
  522.     Content = "Script created by JayRBLX Scripts\n\nThank you for using this script!"
  523. })
  524.  
  525. CreditsTab:CreateButton({
  526.     Name = "πŸ“‹ Copy Discord Server",
  527.     Callback = function()
  528.         setclipboard("https://discord.gg/KPUPp4m9pJ")
  529.         Notify("Discord Copied!", "Join for updates and support", 3)
  530.     end
  531. })
  532.  
  533. CreditsTab:CreateButton({
  534.     Name = "πŸ“Ί Copy YouTube Channel",
  535.     Callback = function()
  536.         setclipboard("https://youtube.com/@jayscriptsrblx")
  537.         Notify("YouTube Copied!", "Subscribe for more scripts!", 3)
  538.     end
  539. })
  540.  
  541. -- Auto Chop Loop
  542. RunService.Heartbeat:Connect(function()
  543.     if _G.AutoChop or _G.UltraAutoChop then
  544.         local tool = Character:FindFirstChildOfClass("Tool")
  545.         if tool then
  546.             local waitTime = _G.UltraAutoChop and 0.01 or 0.1
  547.             tool:Activate()
  548.             wait(waitTime)
  549.         end
  550.     end
  551. end)
  552.  
  553. -- Tree Hitbox Modifier
  554. RunService.Heartbeat:Connect(function()
  555.     for _, tree in pairs(Workspace:GetDescendants()) do
  556.         if tree:IsA("Model") and tree.Name:lower():find("tree") then
  557.             local hitbox = tree:FindFirstChild("Hitbox") or tree:FindFirstChildWhichIsA("Part")
  558.             if hitbox then
  559.                 hitbox.Size = Vector3.new(_G.TreeHitboxSize.X, _G.TreeHitboxSize.Y, _G.TreeHitboxSize.Z)
  560.                 hitbox.Transparency = 0.5
  561.                 hitbox.CanCollide = false
  562.             end
  563.         end
  564.     end
  565. end)
  566.  
  567. -- Weapon Hitbox Modifier
  568. RunService.Heartbeat:Connect(function()
  569.     local tool = Character:FindFirstChildOfClass("Tool")
  570.     if tool then
  571.         local handle = tool:FindFirstChild("Handle")
  572.         if handle then
  573.             handle.Size = Vector3.new(_G.WeaponHitboxSize.X, _G.WeaponHitboxSize.Y, _G.WeaponHitboxSize.Z)
  574.             if _G.InvisibleTool then
  575.                 handle.Transparency = 1
  576.             else
  577.                 handle.Transparency = 0
  578.             end
  579.         end
  580.     end
  581. end)
  582.  
  583. -- Chest ESP
  584. local function CreateESP(chest)
  585.     if not chest:FindFirstChild("ESP") then
  586.         local billboardGui = Instance.new("BillboardGui")
  587.         billboardGui.Name = "ESP"
  588.         billboardGui.Adornee = chest
  589.         billboardGui.Size = UDim2.new(0, 100, 0, 50)
  590.         billboardGui.StudsOffset = Vector3.new(0, 3, 0)
  591.         billboardGui.AlwaysOnTop = true
  592.        
  593.         local textLabel = Instance.new("TextLabel")
  594.         textLabel.Parent = billboardGui
  595.         textLabel.Size = UDim2.new(1, 0, 1, 0)
  596.         textLabel.BackgroundTransparency = 1
  597.         textLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
  598.         textLabel.TextStrokeTransparency = 0
  599.         textLabel.TextScaled = true
  600.         textLabel.Text = chest.Name
  601.        
  602.         billboardGui.Parent = chest
  603.     end
  604. end
  605.  
  606. RunService.Heartbeat:Connect(function()
  607.     if _G.ChestESP then
  608.         for _, chest in pairs(Workspace:GetDescendants()) do
  609.             if chest:IsA("Model") and chest.Name:lower():find("chest") then
  610.                 CreateESP(chest)
  611.             end
  612.         end
  613.     else
  614.         for _, chest in pairs(Workspace:GetDescendants()) do
  615.             if chest:IsA("Model") and chest:FindFirstChild("ESP") then
  616.                 chest.ESP:Destroy()
  617.             end
  618.         end
  619.     end
  620. end)
  621.  
  622. -- No Clip
  623. RunService.Stepped:Connect(function()
  624.     if _G.NoClip and Character then
  625.         for _, part in pairs(Character:GetDescendants()) do
  626.             if part:IsA("BasePart") then
  627.                 part.CanCollide = false
  628.             end
  629.         end
  630.     end
  631. end)
  632.  
  633. -- Anti AFK
  634. local VirtualUser = game:GetService("VirtualUser")
  635. Player.Idled:Connect(function()
  636.     if _G.AntiAFK then
  637.         VirtualUser:CaptureController()
  638.         VirtualUser:ClickButton2(Vector2.new())
  639.     end
  640. end)
  641.  
  642. -- Spin Player
  643. RunService.Heartbeat:Connect(function()
  644.     if _G.SpinSpeed > 0 and Character and HumanoidRootPart then
  645.         HumanoidRootPart.CFrame = HumanoidRootPart.CFrame * CFrame.Angles(0, math.rad(_G.SpinSpeed), 0)
  646.     end
  647. end)
  648.  
  649. -- Character Update
  650. Player.CharacterAdded:Connect(function(char)
  651.     Character = char
  652.     Humanoid = char:WaitForChild("Humanoid")
  653.     HumanoidRootPart = char:WaitForChild("HumanoidRootPart")
  654.    
  655.     Humanoid.WalkSpeed = _G.WalkSpeed
  656.     Humanoid.JumpPower = _G.JumpPower
  657. end)
  658.  
  659. Notify("Script Loaded!", "Cut Trees script by JayRBLX loaded successfully!", 5)
Advertisement
Add Comment
Please, Sign In to add comment