CARVIEW |
Select Language
HTTP/2 302
date: Thu, 31 Jul 2025 06:03:27 GMT
content-type: text/html; charset=utf-8
content-length: 0
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
location: https://release-assets.githubusercontent.com/github-production-release-asset/908085149/9ec72226-45bf-40df-82c6-ff4be7201236?sp=r&sv=2018-11-09&sr=b&spr=https&se=2025-07-31T07%3A00%3A37Z&rscd=attachment%3B+filename%3Dstellar.lua&rsct=application%2Foctet-stream&skoid=96c2d410-5711-43a1-aedd-ab1947aa7ab0&sktid=398a6654-997b-47e9-b12b-9515b896b4de&skt=2025-07-31T06%3A00%3A21Z&ske=2025-07-31T07%3A00%3A37Z&sks=b&skv=2018-11-09&sig=f2nvycMav%2F7O4PBJl0cB%2BZBy1w1g%2BDxwIDN8VITec2Y%3D&jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmVsZWFzZS1hc3NldHMuZ2l0aHVidXNlcmNvbnRlbnQuY29tIiwia2V5Ijoia2V5MSIsImV4cCI6MTc1Mzk0MjEwNywibmJmIjoxNzUzOTQxODA3LCJwYXRoIjoicmVsZWFzZWFzc2V0cHJvZHVjdGlvbi5ibG9iLmNvcmUud2luZG93cy5uZXQifQ.PKsEJgFP6NgY5fIouaC6ocdlSfD_BIraK0aSgPL6hWE&response-content-disposition=attachment%3B%20filename%3Dstellar.lua&response-content-type=application%2Foctet-stream
cache-control: no-cache
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com wss://alive-staging.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
x-github-request-id: 9DE8:F3024:214D86:27750E:688B072F
HTTP/2 200
last-modified: Thu, 26 Dec 2024 05:13:38 GMT
etag: "0x8DD256C0E775DF4"
server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: 4849217b-201e-0060-19e0-019dca000000
x-ms-version: 2018-11-09
x-ms-creation-time: Thu, 26 Dec 2024 05:13:38 GMT
x-ms-blob-content-md5: aKXxLSwV5Z6on58Rt/ZiHQ==
x-ms-lease-status: unlocked
x-ms-lease-state: available
x-ms-blob-type: BlockBlob
x-ms-server-encrypted: true
via: 1.1 varnish, 1.1 varnish
accept-ranges: bytes
age: 0
date: Thu, 31 Jul 2025 06:03:28 GMT
x-served-by: cache-iad-kcgs7200040-IAD, cache-bom-vanm7210064-BOM
x-cache: MISS, MISS
x-cache-hits: 0, 0
x-timer: S1753941808.128296,VS0,VE249
content-disposition: attachment; filename=stellar.lua
content-type: application/octet-stream
content-length: 8870
local stellar = {}
local private_steallar_functions = {}
stellar.required_functions = {}
private_steallar_functions.is_inside = function(array, item)
for i = 1, #array do
if array[i] == item then
return true
end
end
return false
end
stellar.create_root_watcher = function(output_file)
local selfobj = {}
selfobj.trace = {}
selfobj.point = 0
selfobj.min_plotage = 1
selfobj.max_plotage = -1
selfobj.unplot_functions = {}
selfobj.unplot_points = {}
selfobj.file = nil
selfobj.is_debug = false
local file = nil
local function stream(data)
if not selfobj.file then
selfobj.file = stellar.required_functions.open(output_file, "a+")
end
if not selfobj.file then
stellar.required_functions.error("impossible to open the file " .. output_file)
return
end
selfobj.file:write(data)
end
local function plot_point()
if selfobj.point < selfobj.min_plotage then
return false
end
if selfobj.point > selfobj.max_plotage and selfobj.max_plotage ~= -1 then
return false
end
if private_steallar_functions.is_inside(selfobj.unplot_functions, selfobj.func_name) then
return false
end
for i = 1, #selfobj.unplot_points do
local current = selfobj.unplot_points[i]
if current.func_name == selfobj.func_name and current.plot_name == selfobj.plot_name then
return false
end
end
return true
end
local function get_trace_path()
if #selfobj.trace == 0 then
return "[global]"
end
local trace = ""
for i = 1, #selfobj.trace do
trace = trace .. "[" .. selfobj.trace[i] .. "]"
end
return trace
end
selfobj.debug = function()
selfobj.is_debug = true
selfobj.file = stellar.required_functions.open(output_file, "w")
if not selfobj.file then
stellar.required_functions.error("impossible to open the file " .. output_file)
end
selfobj.file = stellar.required_functions.open(output_file, "a+")
end
selfobj.create_function = function(name, callback)
return function(...)
if not selfobj.is_debug then
return callback(...)
end
selfobj.point = selfobj.point + 1
selfobj.trace[#selfobj.trace + 1] = name
local old_func_name = selfobj.func_name
selfobj.func_name = name
if not plot_point() then
local result = callback(...)
selfobj.trace[#selfobj.trace] = nil
selfobj.func_name = old_func_name
return result
end
stream("point: " .. selfobj.point .. " ")
stream("trace change:")
stream(get_trace_path() .. "\n")
local result = callback(...)
selfobj.func_name = old_func_name
selfobj.trace[#selfobj.trace] = nil
stream("trace change:")
stream(get_trace_path() .. "\n")
stream("\n")
return result
end
end
selfobj.plotage_point = function(name, callback)
if not selfobj.is_debug then
return
end
selfobj.point = selfobj.point + 1
selfobj.plot_name = name
selfobj.trace[#selfobj.trace + 1] = name
if not plot_point() then
selfobj.trace[#selfobj.trace] = nil
return
end
stream("point: " .. selfobj.point .. " ")
stream("plotage point:")
stream(get_trace_path() .. "\n")
selfobj.trace[#selfobj.trace] = nil
if callback then
callback()
stream("\n")
end
end
selfobj.print_raw = function(data)
if not selfobj.is_debug then
return
end
stream(data)
end
selfobj.print_format = function(...)
if not selfobj.is_debug then
return
end
local result = stellar.required_functions.format(...)
stream(result)
end
selfobj.plot_var = function(name, value)
if not selfobj.is_debug then
return
end
private_steallar_functions.plot_var(name, value, stream)
end
return selfobj
end
stellar.required_functions.error = error
stellar.required_functions.type = type
if string then
stellar.required_functions.format = string.format
end
if table then
stellar.required_functions.concat = table.concat
end
stellar.required_functions.get_keys_and_index = function(target)
local data = {}
for key, val in pairs(target) do
data[#data + 1] = key
end
return data
end
if string then
stellar.required_functions.sub = string.sub
end
if io then
stellar.required_functions.open = io.open
end
private_steallar_functions.stream_formmated_str = function(data, stream)
stream("(")
if not stellar.required_functions.sub then
stream(data)
stream(")")
return
end
for i = 1, #data do
local current_char = stellar.required_functions.sub(data, i, i)
if current_char == "\n" then
stream("\\n")
elseif current_char == "\t" then
stream("\\t")
else
stream(current_char)
end
end
stream(')')
end
private_steallar_functions.plot_var_table = function(path, value, stream)
local keys = stellar.required_functions.get_keys_and_index(value)
for i = 1, #keys do
local current_key = keys[i]
local current_val = value[current_key]
local type_value = stellar.required_functions.type(current_val)
local next_path = path .. "[" .. current_key .. "]"
if type_value == "number" then
stream(next_path)
stream(":" .. current_val .. "\n")
elseif type_value == "string" then
stream(next_path)
stream(":")
private_steallar_functions.stream_formmated_str(current_val, stream)
stream("\n")
elseif current_val == true then
stream(next_path)
stream(":true\n")
elseif current_val == false then
stream(next_path)
stream(":false\n")
elseif current_val == nil then
stream(next_path)
stream(":nil\n")
elseif type_value == "table" then
private_steallar_functions.plot_var_table(next_path, current_val, stream)
else
stream(next_path)
stream(":" .. type_value .. "\n")
end
end
end
private_steallar_functions.plot_var = function(name, value, stream)
local type_value = stellar.required_functions.type(value)
if type_value == "number" then
stream("\t" .. name)
stream(":" .. value .. "\n")
elseif type_value == "string" then
stream("\t" .. name)
stream(":")
private_steallar_functions.stream_formmated_str(value, stream)
stream("\n")
elseif value == true then
stream("\t" .. name)
stream(":true\n")
elseif value == false then
stream("\t" .. name)
stream(":false\n")
elseif value == nil then
stream("\t" .. name)
stream(":nil\n")
elseif type_value == "table" then
private_steallar_functions.plot_var_table(name, value, stream)
else
stream("\t" .. name)
stream(":" .. type_value .. "\n")
end
end
---@class PrivateStellarFunction
---@field stream_formmated_str fun(data:string, stream:fun(data:string))
---@field plot_var_table fun(path:string, value:table, stream:fun(data:string))
---@field plot_var fun(name:string, value:any, stream:fun(data:string))
---@class StellarRequiredFunctions
---@field error fun(msg:string)
---@field type fun(value:any): "number"| "string"| "boolean"| "table"| "function"| "thread"| "userdata"
---@field concat (fun(itens:string[]):string )| nil
---@field get_keys_and_index fun(target:table):(string | number)[]
---@field sub fun(str:string,start:number,end:number):string
---@field open fun(filename:string,mode:string):file*
---@class StellarWatcher
---@field debug fun()
---@field create_function fun(name,callback):function
---@field plotage_point fun(name,callback:fun()|nil)
---@field print_raw fun(data:string)
---@field print_format fun(format:string,...)
---@class StellarModule
---@field create_root_watcher fun(logfile:string):StellarWatcher
---@field required_functions StellarRequiredFunctions
---@type StellarModule
stellar = stellar
---type PrivateStellarFunction
private_steallar_functions = private_steallar_functions
return stellar