function [ys,check] = cee_steadystate(ys,exo)
% function [ys,check] = NK_baseline_steadystate(ys,exo)
% computes the steady state for the NK_baseline.mod and uses a numerical
% solver to do so
% Inputs: 
%   - ys        [vector] vector of initial values for the steady state of
%                   the endogenous variables
%   - exo       [vector] vector of values for the exogenous variables
%
% Output: 
%   - ys        [vector] vector of steady state values fpr the the endogenous variables
%   - check     [scalar] set to 0 if steady state computation worked and to
%                    1 of not (allows to impos restriction on parameters)

global M_ 

% read out parameters to access them with their name
NumberOfParameters = M_.param_nbr;
for ii = 1:NumberOfParameters
  paramname = deblank(M_.param_names(ii,:));
  eval([ paramname ' = M_.params(' int2str(ii) ');']);
end
% initialize indicator
check = 0;

%% Enter model equations here
%//State variables 
piU = piUU;
sU = sUU;
rkU = rkUU;
iU = iUU;
uU = uUU;
qU = qUU;
mbU = mbUU;
RXU = RXUU;
RkXU = RkXUU;
lambdazU = lambdazUU;
mU = mUU;
cU = cUU;
wU = wUU;
hU = hUU;
kbarU = kbarUU;
yU=yUU;   
       
%//Observation Vars ,see steady_state file
c_year=1;
i_year=1;
p_obs=1; 
m_obs=1;
y_obs=1;  

%//Shock variables
lambdafU= lambdafUU;
epsilU = epsilUU;
gU = gUU;
xU = xUU;
muzstarU = muzstarUU;
muzU = muzUU;
zetaiU = zetaiUU;
zetacU=zetacUU;
tauoU=tauoUU;
vU=vUU;
lambdawU=lambdawUU;
muupU=muupUU;
deltakU=deltakUU;

%% end own model equations

for iter = 1:length(M_.params) %update parameters set in the file
  eval([ 'M_.params(' num2str(iter) ') = ' M_.param_names(iter,:) ';' ])
end

NumberOfEndogenousVariables = M_.orig_endo_nbr; %auxiliary variables are set automatically
for ii = 1:NumberOfEndogenousVariables
  varname = deblank(M_.endo_names(ii,:));
  eval(['ys(' int2str(ii) ') = ' varname ';']);
end
