function getIlluminatedContour(path, feature) {
const stencilCanvas = DOM.canvas(width, height);
const stencilCtx = stencilCanvas.getContext('2d');
stencilCtx.fillStyle = 'black';
stencilCtx.strokeStyle = 'black';
stencilCtx.lineWidth = 1;
stencilCtx.fillRect(0, 0, width, height);
stencilCtx.globalCompositeOperation = 'destination-out';
stencilCtx.beginPath();
path.context(stencilCtx)(feature);
stencilCtx.fill();
stencilCtx.stroke();
const contourCanvas = DOM.canvas(width, height);
const contourCtx = contourCanvas.getContext('2d');
contourCtx.fillStyle = '#ccc';
contourCtx.beginPath();
path.context(contourCtx)(feature);
contourCtx.fill();
contourCtx.globalCompositeOperation = 'source-atop';
contourCtx.shadowBlur = shadowSize;
contourCtx.shadowOffsetX = -shadowSize;
contourCtx.shadowOffsetY = -shadowSize;
contourCtx.shadowColor = `rgba(0,0,0,${shadowOpacity})`;
contourCtx.drawImage(stencilCanvas, 0, 0);
contourCtx.shadowOffsetX = shadowSize;
contourCtx.shadowOffsetY = shadowSize;
contourCtx.shadowColor = `rgba(255,255,255,${shadowOpacity})`;
contourCtx.drawImage(stencilCanvas, 0, 0);
return contourCanvas;
}