PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` "use strict"; // This is for working with git config files like .git/config and .gitmodules. // I believe this is just INI format. module.exports = { encode: encode, decode: decode }; function encode(config) { var lines = []; Object.keys(config).forEach(function (name) { var obj = config[name]; var deep = {}; var values = {}; var hasValues = false; Object.keys(obj).forEach(function (key) { var value = obj[key]; if (typeof value === 'object') { deep[key] = value; } else { hasValues = true; values[key] = value; } }); if (hasValues) { encodeBody('[' + name + ']', values); } Object.keys(deep).forEach(function (sub) { var child = deep[sub]; encodeBody('[' + name + ' "' + sub + '"]', child); }); }); return lines.join("\n") + "\n"; function encodeBody(header, obj) { lines.push(header); Object.keys(obj).forEach(function (name) { lines.push( "\t" + name + " = " + obj[name]); }); } } function decode(text) { var config = {}; var section; text.split(/[\r\n]+/).forEach(function (line) { var match = line.match(/\[([^ \t"\]]+) *(?:"([^"]+)")?\]/); if (match) { section = config[match[1]] || (config[match[1]] = {}); if (match[2]) { section = section[match[2]] = {}; } return; } match = line.match(/([^ \t=]+)[ \t]*=[ \t]*(.+)/); if (match) { section[match[1]] = match[2]; } }); return config; }