[{"data":1,"prerenderedAt":2980},["ShallowReactive",2],{"navigation_docs_en":3,"-en-resources-rec-itemmanager":97,"-en-resources-rec-itemmanager-surround":2975},[4,21,37,58,83],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":20},"Welcome","i-lucide-home","\u002Fen\u002Fgetting-started","en\u002F1.getting-started",[10,15],{"title":11,"path":12,"stem":13,"icon":14},"Socials","\u002Fen\u002Fgetting-started\u002Fsocials","en\u002F1.getting-started\u002F2.socials","i-lucide-share-2",{"title":16,"path":17,"stem":18,"icon":19},"About us","\u002Fen\u002Fgetting-started\u002Fabout-us","en\u002F1.getting-started\u002F3.about-us","i-lucide-users",false,{"title":22,"icon":23,"path":24,"stem":25,"children":26,"page":20},"Common Dependencies","i-lucide-unplug","\u002Fen\u002Fcommon-dependencies","en\u002F2.common-dependencies",[27,32],{"title":28,"path":29,"stem":30,"icon":31},"REC_Library","\u002Fen\u002Fcommon-dependencies\u002Frec_library","en\u002F2.common-dependencies\u002F2.rec_library","i-lucide-library",{"title":33,"path":34,"stem":35,"icon":36},"REC_Utils","\u002Fen\u002Fcommon-dependencies\u002Frec_utils","en\u002F2.common-dependencies\u002F3.rec_utils","i-lucide-cable",{"title":38,"icon":39,"path":40,"stem":41,"children":42,"page":20},"Resources","i-lucide-blocks","\u002Fen\u002Fresources","en\u002F3.resources",[43,48,53],{"title":44,"path":45,"stem":46,"icon":47},"REC_ItemManager","\u002Fen\u002Fresources\u002Frec_itemmanager","en\u002F3.resources\u002F2.rec_itemmanager","i-lucide-database-search",{"title":49,"path":50,"stem":51,"icon":52},"REC_Economy","\u002Fen\u002Fresources\u002Frec_economy","en\u002F3.resources\u002F3.rec_economy","i-lucide-coins",{"title":54,"path":55,"stem":56,"icon":57},"REC_Notify","\u002Fen\u002Fresources\u002Frec_notify","en\u002F3.resources\u002F4.rec_notify","i-lucide-bell",{"title":59,"icon":39,"path":60,"stem":61,"children":62,"page":20},"Crime Resources","\u002Fen\u002Fcrime-resources","en\u002F4.crime-resources",[63,68,73,78],{"title":64,"path":65,"stem":66,"icon":67},"REC_HeistProps","\u002Fen\u002Fcrime-resources\u002Frec_heistprops","en\u002F4.crime-resources\u002F2.rec_heistprops","i-lucide-package",{"title":69,"path":70,"stem":71,"icon":72},"REC_HeistController","\u002Fen\u002Fcrime-resources\u002Frec_heistcontroller","en\u002F4.crime-resources\u002F3.rec_heistcontroller","i-lucide-gamepad-directional",{"title":74,"path":75,"stem":76,"icon":77},"REC_HeistOrder","\u002Fen\u002Fcrime-resources\u002Frec_heistorder","en\u002F4.crime-resources\u002F4.rec_heistorder","i-lucide-check-check",{"title":79,"path":80,"stem":81,"icon":82},"REC_HeistDropoff","\u002Fen\u002Fcrime-resources\u002Frec_heistdropoff","en\u002F4.crime-resources\u002F5.rec_heistdropoff","i-lucide-land-plot",{"title":84,"path":85,"stem":86,"children":87,"page":20},"Old Resources","\u002Fen\u002Fold-resources","en\u002F5.old-resources",[88,92],{"title":89,"path":90,"stem":91,"icon":36},"nazu-bridge","\u002Fen\u002Fold-resources\u002Fnazu-bridge","en\u002F5.old-resources\u002F2.nazu-bridge",{"title":93,"path":94,"stem":95,"icon":96},"ObjectHunt","\u002Fen\u002Fold-resources\u002Fobjecthunt","en\u002F5.old-resources\u002F3.objecthunt","i-lucide-boxes",{"id":98,"title":44,"body":99,"description":2967,"extension":2968,"links":2969,"meta":2970,"navigation":2971,"path":45,"seo":2972,"stem":46,"__hash__":2974},"docs_en\u002Fen\u002F3.resources\u002F2.rec_itemmanager.md",{"type":100,"value":101,"toc":2942},"minimark",[102,106,111,118,123,127,577,581,584,660,668,678,753,757,772,775,795,798,802,829,851,854,865,868,877,937,940,947,950,953,982,1005,1019,1023,1108,1111,1115,1144,1148,1154,1157,1188,1199,1219,1225,1228,1254,1260,1277,1283,1286,1292,1437,1455,1464,1468,2938],[103,104,105],"p",{},"Track every item on your server, edit its cost and price, and recount how much of it is actually in circulation.",[107,108,110],"h2",{"id":109},"category","Category",[112,113,114],"badge",{},[115,116,117],"strong",{},"PAID",[112,119,120],{},[115,121,122],{},"ESCROWED",[107,124,126],{"id":125},"installation","Installation",[128,129,130,135,143,147,152,156,164,464,468,536,540,570,574],"steps",{},[131,132,134],"h3",{"id":133},"download-the-dependencies","Download the dependencies",[136,137,142],"card",{"icon":138,"target":139,"title":140,"to":141},"i-simple-icons-github","_blank","GitHub - ox_lib","https:\u002F\u002Fgithub.com\u002Foverextended\u002Fox_lib\u002Freleases\u002Flatest","Download from here!!",[131,144,146],{"id":145},"download-main-resource","Download main resource",[136,148,142],{"icon":149,"target":139,"title":150,"to":151},"i-lucide-swords","Tebex - REC_ItemManager","https:\u002F\u002Frecord.tebex.io\u002Fpackage\u002F7336503",[131,153,155],{"id":154},"import-the-sql-file","Import the SQL file",[103,157,158,159,163],{},"Run ",[160,161,162],"code",{},"rec_manager_items.sql"," on your database.",[165,166,171],"pre",{"className":167,"code":168,"filename":162,"language":169,"meta":170,"style":170},"language-sql shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","  CREATE TABLE IF NOT EXISTS `rec_manager_items` (\n    `id` bigint(8) NOT NULL AUTO_INCREMENT,\n    `name` varchar(50) NOT NULL,\n    `cost` bigint(8) NOT NULL,\n    `circulation` bigint(20) NOT NULL,\n    `price` bigint(8) NOT NULL,\n    `updatedAt` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),\n    `createdAt` timestamp NOT NULL DEFAULT current_timestamp(),\n    PRIMARY KEY (`id`),\n    UNIQUE KEY `name` (`name`)\n  ) ENGINE=InnoDB AUTO_INCREMENT=319 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;\n","sql","",[160,172,173,210,240,265,287,310,332,365,385,403,429],{"__ignoreMap":170},[174,175,178,182,185,189,192,195,199,203,206],"span",{"class":176,"line":177},"line",1,[174,179,181],{"class":180},"sbssI","  CREATE",[174,183,184],{"class":180}," TABLE",[174,186,188],{"class":187},"s2Zo4"," IF",[174,190,191],{"class":180}," NOT",[174,193,194],{"class":180}," EXISTS",[174,196,198],{"class":197},"sMK4o"," `",[174,200,202],{"class":201},"sfazB","rec_manager_items",[174,204,205],{"class":197},"`",[174,207,209],{"class":208},"sTEyZ"," (\n",[174,211,213,216,219,221,225,228,231,234,237],{"class":176,"line":212},2,[174,214,215],{"class":197},"    `",[174,217,218],{"class":201},"id",[174,220,205],{"class":197},[174,222,224],{"class":223},"spNyl"," bigint",[174,226,227],{"class":208},"(",[174,229,230],{"class":180},"8",[174,232,233],{"class":208},") ",[174,235,236],{"class":180},"NOT NULL",[174,238,239],{"class":208}," AUTO_INCREMENT,\n",[174,241,243,245,248,250,253,255,258,260,262],{"class":176,"line":242},3,[174,244,215],{"class":197},[174,246,247],{"class":201},"name",[174,249,205],{"class":197},[174,251,252],{"class":223}," varchar",[174,254,227],{"class":208},[174,256,257],{"class":180},"50",[174,259,233],{"class":208},[174,261,236],{"class":180},[174,263,264],{"class":208},",\n",[174,266,268,270,273,275,277,279,281,283,285],{"class":176,"line":267},4,[174,269,215],{"class":197},[174,271,272],{"class":201},"cost",[174,274,205],{"class":197},[174,276,224],{"class":223},[174,278,227],{"class":208},[174,280,230],{"class":180},[174,282,233],{"class":208},[174,284,236],{"class":180},[174,286,264],{"class":208},[174,288,290,292,295,297,299,301,304,306,308],{"class":176,"line":289},5,[174,291,215],{"class":197},[174,293,294],{"class":201},"circulation",[174,296,205],{"class":197},[174,298,224],{"class":223},[174,300,227],{"class":208},[174,302,303],{"class":180},"20",[174,305,233],{"class":208},[174,307,236],{"class":180},[174,309,264],{"class":208},[174,311,313,315,318,320,322,324,326,328,330],{"class":176,"line":312},6,[174,314,215],{"class":197},[174,316,317],{"class":201},"price",[174,319,205],{"class":197},[174,321,224],{"class":223},[174,323,227],{"class":208},[174,325,230],{"class":180},[174,327,233],{"class":208},[174,329,236],{"class":180},[174,331,264],{"class":208},[174,333,335,337,340,342,345,348,351,354,357,360,362],{"class":176,"line":334},7,[174,336,215],{"class":197},[174,338,339],{"class":201},"updatedAt",[174,341,205],{"class":197},[174,343,344],{"class":223}," timestamp",[174,346,347],{"class":180}," NOT NULL",[174,349,350],{"class":223}," DEFAULT",[174,352,353],{"class":187}," current_timestamp",[174,355,356],{"class":208},"() ",[174,358,359],{"class":223},"ON UPDATE",[174,361,353],{"class":187},[174,363,364],{"class":208},"(),\n",[174,366,368,370,373,375,377,379,381,383],{"class":176,"line":367},8,[174,369,215],{"class":197},[174,371,372],{"class":201},"createdAt",[174,374,205],{"class":197},[174,376,344],{"class":223},[174,378,347],{"class":180},[174,380,350],{"class":223},[174,382,353],{"class":187},[174,384,364],{"class":208},[174,386,388,391,394,396,398,400],{"class":176,"line":387},9,[174,389,390],{"class":223},"    PRIMARY KEY",[174,392,393],{"class":208}," (",[174,395,205],{"class":197},[174,397,218],{"class":201},[174,399,205],{"class":197},[174,401,402],{"class":208},"),\n",[174,404,406,409,412,414,416,418,420,422,424,426],{"class":176,"line":405},10,[174,407,408],{"class":180},"    UNIQUE",[174,410,411],{"class":180}," KEY",[174,413,198],{"class":197},[174,415,247],{"class":201},[174,417,205],{"class":197},[174,419,393],{"class":208},[174,421,205],{"class":197},[174,423,247],{"class":201},[174,425,205],{"class":197},[174,427,428],{"class":208},")\n",[174,430,432,435,438,441,443,446,448,451,453,456,459,461],{"class":176,"line":431},11,[174,433,434],{"class":208},"  ) ENGINE",[174,436,437],{"class":197},"=",[174,439,440],{"class":208},"InnoDB AUTO_INCREMENT",[174,442,437],{"class":197},[174,444,445],{"class":180},"319",[174,447,350],{"class":223},[174,449,450],{"class":208}," CHARSET",[174,452,437],{"class":197},[174,454,455],{"class":208},"utf8mb3 ",[174,457,458],{"class":223},"COLLATE",[174,460,437],{"class":197},[174,462,463],{"class":208},"utf8mb3_general_ci;\n",[131,465,467],{"id":466},"copy-and-paste-this-on-your-servercfg","Copy and paste this on your server.cfg",[165,469,473],{"className":470,"code":471,"language":472,"meta":170,"style":170},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","  # ox\n  ensure ox_lib\n  ensure oxmysql\n\n  # RE:CORD\n  ensure REC_Library\n  ensure REC_Utils\n  ensure REC_PlayerManager\n  ensure REC_ItemManager\n","bash",[160,474,475,481,490,497,503,508,515,522,529],{"__ignoreMap":170},[174,476,477],{"class":176,"line":177},[174,478,480],{"class":479},"sHwdD","  # ox\n",[174,482,483,487],{"class":176,"line":212},[174,484,486],{"class":485},"sBMFI","  ensure",[174,488,489],{"class":201}," ox_lib\n",[174,491,492,494],{"class":176,"line":242},[174,493,486],{"class":485},[174,495,496],{"class":201}," oxmysql\n",[174,498,499],{"class":176,"line":267},[174,500,502],{"emptyLinePlaceholder":501},true,"\n",[174,504,505],{"class":176,"line":289},[174,506,507],{"class":479},"  # RE:CORD\n",[174,509,510,512],{"class":176,"line":312},[174,511,486],{"class":485},[174,513,514],{"class":201}," REC_Library\n",[174,516,517,519],{"class":176,"line":334},[174,518,486],{"class":485},[174,520,521],{"class":201}," REC_Utils\n",[174,523,524,526],{"class":176,"line":367},[174,525,486],{"class":485},[174,527,528],{"class":201}," REC_PlayerManager\n",[174,530,531,533],{"class":176,"line":387},[174,532,486],{"class":485},[174,534,535],{"class":201}," REC_ItemManager\n",[131,537,539],{"id":538},"give-yourself-the-ace-permission","Give yourself the ACE permission",[165,541,543],{"className":470,"code":542,"language":472,"meta":170,"style":170},"  add_ace group.admin REC_ItemManager.command allow\n  add_principal identifier.fivem:1 group.admin\n",[160,544,545,559],{"__ignoreMap":170},[174,546,547,550,553,556],{"class":176,"line":177},[174,548,549],{"class":485},"  add_ace",[174,551,552],{"class":201}," group.admin",[174,554,555],{"class":201}," REC_ItemManager.command",[174,557,558],{"class":201}," allow\n",[174,560,561,564,567],{"class":176,"line":212},[174,562,563],{"class":485},"  add_principal",[174,565,566],{"class":201}," identifier.fivem:1",[174,568,569],{"class":201}," group.admin\n",[131,571,573],{"id":572},"done","Done",[103,575,576],{},"enjoy it !",[107,578,580],{"id":579},"admin-ui","Admin UI",[103,582,583],{},"The panel can be opened in two ways. Both show the same build, but they are authenticated differently.",[585,586,587,602],"table",{},[588,589,590],"thead",{},[591,592,593,596,599],"tr",{},[594,595],"th",{},[594,597,598],{},"In-game (NUI)",[594,600,601],{},"Browser",[603,604,605,621,634,649],"tbody",{},[591,606,607,611,616],{},[608,609,610],"td",{},"How to open",[608,612,613],{},[160,614,615],{},"\u002Fitemmanager",[608,617,618],{},[160,619,620],{},"http:\u002F\u002F\u003Chost>:30120\u002FREC_ItemManager\u002F",[591,622,623,626,629],{},[608,624,625],{},"Authentication",[608,627,628],{},"ACE group",[608,630,631],{},[160,632,633],{},"Authorization: Bearer \u003CadminToken>",[591,635,636,639,644],{},[608,637,638],{},"Default",[608,640,641],{},[115,642,643],{},"Enabled",[608,645,646],{},[115,647,648],{},"Disabled",[591,650,651,654,657],{},[608,652,653],{},"Extra setup",[608,655,656],{},"None",[608,658,659],{},"See below",[661,662,664,665,667],"tip",{"icon":663},"i-lucide-gamepad-2","The in-game UI works out of the box and never touches HTTP. If you only use ",[160,666,615],{},", you can skip the whole browser section.",[103,669,670,673,674,677],{},[160,671,672],{},"config.web.aceGroups"," is a list — a player passes when they hold ",[115,675,676],{},"any one"," of them.",[165,679,683],{"className":680,"code":681,"language":682,"meta":170,"style":170},"language-lua shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","config.web = {\n\n    ---@type string[]\n    aceGroups = {\n        \"admin\",\n        -- \"moderator\",\n    },\n}\n","lua",[160,684,685,699,703,716,725,738,743,748],{"__ignoreMap":170},[174,686,687,690,693,696],{"class":176,"line":177},[174,688,689],{"class":208},"config.",[174,691,692],{"class":485},"web",[174,694,695],{"class":197}," =",[174,697,698],{"class":208}," {\n",[174,700,701],{"class":176,"line":212},[174,702,502],{"emptyLinePlaceholder":501},[174,704,705,708,712],{"class":176,"line":242},[174,706,707],{"class":479},"    ---",[174,709,711],{"class":710},"s6hCs","@type",[174,713,715],{"class":714},"sFweD"," string[]\n",[174,717,718,721,723],{"class":176,"line":267},[174,719,720],{"class":208},"    aceGroups ",[174,722,437],{"class":197},[174,724,698],{"class":208},[174,726,727,730,733,736],{"class":176,"line":289},[174,728,729],{"class":197},"        \"",[174,731,732],{"class":201},"admin",[174,734,735],{"class":197},"\"",[174,737,264],{"class":208},[174,739,740],{"class":176,"line":312},[174,741,742],{"class":479},"        -- \"moderator\",\n",[174,744,745],{"class":176,"line":334},[174,746,747],{"class":208},"    },\n",[174,749,750],{"class":176,"line":367},[174,751,752],{"class":208},"}\n",[107,754,756],{"id":755},"browser-route","Browser route",[758,759,760,761,764,765,393,768,771],"warning",{},"This route is served on ",[115,762,763],{},"the same port your players connect to"," (30120 by default). That port has to stay open for players, so you cannot protect the panel by closing it — ",[160,766,767],{},"allowedAddresses",[115,769,770],{},"this machine only"," by default) and the token are all that stand between the panel and the internet.",[103,773,774],{},"Reach the panel from an address you have allowed. Any one of these works:",[776,777,778,782,785,792],"ul",{},[779,780,781],"li",{},"Reach it over a VPN (Tailscale, WireGuard)",[779,783,784],{},"Reach it through an SSH port forward",[779,786,787,788,791],{},"Put a TLS reverse proxy in front of it (see ",[160,789,790],{},"trustedProxies",")",[779,793,794],{},"Only reach it from the same LAN",[103,796,797],{},"If you are on shared hosting and can do none of these, leave the browser route disabled and use the in-game UI.",[131,799,801],{"id":800},"enabling-it","Enabling it",[165,803,805],{"className":680,"code":804,"language":682,"meta":170,"style":170},"config.web.http.enabled = true\n",[160,806,807],{"__ignoreMap":170},[174,808,809,811,813,816,819,821,824,826],{"class":176,"line":177},[174,810,689],{"class":208},[174,812,692],{"class":485},[174,814,815],{"class":208},".",[174,817,818],{"class":485},"http",[174,820,815],{"class":208},[174,822,823],{"class":485},"enabled",[174,825,695],{"class":197},[174,827,828],{"class":197}," true\n",[165,830,832],{"className":470,"code":831,"language":472,"meta":170,"style":170},"  set REC_ItemManager:adminToken \"a-random-string-of-32-chars-or-more\"\n",[160,833,834],{"__ignoreMap":170},[174,835,836,839,842,845,848],{"class":176,"line":177},[174,837,838],{"class":187},"  set",[174,840,841],{"class":201}," REC_ItemManager:adminToken",[174,843,844],{"class":197}," \"",[174,846,847],{"class":201},"a-random-string-of-32-chars-or-more",[174,849,850],{"class":197},"\"\n",[852,853],"token-generator",{"resource":44},[103,855,856,857,860,861,864],{},"An empty token makes every ",[160,858,859],{},"\u002Fapi\u002F*"," call return ",[160,862,863],{},"401",". A token shorter than 32 characters prints a warning on startup.",[131,866,767],{"id":867},"allowedaddresses",[103,869,870,871,874,875,815],{},"Requests from an address that is not on this list get ",[160,872,873],{},"404"," — before authentication, so the route stays invisible from the outside. The default allows ",[115,876,770],{},[165,878,880],{"className":680,"code":879,"language":682,"meta":170,"style":170},"allowedAddresses = {\n    \"127.0.0.0\u002F8\",        -- loopback\n    \"::1\",\n    -- \"100.64.0.0\u002F10\",   -- Tailscale (CGNAT range)\n    -- \"192.168.1.0\u002F24\",  -- LAN\n    -- \"172.18.0.0\u002F16\",   -- Docker bridge\n}\n",[160,881,882,891,907,918,923,928,933],{"__ignoreMap":170},[174,883,884,887,889],{"class":176,"line":177},[174,885,886],{"class":208},"allowedAddresses ",[174,888,437],{"class":197},[174,890,698],{"class":208},[174,892,893,896,899,901,904],{"class":176,"line":212},[174,894,895],{"class":197},"    \"",[174,897,898],{"class":201},"127.0.0.0\u002F8",[174,900,735],{"class":197},[174,902,903],{"class":208},",        ",[174,905,906],{"class":479},"-- loopback\n",[174,908,909,911,914,916],{"class":176,"line":242},[174,910,895],{"class":197},[174,912,913],{"class":201},"::1",[174,915,735],{"class":197},[174,917,264],{"class":208},[174,919,920],{"class":176,"line":267},[174,921,922],{"class":479},"    -- \"100.64.0.0\u002F10\",   -- Tailscale (CGNAT range)\n",[174,924,925],{"class":176,"line":289},[174,926,927],{"class":479},"    -- \"192.168.1.0\u002F24\",  -- LAN\n",[174,929,930],{"class":176,"line":312},[174,931,932],{"class":479},"    -- \"172.18.0.0\u002F16\",   -- Docker bridge\n",[174,934,935],{"class":176,"line":334},[174,936,752],{"class":208},[103,938,939],{},"Entries are IPv4 CIDR blocks or literal addresses. IPv6 has no CIDR support, so write the address in lowercase canonical form. An entry that can never match is reported on startup.",[758,941,942,943,946],{},"Adding ",[160,944,945],{},"0.0.0.0\u002F0"," publishes the panel to the entire internet, leaving the token as the only protection.",[131,948,790],{"id":949},"trustedproxies",[103,951,952],{},"Behind a reverse proxy every request arrives from the proxy itself, so the address check can no longer see the real client. Register the proxy instead:",[165,954,956],{"className":680,"code":955,"language":682,"meta":170,"style":170},"trustedProxies = {\n    \"127.0.0.1\",\n}\n",[160,957,958,967,978],{"__ignoreMap":170},[174,959,960,963,965],{"class":176,"line":177},[174,961,962],{"class":208},"trustedProxies ",[174,964,437],{"class":197},[174,966,698],{"class":208},[174,968,969,971,974,976],{"class":176,"line":212},[174,970,895],{"class":197},[174,972,973],{"class":201},"127.0.0.1",[174,975,735],{"class":197},[174,977,264],{"class":208},[174,979,980],{"class":176,"line":242},[174,981,752],{"class":208},[103,983,984,985,988,989,992,993,996,997,1000,1001,1004],{},"Requests from a registered proxy ",[115,986,987],{},"skip the address check",", which means access control becomes the proxy's job — configure authentication there (Caddy ",[160,990,991],{},"basic_auth",", nginx ",[160,994,995],{},"allow"," \u002F ",[160,998,999],{},"deny",", Cloudflare Access). ",[160,1002,1003],{},"X-Forwarded-For"," is only written to the debug log, never used to authorise, because any client can forge it.",[758,1006,1007,1008,1011,1012,1015,1016,1018],{},"If you run a tunnel such as ",[160,1009,1010],{},"cloudflared"," or ",[160,1013,1014],{},"ngrok"," on the same host, every visitor arrives as ",[160,1017,973],{},". The default loopback entry then no longer means \"this machine only\" — add authentication at the tunnel.",[131,1020,1022],{"id":1021},"common-setups","Common setups",[585,1024,1025,1038],{},[588,1026,1027],{},[591,1028,1029,1032,1035],{},[594,1030,1031],{},"Setup",[594,1033,1034],{},"Config",[594,1036,1037],{},"Notes",[603,1039,1040,1051,1065,1079,1093],{},[591,1041,1042,1045,1048],{},[608,1043,1044],{},"In-game only",[608,1046,1047],{},"Defaults",[608,1049,1050],{},"Nothing to configure",[591,1052,1053,1056,1062],{},[608,1054,1055],{},"SSH port forward",[608,1057,1058,1061],{},[160,1059,1060],{},"enabled = true"," only",[608,1063,1064],{},"Source is loopback, already allowed",[591,1066,1067,1070,1076],{},[608,1068,1069],{},"Tailscale \u002F WireGuard",[608,1071,1072,1073],{},"Add ",[160,1074,1075],{},"100.64.0.0\u002F10",[608,1077,1078],{},"Or the single device address",[591,1080,1081,1084,1087],{},[608,1082,1083],{},"Same LAN",[608,1085,1086],{},"Add your LAN range",[608,1088,1089,1090],{},"e.g. ",[160,1091,1092],{},"192.168.1.0\u002F24",[591,1094,1095,1098,1103],{},[608,1096,1097],{},"Reverse proxy + HTTPS",[608,1099,1100],{},[160,1101,1102],{},"trustedProxies = { \"127.0.0.1\" }",[608,1104,1105],{},[115,1106,1107],{},"Authentication must be set on the proxy",[758,1109,1110],{},"The browser route speaks plain HTTP — FiveM cannot terminate TLS. The token travels unencrypted, so only use this route inside an encrypted path (VPN, SSH tunnel, or a TLS reverse proxy).",[107,1112,1114],{"id":1113},"command","Command",[585,1116,1117,1129],{},[588,1118,1119],{},[591,1120,1121,1123,1126],{},[594,1122,1114],{},[594,1124,1125],{},"Permission",[594,1127,1128],{},"Description",[603,1130,1131],{},[591,1132,1133,1137,1141],{},[608,1134,1135],{},[160,1136,615],{},[608,1138,1139],{},[160,1140,672],{},[608,1142,1143],{},"Opens the admin UI in-game",[107,1145,1147],{"id":1146},"exports","Exports",[131,1149,1151],{"id":1150},"getcost",[160,1152,1153],{},"getCost",[103,1155,1156],{},"Returns the cost of an item.",[585,1158,1159,1171],{},[588,1160,1161],{},[591,1162,1163,1166,1169],{},[594,1164,1165],{},"Argument",[594,1167,1168],{},"Type",[594,1170,1128],{},[603,1172,1173],{},[591,1174,1175,1180,1185],{},[608,1176,1177],{},[160,1178,1179],{},"itemName",[608,1181,1182],{},[160,1183,1184],{},"string",[608,1186,1187],{},"Item name to look up",[103,1189,1190,1191,1194,1195,1198],{},"Returns ",[160,1192,1193],{},"integer?"," — ",[160,1196,1197],{},"nil"," when the item is not registered.",[165,1200,1202],{"className":680,"code":1201,"language":682,"meta":170,"style":170},"exports.REC_ItemManager:getCost(itemName)\n",[160,1203,1204],{"__ignoreMap":170},[174,1205,1206,1209,1211,1214,1216],{"class":176,"line":177},[174,1207,1208],{"class":208},"exports.",[174,1210,44],{"class":485},[174,1212,1213],{"class":208},":",[174,1215,1153],{"class":187},[174,1217,1218],{"class":208},"(itemName)\n",[131,1220,1222],{"id":1221},"getprice",[160,1223,1224],{},"getPrice",[103,1226,1227],{},"Returns the price of an item.",[585,1229,1230,1240],{},[588,1231,1232],{},[591,1233,1234,1236,1238],{},[594,1235,1165],{},[594,1237,1168],{},[594,1239,1128],{},[603,1241,1242],{},[591,1243,1244,1248,1252],{},[608,1245,1246],{},[160,1247,1179],{},[608,1249,1250],{},[160,1251,1184],{},[608,1253,1187],{},[103,1255,1190,1256,1194,1258,1198],{},[160,1257,1193],{},[160,1259,1197],{},[165,1261,1263],{"className":680,"code":1262,"language":682,"meta":170,"style":170},"exports.REC_ItemManager:getPrice(itemName)\n",[160,1264,1265],{"__ignoreMap":170},[174,1266,1267,1269,1271,1273,1275],{"class":176,"line":177},[174,1268,1208],{"class":208},[174,1270,44],{"class":485},[174,1272,1213],{"class":208},[174,1274,1224],{"class":187},[174,1276,1218],{"class":208},[131,1278,1280],{"id":1279},"getitems",[160,1281,1282],{},"getItems",[103,1284,1285],{},"Returns every item's metadata, keyed by item name.",[103,1287,1288,1289,1213],{},"Takes no arguments. Returns ",[160,1290,1291],{},"table\u003Cstring, MetaData>",[585,1293,1294,1305],{},[588,1295,1296],{},[591,1297,1298,1301,1303],{},[594,1299,1300],{},"Field",[594,1302,1168],{},[594,1304,1128],{},[603,1306,1307,1320,1340,1354,1371,1385,1398,1411,1424],{},[591,1308,1309,1313,1317],{},[608,1310,1311],{},[160,1312,247],{},[608,1314,1315],{},[160,1316,1184],{},[608,1318,1319],{},"Item name",[591,1321,1322,1327,1332],{},[608,1323,1324],{},[160,1325,1326],{},"type",[608,1328,1329],{},[160,1330,1331],{},"ItemTypes",[608,1333,1334,1011,1337],{},[160,1335,1336],{},"general",[160,1338,1339],{},"weapon",[591,1341,1342,1347,1351],{},[608,1343,1344],{},[160,1345,1346],{},"label",[608,1348,1349],{},[160,1350,1184],{},[608,1352,1353],{},"Display label",[591,1355,1356,1361,1365],{},[608,1357,1358],{},[160,1359,1360],{},"image",[608,1362,1363],{},[160,1364,1184],{},[608,1366,1367,1368],{},"File name under ",[160,1369,1370],{},"ox_inventory\u002Fweb\u002Fimages",[591,1372,1373,1377,1382],{},[608,1374,1375],{},[160,1376,272],{},[608,1378,1379],{},[160,1380,1381],{},"integer",[608,1383,1384],{},"Cost",[591,1386,1387,1391,1395],{},[608,1388,1389],{},[160,1390,317],{},[608,1392,1393],{},[160,1394,1381],{},[608,1396,1397],{},"Price",[591,1399,1400,1404,1408],{},[608,1401,1402],{},[160,1403,294],{},[608,1405,1406],{},[160,1407,1381],{},[608,1409,1410],{},"Amount in circulation",[591,1412,1413,1417,1421],{},[608,1414,1415],{},[160,1416,339],{},[608,1418,1419],{},[160,1420,1193],{},[608,1422,1423],{},"Last updated",[591,1425,1426,1430,1434],{},[608,1427,1428],{},[160,1429,372],{},[608,1431,1432],{},[160,1433,1193],{},[608,1435,1436],{},"Created",[165,1438,1440],{"className":680,"code":1439,"language":682,"meta":170,"style":170},"exports.REC_ItemManager:getItems()\n",[160,1441,1442],{"__ignoreMap":170},[174,1443,1444,1446,1448,1450,1452],{"class":176,"line":177},[174,1445,1208],{"class":208},[174,1447,44],{"class":485},[174,1449,1213],{"class":208},[174,1451,1282],{"class":187},[174,1453,1454],{"class":208},"()\n",[1456,1457,1460,1461,815],"callout",{"color":1458,"icon":1459},"primary","i-lucide-database","All three read the cache built at startup. The database is only touched when the resource starts, when you save a cost \u002F price, and when you press ",[115,1462,1463],{},"Recount circulation",[107,1465,1467],{"id":1466},"stracture","Stracture",[1469,1470,1472,2220,2710],"code-tree",{"default-value":1471},"config\u002Fsv_config.lua",[165,1473,1475],{"className":680,"code":1474,"filename":1471,"language":682,"meta":170,"style":170},"  ---@class REC_ItemManager.Server.Config\n  local config = {}\n\n  ---[[\n  ---     Default cost of an item\n  ---]]\n  ---@type integer\n  config.defaultCost = 10000\n\n  ---[[\n  ---     Default price of an item\n  ---]]\n  ---@type integer\n  config.defaultPrice = 20000\n\n  ---[[\n  ---     Only count players who logged out within this many days\n  ---]]\n  ---@type integer\n  config.targetPlayerLastLoginDays = 3\n\n  ---[[\n  ---     Set this when cash is handled as an inventory item\n  ---]]\n  config.cash = {\n\n      ---@type boolean\n      enabled = true,\n\n      ---@type string\n      itemName = \"money\",\n  }\n\n  ---[[\n  ---     Citizen ids to leave out of the circulation count\n  ---]]\n  ---@type string[]\n  config.ignoreCountCitizenIds = {\n      -- \"OJLN42H4\",\n  }\n\n  ---[[\n  ---     Admin UI\n  ---     The in-game UI (\u002Fitemmanager) is always available and is gated by aceGroups.\n  ---     config.web.http below only affects the browser route.\n  ---]]\n  config.web = {\n\n      ---@type string[]\n      aceGroups = {\n          \"admin\",\n      },\n\n      http = {\n\n          ---@type boolean\n          enabled = false,\n\n          ---@type string\n          token = GetConvar(GetCurrentResourceName() .. \":adminToken\", \"\"),\n\n          ---@type string\n          distDir = \"web\u002Fbuild\",\n\n          ---@type string[]\n          allowedAddresses = {\n              \"127.0.0.0\u002F8\",\n              \"::1\",\n          },\n\n          ---@type string[]\n          trustedProxies = {\n          },\n\n          images = {\n\n              ---@type string\n              resource = \"ox_inventory\",\n\n              ---@type string\n              dir = \"web\u002Fimages\",\n          },\n      },\n  }\n\n  ---[[\n  ---    Debug Mode\n  ---]]\n  ---@type boolean\n  config.debugMode = true\n\n  return config\n",[160,1476,1477,1488,1501,1505,1510,1515,1520,1529,1542,1546,1550,1555,1560,1569,1582,1587,1592,1598,1603,1612,1625,1630,1635,1641,1646,1658,1663,1674,1687,1692,1702,1719,1725,1730,1735,1741,1746,1755,1767,1773,1778,1783,1788,1794,1800,1806,1811,1822,1827,1836,1846,1858,1864,1869,1879,1884,1894,1907,1912,1921,1957,1962,1971,1988,1993,2002,2012,2024,2035,2041,2046,2055,2065,2070,2075,2085,2090,2100,2117,2122,2131,2148,2153,2158,2163,2168,2173,2179,2184,2193,2205,2210],{"__ignoreMap":170},[174,1478,1479,1482,1485],{"class":176,"line":177},[174,1480,1481],{"class":479},"  ---",[174,1483,1484],{"class":710},"@class",[174,1486,1487],{"class":714}," REC_ItemManager.Server.Config\n",[174,1489,1490,1493,1496,1498],{"class":176,"line":212},[174,1491,1492],{"class":197},"  local",[174,1494,1495],{"class":208}," config ",[174,1497,437],{"class":197},[174,1499,1500],{"class":208}," {}\n",[174,1502,1503],{"class":176,"line":242},[174,1504,502],{"emptyLinePlaceholder":501},[174,1506,1507],{"class":176,"line":267},[174,1508,1509],{"class":479},"  ---[[\n",[174,1511,1512],{"class":176,"line":289},[174,1513,1514],{"class":479},"  ---     Default cost of an item\n",[174,1516,1517],{"class":176,"line":312},[174,1518,1519],{"class":479},"  ---]]\n",[174,1521,1522,1524,1526],{"class":176,"line":334},[174,1523,1481],{"class":479},[174,1525,711],{"class":710},[174,1527,1528],{"class":714}," integer\n",[174,1530,1531,1534,1537,1539],{"class":176,"line":367},[174,1532,1533],{"class":208},"  config.",[174,1535,1536],{"class":485},"defaultCost",[174,1538,695],{"class":197},[174,1540,1541],{"class":180}," 10000\n",[174,1543,1544],{"class":176,"line":387},[174,1545,502],{"emptyLinePlaceholder":501},[174,1547,1548],{"class":176,"line":405},[174,1549,1509],{"class":479},[174,1551,1552],{"class":176,"line":431},[174,1553,1554],{"class":479},"  ---     Default price of an item\n",[174,1556,1558],{"class":176,"line":1557},12,[174,1559,1519],{"class":479},[174,1561,1563,1565,1567],{"class":176,"line":1562},13,[174,1564,1481],{"class":479},[174,1566,711],{"class":710},[174,1568,1528],{"class":714},[174,1570,1572,1574,1577,1579],{"class":176,"line":1571},14,[174,1573,1533],{"class":208},[174,1575,1576],{"class":485},"defaultPrice",[174,1578,695],{"class":197},[174,1580,1581],{"class":180}," 20000\n",[174,1583,1585],{"class":176,"line":1584},15,[174,1586,502],{"emptyLinePlaceholder":501},[174,1588,1590],{"class":176,"line":1589},16,[174,1591,1509],{"class":479},[174,1593,1595],{"class":176,"line":1594},17,[174,1596,1597],{"class":479},"  ---     Only count players who logged out within this many days\n",[174,1599,1601],{"class":176,"line":1600},18,[174,1602,1519],{"class":479},[174,1604,1606,1608,1610],{"class":176,"line":1605},19,[174,1607,1481],{"class":479},[174,1609,711],{"class":710},[174,1611,1528],{"class":714},[174,1613,1615,1617,1620,1622],{"class":176,"line":1614},20,[174,1616,1533],{"class":208},[174,1618,1619],{"class":485},"targetPlayerLastLoginDays",[174,1621,695],{"class":197},[174,1623,1624],{"class":180}," 3\n",[174,1626,1628],{"class":176,"line":1627},21,[174,1629,502],{"emptyLinePlaceholder":501},[174,1631,1633],{"class":176,"line":1632},22,[174,1634,1509],{"class":479},[174,1636,1638],{"class":176,"line":1637},23,[174,1639,1640],{"class":479},"  ---     Set this when cash is handled as an inventory item\n",[174,1642,1644],{"class":176,"line":1643},24,[174,1645,1519],{"class":479},[174,1647,1649,1651,1654,1656],{"class":176,"line":1648},25,[174,1650,1533],{"class":208},[174,1652,1653],{"class":485},"cash",[174,1655,695],{"class":197},[174,1657,698],{"class":208},[174,1659,1661],{"class":176,"line":1660},26,[174,1662,502],{"emptyLinePlaceholder":501},[174,1664,1666,1669,1671],{"class":176,"line":1665},27,[174,1667,1668],{"class":479},"      ---",[174,1670,711],{"class":710},[174,1672,1673],{"class":714}," boolean\n",[174,1675,1677,1680,1682,1685],{"class":176,"line":1676},28,[174,1678,1679],{"class":208},"      enabled ",[174,1681,437],{"class":197},[174,1683,1684],{"class":197}," true",[174,1686,264],{"class":208},[174,1688,1690],{"class":176,"line":1689},29,[174,1691,502],{"emptyLinePlaceholder":501},[174,1693,1695,1697,1699],{"class":176,"line":1694},30,[174,1696,1668],{"class":479},[174,1698,711],{"class":710},[174,1700,1701],{"class":714}," string\n",[174,1703,1705,1708,1710,1712,1715,1717],{"class":176,"line":1704},31,[174,1706,1707],{"class":208},"      itemName ",[174,1709,437],{"class":197},[174,1711,844],{"class":197},[174,1713,1714],{"class":201},"money",[174,1716,735],{"class":197},[174,1718,264],{"class":208},[174,1720,1722],{"class":176,"line":1721},32,[174,1723,1724],{"class":208},"  }\n",[174,1726,1728],{"class":176,"line":1727},33,[174,1729,502],{"emptyLinePlaceholder":501},[174,1731,1733],{"class":176,"line":1732},34,[174,1734,1509],{"class":479},[174,1736,1738],{"class":176,"line":1737},35,[174,1739,1740],{"class":479},"  ---     Citizen ids to leave out of the circulation count\n",[174,1742,1744],{"class":176,"line":1743},36,[174,1745,1519],{"class":479},[174,1747,1749,1751,1753],{"class":176,"line":1748},37,[174,1750,1481],{"class":479},[174,1752,711],{"class":710},[174,1754,715],{"class":714},[174,1756,1758,1760,1763,1765],{"class":176,"line":1757},38,[174,1759,1533],{"class":208},[174,1761,1762],{"class":485},"ignoreCountCitizenIds",[174,1764,695],{"class":197},[174,1766,698],{"class":208},[174,1768,1770],{"class":176,"line":1769},39,[174,1771,1772],{"class":479},"      -- \"OJLN42H4\",\n",[174,1774,1776],{"class":176,"line":1775},40,[174,1777,1724],{"class":208},[174,1779,1781],{"class":176,"line":1780},41,[174,1782,502],{"emptyLinePlaceholder":501},[174,1784,1786],{"class":176,"line":1785},42,[174,1787,1509],{"class":479},[174,1789,1791],{"class":176,"line":1790},43,[174,1792,1793],{"class":479},"  ---     Admin UI\n",[174,1795,1797],{"class":176,"line":1796},44,[174,1798,1799],{"class":479},"  ---     The in-game UI (\u002Fitemmanager) is always available and is gated by aceGroups.\n",[174,1801,1803],{"class":176,"line":1802},45,[174,1804,1805],{"class":479},"  ---     config.web.http below only affects the browser route.\n",[174,1807,1809],{"class":176,"line":1808},46,[174,1810,1519],{"class":479},[174,1812,1814,1816,1818,1820],{"class":176,"line":1813},47,[174,1815,1533],{"class":208},[174,1817,692],{"class":485},[174,1819,695],{"class":197},[174,1821,698],{"class":208},[174,1823,1825],{"class":176,"line":1824},48,[174,1826,502],{"emptyLinePlaceholder":501},[174,1828,1830,1832,1834],{"class":176,"line":1829},49,[174,1831,1668],{"class":479},[174,1833,711],{"class":710},[174,1835,715],{"class":714},[174,1837,1839,1842,1844],{"class":176,"line":1838},50,[174,1840,1841],{"class":208},"      aceGroups ",[174,1843,437],{"class":197},[174,1845,698],{"class":208},[174,1847,1849,1852,1854,1856],{"class":176,"line":1848},51,[174,1850,1851],{"class":197},"          \"",[174,1853,732],{"class":201},[174,1855,735],{"class":197},[174,1857,264],{"class":208},[174,1859,1861],{"class":176,"line":1860},52,[174,1862,1863],{"class":208},"      },\n",[174,1865,1867],{"class":176,"line":1866},53,[174,1868,502],{"emptyLinePlaceholder":501},[174,1870,1872,1875,1877],{"class":176,"line":1871},54,[174,1873,1874],{"class":208},"      http ",[174,1876,437],{"class":197},[174,1878,698],{"class":208},[174,1880,1882],{"class":176,"line":1881},55,[174,1883,502],{"emptyLinePlaceholder":501},[174,1885,1887,1890,1892],{"class":176,"line":1886},56,[174,1888,1889],{"class":479},"          ---",[174,1891,711],{"class":710},[174,1893,1673],{"class":714},[174,1895,1897,1900,1902,1905],{"class":176,"line":1896},57,[174,1898,1899],{"class":208},"          enabled ",[174,1901,437],{"class":197},[174,1903,1904],{"class":197}," false",[174,1906,264],{"class":208},[174,1908,1910],{"class":176,"line":1909},58,[174,1911,502],{"emptyLinePlaceholder":501},[174,1913,1915,1917,1919],{"class":176,"line":1914},59,[174,1916,1889],{"class":479},[174,1918,711],{"class":710},[174,1920,1701],{"class":714},[174,1922,1924,1927,1929,1932,1934,1937,1939,1942,1944,1947,1949,1952,1955],{"class":176,"line":1923},60,[174,1925,1926],{"class":208},"          token ",[174,1928,437],{"class":197},[174,1930,1931],{"class":187}," GetConvar",[174,1933,227],{"class":208},[174,1935,1936],{"class":187},"GetCurrentResourceName",[174,1938,356],{"class":208},[174,1940,1941],{"class":197},"..",[174,1943,844],{"class":197},[174,1945,1946],{"class":201},":adminToken",[174,1948,735],{"class":197},[174,1950,1951],{"class":208},", ",[174,1953,1954],{"class":197},"\"\"",[174,1956,402],{"class":208},[174,1958,1960],{"class":176,"line":1959},61,[174,1961,502],{"emptyLinePlaceholder":501},[174,1963,1965,1967,1969],{"class":176,"line":1964},62,[174,1966,1889],{"class":479},[174,1968,711],{"class":710},[174,1970,1701],{"class":714},[174,1972,1974,1977,1979,1981,1984,1986],{"class":176,"line":1973},63,[174,1975,1976],{"class":208},"          distDir ",[174,1978,437],{"class":197},[174,1980,844],{"class":197},[174,1982,1983],{"class":201},"web\u002Fbuild",[174,1985,735],{"class":197},[174,1987,264],{"class":208},[174,1989,1991],{"class":176,"line":1990},64,[174,1992,502],{"emptyLinePlaceholder":501},[174,1994,1996,1998,2000],{"class":176,"line":1995},65,[174,1997,1889],{"class":479},[174,1999,711],{"class":710},[174,2001,715],{"class":714},[174,2003,2005,2008,2010],{"class":176,"line":2004},66,[174,2006,2007],{"class":208},"          allowedAddresses ",[174,2009,437],{"class":197},[174,2011,698],{"class":208},[174,2013,2015,2018,2020,2022],{"class":176,"line":2014},67,[174,2016,2017],{"class":197},"              \"",[174,2019,898],{"class":201},[174,2021,735],{"class":197},[174,2023,264],{"class":208},[174,2025,2027,2029,2031,2033],{"class":176,"line":2026},68,[174,2028,2017],{"class":197},[174,2030,913],{"class":201},[174,2032,735],{"class":197},[174,2034,264],{"class":208},[174,2036,2038],{"class":176,"line":2037},69,[174,2039,2040],{"class":208},"          },\n",[174,2042,2044],{"class":176,"line":2043},70,[174,2045,502],{"emptyLinePlaceholder":501},[174,2047,2049,2051,2053],{"class":176,"line":2048},71,[174,2050,1889],{"class":479},[174,2052,711],{"class":710},[174,2054,715],{"class":714},[174,2056,2058,2061,2063],{"class":176,"line":2057},72,[174,2059,2060],{"class":208},"          trustedProxies ",[174,2062,437],{"class":197},[174,2064,698],{"class":208},[174,2066,2068],{"class":176,"line":2067},73,[174,2069,2040],{"class":208},[174,2071,2073],{"class":176,"line":2072},74,[174,2074,502],{"emptyLinePlaceholder":501},[174,2076,2078,2081,2083],{"class":176,"line":2077},75,[174,2079,2080],{"class":208},"          images ",[174,2082,437],{"class":197},[174,2084,698],{"class":208},[174,2086,2088],{"class":176,"line":2087},76,[174,2089,502],{"emptyLinePlaceholder":501},[174,2091,2093,2096,2098],{"class":176,"line":2092},77,[174,2094,2095],{"class":479},"              ---",[174,2097,711],{"class":710},[174,2099,1701],{"class":714},[174,2101,2103,2106,2108,2110,2113,2115],{"class":176,"line":2102},78,[174,2104,2105],{"class":208},"              resource ",[174,2107,437],{"class":197},[174,2109,844],{"class":197},[174,2111,2112],{"class":201},"ox_inventory",[174,2114,735],{"class":197},[174,2116,264],{"class":208},[174,2118,2120],{"class":176,"line":2119},79,[174,2121,502],{"emptyLinePlaceholder":501},[174,2123,2125,2127,2129],{"class":176,"line":2124},80,[174,2126,2095],{"class":479},[174,2128,711],{"class":710},[174,2130,1701],{"class":714},[174,2132,2134,2137,2139,2141,2144,2146],{"class":176,"line":2133},81,[174,2135,2136],{"class":208},"              dir ",[174,2138,437],{"class":197},[174,2140,844],{"class":197},[174,2142,2143],{"class":201},"web\u002Fimages",[174,2145,735],{"class":197},[174,2147,264],{"class":208},[174,2149,2151],{"class":176,"line":2150},82,[174,2152,2040],{"class":208},[174,2154,2156],{"class":176,"line":2155},83,[174,2157,1863],{"class":208},[174,2159,2161],{"class":176,"line":2160},84,[174,2162,1724],{"class":208},[174,2164,2166],{"class":176,"line":2165},85,[174,2167,502],{"emptyLinePlaceholder":501},[174,2169,2171],{"class":176,"line":2170},86,[174,2172,1509],{"class":479},[174,2174,2176],{"class":176,"line":2175},87,[174,2177,2178],{"class":479},"  ---    Debug Mode\n",[174,2180,2182],{"class":176,"line":2181},88,[174,2183,1519],{"class":479},[174,2185,2187,2189,2191],{"class":176,"line":2186},89,[174,2188,1481],{"class":479},[174,2190,711],{"class":710},[174,2192,1673],{"class":714},[174,2194,2196,2198,2201,2203],{"class":176,"line":2195},90,[174,2197,1533],{"class":208},[174,2199,2200],{"class":485},"debugMode",[174,2202,695],{"class":197},[174,2204,828],{"class":197},[174,2206,2208],{"class":176,"line":2207},91,[174,2209,502],{"emptyLinePlaceholder":501},[174,2211,2213,2217],{"class":176,"line":2212},92,[174,2214,2216],{"class":2215},"s7zQu","  return",[174,2218,2219],{"class":208}," config\n",[165,2221,2224],{"className":680,"code":2222,"filename":2223,"language":682,"meta":170,"style":170},"  fx_version 'cerulean'\n  game 'gta5'\n  lua54 'yes'\n\n  version 'v1.1.0'\n  author 'Ⓒ RE:CORD | @Nazu'\n  description 'Ⓒ RE:CORD Script Template'\n\n  dependencies {\n      'ox_lib',\n      'REC_Library',\n      'REC_PlayerManager',\n  }\n\n  shared_script {\n      '@ox_lib\u002Finit.lua',\n      'config\u002Fsh_config.lua',\n      'locales\u002F*.lua',\n      'shared\u002F*.lua',\n  }\n\n  client_scripts {\n      'handler\u002Fcl_handler.lua',\n      'client\u002Fmanager\u002F*.lua',\n      'client\u002F*.lua'\n  }\n\n  server_scripts {\n      '@oxmysql\u002Flib\u002FMySQL.lua',\n      'config\u002Fsv_config.lua',\n      'handler\u002Fsv_handler.lua',\n      'server\u002Fmanager\u002F*.lua',\n      'server\u002F*.lua',\n  }\n\n  ui_page 'web\u002Fbuild\u002Findex.html'\n\n  files {\n      'web\u002Fbuild\u002Findex.html',\n      'web\u002Fbuild\u002Fassets\u002F*',\n      'locales\u002Fweb\u002F*.json',\n  }\n\n  escrow_ignore {\n      'config\u002F*.lua',\n      'handler\u002F*.lua',\n      'locales\u002F*.lua',\n      'locales\u002Fweb\u002F*.json',\n      'client\u002Fcl_utils.lua',\n      'client\u002Fmanager\u002F*.lua',\n      'server\u002Fsv_utils.lua',\n      'server\u002Fmanager\u002F*.lua',\n      'shared\u002F*.lua',\n      'annotations.lua',\n  }\n","fxmanifest.lua",[160,2225,2226,2240,2252,2264,2268,2280,2292,2304,2308,2315,2328,2338,2349,2353,2357,2364,2375,2386,2397,2408,2412,2416,2423,2434,2445,2454,2458,2462,2469,2480,2490,2501,2512,2523,2527,2531,2543,2547,2554,2564,2575,2586,2590,2594,2601,2612,2623,2633,2643,2654,2664,2675,2685,2695,2706],{"__ignoreMap":170},[174,2227,2228,2231,2234,2237],{"class":176,"line":177},[174,2229,2230],{"class":187},"  fx_version",[174,2232,2233],{"class":197}," '",[174,2235,2236],{"class":201},"cerulean",[174,2238,2239],{"class":197},"'\n",[174,2241,2242,2245,2247,2250],{"class":176,"line":212},[174,2243,2244],{"class":187},"  game",[174,2246,2233],{"class":197},[174,2248,2249],{"class":201},"gta5",[174,2251,2239],{"class":197},[174,2253,2254,2257,2259,2262],{"class":176,"line":242},[174,2255,2256],{"class":187},"  lua54",[174,2258,2233],{"class":197},[174,2260,2261],{"class":201},"yes",[174,2263,2239],{"class":197},[174,2265,2266],{"class":176,"line":267},[174,2267,502],{"emptyLinePlaceholder":501},[174,2269,2270,2273,2275,2278],{"class":176,"line":289},[174,2271,2272],{"class":187},"  version",[174,2274,2233],{"class":197},[174,2276,2277],{"class":201},"v1.1.0",[174,2279,2239],{"class":197},[174,2281,2282,2285,2287,2290],{"class":176,"line":312},[174,2283,2284],{"class":187},"  author",[174,2286,2233],{"class":197},[174,2288,2289],{"class":201},"Ⓒ RE:CORD | @Nazu",[174,2291,2239],{"class":197},[174,2293,2294,2297,2299,2302],{"class":176,"line":334},[174,2295,2296],{"class":187},"  description",[174,2298,2233],{"class":197},[174,2300,2301],{"class":201},"Ⓒ RE:CORD Script Template",[174,2303,2239],{"class":197},[174,2305,2306],{"class":176,"line":367},[174,2307,502],{"emptyLinePlaceholder":501},[174,2309,2310,2313],{"class":176,"line":387},[174,2311,2312],{"class":187},"  dependencies",[174,2314,698],{"class":208},[174,2316,2317,2320,2323,2326],{"class":176,"line":405},[174,2318,2319],{"class":197},"      '",[174,2321,2322],{"class":201},"ox_lib",[174,2324,2325],{"class":197},"'",[174,2327,264],{"class":208},[174,2329,2330,2332,2334,2336],{"class":176,"line":431},[174,2331,2319],{"class":197},[174,2333,28],{"class":201},[174,2335,2325],{"class":197},[174,2337,264],{"class":208},[174,2339,2340,2342,2345,2347],{"class":176,"line":1557},[174,2341,2319],{"class":197},[174,2343,2344],{"class":201},"REC_PlayerManager",[174,2346,2325],{"class":197},[174,2348,264],{"class":208},[174,2350,2351],{"class":176,"line":1562},[174,2352,1724],{"class":208},[174,2354,2355],{"class":176,"line":1571},[174,2356,502],{"emptyLinePlaceholder":501},[174,2358,2359,2362],{"class":176,"line":1584},[174,2360,2361],{"class":187},"  shared_script",[174,2363,698],{"class":208},[174,2365,2366,2368,2371,2373],{"class":176,"line":1589},[174,2367,2319],{"class":197},[174,2369,2370],{"class":201},"@ox_lib\u002Finit.lua",[174,2372,2325],{"class":197},[174,2374,264],{"class":208},[174,2376,2377,2379,2382,2384],{"class":176,"line":1594},[174,2378,2319],{"class":197},[174,2380,2381],{"class":201},"config\u002Fsh_config.lua",[174,2383,2325],{"class":197},[174,2385,264],{"class":208},[174,2387,2388,2390,2393,2395],{"class":176,"line":1600},[174,2389,2319],{"class":197},[174,2391,2392],{"class":201},"locales\u002F*.lua",[174,2394,2325],{"class":197},[174,2396,264],{"class":208},[174,2398,2399,2401,2404,2406],{"class":176,"line":1605},[174,2400,2319],{"class":197},[174,2402,2403],{"class":201},"shared\u002F*.lua",[174,2405,2325],{"class":197},[174,2407,264],{"class":208},[174,2409,2410],{"class":176,"line":1614},[174,2411,1724],{"class":208},[174,2413,2414],{"class":176,"line":1627},[174,2415,502],{"emptyLinePlaceholder":501},[174,2417,2418,2421],{"class":176,"line":1632},[174,2419,2420],{"class":187},"  client_scripts",[174,2422,698],{"class":208},[174,2424,2425,2427,2430,2432],{"class":176,"line":1637},[174,2426,2319],{"class":197},[174,2428,2429],{"class":201},"handler\u002Fcl_handler.lua",[174,2431,2325],{"class":197},[174,2433,264],{"class":208},[174,2435,2436,2438,2441,2443],{"class":176,"line":1643},[174,2437,2319],{"class":197},[174,2439,2440],{"class":201},"client\u002Fmanager\u002F*.lua",[174,2442,2325],{"class":197},[174,2444,264],{"class":208},[174,2446,2447,2449,2452],{"class":176,"line":1648},[174,2448,2319],{"class":197},[174,2450,2451],{"class":201},"client\u002F*.lua",[174,2453,2239],{"class":197},[174,2455,2456],{"class":176,"line":1660},[174,2457,1724],{"class":208},[174,2459,2460],{"class":176,"line":1665},[174,2461,502],{"emptyLinePlaceholder":501},[174,2463,2464,2467],{"class":176,"line":1676},[174,2465,2466],{"class":187},"  server_scripts",[174,2468,698],{"class":208},[174,2470,2471,2473,2476,2478],{"class":176,"line":1689},[174,2472,2319],{"class":197},[174,2474,2475],{"class":201},"@oxmysql\u002Flib\u002FMySQL.lua",[174,2477,2325],{"class":197},[174,2479,264],{"class":208},[174,2481,2482,2484,2486,2488],{"class":176,"line":1694},[174,2483,2319],{"class":197},[174,2485,1471],{"class":201},[174,2487,2325],{"class":197},[174,2489,264],{"class":208},[174,2491,2492,2494,2497,2499],{"class":176,"line":1704},[174,2493,2319],{"class":197},[174,2495,2496],{"class":201},"handler\u002Fsv_handler.lua",[174,2498,2325],{"class":197},[174,2500,264],{"class":208},[174,2502,2503,2505,2508,2510],{"class":176,"line":1721},[174,2504,2319],{"class":197},[174,2506,2507],{"class":201},"server\u002Fmanager\u002F*.lua",[174,2509,2325],{"class":197},[174,2511,264],{"class":208},[174,2513,2514,2516,2519,2521],{"class":176,"line":1727},[174,2515,2319],{"class":197},[174,2517,2518],{"class":201},"server\u002F*.lua",[174,2520,2325],{"class":197},[174,2522,264],{"class":208},[174,2524,2525],{"class":176,"line":1732},[174,2526,1724],{"class":208},[174,2528,2529],{"class":176,"line":1737},[174,2530,502],{"emptyLinePlaceholder":501},[174,2532,2533,2536,2538,2541],{"class":176,"line":1743},[174,2534,2535],{"class":187},"  ui_page",[174,2537,2233],{"class":197},[174,2539,2540],{"class":201},"web\u002Fbuild\u002Findex.html",[174,2542,2239],{"class":197},[174,2544,2545],{"class":176,"line":1748},[174,2546,502],{"emptyLinePlaceholder":501},[174,2548,2549,2552],{"class":176,"line":1757},[174,2550,2551],{"class":187},"  files",[174,2553,698],{"class":208},[174,2555,2556,2558,2560,2562],{"class":176,"line":1769},[174,2557,2319],{"class":197},[174,2559,2540],{"class":201},[174,2561,2325],{"class":197},[174,2563,264],{"class":208},[174,2565,2566,2568,2571,2573],{"class":176,"line":1775},[174,2567,2319],{"class":197},[174,2569,2570],{"class":201},"web\u002Fbuild\u002Fassets\u002F*",[174,2572,2325],{"class":197},[174,2574,264],{"class":208},[174,2576,2577,2579,2582,2584],{"class":176,"line":1780},[174,2578,2319],{"class":197},[174,2580,2581],{"class":201},"locales\u002Fweb\u002F*.json",[174,2583,2325],{"class":197},[174,2585,264],{"class":208},[174,2587,2588],{"class":176,"line":1785},[174,2589,1724],{"class":208},[174,2591,2592],{"class":176,"line":1790},[174,2593,502],{"emptyLinePlaceholder":501},[174,2595,2596,2599],{"class":176,"line":1796},[174,2597,2598],{"class":187},"  escrow_ignore",[174,2600,698],{"class":208},[174,2602,2603,2605,2608,2610],{"class":176,"line":1802},[174,2604,2319],{"class":197},[174,2606,2607],{"class":201},"config\u002F*.lua",[174,2609,2325],{"class":197},[174,2611,264],{"class":208},[174,2613,2614,2616,2619,2621],{"class":176,"line":1808},[174,2615,2319],{"class":197},[174,2617,2618],{"class":201},"handler\u002F*.lua",[174,2620,2325],{"class":197},[174,2622,264],{"class":208},[174,2624,2625,2627,2629,2631],{"class":176,"line":1813},[174,2626,2319],{"class":197},[174,2628,2392],{"class":201},[174,2630,2325],{"class":197},[174,2632,264],{"class":208},[174,2634,2635,2637,2639,2641],{"class":176,"line":1824},[174,2636,2319],{"class":197},[174,2638,2581],{"class":201},[174,2640,2325],{"class":197},[174,2642,264],{"class":208},[174,2644,2645,2647,2650,2652],{"class":176,"line":1829},[174,2646,2319],{"class":197},[174,2648,2649],{"class":201},"client\u002Fcl_utils.lua",[174,2651,2325],{"class":197},[174,2653,264],{"class":208},[174,2655,2656,2658,2660,2662],{"class":176,"line":1838},[174,2657,2319],{"class":197},[174,2659,2440],{"class":201},[174,2661,2325],{"class":197},[174,2663,264],{"class":208},[174,2665,2666,2668,2671,2673],{"class":176,"line":1848},[174,2667,2319],{"class":197},[174,2669,2670],{"class":201},"server\u002Fsv_utils.lua",[174,2672,2325],{"class":197},[174,2674,264],{"class":208},[174,2676,2677,2679,2681,2683],{"class":176,"line":1860},[174,2678,2319],{"class":197},[174,2680,2507],{"class":201},[174,2682,2325],{"class":197},[174,2684,264],{"class":208},[174,2686,2687,2689,2691,2693],{"class":176,"line":1866},[174,2688,2319],{"class":197},[174,2690,2403],{"class":201},[174,2692,2325],{"class":197},[174,2694,264],{"class":208},[174,2696,2697,2699,2702,2704],{"class":176,"line":1871},[174,2698,2319],{"class":197},[174,2700,2701],{"class":201},"annotations.lua",[174,2703,2325],{"class":197},[174,2705,264],{"class":208},[174,2707,2708],{"class":176,"line":1881},[174,2709,1724],{"class":208},[165,2711,2712],{"className":167,"code":168,"filename":162,"language":169,"meta":170,"style":170},[160,2713,2714,2734,2754,2774,2794,2814,2834,2858,2876,2890,2912],{"__ignoreMap":170},[174,2715,2716,2718,2720,2722,2724,2726,2728,2730,2732],{"class":176,"line":177},[174,2717,181],{"class":180},[174,2719,184],{"class":180},[174,2721,188],{"class":187},[174,2723,191],{"class":180},[174,2725,194],{"class":180},[174,2727,198],{"class":197},[174,2729,202],{"class":201},[174,2731,205],{"class":197},[174,2733,209],{"class":208},[174,2735,2736,2738,2740,2742,2744,2746,2748,2750,2752],{"class":176,"line":212},[174,2737,215],{"class":197},[174,2739,218],{"class":201},[174,2741,205],{"class":197},[174,2743,224],{"class":223},[174,2745,227],{"class":208},[174,2747,230],{"class":180},[174,2749,233],{"class":208},[174,2751,236],{"class":180},[174,2753,239],{"class":208},[174,2755,2756,2758,2760,2762,2764,2766,2768,2770,2772],{"class":176,"line":242},[174,2757,215],{"class":197},[174,2759,247],{"class":201},[174,2761,205],{"class":197},[174,2763,252],{"class":223},[174,2765,227],{"class":208},[174,2767,257],{"class":180},[174,2769,233],{"class":208},[174,2771,236],{"class":180},[174,2773,264],{"class":208},[174,2775,2776,2778,2780,2782,2784,2786,2788,2790,2792],{"class":176,"line":267},[174,2777,215],{"class":197},[174,2779,272],{"class":201},[174,2781,205],{"class":197},[174,2783,224],{"class":223},[174,2785,227],{"class":208},[174,2787,230],{"class":180},[174,2789,233],{"class":208},[174,2791,236],{"class":180},[174,2793,264],{"class":208},[174,2795,2796,2798,2800,2802,2804,2806,2808,2810,2812],{"class":176,"line":289},[174,2797,215],{"class":197},[174,2799,294],{"class":201},[174,2801,205],{"class":197},[174,2803,224],{"class":223},[174,2805,227],{"class":208},[174,2807,303],{"class":180},[174,2809,233],{"class":208},[174,2811,236],{"class":180},[174,2813,264],{"class":208},[174,2815,2816,2818,2820,2822,2824,2826,2828,2830,2832],{"class":176,"line":312},[174,2817,215],{"class":197},[174,2819,317],{"class":201},[174,2821,205],{"class":197},[174,2823,224],{"class":223},[174,2825,227],{"class":208},[174,2827,230],{"class":180},[174,2829,233],{"class":208},[174,2831,236],{"class":180},[174,2833,264],{"class":208},[174,2835,2836,2838,2840,2842,2844,2846,2848,2850,2852,2854,2856],{"class":176,"line":334},[174,2837,215],{"class":197},[174,2839,339],{"class":201},[174,2841,205],{"class":197},[174,2843,344],{"class":223},[174,2845,347],{"class":180},[174,2847,350],{"class":223},[174,2849,353],{"class":187},[174,2851,356],{"class":208},[174,2853,359],{"class":223},[174,2855,353],{"class":187},[174,2857,364],{"class":208},[174,2859,2860,2862,2864,2866,2868,2870,2872,2874],{"class":176,"line":367},[174,2861,215],{"class":197},[174,2863,372],{"class":201},[174,2865,205],{"class":197},[174,2867,344],{"class":223},[174,2869,347],{"class":180},[174,2871,350],{"class":223},[174,2873,353],{"class":187},[174,2875,364],{"class":208},[174,2877,2878,2880,2882,2884,2886,2888],{"class":176,"line":387},[174,2879,390],{"class":223},[174,2881,393],{"class":208},[174,2883,205],{"class":197},[174,2885,218],{"class":201},[174,2887,205],{"class":197},[174,2889,402],{"class":208},[174,2891,2892,2894,2896,2898,2900,2902,2904,2906,2908,2910],{"class":176,"line":405},[174,2893,408],{"class":180},[174,2895,411],{"class":180},[174,2897,198],{"class":197},[174,2899,247],{"class":201},[174,2901,205],{"class":197},[174,2903,393],{"class":208},[174,2905,205],{"class":197},[174,2907,247],{"class":201},[174,2909,205],{"class":197},[174,2911,428],{"class":208},[174,2913,2914,2916,2918,2920,2922,2924,2926,2928,2930,2932,2934,2936],{"class":176,"line":431},[174,2915,434],{"class":208},[174,2917,437],{"class":197},[174,2919,440],{"class":208},[174,2921,437],{"class":197},[174,2923,445],{"class":180},[174,2925,350],{"class":223},[174,2927,450],{"class":208},[174,2929,437],{"class":197},[174,2931,455],{"class":208},[174,2933,458],{"class":223},[174,2935,437],{"class":197},[174,2937,463],{"class":208},[2939,2940,2941],"style",{},"html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .s6hCs, html code.shiki .s6hCs{--shiki-light:#9C3EDA;--shiki-light-font-style:italic;--shiki-default:#C792EA;--shiki-default-font-style:italic;--shiki-dark:#C792EA;--shiki-dark-font-style:italic}html pre.shiki code .sFweD, html code.shiki .sFweD{--shiki-light:#E2931D;--shiki-light-font-style:italic;--shiki-default:#FFCB6B;--shiki-default-font-style:italic;--shiki-dark:#FFCB6B;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}",{"title":170,"searchDepth":212,"depth":212,"links":2943},[2944,2945,2953,2954,2960,2961,2966],{"id":109,"depth":212,"text":110},{"id":125,"depth":212,"text":126,"children":2946},[2947,2948,2949,2950,2951,2952],{"id":133,"depth":242,"text":134},{"id":145,"depth":242,"text":146},{"id":154,"depth":242,"text":155},{"id":466,"depth":242,"text":467},{"id":538,"depth":242,"text":539},{"id":572,"depth":242,"text":573},{"id":579,"depth":212,"text":580},{"id":755,"depth":212,"text":756,"children":2955},[2956,2957,2958,2959],{"id":800,"depth":242,"text":801},{"id":867,"depth":242,"text":767},{"id":949,"depth":242,"text":790},{"id":1021,"depth":242,"text":1022},{"id":1113,"depth":212,"text":1114},{"id":1146,"depth":212,"text":1147,"children":2962},[2963,2964,2965],{"id":1150,"depth":242,"text":1153},{"id":1221,"depth":242,"text":1224},{"id":1279,"depth":242,"text":1282},{"id":1466,"depth":212,"text":1467},"Welcome to REC_ItemManager documentation.","md",null,{},{"icon":47},{"title":44,"description":2973},"Discover how to use REC_ItemManager.","03mH6l-nPbL41YI4TgD3vwafhgGYE6xmUyzwGrcQZvo",[2976,2978],{"title":33,"path":34,"stem":35,"description":2977,"icon":36,"children":-1},"Welcome to REC_Utils documentation.",{"title":49,"path":50,"stem":51,"description":2979,"icon":52,"children":-1},"Welcome to REC_Economy documentation.",1788003974059]